2 lines
1.6 MiB
2 lines
1.6 MiB
import require$$0$6 from"node:path";var commonjsGlobal="undefined"!=typeof globalThis?globalThis:"undefined"!=typeof window?window:"undefined"!=typeof global?global:"undefined"!=typeof self?self:{};function getAugmentedNamespace(e){if(e.__esModule)return e;var t=e.default;if("function"==typeof t){var r=function e(){return this instanceof e?Reflect.construct(t,arguments,this.constructor):t.apply(this,arguments)};r.prototype=t.prototype}else r={};return Object.defineProperty(r,"__esModule",{value:!0}),Object.keys(e).forEach((function(t){var n=Object.getOwnPropertyDescriptor(e,t);Object.defineProperty(r,t,n.get?n:{enumerable:!0,get:function(){return e[t]}})})),r}var printer$1={},tokenize$2={},fullstore$4=e=>{const t={value:e};return(...e)=>{const[r]=e;return e.length?(t.value=r,r):t.value}},global$1="undefined"!=typeof global?global:"undefined"!=typeof self?self:"undefined"!=typeof window?window:{},lookup=[],revLookup=[],Arr="undefined"!=typeof Uint8Array?Uint8Array:Array,inited=!1;function init$2(){inited=!0;for(var e="ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789+/",t=0;t<64;++t)lookup[t]=e[t],revLookup[e.charCodeAt(t)]=t;revLookup["-".charCodeAt(0)]=62,revLookup["_".charCodeAt(0)]=63}function toByteArray(e){var t,r,n,i,a,s;inited||init$2();var o=e.length;if(o%4>0)throw new Error("Invalid string. Length must be a multiple of 4");a="="===e[o-2]?2:"="===e[o-1]?1:0,s=new Arr(3*o/4-a),n=a>0?o-4:o;var l=0;for(t=0,r=0;t<n;t+=4,r+=3)i=revLookup[e.charCodeAt(t)]<<18|revLookup[e.charCodeAt(t+1)]<<12|revLookup[e.charCodeAt(t+2)]<<6|revLookup[e.charCodeAt(t+3)],s[l++]=i>>16&255,s[l++]=i>>8&255,s[l++]=255&i;return 2===a?(i=revLookup[e.charCodeAt(t)]<<2|revLookup[e.charCodeAt(t+1)]>>4,s[l++]=255&i):1===a&&(i=revLookup[e.charCodeAt(t)]<<10|revLookup[e.charCodeAt(t+1)]<<4|revLookup[e.charCodeAt(t+2)]>>2,s[l++]=i>>8&255,s[l++]=255&i),s}function tripletToBase64(e){return lookup[e>>18&63]+lookup[e>>12&63]+lookup[e>>6&63]+lookup[63&e]}function encodeChunk(e,t,r){for(var n,i=[],a=t;a<r;a+=3)n=(e[a]<<16)+(e[a+1]<<8)+e[a+2],i.push(tripletToBase64(n));return i.join("")}function fromByteArray(e){var t;inited||init$2();for(var r=e.length,n=r%3,i="",a=[],s=16383,o=0,l=r-n;o<l;o+=s)a.push(encodeChunk(e,o,o+s>l?l:o+s));return 1===n?(t=e[r-1],i+=lookup[t>>2],i+=lookup[t<<4&63],i+="=="):2===n&&(t=(e[r-2]<<8)+e[r-1],i+=lookup[t>>10],i+=lookup[t>>4&63],i+=lookup[t<<2&63],i+="="),a.push(i),a.join("")}function read(e,t,r,n,i){var a,s,o=8*i-n-1,l=(1<<o)-1,u=l>>1,c=-7,p=r?i-1:0,d=r?-1:1,f=e[t+p];for(p+=d,a=f&(1<<-c)-1,f>>=-c,c+=o;c>0;a=256*a+e[t+p],p+=d,c-=8);for(s=a&(1<<-c)-1,a>>=-c,c+=n;c>0;s=256*s+e[t+p],p+=d,c-=8);if(0===a)a=1-u;else{if(a===l)return s?NaN:1/0*(f?-1:1);s+=Math.pow(2,n),a-=u}return(f?-1:1)*s*Math.pow(2,a-n)}function write(e,t,r,n,i,a){var s,o,l,u=8*a-i-1,c=(1<<u)-1,p=c>>1,d=23===i?Math.pow(2,-24)-Math.pow(2,-77):0,f=n?0:a-1,h=n?1:-1,m=t<0||0===t&&1/t<0?1:0;for(t=Math.abs(t),isNaN(t)||t===1/0?(o=isNaN(t)?1:0,s=c):(s=Math.floor(Math.log(t)/Math.LN2),t*(l=Math.pow(2,-s))<1&&(s--,l*=2),(t+=s+p>=1?d/l:d*Math.pow(2,1-p))*l>=2&&(s++,l/=2),s+p>=c?(o=0,s=c):s+p>=1?(o=(t*l-1)*Math.pow(2,i),s+=p):(o=t*Math.pow(2,p-1)*Math.pow(2,i),s=0));i>=8;e[r+f]=255&o,f+=h,o/=256,i-=8);for(s=s<<i|o,u+=i;u>0;e[r+f]=255&s,f+=h,s/=256,u-=8);e[r+f-h]|=128*m}var toString={}.toString,isArray$g=Array.isArray||function(e){return"[object Array]"==toString.call(e)},INSPECT_MAX_BYTES=50;function kMaxLength(){return Buffer.TYPED_ARRAY_SUPPORT?2147483647:1073741823}function createBuffer(e,t){if(kMaxLength()<t)throw new RangeError("Invalid typed array length");return Buffer.TYPED_ARRAY_SUPPORT?(e=new Uint8Array(t)).__proto__=Buffer.prototype:(null===e&&(e=new Buffer(t)),e.length=t),e}function Buffer(e,t,r){if(!(Buffer.TYPED_ARRAY_SUPPORT||this instanceof Buffer))return new Buffer(e,t,r);if("number"==typeof e){if("string"==typeof t)throw new Error("If encoding is specified then the first argument must be a string");return allocUnsafe(this,e)}return from(this,e,t,r)}function from(e,t,r,n){if("number"==typeof t)throw new TypeError('"value" argument must not be a number');return"undefined"!=typeof ArrayBuffer&&t instanceof ArrayBuffer?fromArrayBuffer(e,t,r,n):"string"==typeof t?fromString(e,t,r):fromObject(e,t)}function assertSize(e){if("number"!=typeof e)throw new TypeError('"size" argument must be a number');if(e<0)throw new RangeError('"size" argument must not be negative')}function alloc(e,t,r,n){return assertSize(t),t<=0?createBuffer(e,t):void 0!==r?"string"==typeof n?createBuffer(e,t).fill(r,n):createBuffer(e,t).fill(r):createBuffer(e,t)}function allocUnsafe(e,t){if(assertSize(t),e=createBuffer(e,t<0?0:0|checked(t)),!Buffer.TYPED_ARRAY_SUPPORT)for(var r=0;r<t;++r)e[r]=0;return e}function fromString(e,t,r){if("string"==typeof r&&""!==r||(r="utf8"),!Buffer.isEncoding(r))throw new TypeError('"encoding" must be a valid string encoding');var n=0|byteLength(t,r),i=(e=createBuffer(e,n)).write(t,r);return i!==n&&(e=e.slice(0,i)),e}function fromArrayLike(e,t){var r=t.length<0?0:0|checked(t.length);e=createBuffer(e,r);for(var n=0;n<r;n+=1)e[n]=255&t[n];return e}function fromArrayBuffer(e,t,r,n){if(t.byteLength,r<0||t.byteLength<r)throw new RangeError("'offset' is out of bounds");if(t.byteLength<r+(n||0))throw new RangeError("'length' is out of bounds");return t=void 0===r&&void 0===n?new Uint8Array(t):void 0===n?new Uint8Array(t,r):new Uint8Array(t,r,n),Buffer.TYPED_ARRAY_SUPPORT?(e=t).__proto__=Buffer.prototype:e=fromArrayLike(e,t),e}function fromObject(e,t){if(internalIsBuffer(t)){var r=0|checked(t.length);return 0===(e=createBuffer(e,r)).length||t.copy(e,0,0,r),e}if(t){if("undefined"!=typeof ArrayBuffer&&t.buffer instanceof ArrayBuffer||"length"in t)return"number"!=typeof t.length||isnan(t.length)?createBuffer(e,0):fromArrayLike(e,t);if("Buffer"===t.type&&isArray$g(t.data))return fromArrayLike(e,t.data)}throw new TypeError("First argument must be a string, Buffer, ArrayBuffer, Array, or array-like object.")}function checked(e){if(e>=kMaxLength())throw new RangeError("Attempt to allocate Buffer larger than maximum size: 0x"+kMaxLength().toString(16)+" bytes");return 0|e}function internalIsBuffer(e){return!(null==e||!e._isBuffer)}function byteLength(e,t){if(internalIsBuffer(e))return e.length;if("undefined"!=typeof ArrayBuffer&&"function"==typeof ArrayBuffer.isView&&(ArrayBuffer.isView(e)||e instanceof ArrayBuffer))return e.byteLength;"string"!=typeof e&&(e=""+e);var r=e.length;if(0===r)return 0;for(var n=!1;;)switch(t){case"ascii":case"latin1":case"binary":return r;case"utf8":case"utf-8":case void 0:return utf8ToBytes(e).length;case"ucs2":case"ucs-2":case"utf16le":case"utf-16le":return 2*r;case"hex":return r>>>1;case"base64":return base64ToBytes(e).length;default:if(n)return utf8ToBytes(e).length;t=(""+t).toLowerCase(),n=!0}}function slowToString(e,t,r){var n=!1;if((void 0===t||t<0)&&(t=0),t>this.length)return"";if((void 0===r||r>this.length)&&(r=this.length),r<=0)return"";if((r>>>=0)<=(t>>>=0))return"";for(e||(e="utf8");;)switch(e){case"hex":return hexSlice(this,t,r);case"utf8":case"utf-8":return utf8Slice(this,t,r);case"ascii":return asciiSlice(this,t,r);case"latin1":case"binary":return latin1Slice(this,t,r);case"base64":return base64Slice(this,t,r);case"ucs2":case"ucs-2":case"utf16le":case"utf-16le":return utf16leSlice(this,t,r);default:if(n)throw new TypeError("Unknown encoding: "+e);e=(e+"").toLowerCase(),n=!0}}function swap(e,t,r){var n=e[t];e[t]=e[r],e[r]=n}function bidirectionalIndexOf(e,t,r,n,i){if(0===e.length)return-1;if("string"==typeof r?(n=r,r=0):r>2147483647?r=2147483647:r<-2147483648&&(r=-2147483648),r=+r,isNaN(r)&&(r=i?0:e.length-1),r<0&&(r=e.length+r),r>=e.length){if(i)return-1;r=e.length-1}else if(r<0){if(!i)return-1;r=0}if("string"==typeof t&&(t=Buffer.from(t,n)),internalIsBuffer(t))return 0===t.length?-1:arrayIndexOf(e,t,r,n,i);if("number"==typeof t)return t&=255,Buffer.TYPED_ARRAY_SUPPORT&&"function"==typeof Uint8Array.prototype.indexOf?i?Uint8Array.prototype.indexOf.call(e,t,r):Uint8Array.prototype.lastIndexOf.call(e,t,r):arrayIndexOf(e,[t],r,n,i);throw new TypeError("val must be string, number or Buffer")}function arrayIndexOf(e,t,r,n,i){var a,s=1,o=e.length,l=t.length;if(void 0!==n&&("ucs2"===(n=String(n).toLowerCase())||"ucs-2"===n||"utf16le"===n||"utf-16le"===n)){if(e.length<2||t.length<2)return-1;s=2,o/=2,l/=2,r/=2}function u(e,t){return 1===s?e[t]:e.readUInt16BE(t*s)}if(i){var c=-1;for(a=r;a<o;a++)if(u(e,a)===u(t,-1===c?0:a-c)){if(-1===c&&(c=a),a-c+1===l)return c*s}else-1!==c&&(a-=a-c),c=-1}else for(r+l>o&&(r=o-l),a=r;a>=0;a--){for(var p=!0,d=0;d<l;d++)if(u(e,a+d)!==u(t,d)){p=!1;break}if(p)return a}return-1}function hexWrite(e,t,r,n){r=Number(r)||0;var i=e.length-r;n?(n=Number(n))>i&&(n=i):n=i;var a=t.length;if(a%2!=0)throw new TypeError("Invalid hex string");n>a/2&&(n=a/2);for(var s=0;s<n;++s){var o=parseInt(t.substr(2*s,2),16);if(isNaN(o))return s;e[r+s]=o}return s}function utf8Write(e,t,r,n){return blitBuffer(utf8ToBytes(t,e.length-r),e,r,n)}function asciiWrite(e,t,r,n){return blitBuffer(asciiToBytes(t),e,r,n)}function latin1Write(e,t,r,n){return asciiWrite(e,t,r,n)}function base64Write(e,t,r,n){return blitBuffer(base64ToBytes(t),e,r,n)}function ucs2Write(e,t,r,n){return blitBuffer(utf16leToBytes(t,e.length-r),e,r,n)}function base64Slice(e,t,r){return 0===t&&r===e.length?fromByteArray(e):fromByteArray(e.slice(t,r))}function utf8Slice(e,t,r){r=Math.min(e.length,r);for(var n=[],i=t;i<r;){var a,s,o,l,u=e[i],c=null,p=u>239?4:u>223?3:u>191?2:1;if(i+p<=r)switch(p){case 1:u<128&&(c=u);break;case 2:128==(192&(a=e[i+1]))&&(l=(31&u)<<6|63&a)>127&&(c=l);break;case 3:a=e[i+1],s=e[i+2],128==(192&a)&&128==(192&s)&&(l=(15&u)<<12|(63&a)<<6|63&s)>2047&&(l<55296||l>57343)&&(c=l);break;case 4:a=e[i+1],s=e[i+2],o=e[i+3],128==(192&a)&&128==(192&s)&&128==(192&o)&&(l=(15&u)<<18|(63&a)<<12|(63&s)<<6|63&o)>65535&&l<1114112&&(c=l)}null===c?(c=65533,p=1):c>65535&&(c-=65536,n.push(c>>>10&1023|55296),c=56320|1023&c),n.push(c),i+=p}return decodeCodePointsArray(n)}Buffer.TYPED_ARRAY_SUPPORT=void 0===global$1.TYPED_ARRAY_SUPPORT||global$1.TYPED_ARRAY_SUPPORT,kMaxLength(),Buffer.poolSize=8192,Buffer._augment=function(e){return e.__proto__=Buffer.prototype,e},Buffer.from=function(e,t,r){return from(null,e,t,r)},Buffer.TYPED_ARRAY_SUPPORT&&(Buffer.prototype.__proto__=Uint8Array.prototype,Buffer.__proto__=Uint8Array,"undefined"!=typeof Symbol&&Symbol.species&&Buffer[Symbol.species]),Buffer.alloc=function(e,t,r){return alloc(null,e,t,r)},Buffer.allocUnsafe=function(e){return allocUnsafe(null,e)},Buffer.allocUnsafeSlow=function(e){return allocUnsafe(null,e)},Buffer.isBuffer=isBuffer$1,Buffer.compare=function(e,t){if(!internalIsBuffer(e)||!internalIsBuffer(t))throw new TypeError("Arguments must be Buffers");if(e===t)return 0;for(var r=e.length,n=t.length,i=0,a=Math.min(r,n);i<a;++i)if(e[i]!==t[i]){r=e[i],n=t[i];break}return r<n?-1:n<r?1:0},Buffer.isEncoding=function(e){switch(String(e).toLowerCase()){case"hex":case"utf8":case"utf-8":case"ascii":case"latin1":case"binary":case"base64":case"ucs2":case"ucs-2":case"utf16le":case"utf-16le":return!0;default:return!1}},Buffer.concat=function(e,t){if(!isArray$g(e))throw new TypeError('"list" argument must be an Array of Buffers');if(0===e.length)return Buffer.alloc(0);var r;if(void 0===t)for(t=0,r=0;r<e.length;++r)t+=e[r].length;var n=Buffer.allocUnsafe(t),i=0;for(r=0;r<e.length;++r){var a=e[r];if(!internalIsBuffer(a))throw new TypeError('"list" argument must be an Array of Buffers');a.copy(n,i),i+=a.length}return n},Buffer.byteLength=byteLength,Buffer.prototype._isBuffer=!0,Buffer.prototype.swap16=function(){var e=this.length;if(e%2!=0)throw new RangeError("Buffer size must be a multiple of 16-bits");for(var t=0;t<e;t+=2)swap(this,t,t+1);return this},Buffer.prototype.swap32=function(){var e=this.length;if(e%4!=0)throw new RangeError("Buffer size must be a multiple of 32-bits");for(var t=0;t<e;t+=4)swap(this,t,t+3),swap(this,t+1,t+2);return this},Buffer.prototype.swap64=function(){var e=this.length;if(e%8!=0)throw new RangeError("Buffer size must be a multiple of 64-bits");for(var t=0;t<e;t+=8)swap(this,t,t+7),swap(this,t+1,t+6),swap(this,t+2,t+5),swap(this,t+3,t+4);return this},Buffer.prototype.toString=function(){var e=0|this.length;return 0===e?"":0===arguments.length?utf8Slice(this,0,e):slowToString.apply(this,arguments)},Buffer.prototype.equals=function(e){if(!internalIsBuffer(e))throw new TypeError("Argument must be a Buffer");return this===e||0===Buffer.compare(this,e)},Buffer.prototype.inspect=function(){var e="",t=INSPECT_MAX_BYTES;return this.length>0&&(e=this.toString("hex",0,t).match(/.{2}/g).join(" "),this.length>t&&(e+=" ... ")),"<Buffer "+e+">"},Buffer.prototype.compare=function(e,t,r,n,i){if(!internalIsBuffer(e))throw new TypeError("Argument must be a Buffer");if(void 0===t&&(t=0),void 0===r&&(r=e?e.length:0),void 0===n&&(n=0),void 0===i&&(i=this.length),t<0||r>e.length||n<0||i>this.length)throw new RangeError("out of range index");if(n>=i&&t>=r)return 0;if(n>=i)return-1;if(t>=r)return 1;if(this===e)return 0;for(var a=(i>>>=0)-(n>>>=0),s=(r>>>=0)-(t>>>=0),o=Math.min(a,s),l=this.slice(n,i),u=e.slice(t,r),c=0;c<o;++c)if(l[c]!==u[c]){a=l[c],s=u[c];break}return a<s?-1:s<a?1:0},Buffer.prototype.includes=function(e,t,r){return-1!==this.indexOf(e,t,r)},Buffer.prototype.indexOf=function(e,t,r){return bidirectionalIndexOf(this,e,t,r,!0)},Buffer.prototype.lastIndexOf=function(e,t,r){return bidirectionalIndexOf(this,e,t,r,!1)},Buffer.prototype.write=function(e,t,r,n){if(void 0===t)n="utf8",r=this.length,t=0;else if(void 0===r&&"string"==typeof t)n=t,r=this.length,t=0;else{if(!isFinite(t))throw new Error("Buffer.write(string, encoding, offset[, length]) is no longer supported");t|=0,isFinite(r)?(r|=0,void 0===n&&(n="utf8")):(n=r,r=void 0)}var i=this.length-t;if((void 0===r||r>i)&&(r=i),e.length>0&&(r<0||t<0)||t>this.length)throw new RangeError("Attempt to write outside buffer bounds");n||(n="utf8");for(var a=!1;;)switch(n){case"hex":return hexWrite(this,e,t,r);case"utf8":case"utf-8":return utf8Write(this,e,t,r);case"ascii":return asciiWrite(this,e,t,r);case"latin1":case"binary":return latin1Write(this,e,t,r);case"base64":return base64Write(this,e,t,r);case"ucs2":case"ucs-2":case"utf16le":case"utf-16le":return ucs2Write(this,e,t,r);default:if(a)throw new TypeError("Unknown encoding: "+n);n=(""+n).toLowerCase(),a=!0}},Buffer.prototype.toJSON=function(){return{type:"Buffer",data:Array.prototype.slice.call(this._arr||this,0)}};var MAX_ARGUMENTS_LENGTH=4096;function decodeCodePointsArray(e){var t=e.length;if(t<=MAX_ARGUMENTS_LENGTH)return String.fromCharCode.apply(String,e);for(var r="",n=0;n<t;)r+=String.fromCharCode.apply(String,e.slice(n,n+=MAX_ARGUMENTS_LENGTH));return r}function asciiSlice(e,t,r){var n="";r=Math.min(e.length,r);for(var i=t;i<r;++i)n+=String.fromCharCode(127&e[i]);return n}function latin1Slice(e,t,r){var n="";r=Math.min(e.length,r);for(var i=t;i<r;++i)n+=String.fromCharCode(e[i]);return n}function hexSlice(e,t,r){var n=e.length;(!t||t<0)&&(t=0),(!r||r<0||r>n)&&(r=n);for(var i="",a=t;a<r;++a)i+=toHex(e[a]);return i}function utf16leSlice(e,t,r){for(var n=e.slice(t,r),i="",a=0;a<n.length;a+=2)i+=String.fromCharCode(n[a]+256*n[a+1]);return i}function checkOffset(e,t,r){if(e%1!=0||e<0)throw new RangeError("offset is not uint");if(e+t>r)throw new RangeError("Trying to access beyond buffer length")}function checkInt(e,t,r,n,i,a){if(!internalIsBuffer(e))throw new TypeError('"buffer" argument must be a Buffer instance');if(t>i||t<a)throw new RangeError('"value" argument is out of bounds');if(r+n>e.length)throw new RangeError("Index out of range")}function objectWriteUInt16(e,t,r,n){t<0&&(t=65535+t+1);for(var i=0,a=Math.min(e.length-r,2);i<a;++i)e[r+i]=(t&255<<8*(n?i:1-i))>>>8*(n?i:1-i)}function objectWriteUInt32(e,t,r,n){t<0&&(t=4294967295+t+1);for(var i=0,a=Math.min(e.length-r,4);i<a;++i)e[r+i]=t>>>8*(n?i:3-i)&255}function checkIEEE754(e,t,r,n,i,a){if(r+n>e.length)throw new RangeError("Index out of range");if(r<0)throw new RangeError("Index out of range")}function writeFloat(e,t,r,n,i){return i||checkIEEE754(e,t,r,4),write(e,t,r,n,23,4),r+4}function writeDouble(e,t,r,n,i){return i||checkIEEE754(e,t,r,8),write(e,t,r,n,52,8),r+8}Buffer.prototype.slice=function(e,t){var r,n=this.length;if((e=~~e)<0?(e+=n)<0&&(e=0):e>n&&(e=n),(t=void 0===t?n:~~t)<0?(t+=n)<0&&(t=0):t>n&&(t=n),t<e&&(t=e),Buffer.TYPED_ARRAY_SUPPORT)(r=this.subarray(e,t)).__proto__=Buffer.prototype;else{var i=t-e;r=new Buffer(i,void 0);for(var a=0;a<i;++a)r[a]=this[a+e]}return r},Buffer.prototype.readUIntLE=function(e,t,r){e|=0,t|=0,r||checkOffset(e,t,this.length);for(var n=this[e],i=1,a=0;++a<t&&(i*=256);)n+=this[e+a]*i;return n},Buffer.prototype.readUIntBE=function(e,t,r){e|=0,t|=0,r||checkOffset(e,t,this.length);for(var n=this[e+--t],i=1;t>0&&(i*=256);)n+=this[e+--t]*i;return n},Buffer.prototype.readUInt8=function(e,t){return t||checkOffset(e,1,this.length),this[e]},Buffer.prototype.readUInt16LE=function(e,t){return t||checkOffset(e,2,this.length),this[e]|this[e+1]<<8},Buffer.prototype.readUInt16BE=function(e,t){return t||checkOffset(e,2,this.length),this[e]<<8|this[e+1]},Buffer.prototype.readUInt32LE=function(e,t){return t||checkOffset(e,4,this.length),(this[e]|this[e+1]<<8|this[e+2]<<16)+16777216*this[e+3]},Buffer.prototype.readUInt32BE=function(e,t){return t||checkOffset(e,4,this.length),16777216*this[e]+(this[e+1]<<16|this[e+2]<<8|this[e+3])},Buffer.prototype.readIntLE=function(e,t,r){e|=0,t|=0,r||checkOffset(e,t,this.length);for(var n=this[e],i=1,a=0;++a<t&&(i*=256);)n+=this[e+a]*i;return n>=(i*=128)&&(n-=Math.pow(2,8*t)),n},Buffer.prototype.readIntBE=function(e,t,r){e|=0,t|=0,r||checkOffset(e,t,this.length);for(var n=t,i=1,a=this[e+--n];n>0&&(i*=256);)a+=this[e+--n]*i;return a>=(i*=128)&&(a-=Math.pow(2,8*t)),a},Buffer.prototype.readInt8=function(e,t){return t||checkOffset(e,1,this.length),128&this[e]?-1*(255-this[e]+1):this[e]},Buffer.prototype.readInt16LE=function(e,t){t||checkOffset(e,2,this.length);var r=this[e]|this[e+1]<<8;return 32768&r?4294901760|r:r},Buffer.prototype.readInt16BE=function(e,t){t||checkOffset(e,2,this.length);var r=this[e+1]|this[e]<<8;return 32768&r?4294901760|r:r},Buffer.prototype.readInt32LE=function(e,t){return t||checkOffset(e,4,this.length),this[e]|this[e+1]<<8|this[e+2]<<16|this[e+3]<<24},Buffer.prototype.readInt32BE=function(e,t){return t||checkOffset(e,4,this.length),this[e]<<24|this[e+1]<<16|this[e+2]<<8|this[e+3]},Buffer.prototype.readFloatLE=function(e,t){return t||checkOffset(e,4,this.length),read(this,e,!0,23,4)},Buffer.prototype.readFloatBE=function(e,t){return t||checkOffset(e,4,this.length),read(this,e,!1,23,4)},Buffer.prototype.readDoubleLE=function(e,t){return t||checkOffset(e,8,this.length),read(this,e,!0,52,8)},Buffer.prototype.readDoubleBE=function(e,t){return t||checkOffset(e,8,this.length),read(this,e,!1,52,8)},Buffer.prototype.writeUIntLE=function(e,t,r,n){(e=+e,t|=0,r|=0,n)||checkInt(this,e,t,r,Math.pow(2,8*r)-1,0);var i=1,a=0;for(this[t]=255&e;++a<r&&(i*=256);)this[t+a]=e/i&255;return t+r},Buffer.prototype.writeUIntBE=function(e,t,r,n){(e=+e,t|=0,r|=0,n)||checkInt(this,e,t,r,Math.pow(2,8*r)-1,0);var i=r-1,a=1;for(this[t+i]=255&e;--i>=0&&(a*=256);)this[t+i]=e/a&255;return t+r},Buffer.prototype.writeUInt8=function(e,t,r){return e=+e,t|=0,r||checkInt(this,e,t,1,255,0),Buffer.TYPED_ARRAY_SUPPORT||(e=Math.floor(e)),this[t]=255&e,t+1},Buffer.prototype.writeUInt16LE=function(e,t,r){return e=+e,t|=0,r||checkInt(this,e,t,2,65535,0),Buffer.TYPED_ARRAY_SUPPORT?(this[t]=255&e,this[t+1]=e>>>8):objectWriteUInt16(this,e,t,!0),t+2},Buffer.prototype.writeUInt16BE=function(e,t,r){return e=+e,t|=0,r||checkInt(this,e,t,2,65535,0),Buffer.TYPED_ARRAY_SUPPORT?(this[t]=e>>>8,this[t+1]=255&e):objectWriteUInt16(this,e,t,!1),t+2},Buffer.prototype.writeUInt32LE=function(e,t,r){return e=+e,t|=0,r||checkInt(this,e,t,4,4294967295,0),Buffer.TYPED_ARRAY_SUPPORT?(this[t+3]=e>>>24,this[t+2]=e>>>16,this[t+1]=e>>>8,this[t]=255&e):objectWriteUInt32(this,e,t,!0),t+4},Buffer.prototype.writeUInt32BE=function(e,t,r){return e=+e,t|=0,r||checkInt(this,e,t,4,4294967295,0),Buffer.TYPED_ARRAY_SUPPORT?(this[t]=e>>>24,this[t+1]=e>>>16,this[t+2]=e>>>8,this[t+3]=255&e):objectWriteUInt32(this,e,t,!1),t+4},Buffer.prototype.writeIntLE=function(e,t,r,n){if(e=+e,t|=0,!n){var i=Math.pow(2,8*r-1);checkInt(this,e,t,r,i-1,-i)}var a=0,s=1,o=0;for(this[t]=255&e;++a<r&&(s*=256);)e<0&&0===o&&0!==this[t+a-1]&&(o=1),this[t+a]=(e/s>>0)-o&255;return t+r},Buffer.prototype.writeIntBE=function(e,t,r,n){if(e=+e,t|=0,!n){var i=Math.pow(2,8*r-1);checkInt(this,e,t,r,i-1,-i)}var a=r-1,s=1,o=0;for(this[t+a]=255&e;--a>=0&&(s*=256);)e<0&&0===o&&0!==this[t+a+1]&&(o=1),this[t+a]=(e/s>>0)-o&255;return t+r},Buffer.prototype.writeInt8=function(e,t,r){return e=+e,t|=0,r||checkInt(this,e,t,1,127,-128),Buffer.TYPED_ARRAY_SUPPORT||(e=Math.floor(e)),e<0&&(e=255+e+1),this[t]=255&e,t+1},Buffer.prototype.writeInt16LE=function(e,t,r){return e=+e,t|=0,r||checkInt(this,e,t,2,32767,-32768),Buffer.TYPED_ARRAY_SUPPORT?(this[t]=255&e,this[t+1]=e>>>8):objectWriteUInt16(this,e,t,!0),t+2},Buffer.prototype.writeInt16BE=function(e,t,r){return e=+e,t|=0,r||checkInt(this,e,t,2,32767,-32768),Buffer.TYPED_ARRAY_SUPPORT?(this[t]=e>>>8,this[t+1]=255&e):objectWriteUInt16(this,e,t,!1),t+2},Buffer.prototype.writeInt32LE=function(e,t,r){return e=+e,t|=0,r||checkInt(this,e,t,4,2147483647,-2147483648),Buffer.TYPED_ARRAY_SUPPORT?(this[t]=255&e,this[t+1]=e>>>8,this[t+2]=e>>>16,this[t+3]=e>>>24):objectWriteUInt32(this,e,t,!0),t+4},Buffer.prototype.writeInt32BE=function(e,t,r){return e=+e,t|=0,r||checkInt(this,e,t,4,2147483647,-2147483648),e<0&&(e=4294967295+e+1),Buffer.TYPED_ARRAY_SUPPORT?(this[t]=e>>>24,this[t+1]=e>>>16,this[t+2]=e>>>8,this[t+3]=255&e):objectWriteUInt32(this,e,t,!1),t+4},Buffer.prototype.writeFloatLE=function(e,t,r){return writeFloat(this,e,t,!0,r)},Buffer.prototype.writeFloatBE=function(e,t,r){return writeFloat(this,e,t,!1,r)},Buffer.prototype.writeDoubleLE=function(e,t,r){return writeDouble(this,e,t,!0,r)},Buffer.prototype.writeDoubleBE=function(e,t,r){return writeDouble(this,e,t,!1,r)},Buffer.prototype.copy=function(e,t,r,n){if(r||(r=0),n||0===n||(n=this.length),t>=e.length&&(t=e.length),t||(t=0),n>0&&n<r&&(n=r),n===r)return 0;if(0===e.length||0===this.length)return 0;if(t<0)throw new RangeError("targetStart out of bounds");if(r<0||r>=this.length)throw new RangeError("sourceStart out of bounds");if(n<0)throw new RangeError("sourceEnd out of bounds");n>this.length&&(n=this.length),e.length-t<n-r&&(n=e.length-t+r);var i,a=n-r;if(this===e&&r<t&&t<n)for(i=a-1;i>=0;--i)e[i+t]=this[i+r];else if(a<1e3||!Buffer.TYPED_ARRAY_SUPPORT)for(i=0;i<a;++i)e[i+t]=this[i+r];else Uint8Array.prototype.set.call(e,this.subarray(r,r+a),t);return a},Buffer.prototype.fill=function(e,t,r,n){if("string"==typeof e){if("string"==typeof t?(n=t,t=0,r=this.length):"string"==typeof r&&(n=r,r=this.length),1===e.length){var i=e.charCodeAt(0);i<256&&(e=i)}if(void 0!==n&&"string"!=typeof n)throw new TypeError("encoding must be a string");if("string"==typeof n&&!Buffer.isEncoding(n))throw new TypeError("Unknown encoding: "+n)}else"number"==typeof e&&(e&=255);if(t<0||this.length<t||this.length<r)throw new RangeError("Out of range index");if(r<=t)return this;var a;if(t>>>=0,r=void 0===r?this.length:r>>>0,e||(e=0),"number"==typeof e)for(a=t;a<r;++a)this[a]=e;else{var s=internalIsBuffer(e)?e:utf8ToBytes(new Buffer(e,n).toString()),o=s.length;for(a=0;a<r-t;++a)this[a+t]=s[a%o]}return this};var INVALID_BASE64_RE=/[^+\/0-9A-Za-z-_]/g;function base64clean(e){if((e=stringtrim(e).replace(INVALID_BASE64_RE,"")).length<2)return"";for(;e.length%4!=0;)e+="=";return e}function stringtrim(e){return e.trim?e.trim():e.replace(/^\s+|\s+$/g,"")}function toHex(e){return e<16?"0"+e.toString(16):e.toString(16)}function utf8ToBytes(e,t){var r;t=t||1/0;for(var n=e.length,i=null,a=[],s=0;s<n;++s){if((r=e.charCodeAt(s))>55295&&r<57344){if(!i){if(r>56319){(t-=3)>-1&&a.push(239,191,189);continue}if(s+1===n){(t-=3)>-1&&a.push(239,191,189);continue}i=r;continue}if(r<56320){(t-=3)>-1&&a.push(239,191,189),i=r;continue}r=65536+(i-55296<<10|r-56320)}else i&&(t-=3)>-1&&a.push(239,191,189);if(i=null,r<128){if((t-=1)<0)break;a.push(r)}else if(r<2048){if((t-=2)<0)break;a.push(r>>6|192,63&r|128)}else if(r<65536){if((t-=3)<0)break;a.push(r>>12|224,r>>6&63|128,63&r|128)}else{if(!(r<1114112))throw new Error("Invalid code point");if((t-=4)<0)break;a.push(r>>18|240,r>>12&63|128,r>>6&63|128,63&r|128)}}return a}function asciiToBytes(e){for(var t=[],r=0;r<e.length;++r)t.push(255&e.charCodeAt(r));return t}function utf16leToBytes(e,t){for(var r,n,i,a=[],s=0;s<e.length&&!((t-=2)<0);++s)n=(r=e.charCodeAt(s))>>8,i=r%256,a.push(i),a.push(n);return a}function base64ToBytes(e){return toByteArray(base64clean(e))}function blitBuffer(e,t,r,n){for(var i=0;i<n&&!(i+r>=t.length||i>=e.length);++i)t[i+r]=e[i];return i}function isnan(e){return e!=e}function isBuffer$1(e){return null!=e&&(!!e._isBuffer||isFastBuffer(e)||isSlowBuffer(e))}function isFastBuffer(e){return!!e.constructor&&"function"==typeof e.constructor.isBuffer&&e.constructor.isBuffer(e)}function isSlowBuffer(e){return"function"==typeof e.readFloatLE&&"function"==typeof e.slice&&isFastBuffer(e.slice(0,0))}function defaultSetTimout(){throw new Error("setTimeout has not been defined")}function defaultClearTimeout(){throw new Error("clearTimeout has not been defined")}var cachedSetTimeout=defaultSetTimout,cachedClearTimeout=defaultClearTimeout;function runTimeout(e){if(cachedSetTimeout===setTimeout)return setTimeout(e,0);if((cachedSetTimeout===defaultSetTimout||!cachedSetTimeout)&&setTimeout)return cachedSetTimeout=setTimeout,setTimeout(e,0);try{return cachedSetTimeout(e,0)}catch(t){try{return cachedSetTimeout.call(null,e,0)}catch(t){return cachedSetTimeout.call(this,e,0)}}}function runClearTimeout(e){if(cachedClearTimeout===clearTimeout)return clearTimeout(e);if((cachedClearTimeout===defaultClearTimeout||!cachedClearTimeout)&&clearTimeout)return cachedClearTimeout=clearTimeout,clearTimeout(e);try{return cachedClearTimeout(e)}catch(t){try{return cachedClearTimeout.call(null,e)}catch(t){return cachedClearTimeout.call(this,e)}}}"function"==typeof global$1.setTimeout&&(cachedSetTimeout=setTimeout),"function"==typeof global$1.clearTimeout&&(cachedClearTimeout=clearTimeout);var currentQueue,queue=[],draining=!1,queueIndex=-1;function cleanUpNextTick(){draining&¤tQueue&&(draining=!1,currentQueue.length?queue=currentQueue.concat(queue):queueIndex=-1,queue.length&&drainQueue())}function drainQueue(){if(!draining){var e=runTimeout(cleanUpNextTick);draining=!0;for(var t=queue.length;t;){for(currentQueue=queue,queue=[];++queueIndex<t;)currentQueue&¤tQueue[queueIndex].run();queueIndex=-1,t=queue.length}currentQueue=null,draining=!1,runClearTimeout(e)}}function nextTick(e){var t=new Array(arguments.length-1);if(arguments.length>1)for(var r=1;r<arguments.length;r++)t[r-1]=arguments[r];queue.push(new Item(e,t)),1!==queue.length||draining||runTimeout(drainQueue)}function Item(e,t){this.fun=e,this.array=t}Item.prototype.run=function(){this.fun.apply(null,this.array)};var title="browser",platform$1="browser",browser$1=!0,env$1={},argv=[],version="",versions={},release$1={},config={};function noop$4(){}var on=noop$4,addListener=noop$4,once$a=noop$4,off=noop$4,removeListener=noop$4,removeAllListeners=noop$4,emit=noop$4;function binding(e){throw new Error("process.binding is not supported")}function cwd(){return"/"}function chdir(e){throw new Error("process.chdir is not supported")}function umask(){return 0}var performance=global$1.performance||{},performanceNow=performance.now||performance.mozNow||performance.msNow||performance.oNow||performance.webkitNow||function(){return(new Date).getTime()};function hrtime(e){var t=.001*performanceNow.call(performance),r=Math.floor(t),n=Math.floor(t%1*1e9);return e&&(r-=e[0],(n-=e[1])<0&&(r--,n+=1e9)),[r,n]}var startTime=new Date;function uptime$1(){return(new Date-startTime)/1e3}var _endianness,browser$1$1={nextTick:nextTick,title:title,browser:browser$1,env:env$1,argv:argv,version:version,versions:versions,on:on,addListener:addListener,once:once$a,off:off,removeListener:removeListener,removeAllListeners:removeAllListeners,emit:emit,binding:binding,cwd:cwd,chdir:chdir,umask:umask,hrtime:hrtime,platform:platform$1,release:release$1,config:config,uptime:uptime$1},_polyfillNode_process=Object.freeze({__proto__:null,addListener:addListener,argv:argv,binding:binding,browser:browser$1,chdir:chdir,config:config,cwd:cwd,default:browser$1$1,emit:emit,env:env$1,hrtime:hrtime,nextTick:nextTick,off:off,on:on,once:once$a,platform:platform$1,release:release$1,removeAllListeners:removeAllListeners,removeListener:removeListener,title:title,umask:umask,uptime:uptime$1,version:version,versions:versions});function endianness(){if(void 0===_endianness){var e=new ArrayBuffer(2),t=new Uint8Array(e),r=new Uint16Array(e);if(t[0]=1,t[1]=2,258===r[0])_endianness="BE";else{if(513!==r[0])throw new Error("unable to figure out endianess");_endianness="LE"}}return _endianness}function hostname(){return void 0!==global$1.location?global$1.location.hostname:""}function loadavg(){return[]}function uptime(){return 0}function freemem(){return Number.MAX_VALUE}function totalmem(){return Number.MAX_VALUE}function cpus(){return[]}function type$1(){return"Browser"}function release(){return void 0!==global$1.navigator?global$1.navigator.appVersion:""}function networkInterfaces(){return{}}function getNetworkInterfaces(){return{}}function arch(){return"javascript"}function platform(){return"browser"}function tmpDir(){return"/tmp"}var tmpdir=tmpDir,EOL="\n";function homedir(){return"$HOME"}var _polyfillNode_os={homedir:homedir,EOL:EOL,arch:arch,platform:platform,tmpdir:tmpdir,tmpDir:tmpDir,networkInterfaces:networkInterfaces,getNetworkInterfaces:getNetworkInterfaces,release:release,type:type$1,cpus:cpus,totalmem:totalmem,freemem:freemem,uptime:uptime,loadavg:loadavg,hostname:hostname,endianness:endianness},_polyfillNode_os$1=Object.freeze({__proto__:null,EOL:EOL,arch:arch,cpus:cpus,default:_polyfillNode_os,endianness:endianness,freemem:freemem,getNetworkInterfaces:getNetworkInterfaces,homedir:homedir,hostname:hostname,loadavg:loadavg,networkInterfaces:networkInterfaces,platform:platform,release:release,tmpDir:tmpDir,tmpdir:tmpdir,totalmem:totalmem,type:type$1,uptime:uptime}),require$$4=getAugmentedNamespace(_polyfillNode_os$1);function isatty(){return!1}function ReadStream(){throw new Error("tty.ReadStream is not implemented")}function WriteStream(){throw new Error("tty.ReadStream is not implemented")}var inherits$1,_polyfillNode_tty={isatty:isatty,ReadStream:ReadStream,WriteStream:WriteStream},_polyfillNode_tty$1=Object.freeze({__proto__:null,ReadStream:ReadStream,WriteStream:WriteStream,default:_polyfillNode_tty,isatty:isatty}),require$$1$3=getAugmentedNamespace(_polyfillNode_tty$1),inherits$2=inherits$1="function"==typeof Object.create?function(e,t){e.super_=t,e.prototype=Object.create(t.prototype,{constructor:{value:e,enumerable:!1,writable:!0,configurable:!0}})}:function(e,t){e.super_=t;var r=function(){};r.prototype=t.prototype,e.prototype=new r,e.prototype.constructor=e},getOwnPropertyDescriptors=Object.getOwnPropertyDescriptors||function(e){for(var t=Object.keys(e),r={},n=0;n<t.length;n++)r[t[n]]=Object.getOwnPropertyDescriptor(e,t[n]);return r},formatRegExp=/%[sdj%]/g;function format(e){if(!isString$b(e)){for(var t=[],r=0;r<arguments.length;r++)t.push(inspect$1(arguments[r]));return t.join(" ")}r=1;for(var n=arguments,i=n.length,a=String(e).replace(formatRegExp,(function(e){if("%%"===e)return"%";if(r>=i)return e;switch(e){case"%s":return String(n[r++]);case"%d":return Number(n[r++]);case"%j":try{return JSON.stringify(n[r++])}catch(e){return"[Circular]"}default:return e}})),s=n[r];r<i;s=n[++r])isNull$2(s)||!isObject$5(s)?a+=" "+s:a+=" "+inspect$1(s);return a}function deprecate(e,t){if(isUndefined(global$1.process))return function(){return deprecate(e,t).apply(this,arguments)};if(!0===browser$1$1.noDeprecation)return e;var r=!1;return function(){if(!r){if(browser$1$1.throwDeprecation)throw new Error(t);browser$1$1.traceDeprecation?console.trace(t):console.error(t),r=!0}return e.apply(this,arguments)}}var debugEnviron,debugs={};function debuglog(e){if(isUndefined(debugEnviron)&&(debugEnviron=browser$1$1.env.NODE_DEBUG||""),e=e.toUpperCase(),!debugs[e])if(new RegExp("\\b"+e+"\\b","i").test(debugEnviron)){debugs[e]=function(){var t=format.apply(null,arguments);console.error("%s %d: %s",e,0,t)}}else debugs[e]=function(){};return debugs[e]}function inspect$1(e,t){var r={seen:[],stylize:stylizeNoColor};return arguments.length>=3&&(r.depth=arguments[2]),arguments.length>=4&&(r.colors=arguments[3]),isBoolean(t)?r.showHidden=t:t&&_extend(r,t),isUndefined(r.showHidden)&&(r.showHidden=!1),isUndefined(r.depth)&&(r.depth=2),isUndefined(r.colors)&&(r.colors=!1),isUndefined(r.customInspect)&&(r.customInspect=!0),r.colors&&(r.stylize=stylizeWithColor),formatValue(r,e,r.depth)}function stylizeWithColor(e,t){var r=inspect$1.styles[t];return r?"["+inspect$1.colors[r][0]+"m"+e+"["+inspect$1.colors[r][1]+"m":e}function stylizeNoColor(e,t){return e}function arrayToHash(e){var t={};return e.forEach((function(e,r){t[e]=!0})),t}function formatValue(e,t,r){if(e.customInspect&&t&&isFunction$7(t.inspect)&&t.inspect!==inspect$1&&(!t.constructor||t.constructor.prototype!==t)){var n=t.inspect(r,e);return isString$b(n)||(n=formatValue(e,n,r)),n}var i=formatPrimitive(e,t);if(i)return i;var a=Object.keys(t),s=arrayToHash(a);if(e.showHidden&&(a=Object.getOwnPropertyNames(t)),isError(t)&&(a.indexOf("message")>=0||a.indexOf("description")>=0))return formatError(t);if(0===a.length){if(isFunction$7(t)){var o=t.name?": "+t.name:"";return e.stylize("[Function"+o+"]","special")}if(isRegExp$1(t))return e.stylize(RegExp.prototype.toString.call(t),"regexp");if(isDate(t))return e.stylize(Date.prototype.toString.call(t),"date");if(isError(t))return formatError(t)}var l,u="",c=!1,p=["{","}"];(isArray$f(t)&&(c=!0,p=["[","]"]),isFunction$7(t))&&(u=" [Function"+(t.name?": "+t.name:"")+"]");return isRegExp$1(t)&&(u=" "+RegExp.prototype.toString.call(t)),isDate(t)&&(u=" "+Date.prototype.toUTCString.call(t)),isError(t)&&(u=" "+formatError(t)),0!==a.length||c&&0!=t.length?r<0?isRegExp$1(t)?e.stylize(RegExp.prototype.toString.call(t),"regexp"):e.stylize("[Object]","special"):(e.seen.push(t),l=c?formatArray(e,t,r,s,a):a.map((function(n){return formatProperty(e,t,r,s,n,c)})),e.seen.pop(),reduceToSingleString(l,u,p)):p[0]+u+p[1]}function formatPrimitive(e,t){if(isUndefined(t))return e.stylize("undefined","undefined");if(isString$b(t)){var r="'"+JSON.stringify(t).replace(/^"|"$/g,"").replace(/'/g,"\\'").replace(/\\"/g,'"')+"'";return e.stylize(r,"string")}return isNumber$3(t)?e.stylize(""+t,"number"):isBoolean(t)?e.stylize(""+t,"boolean"):isNull$2(t)?e.stylize("null","null"):void 0}function formatError(e){return"["+Error.prototype.toString.call(e)+"]"}function formatArray(e,t,r,n,i){for(var a=[],s=0,o=t.length;s<o;++s)hasOwnProperty(t,String(s))?a.push(formatProperty(e,t,r,n,String(s),!0)):a.push("");return i.forEach((function(i){i.match(/^\d+$/)||a.push(formatProperty(e,t,r,n,i,!0))})),a}function formatProperty(e,t,r,n,i,a){var s,o,l;if((l=Object.getOwnPropertyDescriptor(t,i)||{value:t[i]}).get?o=l.set?e.stylize("[Getter/Setter]","special"):e.stylize("[Getter]","special"):l.set&&(o=e.stylize("[Setter]","special")),hasOwnProperty(n,i)||(s="["+i+"]"),o||(e.seen.indexOf(l.value)<0?(o=isNull$2(r)?formatValue(e,l.value,null):formatValue(e,l.value,r-1)).indexOf("\n")>-1&&(o=a?o.split("\n").map((function(e){return" "+e})).join("\n").substr(2):"\n"+o.split("\n").map((function(e){return" "+e})).join("\n")):o=e.stylize("[Circular]","special")),isUndefined(s)){if(a&&i.match(/^\d+$/))return o;(s=JSON.stringify(""+i)).match(/^"([a-zA-Z_][a-zA-Z_0-9]*)"$/)?(s=s.substr(1,s.length-2),s=e.stylize(s,"name")):(s=s.replace(/'/g,"\\'").replace(/\\"/g,'"').replace(/(^"|"$)/g,"'"),s=e.stylize(s,"string"))}return s+": "+o}function reduceToSingleString(e,t,r){return e.reduce((function(e,t){return t.indexOf("\n"),e+t.replace(/\u001b\[\d\d?m/g,"").length+1}),0)>60?r[0]+(""===t?"":t+"\n ")+" "+e.join(",\n ")+" "+r[1]:r[0]+t+" "+e.join(", ")+" "+r[1]}function isArray$f(e){return Array.isArray(e)}function isBoolean(e){return"boolean"==typeof e}function isNull$2(e){return null===e}function isNullOrUndefined(e){return null==e}function isNumber$3(e){return"number"==typeof e}function isString$b(e){return"string"==typeof e}function isSymbol(e){return"symbol"==typeof e}function isUndefined(e){return void 0===e}function isRegExp$1(e){return isObject$5(e)&&"[object RegExp]"===objectToString$1(e)}function isObject$5(e){return"object"==typeof e&&null!==e}function isDate(e){return isObject$5(e)&&"[object Date]"===objectToString$1(e)}function isError(e){return isObject$5(e)&&("[object Error]"===objectToString$1(e)||e instanceof Error)}function isFunction$7(e){return"function"==typeof e}function isPrimitive$1(e){return null===e||"boolean"==typeof e||"number"==typeof e||"string"==typeof e||"symbol"==typeof e||void 0===e}function isBuffer(e){return Array.isArray(e)}function objectToString$1(e){return Object.prototype.toString.call(e)}function pad(e){return e<10?"0"+e.toString(10):e.toString(10)}inspect$1.colors={bold:[1,22],italic:[3,23],underline:[4,24],inverse:[7,27],white:[37,39],grey:[90,39],black:[30,39],blue:[34,39],cyan:[36,39],green:[32,39],magenta:[35,39],red:[31,39],yellow:[33,39]},inspect$1.styles={special:"cyan",number:"yellow",boolean:"yellow",undefined:"grey",null:"bold",string:"green",date:"magenta",regexp:"red"};var months=["Jan","Feb","Mar","Apr","May","Jun","Jul","Aug","Sep","Oct","Nov","Dec"];function timestamp(){var e=new Date,t=[pad(e.getHours()),pad(e.getMinutes()),pad(e.getSeconds())].join(":");return[e.getDate(),months[e.getMonth()],t].join(" ")}function log$6(){console.log("%s - %s",timestamp(),format.apply(null,arguments))}function _extend(e,t){if(!t||!isObject$5(t))return e;for(var r=Object.keys(t),n=r.length;n--;)e[r[n]]=t[r[n]];return e}function hasOwnProperty(e,t){return Object.prototype.hasOwnProperty.call(e,t)}var kCustomPromisifiedSymbol="undefined"!=typeof Symbol?Symbol("util.promisify.custom"):void 0;function promisify(e){if("function"!=typeof e)throw new TypeError('The "original" argument must be of type Function');if(kCustomPromisifiedSymbol&&e[kCustomPromisifiedSymbol]){var t;if("function"!=typeof(t=e[kCustomPromisifiedSymbol]))throw new TypeError('The "util.promisify.custom" argument must be of type Function');return Object.defineProperty(t,kCustomPromisifiedSymbol,{value:t,enumerable:!1,writable:!1,configurable:!0}),t}function t(){for(var t,r,n=new Promise((function(e,n){t=e,r=n})),i=[],a=0;a<arguments.length;a++)i.push(arguments[a]);i.push((function(e,n){e?r(e):t(n)}));try{e.apply(this,i)}catch(e){r(e)}return n}return Object.setPrototypeOf(t,Object.getPrototypeOf(e)),kCustomPromisifiedSymbol&&Object.defineProperty(t,kCustomPromisifiedSymbol,{value:t,enumerable:!1,writable:!1,configurable:!0}),Object.defineProperties(t,getOwnPropertyDescriptors(e))}function callbackifyOnRejected(e,t){if(!e){var r=new Error("Promise was rejected with a falsy value");r.reason=e,e=r}return t(e)}function callbackify(e){if("function"!=typeof e)throw new TypeError('The "original" argument must be of type Function');function t(){for(var t=[],r=0;r<arguments.length;r++)t.push(arguments[r]);var n=t.pop();if("function"!=typeof n)throw new TypeError("The last argument must be of type Function");var i=this,a=function(){return n.apply(i,arguments)};e.apply(this,t).then((function(e){browser$1$1.nextTick(a.bind(null,null,e))}),(function(e){browser$1$1.nextTick(callbackifyOnRejected.bind(null,e,a))}))}return Object.setPrototypeOf(t,Object.getPrototypeOf(e)),Object.defineProperties(t,getOwnPropertyDescriptors(e)),t}promisify.custom=kCustomPromisifiedSymbol;var _polyfillNode_util={inherits:inherits$2,_extend:_extend,log:log$6,isBuffer:isBuffer,isPrimitive:isPrimitive$1,isFunction:isFunction$7,isError:isError,isDate:isDate,isObject:isObject$5,isRegExp:isRegExp$1,isUndefined:isUndefined,isSymbol:isSymbol,isString:isString$b,isNumber:isNumber$3,isNullOrUndefined:isNullOrUndefined,isNull:isNull$2,isBoolean:isBoolean,isArray:isArray$f,inspect:inspect$1,deprecate:deprecate,format:format,debuglog:debuglog,promisify:promisify,callbackify:callbackify},_polyfillNode_util$1=Object.freeze({__proto__:null,_extend:_extend,callbackify:callbackify,debuglog:debuglog,default:_polyfillNode_util,deprecate:deprecate,format:format,inherits:inherits$2,inspect:inspect$1,isArray:isArray$f,isBoolean:isBoolean,isBuffer:isBuffer,isDate:isDate,isError:isError,isFunction:isFunction$7,isNull:isNull$2,isNullOrUndefined:isNullOrUndefined,isNumber:isNumber$3,isObject:isObject$5,isPrimitive:isPrimitive$1,isRegExp:isRegExp$1,isString:isString$b,isSymbol:isSymbol,isUndefined:isUndefined,log:log$6,promisify:promisify}),require$$2$1=getAugmentedNamespace(_polyfillNode_util$1),require$$0$5=getAugmentedNamespace(_polyfillNode_process);function _array_like_to_array(e,t){(null==t||t>e.length)&&(t=e.length);for(var r=0,n=new Array(t);r<t;r++)n[r]=e[r];return n}function _array_with_holes(e){if(Array.isArray(e))return e}function _array_without_holes(e){if(Array.isArray(e))return _array_like_to_array(e)}function _assert_this_initialized(e){if(void 0===e)throw new ReferenceError("this hasn't been initialised - super() hasn't been called");return e}function _class_call_check(e,t){if(!(e instanceof t))throw new TypeError("Cannot call a class as a function")}function _defineProperties(e,t){for(var r=0;r<t.length;r++){var n=t[r];n.enumerable=n.enumerable||!1,n.configurable=!0,"value"in n&&(n.writable=!0),Object.defineProperty(e,n.key,n)}}function _create_class(e,t,r){return t&&_defineProperties(e.prototype,t),r&&_defineProperties(e,r),e}function _define_property(e,t,r){return t in e?Object.defineProperty(e,t,{value:r,enumerable:!0,configurable:!0,writable:!0}):e[t]=r,e}function _get(e,t,r){return _get="undefined"!=typeof Reflect&&Reflect.get?Reflect.get:function(e,t,r){var n=_super_prop_base(e,t);if(n){var i=Object.getOwnPropertyDescriptor(n,t);return i.get?i.get.call(r||e):i.value}},_get(e,t,r||e)}function _get_prototype_of(e){return _get_prototype_of=Object.setPrototypeOf?Object.getPrototypeOf:function(e){return e.__proto__||Object.getPrototypeOf(e)},_get_prototype_of(e)}function _inherits$1(e,t){if("function"!=typeof t&&null!==t)throw new TypeError("Super expression must either be null or a function");e.prototype=Object.create(t&&t.prototype,{constructor:{value:e,writable:!0,configurable:!0}}),t&&_set_prototype_of(e,t)}function _instanceof(e,t){return null!=t&&"undefined"!=typeof Symbol&&t[Symbol.hasInstance]?!!t[Symbol.hasInstance](e):e instanceof t}function _iterable_to_array(e){if("undefined"!=typeof Symbol&&null!=e[Symbol.iterator]||null!=e["@@iterator"])return Array.from(e)}function _iterable_to_array_limit(e,t){var r=null==e?null:"undefined"!=typeof Symbol&&e[Symbol.iterator]||e["@@iterator"];if(null!=r){var n,i,a=[],s=!0,o=!1;try{for(r=r.call(e);!(s=(n=r.next()).done)&&(a.push(n.value),!t||a.length!==t);s=!0);}catch(e){o=!0,i=e}finally{try{s||null==r.return||r.return()}finally{if(o)throw i}}return a}}function _non_iterable_rest(){throw new TypeError("Invalid attempt to destructure non-iterable instance.\\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method.")}function _non_iterable_spread(){throw new TypeError("Invalid attempt to spread non-iterable instance.\\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method.")}function _object_spread(e){for(var t=1;t<arguments.length;t++){var r=null!=arguments[t]?arguments[t]:{},n=Object.keys(r);"function"==typeof Object.getOwnPropertySymbols&&(n=n.concat(Object.getOwnPropertySymbols(r).filter((function(e){return Object.getOwnPropertyDescriptor(r,e).enumerable})))),n.forEach((function(t){_define_property(e,t,r[t])}))}return e}function ownKeys(e,t){var r=Object.keys(e);if(Object.getOwnPropertySymbols){var n=Object.getOwnPropertySymbols(e);t&&(n=n.filter((function(t){return Object.getOwnPropertyDescriptor(e,t).enumerable}))),r.push.apply(r,n)}return r}function _object_spread_props(e,t){return t=null!=t?t:{},Object.getOwnPropertyDescriptors?Object.defineProperties(e,Object.getOwnPropertyDescriptors(t)):ownKeys(Object(t)).forEach((function(r){Object.defineProperty(e,r,Object.getOwnPropertyDescriptor(t,r))})),e}function _possible_constructor_return(e,t){return!t||"object"!==_type_of(t)&&"function"!=typeof t?_assert_this_initialized(e):t}function _set_prototype_of(e,t){return _set_prototype_of=Object.setPrototypeOf||function(e,t){return e.__proto__=t,e},_set_prototype_of(e,t)}function _sliced_to_array(e,t){return _array_with_holes(e)||_iterable_to_array_limit(e,t)||_unsupported_iterable_to_array(e,t)||_non_iterable_rest()}function _super_prop_base(e,t){for(;!Object.prototype.hasOwnProperty.call(e,t)&&null!==(e=_get_prototype_of(e)););return e}function _tagged_template_literal(e,t){return t||(t=e.slice(0)),Object.freeze(Object.defineProperties(e,{raw:{value:Object.freeze(t)}}))}function _to_consumable_array(e){return _array_without_holes(e)||_iterable_to_array(e)||_unsupported_iterable_to_array(e)||_non_iterable_spread()}function _type_of(e){return e&&"undefined"!=typeof Symbol&&e.constructor===Symbol?"symbol":typeof e}function _unsupported_iterable_to_array(e,t){if(e){if("string"==typeof e)return _array_like_to_array(e,t);var r=Object.prototype.toString.call(e).slice(8,-1);return"Object"===r&&e.constructor&&(r=e.constructor.name),"Map"===r||"Set"===r?Array.from(r):"Arguments"===r||/^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(r)?_array_like_to_array(e,t):void 0}}function _is_native_reflect_construct(){if("undefined"==typeof Reflect||!Reflect.construct)return!1;if(Reflect.construct.sham)return!1;if("function"==typeof Proxy)return!0;try{return Boolean.prototype.valueOf.call(Reflect.construct(Boolean,[],(function(){}))),!0}catch(e){return!1}}function _create_super(e){var t=_is_native_reflect_construct();return function(){var r,n=_get_prototype_of(e);if(t){var i=_get_prototype_of(this).constructor;r=Reflect.construct(n,arguments,i)}else r=n.apply(this,arguments);return _possible_constructor_return(this,r)}}function _ts_generator(e,t){var r,n,i,a,s={label:0,sent:function(){if(1&i[0])throw i[1];return i[1]},trys:[],ops:[]};return a={next:o(0),throw:o(1),return:o(2)},"function"==typeof Symbol&&(a[Symbol.iterator]=function(){return this}),a;function o(a){return function(o){return function(a){if(r)throw new TypeError("Generator is already executing.");for(;s;)try{if(r=1,n&&(i=2&a[0]?n.return:a[0]?n.throw||((i=n.return)&&i.call(n),0):n.next)&&!(i=i.call(n,a[1])).done)return i;switch(n=0,i&&(a=[2&a[0],i.value]),a[0]){case 0:case 1:i=a;break;case 4:return s.label++,{value:a[1],done:!1};case 5:s.label++,n=a[1],a=[0];continue;case 7:a=s.ops.pop(),s.trys.pop();continue;default:if(!(i=s.trys,(i=i.length>0&&i[i.length-1])||6!==a[0]&&2!==a[0])){s=0;continue}if(3===a[0]&&(!i||a[1]>i[0]&&a[1]<i[3])){s.label=a[1];break}if(6===a[0]&&s.label<i[1]){s.label=i[1],i=a;break}if(i&&s.label<i[2]){s.label=i[2],s.ops.push(a);break}i[2]&&s.ops.pop(),s.trys.pop();continue}a=t.call(e,s)}catch(e){a=[6,e],n=0}finally{r=i=0}if(5&a[0])throw a[1];return{value:a[0]?a[1]:void 0,done:!0}}([a,o])}}}function _templateObject(){var e=_tagged_template_literal(["pipelineOperator"]);return _templateObject=function(){return e},e}function _templateObject1(){var e=_tagged_template_literal(["flow"]);return _templateObject1=function(){return e},e}function _templateObject2(){var e=_tagged_template_literal(["jsx"]);return _templateObject2=function(){return e},e}function _templateObject3(){var e=_tagged_template_literal(["typescript"]);return _templateObject3=function(){return e},e}function _templateObject4(){var e=_tagged_template_literal(["placeholders"]);return _templateObject4=function(){return e},e}var __create=Object.create,__defProp=Object.defineProperty,__getOwnPropDesc=Object.getOwnPropertyDescriptor,__getOwnPropNames=Object.getOwnPropertyNames,__getProtoOf=Object.getPrototypeOf,__hasOwnProp=Object.prototype.hasOwnProperty,__defNormalProp=function(e,t,r){return t in e?__defProp(e,t,{enumerable:!0,configurable:!0,writable:!0,value:r}):e[t]=r},__commonJS=function(e,t){return function(){return t||(0,e[__getOwnPropNames(e)[0]])((t={exports:{}}).exports,t),t.exports}},__export=function(e,t){for(var r in t)__defProp(e,r,{get:t[r],enumerable:!0})},__copyProps=function(e,t,r,n){if(t&&"object"==typeof t||"function"==typeof t){var i=!0,a=!1,s=void 0;try{for(var o,l=function(){var i=o.value;__hasOwnProp.call(e,i)||i===r||__defProp(e,i,{get:function(){return t[i]},enumerable:!(n=__getOwnPropDesc(t,i))||n.enumerable})},u=__getOwnPropNames(t)[Symbol.iterator]();!(i=(o=u.next()).done);i=!0)l()}catch(e){a=!0,s=e}finally{try{i||null==u.return||u.return()}finally{if(a)throw s}}}return e},__toESM=function(e,t,r){return r=null!=e?__create(__getProtoOf(e)):{},__copyProps(!t&&e&&e.__esModule?r:__defProp(r,"default",{value:e,enumerable:!0}),e)},__toCommonJS=function(e){return __copyProps(__defProp({},"__esModule",{value:!0}),e)},__publicField=function(e,t,r){return __defNormalProp(e,"symbol"!==(void 0===t?"undefined":_type_of(t))?t+"":t,r),r},require_to_fast_properties=__commonJS({"node_modules/to-fast-properties/index.js":function(e,t){var r=null;function n(e){if(null!==r&&_type_of(r.property)){var t=r;return r=n.prototype=null,t}return r=n.prototype=null==e?Object.create(null):e,new n}for(var i=0;i<=10;i++)n();t.exports=function(e){return n(e)}}}),require_js_tokens=__commonJS({"node_modules/@babel/highlight/node_modules/js-tokens/index.js":function(e,t){var r,n,i,a,s,o,l,u,c,p,d,f,h,m,y,g,v,b,S;h=RegExp("\\/(?![*\\/])(?:\\[(?:[^\\]\\\\\\n\\r\\u2028\\u2029]+|\\\\.)*\\]|[^\\/\\\\\\n\\r\\u2028\\u2029]+|\\\\.)*(\\/[$_\\u200C\\u200D\\p{ID_Continue}]*|\\\\)?","yu"),f=RegExp("--|\\+\\+|=>|\\.{3}|\\??\\.(?!\\d)|(?:&&|\\|\\||\\?\\?|[+\\-%&|^]|\\*{1,2}|<{1,2}|>{1,3}|!=?|={1,2}|\\/(?![\\/*]))=?|[?~,:;[\\](){}]","y"),r=RegExp("(\\x23?)(?=[$_\\p{ID_Start}\\\\])(?:[$_\\u200C\\u200D\\p{ID_Continue}]+|\\\\u[\\da-fA-F]{4}|\\\\u\\{[\\da-fA-F]+\\})+","yu"),y=RegExp("(['\"])(?:[^'\"\\\\\\n\\r]+|(?!\\1)['\"]|\\\\(?:\\r\\n|[^]))*(\\1)?","y"),d=RegExp("(?:0[xX][\\da-fA-F](?:_?[\\da-fA-F])*|0[oO][0-7](?:_?[0-7])*|0[bB][01](?:_?[01])*)n?|0n|[1-9](?:_?\\d)*n|(?:(?:0(?!\\d)|0\\d*[89]\\d*|[1-9](?:_?\\d)*)(?:\\.(?:\\d(?:_?\\d)*)?)?|\\.\\d(?:_?\\d)*)(?:[eE][+-]?\\d(?:_?\\d)*)?|0[0-7]+","y"),g=RegExp("[`}](?:[^`\\\\$]+|\\\\[^]|\\$(?!\\{))*(`|\\$\\{)?","y"),S=RegExp("[\\t\\v\\f\\ufeff\\p{Zs}]+","yu"),u=RegExp("\\r?\\n|[\\r\\u2028\\u2029]","y"),c=RegExp("\\/\\*(?:[^*]+|\\*(?!\\/))*(\\*\\/)?","y"),m=RegExp("\\/\\/.*","y"),i=RegExp("[<>.:={}]|\\/(?![\\/*])","y"),n=RegExp("[$_\\p{ID_Start}][$_\\u200C\\u200D\\p{ID_Continue}-]*","yu"),a=RegExp("(['\"])(?:[^'\"]+|(?!\\1)['\"])*(\\1)?","y"),s=RegExp("[^<>{}]+","y"),b=/^(?:[\/+-]|\.{3}|\?(?:InterpolationIn(?:JSX|Template)|NoLineTerminatorHere|NonExpressionParenEnd|UnaryIncDec))?$|[{}([,;<>=*%&|^!~?:]$/,v=/^(?:=>|[;\]){}]|else|\?(?:NoLineTerminatorHere|NonExpressionParenEnd))?$/,o=/^(?:await|case|default|delete|do|else|instanceof|new|return|throw|typeof|void|yield)$/,l=/^(?:return|throw|yield)$/,p=RegExp(u.source),t.exports=function(e){var t,_,T,E,x,P,A,$,C,w,k,I,N,O,L,D,F=arguments;return _ts_generator(this,(function(R){switch(R.label){case 0:t=(F.length>1&&void 0!==F[1]?F[1]:{}).jsx,_=void 0!==t&&t,$=e.length,P=0,A="",D=[{tag:"JS"}],T=[],N=0,O=!1,R.label=1;case 1:if(!(P<$))return[3,62];switch(w=D[D.length-1],w.tag){case"JS":case"JSNonExpressionParen":case"InterpolationInTemplate":case"InterpolationInJSX":return[3,2];case"JSXTag":case"JSXTagEnd":return[3,38];case"JSXChildren":return[3,45]}return[3,52];case 2:return"/"!==e[P]||!b.test(A)&&!o.test(A)?[3,4]:(h.lastIndex=P,(C=h.exec(e))?(P=h.lastIndex,A=C[0],O=!0,[4,{type:"RegularExpressionLiteral",value:C[0],closed:void 0!==C[1]&&"\\"!==C[1]}]):[3,4]);case 3:return R.sent(),[3,1];case 4:if(f.lastIndex=P,!(C=f.exec(e)))return[3,26];switch(L=C[0],k=f.lastIndex,I=L,L){case"(":return[3,5];case")":return[3,6];case"{":return[3,7];case"}":return[3,8];case"]":return[3,18];case"++":case"--":return[3,19];case"<":return[3,20]}return[3,23];case 5:return"?NonExpressionParenKeyword"===A&&D.push({tag:"JSNonExpressionParen",nesting:N}),N++,O=!1,[3,24];case 6:return N--,O=!0,"JSNonExpressionParen"===w.tag&&N===w.nesting&&(D.pop(),I="?NonExpressionParenEnd",O=!1),[3,24];case 7:return f.lastIndex=0,x=!v.test(A)&&(b.test(A)||o.test(A)),T.push(x),O=!1,[3,24];case 8:switch(w.tag){case"InterpolationInTemplate":return[3,9];case"InterpolationInJSX":return[3,15]}return[3,17];case 9:return T.length!==w.nesting?[3,14]:(g.lastIndex=P,C=g.exec(e),P=g.lastIndex,A=C[0],"${"!==C[1]?[3,11]:(A="?InterpolationInTemplate",O=!1,[4,{type:"TemplateMiddle",value:C[0]}]));case 10:return R.sent(),[3,13];case 11:return D.pop(),O=!0,[4,{type:"TemplateTail",value:C[0],closed:"`"===C[1]}];case 12:R.sent(),R.label=13;case 13:return[3,1];case 14:return[3,17];case 15:return T.length!==w.nesting?[3,17]:(D.pop(),P+=1,A="}",[4,{type:"JSXPunctuator",value:"}"}]);case 16:return R.sent(),[3,1];case 17:return O=T.pop(),I=O?"?ExpressionBraceEnd":"}",[3,24];case 18:return O=!0,[3,24];case 19:return I=O?"?PostfixIncDec":"?UnaryIncDec",[3,24];case 20:return _&&(b.test(A)||o.test(A))?(D.push({tag:"JSXTag"}),P+=1,A="<",[4,{type:"JSXPunctuator",value:L}]):[3,22];case 21:return R.sent(),[3,1];case 22:return O=!1,[3,24];case 23:O=!1,R.label=24;case 24:return P=k,A=I,[4,{type:"Punctuator",value:L}];case 25:return R.sent(),[3,1];case 26:if(r.lastIndex=P,!(C=r.exec(e)))return[3,28];switch(P=r.lastIndex,I=C[0],C[0]){case"for":case"if":case"while":case"with":"."!==A&&"?."!==A&&(I="?NonExpressionParenKeyword")}return A=I,O=!o.test(C[0]),[4,{type:"#"===C[1]?"PrivateIdentifier":"IdentifierName",value:C[0]}];case 27:return R.sent(),[3,1];case 28:return y.lastIndex=P,(C=y.exec(e))?(P=y.lastIndex,A=C[0],O=!0,[4,{type:"StringLiteral",value:C[0],closed:void 0!==C[2]}]):[3,30];case 29:return R.sent(),[3,1];case 30:return d.lastIndex=P,(C=d.exec(e))?(P=d.lastIndex,A=C[0],O=!0,[4,{type:"NumericLiteral",value:C[0]}]):[3,32];case 31:return R.sent(),[3,1];case 32:return g.lastIndex=P,(C=g.exec(e))?(P=g.lastIndex,A=C[0],"${"!==C[1]?[3,34]:(A="?InterpolationInTemplate",D.push({tag:"InterpolationInTemplate",nesting:T.length}),O=!1,[4,{type:"TemplateHead",value:C[0]}])):[3,37];case 33:return R.sent(),[3,36];case 34:return O=!0,[4,{type:"NoSubstitutionTemplate",value:C[0],closed:"`"===C[1]}];case 35:R.sent(),R.label=36;case 36:return[3,1];case 37:return[3,52];case 38:if(i.lastIndex=P,!(C=i.exec(e)))return[3,40];switch(P=i.lastIndex,I=C[0],C[0]){case"<":D.push({tag:"JSXTag"});break;case">":D.pop(),"/"===A||"JSXTagEnd"===w.tag?(I="?JSX",O=!0):D.push({tag:"JSXChildren"});break;case"{":D.push({tag:"InterpolationInJSX",nesting:T.length}),I="?InterpolationInJSX",O=!1;break;case"/":"<"===A&&(D.pop(),"JSXChildren"===D[D.length-1].tag&&D.pop(),D.push({tag:"JSXTagEnd"}))}return A=I,[4,{type:"JSXPunctuator",value:C[0]}];case 39:return R.sent(),[3,1];case 40:return n.lastIndex=P,(C=n.exec(e))?(P=n.lastIndex,A=C[0],[4,{type:"JSXIdentifier",value:C[0]}]):[3,42];case 41:return R.sent(),[3,1];case 42:return a.lastIndex=P,(C=a.exec(e))?(P=a.lastIndex,A=C[0],[4,{type:"JSXString",value:C[0],closed:void 0!==C[2]}]):[3,44];case 43:return R.sent(),[3,1];case 44:return[3,52];case 45:return s.lastIndex=P,(C=s.exec(e))?(P=s.lastIndex,A=C[0],[4,{type:"JSXText",value:C[0]}]):[3,47];case 46:return R.sent(),[3,1];case 47:switch(e[P]){case"<":return[3,48];case"{":return[3,50]}return[3,52];case 48:return D.push({tag:"JSXTag"}),P++,A="<",[4,{type:"JSXPunctuator",value:"<"}];case 49:return R.sent(),[3,1];case 50:return D.push({tag:"InterpolationInJSX",nesting:T.length}),P++,A="?InterpolationInJSX",O=!1,[4,{type:"JSXPunctuator",value:"{"}];case 51:return R.sent(),[3,1];case 52:return S.lastIndex=P,(C=S.exec(e))?(P=S.lastIndex,[4,{type:"WhiteSpace",value:C[0]}]):[3,54];case 53:return R.sent(),[3,1];case 54:return u.lastIndex=P,(C=u.exec(e))?(P=u.lastIndex,O=!1,l.test(A)&&(A="?NoLineTerminatorHere"),[4,{type:"LineTerminatorSequence",value:C[0]}]):[3,56];case 55:return R.sent(),[3,1];case 56:return c.lastIndex=P,(C=c.exec(e))?(P=c.lastIndex,p.test(C[0])&&(O=!1,l.test(A)&&(A="?NoLineTerminatorHere")),[4,{type:"MultiLineComment",value:C[0],closed:void 0!==C[1]}]):[3,58];case 57:return R.sent(),[3,1];case 58:return m.lastIndex=P,(C=m.exec(e))?(P=m.lastIndex,O=!1,[4,{type:"SingleLineComment",value:C[0]}]):[3,60];case 59:return R.sent(),[3,1];case 60:return E=String.fromCodePoint(e.codePointAt(P)),P+=E.length,A=E,O=!1,[4,{type:w.tag.startsWith("JSX")?"JSXInvalid":"Invalid",value:E}];case 61:return R.sent(),[3,1];case 62:return[2,void 0]}}))}}}),require_jsesc=__commonJS({"node_modules/jsesc/jsesc.js":function(e,t){var r={},n=r.hasOwnProperty,i=function(e,t){for(var r in e)n.call(e,r)&&t(r,e[r])},a=function(e){return"\\u"+("0000"+e).slice(-4)},s=function(e,t){var r=e.toString(16);return t?r:r.toUpperCase()},o=r.toString,l=Array.isArray,u={"\\":"\\\\","\b":"\\b","\f":"\\f","\n":"\\n","\r":"\\r","\t":"\\t"},c=/[\\\b\f\n\r\t]/,p=/[0-9]/,d=/[\xA0\u1680\u2000-\u200A\u2028\u2029\u202F\u205F\u3000]/,f=/([\uD800-\uDBFF][\uDC00-\uDFFF])|([\uD800-\uDFFF])|(['"`])|[^]/g,h=/([\uD800-\uDBFF][\uDC00-\uDFFF])|([\uD800-\uDFFF])|(['"`])|[^ !#-&\(-\[\]-_a-~]/g,m=function(e,t){var r,n,y=function(){x=E,++t.indentLevel,E=t.indent.repeat(t.indentLevel)},g={escapeEverything:!1,minimal:!1,isScriptContext:!1,quotes:"single",wrap:!1,es6:!1,json:!1,compact:!0,lowercaseHex:!1,numbers:"decimal",indent:"\t",indentLevel:0,__inline1__:!1,__inline2__:!1},v=t&&t.json;v&&(g.quotes="double",g.wrap=!0),r=g,t=(n=t)?(i(n,(function(e,t){r[e]=t})),r):r,"single"!=t.quotes&&"double"!=t.quotes&&"backtick"!=t.quotes&&(t.quotes="single");var b,S="double"==t.quotes?'"':"backtick"==t.quotes?"`":"'",_=t.compact,T=t.lowercaseHex,E=t.indent.repeat(t.indentLevel),x="",P=t.__inline1__,A=t.__inline2__,$=_?"":"\n",C=!0,w="binary"==t.numbers,k="octal"==t.numbers,I="decimal"==t.numbers,N="hexadecimal"==t.numbers;if(v&&e&&"function"==typeof e.toJSON&&(e=e.toJSON()),!function(e){return"string"==typeof e||"[object String]"==o.call(e)}(e)){if(function(e){return"[object Map]"==o.call(e)}(e))return 0==e.size?"new Map()":(_||(t.__inline1__=!0,t.__inline2__=!1),"new Map("+m(Array.from(e),t)+")");if(function(e){return"[object Set]"==o.call(e)}(e))return 0==e.size?"new Set()":"new Set("+m(Array.from(e),t)+")";if(function(e){return"function"==typeof Buffer&&Array.isArray(e)}(e))return 0==e.length?"Buffer.from([])":"Buffer.from("+m(Array.from(e),t)+")";if(l(e))return b=[],t.wrap=!0,P&&(t.__inline1__=!1,t.__inline2__=!0),A||y(),function(e,t){for(var r=e.length,n=-1;++n<r;)t(e[n])}(e,(function(e){C=!1,A&&(t.__inline2__=!1),b.push((_||A?"":E)+m(e,t))})),C?"[]":A?"["+b.join(", ")+"]":"["+$+b.join(","+$)+$+(_?"":x)+"]";if(!function(e){return"number"==typeof e||"[object Number]"==o.call(e)}(e))return function(e){return"[object Object]"==o.call(e)}(e)?(b=[],t.wrap=!0,y(),i(e,(function(e,r){C=!1,b.push((_?"":E)+m(e,t)+":"+(_?"":" ")+m(r,t))})),C?"{}":"{"+$+b.join(","+$)+$+(_?"":x)+"}"):v?JSON.stringify(e)||"null":String(e);if(v)return JSON.stringify(e);if(I)return String(e);if(N){var O=e.toString(16);return T||(O=O.toUpperCase()),"0x"+O}if(w)return"0b"+e.toString(2);if(k)return"0o"+e.toString(8)}var L=t.escapeEverything?f:h;return b=e.replace(L,(function(e,r,n,i,o,l){if(r){if(t.minimal)return r;var f=r.charCodeAt(0),h=r.charCodeAt(1);return t.es6?"\\u{"+s(1024*(f-55296)+h-56320+65536,T)+"}":a(s(f,T))+a(s(h,T))}if(n)return a(s(n.charCodeAt(0),T));if("\0"==e&&!v&&!p.test(l.charAt(o+1)))return"\\0";if(i)return i==S||t.escapeEverything?"\\"+i:i;if(c.test(e))return u[e];if(t.minimal&&!d.test(e))return e;var m=s(e.charCodeAt(0),T);return v||m.length>2?a(m):"\\x"+("00"+m).slice(-2)})),"`"==S&&(b=b.replace(/\$\{/g,"\\${")),t.isScriptContext&&(b=b.replace(/<\/(script|style)/gi,"<\\/$1").replace(/<!--/g,v?"\\u003C!--":"\\x3C!--")),t.wrap&&(b=S+b+S),b};m.version="3.0.2",t.exports=m}}),require_ms=__commonJS({"node_modules/ms/index.js":function(e,t){var r=1e3,n=60*r,i=60*n,a=24*i,s=7*a,o=365.25*a;function l(e,t,r,n){var i=t>=1.5*r;return Math.round(e/r)+" "+n+(i?"s":"")}t.exports=function(e,t){t=t||{};var u=void 0===e?"undefined":_type_of(e);if("string"===u&&e.length>0)return function(e){if((e=String(e)).length>100)return;var t=/^(-?(?:\d+)?\.?\d+) *(milliseconds?|msecs?|ms|seconds?|secs?|s|minutes?|mins?|m|hours?|hrs?|h|days?|d|weeks?|w|years?|yrs?|y)?$/i.exec(e);if(!t)return;var l=parseFloat(t[1]);switch((t[2]||"ms").toLowerCase()){case"years":case"year":case"yrs":case"yr":case"y":return l*o;case"weeks":case"week":case"w":return l*s;case"days":case"day":case"d":return l*a;case"hours":case"hour":case"hrs":case"hr":case"h":return l*i;case"minutes":case"minute":case"mins":case"min":case"m":return l*n;case"seconds":case"second":case"secs":case"sec":case"s":return l*r;case"milliseconds":case"millisecond":case"msecs":case"msec":case"ms":return l;default:return}}(e);if("number"===u&&isFinite(e))return t.long?function(e){var t=Math.abs(e);if(t>=a)return l(e,t,a,"day");if(t>=i)return l(e,t,i,"hour");if(t>=n)return l(e,t,n,"minute");if(t>=r)return l(e,t,r,"second");return e+" ms"}(e):function(e){var t=Math.abs(e);if(t>=a)return Math.round(e/a)+"d";if(t>=i)return Math.round(e/i)+"h";if(t>=n)return Math.round(e/n)+"m";if(t>=r)return Math.round(e/r)+"s";return e+"ms"}(e);throw new Error("val is not a non-empty string or a valid number. val="+JSON.stringify(e))}}}),require_common=__commonJS({"node_modules/debug/src/common.js":function(e,t){t.exports=function(e){function t(e){var n,i,a,s=null;function o(){for(var e=arguments.length,r=new Array(e),i=0;i<e;i++)r[i]=arguments[i];if(o.enabled){var a=o,s=Number(new Date),l=s-(n||s);a.diff=l,a.prev=n,a.curr=s,n=s,r[0]=t.coerce(r[0]),"string"!=typeof r[0]&&r.unshift("%O");var u=0;r[0]=r[0].replace(/%([a-zA-Z%])/g,(function(e,n){if("%%"===e)return"%";u++;var i=t.formatters[n];if("function"==typeof i){var s=r[u];e=i.call(a,s),r.splice(u,1),u--}return e})),t.formatArgs.call(a,r),(a.log||t.log).apply(a,r)}}return o.namespace=e,o.useColors=t.useColors(),o.color=t.selectColor(e),o.extend=r,o.destroy=t.destroy,Object.defineProperty(o,"enabled",{enumerable:!0,configurable:!1,get:function(){return null!==s?s:(i!==t.namespaces&&(i=t.namespaces,a=t.enabled(e)),a)},set:function(e){s=e}}),"function"==typeof t.init&&t.init(o),o}function r(e,r){var n=t(this.namespace+(void 0===r?":":r)+e);return n.log=this.log,n}function n(e){return e.toString().substring(2,e.toString().length-2).replace(/\.\*\?$/,"*")}return t.debug=t,t.default=t,t.coerce=function(e){if(_instanceof(e,Error))return e.stack||e.message;return e},t.disable=function(){var e=_to_consumable_array(t.names.map(n)).concat(_to_consumable_array(t.skips.map(n).map((function(e){return"-"+e})))).join(",");return t.enable(""),e},t.enable=function(e){var r;t.save(e),t.namespaces=e,t.names=[],t.skips=[];var n=("string"==typeof e?e:"").split(/[\s,]+/),i=n.length;for(r=0;r<i;r++)n[r]&&("-"===(e=n[r].replace(/\*/g,".*?"))[0]?t.skips.push(new RegExp("^"+e.slice(1)+"$")):t.names.push(new RegExp("^"+e+"$")))},t.enabled=function(e){if("*"===e[e.length-1])return!0;var r,n;for(r=0,n=t.skips.length;r<n;r++)if(t.skips[r].test(e))return!1;for(r=0,n=t.names.length;r<n;r++)if(t.names[r].test(e))return!0;return!1},t.humanize=require_ms(),t.destroy=function(){console.warn("Instance method `debug.destroy()` is deprecated and no longer does anything. It will be removed in the next major version of `debug`.")},Object.keys(e).forEach((function(r){t[r]=e[r]})),t.names=[],t.skips=[],t.formatters={},t.selectColor=function(e){for(var r=0,n=0;n<e.length;n++)r=(r<<5)-r+e.charCodeAt(n),r|=0;return t.colors[Math.abs(r)%t.colors.length]},t.enable(t.load()),t}}}),require_browser=__commonJS({"node_modules/debug/src/browser.js":function(e,t){e.formatArgs=function(e){if(e[0]=(this.useColors?"%c":"")+this.namespace+(this.useColors?" %c":" ")+e[0]+(this.useColors?"%c ":" ")+"+"+t.exports.humanize(this.diff),!this.useColors)return;var r="color: "+this.color;e.splice(1,0,r,"color: inherit");var n=0,i=0;e[0].replace(/%[a-zA-Z%]/g,(function(e){"%%"!==e&&(n++,"%c"===e&&(i=n))})),e.splice(i,0,r)},e.save=function(t){try{t?e.storage.setItem("debug",t):e.storage.removeItem("debug")}catch(e){}},e.load=function(){var t;try{t=e.storage.getItem("debug")}catch(e){}!t&&void 0!==browser$1$1&&"env"in browser$1$1&&(t=browser$1$1.env.DEBUG);return t},e.useColors=function(){if("undefined"!=typeof window&&window.process&&("renderer"===window.process.type||window.process.__nwjs))return!0;if("undefined"!=typeof navigator&&navigator.userAgent&&navigator.userAgent.toLowerCase().match(/(edge|trident)\/(\d+)/))return!1;return"undefined"!=typeof document&&document.documentElement&&document.documentElement.style&&document.documentElement.style.WebkitAppearance||"undefined"!=typeof window&&window.console&&(window.console.firebug||window.console.exception&&window.console.table)||"undefined"!=typeof navigator&&navigator.userAgent&&navigator.userAgent.toLowerCase().match(/firefox\/(\d+)/)&&parseInt(RegExp.$1,10)>=31||"undefined"!=typeof navigator&&navigator.userAgent&&navigator.userAgent.toLowerCase().match(/applewebkit\/(\d+)/)},e.storage=function(){try{return localStorage}catch(e){}}(),e.destroy=function(){var e=!1;return function(){e||(e=!0,console.warn("Instance method `debug.destroy()` is deprecated and no longer does anything. It will be removed in the next major version of `debug`."))}}(),e.colors=["#0000CC","#0000FF","#0033CC","#0033FF","#0066CC","#0066FF","#0099CC","#0099FF","#00CC00","#00CC33","#00CC66","#00CC99","#00CCCC","#00CCFF","#3300CC","#3300FF","#3333CC","#3333FF","#3366CC","#3366FF","#3399CC","#3399FF","#33CC00","#33CC33","#33CC66","#33CC99","#33CCCC","#33CCFF","#6600CC","#6600FF","#6633CC","#6633FF","#66CC00","#66CC33","#9900CC","#9900FF","#9933CC","#9933FF","#99CC00","#99CC33","#CC0000","#CC0033","#CC0066","#CC0099","#CC00CC","#CC00FF","#CC3300","#CC3333","#CC3366","#CC3399","#CC33CC","#CC33FF","#CC6600","#CC6633","#CC9900","#CC9933","#CCCC00","#CCCC33","#FF0000","#FF0033","#FF0066","#FF0099","#FF00CC","#FF00FF","#FF3300","#FF3333","#FF3366","#FF3399","#FF33CC","#FF33FF","#FF6600","#FF6633","#FF9900","#FF9933","#FFCC00","#FFCC33"],e.log=console.debug||console.log||function(){},t.exports=require_common()(e),t.exports.formatters.j=function(e){try{return JSON.stringify(e)}catch(e){return"[UnexpectedJSONParseError]: "+e.message}}}}),require_has_flag=__commonJS({"node_modules/has-flag/index.js":function(e,t){t.exports=function(e){var t=arguments.length>1&&void 0!==arguments[1]?arguments[1]:browser$1$1.argv,r=e.startsWith("-")?"":1===e.length?"-":"--",n=t.indexOf(r+e),i=t.indexOf("--");return-1!==n&&(-1===i||n<i)}}}),require_supports_color=__commonJS({"node_modules/supports-color/index.js":function(e,t){var r,n=require$$1$3,i=require_has_flag(),a={};function s(e){return 0!==e&&{level:e,hasBasic:!0,has256:e>=2,has16m:e>=3}}function o(e,t){if(0===r)return 0;if(i("color=16m")||i("color=full")||i("color=truecolor"))return 3;if(i("color=256"))return 2;if(e&&!t&&void 0===r)return 0;var n=r||0;if("dumb"===a.TERM)return n;if("CI"in a)return["TRAVIS","CIRCLECI","APPVEYOR","GITLAB_CI","GITHUB_ACTIONS","BUILDKITE"].some((function(e){return e in a}))||"codeship"===a.CI_NAME?1:n;if("TEAMCITY_VERSION"in a)return/^(9\.(0*[1-9]\d*)\.|\d{2,}\.)/.test(a.TEAMCITY_VERSION)?1:0;if("truecolor"===a.COLORTERM)return 3;if("TERM_PROGRAM"in a){var s=parseInt((a.TERM_PROGRAM_VERSION||"").split(".")[0],10);switch(a.TERM_PROGRAM){case"iTerm.app":return s>=3?3:2;case"Apple_Terminal":return 2}}return/-256(color)?$/i.test(a.TERM)?2:/^screen|^xterm|^vt100|^vt220|^rxvt|color|ansi|cygwin|linux/i.test(a.TERM)||"COLORTERM"in a?1:n}i("no-color")||i("no-colors")||i("color=false")||i("color=never")?r=0:(i("color")||i("colors")||i("color=true")||i("color=always"))&&(r=1),"FORCE_COLOR"in a&&(r="true"===a.FORCE_COLOR?1:"false"===a.FORCE_COLOR?0:0===a.FORCE_COLOR.length?1:Math.min(parseInt(a.FORCE_COLOR,10),3)),t.exports={supportsColor:function(e){return s(o(e,e&&e.isTTY))},stdout:s(o(!0,n.isatty(1))),stderr:s(o(!0,n.isatty(2)))}}}),require_node=__commonJS({"node_modules/debug/src/node.js":function(e,t){var r=require$$1$3,n=require$$2$1;e.init=function(t){t.inspectOpts={};for(var r=Object.keys(e.inspectOpts),n=0;n<r.length;n++)t.inspectOpts[r[n]]=e.inspectOpts[r[n]]},e.log=function(){for(var e=arguments.length,t=new Array(e),r=0;r<e;r++)t[r]=arguments[r];var i;return browser$1$1.stderr.write((i=n).format.apply(i,_to_consumable_array(t))+"\n")},e.formatArgs=function(r){var n=this.namespace;if(this.useColors){var i=this.color,a="[3"+(i<8?i:"8;5;"+i),s=" ".concat(a,";1m").concat(n," [0m");r[0]=s+r[0].split("\n").join("\n"+s),r.push(a+"m+"+t.exports.humanize(this.diff)+"[0m")}else r[0]=function(){if(e.inspectOpts.hideDate)return"";return(new Date).toISOString()+" "}()+n+" "+r[0]},e.save=function(e){e?browser$1$1.env.DEBUG=e:delete browser$1$1.env.DEBUG},e.load=function(){return browser$1$1.env.DEBUG},e.useColors=function(){return"colors"in e.inspectOpts?Boolean(e.inspectOpts.colors):r.isatty(browser$1$1.stderr.fd)},e.destroy=n.deprecate((function(){}),"Instance method `debug.destroy()` is deprecated and no longer does anything. It will be removed in the next major version of `debug`."),e.colors=[6,2,3,4,5,1];try{var i=require_supports_color();i&&(i.stderr||i).level>=2&&(e.colors=[20,21,26,27,32,33,38,39,40,41,42,43,44,45,56,57,62,63,68,69,74,75,76,77,78,79,80,81,92,93,98,99,112,113,128,129,134,135,148,149,160,161,162,163,164,165,166,167,168,169,170,171,172,173,178,179,184,185,196,197,198,199,200,201,202,203,204,205,206,207,208,209,214,215,220,221])}catch(e){}e.inspectOpts=Object.keys({}).filter((function(e){return/^debug_/i.test(e)})).reduce((function(e,t){var r=t.substring(6).toLowerCase().replace(/_([a-z])/g,(function(e,t){return t.toUpperCase()})),n={}[t];return n=!!/^(yes|on|true|enabled)$/i.test(n)||!/^(no|off|false|disabled)$/i.test(n)&&("null"===n?null:Number(n)),e[r]=n,e}),{}),t.exports=require_common()(e);var a=t.exports.formatters;a.o=function(e){return this.inspectOpts.colors=this.useColors,n.inspect(e,this.inspectOpts).split("\n").map((function(e){return e.trim()})).join(" ")},a.O=function(e){return this.inspectOpts.colors=this.useColors,n.inspect(e,this.inspectOpts)}}}),require_src=__commonJS({"node_modules/debug/src/index.js":function(e,t){void 0===browser$1$1||"renderer"===browser$1$1.type||!0===browser$1$1.browser||browser$1$1.__nwjs?t.exports=require_browser():t.exports=require_node()}}),require_globals=__commonJS({"node_modules/@babel/traverse/node_modules/globals/globals.json":function(e,t){t.exports={builtin:{AggregateError:!1,Array:!1,ArrayBuffer:!1,Atomics:!1,BigInt:!1,BigInt64Array:!1,BigUint64Array:!1,Boolean:!1,constructor:!1,DataView:!1,Date:!1,decodeURI:!1,decodeURIComponent:!1,encodeURI:!1,encodeURIComponent:!1,Error:!1,escape:!1,eval:!1,EvalError:!1,FinalizationRegistry:!1,Float32Array:!1,Float64Array:!1,Function:!1,globalThis:!1,hasOwnProperty:!1,Infinity:!1,Int16Array:!1,Int32Array:!1,Int8Array:!1,isFinite:!1,isNaN:!1,isPrototypeOf:!1,JSON:!1,Map:!1,Math:!1,NaN:!1,Number:!1,Object:!1,parseFloat:!1,parseInt:!1,Promise:!1,propertyIsEnumerable:!1,Proxy:!1,RangeError:!1,ReferenceError:!1,Reflect:!1,RegExp:!1,Set:!1,SharedArrayBuffer:!1,String:!1,Symbol:!1,SyntaxError:!1,toLocaleString:!1,toString:!1,TypeError:!1,Uint16Array:!1,Uint32Array:!1,Uint8Array:!1,Uint8ClampedArray:!1,undefined:!1,unescape:!1,URIError:!1,valueOf:!1,WeakMap:!1,WeakRef:!1,WeakSet:!1},es5:{Array:!1,Boolean:!1,constructor:!1,Date:!1,decodeURI:!1,decodeURIComponent:!1,encodeURI:!1,encodeURIComponent:!1,Error:!1,escape:!1,eval:!1,EvalError:!1,Function:!1,hasOwnProperty:!1,Infinity:!1,isFinite:!1,isNaN:!1,isPrototypeOf:!1,JSON:!1,Math:!1,NaN:!1,Number:!1,Object:!1,parseFloat:!1,parseInt:!1,propertyIsEnumerable:!1,RangeError:!1,ReferenceError:!1,RegExp:!1,String:!1,SyntaxError:!1,toLocaleString:!1,toString:!1,TypeError:!1,undefined:!1,unescape:!1,URIError:!1,valueOf:!1},es2015:{Array:!1,ArrayBuffer:!1,Boolean:!1,constructor:!1,DataView:!1,Date:!1,decodeURI:!1,decodeURIComponent:!1,encodeURI:!1,encodeURIComponent:!1,Error:!1,escape:!1,eval:!1,EvalError:!1,Float32Array:!1,Float64Array:!1,Function:!1,hasOwnProperty:!1,Infinity:!1,Int16Array:!1,Int32Array:!1,Int8Array:!1,isFinite:!1,isNaN:!1,isPrototypeOf:!1,JSON:!1,Map:!1,Math:!1,NaN:!1,Number:!1,Object:!1,parseFloat:!1,parseInt:!1,Promise:!1,propertyIsEnumerable:!1,Proxy:!1,RangeError:!1,ReferenceError:!1,Reflect:!1,RegExp:!1,Set:!1,String:!1,Symbol:!1,SyntaxError:!1,toLocaleString:!1,toString:!1,TypeError:!1,Uint16Array:!1,Uint32Array:!1,Uint8Array:!1,Uint8ClampedArray:!1,undefined:!1,unescape:!1,URIError:!1,valueOf:!1,WeakMap:!1,WeakSet:!1},es2017:{Array:!1,ArrayBuffer:!1,Atomics:!1,Boolean:!1,constructor:!1,DataView:!1,Date:!1,decodeURI:!1,decodeURIComponent:!1,encodeURI:!1,encodeURIComponent:!1,Error:!1,escape:!1,eval:!1,EvalError:!1,Float32Array:!1,Float64Array:!1,Function:!1,hasOwnProperty:!1,Infinity:!1,Int16Array:!1,Int32Array:!1,Int8Array:!1,isFinite:!1,isNaN:!1,isPrototypeOf:!1,JSON:!1,Map:!1,Math:!1,NaN:!1,Number:!1,Object:!1,parseFloat:!1,parseInt:!1,Promise:!1,propertyIsEnumerable:!1,Proxy:!1,RangeError:!1,ReferenceError:!1,Reflect:!1,RegExp:!1,Set:!1,SharedArrayBuffer:!1,String:!1,Symbol:!1,SyntaxError:!1,toLocaleString:!1,toString:!1,TypeError:!1,Uint16Array:!1,Uint32Array:!1,Uint8Array:!1,Uint8ClampedArray:!1,undefined:!1,unescape:!1,URIError:!1,valueOf:!1,WeakMap:!1,WeakSet:!1},es2020:{Array:!1,ArrayBuffer:!1,Atomics:!1,BigInt:!1,BigInt64Array:!1,BigUint64Array:!1,Boolean:!1,constructor:!1,DataView:!1,Date:!1,decodeURI:!1,decodeURIComponent:!1,encodeURI:!1,encodeURIComponent:!1,Error:!1,escape:!1,eval:!1,EvalError:!1,Float32Array:!1,Float64Array:!1,Function:!1,globalThis:!1,hasOwnProperty:!1,Infinity:!1,Int16Array:!1,Int32Array:!1,Int8Array:!1,isFinite:!1,isNaN:!1,isPrototypeOf:!1,JSON:!1,Map:!1,Math:!1,NaN:!1,Number:!1,Object:!1,parseFloat:!1,parseInt:!1,Promise:!1,propertyIsEnumerable:!1,Proxy:!1,RangeError:!1,ReferenceError:!1,Reflect:!1,RegExp:!1,Set:!1,SharedArrayBuffer:!1,String:!1,Symbol:!1,SyntaxError:!1,toLocaleString:!1,toString:!1,TypeError:!1,Uint16Array:!1,Uint32Array:!1,Uint8Array:!1,Uint8ClampedArray:!1,undefined:!1,unescape:!1,URIError:!1,valueOf:!1,WeakMap:!1,WeakSet:!1},es2021:{AggregateError:!1,Array:!1,ArrayBuffer:!1,Atomics:!1,BigInt:!1,BigInt64Array:!1,BigUint64Array:!1,Boolean:!1,constructor:!1,DataView:!1,Date:!1,decodeURI:!1,decodeURIComponent:!1,encodeURI:!1,encodeURIComponent:!1,Error:!1,escape:!1,eval:!1,EvalError:!1,FinalizationRegistry:!1,Float32Array:!1,Float64Array:!1,Function:!1,globalThis:!1,hasOwnProperty:!1,Infinity:!1,Int16Array:!1,Int32Array:!1,Int8Array:!1,isFinite:!1,isNaN:!1,isPrototypeOf:!1,JSON:!1,Map:!1,Math:!1,NaN:!1,Number:!1,Object:!1,parseFloat:!1,parseInt:!1,Promise:!1,propertyIsEnumerable:!1,Proxy:!1,RangeError:!1,ReferenceError:!1,Reflect:!1,RegExp:!1,Set:!1,SharedArrayBuffer:!1,String:!1,Symbol:!1,SyntaxError:!1,toLocaleString:!1,toString:!1,TypeError:!1,Uint16Array:!1,Uint32Array:!1,Uint8Array:!1,Uint8ClampedArray:!1,undefined:!1,unescape:!1,URIError:!1,valueOf:!1,WeakMap:!1,WeakRef:!1,WeakSet:!1},browser:{AbortController:!1,AbortSignal:!1,addEventListener:!1,alert:!1,AnalyserNode:!1,Animation:!1,AnimationEffectReadOnly:!1,AnimationEffectTiming:!1,AnimationEffectTimingReadOnly:!1,AnimationEvent:!1,AnimationPlaybackEvent:!1,AnimationTimeline:!1,applicationCache:!1,ApplicationCache:!1,ApplicationCacheErrorEvent:!1,atob:!1,Attr:!1,Audio:!1,AudioBuffer:!1,AudioBufferSourceNode:!1,AudioContext:!1,AudioDestinationNode:!1,AudioListener:!1,AudioNode:!1,AudioParam:!1,AudioProcessingEvent:!1,AudioScheduledSourceNode:!1,AudioWorkletGlobalScope:!1,AudioWorkletNode:!1,AudioWorkletProcessor:!1,BarProp:!1,BaseAudioContext:!1,BatteryManager:!1,BeforeUnloadEvent:!1,BiquadFilterNode:!1,Blob:!1,BlobEvent:!1,blur:!1,BroadcastChannel:!1,btoa:!1,BudgetService:!1,ByteLengthQueuingStrategy:!1,Cache:!1,caches:!1,CacheStorage:!1,cancelAnimationFrame:!1,cancelIdleCallback:!1,CanvasCaptureMediaStreamTrack:!1,CanvasGradient:!1,CanvasPattern:!1,CanvasRenderingContext2D:!1,ChannelMergerNode:!1,ChannelSplitterNode:!1,CharacterData:!1,clearInterval:!1,clearTimeout:!1,clientInformation:!1,ClipboardEvent:!1,ClipboardItem:!1,close:!1,closed:!1,CloseEvent:!1,Comment:!1,CompositionEvent:!1,CompressionStream:!1,confirm:!1,console:!1,ConstantSourceNode:!1,ConvolverNode:!1,CountQueuingStrategy:!1,createImageBitmap:!1,Credential:!1,CredentialsContainer:!1,crypto:!1,Crypto:!1,CryptoKey:!1,CSS:!1,CSSConditionRule:!1,CSSFontFaceRule:!1,CSSGroupingRule:!1,CSSImportRule:!1,CSSKeyframeRule:!1,CSSKeyframesRule:!1,CSSMatrixComponent:!1,CSSMediaRule:!1,CSSNamespaceRule:!1,CSSPageRule:!1,CSSPerspective:!1,CSSRotate:!1,CSSRule:!1,CSSRuleList:!1,CSSScale:!1,CSSSkew:!1,CSSSkewX:!1,CSSSkewY:!1,CSSStyleDeclaration:!1,CSSStyleRule:!1,CSSStyleSheet:!1,CSSSupportsRule:!1,CSSTransformValue:!1,CSSTranslate:!1,CustomElementRegistry:!1,customElements:!1,CustomEvent:!1,DataTransfer:!1,DataTransferItem:!1,DataTransferItemList:!1,DecompressionStream:!1,defaultstatus:!1,defaultStatus:!1,DelayNode:!1,DeviceMotionEvent:!1,DeviceOrientationEvent:!1,devicePixelRatio:!1,dispatchEvent:!1,document:!1,Document:!1,DocumentFragment:!1,DocumentType:!1,DOMError:!1,DOMException:!1,DOMImplementation:!1,DOMMatrix:!1,DOMMatrixReadOnly:!1,DOMParser:!1,DOMPoint:!1,DOMPointReadOnly:!1,DOMQuad:!1,DOMRect:!1,DOMRectList:!1,DOMRectReadOnly:!1,DOMStringList:!1,DOMStringMap:!1,DOMTokenList:!1,DragEvent:!1,DynamicsCompressorNode:!1,Element:!1,ErrorEvent:!1,event:!1,Event:!1,EventSource:!1,EventTarget:!1,external:!1,fetch:!1,File:!1,FileList:!1,FileReader:!1,find:!1,focus:!1,FocusEvent:!1,FontFace:!1,FontFaceSetLoadEvent:!1,FormData:!1,FormDataEvent:!1,frameElement:!1,frames:!1,GainNode:!1,Gamepad:!1,GamepadButton:!1,GamepadEvent:!1,getComputedStyle:!1,getSelection:!1,HashChangeEvent:!1,Headers:!1,history:!1,History:!1,HTMLAllCollection:!1,HTMLAnchorElement:!1,HTMLAreaElement:!1,HTMLAudioElement:!1,HTMLBaseElement:!1,HTMLBodyElement:!1,HTMLBRElement:!1,HTMLButtonElement:!1,HTMLCanvasElement:!1,HTMLCollection:!1,HTMLContentElement:!1,HTMLDataElement:!1,HTMLDataListElement:!1,HTMLDetailsElement:!1,HTMLDialogElement:!1,HTMLDirectoryElement:!1,HTMLDivElement:!1,HTMLDListElement:!1,HTMLDocument:!1,HTMLElement:!1,HTMLEmbedElement:!1,HTMLFieldSetElement:!1,HTMLFontElement:!1,HTMLFormControlsCollection:!1,HTMLFormElement:!1,HTMLFrameElement:!1,HTMLFrameSetElement:!1,HTMLHeadElement:!1,HTMLHeadingElement:!1,HTMLHRElement:!1,HTMLHtmlElement:!1,HTMLIFrameElement:!1,HTMLImageElement:!1,HTMLInputElement:!1,HTMLLabelElement:!1,HTMLLegendElement:!1,HTMLLIElement:!1,HTMLLinkElement:!1,HTMLMapElement:!1,HTMLMarqueeElement:!1,HTMLMediaElement:!1,HTMLMenuElement:!1,HTMLMetaElement:!1,HTMLMeterElement:!1,HTMLModElement:!1,HTMLObjectElement:!1,HTMLOListElement:!1,HTMLOptGroupElement:!1,HTMLOptionElement:!1,HTMLOptionsCollection:!1,HTMLOutputElement:!1,HTMLParagraphElement:!1,HTMLParamElement:!1,HTMLPictureElement:!1,HTMLPreElement:!1,HTMLProgressElement:!1,HTMLQuoteElement:!1,HTMLScriptElement:!1,HTMLSelectElement:!1,HTMLShadowElement:!1,HTMLSlotElement:!1,HTMLSourceElement:!1,HTMLSpanElement:!1,HTMLStyleElement:!1,HTMLTableCaptionElement:!1,HTMLTableCellElement:!1,HTMLTableColElement:!1,HTMLTableElement:!1,HTMLTableRowElement:!1,HTMLTableSectionElement:!1,HTMLTemplateElement:!1,HTMLTextAreaElement:!1,HTMLTimeElement:!1,HTMLTitleElement:!1,HTMLTrackElement:!1,HTMLUListElement:!1,HTMLUnknownElement:!1,HTMLVideoElement:!1,IDBCursor:!1,IDBCursorWithValue:!1,IDBDatabase:!1,IDBFactory:!1,IDBIndex:!1,IDBKeyRange:!1,IDBObjectStore:!1,IDBOpenDBRequest:!1,IDBRequest:!1,IDBTransaction:!1,IDBVersionChangeEvent:!1,IdleDeadline:!1,IIRFilterNode:!1,Image:!1,ImageBitmap:!1,ImageBitmapRenderingContext:!1,ImageCapture:!1,ImageData:!1,indexedDB:!1,innerHeight:!1,innerWidth:!1,InputEvent:!1,IntersectionObserver:!1,IntersectionObserverEntry:!1,Intl:!1,isSecureContext:!1,KeyboardEvent:!1,KeyframeEffect:!1,KeyframeEffectReadOnly:!1,length:!1,localStorage:!1,location:!0,Location:!1,locationbar:!1,matchMedia:!1,MediaDeviceInfo:!1,MediaDevices:!1,MediaElementAudioSourceNode:!1,MediaEncryptedEvent:!1,MediaError:!1,MediaKeyMessageEvent:!1,MediaKeySession:!1,MediaKeyStatusMap:!1,MediaKeySystemAccess:!1,MediaList:!1,MediaMetadata:!1,MediaQueryList:!1,MediaQueryListEvent:!1,MediaRecorder:!1,MediaSettingsRange:!1,MediaSource:!1,MediaStream:!1,MediaStreamAudioDestinationNode:!1,MediaStreamAudioSourceNode:!1,MediaStreamConstraints:!1,MediaStreamEvent:!1,MediaStreamTrack:!1,MediaStreamTrackEvent:!1,menubar:!1,MessageChannel:!1,MessageEvent:!1,MessagePort:!1,MIDIAccess:!1,MIDIConnectionEvent:!1,MIDIInput:!1,MIDIInputMap:!1,MIDIMessageEvent:!1,MIDIOutput:!1,MIDIOutputMap:!1,MIDIPort:!1,MimeType:!1,MimeTypeArray:!1,MouseEvent:!1,moveBy:!1,moveTo:!1,MutationEvent:!1,MutationObserver:!1,MutationRecord:!1,name:!1,NamedNodeMap:!1,NavigationPreloadManager:!1,navigator:!1,Navigator:!1,NavigatorUAData:!1,NetworkInformation:!1,Node:!1,NodeFilter:!1,NodeIterator:!1,NodeList:!1,Notification:!1,OfflineAudioCompletionEvent:!1,OfflineAudioContext:!1,offscreenBuffering:!1,OffscreenCanvas:!0,OffscreenCanvasRenderingContext2D:!1,onabort:!0,onafterprint:!0,onanimationend:!0,onanimationiteration:!0,onanimationstart:!0,onappinstalled:!0,onauxclick:!0,onbeforeinstallprompt:!0,onbeforeprint:!0,onbeforeunload:!0,onblur:!0,oncancel:!0,oncanplay:!0,oncanplaythrough:!0,onchange:!0,onclick:!0,onclose:!0,oncontextmenu:!0,oncuechange:!0,ondblclick:!0,ondevicemotion:!0,ondeviceorientation:!0,ondeviceorientationabsolute:!0,ondrag:!0,ondragend:!0,ondragenter:!0,ondragleave:!0,ondragover:!0,ondragstart:!0,ondrop:!0,ondurationchange:!0,onemptied:!0,onended:!0,onerror:!0,onfocus:!0,ongotpointercapture:!0,onhashchange:!0,oninput:!0,oninvalid:!0,onkeydown:!0,onkeypress:!0,onkeyup:!0,onlanguagechange:!0,onload:!0,onloadeddata:!0,onloadedmetadata:!0,onloadstart:!0,onlostpointercapture:!0,onmessage:!0,onmessageerror:!0,onmousedown:!0,onmouseenter:!0,onmouseleave:!0,onmousemove:!0,onmouseout:!0,onmouseover:!0,onmouseup:!0,onmousewheel:!0,onoffline:!0,ononline:!0,onpagehide:!0,onpageshow:!0,onpause:!0,onplay:!0,onplaying:!0,onpointercancel:!0,onpointerdown:!0,onpointerenter:!0,onpointerleave:!0,onpointermove:!0,onpointerout:!0,onpointerover:!0,onpointerup:!0,onpopstate:!0,onprogress:!0,onratechange:!0,onrejectionhandled:!0,onreset:!0,onresize:!0,onscroll:!0,onsearch:!0,onseeked:!0,onseeking:!0,onselect:!0,onstalled:!0,onstorage:!0,onsubmit:!0,onsuspend:!0,ontimeupdate:!0,ontoggle:!0,ontransitionend:!0,onunhandledrejection:!0,onunload:!0,onvolumechange:!0,onwaiting:!0,onwheel:!0,open:!1,openDatabase:!1,opener:!1,Option:!1,origin:!1,OscillatorNode:!1,outerHeight:!1,outerWidth:!1,OverconstrainedError:!1,PageTransitionEvent:!1,pageXOffset:!1,pageYOffset:!1,PannerNode:!1,parent:!1,Path2D:!1,PaymentAddress:!1,PaymentRequest:!1,PaymentRequestUpdateEvent:!1,PaymentResponse:!1,performance:!1,Performance:!1,PerformanceEntry:!1,PerformanceLongTaskTiming:!1,PerformanceMark:!1,PerformanceMeasure:!1,PerformanceNavigation:!1,PerformanceNavigationTiming:!1,PerformanceObserver:!1,PerformanceObserverEntryList:!1,PerformancePaintTiming:!1,PerformanceResourceTiming:!1,PerformanceTiming:!1,PeriodicWave:!1,Permissions:!1,PermissionStatus:!1,personalbar:!1,PhotoCapabilities:!1,Plugin:!1,PluginArray:!1,PointerEvent:!1,PopStateEvent:!1,postMessage:!1,Presentation:!1,PresentationAvailability:!1,PresentationConnection:!1,PresentationConnectionAvailableEvent:!1,PresentationConnectionCloseEvent:!1,PresentationConnectionList:!1,PresentationReceiver:!1,PresentationRequest:!1,print:!1,ProcessingInstruction:!1,ProgressEvent:!1,PromiseRejectionEvent:!1,prompt:!1,PushManager:!1,PushSubscription:!1,PushSubscriptionOptions:!1,queueMicrotask:!1,RadioNodeList:!1,Range:!1,ReadableByteStreamController:!1,ReadableStream:!1,ReadableStreamBYOBReader:!1,ReadableStreamBYOBRequest:!1,ReadableStreamDefaultController:!1,ReadableStreamDefaultReader:!1,registerProcessor:!1,RemotePlayback:!1,removeEventListener:!1,reportError:!1,Request:!1,requestAnimationFrame:!1,requestIdleCallback:!1,resizeBy:!1,ResizeObserver:!1,ResizeObserverEntry:!1,resizeTo:!1,Response:!1,RTCCertificate:!1,RTCDataChannel:!1,RTCDataChannelEvent:!1,RTCDtlsTransport:!1,RTCIceCandidate:!1,RTCIceGatherer:!1,RTCIceTransport:!1,RTCPeerConnection:!1,RTCPeerConnectionIceEvent:!1,RTCRtpContributingSource:!1,RTCRtpReceiver:!1,RTCRtpSender:!1,RTCSctpTransport:!1,RTCSessionDescription:!1,RTCStatsReport:!1,RTCTrackEvent:!1,screen:!1,Screen:!1,screenLeft:!1,ScreenOrientation:!1,screenTop:!1,screenX:!1,screenY:!1,ScriptProcessorNode:!1,scroll:!1,scrollbars:!1,scrollBy:!1,scrollTo:!1,scrollX:!1,scrollY:!1,SecurityPolicyViolationEvent:!1,Selection:!1,self:!1,ServiceWorker:!1,ServiceWorkerContainer:!1,ServiceWorkerRegistration:!1,sessionStorage:!1,setInterval:!1,setTimeout:!1,ShadowRoot:!1,SharedWorker:!1,SourceBuffer:!1,SourceBufferList:!1,speechSynthesis:!1,SpeechSynthesisEvent:!1,SpeechSynthesisUtterance:!1,StaticRange:!1,status:!1,statusbar:!1,StereoPannerNode:!1,stop:!1,Storage:!1,StorageEvent:!1,StorageManager:!1,structuredClone:!1,styleMedia:!1,StyleSheet:!1,StyleSheetList:!1,SubmitEvent:!1,SubtleCrypto:!1,SVGAElement:!1,SVGAngle:!1,SVGAnimatedAngle:!1,SVGAnimatedBoolean:!1,SVGAnimatedEnumeration:!1,SVGAnimatedInteger:!1,SVGAnimatedLength:!1,SVGAnimatedLengthList:!1,SVGAnimatedNumber:!1,SVGAnimatedNumberList:!1,SVGAnimatedPreserveAspectRatio:!1,SVGAnimatedRect:!1,SVGAnimatedString:!1,SVGAnimatedTransformList:!1,SVGAnimateElement:!1,SVGAnimateMotionElement:!1,SVGAnimateTransformElement:!1,SVGAnimationElement:!1,SVGCircleElement:!1,SVGClipPathElement:!1,SVGComponentTransferFunctionElement:!1,SVGDefsElement:!1,SVGDescElement:!1,SVGDiscardElement:!1,SVGElement:!1,SVGEllipseElement:!1,SVGFEBlendElement:!1,SVGFEColorMatrixElement:!1,SVGFEComponentTransferElement:!1,SVGFECompositeElement:!1,SVGFEConvolveMatrixElement:!1,SVGFEDiffuseLightingElement:!1,SVGFEDisplacementMapElement:!1,SVGFEDistantLightElement:!1,SVGFEDropShadowElement:!1,SVGFEFloodElement:!1,SVGFEFuncAElement:!1,SVGFEFuncBElement:!1,SVGFEFuncGElement:!1,SVGFEFuncRElement:!1,SVGFEGaussianBlurElement:!1,SVGFEImageElement:!1,SVGFEMergeElement:!1,SVGFEMergeNodeElement:!1,SVGFEMorphologyElement:!1,SVGFEOffsetElement:!1,SVGFEPointLightElement:!1,SVGFESpecularLightingElement:!1,SVGFESpotLightElement:!1,SVGFETileElement:!1,SVGFETurbulenceElement:!1,SVGFilterElement:!1,SVGForeignObjectElement:!1,SVGGElement:!1,SVGGeometryElement:!1,SVGGradientElement:!1,SVGGraphicsElement:!1,SVGImageElement:!1,SVGLength:!1,SVGLengthList:!1,SVGLinearGradientElement:!1,SVGLineElement:!1,SVGMarkerElement:!1,SVGMaskElement:!1,SVGMatrix:!1,SVGMetadataElement:!1,SVGMPathElement:!1,SVGNumber:!1,SVGNumberList:!1,SVGPathElement:!1,SVGPatternElement:!1,SVGPoint:!1,SVGPointList:!1,SVGPolygonElement:!1,SVGPolylineElement:!1,SVGPreserveAspectRatio:!1,SVGRadialGradientElement:!1,SVGRect:!1,SVGRectElement:!1,SVGScriptElement:!1,SVGSetElement:!1,SVGStopElement:!1,SVGStringList:!1,SVGStyleElement:!1,SVGSVGElement:!1,SVGSwitchElement:!1,SVGSymbolElement:!1,SVGTextContentElement:!1,SVGTextElement:!1,SVGTextPathElement:!1,SVGTextPositioningElement:!1,SVGTitleElement:!1,SVGTransform:!1,SVGTransformList:!1,SVGTSpanElement:!1,SVGUnitTypes:!1,SVGUseElement:!1,SVGViewElement:!1,TaskAttributionTiming:!1,Text:!1,TextDecoder:!1,TextDecoderStream:!1,TextEncoder:!1,TextEncoderStream:!1,TextEvent:!1,TextMetrics:!1,TextTrack:!1,TextTrackCue:!1,TextTrackCueList:!1,TextTrackList:!1,TimeRanges:!1,ToggleEvent:!1,toolbar:!1,top:!1,Touch:!1,TouchEvent:!1,TouchList:!1,TrackEvent:!1,TransformStream:!1,TransformStreamDefaultController:!1,TransitionEvent:!1,TreeWalker:!1,UIEvent:!1,URL:!1,URLSearchParams:!1,ValidityState:!1,visualViewport:!1,VisualViewport:!1,VTTCue:!1,WaveShaperNode:!1,WebAssembly:!1,WebGL2RenderingContext:!1,WebGLActiveInfo:!1,WebGLBuffer:!1,WebGLContextEvent:!1,WebGLFramebuffer:!1,WebGLProgram:!1,WebGLQuery:!1,WebGLRenderbuffer:!1,WebGLRenderingContext:!1,WebGLSampler:!1,WebGLShader:!1,WebGLShaderPrecisionFormat:!1,WebGLSync:!1,WebGLTexture:!1,WebGLTransformFeedback:!1,WebGLUniformLocation:!1,WebGLVertexArrayObject:!1,WebSocket:!1,WheelEvent:!1,window:!1,Window:!1,Worker:!1,WritableStream:!1,WritableStreamDefaultController:!1,WritableStreamDefaultWriter:!1,XMLDocument:!1,XMLHttpRequest:!1,XMLHttpRequestEventTarget:!1,XMLHttpRequestUpload:!1,XMLSerializer:!1,XPathEvaluator:!1,XPathExpression:!1,XPathResult:!1,XRAnchor:!1,XRBoundedReferenceSpace:!1,XRCPUDepthInformation:!1,XRDepthInformation:!1,XRFrame:!1,XRInputSource:!1,XRInputSourceArray:!1,XRInputSourceEvent:!1,XRInputSourcesChangeEvent:!1,XRPose:!1,XRReferenceSpace:!1,XRReferenceSpaceEvent:!1,XRRenderState:!1,XRRigidTransform:!1,XRSession:!1,XRSessionEvent:!1,XRSpace:!1,XRSystem:!1,XRView:!1,XRViewerPose:!1,XRViewport:!1,XRWebGLBinding:!1,XRWebGLDepthInformation:!1,XRWebGLLayer:!1,XSLTProcessor:!1},worker:{addEventListener:!1,applicationCache:!1,atob:!1,Blob:!1,BroadcastChannel:!1,btoa:!1,ByteLengthQueuingStrategy:!1,Cache:!1,caches:!1,clearInterval:!1,clearTimeout:!1,close:!0,CompressionStream:!1,console:!1,CountQueuingStrategy:!1,crypto:!1,Crypto:!1,CryptoKey:!1,CustomEvent:!1,DecompressionStream:!1,ErrorEvent:!1,Event:!1,fetch:!1,File:!1,FileReaderSync:!1,FormData:!1,Headers:!1,IDBCursor:!1,IDBCursorWithValue:!1,IDBDatabase:!1,IDBFactory:!1,IDBIndex:!1,IDBKeyRange:!1,IDBObjectStore:!1,IDBOpenDBRequest:!1,IDBRequest:!1,IDBTransaction:!1,IDBVersionChangeEvent:!1,ImageData:!1,importScripts:!0,indexedDB:!1,location:!1,MessageChannel:!1,MessageEvent:!1,MessagePort:!1,name:!1,navigator:!1,Notification:!1,onclose:!0,onconnect:!0,onerror:!0,onlanguagechange:!0,onmessage:!0,onoffline:!0,ononline:!0,onrejectionhandled:!0,onunhandledrejection:!0,performance:!1,Performance:!1,PerformanceEntry:!1,PerformanceMark:!1,PerformanceMeasure:!1,PerformanceNavigation:!1,PerformanceObserver:!1,PerformanceObserverEntryList:!1,PerformanceResourceTiming:!1,PerformanceTiming:!1,postMessage:!0,Promise:!1,queueMicrotask:!1,ReadableByteStreamController:!1,ReadableStream:!1,ReadableStreamBYOBReader:!1,ReadableStreamBYOBRequest:!1,ReadableStreamDefaultController:!1,ReadableStreamDefaultReader:!1,removeEventListener:!1,reportError:!1,Request:!1,Response:!1,self:!0,ServiceWorkerRegistration:!1,setInterval:!1,setTimeout:!1,SubtleCrypto:!1,TextDecoder:!1,TextDecoderStream:!1,TextEncoder:!1,TextEncoderStream:!1,TransformStream:!1,TransformStreamDefaultController:!1,URL:!1,URLSearchParams:!1,WebAssembly:!1,WebSocket:!1,Worker:!1,WorkerGlobalScope:!1,WritableStream:!1,WritableStreamDefaultController:!1,WritableStreamDefaultWriter:!1,XMLHttpRequest:!1},node:{__dirname:!1,__filename:!1,AbortController:!1,AbortSignal:!1,atob:!1,Blob:!1,BroadcastChannel:!1,btoa:!1,Buffer:!1,ByteLengthQueuingStrategy:!1,clearImmediate:!1,clearInterval:!1,clearTimeout:!1,CompressionStream:!1,console:!1,CountQueuingStrategy:!1,crypto:!1,Crypto:!1,CryptoKey:!1,CustomEvent:!1,DecompressionStream:!1,DOMException:!1,Event:!1,EventTarget:!1,exports:!0,fetch:!1,File:!1,FormData:!1,global:!1,Headers:!1,Intl:!1,MessageChannel:!1,MessageEvent:!1,MessagePort:!1,module:!1,performance:!1,PerformanceEntry:!1,PerformanceMark:!1,PerformanceMeasure:!1,PerformanceObserver:!1,PerformanceObserverEntryList:!1,PerformanceResourceTiming:!1,process:!1,queueMicrotask:!1,ReadableByteStreamController:!1,ReadableStream:!1,ReadableStreamBYOBReader:!1,ReadableStreamBYOBRequest:!1,ReadableStreamDefaultController:!1,ReadableStreamDefaultReader:!1,Request:!1,require:!1,Response:!1,setImmediate:!1,setInterval:!1,setTimeout:!1,structuredClone:!1,SubtleCrypto:!1,TextDecoder:!1,TextDecoderStream:!1,TextEncoder:!1,TextEncoderStream:!1,TransformStream:!1,TransformStreamDefaultController:!1,URL:!1,URLSearchParams:!1,WebAssembly:!1,WritableStream:!1,WritableStreamDefaultController:!1,WritableStreamDefaultWriter:!1},nodeBuiltin:{AbortController:!1,AbortSignal:!1,atob:!1,Blob:!1,BroadcastChannel:!1,btoa:!1,Buffer:!1,ByteLengthQueuingStrategy:!1,clearImmediate:!1,clearInterval:!1,clearTimeout:!1,CompressionStream:!1,console:!1,CountQueuingStrategy:!1,crypto:!1,Crypto:!1,CryptoKey:!1,CustomEvent:!1,DecompressionStream:!1,DOMException:!1,Event:!1,EventTarget:!1,fetch:!1,File:!1,FormData:!1,global:!1,Headers:!1,Intl:!1,MessageChannel:!1,MessageEvent:!1,MessagePort:!1,performance:!1,PerformanceEntry:!1,PerformanceMark:!1,PerformanceMeasure:!1,PerformanceObserver:!1,PerformanceObserverEntryList:!1,PerformanceResourceTiming:!1,process:!1,queueMicrotask:!1,ReadableByteStreamController:!1,ReadableStream:!1,ReadableStreamBYOBReader:!1,ReadableStreamBYOBRequest:!1,ReadableStreamDefaultController:!1,ReadableStreamDefaultReader:!1,Request:!1,Response:!1,setImmediate:!1,setInterval:!1,setTimeout:!1,structuredClone:!1,SubtleCrypto:!1,TextDecoder:!1,TextDecoderStream:!1,TextEncoder:!1,TextEncoderStream:!1,TransformStream:!1,TransformStreamDefaultController:!1,URL:!1,URLSearchParams:!1,WebAssembly:!1,WritableStream:!1,WritableStreamDefaultController:!1,WritableStreamDefaultWriter:!1},commonjs:{exports:!0,global:!1,module:!1,require:!1},amd:{define:!1,require:!1},mocha:{after:!1,afterEach:!1,before:!1,beforeEach:!1,context:!1,describe:!1,it:!1,mocha:!1,run:!1,setup:!1,specify:!1,suite:!1,suiteSetup:!1,suiteTeardown:!1,teardown:!1,test:!1,xcontext:!1,xdescribe:!1,xit:!1,xspecify:!1},jasmine:{afterAll:!1,afterEach:!1,beforeAll:!1,beforeEach:!1,describe:!1,expect:!1,expectAsync:!1,fail:!1,fdescribe:!1,fit:!1,it:!1,jasmine:!1,pending:!1,runs:!1,spyOn:!1,spyOnAllFunctions:!1,spyOnProperty:!1,waits:!1,waitsFor:!1,xdescribe:!1,xit:!1},jest:{afterAll:!1,afterEach:!1,beforeAll:!1,beforeEach:!1,describe:!1,expect:!1,fdescribe:!1,fit:!1,it:!1,jest:!1,pit:!1,require:!1,test:!1,xdescribe:!1,xit:!1,xtest:!1},qunit:{asyncTest:!1,deepEqual:!1,equal:!1,expect:!1,module:!1,notDeepEqual:!1,notEqual:!1,notOk:!1,notPropEqual:!1,notStrictEqual:!1,ok:!1,propEqual:!1,QUnit:!1,raises:!1,start:!1,stop:!1,strictEqual:!1,test:!1,throws:!1},phantomjs:{console:!0,exports:!0,phantom:!0,require:!0,WebPage:!0},couch:{emit:!1,exports:!1,getRow:!1,log:!1,module:!1,provides:!1,require:!1,respond:!1,send:!1,start:!1,sum:!1},rhino:{defineClass:!1,deserialize:!1,gc:!1,help:!1,importClass:!1,importPackage:!1,java:!1,load:!1,loadClass:!1,Packages:!1,print:!1,quit:!1,readFile:!1,readUrl:!1,runCommand:!1,seal:!1,serialize:!1,spawn:!1,sync:!1,toint32:!1,version:!1},nashorn:{__DIR__:!1,__FILE__:!1,__LINE__:!1,com:!1,edu:!1,exit:!1,java:!1,Java:!1,javafx:!1,JavaImporter:!1,javax:!1,JSAdapter:!1,load:!1,loadWithNewGlobal:!1,org:!1,Packages:!1,print:!1,quit:!1},wsh:{ActiveXObject:!1,CollectGarbage:!1,Debug:!1,Enumerator:!1,GetObject:!1,RuntimeObject:!1,ScriptEngine:!1,ScriptEngineBuildVersion:!1,ScriptEngineMajorVersion:!1,ScriptEngineMinorVersion:!1,VBArray:!1,WScript:!1,WSH:!1},jquery:{$:!1,jQuery:!1},yui:{YAHOO:!1,YAHOO_config:!1,YUI:!1,YUI_config:!1},shelljs:{cat:!1,cd:!1,chmod:!1,config:!1,cp:!1,dirs:!1,echo:!1,env:!1,error:!1,exec:!1,exit:!1,find:!1,grep:!1,ln:!1,ls:!1,mkdir:!1,mv:!1,popd:!1,pushd:!1,pwd:!1,rm:!1,sed:!1,set:!1,target:!1,tempdir:!1,test:!1,touch:!1,which:!1},prototypejs:{$:!1,$$:!1,$A:!1,$break:!1,$continue:!1,$F:!1,$H:!1,$R:!1,$w:!1,Abstract:!1,Ajax:!1,Autocompleter:!1,Builder:!1,Class:!1,Control:!1,Draggable:!1,Draggables:!1,Droppables:!1,Effect:!1,Element:!1,Enumerable:!1,Event:!1,Field:!1,Form:!1,Hash:!1,Insertion:!1,ObjectRange:!1,PeriodicalExecuter:!1,Position:!1,Prototype:!1,Scriptaculous:!1,Selector:!1,Sortable:!1,SortableObserver:!1,Sound:!1,Template:!1,Toggle:!1,Try:!1},meteor:{$:!1,Accounts:!1,AccountsClient:!1,AccountsCommon:!1,AccountsServer:!1,App:!1,Assets:!1,Blaze:!1,check:!1,Cordova:!1,DDP:!1,DDPRateLimiter:!1,DDPServer:!1,Deps:!1,EJSON:!1,Email:!1,HTTP:!1,Log:!1,Match:!1,Meteor:!1,Mongo:!1,MongoInternals:!1,Npm:!1,Package:!1,Plugin:!1,process:!1,Random:!1,ReactiveDict:!1,ReactiveVar:!1,Router:!1,ServiceConfiguration:!1,Session:!1,share:!1,Spacebars:!1,Template:!1,Tinytest:!1,Tracker:!1,UI:!1,Utils:!1,WebApp:!1,WebAppInternals:!1},mongo:{_isWindows:!1,_rand:!1,BulkWriteResult:!1,cat:!1,cd:!1,connect:!1,db:!1,getHostName:!1,getMemInfo:!1,hostname:!1,ISODate:!1,listFiles:!1,load:!1,ls:!1,md5sumFile:!1,mkdir:!1,Mongo:!1,NumberInt:!1,NumberLong:!1,ObjectId:!1,PlanCache:!1,print:!1,printjson:!1,pwd:!1,quit:!1,removeFile:!1,rs:!1,sh:!1,UUID:!1,version:!1,WriteResult:!1},applescript:{$:!1,Application:!1,Automation:!1,console:!1,delay:!1,Library:!1,ObjC:!1,ObjectSpecifier:!1,Path:!1,Progress:!1,Ref:!1},serviceworker:{addEventListener:!1,applicationCache:!1,atob:!1,Blob:!1,BroadcastChannel:!1,btoa:!1,ByteLengthQueuingStrategy:!1,Cache:!1,caches:!1,CacheStorage:!1,clearInterval:!1,clearTimeout:!1,Client:!1,clients:!1,Clients:!1,close:!0,CompressionStream:!1,console:!1,CountQueuingStrategy:!1,crypto:!1,Crypto:!1,CryptoKey:!1,CustomEvent:!1,DecompressionStream:!1,ErrorEvent:!1,Event:!1,ExtendableEvent:!1,ExtendableMessageEvent:!1,fetch:!1,FetchEvent:!1,File:!1,FileReaderSync:!1,FormData:!1,Headers:!1,IDBCursor:!1,IDBCursorWithValue:!1,IDBDatabase:!1,IDBFactory:!1,IDBIndex:!1,IDBKeyRange:!1,IDBObjectStore:!1,IDBOpenDBRequest:!1,IDBRequest:!1,IDBTransaction:!1,IDBVersionChangeEvent:!1,ImageData:!1,importScripts:!1,indexedDB:!1,location:!1,MessageChannel:!1,MessageEvent:!1,MessagePort:!1,name:!1,navigator:!1,Notification:!1,onclose:!0,onconnect:!0,onerror:!0,onfetch:!0,oninstall:!0,onlanguagechange:!0,onmessage:!0,onmessageerror:!0,onnotificationclick:!0,onnotificationclose:!0,onoffline:!0,ononline:!0,onpush:!0,onpushsubscriptionchange:!0,onrejectionhandled:!0,onsync:!0,onunhandledrejection:!0,performance:!1,Performance:!1,PerformanceEntry:!1,PerformanceMark:!1,PerformanceMeasure:!1,PerformanceNavigation:!1,PerformanceObserver:!1,PerformanceObserverEntryList:!1,PerformanceResourceTiming:!1,PerformanceTiming:!1,postMessage:!0,Promise:!1,queueMicrotask:!1,ReadableByteStreamController:!1,ReadableStream:!1,ReadableStreamBYOBReader:!1,ReadableStreamBYOBRequest:!1,ReadableStreamDefaultController:!1,ReadableStreamDefaultReader:!1,registration:!1,removeEventListener:!1,Request:!1,Response:!1,self:!1,ServiceWorker:!1,ServiceWorkerContainer:!1,ServiceWorkerGlobalScope:!1,ServiceWorkerMessageEvent:!1,ServiceWorkerRegistration:!1,setInterval:!1,setTimeout:!1,skipWaiting:!1,SubtleCrypto:!1,TextDecoder:!1,TextDecoderStream:!1,TextEncoder:!1,TextEncoderStream:!1,TransformStream:!1,TransformStreamDefaultController:!1,URL:!1,URLSearchParams:!1,WebAssembly:!1,WebSocket:!1,WindowClient:!1,Worker:!1,WorkerGlobalScope:!1,WritableStream:!1,WritableStreamDefaultController:!1,WritableStreamDefaultWriter:!1,XMLHttpRequest:!1},atomtest:{advanceClock:!1,atom:!1,fakeClearInterval:!1,fakeClearTimeout:!1,fakeSetInterval:!1,fakeSetTimeout:!1,resetTimeouts:!1,waitsForPromise:!1},embertest:{andThen:!1,click:!1,currentPath:!1,currentRouteName:!1,currentURL:!1,fillIn:!1,find:!1,findAll:!1,findWithAssert:!1,keyEvent:!1,pauseTest:!1,resumeTest:!1,triggerEvent:!1,visit:!1,wait:!1},protractor:{$:!1,$$:!1,browser:!1,by:!1,By:!1,DartObject:!1,element:!1,protractor:!1},"shared-node-browser":{AbortController:!1,AbortSignal:!1,atob:!1,Blob:!1,BroadcastChannel:!1,btoa:!1,ByteLengthQueuingStrategy:!1,clearInterval:!1,clearTimeout:!1,CompressionStream:!1,console:!1,CountQueuingStrategy:!1,crypto:!1,Crypto:!1,CryptoKey:!1,CustomEvent:!1,DecompressionStream:!1,DOMException:!1,Event:!1,EventTarget:!1,fetch:!1,File:!1,FormData:!1,Headers:!1,Intl:!1,MessageChannel:!1,MessageEvent:!1,MessagePort:!1,performance:!1,PerformanceEntry:!1,PerformanceMark:!1,PerformanceMeasure:!1,PerformanceObserver:!1,PerformanceObserverEntryList:!1,PerformanceResourceTiming:!1,queueMicrotask:!1,ReadableByteStreamController:!1,ReadableStream:!1,ReadableStreamBYOBReader:!1,ReadableStreamBYOBRequest:!1,ReadableStreamDefaultController:!1,ReadableStreamDefaultReader:!1,Request:!1,Response:!1,setInterval:!1,setTimeout:!1,structuredClone:!1,SubtleCrypto:!1,TextDecoder:!1,TextDecoderStream:!1,TextEncoder:!1,TextEncoderStream:!1,TransformStream:!1,TransformStreamDefaultController:!1,URL:!1,URLSearchParams:!1,WebAssembly:!1,WritableStream:!1,WritableStreamDefaultController:!1,WritableStreamDefaultWriter:!1},webextensions:{browser:!1,chrome:!1,opr:!1},greasemonkey:{cloneInto:!1,createObjectIn:!1,exportFunction:!1,GM:!1,GM_addElement:!1,GM_addStyle:!1,GM_addValueChangeListener:!1,GM_deleteValue:!1,GM_download:!1,GM_getResourceText:!1,GM_getResourceURL:!1,GM_getTab:!1,GM_getTabs:!1,GM_getValue:!1,GM_info:!1,GM_listValues:!1,GM_log:!1,GM_notification:!1,GM_openInTab:!1,GM_registerMenuCommand:!1,GM_removeValueChangeListener:!1,GM_saveTab:!1,GM_setClipboard:!1,GM_setValue:!1,GM_unregisterMenuCommand:!1,GM_xmlhttpRequest:!1,unsafeWindow:!1},devtools:{$:!1,$_:!1,$$:!1,$0:!1,$1:!1,$2:!1,$3:!1,$4:!1,$x:!1,chrome:!1,clear:!1,copy:!1,debug:!1,dir:!1,dirxml:!1,getEventListeners:!1,inspect:!1,keys:!1,monitor:!1,monitorEvents:!1,profile:!1,profileEnd:!1,queryObjects:!1,table:!1,undebug:!1,unmonitor:!1,unmonitorEvents:!1,values:!1}}}}),require_globals2=__commonJS({"node_modules/@babel/traverse/node_modules/globals/index.js":function(e,t){t.exports=require_globals()}}),lib_exports2={};__export(lib_exports2,{codeFrameColumns:function(){return codeFrameColumns$2},generate:function(){return generate$9},parse:function(){return parse$5},parseExpression:function(){return parseExpression$2},template:function(){return index},tokTypes:function(){return tokTypes},traverse:function(){return traverse3},types:function(){return lib_exports}});var bundle=__toCommonJS(lib_exports2),lib_exports={};__export(lib_exports,{ACCESSOR_TYPES:function(){return ACCESSOR_TYPES},ALIAS_KEYS:function(){return ALIAS_KEYS},ASSIGNMENT_OPERATORS:function(){return ASSIGNMENT_OPERATORS},AnyTypeAnnotation:function(){return anyTypeAnnotation},ArgumentPlaceholder:function(){return argumentPlaceholder},ArrayExpression:function(){return arrayExpression$1},ArrayPattern:function(){return arrayPattern$1},ArrayTypeAnnotation:function(){return arrayTypeAnnotation},ArrowFunctionExpression:function(){return arrowFunctionExpression$1},AssignmentExpression:function(){return assignmentExpression$1},AssignmentPattern:function(){return assignmentPattern$1},AwaitExpression:function(){return awaitExpression},BINARY_OPERATORS:function(){return BINARY_OPERATORS},BINARY_TYPES:function(){return BINARY_TYPES},BLOCKPARENT_TYPES:function(){return BLOCKPARENT_TYPES},BLOCK_SCOPED_SYMBOL:function(){return BLOCK_SCOPED_SYMBOL},BLOCK_TYPES:function(){return BLOCK_TYPES},BOOLEAN_BINARY_OPERATORS:function(){return BOOLEAN_BINARY_OPERATORS},BOOLEAN_NUMBER_BINARY_OPERATORS:function(){return BOOLEAN_NUMBER_BINARY_OPERATORS},BOOLEAN_UNARY_OPERATORS:function(){return BOOLEAN_UNARY_OPERATORS},BUILDER_KEYS:function(){return BUILDER_KEYS},BigIntLiteral:function(){return bigIntLiteral},BinaryExpression:function(){return binaryExpression$1},BindExpression:function(){return bindExpression},BlockStatement:function(){return blockStatement$1},BooleanLiteral:function(){return booleanLiteral},BooleanLiteralTypeAnnotation:function(){return booleanLiteralTypeAnnotation},BooleanTypeAnnotation:function(){return booleanTypeAnnotation},BreakStatement:function(){return breakStatement$1},CLASS_TYPES:function(){return CLASS_TYPES},COMMENT_KEYS:function(){return COMMENT_KEYS},COMPARISON_BINARY_OPERATORS:function(){return COMPARISON_BINARY_OPERATORS},COMPLETIONSTATEMENT_TYPES:function(){return COMPLETIONSTATEMENT_TYPES},CONDITIONAL_TYPES:function(){return CONDITIONAL_TYPES},CallExpression:function(){return callExpression$1},CatchClause:function(){return catchClause},ClassAccessorProperty:function(){return classAccessorProperty},ClassBody:function(){return classBody},ClassDeclaration:function(){return classDeclaration},ClassExpression:function(){return classExpression},ClassImplements:function(){return classImplements},ClassMethod:function(){return classMethod$2},ClassPrivateMethod:function(){return classPrivateMethod$1},ClassPrivateProperty:function(){return classPrivateProperty},ClassProperty:function(){return classProperty$1},ConditionalExpression:function(){return conditionalExpression$1},ContinueStatement:function(){return continueStatement},DECLARATION_TYPES:function(){return DECLARATION_TYPES},DEPRECATED_ALIASES:function(){return DEPRECATED_ALIASES},DEPRECATED_KEYS:function(){return DEPRECATED_KEYS},DebuggerStatement:function(){return debuggerStatement$1},DecimalLiteral:function(){return decimalLiteral},DeclareClass:function(){return declareClass},DeclareExportAllDeclaration:function(){return declareExportAllDeclaration},DeclareExportDeclaration:function(){return declareExportDeclaration},DeclareFunction:function(){return declareFunction},DeclareInterface:function(){return declareInterface},DeclareModule:function(){return declareModule},DeclareModuleExports:function(){return declareModuleExports},DeclareOpaqueType:function(){return declareOpaqueType},DeclareTypeAlias:function(){return declareTypeAlias},DeclareVariable:function(){return declareVariable$1},DeclaredPredicate:function(){return declaredPredicate},Decorator:function(){return decorator},Directive:function(){return directive},DirectiveLiteral:function(){return directiveLiteral},DoExpression:function(){return doExpression},DoWhileStatement:function(){return doWhileStatement$1},ENUMBODY_TYPES:function(){return ENUMBODY_TYPES},ENUMMEMBER_TYPES:function(){return ENUMMEMBER_TYPES},EQUALITY_BINARY_OPERATORS:function(){return EQUALITY_BINARY_OPERATORS},EXPORTDECLARATION_TYPES:function(){return EXPORTDECLARATION_TYPES},EXPRESSIONWRAPPER_TYPES:function(){return EXPRESSIONWRAPPER_TYPES},EXPRESSION_TYPES:function(){return EXPRESSION_TYPES},EmptyStatement:function(){return emptyStatement},EmptyTypeAnnotation:function(){return emptyTypeAnnotation},EnumBooleanBody:function(){return enumBooleanBody},EnumBooleanMember:function(){return enumBooleanMember},EnumDeclaration:function(){return enumDeclaration},EnumDefaultedMember:function(){return enumDefaultedMember},EnumNumberBody:function(){return enumNumberBody},EnumNumberMember:function(){return enumNumberMember},EnumStringBody:function(){return enumStringBody},EnumStringMember:function(){return enumStringMember},EnumSymbolBody:function(){return enumSymbolBody},ExistsTypeAnnotation:function(){return existsTypeAnnotation},ExportAllDeclaration:function(){return exportAllDeclaration$1},ExportDefaultDeclaration:function(){return exportDefaultDeclaration$1},ExportDefaultSpecifier:function(){return exportDefaultSpecifier},ExportNamedDeclaration:function(){return exportNamedDeclaration},ExportNamespaceSpecifier:function(){return exportNamespaceSpecifier},ExportSpecifier:function(){return exportSpecifier},ExpressionStatement:function(){return expressionStatement$1},FLATTENABLE_KEYS:function(){return FLATTENABLE_KEYS},FLIPPED_ALIAS_KEYS:function(){return FLIPPED_ALIAS_KEYS},FLOWBASEANNOTATION_TYPES:function(){return FLOWBASEANNOTATION_TYPES},FLOWDECLARATION_TYPES:function(){return FLOWDECLARATION_TYPES},FLOWPREDICATE_TYPES:function(){return FLOWPREDICATE_TYPES},FLOWTYPE_TYPES:function(){return FLOWTYPE_TYPES},FLOW_TYPES:function(){return FLOW_TYPES},FORXSTATEMENT_TYPES:function(){return FORXSTATEMENT_TYPES},FOR_INIT_KEYS:function(){return FOR_INIT_KEYS},FOR_TYPES:function(){return FOR_TYPES},FUNCTIONPARENT_TYPES:function(){return FUNCTIONPARENT_TYPES},FUNCTION_TYPES:function(){return FUNCTION_TYPES},File:function(){return file},ForInStatement:function(){return forInStatement$1},ForOfStatement:function(){return forOfStatement$1},ForStatement:function(){return forStatement$1},FunctionDeclaration:function(){return functionDeclaration$1},FunctionExpression:function(){return functionExpression$1},FunctionTypeAnnotation:function(){return functionTypeAnnotation},FunctionTypeParam:function(){return functionTypeParam},GenericTypeAnnotation:function(){return genericTypeAnnotation},IMMUTABLE_TYPES:function(){return IMMUTABLE_TYPES},IMPORTOREXPORTDECLARATION_TYPES:function(){return IMPORTOREXPORTDECLARATION_TYPES},INHERIT_KEYS:function(){return INHERIT_KEYS},Identifier:function(){return identifier$1},IfStatement:function(){return ifStatement$1},Import:function(){return _import$1},ImportAttribute:function(){return importAttribute$1},ImportDeclaration:function(){return importDeclaration$1},ImportDefaultSpecifier:function(){return importDefaultSpecifier},ImportExpression:function(){return importExpression$1},ImportNamespaceSpecifier:function(){return importNamespaceSpecifier},ImportSpecifier:function(){return importSpecifier},IndexedAccessType:function(){return indexedAccessType},InferredPredicate:function(){return inferredPredicate},InterfaceDeclaration:function(){return interfaceDeclaration},InterfaceExtends:function(){return interfaceExtends},InterfaceTypeAnnotation:function(){return interfaceTypeAnnotation},InterpreterDirective:function(){return interpreterDirective},IntersectionTypeAnnotation:function(){return intersectionTypeAnnotation},JSXAttribute:function(){return jsxAttribute$1},JSXClosingElement:function(){return jsxClosingElement},JSXClosingFragment:function(){return jsxClosingFragment},JSXElement:function(){return jsxElement$1},JSXEmptyExpression:function(){return jsxEmptyExpression},JSXExpressionContainer:function(){return jsxExpressionContainer},JSXFragment:function(){return jsxFragment$1},JSXIdentifier:function(){return jsxIdentifier},JSXMemberExpression:function(){return jsxMemberExpression},JSXNamespacedName:function(){return jsxNamespacedName},JSXOpeningElement:function(){return jsxOpeningElement$1},JSXOpeningFragment:function(){return jsxOpeningFragment},JSXSpreadAttribute:function(){return jsxSpreadAttribute},JSXSpreadChild:function(){return jsxSpreadChild},JSXText:function(){return jsxText$1},JSX_TYPES:function(){return JSX_TYPES},LITERAL_TYPES:function(){return LITERAL_TYPES},LOGICAL_OPERATORS:function(){return LOGICAL_OPERATORS},LOOP_TYPES:function(){return LOOP_TYPES},LVAL_TYPES:function(){return LVAL_TYPES},LabeledStatement:function(){return labeledStatement},LogicalExpression:function(){return logicalExpression},METHOD_TYPES:function(){return METHOD_TYPES},MISCELLANEOUS_TYPES:function(){return MISCELLANEOUS_TYPES},MODULEDECLARATION_TYPES:function(){return MODULEDECLARATION_TYPES},MODULESPECIFIER_TYPES:function(){return MODULESPECIFIER_TYPES},MemberExpression:function(){return memberExpression},MetaProperty:function(){return metaProperty},MixedTypeAnnotation:function(){return mixedTypeAnnotation},ModuleExpression:function(){return moduleExpression},NODE_FIELDS:function(){return NODE_FIELDS},NODE_PARENT_VALIDATIONS:function(){return NODE_PARENT_VALIDATIONS},NOT_LOCAL_BINDING:function(){return NOT_LOCAL_BINDING},NUMBER_BINARY_OPERATORS:function(){return NUMBER_BINARY_OPERATORS},NUMBER_UNARY_OPERATORS:function(){return NUMBER_UNARY_OPERATORS},NewExpression:function(){return newExpression$1},Noop:function(){return noop$3},NullLiteral:function(){return nullLiteral},NullLiteralTypeAnnotation:function(){return nullLiteralTypeAnnotation},NullableTypeAnnotation:function(){return nullableTypeAnnotation},NumberLiteral:function(){return NumberLiteral},NumberLiteralTypeAnnotation:function(){return numberLiteralTypeAnnotation},NumberTypeAnnotation:function(){return numberTypeAnnotation},NumericLiteral:function(){return numericLiteral},OBJECTMEMBER_TYPES:function(){return OBJECTMEMBER_TYPES},ObjectExpression:function(){return objectExpression$1},ObjectMethod:function(){return objectMethod$1},ObjectPattern:function(){return objectPattern$1},ObjectProperty:function(){return objectProperty$1},ObjectTypeAnnotation:function(){return objectTypeAnnotation},ObjectTypeCallProperty:function(){return objectTypeCallProperty},ObjectTypeIndexer:function(){return objectTypeIndexer},ObjectTypeInternalSlot:function(){return objectTypeInternalSlot},ObjectTypeProperty:function(){return objectTypeProperty},ObjectTypeSpreadProperty:function(){return objectTypeSpreadProperty},OpaqueType:function(){return opaqueType},OptionalCallExpression:function(){return optionalCallExpression},OptionalIndexedAccessType:function(){return optionalIndexedAccessType},OptionalMemberExpression:function(){return optionalMemberExpression},PATTERNLIKE_TYPES:function(){return PATTERNLIKE_TYPES},PATTERN_TYPES:function(){return PATTERN_TYPES},PLACEHOLDERS:function(){return PLACEHOLDERS},PLACEHOLDERS_ALIAS:function(){return PLACEHOLDERS_ALIAS},PLACEHOLDERS_FLIPPED_ALIAS:function(){return PLACEHOLDERS_FLIPPED_ALIAS},PRIVATE_TYPES:function(){return PRIVATE_TYPES},PROPERTY_TYPES:function(){return PROPERTY_TYPES},PUREISH_TYPES:function(){return PUREISH_TYPES},ParenthesizedExpression:function(){return parenthesizedExpression},PipelineBareFunction:function(){return pipelineBareFunction},PipelinePrimaryTopicReference:function(){return pipelinePrimaryTopicReference},PipelineTopicExpression:function(){return pipelineTopicExpression},Placeholder:function(){return placeholder},PrivateName:function(){return privateName},Program:function(){return program$1},QualifiedTypeIdentifier:function(){return qualifiedTypeIdentifier},RecordExpression:function(){return recordExpression$1},RegExpLiteral:function(){return regExpLiteral},RegexLiteral:function(){return RegexLiteral},RestElement:function(){return restElement$1},RestProperty:function(){return RestProperty},ReturnStatement:function(){return returnStatement$1},SCOPABLE_TYPES:function(){return SCOPABLE_TYPES},STANDARDIZED_TYPES:function(){return STANDARDIZED_TYPES},STATEMENT_OR_BLOCK_KEYS:function(){return STATEMENT_OR_BLOCK_KEYS},STATEMENT_TYPES:function(){return STATEMENT_TYPES},STRING_UNARY_OPERATORS:function(){return STRING_UNARY_OPERATORS},SequenceExpression:function(){return sequenceExpression$1},SpreadElement:function(){return spreadElement$1},SpreadProperty:function(){return SpreadProperty},StaticBlock:function(){return staticBlock$3},StringLiteral:function(){return stringLiteral},StringLiteralTypeAnnotation:function(){return stringLiteralTypeAnnotation},StringTypeAnnotation:function(){return stringTypeAnnotation},Super:function(){return _super},SwitchCase:function(){return switchCase},SwitchStatement:function(){return switchStatement$1},SymbolTypeAnnotation:function(){return symbolTypeAnnotation},TERMINATORLESS_TYPES:function(){return TERMINATORLESS_TYPES},TSAnyKeyword:function(){return tsAnyKeyword},TSArrayType:function(){return tsArrayType},TSAsExpression:function(){return tsAsExpression$1},TSBASETYPE_TYPES:function(){return TSBASETYPE_TYPES},TSBigIntKeyword:function(){return tsBigIntKeyword},TSBooleanKeyword:function(){return tsBooleanKeyword},TSCallSignatureDeclaration:function(){return tsCallSignatureDeclaration$1},TSConditionalType:function(){return tsConditionalType$1},TSConstructSignatureDeclaration:function(){return tsConstructSignatureDeclaration$1},TSConstructorType:function(){return tsConstructorType$1},TSDeclareFunction:function(){return tsDeclareFunction$1},TSDeclareMethod:function(){return tsDeclareMethod$1},TSENTITYNAME_TYPES:function(){return TSENTITYNAME_TYPES},TSEnumDeclaration:function(){return tsEnumDeclaration$1},TSEnumMember:function(){return tsEnumMember$1},TSExportAssignment:function(){return tsExportAssignment},TSExpressionWithTypeArguments:function(){return tsExpressionWithTypeArguments},TSExternalModuleReference:function(){return tsExternalModuleReference},TSFunctionType:function(){return tsFunctionType$1},TSImportEqualsDeclaration:function(){return tsImportEqualsDeclaration},TSImportType:function(){return tsImportType$1},TSIndexSignature:function(){return tsIndexSignature},TSIndexedAccessType:function(){return tsIndexedAccessType},TSInferType:function(){return tsInferType},TSInstantiationExpression:function(){return tsInstantiationExpression},TSInterfaceBody:function(){return tsInterfaceBody$1},TSInterfaceDeclaration:function(){return tsInterfaceDeclaration$1},TSIntersectionType:function(){return tsIntersectionType$1},TSIntrinsicKeyword:function(){return tsIntrinsicKeyword},TSLiteralType:function(){return tsLiteralType},TSMappedType:function(){return tsMappedType$1},TSMethodSignature:function(){return tsMethodSignature$1},TSModuleBlock:function(){return tsModuleBlock},TSModuleDeclaration:function(){return tsModuleDeclaration$1},TSNamedTupleMember:function(){return tsNamedTupleMember$1},TSNamespaceExportDeclaration:function(){return tsNamespaceExportDeclaration},TSNeverKeyword:function(){return tsNeverKeyword},TSNonNullExpression:function(){return tsNonNullExpression},TSNullKeyword:function(){return tsNullKeyword},TSNumberKeyword:function(){return tsNumberKeyword},TSObjectKeyword:function(){return tsObjectKeyword},TSOptionalType:function(){return tsOptionalType},TSParameterProperty:function(){return tsParameterProperty},TSParenthesizedType:function(){return tsParenthesizedType},TSPropertySignature:function(){return tsPropertySignature$1},TSQualifiedName:function(){return tsQualifiedName},TSRestType:function(){return tsRestType},TSSatisfiesExpression:function(){return tsSatisfiesExpression},TSStringKeyword:function(){return tsStringKeyword},TSSymbolKeyword:function(){return tsSymbolKeyword},TSTYPEELEMENT_TYPES:function(){return TSTYPEELEMENT_TYPES},TSTYPE_TYPES:function(){return TSTYPE_TYPES},TSThisType:function(){return tsThisType},TSTupleType:function(){return tsTupleType$1},TSTypeAliasDeclaration:function(){return tsTypeAliasDeclaration$1},TSTypeAnnotation:function(){return tsTypeAnnotation},TSTypeAssertion:function(){return tsTypeAssertion},TSTypeLiteral:function(){return tsTypeLiteral$1},TSTypeOperator:function(){return tsTypeOperator},TSTypeParameter:function(){return tsTypeParameter$1},TSTypeParameterDeclaration:function(){return tsTypeParameterDeclaration},TSTypeParameterInstantiation:function(){return tsTypeParameterInstantiation},TSTypePredicate:function(){return tsTypePredicate},TSTypeQuery:function(){return tsTypeQuery},TSTypeReference:function(){return tsTypeReference},TSUndefinedKeyword:function(){return tsUndefinedKeyword},TSUnionType:function(){return tsUnionType},TSUnknownKeyword:function(){return tsUnknownKeyword},TSVoidKeyword:function(){return tsVoidKeyword},TYPES:function(){return TYPES$3},TYPESCRIPT_TYPES:function(){return TYPESCRIPT_TYPES},TaggedTemplateExpression:function(){return taggedTemplateExpression$1},TemplateElement:function(){return templateElement},TemplateLiteral:function(){return templateLiteral$1},ThisExpression:function(){return thisExpression},ThisTypeAnnotation:function(){return thisTypeAnnotation},ThrowStatement:function(){return throwStatement},TopicReference:function(){return topicReference},TryStatement:function(){return tryStatement},TupleExpression:function(){return tupleExpression$1},TupleTypeAnnotation:function(){return tupleTypeAnnotation},TypeAlias:function(){return typeAlias},TypeAnnotation:function(){return typeAnnotation},TypeCastExpression:function(){return typeCastExpression},TypeParameter:function(){return typeParameter},TypeParameterDeclaration:function(){return typeParameterDeclaration},TypeParameterInstantiation:function(){return typeParameterInstantiation},TypeofTypeAnnotation:function(){return typeofTypeAnnotation},UNARYLIKE_TYPES:function(){return UNARYLIKE_TYPES},UNARY_OPERATORS:function(){return UNARY_OPERATORS},UPDATE_OPERATORS:function(){return UPDATE_OPERATORS},USERWHITESPACABLE_TYPES:function(){return USERWHITESPACABLE_TYPES},UnaryExpression:function(){return unaryExpression$1},UnionTypeAnnotation:function(){return unionTypeAnnotation},UpdateExpression:function(){return updateExpression},V8IntrinsicIdentifier:function(){return v8IntrinsicIdentifier},VISITOR_KEYS:function(){return VISITOR_KEYS},VariableDeclaration:function(){return variableDeclaration$1},VariableDeclarator:function(){return variableDeclarator},Variance:function(){return variance},VoidTypeAnnotation:function(){return voidTypeAnnotation},WHILE_TYPES:function(){return WHILE_TYPES},WhileStatement:function(){return whileStatement$1},WithStatement:function(){return withStatement},YieldExpression:function(){return yieldExpression},__internal__deprecationWarning:function(){return deprecationWarning},addComment:function(){return addComment},addComments:function(){return addComments},anyTypeAnnotation:function(){return anyTypeAnnotation},appendToMemberExpression:function(){return appendToMemberExpression},argumentPlaceholder:function(){return argumentPlaceholder},arrayExpression:function(){return arrayExpression$1},arrayPattern:function(){return arrayPattern$1},arrayTypeAnnotation:function(){return arrayTypeAnnotation},arrowFunctionExpression:function(){return arrowFunctionExpression$1},assertAccessor:function(){return assertAccessor},assertAnyTypeAnnotation:function(){return assertAnyTypeAnnotation},assertArgumentPlaceholder:function(){return assertArgumentPlaceholder},assertArrayExpression:function(){return assertArrayExpression},assertArrayPattern:function(){return assertArrayPattern},assertArrayTypeAnnotation:function(){return assertArrayTypeAnnotation},assertArrowFunctionExpression:function(){return assertArrowFunctionExpression},assertAssignmentExpression:function(){return assertAssignmentExpression},assertAssignmentPattern:function(){return assertAssignmentPattern},assertAwaitExpression:function(){return assertAwaitExpression},assertBigIntLiteral:function(){return assertBigIntLiteral},assertBinary:function(){return assertBinary},assertBinaryExpression:function(){return assertBinaryExpression},assertBindExpression:function(){return assertBindExpression},assertBlock:function(){return assertBlock},assertBlockParent:function(){return assertBlockParent},assertBlockStatement:function(){return assertBlockStatement},assertBooleanLiteral:function(){return assertBooleanLiteral},assertBooleanLiteralTypeAnnotation:function(){return assertBooleanLiteralTypeAnnotation},assertBooleanTypeAnnotation:function(){return assertBooleanTypeAnnotation},assertBreakStatement:function(){return assertBreakStatement},assertCallExpression:function(){return assertCallExpression},assertCatchClause:function(){return assertCatchClause},assertClass:function(){return assertClass},assertClassAccessorProperty:function(){return assertClassAccessorProperty},assertClassBody:function(){return assertClassBody},assertClassDeclaration:function(){return assertClassDeclaration},assertClassExpression:function(){return assertClassExpression},assertClassImplements:function(){return assertClassImplements},assertClassMethod:function(){return assertClassMethod},assertClassPrivateMethod:function(){return assertClassPrivateMethod},assertClassPrivateProperty:function(){return assertClassPrivateProperty},assertClassProperty:function(){return assertClassProperty},assertCompletionStatement:function(){return assertCompletionStatement},assertConditional:function(){return assertConditional},assertConditionalExpression:function(){return assertConditionalExpression},assertContinueStatement:function(){return assertContinueStatement},assertDebuggerStatement:function(){return assertDebuggerStatement},assertDecimalLiteral:function(){return assertDecimalLiteral},assertDeclaration:function(){return assertDeclaration},assertDeclareClass:function(){return assertDeclareClass},assertDeclareExportAllDeclaration:function(){return assertDeclareExportAllDeclaration},assertDeclareExportDeclaration:function(){return assertDeclareExportDeclaration},assertDeclareFunction:function(){return assertDeclareFunction},assertDeclareInterface:function(){return assertDeclareInterface},assertDeclareModule:function(){return assertDeclareModule},assertDeclareModuleExports:function(){return assertDeclareModuleExports},assertDeclareOpaqueType:function(){return assertDeclareOpaqueType},assertDeclareTypeAlias:function(){return assertDeclareTypeAlias},assertDeclareVariable:function(){return assertDeclareVariable},assertDeclaredPredicate:function(){return assertDeclaredPredicate},assertDecorator:function(){return assertDecorator},assertDirective:function(){return assertDirective},assertDirectiveLiteral:function(){return assertDirectiveLiteral},assertDoExpression:function(){return assertDoExpression},assertDoWhileStatement:function(){return assertDoWhileStatement},assertEmptyStatement:function(){return assertEmptyStatement},assertEmptyTypeAnnotation:function(){return assertEmptyTypeAnnotation},assertEnumBody:function(){return assertEnumBody},assertEnumBooleanBody:function(){return assertEnumBooleanBody},assertEnumBooleanMember:function(){return assertEnumBooleanMember},assertEnumDeclaration:function(){return assertEnumDeclaration},assertEnumDefaultedMember:function(){return assertEnumDefaultedMember},assertEnumMember:function(){return assertEnumMember},assertEnumNumberBody:function(){return assertEnumNumberBody},assertEnumNumberMember:function(){return assertEnumNumberMember},assertEnumStringBody:function(){return assertEnumStringBody},assertEnumStringMember:function(){return assertEnumStringMember},assertEnumSymbolBody:function(){return assertEnumSymbolBody},assertExistsTypeAnnotation:function(){return assertExistsTypeAnnotation},assertExportAllDeclaration:function(){return assertExportAllDeclaration},assertExportDeclaration:function(){return assertExportDeclaration},assertExportDefaultDeclaration:function(){return assertExportDefaultDeclaration},assertExportDefaultSpecifier:function(){return assertExportDefaultSpecifier},assertExportNamedDeclaration:function(){return assertExportNamedDeclaration},assertExportNamespaceSpecifier:function(){return assertExportNamespaceSpecifier},assertExportSpecifier:function(){return assertExportSpecifier},assertExpression:function(){return assertExpression},assertExpressionStatement:function(){return assertExpressionStatement},assertExpressionWrapper:function(){return assertExpressionWrapper},assertFile:function(){return assertFile},assertFlow:function(){return assertFlow},assertFlowBaseAnnotation:function(){return assertFlowBaseAnnotation},assertFlowDeclaration:function(){return assertFlowDeclaration},assertFlowPredicate:function(){return assertFlowPredicate},assertFlowType:function(){return assertFlowType},assertFor:function(){return assertFor},assertForInStatement:function(){return assertForInStatement},assertForOfStatement:function(){return assertForOfStatement},assertForStatement:function(){return assertForStatement},assertForXStatement:function(){return assertForXStatement},assertFunction:function(){return assertFunction},assertFunctionDeclaration:function(){return assertFunctionDeclaration},assertFunctionExpression:function(){return assertFunctionExpression},assertFunctionParent:function(){return assertFunctionParent},assertFunctionTypeAnnotation:function(){return assertFunctionTypeAnnotation},assertFunctionTypeParam:function(){return assertFunctionTypeParam},assertGenericTypeAnnotation:function(){return assertGenericTypeAnnotation},assertIdentifier:function(){return assertIdentifier},assertIfStatement:function(){return assertIfStatement},assertImmutable:function(){return assertImmutable},assertImport:function(){return assertImport},assertImportAttribute:function(){return assertImportAttribute},assertImportDeclaration:function(){return assertImportDeclaration},assertImportDefaultSpecifier:function(){return assertImportDefaultSpecifier},assertImportExpression:function(){return assertImportExpression},assertImportNamespaceSpecifier:function(){return assertImportNamespaceSpecifier},assertImportOrExportDeclaration:function(){return assertImportOrExportDeclaration},assertImportSpecifier:function(){return assertImportSpecifier},assertIndexedAccessType:function(){return assertIndexedAccessType},assertInferredPredicate:function(){return assertInferredPredicate},assertInterfaceDeclaration:function(){return assertInterfaceDeclaration},assertInterfaceExtends:function(){return assertInterfaceExtends},assertInterfaceTypeAnnotation:function(){return assertInterfaceTypeAnnotation},assertInterpreterDirective:function(){return assertInterpreterDirective},assertIntersectionTypeAnnotation:function(){return assertIntersectionTypeAnnotation},assertJSX:function(){return assertJSX},assertJSXAttribute:function(){return assertJSXAttribute},assertJSXClosingElement:function(){return assertJSXClosingElement},assertJSXClosingFragment:function(){return assertJSXClosingFragment},assertJSXElement:function(){return assertJSXElement},assertJSXEmptyExpression:function(){return assertJSXEmptyExpression},assertJSXExpressionContainer:function(){return assertJSXExpressionContainer},assertJSXFragment:function(){return assertJSXFragment},assertJSXIdentifier:function(){return assertJSXIdentifier},assertJSXMemberExpression:function(){return assertJSXMemberExpression},assertJSXNamespacedName:function(){return assertJSXNamespacedName},assertJSXOpeningElement:function(){return assertJSXOpeningElement},assertJSXOpeningFragment:function(){return assertJSXOpeningFragment},assertJSXSpreadAttribute:function(){return assertJSXSpreadAttribute},assertJSXSpreadChild:function(){return assertJSXSpreadChild},assertJSXText:function(){return assertJSXText},assertLVal:function(){return assertLVal},assertLabeledStatement:function(){return assertLabeledStatement},assertLiteral:function(){return assertLiteral},assertLogicalExpression:function(){return assertLogicalExpression},assertLoop:function(){return assertLoop},assertMemberExpression:function(){return assertMemberExpression},assertMetaProperty:function(){return assertMetaProperty},assertMethod:function(){return assertMethod},assertMiscellaneous:function(){return assertMiscellaneous},assertMixedTypeAnnotation:function(){return assertMixedTypeAnnotation},assertModuleDeclaration:function(){return assertModuleDeclaration},assertModuleExpression:function(){return assertModuleExpression},assertModuleSpecifier:function(){return assertModuleSpecifier},assertNewExpression:function(){return assertNewExpression},assertNode:function(){return assertNode},assertNoop:function(){return assertNoop},assertNullLiteral:function(){return assertNullLiteral},assertNullLiteralTypeAnnotation:function(){return assertNullLiteralTypeAnnotation},assertNullableTypeAnnotation:function(){return assertNullableTypeAnnotation},assertNumberLiteral:function(){return assertNumberLiteral},assertNumberLiteralTypeAnnotation:function(){return assertNumberLiteralTypeAnnotation},assertNumberTypeAnnotation:function(){return assertNumberTypeAnnotation},assertNumericLiteral:function(){return assertNumericLiteral},assertObjectExpression:function(){return assertObjectExpression},assertObjectMember:function(){return assertObjectMember},assertObjectMethod:function(){return assertObjectMethod},assertObjectPattern:function(){return assertObjectPattern},assertObjectProperty:function(){return assertObjectProperty},assertObjectTypeAnnotation:function(){return assertObjectTypeAnnotation},assertObjectTypeCallProperty:function(){return assertObjectTypeCallProperty},assertObjectTypeIndexer:function(){return assertObjectTypeIndexer},assertObjectTypeInternalSlot:function(){return assertObjectTypeInternalSlot},assertObjectTypeProperty:function(){return assertObjectTypeProperty},assertObjectTypeSpreadProperty:function(){return assertObjectTypeSpreadProperty},assertOpaqueType:function(){return assertOpaqueType},assertOptionalCallExpression:function(){return assertOptionalCallExpression},assertOptionalIndexedAccessType:function(){return assertOptionalIndexedAccessType},assertOptionalMemberExpression:function(){return assertOptionalMemberExpression},assertParenthesizedExpression:function(){return assertParenthesizedExpression},assertPattern:function(){return assertPattern},assertPatternLike:function(){return assertPatternLike},assertPipelineBareFunction:function(){return assertPipelineBareFunction},assertPipelinePrimaryTopicReference:function(){return assertPipelinePrimaryTopicReference},assertPipelineTopicExpression:function(){return assertPipelineTopicExpression},assertPlaceholder:function(){return assertPlaceholder},assertPrivate:function(){return assertPrivate},assertPrivateName:function(){return assertPrivateName},assertProgram:function(){return assertProgram},assertProperty:function(){return assertProperty},assertPureish:function(){return assertPureish},assertQualifiedTypeIdentifier:function(){return assertQualifiedTypeIdentifier},assertRecordExpression:function(){return assertRecordExpression},assertRegExpLiteral:function(){return assertRegExpLiteral},assertRegexLiteral:function(){return assertRegexLiteral},assertRestElement:function(){return assertRestElement},assertRestProperty:function(){return assertRestProperty},assertReturnStatement:function(){return assertReturnStatement},assertScopable:function(){return assertScopable},assertSequenceExpression:function(){return assertSequenceExpression},assertSpreadElement:function(){return assertSpreadElement},assertSpreadProperty:function(){return assertSpreadProperty},assertStandardized:function(){return assertStandardized},assertStatement:function(){return assertStatement},assertStaticBlock:function(){return assertStaticBlock},assertStringLiteral:function(){return assertStringLiteral},assertStringLiteralTypeAnnotation:function(){return assertStringLiteralTypeAnnotation},assertStringTypeAnnotation:function(){return assertStringTypeAnnotation},assertSuper:function(){return assertSuper},assertSwitchCase:function(){return assertSwitchCase},assertSwitchStatement:function(){return assertSwitchStatement},assertSymbolTypeAnnotation:function(){return assertSymbolTypeAnnotation},assertTSAnyKeyword:function(){return assertTSAnyKeyword},assertTSArrayType:function(){return assertTSArrayType},assertTSAsExpression:function(){return assertTSAsExpression},assertTSBaseType:function(){return assertTSBaseType},assertTSBigIntKeyword:function(){return assertTSBigIntKeyword},assertTSBooleanKeyword:function(){return assertTSBooleanKeyword},assertTSCallSignatureDeclaration:function(){return assertTSCallSignatureDeclaration},assertTSConditionalType:function(){return assertTSConditionalType},assertTSConstructSignatureDeclaration:function(){return assertTSConstructSignatureDeclaration},assertTSConstructorType:function(){return assertTSConstructorType},assertTSDeclareFunction:function(){return assertTSDeclareFunction},assertTSDeclareMethod:function(){return assertTSDeclareMethod},assertTSEntityName:function(){return assertTSEntityName},assertTSEnumDeclaration:function(){return assertTSEnumDeclaration},assertTSEnumMember:function(){return assertTSEnumMember},assertTSExportAssignment:function(){return assertTSExportAssignment},assertTSExpressionWithTypeArguments:function(){return assertTSExpressionWithTypeArguments},assertTSExternalModuleReference:function(){return assertTSExternalModuleReference},assertTSFunctionType:function(){return assertTSFunctionType},assertTSImportEqualsDeclaration:function(){return assertTSImportEqualsDeclaration},assertTSImportType:function(){return assertTSImportType},assertTSIndexSignature:function(){return assertTSIndexSignature},assertTSIndexedAccessType:function(){return assertTSIndexedAccessType},assertTSInferType:function(){return assertTSInferType},assertTSInstantiationExpression:function(){return assertTSInstantiationExpression},assertTSInterfaceBody:function(){return assertTSInterfaceBody},assertTSInterfaceDeclaration:function(){return assertTSInterfaceDeclaration},assertTSIntersectionType:function(){return assertTSIntersectionType},assertTSIntrinsicKeyword:function(){return assertTSIntrinsicKeyword},assertTSLiteralType:function(){return assertTSLiteralType},assertTSMappedType:function(){return assertTSMappedType},assertTSMethodSignature:function(){return assertTSMethodSignature},assertTSModuleBlock:function(){return assertTSModuleBlock},assertTSModuleDeclaration:function(){return assertTSModuleDeclaration},assertTSNamedTupleMember:function(){return assertTSNamedTupleMember},assertTSNamespaceExportDeclaration:function(){return assertTSNamespaceExportDeclaration},assertTSNeverKeyword:function(){return assertTSNeverKeyword},assertTSNonNullExpression:function(){return assertTSNonNullExpression},assertTSNullKeyword:function(){return assertTSNullKeyword},assertTSNumberKeyword:function(){return assertTSNumberKeyword},assertTSObjectKeyword:function(){return assertTSObjectKeyword},assertTSOptionalType:function(){return assertTSOptionalType},assertTSParameterProperty:function(){return assertTSParameterProperty},assertTSParenthesizedType:function(){return assertTSParenthesizedType},assertTSPropertySignature:function(){return assertTSPropertySignature},assertTSQualifiedName:function(){return assertTSQualifiedName},assertTSRestType:function(){return assertTSRestType},assertTSSatisfiesExpression:function(){return assertTSSatisfiesExpression},assertTSStringKeyword:function(){return assertTSStringKeyword},assertTSSymbolKeyword:function(){return assertTSSymbolKeyword},assertTSThisType:function(){return assertTSThisType},assertTSTupleType:function(){return assertTSTupleType},assertTSType:function(){return assertTSType},assertTSTypeAliasDeclaration:function(){return assertTSTypeAliasDeclaration},assertTSTypeAnnotation:function(){return assertTSTypeAnnotation},assertTSTypeAssertion:function(){return assertTSTypeAssertion},assertTSTypeElement:function(){return assertTSTypeElement},assertTSTypeLiteral:function(){return assertTSTypeLiteral},assertTSTypeOperator:function(){return assertTSTypeOperator},assertTSTypeParameter:function(){return assertTSTypeParameter},assertTSTypeParameterDeclaration:function(){return assertTSTypeParameterDeclaration},assertTSTypeParameterInstantiation:function(){return assertTSTypeParameterInstantiation},assertTSTypePredicate:function(){return assertTSTypePredicate},assertTSTypeQuery:function(){return assertTSTypeQuery},assertTSTypeReference:function(){return assertTSTypeReference},assertTSUndefinedKeyword:function(){return assertTSUndefinedKeyword},assertTSUnionType:function(){return assertTSUnionType},assertTSUnknownKeyword:function(){return assertTSUnknownKeyword},assertTSVoidKeyword:function(){return assertTSVoidKeyword},assertTaggedTemplateExpression:function(){return assertTaggedTemplateExpression},assertTemplateElement:function(){return assertTemplateElement},assertTemplateLiteral:function(){return assertTemplateLiteral},assertTerminatorless:function(){return assertTerminatorless},assertThisExpression:function(){return assertThisExpression},assertThisTypeAnnotation:function(){return assertThisTypeAnnotation},assertThrowStatement:function(){return assertThrowStatement},assertTopicReference:function(){return assertTopicReference},assertTryStatement:function(){return assertTryStatement},assertTupleExpression:function(){return assertTupleExpression},assertTupleTypeAnnotation:function(){return assertTupleTypeAnnotation},assertTypeAlias:function(){return assertTypeAlias},assertTypeAnnotation:function(){return assertTypeAnnotation},assertTypeCastExpression:function(){return assertTypeCastExpression},assertTypeParameter:function(){return assertTypeParameter},assertTypeParameterDeclaration:function(){return assertTypeParameterDeclaration},assertTypeParameterInstantiation:function(){return assertTypeParameterInstantiation},assertTypeScript:function(){return assertTypeScript},assertTypeofTypeAnnotation:function(){return assertTypeofTypeAnnotation},assertUnaryExpression:function(){return assertUnaryExpression},assertUnaryLike:function(){return assertUnaryLike},assertUnionTypeAnnotation:function(){return assertUnionTypeAnnotation},assertUpdateExpression:function(){return assertUpdateExpression},assertUserWhitespacable:function(){return assertUserWhitespacable},assertV8IntrinsicIdentifier:function(){return assertV8IntrinsicIdentifier},assertVariableDeclaration:function(){return assertVariableDeclaration},assertVariableDeclarator:function(){return assertVariableDeclarator},assertVariance:function(){return assertVariance},assertVoidTypeAnnotation:function(){return assertVoidTypeAnnotation},assertWhile:function(){return assertWhile},assertWhileStatement:function(){return assertWhileStatement},assertWithStatement:function(){return assertWithStatement},assertYieldExpression:function(){return assertYieldExpression},assignmentExpression:function(){return assignmentExpression$1},assignmentPattern:function(){return assignmentPattern$1},awaitExpression:function(){return awaitExpression},bigIntLiteral:function(){return bigIntLiteral},binaryExpression:function(){return binaryExpression$1},bindExpression:function(){return bindExpression},blockStatement:function(){return blockStatement$1},booleanLiteral:function(){return booleanLiteral},booleanLiteralTypeAnnotation:function(){return booleanLiteralTypeAnnotation},booleanTypeAnnotation:function(){return booleanTypeAnnotation},breakStatement:function(){return breakStatement$1},buildMatchMemberExpression:function(){return buildMatchMemberExpression},buildUndefinedNode:function(){return buildUndefinedNode},callExpression:function(){return callExpression$1},catchClause:function(){return catchClause},classAccessorProperty:function(){return classAccessorProperty},classBody:function(){return classBody},classDeclaration:function(){return classDeclaration},classExpression:function(){return classExpression},classImplements:function(){return classImplements},classMethod:function(){return classMethod$2},classPrivateMethod:function(){return classPrivateMethod$1},classPrivateProperty:function(){return classPrivateProperty},classProperty:function(){return classProperty$1},clone:function(){return clone$2},cloneDeep:function(){return cloneDeep},cloneDeepWithoutLoc:function(){return cloneDeepWithoutLoc},cloneNode:function(){return cloneNode},cloneWithoutLoc:function(){return cloneWithoutLoc},conditionalExpression:function(){return conditionalExpression$1},continueStatement:function(){return continueStatement},createFlowUnionType:function(){return createFlowUnionType},createTSUnionType:function(){return createTSUnionType},createTypeAnnotationBasedOnTypeof:function(){return createTypeAnnotationBasedOnTypeof},createUnionTypeAnnotation:function(){return createFlowUnionType},debuggerStatement:function(){return debuggerStatement$1},decimalLiteral:function(){return decimalLiteral},declareClass:function(){return declareClass},declareExportAllDeclaration:function(){return declareExportAllDeclaration},declareExportDeclaration:function(){return declareExportDeclaration},declareFunction:function(){return declareFunction},declareInterface:function(){return declareInterface},declareModule:function(){return declareModule},declareModuleExports:function(){return declareModuleExports},declareOpaqueType:function(){return declareOpaqueType},declareTypeAlias:function(){return declareTypeAlias},declareVariable:function(){return declareVariable$1},declaredPredicate:function(){return declaredPredicate},decorator:function(){return decorator},directive:function(){return directive},directiveLiteral:function(){return directiveLiteral},doExpression:function(){return doExpression},doWhileStatement:function(){return doWhileStatement$1},emptyStatement:function(){return emptyStatement},emptyTypeAnnotation:function(){return emptyTypeAnnotation},ensureBlock:function(){return ensureBlock},enumBooleanBody:function(){return enumBooleanBody},enumBooleanMember:function(){return enumBooleanMember},enumDeclaration:function(){return enumDeclaration},enumDefaultedMember:function(){return enumDefaultedMember},enumNumberBody:function(){return enumNumberBody},enumNumberMember:function(){return enumNumberMember},enumStringBody:function(){return enumStringBody},enumStringMember:function(){return enumStringMember},enumSymbolBody:function(){return enumSymbolBody},existsTypeAnnotation:function(){return existsTypeAnnotation},exportAllDeclaration:function(){return exportAllDeclaration$1},exportDefaultDeclaration:function(){return exportDefaultDeclaration$1},exportDefaultSpecifier:function(){return exportDefaultSpecifier},exportNamedDeclaration:function(){return exportNamedDeclaration},exportNamespaceSpecifier:function(){return exportNamespaceSpecifier},exportSpecifier:function(){return exportSpecifier},expressionStatement:function(){return expressionStatement$1},file:function(){return file},forInStatement:function(){return forInStatement$1},forOfStatement:function(){return forOfStatement$1},forStatement:function(){return forStatement$1},functionDeclaration:function(){return functionDeclaration$1},functionExpression:function(){return functionExpression$1},functionTypeAnnotation:function(){return functionTypeAnnotation},functionTypeParam:function(){return functionTypeParam},genericTypeAnnotation:function(){return genericTypeAnnotation},getBindingIdentifiers:function(){return getBindingIdentifiers},getOuterBindingIdentifiers:function(){return getOuterBindingIdentifiers},identifier:function(){return identifier$1},ifStatement:function(){return ifStatement$1},import:function(){return _import$1},importAttribute:function(){return importAttribute$1},importDeclaration:function(){return importDeclaration$1},importDefaultSpecifier:function(){return importDefaultSpecifier},importExpression:function(){return importExpression$1},importNamespaceSpecifier:function(){return importNamespaceSpecifier},importSpecifier:function(){return importSpecifier},indexedAccessType:function(){return indexedAccessType},inferredPredicate:function(){return inferredPredicate},inheritInnerComments:function(){return inheritInnerComments},inheritLeadingComments:function(){return inheritLeadingComments},inheritTrailingComments:function(){return inheritTrailingComments},inherits:function(){return inherits},inheritsComments:function(){return inheritsComments},interfaceDeclaration:function(){return interfaceDeclaration},interfaceExtends:function(){return interfaceExtends},interfaceTypeAnnotation:function(){return interfaceTypeAnnotation},interpreterDirective:function(){return interpreterDirective},intersectionTypeAnnotation:function(){return intersectionTypeAnnotation},is:function(){return is$4},isAccessor:function(){return isAccessor},isAnyTypeAnnotation:function(){return isAnyTypeAnnotation},isArgumentPlaceholder:function(){return isArgumentPlaceholder},isArrayExpression:function(){return isArrayExpression$7},isArrayPattern:function(){return isArrayPattern$1},isArrayTypeAnnotation:function(){return isArrayTypeAnnotation},isArrowFunctionExpression:function(){return isArrowFunctionExpression$4},isAssignmentExpression:function(){return isAssignmentExpression},isAssignmentPattern:function(){return isAssignmentPattern$6},isAwaitExpression:function(){return isAwaitExpression$1},isBigIntLiteral:function(){return isBigIntLiteral},isBinary:function(){return isBinary},isBinaryExpression:function(){return isBinaryExpression$3},isBindExpression:function(){return isBindExpression},isBinding:function(){return isBinding$1},isBlock:function(){return isBlock$2},isBlockParent:function(){return isBlockParent},isBlockScoped:function(){return isBlockScoped},isBlockStatement:function(){return isBlockStatement$e},isBooleanLiteral:function(){return isBooleanLiteral$2},isBooleanLiteralTypeAnnotation:function(){return isBooleanLiteralTypeAnnotation},isBooleanTypeAnnotation:function(){return isBooleanTypeAnnotation},isBreakStatement:function(){return isBreakStatement$1},isCallExpression:function(){return isCallExpression$5},isCatchClause:function(){return isCatchClause$1},isClass:function(){return isClass},isClassAccessorProperty:function(){return isClassAccessorProperty},isClassBody:function(){return isClassBody$1},isClassDeclaration:function(){return isClassDeclaration$2},isClassExpression:function(){return isClassExpression},isClassImplements:function(){return isClassImplements},isClassMethod:function(){return isClassMethod$2},isClassPrivateMethod:function(){return isClassPrivateMethod},isClassPrivateProperty:function(){return isClassPrivateProperty},isClassProperty:function(){return isClassProperty$1},isCompletionStatement:function(){return isCompletionStatement},isConditional:function(){return isConditional},isConditionalExpression:function(){return isConditionalExpression$1},isContinueStatement:function(){return isContinueStatement$1},isDebuggerStatement:function(){return isDebuggerStatement},isDecimalLiteral:function(){return isDecimalLiteral},isDeclaration:function(){return isDeclaration},isDeclareClass:function(){return isDeclareClass},isDeclareExportAllDeclaration:function(){return isDeclareExportAllDeclaration},isDeclareExportDeclaration:function(){return isDeclareExportDeclaration},isDeclareFunction:function(){return isDeclareFunction},isDeclareInterface:function(){return isDeclareInterface},isDeclareModule:function(){return isDeclareModule},isDeclareModuleExports:function(){return isDeclareModuleExports},isDeclareOpaqueType:function(){return isDeclareOpaqueType},isDeclareTypeAlias:function(){return isDeclareTypeAlias},isDeclareVariable:function(){return isDeclareVariable},isDeclaredPredicate:function(){return isDeclaredPredicate},isDecorator:function(){return isDecorator$1},isDirective:function(){return isDirective},isDirectiveLiteral:function(){return isDirectiveLiteral},isDoExpression:function(){return isDoExpression},isDoWhileStatement:function(){return isDoWhileStatement$1},isEmptyStatement:function(){return isEmptyStatement},isEmptyTypeAnnotation:function(){return isEmptyTypeAnnotation},isEnumBody:function(){return isEnumBody},isEnumBooleanBody:function(){return isEnumBooleanBody},isEnumBooleanMember:function(){return isEnumBooleanMember},isEnumDeclaration:function(){return isEnumDeclaration},isEnumDefaultedMember:function(){return isEnumDefaultedMember},isEnumMember:function(){return isEnumMember},isEnumNumberBody:function(){return isEnumNumberBody},isEnumNumberMember:function(){return isEnumNumberMember},isEnumStringBody:function(){return isEnumStringBody},isEnumStringMember:function(){return isEnumStringMember},isEnumSymbolBody:function(){return isEnumSymbolBody},isExistsTypeAnnotation:function(){return isExistsTypeAnnotation},isExportAllDeclaration:function(){return isExportAllDeclaration},isExportDeclaration:function(){return isExportDeclaration$5},isExportDefaultDeclaration:function(){return isExportDefaultDeclaration},isExportDefaultSpecifier:function(){return isExportDefaultSpecifier},isExportNamedDeclaration:function(){return isExportNamedDeclaration},isExportNamespaceSpecifier:function(){return isExportNamespaceSpecifier$1},isExportSpecifier:function(){return isExportSpecifier$1},isExpression:function(){return isExpression$4},isExpressionStatement:function(){return isExpressionStatement$3},isExpressionWrapper:function(){return isExpressionWrapper},isFile:function(){return isFile$2},isFlow:function(){return isFlow},isFlowBaseAnnotation:function(){return isFlowBaseAnnotation},isFlowDeclaration:function(){return isFlowDeclaration},isFlowPredicate:function(){return isFlowPredicate},isFlowType:function(){return isFlowType},isFor:function(){return isFor},isForInStatement:function(){return isForInStatement},isForOfStatement:function(){return isForOfStatement$1},isForStatement:function(){return isForStatement},isForXStatement:function(){return isForXStatement},isFunction:function(){return isFunction$6},isFunctionDeclaration:function(){return isFunctionDeclaration$5},isFunctionExpression:function(){return isFunctionExpression$2},isFunctionParent:function(){return isFunctionParent},isFunctionTypeAnnotation:function(){return isFunctionTypeAnnotation},isFunctionTypeParam:function(){return isFunctionTypeParam},isGenericTypeAnnotation:function(){return isGenericTypeAnnotation},isIdentifier:function(){return isIdentifier$r},isIfStatement:function(){return isIfStatement$4},isImmutable:function(){return isImmutable},isImport:function(){return isImport},isImportAttribute:function(){return isImportAttribute},isImportDeclaration:function(){return isImportDeclaration$3},isImportDefaultSpecifier:function(){return isImportDefaultSpecifier$3},isImportExpression:function(){return isImportExpression},isImportNamespaceSpecifier:function(){return isImportNamespaceSpecifier$1},isImportOrExportDeclaration:function(){return isImportOrExportDeclaration},isImportSpecifier:function(){return isImportSpecifier},isIndexedAccessType:function(){return isIndexedAccessType},isInferredPredicate:function(){return isInferredPredicate},isInterfaceDeclaration:function(){return isInterfaceDeclaration},isInterfaceExtends:function(){return isInterfaceExtends},isInterfaceTypeAnnotation:function(){return isInterfaceTypeAnnotation},isInterpreterDirective:function(){return isInterpreterDirective},isIntersectionTypeAnnotation:function(){return isIntersectionTypeAnnotation},isJSX:function(){return isJSX},isJSXAttribute:function(){return isJSXAttribute$2},isJSXClosingElement:function(){return isJSXClosingElement},isJSXClosingFragment:function(){return isJSXClosingFragment},isJSXElement:function(){return isJSXElement$3},isJSXEmptyExpression:function(){return isJSXEmptyExpression},isJSXExpressionContainer:function(){return isJSXExpressionContainer$1},isJSXFragment:function(){return isJSXFragment},isJSXIdentifier:function(){return isJSXIdentifier$2},isJSXMemberExpression:function(){return isJSXMemberExpression},isJSXNamespacedName:function(){return isJSXNamespacedName},isJSXOpeningElement:function(){return isJSXOpeningElement},isJSXOpeningFragment:function(){return isJSXOpeningFragment},isJSXSpreadAttribute:function(){return isJSXSpreadAttribute},isJSXSpreadChild:function(){return isJSXSpreadChild},isJSXText:function(){return isJSXText$3},isLVal:function(){return isLVal},isLabeledStatement:function(){return isLabeledStatement$1},isLet:function(){return isLet},isLiteral:function(){return isLiteral$6},isLogicalExpression:function(){return isLogicalExpression},isLoop:function(){return isLoop},isMemberExpression:function(){return isMemberExpression$6},isMetaProperty:function(){return isMetaProperty},isMethod:function(){return isMethod},isMiscellaneous:function(){return isMiscellaneous},isMixedTypeAnnotation:function(){return isMixedTypeAnnotation},isModuleDeclaration:function(){return isModuleDeclaration},isModuleExpression:function(){return isModuleExpression},isModuleSpecifier:function(){return isModuleSpecifier},isNewExpression:function(){return isNewExpression},isNode:function(){return isNode},isNodesEquivalent:function(){return isNodesEquivalent},isNoop:function(){return isNoop},isNullLiteral:function(){return isNullLiteral$2},isNullLiteralTypeAnnotation:function(){return isNullLiteralTypeAnnotation},isNullableTypeAnnotation:function(){return isNullableTypeAnnotation},isNumberLiteral:function(){return isNumberLiteral},isNumberLiteralTypeAnnotation:function(){return isNumberLiteralTypeAnnotation},isNumberTypeAnnotation:function(){return isNumberTypeAnnotation},isNumericLiteral:function(){return isNumericLiteral$1},isObjectExpression:function(){return isObjectExpression$7},isObjectMember:function(){return isObjectMember},isObjectMethod:function(){return isObjectMethod$2},isObjectPattern:function(){return isObjectPattern$8},isObjectProperty:function(){return isObjectProperty$3},isObjectTypeAnnotation:function(){return isObjectTypeAnnotation},isObjectTypeCallProperty:function(){return isObjectTypeCallProperty},isObjectTypeIndexer:function(){return isObjectTypeIndexer},isObjectTypeInternalSlot:function(){return isObjectTypeInternalSlot},isObjectTypeProperty:function(){return isObjectTypeProperty},isObjectTypeSpreadProperty:function(){return isObjectTypeSpreadProperty},isOpaqueType:function(){return isOpaqueType},isOptionalCallExpression:function(){return isOptionalCallExpression},isOptionalIndexedAccessType:function(){return isOptionalIndexedAccessType},isOptionalMemberExpression:function(){return isOptionalMemberExpression$1},isParenthesizedExpression:function(){return isParenthesizedExpression},isPattern:function(){return isPattern},isPatternLike:function(){return isPatternLike},isPipelineBareFunction:function(){return isPipelineBareFunction},isPipelinePrimaryTopicReference:function(){return isPipelinePrimaryTopicReference},isPipelineTopicExpression:function(){return isPipelineTopicExpression},isPlaceholder:function(){return isPlaceholder},isPlaceholderType:function(){return isPlaceholderType},isPrivate:function(){return isPrivate},isPrivateName:function(){return isPrivateName},isProgram:function(){return isProgram$4},isProperty:function(){return isProperty$1},isPureish:function(){return isPureish},isQualifiedTypeIdentifier:function(){return isQualifiedTypeIdentifier},isRecordExpression:function(){return isRecordExpression},isReferenced:function(){return isReferenced$1},isRegExpLiteral:function(){return isRegExpLiteral$4},isRegexLiteral:function(){return isRegexLiteral},isRestElement:function(){return isRestElement$4},isRestProperty:function(){return isRestProperty},isReturnStatement:function(){return isReturnStatement$4},isScopable:function(){return isScopable},isScope:function(){return isScope},isSequenceExpression:function(){return isSequenceExpression},isSpecifierDefault:function(){return isSpecifierDefault},isSpreadElement:function(){return isSpreadElement$4},isSpreadProperty:function(){return isSpreadProperty},isStandardized:function(){return isStandardized},isStatement:function(){return isStatement$5},isStaticBlock:function(){return isStaticBlock},isStringLiteral:function(){return isStringLiteral$8},isStringLiteralTypeAnnotation:function(){return isStringLiteralTypeAnnotation},isStringTypeAnnotation:function(){return isStringTypeAnnotation},isSuper:function(){return isSuper},isSwitchCase:function(){return isSwitchCase},isSwitchStatement:function(){return isSwitchStatement},isSymbolTypeAnnotation:function(){return isSymbolTypeAnnotation},isTSAnyKeyword:function(){return isTSAnyKeyword},isTSArrayType:function(){return isTSArrayType},isTSAsExpression:function(){return isTSAsExpression},isTSBaseType:function(){return isTSBaseType},isTSBigIntKeyword:function(){return isTSBigIntKeyword},isTSBooleanKeyword:function(){return isTSBooleanKeyword},isTSCallSignatureDeclaration:function(){return isTSCallSignatureDeclaration},isTSConditionalType:function(){return isTSConditionalType$1},isTSConstructSignatureDeclaration:function(){return isTSConstructSignatureDeclaration},isTSConstructorType:function(){return isTSConstructorType},isTSDeclareFunction:function(){return isTSDeclareFunction},isTSDeclareMethod:function(){return isTSDeclareMethod},isTSEntityName:function(){return isTSEntityName},isTSEnumDeclaration:function(){return isTSEnumDeclaration},isTSEnumMember:function(){return isTSEnumMember},isTSExportAssignment:function(){return isTSExportAssignment},isTSExpressionWithTypeArguments:function(){return isTSExpressionWithTypeArguments},isTSExternalModuleReference:function(){return isTSExternalModuleReference},isTSFunctionType:function(){return isTSFunctionType},isTSImportEqualsDeclaration:function(){return isTSImportEqualsDeclaration},isTSImportType:function(){return isTSImportType},isTSIndexSignature:function(){return isTSIndexSignature},isTSIndexedAccessType:function(){return isTSIndexedAccessType},isTSInferType:function(){return isTSInferType},isTSInstantiationExpression:function(){return isTSInstantiationExpression},isTSInterfaceBody:function(){return isTSInterfaceBody},isTSInterfaceDeclaration:function(){return isTSInterfaceDeclaration},isTSIntersectionType:function(){return isTSIntersectionType},isTSIntrinsicKeyword:function(){return isTSIntrinsicKeyword},isTSLiteralType:function(){return isTSLiteralType},isTSMappedType:function(){return isTSMappedType},isTSMethodSignature:function(){return isTSMethodSignature},isTSModuleBlock:function(){return isTSModuleBlock},isTSModuleDeclaration:function(){return isTSModuleDeclaration$1},isTSNamedTupleMember:function(){return isTSNamedTupleMember},isTSNamespaceExportDeclaration:function(){return isTSNamespaceExportDeclaration},isTSNeverKeyword:function(){return isTSNeverKeyword},isTSNonNullExpression:function(){return isTSNonNullExpression},isTSNullKeyword:function(){return isTSNullKeyword},isTSNumberKeyword:function(){return isTSNumberKeyword},isTSObjectKeyword:function(){return isTSObjectKeyword},isTSOptionalType:function(){return isTSOptionalType},isTSParameterProperty:function(){return isTSParameterProperty},isTSParenthesizedType:function(){return isTSParenthesizedType},isTSPropertySignature:function(){return isTSPropertySignature$1},isTSQualifiedName:function(){return isTSQualifiedName},isTSRestType:function(){return isTSRestType},isTSSatisfiesExpression:function(){return isTSSatisfiesExpression},isTSStringKeyword:function(){return isTSStringKeyword},isTSSymbolKeyword:function(){return isTSSymbolKeyword},isTSThisType:function(){return isTSThisType},isTSTupleType:function(){return isTSTupleType},isTSType:function(){return isTSType},isTSTypeAliasDeclaration:function(){return isTSTypeAliasDeclaration$1},isTSTypeAnnotation:function(){return isTSTypeAnnotation},isTSTypeAssertion:function(){return isTSTypeAssertion},isTSTypeElement:function(){return isTSTypeElement},isTSTypeLiteral:function(){return isTSTypeLiteral},isTSTypeOperator:function(){return isTSTypeOperator},isTSTypeParameter:function(){return isTSTypeParameter$1},isTSTypeParameterDeclaration:function(){return isTSTypeParameterDeclaration},isTSTypeParameterInstantiation:function(){return isTSTypeParameterInstantiation},isTSTypePredicate:function(){return isTSTypePredicate},isTSTypeQuery:function(){return isTSTypeQuery},isTSTypeReference:function(){return isTSTypeReference$3},isTSUndefinedKeyword:function(){return isTSUndefinedKeyword},isTSUnionType:function(){return isTSUnionType},isTSUnknownKeyword:function(){return isTSUnknownKeyword},isTSVoidKeyword:function(){return isTSVoidKeyword},isTaggedTemplateExpression:function(){return isTaggedTemplateExpression},isTemplateElement:function(){return isTemplateElement$4},isTemplateLiteral:function(){return isTemplateLiteral$5},isTerminatorless:function(){return isTerminatorless},isThisExpression:function(){return isThisExpression},isThisTypeAnnotation:function(){return isThisTypeAnnotation},isThrowStatement:function(){return isThrowStatement},isTopicReference:function(){return isTopicReference},isTryStatement:function(){return isTryStatement$2},isTupleExpression:function(){return isTupleExpression},isTupleTypeAnnotation:function(){return isTupleTypeAnnotation},isType:function(){return isType},isTypeAlias:function(){return isTypeAlias},isTypeAnnotation:function(){return isTypeAnnotation},isTypeCastExpression:function(){return isTypeCastExpression},isTypeParameter:function(){return isTypeParameter},isTypeParameterDeclaration:function(){return isTypeParameterDeclaration},isTypeParameterInstantiation:function(){return isTypeParameterInstantiation},isTypeScript:function(){return isTypeScript},isTypeofTypeAnnotation:function(){return isTypeofTypeAnnotation},isUnaryExpression:function(){return isUnaryExpression$1},isUnaryLike:function(){return isUnaryLike},isUnionTypeAnnotation:function(){return isUnionTypeAnnotation},isUpdateExpression:function(){return isUpdateExpression},isUserWhitespacable:function(){return isUserWhitespacable},isV8IntrinsicIdentifier:function(){return isV8IntrinsicIdentifier},isValidES3Identifier:function(){return isValidES3Identifier},isValidIdentifier:function(){return isValidIdentifier},isVar:function(){return isVar},isVariableDeclaration:function(){return isVariableDeclaration$3},isVariableDeclarator:function(){return isVariableDeclarator$1},isVariance:function(){return isVariance},isVoidTypeAnnotation:function(){return isVoidTypeAnnotation},isWhile:function(){return isWhile},isWhileStatement:function(){return isWhileStatement},isWithStatement:function(){return isWithStatement},isYieldExpression:function(){return isYieldExpression$1},jSXAttribute:function(){return jsxAttribute$1},jSXClosingElement:function(){return jsxClosingElement},jSXClosingFragment:function(){return jsxClosingFragment},jSXElement:function(){return jsxElement$1},jSXEmptyExpression:function(){return jsxEmptyExpression},jSXExpressionContainer:function(){return jsxExpressionContainer},jSXFragment:function(){return jsxFragment$1},jSXIdentifier:function(){return jsxIdentifier},jSXMemberExpression:function(){return jsxMemberExpression},jSXNamespacedName:function(){return jsxNamespacedName},jSXOpeningElement:function(){return jsxOpeningElement$1},jSXOpeningFragment:function(){return jsxOpeningFragment},jSXSpreadAttribute:function(){return jsxSpreadAttribute},jSXSpreadChild:function(){return jsxSpreadChild},jSXText:function(){return jsxText$1},jsxAttribute:function(){return jsxAttribute$1},jsxClosingElement:function(){return jsxClosingElement},jsxClosingFragment:function(){return jsxClosingFragment},jsxElement:function(){return jsxElement$1},jsxEmptyExpression:function(){return jsxEmptyExpression},jsxExpressionContainer:function(){return jsxExpressionContainer},jsxFragment:function(){return jsxFragment$1},jsxIdentifier:function(){return jsxIdentifier},jsxMemberExpression:function(){return jsxMemberExpression},jsxNamespacedName:function(){return jsxNamespacedName},jsxOpeningElement:function(){return jsxOpeningElement$1},jsxOpeningFragment:function(){return jsxOpeningFragment},jsxSpreadAttribute:function(){return jsxSpreadAttribute},jsxSpreadChild:function(){return jsxSpreadChild},jsxText:function(){return jsxText$1},labeledStatement:function(){return labeledStatement},logicalExpression:function(){return logicalExpression},matchesPattern:function(){return matchesPattern$1},memberExpression:function(){return memberExpression},metaProperty:function(){return metaProperty},mixedTypeAnnotation:function(){return mixedTypeAnnotation},moduleExpression:function(){return moduleExpression},newExpression:function(){return newExpression$1},noop:function(){return noop$3},nullLiteral:function(){return nullLiteral},nullLiteralTypeAnnotation:function(){return nullLiteralTypeAnnotation},nullableTypeAnnotation:function(){return nullableTypeAnnotation},numberLiteral:function(){return NumberLiteral},numberLiteralTypeAnnotation:function(){return numberLiteralTypeAnnotation},numberTypeAnnotation:function(){return numberTypeAnnotation},numericLiteral:function(){return numericLiteral},objectExpression:function(){return objectExpression$1},objectMethod:function(){return objectMethod$1},objectPattern:function(){return objectPattern$1},objectProperty:function(){return objectProperty$1},objectTypeAnnotation:function(){return objectTypeAnnotation},objectTypeCallProperty:function(){return objectTypeCallProperty},objectTypeIndexer:function(){return objectTypeIndexer},objectTypeInternalSlot:function(){return objectTypeInternalSlot},objectTypeProperty:function(){return objectTypeProperty},objectTypeSpreadProperty:function(){return objectTypeSpreadProperty},opaqueType:function(){return opaqueType},optionalCallExpression:function(){return optionalCallExpression},optionalIndexedAccessType:function(){return optionalIndexedAccessType},optionalMemberExpression:function(){return optionalMemberExpression},parenthesizedExpression:function(){return parenthesizedExpression},pipelineBareFunction:function(){return pipelineBareFunction},pipelinePrimaryTopicReference:function(){return pipelinePrimaryTopicReference},pipelineTopicExpression:function(){return pipelineTopicExpression},placeholder:function(){return placeholder},prependToMemberExpression:function(){return prependToMemberExpression},privateName:function(){return privateName},program:function(){return program$1},qualifiedTypeIdentifier:function(){return qualifiedTypeIdentifier},react:function(){return react},recordExpression:function(){return recordExpression$1},regExpLiteral:function(){return regExpLiteral},regexLiteral:function(){return RegexLiteral},removeComments:function(){return removeComments},removeProperties:function(){return removeProperties},removePropertiesDeep:function(){return removePropertiesDeep},removeTypeDuplicates:function(){return removeTypeDuplicates$1},restElement:function(){return restElement$1},restProperty:function(){return RestProperty},returnStatement:function(){return returnStatement$1},sequenceExpression:function(){return sequenceExpression$1},shallowEqual:function(){return shallowEqual},spreadElement:function(){return spreadElement$1},spreadProperty:function(){return SpreadProperty},staticBlock:function(){return staticBlock$3},stringLiteral:function(){return stringLiteral},stringLiteralTypeAnnotation:function(){return stringLiteralTypeAnnotation},stringTypeAnnotation:function(){return stringTypeAnnotation},super:function(){return _super},switchCase:function(){return switchCase},switchStatement:function(){return switchStatement$1},symbolTypeAnnotation:function(){return symbolTypeAnnotation},tSAnyKeyword:function(){return tsAnyKeyword},tSArrayType:function(){return tsArrayType},tSAsExpression:function(){return tsAsExpression$1},tSBigIntKeyword:function(){return tsBigIntKeyword},tSBooleanKeyword:function(){return tsBooleanKeyword},tSCallSignatureDeclaration:function(){return tsCallSignatureDeclaration$1},tSConditionalType:function(){return tsConditionalType$1},tSConstructSignatureDeclaration:function(){return tsConstructSignatureDeclaration$1},tSConstructorType:function(){return tsConstructorType$1},tSDeclareFunction:function(){return tsDeclareFunction$1},tSDeclareMethod:function(){return tsDeclareMethod$1},tSEnumDeclaration:function(){return tsEnumDeclaration$1},tSEnumMember:function(){return tsEnumMember$1},tSExportAssignment:function(){return tsExportAssignment},tSExpressionWithTypeArguments:function(){return tsExpressionWithTypeArguments},tSExternalModuleReference:function(){return tsExternalModuleReference},tSFunctionType:function(){return tsFunctionType$1},tSImportEqualsDeclaration:function(){return tsImportEqualsDeclaration},tSImportType:function(){return tsImportType$1},tSIndexSignature:function(){return tsIndexSignature},tSIndexedAccessType:function(){return tsIndexedAccessType},tSInferType:function(){return tsInferType},tSInstantiationExpression:function(){return tsInstantiationExpression},tSInterfaceBody:function(){return tsInterfaceBody$1},tSInterfaceDeclaration:function(){return tsInterfaceDeclaration$1},tSIntersectionType:function(){return tsIntersectionType$1},tSIntrinsicKeyword:function(){return tsIntrinsicKeyword},tSLiteralType:function(){return tsLiteralType},tSMappedType:function(){return tsMappedType$1},tSMethodSignature:function(){return tsMethodSignature$1},tSModuleBlock:function(){return tsModuleBlock},tSModuleDeclaration:function(){return tsModuleDeclaration$1},tSNamedTupleMember:function(){return tsNamedTupleMember$1},tSNamespaceExportDeclaration:function(){return tsNamespaceExportDeclaration},tSNeverKeyword:function(){return tsNeverKeyword},tSNonNullExpression:function(){return tsNonNullExpression},tSNullKeyword:function(){return tsNullKeyword},tSNumberKeyword:function(){return tsNumberKeyword},tSObjectKeyword:function(){return tsObjectKeyword},tSOptionalType:function(){return tsOptionalType},tSParameterProperty:function(){return tsParameterProperty},tSParenthesizedType:function(){return tsParenthesizedType},tSPropertySignature:function(){return tsPropertySignature$1},tSQualifiedName:function(){return tsQualifiedName},tSRestType:function(){return tsRestType},tSSatisfiesExpression:function(){return tsSatisfiesExpression},tSStringKeyword:function(){return tsStringKeyword},tSSymbolKeyword:function(){return tsSymbolKeyword},tSThisType:function(){return tsThisType},tSTupleType:function(){return tsTupleType$1},tSTypeAliasDeclaration:function(){return tsTypeAliasDeclaration$1},tSTypeAnnotation:function(){return tsTypeAnnotation},tSTypeAssertion:function(){return tsTypeAssertion},tSTypeLiteral:function(){return tsTypeLiteral$1},tSTypeOperator:function(){return tsTypeOperator},tSTypeParameter:function(){return tsTypeParameter$1},tSTypeParameterDeclaration:function(){return tsTypeParameterDeclaration},tSTypeParameterInstantiation:function(){return tsTypeParameterInstantiation},tSTypePredicate:function(){return tsTypePredicate},tSTypeQuery:function(){return tsTypeQuery},tSTypeReference:function(){return tsTypeReference},tSUndefinedKeyword:function(){return tsUndefinedKeyword},tSUnionType:function(){return tsUnionType},tSUnknownKeyword:function(){return tsUnknownKeyword},tSVoidKeyword:function(){return tsVoidKeyword},taggedTemplateExpression:function(){return taggedTemplateExpression$1},templateElement:function(){return templateElement},templateLiteral:function(){return templateLiteral$1},thisExpression:function(){return thisExpression},thisTypeAnnotation:function(){return thisTypeAnnotation},throwStatement:function(){return throwStatement},toBindingIdentifierName:function(){return toBindingIdentifierName},toBlock:function(){return toBlock},toComputedKey:function(){return toComputedKey},toExpression:function(){return toExpression$2},toIdentifier:function(){return toIdentifier},toKeyAlias:function(){return toKeyAlias},toStatement:function(){return toStatement$1},topicReference:function(){return topicReference},traverse:function(){return traverse$m},traverseFast:function(){return traverseFast},tryStatement:function(){return tryStatement},tsAnyKeyword:function(){return tsAnyKeyword},tsArrayType:function(){return tsArrayType},tsAsExpression:function(){return tsAsExpression$1},tsBigIntKeyword:function(){return tsBigIntKeyword},tsBooleanKeyword:function(){return tsBooleanKeyword},tsCallSignatureDeclaration:function(){return tsCallSignatureDeclaration$1},tsConditionalType:function(){return tsConditionalType$1},tsConstructSignatureDeclaration:function(){return tsConstructSignatureDeclaration$1},tsConstructorType:function(){return tsConstructorType$1},tsDeclareFunction:function(){return tsDeclareFunction$1},tsDeclareMethod:function(){return tsDeclareMethod$1},tsEnumDeclaration:function(){return tsEnumDeclaration$1},tsEnumMember:function(){return tsEnumMember$1},tsExportAssignment:function(){return tsExportAssignment},tsExpressionWithTypeArguments:function(){return tsExpressionWithTypeArguments},tsExternalModuleReference:function(){return tsExternalModuleReference},tsFunctionType:function(){return tsFunctionType$1},tsImportEqualsDeclaration:function(){return tsImportEqualsDeclaration},tsImportType:function(){return tsImportType$1},tsIndexSignature:function(){return tsIndexSignature},tsIndexedAccessType:function(){return tsIndexedAccessType},tsInferType:function(){return tsInferType},tsInstantiationExpression:function(){return tsInstantiationExpression},tsInterfaceBody:function(){return tsInterfaceBody$1},tsInterfaceDeclaration:function(){return tsInterfaceDeclaration$1},tsIntersectionType:function(){return tsIntersectionType$1},tsIntrinsicKeyword:function(){return tsIntrinsicKeyword},tsLiteralType:function(){return tsLiteralType},tsMappedType:function(){return tsMappedType$1},tsMethodSignature:function(){return tsMethodSignature$1},tsModuleBlock:function(){return tsModuleBlock},tsModuleDeclaration:function(){return tsModuleDeclaration$1},tsNamedTupleMember:function(){return tsNamedTupleMember$1},tsNamespaceExportDeclaration:function(){return tsNamespaceExportDeclaration},tsNeverKeyword:function(){return tsNeverKeyword},tsNonNullExpression:function(){return tsNonNullExpression},tsNullKeyword:function(){return tsNullKeyword},tsNumberKeyword:function(){return tsNumberKeyword},tsObjectKeyword:function(){return tsObjectKeyword},tsOptionalType:function(){return tsOptionalType},tsParameterProperty:function(){return tsParameterProperty},tsParenthesizedType:function(){return tsParenthesizedType},tsPropertySignature:function(){return tsPropertySignature$1},tsQualifiedName:function(){return tsQualifiedName},tsRestType:function(){return tsRestType},tsSatisfiesExpression:function(){return tsSatisfiesExpression},tsStringKeyword:function(){return tsStringKeyword},tsSymbolKeyword:function(){return tsSymbolKeyword},tsThisType:function(){return tsThisType},tsTupleType:function(){return tsTupleType$1},tsTypeAliasDeclaration:function(){return tsTypeAliasDeclaration$1},tsTypeAnnotation:function(){return tsTypeAnnotation},tsTypeAssertion:function(){return tsTypeAssertion},tsTypeLiteral:function(){return tsTypeLiteral$1},tsTypeOperator:function(){return tsTypeOperator},tsTypeParameter:function(){return tsTypeParameter$1},tsTypeParameterDeclaration:function(){return tsTypeParameterDeclaration},tsTypeParameterInstantiation:function(){return tsTypeParameterInstantiation},tsTypePredicate:function(){return tsTypePredicate},tsTypeQuery:function(){return tsTypeQuery},tsTypeReference:function(){return tsTypeReference},tsUndefinedKeyword:function(){return tsUndefinedKeyword},tsUnionType:function(){return tsUnionType},tsUnknownKeyword:function(){return tsUnknownKeyword},tsVoidKeyword:function(){return tsVoidKeyword},tupleExpression:function(){return tupleExpression$1},tupleTypeAnnotation:function(){return tupleTypeAnnotation},typeAlias:function(){return typeAlias},typeAnnotation:function(){return typeAnnotation},typeCastExpression:function(){return typeCastExpression},typeParameter:function(){return typeParameter},typeParameterDeclaration:function(){return typeParameterDeclaration},typeParameterInstantiation:function(){return typeParameterInstantiation},typeofTypeAnnotation:function(){return typeofTypeAnnotation},unaryExpression:function(){return unaryExpression$1},unionTypeAnnotation:function(){return unionTypeAnnotation},updateExpression:function(){return updateExpression},v8IntrinsicIdentifier:function(){return v8IntrinsicIdentifier},validate:function(){return validate$2},valueToNode:function(){return valueToNode},variableDeclaration:function(){return variableDeclaration$1},variableDeclarator:function(){return variableDeclarator},variance:function(){return variance},voidTypeAnnotation:function(){return voidTypeAnnotation},whileStatement:function(){return whileStatement$1},withStatement:function(){return withStatement},yieldExpression:function(){return yieldExpression}});var import_to_fast_properties=__toESM(require_to_fast_properties(),1),nonASCIIidentifierStartChars="ªµºÀ-ÖØ-öø-ˁˆ-ˑˠ-ˤˬˮͰ-ʹͶͷͺ-ͽͿΆΈ-ΊΌΎ-ΡΣ-ϵϷ-ҁҊ-ԯԱ-Ֆՙՠ-ֈא-תׯ-ײؠ-يٮٯٱ-ۓەۥۦۮۯۺ-ۼۿܐܒ-ܯݍ-ޥޱߊ-ߪߴߵߺࠀ-ࠕࠚࠤࠨࡀ-ࡘࡠ-ࡪࡰ-ࢇࢉ-ࢎࢠ-ࣉऄ-हऽॐक़-ॡॱ-ঀঅ-ঌএঐও-নপ-রলশ-হঽৎড়ঢ়য়-ৡৰৱৼਅ-ਊਏਐਓ-ਨਪ-ਰਲਲ਼ਵਸ਼ਸਹਖ਼-ੜਫ਼ੲ-ੴઅ-ઍએ-ઑઓ-નપ-રલળવ-હઽૐૠૡૹଅ-ଌଏଐଓ-ନପ-ରଲଳଵ-ହଽଡ଼ଢ଼ୟ-ୡୱஃஅ-ஊஎ-ஐஒ-கஙசஜஞடணதந-பம-ஹௐఅ-ఌఎ-ఐఒ-నప-హఽౘ-ౚౝౠౡಀಅ-ಌಎ-ಐಒ-ನಪ-ಳವ-ಹಽೝೞೠೡೱೲഄ-ഌഎ-ഐഒ-ഺഽൎൔ-ൖൟ-ൡൺ-ൿඅ-ඖක-නඳ-රලව-ෆก-ะาำเ-ๆກຂຄຆ-ຊຌ-ຣລວ-ະາຳຽເ-ໄໆໜ-ໟༀཀ-ཇཉ-ཬྈ-ྌက-ဪဿၐ-ၕၚ-ၝၡၥၦၮ-ၰၵ-ႁႎႠ-ჅჇჍა-ჺჼ-ቈቊ-ቍቐ-ቖቘቚ-ቝበ-ኈኊ-ኍነ-ኰኲ-ኵኸ-ኾዀዂ-ዅወ-ዖዘ-ጐጒ-ጕጘ-ፚᎀ-ᎏᎠ-Ᏽᏸ-ᏽᐁ-ᙬᙯ-ᙿᚁ-ᚚᚠ-ᛪᛮ-ᛸᜀ-ᜑᜟ-ᜱᝀ-ᝑᝠ-ᝬᝮ-ᝰក-ឳៗៜᠠ-ᡸᢀ-ᢨᢪᢰ-ᣵᤀ-ᤞᥐ-ᥭᥰ-ᥴᦀ-ᦫᦰ-ᧉᨀ-ᨖᨠ-ᩔᪧᬅ-ᬳᭅ-ᭌᮃ-ᮠᮮᮯᮺ-ᯥᰀ-ᰣᱍ-ᱏᱚ-ᱽᲀ-ᲈᲐ-ᲺᲽ-Ჿᳩ-ᳬᳮ-ᳳᳵᳶᳺᴀ-ᶿḀ-ἕἘ-Ἕἠ-ὅὈ-Ὅὐ-ὗὙὛὝὟ-ώᾀ-ᾴᾶ-ᾼιῂ-ῄῆ-ῌῐ-ΐῖ-Ίῠ-Ῥῲ-ῴῶ-ῼⁱⁿₐ-ₜℂℇℊ-ℓℕ℘-ℝℤΩℨK-ℹℼ-ℿⅅ-ⅉⅎⅠ-ↈⰀ-ⳤⳫ-ⳮⳲⳳⴀ-ⴥⴧⴭⴰ-ⵧⵯⶀ-ⶖⶠ-ⶦⶨ-ⶮⶰ-ⶶⶸ-ⶾⷀ-ⷆⷈ-ⷎⷐ-ⷖⷘ-ⷞ々-〇〡-〩〱-〵〸-〼ぁ-ゖ゛-ゟァ-ヺー-ヿㄅ-ㄯㄱ-ㆎㆠ-ㆿㇰ-ㇿ㐀-䶿一-ꒌꓐ-ꓽꔀ-ꘌꘐ-ꘟꘪꘫꙀ-ꙮꙿ-ꚝꚠ-ꛯꜗ-ꜟꜢ-ꞈꞋ-ꟊꟐꟑꟓꟕ-ꟙꟲ-ꠁꠃ-ꠅꠇ-ꠊꠌ-ꠢꡀ-ꡳꢂ-ꢳꣲ-ꣷꣻꣽꣾꤊ-ꤥꤰ-ꥆꥠ-ꥼꦄ-ꦲꧏꧠ-ꧤꧦ-ꧯꧺ-ꧾꨀ-ꨨꩀ-ꩂꩄ-ꩋꩠ-ꩶꩺꩾ-ꪯꪱꪵꪶꪹ-ꪽꫀꫂꫛ-ꫝꫠ-ꫪꫲ-ꫴꬁ-ꬆꬉ-ꬎꬑ-ꬖꬠ-ꬦꬨ-ꬮꬰ-ꭚꭜ-ꭩꭰ-ꯢ가-힣ힰ-ퟆퟋ-ퟻ豈-舘並-龎ff-stﬓ-ﬗיִײַ-ﬨשׁ-זּטּ-לּמּנּסּףּפּצּ-ﮱﯓ-ﴽﵐ-ﶏﶒ-ﷇﷰ-ﷻﹰ-ﹴﹶ-ﻼA-Za-zヲ-하-ᅦᅧ-ᅬᅭ-ᅲᅳ-ᅵ",nonASCIIidentifierChars="·̀-ͯ·҃-֑҇-ׇֽֿׁׂׅׄؐ-ًؚ-٩ٰۖ-ۜ۟-۪ۤۧۨ-ۭ۰-۹ܑܰ-݊ަ-ް߀-߉߫-߽߳ࠖ-࠙ࠛ-ࠣࠥ-ࠧࠩ-࡙࠭-࡛࢘-࢟࣊-ࣣ࣡-ःऺ-़ा-ॏ॑-ॗॢॣ०-९ঁ-ঃ়া-ৄেৈো-্ৗৢৣ০-৯৾ਁ-ਃ਼ਾ-ੂੇੈੋ-੍ੑ੦-ੱੵઁ-ઃ઼ા-ૅે-ૉો-્ૢૣ૦-૯ૺ-૿ଁ-ଃ଼ା-ୄେୈୋ-୍୕-ୗୢୣ୦-୯ஂா-ூெ-ைொ-்ௗ௦-௯ఀ-ఄ఼ా-ౄె-ైొ-్ౕౖౢౣ౦-౯ಁ-ಃ಼ಾ-ೄೆ-ೈೊ-್ೕೖೢೣ೦-೯ೳഀ-ഃ഻഼ാ-ൄെ-ൈൊ-്ൗൢൣ൦-൯ඁ-ඃ්ා-ුූෘ-ෟ෦-෯ෲෳัิ-ฺ็-๎๐-๙ັິ-ຼ່-໎໐-໙༘༙༠-༩༹༵༷༾༿ཱ-྄྆྇ྍ-ྗྙ-ྼ࿆ါ-ှ၀-၉ၖ-ၙၞ-ၠၢ-ၤၧ-ၭၱ-ၴႂ-ႍႏ-ႝ፝-፟፩-፱ᜒ-᜕ᜲ-᜴ᝒᝓᝲᝳ឴-៓៝០-៩᠋-᠍᠏-᠙ᢩᤠ-ᤫᤰ-᤻᥆-᥏᧐-᧚ᨗ-ᨛᩕ-ᩞ᩠-᩿᩼-᪉᪐-᪙᪰-᪽ᪿ-ᫎᬀ-ᬄ᬴-᭄᭐-᭙᭫-᭳ᮀ-ᮂᮡ-ᮭ᮰-᮹᯦-᯳ᰤ-᰷᱀-᱉᱐-᱙᳐-᳔᳒-᳨᳭᳴᳷-᳹᷀-᷿‿⁀⁔⃐-⃥⃜⃡-⃰⳯-⵿⳱ⷠ-〪ⷿ-゙゚〯・꘠-꘩꙯ꙴ-꙽ꚞꚟ꛰꛱ꠂ꠆ꠋꠣ-ꠧ꠬ꢀꢁꢴ-ꣅ꣐-꣙꣠-꣱ꣿ-꤉ꤦ-꤭ꥇ-꥓ꦀ-ꦃ꦳-꧀꧐-꧙ꧥ꧰-꧹ꨩ-ꨶꩃꩌꩍ꩐-꩙ꩻ-ꩽꪰꪲ-ꪴꪷꪸꪾ꪿꫁ꫫ-ꫯꫵ꫶ꯣ-ꯪ꯬꯭꯰-꯹ﬞ︀-️︠-︯︳︴﹍-﹏0-9_・",nonASCIIidentifierStart=new RegExp("["+nonASCIIidentifierStartChars+"]"),nonASCIIidentifier=new RegExp("["+nonASCIIidentifierStartChars+nonASCIIidentifierChars+"]");nonASCIIidentifierStartChars=nonASCIIidentifierChars=null;var astralIdentifierStartCodes=[0,11,2,25,2,18,2,1,2,14,3,13,35,122,70,52,268,28,4,48,48,31,14,29,6,37,11,29,3,35,5,7,2,4,43,157,19,35,5,35,5,39,9,51,13,10,2,14,2,6,2,1,2,10,2,14,2,6,2,1,68,310,10,21,11,7,25,5,2,41,2,8,70,5,3,0,2,43,2,1,4,0,3,22,11,22,10,30,66,18,2,1,11,21,11,25,71,55,7,1,65,0,16,3,2,2,2,28,43,28,4,28,36,7,2,27,28,53,11,21,11,18,14,17,111,72,56,50,14,50,14,35,349,41,7,1,79,28,11,0,9,21,43,17,47,20,28,22,13,52,58,1,3,0,14,44,33,24,27,35,30,0,3,0,9,34,4,0,13,47,15,3,22,0,2,0,36,17,2,24,20,1,64,6,2,0,2,3,2,14,2,9,8,46,39,7,3,1,3,21,2,6,2,1,2,4,4,0,19,0,13,4,159,52,19,3,21,2,31,47,21,1,2,0,185,46,42,3,37,47,21,0,60,42,14,0,72,26,38,6,186,43,117,63,32,7,3,0,3,7,2,1,2,23,16,0,2,0,95,7,3,38,17,0,2,0,29,0,11,39,8,0,22,0,12,45,20,0,19,72,264,8,2,36,18,0,50,29,113,6,2,1,2,37,22,0,26,5,2,1,2,31,15,0,328,18,16,0,2,12,2,33,125,0,80,921,103,110,18,195,2637,96,16,1071,18,5,4026,582,8634,568,8,30,18,78,18,29,19,47,17,3,32,20,6,18,689,63,129,74,6,0,67,12,65,1,2,0,29,6135,9,1237,43,8,8936,3,2,6,2,1,2,290,16,0,30,2,3,0,15,3,9,395,2309,106,6,12,4,8,8,9,5991,84,2,70,2,1,3,0,3,1,3,3,2,11,2,0,2,6,2,64,2,3,3,7,2,6,2,27,2,3,2,4,2,0,4,6,2,339,3,24,2,24,2,30,2,24,2,30,2,24,2,30,2,24,2,30,2,24,2,7,1845,30,7,5,262,61,147,44,11,6,17,0,322,29,19,43,485,27,757,6,2,3,2,1,2,14,2,196,60,67,8,0,1205,3,2,26,2,1,2,0,3,0,2,9,2,3,2,0,2,0,7,0,5,0,2,0,2,0,2,2,2,1,2,0,3,0,2,0,2,0,2,0,2,0,2,1,2,0,3,3,2,6,2,3,2,3,2,0,2,9,2,16,6,2,2,4,2,16,4421,42719,33,4153,7,221,3,5761,15,7472,16,621,2467,541,1507,4938,6,4191],astralIdentifierCodes=[509,0,227,0,150,4,294,9,1368,2,2,1,6,3,41,2,5,0,166,1,574,3,9,9,370,1,81,2,71,10,50,3,123,2,54,14,32,10,3,1,11,3,46,10,8,0,46,9,7,2,37,13,2,9,6,1,45,0,13,2,49,13,9,3,2,11,83,11,7,0,3,0,158,11,6,9,7,3,56,1,2,6,3,1,3,2,10,0,11,1,3,6,4,4,193,17,10,9,5,0,82,19,13,9,214,6,3,8,28,1,83,16,16,9,82,12,9,9,84,14,5,9,243,14,166,9,71,5,2,1,3,3,2,0,2,1,13,9,120,6,3,6,4,0,29,9,41,6,2,3,9,0,10,10,47,15,406,7,2,7,17,9,57,21,2,13,123,5,4,0,2,1,2,6,2,0,9,9,49,4,2,1,2,4,9,9,330,3,10,1,2,0,49,6,4,4,14,9,5351,0,7,14,13835,9,87,9,39,4,60,6,26,9,1014,0,2,54,8,3,82,0,12,1,19628,1,4706,45,3,22,543,4,4,5,9,7,3,6,31,3,149,2,1418,49,513,54,5,49,9,0,15,0,23,4,2,14,1361,6,2,16,3,6,2,1,2,4,101,0,161,6,10,9,357,0,62,13,499,13,983,6,110,6,6,9,4759,9,787719,239];function isInAstralSet(e,t){for(var r=65536,n=0,i=t.length;n<i;n+=2){if((r+=t[n])>e)return!1;if((r+=t[n+1])>=e)return!0}return!1}function isIdentifierStart(e){return e<65?36===e:e<=90||(e<97?95===e:e<=122||(e<=65535?e>=170&&nonASCIIidentifierStart.test(String.fromCharCode(e)):isInAstralSet(e,astralIdentifierStartCodes)))}function isIdentifierChar(e){return e<48?36===e:e<58||!(e<65)&&(e<=90||(e<97?95===e:e<=122||(e<=65535?e>=170&&nonASCIIidentifier.test(String.fromCharCode(e)):isInAstralSet(e,astralIdentifierStartCodes)||isInAstralSet(e,astralIdentifierCodes))))}function isIdentifierName(e){for(var t=!0,r=0;r<e.length;r++){var n=e.charCodeAt(r);if(55296==(64512&n)&&r+1<e.length){var i=e.charCodeAt(++r);56320==(64512&i)&&(n=65536+((1023&n)<<10)+(1023&i))}if(t){if(t=!1,!isIdentifierStart(n))return!1}else if(!isIdentifierChar(n))return!1}return!t}var reservedWords={keyword:["break","case","catch","continue","debugger","default","do","else","finally","for","function","if","return","switch","throw","try","var","const","while","with","new","this","super","class","extends","export","import","null","true","false","in","instanceof","typeof","void","delete"],strict:["implements","interface","let","package","private","protected","public","static","yield"],strictBind:["eval","arguments"]},keywords=new Set(reservedWords.keyword),reservedWordsStrictSet=new Set(reservedWords.strict);function isReservedWord(e,t){return t&&"await"===e||"enum"===e}function isStrictReservedWord(e,t){return isReservedWord(e,t)||reservedWordsStrictSet.has(e)}function isKeyword(e){return keywords.has(e)}new Set(reservedWords.strictBind);var _isDigit=function(e){return e>=48&&e<=57},forbiddenNumericSeparatorSiblings={decBinOct:new Set([46,66,69,79,95,98,101,111]),hex:new Set([46,88,95,120])},isAllowedNumericSeparatorSibling={bin:function(e){return 48===e||49===e},oct:function(e){return e>=48&&e<=55},dec:function(e){return e>=48&&e<=57},hex:function(e){return e>=48&&e<=57||e>=65&&e<=70||e>=97&&e<=102}};function readStringContents(e,t,r,n,i,a){for(var s=r,o=n,l=i,u="",c=null,p=r,d=t.length;;){if(r>=d){a.unterminated(s,o,l),u+=t.slice(p,r);break}var f=t.charCodeAt(r);if(isStringEnd(e,f,t,r)){u+=t.slice(p,r);break}if(92===f){u+=t.slice(p,r);var h,m=readEscapedChar(t,r,n,i,"template"===e,a);null!==m.ch||c?u+=m.ch:c={pos:r,lineStart:n,curLine:i},r=(h=m).pos,n=h.lineStart,i=h.curLine,p=r}else 8232===f||8233===f?(++i,n=++r):10===f||13===f?"template"===e?(u+=t.slice(p,r)+"\n",++r,13===f&&10===t.charCodeAt(r)&&++r,++i,p=n=r):a.unterminated(s,o,l):++r}return{pos:r,str:u,firstInvalidLoc:c,lineStart:n,curLine:i}}function isStringEnd(e,t,r,n){return"template"===e?96===t||36===t&&123===r.charCodeAt(n+1):t===("double"===e?34:39)}function readEscapedChar(e,t,r,n,i,a){var s=!i;t++;var o=function(e){return{pos:t,ch:e,lineStart:r,curLine:n}},l=e.charCodeAt(t++);switch(l){case 110:return o("\n");case 114:return o("\r");case 120:var u,c;return u=(c=readHexChar(e,t,r,n,2,!1,s,a)).code,t=c.pos,o(null===u?null:String.fromCharCode(u));case 117:var p,d;return p=(d=readCodePoint(e,t,r,n,s,a)).code,t=d.pos,o(null===p?null:String.fromCodePoint(p));case 116:return o("\t");case 98:return o("\b");case 118:return o("\v");case 102:return o("\f");case 13:10===e.charCodeAt(t)&&++t;case 10:r=t,++n;case 8232:case 8233:return o("");case 56:case 57:if(i)return o(null);a.strictNumericEscape(t-1,r,n);default:if(l>=48&&l<=55){var f=t-1,h=e.slice(f,t+2).match(/^[0-7]+/)[0],m=parseInt(h,8);m>255&&(h=h.slice(0,-1),m=parseInt(h,8)),t+=h.length-1;var y=e.charCodeAt(t);if("0"!==h||56===y||57===y){if(i)return o(null);a.strictNumericEscape(f,r,n)}return o(String.fromCharCode(m))}return o(String.fromCharCode(l))}}function readHexChar(e,t,r,n,i,a,s,o){var l,u,c=t;return l=(u=readInt(e,t,r,n,16,i,a,!1,o,!s)).n,t=u.pos,null===l&&(s?o.invalidEscapeSequence(c,r,n):t=c-1),{code:l,pos:t}}function readInt(e,t,r,n,i,a,s,o,l,u){for(var c=t,p=16===i?forbiddenNumericSeparatorSiblings.hex:forbiddenNumericSeparatorSiblings.decBinOct,d=16===i?isAllowedNumericSeparatorSibling.hex:10===i?isAllowedNumericSeparatorSibling.dec:8===i?isAllowedNumericSeparatorSibling.oct:isAllowedNumericSeparatorSibling.bin,f=!1,h=0,m=0,y=null==a?1/0:a;m<y;++m){var g=e.charCodeAt(t),v=void 0;if(95!==g||"bail"===o){if((v=g>=97?g-97+10:g>=65?g-65+10:_isDigit(g)?g-48:1/0)>=i){if(v<=9&&u)return{n:null,pos:t};if(v<=9&&l.invalidDigit(t,r,n,i))v=0;else{if(!s)break;v=0,f=!0}}++t,h=h*i+v}else{var b=e.charCodeAt(t-1),S=e.charCodeAt(t+1);if(o){if(Number.isNaN(S)||!d(S)||p.has(b)||p.has(S)){if(u)return{n:null,pos:t};l.unexpectedNumericSeparator(t,r,n)}}else{if(u)return{n:null,pos:t};l.numericSeparatorInEscapeSequence(t,r,n)}++t}}return t===c||null!=a&&t-c!==a||f?{n:null,pos:t}:{n:h,pos:t}}function readCodePoint(e,t,r,n,i,a){var s,o,l;if(123===e.charCodeAt(t)){if(s=(o=readHexChar(e,++t,r,n,e.indexOf("}",t)-t,!0,i,a)).code,t=o.pos,++t,null!==s&&s>1114111){if(!i)return{code:null,pos:t};a.invalidCodePoint(t,r,n)}}else s=(l=readHexChar(e,t,r,n,4,!1,i,a)).code,t=l.pos;return{code:s,pos:t}}function shallowEqual(e,t){var r=Object.keys(t),n=!0,i=!1,a=void 0;try{for(var s,o=r[Symbol.iterator]();!(n=(s=o.next()).done);n=!0){var l=s.value;if(e[l]!==t[l])return!1}}catch(e){i=!0,a=e}finally{try{n||null==o.return||o.return()}finally{if(i)throw a}}return!0}var warnings=new Set;function deprecationWarning(e,t){var r=arguments.length>2&&void 0!==arguments[2]?arguments[2]:"";if(!warnings.has(e)){warnings.add(e);var n=captureShortStackTrace(1,2),i=n.internal,a=n.trace;i||console.warn("".concat(r,"`").concat(e,"` has been deprecated, please migrate to `").concat(t,"`\n").concat(a))}}function captureShortStackTrace(e,t){var r,n=Error.stackTraceLimit,i=Error.prepareStackTrace;if(Error.stackTraceLimit=1+e+t,Error.prepareStackTrace=function(e,t){r=t},(new Error).stack,Error.stackTraceLimit=n,Error.prepareStackTrace=i,!r)return{internal:!1,trace:""};var a=r.slice(1+e,1+e+t);return{internal:/[\\/]@babel[\\/]/.test(a[1].getFileName()),trace:a.map((function(e){return" at ".concat(e)})).join("\n")}}function isArrayExpression$7(e,t){return!!e&&("ArrayExpression"===e.type&&(null==t||shallowEqual(e,t)))}function isAssignmentExpression(e,t){return!!e&&("AssignmentExpression"===e.type&&(null==t||shallowEqual(e,t)))}function isBinaryExpression$3(e,t){return!!e&&("BinaryExpression"===e.type&&(null==t||shallowEqual(e,t)))}function isInterpreterDirective(e,t){return!!e&&("InterpreterDirective"===e.type&&(null==t||shallowEqual(e,t)))}function isDirective(e,t){return!!e&&("Directive"===e.type&&(null==t||shallowEqual(e,t)))}function isDirectiveLiteral(e,t){return!!e&&("DirectiveLiteral"===e.type&&(null==t||shallowEqual(e,t)))}function isBlockStatement$e(e,t){return!!e&&("BlockStatement"===e.type&&(null==t||shallowEqual(e,t)))}function isBreakStatement$1(e,t){return!!e&&("BreakStatement"===e.type&&(null==t||shallowEqual(e,t)))}function isCallExpression$5(e,t){return!!e&&("CallExpression"===e.type&&(null==t||shallowEqual(e,t)))}function isCatchClause$1(e,t){return!!e&&("CatchClause"===e.type&&(null==t||shallowEqual(e,t)))}function isConditionalExpression$1(e,t){return!!e&&("ConditionalExpression"===e.type&&(null==t||shallowEqual(e,t)))}function isContinueStatement$1(e,t){return!!e&&("ContinueStatement"===e.type&&(null==t||shallowEqual(e,t)))}function isDebuggerStatement(e,t){return!!e&&("DebuggerStatement"===e.type&&(null==t||shallowEqual(e,t)))}function isDoWhileStatement$1(e,t){return!!e&&("DoWhileStatement"===e.type&&(null==t||shallowEqual(e,t)))}function isEmptyStatement(e,t){return!!e&&("EmptyStatement"===e.type&&(null==t||shallowEqual(e,t)))}function isExpressionStatement$3(e,t){return!!e&&("ExpressionStatement"===e.type&&(null==t||shallowEqual(e,t)))}function isFile$2(e,t){return!!e&&("File"===e.type&&(null==t||shallowEqual(e,t)))}function isForInStatement(e,t){return!!e&&("ForInStatement"===e.type&&(null==t||shallowEqual(e,t)))}function isForStatement(e,t){return!!e&&("ForStatement"===e.type&&(null==t||shallowEqual(e,t)))}function isFunctionDeclaration$5(e,t){return!!e&&("FunctionDeclaration"===e.type&&(null==t||shallowEqual(e,t)))}function isFunctionExpression$2(e,t){return!!e&&("FunctionExpression"===e.type&&(null==t||shallowEqual(e,t)))}function isIdentifier$r(e,t){return!!e&&("Identifier"===e.type&&(null==t||shallowEqual(e,t)))}function isIfStatement$4(e,t){return!!e&&("IfStatement"===e.type&&(null==t||shallowEqual(e,t)))}function isLabeledStatement$1(e,t){return!!e&&("LabeledStatement"===e.type&&(null==t||shallowEqual(e,t)))}function isStringLiteral$8(e,t){return!!e&&("StringLiteral"===e.type&&(null==t||shallowEqual(e,t)))}function isNumericLiteral$1(e,t){return!!e&&("NumericLiteral"===e.type&&(null==t||shallowEqual(e,t)))}function isNullLiteral$2(e,t){return!!e&&("NullLiteral"===e.type&&(null==t||shallowEqual(e,t)))}function isBooleanLiteral$2(e,t){return!!e&&("BooleanLiteral"===e.type&&(null==t||shallowEqual(e,t)))}function isRegExpLiteral$4(e,t){return!!e&&("RegExpLiteral"===e.type&&(null==t||shallowEqual(e,t)))}function isLogicalExpression(e,t){return!!e&&("LogicalExpression"===e.type&&(null==t||shallowEqual(e,t)))}function isMemberExpression$6(e,t){return!!e&&("MemberExpression"===e.type&&(null==t||shallowEqual(e,t)))}function isNewExpression(e,t){return!!e&&("NewExpression"===e.type&&(null==t||shallowEqual(e,t)))}function isProgram$4(e,t){return!!e&&("Program"===e.type&&(null==t||shallowEqual(e,t)))}function isObjectExpression$7(e,t){return!!e&&("ObjectExpression"===e.type&&(null==t||shallowEqual(e,t)))}function isObjectMethod$2(e,t){return!!e&&("ObjectMethod"===e.type&&(null==t||shallowEqual(e,t)))}function isObjectProperty$3(e,t){return!!e&&("ObjectProperty"===e.type&&(null==t||shallowEqual(e,t)))}function isRestElement$4(e,t){return!!e&&("RestElement"===e.type&&(null==t||shallowEqual(e,t)))}function isReturnStatement$4(e,t){return!!e&&("ReturnStatement"===e.type&&(null==t||shallowEqual(e,t)))}function isSequenceExpression(e,t){return!!e&&("SequenceExpression"===e.type&&(null==t||shallowEqual(e,t)))}function isParenthesizedExpression(e,t){return!!e&&("ParenthesizedExpression"===e.type&&(null==t||shallowEqual(e,t)))}function isSwitchCase(e,t){return!!e&&("SwitchCase"===e.type&&(null==t||shallowEqual(e,t)))}function isSwitchStatement(e,t){return!!e&&("SwitchStatement"===e.type&&(null==t||shallowEqual(e,t)))}function isThisExpression(e,t){return!!e&&("ThisExpression"===e.type&&(null==t||shallowEqual(e,t)))}function isThrowStatement(e,t){return!!e&&("ThrowStatement"===e.type&&(null==t||shallowEqual(e,t)))}function isTryStatement$2(e,t){return!!e&&("TryStatement"===e.type&&(null==t||shallowEqual(e,t)))}function isUnaryExpression$1(e,t){return!!e&&("UnaryExpression"===e.type&&(null==t||shallowEqual(e,t)))}function isUpdateExpression(e,t){return!!e&&("UpdateExpression"===e.type&&(null==t||shallowEqual(e,t)))}function isVariableDeclaration$3(e,t){return!!e&&("VariableDeclaration"===e.type&&(null==t||shallowEqual(e,t)))}function isVariableDeclarator$1(e,t){return!!e&&("VariableDeclarator"===e.type&&(null==t||shallowEqual(e,t)))}function isWhileStatement(e,t){return!!e&&("WhileStatement"===e.type&&(null==t||shallowEqual(e,t)))}function isWithStatement(e,t){return!!e&&("WithStatement"===e.type&&(null==t||shallowEqual(e,t)))}function isAssignmentPattern$6(e,t){return!!e&&("AssignmentPattern"===e.type&&(null==t||shallowEqual(e,t)))}function isArrayPattern$1(e,t){return!!e&&("ArrayPattern"===e.type&&(null==t||shallowEqual(e,t)))}function isArrowFunctionExpression$4(e,t){return!!e&&("ArrowFunctionExpression"===e.type&&(null==t||shallowEqual(e,t)))}function isClassBody$1(e,t){return!!e&&("ClassBody"===e.type&&(null==t||shallowEqual(e,t)))}function isClassExpression(e,t){return!!e&&("ClassExpression"===e.type&&(null==t||shallowEqual(e,t)))}function isClassDeclaration$2(e,t){return!!e&&("ClassDeclaration"===e.type&&(null==t||shallowEqual(e,t)))}function isExportAllDeclaration(e,t){return!!e&&("ExportAllDeclaration"===e.type&&(null==t||shallowEqual(e,t)))}function isExportDefaultDeclaration(e,t){return!!e&&("ExportDefaultDeclaration"===e.type&&(null==t||shallowEqual(e,t)))}function isExportNamedDeclaration(e,t){return!!e&&("ExportNamedDeclaration"===e.type&&(null==t||shallowEqual(e,t)))}function isExportSpecifier$1(e,t){return!!e&&("ExportSpecifier"===e.type&&(null==t||shallowEqual(e,t)))}function isForOfStatement$1(e,t){return!!e&&("ForOfStatement"===e.type&&(null==t||shallowEqual(e,t)))}function isImportDeclaration$3(e,t){return!!e&&("ImportDeclaration"===e.type&&(null==t||shallowEqual(e,t)))}function isImportDefaultSpecifier$3(e,t){return!!e&&("ImportDefaultSpecifier"===e.type&&(null==t||shallowEqual(e,t)))}function isImportNamespaceSpecifier$1(e,t){return!!e&&("ImportNamespaceSpecifier"===e.type&&(null==t||shallowEqual(e,t)))}function isImportSpecifier(e,t){return!!e&&("ImportSpecifier"===e.type&&(null==t||shallowEqual(e,t)))}function isImportExpression(e,t){return!!e&&("ImportExpression"===e.type&&(null==t||shallowEqual(e,t)))}function isMetaProperty(e,t){return!!e&&("MetaProperty"===e.type&&(null==t||shallowEqual(e,t)))}function isClassMethod$2(e,t){return!!e&&("ClassMethod"===e.type&&(null==t||shallowEqual(e,t)))}function isObjectPattern$8(e,t){return!!e&&("ObjectPattern"===e.type&&(null==t||shallowEqual(e,t)))}function isSpreadElement$4(e,t){return!!e&&("SpreadElement"===e.type&&(null==t||shallowEqual(e,t)))}function isSuper(e,t){return!!e&&("Super"===e.type&&(null==t||shallowEqual(e,t)))}function isTaggedTemplateExpression(e,t){return!!e&&("TaggedTemplateExpression"===e.type&&(null==t||shallowEqual(e,t)))}function isTemplateElement$4(e,t){return!!e&&("TemplateElement"===e.type&&(null==t||shallowEqual(e,t)))}function isTemplateLiteral$5(e,t){return!!e&&("TemplateLiteral"===e.type&&(null==t||shallowEqual(e,t)))}function isYieldExpression$1(e,t){return!!e&&("YieldExpression"===e.type&&(null==t||shallowEqual(e,t)))}function isAwaitExpression$1(e,t){return!!e&&("AwaitExpression"===e.type&&(null==t||shallowEqual(e,t)))}function isImport(e,t){return!!e&&("Import"===e.type&&(null==t||shallowEqual(e,t)))}function isBigIntLiteral(e,t){return!!e&&("BigIntLiteral"===e.type&&(null==t||shallowEqual(e,t)))}function isExportNamespaceSpecifier$1(e,t){return!!e&&("ExportNamespaceSpecifier"===e.type&&(null==t||shallowEqual(e,t)))}function isOptionalMemberExpression$1(e,t){return!!e&&("OptionalMemberExpression"===e.type&&(null==t||shallowEqual(e,t)))}function isOptionalCallExpression(e,t){return!!e&&("OptionalCallExpression"===e.type&&(null==t||shallowEqual(e,t)))}function isClassProperty$1(e,t){return!!e&&("ClassProperty"===e.type&&(null==t||shallowEqual(e,t)))}function isClassAccessorProperty(e,t){return!!e&&("ClassAccessorProperty"===e.type&&(null==t||shallowEqual(e,t)))}function isClassPrivateProperty(e,t){return!!e&&("ClassPrivateProperty"===e.type&&(null==t||shallowEqual(e,t)))}function isClassPrivateMethod(e,t){return!!e&&("ClassPrivateMethod"===e.type&&(null==t||shallowEqual(e,t)))}function isPrivateName(e,t){return!!e&&("PrivateName"===e.type&&(null==t||shallowEqual(e,t)))}function isStaticBlock(e,t){return!!e&&("StaticBlock"===e.type&&(null==t||shallowEqual(e,t)))}function isAnyTypeAnnotation(e,t){return!!e&&("AnyTypeAnnotation"===e.type&&(null==t||shallowEqual(e,t)))}function isArrayTypeAnnotation(e,t){return!!e&&("ArrayTypeAnnotation"===e.type&&(null==t||shallowEqual(e,t)))}function isBooleanTypeAnnotation(e,t){return!!e&&("BooleanTypeAnnotation"===e.type&&(null==t||shallowEqual(e,t)))}function isBooleanLiteralTypeAnnotation(e,t){return!!e&&("BooleanLiteralTypeAnnotation"===e.type&&(null==t||shallowEqual(e,t)))}function isNullLiteralTypeAnnotation(e,t){return!!e&&("NullLiteralTypeAnnotation"===e.type&&(null==t||shallowEqual(e,t)))}function isClassImplements(e,t){return!!e&&("ClassImplements"===e.type&&(null==t||shallowEqual(e,t)))}function isDeclareClass(e,t){return!!e&&("DeclareClass"===e.type&&(null==t||shallowEqual(e,t)))}function isDeclareFunction(e,t){return!!e&&("DeclareFunction"===e.type&&(null==t||shallowEqual(e,t)))}function isDeclareInterface(e,t){return!!e&&("DeclareInterface"===e.type&&(null==t||shallowEqual(e,t)))}function isDeclareModule(e,t){return!!e&&("DeclareModule"===e.type&&(null==t||shallowEqual(e,t)))}function isDeclareModuleExports(e,t){return!!e&&("DeclareModuleExports"===e.type&&(null==t||shallowEqual(e,t)))}function isDeclareTypeAlias(e,t){return!!e&&("DeclareTypeAlias"===e.type&&(null==t||shallowEqual(e,t)))}function isDeclareOpaqueType(e,t){return!!e&&("DeclareOpaqueType"===e.type&&(null==t||shallowEqual(e,t)))}function isDeclareVariable(e,t){return!!e&&("DeclareVariable"===e.type&&(null==t||shallowEqual(e,t)))}function isDeclareExportDeclaration(e,t){return!!e&&("DeclareExportDeclaration"===e.type&&(null==t||shallowEqual(e,t)))}function isDeclareExportAllDeclaration(e,t){return!!e&&("DeclareExportAllDeclaration"===e.type&&(null==t||shallowEqual(e,t)))}function isDeclaredPredicate(e,t){return!!e&&("DeclaredPredicate"===e.type&&(null==t||shallowEqual(e,t)))}function isExistsTypeAnnotation(e,t){return!!e&&("ExistsTypeAnnotation"===e.type&&(null==t||shallowEqual(e,t)))}function isFunctionTypeAnnotation(e,t){return!!e&&("FunctionTypeAnnotation"===e.type&&(null==t||shallowEqual(e,t)))}function isFunctionTypeParam(e,t){return!!e&&("FunctionTypeParam"===e.type&&(null==t||shallowEqual(e,t)))}function isGenericTypeAnnotation(e,t){return!!e&&("GenericTypeAnnotation"===e.type&&(null==t||shallowEqual(e,t)))}function isInferredPredicate(e,t){return!!e&&("InferredPredicate"===e.type&&(null==t||shallowEqual(e,t)))}function isInterfaceExtends(e,t){return!!e&&("InterfaceExtends"===e.type&&(null==t||shallowEqual(e,t)))}function isInterfaceDeclaration(e,t){return!!e&&("InterfaceDeclaration"===e.type&&(null==t||shallowEqual(e,t)))}function isInterfaceTypeAnnotation(e,t){return!!e&&("InterfaceTypeAnnotation"===e.type&&(null==t||shallowEqual(e,t)))}function isIntersectionTypeAnnotation(e,t){return!!e&&("IntersectionTypeAnnotation"===e.type&&(null==t||shallowEqual(e,t)))}function isMixedTypeAnnotation(e,t){return!!e&&("MixedTypeAnnotation"===e.type&&(null==t||shallowEqual(e,t)))}function isEmptyTypeAnnotation(e,t){return!!e&&("EmptyTypeAnnotation"===e.type&&(null==t||shallowEqual(e,t)))}function isNullableTypeAnnotation(e,t){return!!e&&("NullableTypeAnnotation"===e.type&&(null==t||shallowEqual(e,t)))}function isNumberLiteralTypeAnnotation(e,t){return!!e&&("NumberLiteralTypeAnnotation"===e.type&&(null==t||shallowEqual(e,t)))}function isNumberTypeAnnotation(e,t){return!!e&&("NumberTypeAnnotation"===e.type&&(null==t||shallowEqual(e,t)))}function isObjectTypeAnnotation(e,t){return!!e&&("ObjectTypeAnnotation"===e.type&&(null==t||shallowEqual(e,t)))}function isObjectTypeInternalSlot(e,t){return!!e&&("ObjectTypeInternalSlot"===e.type&&(null==t||shallowEqual(e,t)))}function isObjectTypeCallProperty(e,t){return!!e&&("ObjectTypeCallProperty"===e.type&&(null==t||shallowEqual(e,t)))}function isObjectTypeIndexer(e,t){return!!e&&("ObjectTypeIndexer"===e.type&&(null==t||shallowEqual(e,t)))}function isObjectTypeProperty(e,t){return!!e&&("ObjectTypeProperty"===e.type&&(null==t||shallowEqual(e,t)))}function isObjectTypeSpreadProperty(e,t){return!!e&&("ObjectTypeSpreadProperty"===e.type&&(null==t||shallowEqual(e,t)))}function isOpaqueType(e,t){return!!e&&("OpaqueType"===e.type&&(null==t||shallowEqual(e,t)))}function isQualifiedTypeIdentifier(e,t){return!!e&&("QualifiedTypeIdentifier"===e.type&&(null==t||shallowEqual(e,t)))}function isStringLiteralTypeAnnotation(e,t){return!!e&&("StringLiteralTypeAnnotation"===e.type&&(null==t||shallowEqual(e,t)))}function isStringTypeAnnotation(e,t){return!!e&&("StringTypeAnnotation"===e.type&&(null==t||shallowEqual(e,t)))}function isSymbolTypeAnnotation(e,t){return!!e&&("SymbolTypeAnnotation"===e.type&&(null==t||shallowEqual(e,t)))}function isThisTypeAnnotation(e,t){return!!e&&("ThisTypeAnnotation"===e.type&&(null==t||shallowEqual(e,t)))}function isTupleTypeAnnotation(e,t){return!!e&&("TupleTypeAnnotation"===e.type&&(null==t||shallowEqual(e,t)))}function isTypeofTypeAnnotation(e,t){return!!e&&("TypeofTypeAnnotation"===e.type&&(null==t||shallowEqual(e,t)))}function isTypeAlias(e,t){return!!e&&("TypeAlias"===e.type&&(null==t||shallowEqual(e,t)))}function isTypeAnnotation(e,t){return!!e&&("TypeAnnotation"===e.type&&(null==t||shallowEqual(e,t)))}function isTypeCastExpression(e,t){return!!e&&("TypeCastExpression"===e.type&&(null==t||shallowEqual(e,t)))}function isTypeParameter(e,t){return!!e&&("TypeParameter"===e.type&&(null==t||shallowEqual(e,t)))}function isTypeParameterDeclaration(e,t){return!!e&&("TypeParameterDeclaration"===e.type&&(null==t||shallowEqual(e,t)))}function isTypeParameterInstantiation(e,t){return!!e&&("TypeParameterInstantiation"===e.type&&(null==t||shallowEqual(e,t)))}function isUnionTypeAnnotation(e,t){return!!e&&("UnionTypeAnnotation"===e.type&&(null==t||shallowEqual(e,t)))}function isVariance(e,t){return!!e&&("Variance"===e.type&&(null==t||shallowEqual(e,t)))}function isVoidTypeAnnotation(e,t){return!!e&&("VoidTypeAnnotation"===e.type&&(null==t||shallowEqual(e,t)))}function isEnumDeclaration(e,t){return!!e&&("EnumDeclaration"===e.type&&(null==t||shallowEqual(e,t)))}function isEnumBooleanBody(e,t){return!!e&&("EnumBooleanBody"===e.type&&(null==t||shallowEqual(e,t)))}function isEnumNumberBody(e,t){return!!e&&("EnumNumberBody"===e.type&&(null==t||shallowEqual(e,t)))}function isEnumStringBody(e,t){return!!e&&("EnumStringBody"===e.type&&(null==t||shallowEqual(e,t)))}function isEnumSymbolBody(e,t){return!!e&&("EnumSymbolBody"===e.type&&(null==t||shallowEqual(e,t)))}function isEnumBooleanMember(e,t){return!!e&&("EnumBooleanMember"===e.type&&(null==t||shallowEqual(e,t)))}function isEnumNumberMember(e,t){return!!e&&("EnumNumberMember"===e.type&&(null==t||shallowEqual(e,t)))}function isEnumStringMember(e,t){return!!e&&("EnumStringMember"===e.type&&(null==t||shallowEqual(e,t)))}function isEnumDefaultedMember(e,t){return!!e&&("EnumDefaultedMember"===e.type&&(null==t||shallowEqual(e,t)))}function isIndexedAccessType(e,t){return!!e&&("IndexedAccessType"===e.type&&(null==t||shallowEqual(e,t)))}function isOptionalIndexedAccessType(e,t){return!!e&&("OptionalIndexedAccessType"===e.type&&(null==t||shallowEqual(e,t)))}function isJSXAttribute$2(e,t){return!!e&&("JSXAttribute"===e.type&&(null==t||shallowEqual(e,t)))}function isJSXClosingElement(e,t){return!!e&&("JSXClosingElement"===e.type&&(null==t||shallowEqual(e,t)))}function isJSXElement$3(e,t){return!!e&&("JSXElement"===e.type&&(null==t||shallowEqual(e,t)))}function isJSXEmptyExpression(e,t){return!!e&&("JSXEmptyExpression"===e.type&&(null==t||shallowEqual(e,t)))}function isJSXExpressionContainer$1(e,t){return!!e&&("JSXExpressionContainer"===e.type&&(null==t||shallowEqual(e,t)))}function isJSXSpreadChild(e,t){return!!e&&("JSXSpreadChild"===e.type&&(null==t||shallowEqual(e,t)))}function isJSXIdentifier$2(e,t){return!!e&&("JSXIdentifier"===e.type&&(null==t||shallowEqual(e,t)))}function isJSXMemberExpression(e,t){return!!e&&("JSXMemberExpression"===e.type&&(null==t||shallowEqual(e,t)))}function isJSXNamespacedName(e,t){return!!e&&("JSXNamespacedName"===e.type&&(null==t||shallowEqual(e,t)))}function isJSXOpeningElement(e,t){return!!e&&("JSXOpeningElement"===e.type&&(null==t||shallowEqual(e,t)))}function isJSXSpreadAttribute(e,t){return!!e&&("JSXSpreadAttribute"===e.type&&(null==t||shallowEqual(e,t)))}function isJSXText$3(e,t){return!!e&&("JSXText"===e.type&&(null==t||shallowEqual(e,t)))}function isJSXFragment(e,t){return!!e&&("JSXFragment"===e.type&&(null==t||shallowEqual(e,t)))}function isJSXOpeningFragment(e,t){return!!e&&("JSXOpeningFragment"===e.type&&(null==t||shallowEqual(e,t)))}function isJSXClosingFragment(e,t){return!!e&&("JSXClosingFragment"===e.type&&(null==t||shallowEqual(e,t)))}function isNoop(e,t){return!!e&&("Noop"===e.type&&(null==t||shallowEqual(e,t)))}function isPlaceholder(e,t){return!!e&&("Placeholder"===e.type&&(null==t||shallowEqual(e,t)))}function isV8IntrinsicIdentifier(e,t){return!!e&&("V8IntrinsicIdentifier"===e.type&&(null==t||shallowEqual(e,t)))}function isArgumentPlaceholder(e,t){return!!e&&("ArgumentPlaceholder"===e.type&&(null==t||shallowEqual(e,t)))}function isBindExpression(e,t){return!!e&&("BindExpression"===e.type&&(null==t||shallowEqual(e,t)))}function isImportAttribute(e,t){return!!e&&("ImportAttribute"===e.type&&(null==t||shallowEqual(e,t)))}function isDecorator$1(e,t){return!!e&&("Decorator"===e.type&&(null==t||shallowEqual(e,t)))}function isDoExpression(e,t){return!!e&&("DoExpression"===e.type&&(null==t||shallowEqual(e,t)))}function isExportDefaultSpecifier(e,t){return!!e&&("ExportDefaultSpecifier"===e.type&&(null==t||shallowEqual(e,t)))}function isRecordExpression(e,t){return!!e&&("RecordExpression"===e.type&&(null==t||shallowEqual(e,t)))}function isTupleExpression(e,t){return!!e&&("TupleExpression"===e.type&&(null==t||shallowEqual(e,t)))}function isDecimalLiteral(e,t){return!!e&&("DecimalLiteral"===e.type&&(null==t||shallowEqual(e,t)))}function isModuleExpression(e,t){return!!e&&("ModuleExpression"===e.type&&(null==t||shallowEqual(e,t)))}function isTopicReference(e,t){return!!e&&("TopicReference"===e.type&&(null==t||shallowEqual(e,t)))}function isPipelineTopicExpression(e,t){return!!e&&("PipelineTopicExpression"===e.type&&(null==t||shallowEqual(e,t)))}function isPipelineBareFunction(e,t){return!!e&&("PipelineBareFunction"===e.type&&(null==t||shallowEqual(e,t)))}function isPipelinePrimaryTopicReference(e,t){return!!e&&("PipelinePrimaryTopicReference"===e.type&&(null==t||shallowEqual(e,t)))}function isTSParameterProperty(e,t){return!!e&&("TSParameterProperty"===e.type&&(null==t||shallowEqual(e,t)))}function isTSDeclareFunction(e,t){return!!e&&("TSDeclareFunction"===e.type&&(null==t||shallowEqual(e,t)))}function isTSDeclareMethod(e,t){return!!e&&("TSDeclareMethod"===e.type&&(null==t||shallowEqual(e,t)))}function isTSQualifiedName(e,t){return!!e&&("TSQualifiedName"===e.type&&(null==t||shallowEqual(e,t)))}function isTSCallSignatureDeclaration(e,t){return!!e&&("TSCallSignatureDeclaration"===e.type&&(null==t||shallowEqual(e,t)))}function isTSConstructSignatureDeclaration(e,t){return!!e&&("TSConstructSignatureDeclaration"===e.type&&(null==t||shallowEqual(e,t)))}function isTSPropertySignature$1(e,t){return!!e&&("TSPropertySignature"===e.type&&(null==t||shallowEqual(e,t)))}function isTSMethodSignature(e,t){return!!e&&("TSMethodSignature"===e.type&&(null==t||shallowEqual(e,t)))}function isTSIndexSignature(e,t){return!!e&&("TSIndexSignature"===e.type&&(null==t||shallowEqual(e,t)))}function isTSAnyKeyword(e,t){return!!e&&("TSAnyKeyword"===e.type&&(null==t||shallowEqual(e,t)))}function isTSBooleanKeyword(e,t){return!!e&&("TSBooleanKeyword"===e.type&&(null==t||shallowEqual(e,t)))}function isTSBigIntKeyword(e,t){return!!e&&("TSBigIntKeyword"===e.type&&(null==t||shallowEqual(e,t)))}function isTSIntrinsicKeyword(e,t){return!!e&&("TSIntrinsicKeyword"===e.type&&(null==t||shallowEqual(e,t)))}function isTSNeverKeyword(e,t){return!!e&&("TSNeverKeyword"===e.type&&(null==t||shallowEqual(e,t)))}function isTSNullKeyword(e,t){return!!e&&("TSNullKeyword"===e.type&&(null==t||shallowEqual(e,t)))}function isTSNumberKeyword(e,t){return!!e&&("TSNumberKeyword"===e.type&&(null==t||shallowEqual(e,t)))}function isTSObjectKeyword(e,t){return!!e&&("TSObjectKeyword"===e.type&&(null==t||shallowEqual(e,t)))}function isTSStringKeyword(e,t){return!!e&&("TSStringKeyword"===e.type&&(null==t||shallowEqual(e,t)))}function isTSSymbolKeyword(e,t){return!!e&&("TSSymbolKeyword"===e.type&&(null==t||shallowEqual(e,t)))}function isTSUndefinedKeyword(e,t){return!!e&&("TSUndefinedKeyword"===e.type&&(null==t||shallowEqual(e,t)))}function isTSUnknownKeyword(e,t){return!!e&&("TSUnknownKeyword"===e.type&&(null==t||shallowEqual(e,t)))}function isTSVoidKeyword(e,t){return!!e&&("TSVoidKeyword"===e.type&&(null==t||shallowEqual(e,t)))}function isTSThisType(e,t){return!!e&&("TSThisType"===e.type&&(null==t||shallowEqual(e,t)))}function isTSFunctionType(e,t){return!!e&&("TSFunctionType"===e.type&&(null==t||shallowEqual(e,t)))}function isTSConstructorType(e,t){return!!e&&("TSConstructorType"===e.type&&(null==t||shallowEqual(e,t)))}function isTSTypeReference$3(e,t){return!!e&&("TSTypeReference"===e.type&&(null==t||shallowEqual(e,t)))}function isTSTypePredicate(e,t){return!!e&&("TSTypePredicate"===e.type&&(null==t||shallowEqual(e,t)))}function isTSTypeQuery(e,t){return!!e&&("TSTypeQuery"===e.type&&(null==t||shallowEqual(e,t)))}function isTSTypeLiteral(e,t){return!!e&&("TSTypeLiteral"===e.type&&(null==t||shallowEqual(e,t)))}function isTSArrayType(e,t){return!!e&&("TSArrayType"===e.type&&(null==t||shallowEqual(e,t)))}function isTSTupleType(e,t){return!!e&&("TSTupleType"===e.type&&(null==t||shallowEqual(e,t)))}function isTSOptionalType(e,t){return!!e&&("TSOptionalType"===e.type&&(null==t||shallowEqual(e,t)))}function isTSRestType(e,t){return!!e&&("TSRestType"===e.type&&(null==t||shallowEqual(e,t)))}function isTSNamedTupleMember(e,t){return!!e&&("TSNamedTupleMember"===e.type&&(null==t||shallowEqual(e,t)))}function isTSUnionType(e,t){return!!e&&("TSUnionType"===e.type&&(null==t||shallowEqual(e,t)))}function isTSIntersectionType(e,t){return!!e&&("TSIntersectionType"===e.type&&(null==t||shallowEqual(e,t)))}function isTSConditionalType$1(e,t){return!!e&&("TSConditionalType"===e.type&&(null==t||shallowEqual(e,t)))}function isTSInferType(e,t){return!!e&&("TSInferType"===e.type&&(null==t||shallowEqual(e,t)))}function isTSParenthesizedType(e,t){return!!e&&("TSParenthesizedType"===e.type&&(null==t||shallowEqual(e,t)))}function isTSTypeOperator(e,t){return!!e&&("TSTypeOperator"===e.type&&(null==t||shallowEqual(e,t)))}function isTSIndexedAccessType(e,t){return!!e&&("TSIndexedAccessType"===e.type&&(null==t||shallowEqual(e,t)))}function isTSMappedType(e,t){return!!e&&("TSMappedType"===e.type&&(null==t||shallowEqual(e,t)))}function isTSLiteralType(e,t){return!!e&&("TSLiteralType"===e.type&&(null==t||shallowEqual(e,t)))}function isTSExpressionWithTypeArguments(e,t){return!!e&&("TSExpressionWithTypeArguments"===e.type&&(null==t||shallowEqual(e,t)))}function isTSInterfaceDeclaration(e,t){return!!e&&("TSInterfaceDeclaration"===e.type&&(null==t||shallowEqual(e,t)))}function isTSInterfaceBody(e,t){return!!e&&("TSInterfaceBody"===e.type&&(null==t||shallowEqual(e,t)))}function isTSTypeAliasDeclaration$1(e,t){return!!e&&("TSTypeAliasDeclaration"===e.type&&(null==t||shallowEqual(e,t)))}function isTSInstantiationExpression(e,t){return!!e&&("TSInstantiationExpression"===e.type&&(null==t||shallowEqual(e,t)))}function isTSAsExpression(e,t){return!!e&&("TSAsExpression"===e.type&&(null==t||shallowEqual(e,t)))}function isTSSatisfiesExpression(e,t){return!!e&&("TSSatisfiesExpression"===e.type&&(null==t||shallowEqual(e,t)))}function isTSTypeAssertion(e,t){return!!e&&("TSTypeAssertion"===e.type&&(null==t||shallowEqual(e,t)))}function isTSEnumDeclaration(e,t){return!!e&&("TSEnumDeclaration"===e.type&&(null==t||shallowEqual(e,t)))}function isTSEnumMember(e,t){return!!e&&("TSEnumMember"===e.type&&(null==t||shallowEqual(e,t)))}function isTSModuleDeclaration$1(e,t){return!!e&&("TSModuleDeclaration"===e.type&&(null==t||shallowEqual(e,t)))}function isTSModuleBlock(e,t){return!!e&&("TSModuleBlock"===e.type&&(null==t||shallowEqual(e,t)))}function isTSImportType(e,t){return!!e&&("TSImportType"===e.type&&(null==t||shallowEqual(e,t)))}function isTSImportEqualsDeclaration(e,t){return!!e&&("TSImportEqualsDeclaration"===e.type&&(null==t||shallowEqual(e,t)))}function isTSExternalModuleReference(e,t){return!!e&&("TSExternalModuleReference"===e.type&&(null==t||shallowEqual(e,t)))}function isTSNonNullExpression(e,t){return!!e&&("TSNonNullExpression"===e.type&&(null==t||shallowEqual(e,t)))}function isTSExportAssignment(e,t){return!!e&&("TSExportAssignment"===e.type&&(null==t||shallowEqual(e,t)))}function isTSNamespaceExportDeclaration(e,t){return!!e&&("TSNamespaceExportDeclaration"===e.type&&(null==t||shallowEqual(e,t)))}function isTSTypeAnnotation(e,t){return!!e&&("TSTypeAnnotation"===e.type&&(null==t||shallowEqual(e,t)))}function isTSTypeParameterInstantiation(e,t){return!!e&&("TSTypeParameterInstantiation"===e.type&&(null==t||shallowEqual(e,t)))}function isTSTypeParameterDeclaration(e,t){return!!e&&("TSTypeParameterDeclaration"===e.type&&(null==t||shallowEqual(e,t)))}function isTSTypeParameter$1(e,t){return!!e&&("TSTypeParameter"===e.type&&(null==t||shallowEqual(e,t)))}function isStandardized(e,t){if(!e)return!1;switch(e.type){case"ArrayExpression":case"AssignmentExpression":case"BinaryExpression":case"InterpreterDirective":case"Directive":case"DirectiveLiteral":case"BlockStatement":case"BreakStatement":case"CallExpression":case"CatchClause":case"ConditionalExpression":case"ContinueStatement":case"DebuggerStatement":case"DoWhileStatement":case"EmptyStatement":case"ExpressionStatement":case"File":case"ForInStatement":case"ForStatement":case"FunctionDeclaration":case"FunctionExpression":case"Identifier":case"IfStatement":case"LabeledStatement":case"StringLiteral":case"NumericLiteral":case"NullLiteral":case"BooleanLiteral":case"RegExpLiteral":case"LogicalExpression":case"MemberExpression":case"NewExpression":case"Program":case"ObjectExpression":case"ObjectMethod":case"ObjectProperty":case"RestElement":case"ReturnStatement":case"SequenceExpression":case"ParenthesizedExpression":case"SwitchCase":case"SwitchStatement":case"ThisExpression":case"ThrowStatement":case"TryStatement":case"UnaryExpression":case"UpdateExpression":case"VariableDeclaration":case"VariableDeclarator":case"WhileStatement":case"WithStatement":case"AssignmentPattern":case"ArrayPattern":case"ArrowFunctionExpression":case"ClassBody":case"ClassExpression":case"ClassDeclaration":case"ExportAllDeclaration":case"ExportDefaultDeclaration":case"ExportNamedDeclaration":case"ExportSpecifier":case"ForOfStatement":case"ImportDeclaration":case"ImportDefaultSpecifier":case"ImportNamespaceSpecifier":case"ImportSpecifier":case"ImportExpression":case"MetaProperty":case"ClassMethod":case"ObjectPattern":case"SpreadElement":case"Super":case"TaggedTemplateExpression":case"TemplateElement":case"TemplateLiteral":case"YieldExpression":case"AwaitExpression":case"Import":case"BigIntLiteral":case"ExportNamespaceSpecifier":case"OptionalMemberExpression":case"OptionalCallExpression":case"ClassProperty":case"ClassAccessorProperty":case"ClassPrivateProperty":case"ClassPrivateMethod":case"PrivateName":case"StaticBlock":break;case"Placeholder":switch(e.expectedNode){case"Identifier":case"StringLiteral":case"BlockStatement":case"ClassBody":break;default:return!1}break;default:return!1}return null==t||shallowEqual(e,t)}function isExpression$4(e,t){if(!e)return!1;switch(e.type){case"ArrayExpression":case"AssignmentExpression":case"BinaryExpression":case"CallExpression":case"ConditionalExpression":case"FunctionExpression":case"Identifier":case"StringLiteral":case"NumericLiteral":case"NullLiteral":case"BooleanLiteral":case"RegExpLiteral":case"LogicalExpression":case"MemberExpression":case"NewExpression":case"ObjectExpression":case"SequenceExpression":case"ParenthesizedExpression":case"ThisExpression":case"UnaryExpression":case"UpdateExpression":case"ArrowFunctionExpression":case"ClassExpression":case"ImportExpression":case"MetaProperty":case"Super":case"TaggedTemplateExpression":case"TemplateLiteral":case"YieldExpression":case"AwaitExpression":case"Import":case"BigIntLiteral":case"OptionalMemberExpression":case"OptionalCallExpression":case"TypeCastExpression":case"JSXElement":case"JSXFragment":case"BindExpression":case"DoExpression":case"RecordExpression":case"TupleExpression":case"DecimalLiteral":case"ModuleExpression":case"TopicReference":case"PipelineTopicExpression":case"PipelineBareFunction":case"PipelinePrimaryTopicReference":case"TSInstantiationExpression":case"TSAsExpression":case"TSSatisfiesExpression":case"TSTypeAssertion":case"TSNonNullExpression":break;case"Placeholder":switch(e.expectedNode){case"Expression":case"Identifier":case"StringLiteral":break;default:return!1}break;default:return!1}return null==t||shallowEqual(e,t)}function isBinary(e,t){if(!e)return!1;switch(e.type){case"BinaryExpression":case"LogicalExpression":break;default:return!1}return null==t||shallowEqual(e,t)}function isScopable(e,t){if(!e)return!1;switch(e.type){case"BlockStatement":case"CatchClause":case"DoWhileStatement":case"ForInStatement":case"ForStatement":case"FunctionDeclaration":case"FunctionExpression":case"Program":case"ObjectMethod":case"SwitchStatement":case"WhileStatement":case"ArrowFunctionExpression":case"ClassExpression":case"ClassDeclaration":case"ForOfStatement":case"ClassMethod":case"ClassPrivateMethod":case"StaticBlock":case"TSModuleBlock":break;case"Placeholder":if("BlockStatement"===e.expectedNode)break;default:return!1}return null==t||shallowEqual(e,t)}function isBlockParent(e,t){if(!e)return!1;switch(e.type){case"BlockStatement":case"CatchClause":case"DoWhileStatement":case"ForInStatement":case"ForStatement":case"FunctionDeclaration":case"FunctionExpression":case"Program":case"ObjectMethod":case"SwitchStatement":case"WhileStatement":case"ArrowFunctionExpression":case"ForOfStatement":case"ClassMethod":case"ClassPrivateMethod":case"StaticBlock":case"TSModuleBlock":break;case"Placeholder":if("BlockStatement"===e.expectedNode)break;default:return!1}return null==t||shallowEqual(e,t)}function isBlock$2(e,t){if(!e)return!1;switch(e.type){case"BlockStatement":case"Program":case"TSModuleBlock":break;case"Placeholder":if("BlockStatement"===e.expectedNode)break;default:return!1}return null==t||shallowEqual(e,t)}function isStatement$5(e,t){if(!e)return!1;switch(e.type){case"BlockStatement":case"BreakStatement":case"ContinueStatement":case"DebuggerStatement":case"DoWhileStatement":case"EmptyStatement":case"ExpressionStatement":case"ForInStatement":case"ForStatement":case"FunctionDeclaration":case"IfStatement":case"LabeledStatement":case"ReturnStatement":case"SwitchStatement":case"ThrowStatement":case"TryStatement":case"VariableDeclaration":case"WhileStatement":case"WithStatement":case"ClassDeclaration":case"ExportAllDeclaration":case"ExportDefaultDeclaration":case"ExportNamedDeclaration":case"ForOfStatement":case"ImportDeclaration":case"DeclareClass":case"DeclareFunction":case"DeclareInterface":case"DeclareModule":case"DeclareModuleExports":case"DeclareTypeAlias":case"DeclareOpaqueType":case"DeclareVariable":case"DeclareExportDeclaration":case"DeclareExportAllDeclaration":case"InterfaceDeclaration":case"OpaqueType":case"TypeAlias":case"EnumDeclaration":case"TSDeclareFunction":case"TSInterfaceDeclaration":case"TSTypeAliasDeclaration":case"TSEnumDeclaration":case"TSModuleDeclaration":case"TSImportEqualsDeclaration":case"TSExportAssignment":case"TSNamespaceExportDeclaration":break;case"Placeholder":switch(e.expectedNode){case"Statement":case"Declaration":case"BlockStatement":break;default:return!1}break;default:return!1}return null==t||shallowEqual(e,t)}function isTerminatorless(e,t){if(!e)return!1;switch(e.type){case"BreakStatement":case"ContinueStatement":case"ReturnStatement":case"ThrowStatement":case"YieldExpression":case"AwaitExpression":break;default:return!1}return null==t||shallowEqual(e,t)}function isCompletionStatement(e,t){if(!e)return!1;switch(e.type){case"BreakStatement":case"ContinueStatement":case"ReturnStatement":case"ThrowStatement":break;default:return!1}return null==t||shallowEqual(e,t)}function isConditional(e,t){if(!e)return!1;switch(e.type){case"ConditionalExpression":case"IfStatement":break;default:return!1}return null==t||shallowEqual(e,t)}function isLoop(e,t){if(!e)return!1;switch(e.type){case"DoWhileStatement":case"ForInStatement":case"ForStatement":case"WhileStatement":case"ForOfStatement":break;default:return!1}return null==t||shallowEqual(e,t)}function isWhile(e,t){if(!e)return!1;switch(e.type){case"DoWhileStatement":case"WhileStatement":break;default:return!1}return null==t||shallowEqual(e,t)}function isExpressionWrapper(e,t){if(!e)return!1;switch(e.type){case"ExpressionStatement":case"ParenthesizedExpression":case"TypeCastExpression":break;default:return!1}return null==t||shallowEqual(e,t)}function isFor(e,t){if(!e)return!1;switch(e.type){case"ForInStatement":case"ForStatement":case"ForOfStatement":break;default:return!1}return null==t||shallowEqual(e,t)}function isForXStatement(e,t){if(!e)return!1;switch(e.type){case"ForInStatement":case"ForOfStatement":break;default:return!1}return null==t||shallowEqual(e,t)}function isFunction$6(e,t){if(!e)return!1;switch(e.type){case"FunctionDeclaration":case"FunctionExpression":case"ObjectMethod":case"ArrowFunctionExpression":case"ClassMethod":case"ClassPrivateMethod":break;default:return!1}return null==t||shallowEqual(e,t)}function isFunctionParent(e,t){if(!e)return!1;switch(e.type){case"FunctionDeclaration":case"FunctionExpression":case"ObjectMethod":case"ArrowFunctionExpression":case"ClassMethod":case"ClassPrivateMethod":case"StaticBlock":case"TSModuleBlock":break;default:return!1}return null==t||shallowEqual(e,t)}function isPureish(e,t){if(!e)return!1;switch(e.type){case"FunctionDeclaration":case"FunctionExpression":case"StringLiteral":case"NumericLiteral":case"NullLiteral":case"BooleanLiteral":case"RegExpLiteral":case"ArrowFunctionExpression":case"BigIntLiteral":case"DecimalLiteral":break;case"Placeholder":if("StringLiteral"===e.expectedNode)break;default:return!1}return null==t||shallowEqual(e,t)}function isDeclaration(e,t){if(!e)return!1;switch(e.type){case"FunctionDeclaration":case"VariableDeclaration":case"ClassDeclaration":case"ExportAllDeclaration":case"ExportDefaultDeclaration":case"ExportNamedDeclaration":case"ImportDeclaration":case"DeclareClass":case"DeclareFunction":case"DeclareInterface":case"DeclareModule":case"DeclareModuleExports":case"DeclareTypeAlias":case"DeclareOpaqueType":case"DeclareVariable":case"DeclareExportDeclaration":case"DeclareExportAllDeclaration":case"InterfaceDeclaration":case"OpaqueType":case"TypeAlias":case"EnumDeclaration":case"TSDeclareFunction":case"TSInterfaceDeclaration":case"TSTypeAliasDeclaration":case"TSEnumDeclaration":case"TSModuleDeclaration":break;case"Placeholder":if("Declaration"===e.expectedNode)break;default:return!1}return null==t||shallowEqual(e,t)}function isPatternLike(e,t){if(!e)return!1;switch(e.type){case"Identifier":case"RestElement":case"AssignmentPattern":case"ArrayPattern":case"ObjectPattern":case"TSAsExpression":case"TSSatisfiesExpression":case"TSTypeAssertion":case"TSNonNullExpression":break;case"Placeholder":switch(e.expectedNode){case"Pattern":case"Identifier":break;default:return!1}break;default:return!1}return null==t||shallowEqual(e,t)}function isLVal(e,t){if(!e)return!1;switch(e.type){case"Identifier":case"MemberExpression":case"RestElement":case"AssignmentPattern":case"ArrayPattern":case"ObjectPattern":case"TSParameterProperty":case"TSAsExpression":case"TSSatisfiesExpression":case"TSTypeAssertion":case"TSNonNullExpression":break;case"Placeholder":switch(e.expectedNode){case"Pattern":case"Identifier":break;default:return!1}break;default:return!1}return null==t||shallowEqual(e,t)}function isTSEntityName(e,t){if(!e)return!1;switch(e.type){case"Identifier":case"TSQualifiedName":break;case"Placeholder":if("Identifier"===e.expectedNode)break;default:return!1}return null==t||shallowEqual(e,t)}function isLiteral$6(e,t){if(!e)return!1;switch(e.type){case"StringLiteral":case"NumericLiteral":case"NullLiteral":case"BooleanLiteral":case"RegExpLiteral":case"TemplateLiteral":case"BigIntLiteral":case"DecimalLiteral":break;case"Placeholder":if("StringLiteral"===e.expectedNode)break;default:return!1}return null==t||shallowEqual(e,t)}function isUserWhitespacable(e,t){if(!e)return!1;switch(e.type){case"ObjectMethod":case"ObjectProperty":case"ObjectTypeInternalSlot":case"ObjectTypeCallProperty":case"ObjectTypeIndexer":case"ObjectTypeProperty":case"ObjectTypeSpreadProperty":break;default:return!1}return null==t||shallowEqual(e,t)}function isMethod(e,t){if(!e)return!1;switch(e.type){case"ObjectMethod":case"ClassMethod":case"ClassPrivateMethod":break;default:return!1}return null==t||shallowEqual(e,t)}function isObjectMember(e,t){if(!e)return!1;switch(e.type){case"ObjectMethod":case"ObjectProperty":break;default:return!1}return null==t||shallowEqual(e,t)}function isProperty$1(e,t){if(!e)return!1;switch(e.type){case"ObjectProperty":case"ClassProperty":case"ClassAccessorProperty":case"ClassPrivateProperty":break;default:return!1}return null==t||shallowEqual(e,t)}function isUnaryLike(e,t){if(!e)return!1;switch(e.type){case"UnaryExpression":case"SpreadElement":break;default:return!1}return null==t||shallowEqual(e,t)}function isPattern(e,t){if(!e)return!1;switch(e.type){case"AssignmentPattern":case"ArrayPattern":case"ObjectPattern":break;case"Placeholder":if("Pattern"===e.expectedNode)break;default:return!1}return null==t||shallowEqual(e,t)}function isClass(e,t){if(!e)return!1;switch(e.type){case"ClassExpression":case"ClassDeclaration":break;default:return!1}return null==t||shallowEqual(e,t)}function isImportOrExportDeclaration(e,t){if(!e)return!1;switch(e.type){case"ExportAllDeclaration":case"ExportDefaultDeclaration":case"ExportNamedDeclaration":case"ImportDeclaration":break;default:return!1}return null==t||shallowEqual(e,t)}function isExportDeclaration$5(e,t){if(!e)return!1;switch(e.type){case"ExportAllDeclaration":case"ExportDefaultDeclaration":case"ExportNamedDeclaration":break;default:return!1}return null==t||shallowEqual(e,t)}function isModuleSpecifier(e,t){if(!e)return!1;switch(e.type){case"ExportSpecifier":case"ImportDefaultSpecifier":case"ImportNamespaceSpecifier":case"ImportSpecifier":case"ExportNamespaceSpecifier":case"ExportDefaultSpecifier":break;default:return!1}return null==t||shallowEqual(e,t)}function isAccessor(e,t){return!!e&&("ClassAccessorProperty"===e.type&&(null==t||shallowEqual(e,t)))}function isPrivate(e,t){if(!e)return!1;switch(e.type){case"ClassPrivateProperty":case"ClassPrivateMethod":case"PrivateName":break;default:return!1}return null==t||shallowEqual(e,t)}function isFlow(e,t){if(!e)return!1;switch(e.type){case"AnyTypeAnnotation":case"ArrayTypeAnnotation":case"BooleanTypeAnnotation":case"BooleanLiteralTypeAnnotation":case"NullLiteralTypeAnnotation":case"ClassImplements":case"DeclareClass":case"DeclareFunction":case"DeclareInterface":case"DeclareModule":case"DeclareModuleExports":case"DeclareTypeAlias":case"DeclareOpaqueType":case"DeclareVariable":case"DeclareExportDeclaration":case"DeclareExportAllDeclaration":case"DeclaredPredicate":case"ExistsTypeAnnotation":case"FunctionTypeAnnotation":case"FunctionTypeParam":case"GenericTypeAnnotation":case"InferredPredicate":case"InterfaceExtends":case"InterfaceDeclaration":case"InterfaceTypeAnnotation":case"IntersectionTypeAnnotation":case"MixedTypeAnnotation":case"EmptyTypeAnnotation":case"NullableTypeAnnotation":case"NumberLiteralTypeAnnotation":case"NumberTypeAnnotation":case"ObjectTypeAnnotation":case"ObjectTypeInternalSlot":case"ObjectTypeCallProperty":case"ObjectTypeIndexer":case"ObjectTypeProperty":case"ObjectTypeSpreadProperty":case"OpaqueType":case"QualifiedTypeIdentifier":case"StringLiteralTypeAnnotation":case"StringTypeAnnotation":case"SymbolTypeAnnotation":case"ThisTypeAnnotation":case"TupleTypeAnnotation":case"TypeofTypeAnnotation":case"TypeAlias":case"TypeAnnotation":case"TypeCastExpression":case"TypeParameter":case"TypeParameterDeclaration":case"TypeParameterInstantiation":case"UnionTypeAnnotation":case"Variance":case"VoidTypeAnnotation":case"EnumDeclaration":case"EnumBooleanBody":case"EnumNumberBody":case"EnumStringBody":case"EnumSymbolBody":case"EnumBooleanMember":case"EnumNumberMember":case"EnumStringMember":case"EnumDefaultedMember":case"IndexedAccessType":case"OptionalIndexedAccessType":break;default:return!1}return null==t||shallowEqual(e,t)}function isFlowType(e,t){if(!e)return!1;switch(e.type){case"AnyTypeAnnotation":case"ArrayTypeAnnotation":case"BooleanTypeAnnotation":case"BooleanLiteralTypeAnnotation":case"NullLiteralTypeAnnotation":case"ExistsTypeAnnotation":case"FunctionTypeAnnotation":case"GenericTypeAnnotation":case"InterfaceTypeAnnotation":case"IntersectionTypeAnnotation":case"MixedTypeAnnotation":case"EmptyTypeAnnotation":case"NullableTypeAnnotation":case"NumberLiteralTypeAnnotation":case"NumberTypeAnnotation":case"ObjectTypeAnnotation":case"StringLiteralTypeAnnotation":case"StringTypeAnnotation":case"SymbolTypeAnnotation":case"ThisTypeAnnotation":case"TupleTypeAnnotation":case"TypeofTypeAnnotation":case"UnionTypeAnnotation":case"VoidTypeAnnotation":case"IndexedAccessType":case"OptionalIndexedAccessType":break;default:return!1}return null==t||shallowEqual(e,t)}function isFlowBaseAnnotation(e,t){if(!e)return!1;switch(e.type){case"AnyTypeAnnotation":case"BooleanTypeAnnotation":case"NullLiteralTypeAnnotation":case"MixedTypeAnnotation":case"EmptyTypeAnnotation":case"NumberTypeAnnotation":case"StringTypeAnnotation":case"SymbolTypeAnnotation":case"ThisTypeAnnotation":case"VoidTypeAnnotation":break;default:return!1}return null==t||shallowEqual(e,t)}function isFlowDeclaration(e,t){if(!e)return!1;switch(e.type){case"DeclareClass":case"DeclareFunction":case"DeclareInterface":case"DeclareModule":case"DeclareModuleExports":case"DeclareTypeAlias":case"DeclareOpaqueType":case"DeclareVariable":case"DeclareExportDeclaration":case"DeclareExportAllDeclaration":case"InterfaceDeclaration":case"OpaqueType":case"TypeAlias":break;default:return!1}return null==t||shallowEqual(e,t)}function isFlowPredicate(e,t){if(!e)return!1;switch(e.type){case"DeclaredPredicate":case"InferredPredicate":break;default:return!1}return null==t||shallowEqual(e,t)}function isEnumBody(e,t){if(!e)return!1;switch(e.type){case"EnumBooleanBody":case"EnumNumberBody":case"EnumStringBody":case"EnumSymbolBody":break;default:return!1}return null==t||shallowEqual(e,t)}function isEnumMember(e,t){if(!e)return!1;switch(e.type){case"EnumBooleanMember":case"EnumNumberMember":case"EnumStringMember":case"EnumDefaultedMember":break;default:return!1}return null==t||shallowEqual(e,t)}function isJSX(e,t){if(!e)return!1;switch(e.type){case"JSXAttribute":case"JSXClosingElement":case"JSXElement":case"JSXEmptyExpression":case"JSXExpressionContainer":case"JSXSpreadChild":case"JSXIdentifier":case"JSXMemberExpression":case"JSXNamespacedName":case"JSXOpeningElement":case"JSXSpreadAttribute":case"JSXText":case"JSXFragment":case"JSXOpeningFragment":case"JSXClosingFragment":break;default:return!1}return null==t||shallowEqual(e,t)}function isMiscellaneous(e,t){if(!e)return!1;switch(e.type){case"Noop":case"Placeholder":case"V8IntrinsicIdentifier":break;default:return!1}return null==t||shallowEqual(e,t)}function isTypeScript(e,t){if(!e)return!1;switch(e.type){case"TSParameterProperty":case"TSDeclareFunction":case"TSDeclareMethod":case"TSQualifiedName":case"TSCallSignatureDeclaration":case"TSConstructSignatureDeclaration":case"TSPropertySignature":case"TSMethodSignature":case"TSIndexSignature":case"TSAnyKeyword":case"TSBooleanKeyword":case"TSBigIntKeyword":case"TSIntrinsicKeyword":case"TSNeverKeyword":case"TSNullKeyword":case"TSNumberKeyword":case"TSObjectKeyword":case"TSStringKeyword":case"TSSymbolKeyword":case"TSUndefinedKeyword":case"TSUnknownKeyword":case"TSVoidKeyword":case"TSThisType":case"TSFunctionType":case"TSConstructorType":case"TSTypeReference":case"TSTypePredicate":case"TSTypeQuery":case"TSTypeLiteral":case"TSArrayType":case"TSTupleType":case"TSOptionalType":case"TSRestType":case"TSNamedTupleMember":case"TSUnionType":case"TSIntersectionType":case"TSConditionalType":case"TSInferType":case"TSParenthesizedType":case"TSTypeOperator":case"TSIndexedAccessType":case"TSMappedType":case"TSLiteralType":case"TSExpressionWithTypeArguments":case"TSInterfaceDeclaration":case"TSInterfaceBody":case"TSTypeAliasDeclaration":case"TSInstantiationExpression":case"TSAsExpression":case"TSSatisfiesExpression":case"TSTypeAssertion":case"TSEnumDeclaration":case"TSEnumMember":case"TSModuleDeclaration":case"TSModuleBlock":case"TSImportType":case"TSImportEqualsDeclaration":case"TSExternalModuleReference":case"TSNonNullExpression":case"TSExportAssignment":case"TSNamespaceExportDeclaration":case"TSTypeAnnotation":case"TSTypeParameterInstantiation":case"TSTypeParameterDeclaration":case"TSTypeParameter":break;default:return!1}return null==t||shallowEqual(e,t)}function isTSTypeElement(e,t){if(!e)return!1;switch(e.type){case"TSCallSignatureDeclaration":case"TSConstructSignatureDeclaration":case"TSPropertySignature":case"TSMethodSignature":case"TSIndexSignature":break;default:return!1}return null==t||shallowEqual(e,t)}function isTSType(e,t){if(!e)return!1;switch(e.type){case"TSAnyKeyword":case"TSBooleanKeyword":case"TSBigIntKeyword":case"TSIntrinsicKeyword":case"TSNeverKeyword":case"TSNullKeyword":case"TSNumberKeyword":case"TSObjectKeyword":case"TSStringKeyword":case"TSSymbolKeyword":case"TSUndefinedKeyword":case"TSUnknownKeyword":case"TSVoidKeyword":case"TSThisType":case"TSFunctionType":case"TSConstructorType":case"TSTypeReference":case"TSTypePredicate":case"TSTypeQuery":case"TSTypeLiteral":case"TSArrayType":case"TSTupleType":case"TSOptionalType":case"TSRestType":case"TSUnionType":case"TSIntersectionType":case"TSConditionalType":case"TSInferType":case"TSParenthesizedType":case"TSTypeOperator":case"TSIndexedAccessType":case"TSMappedType":case"TSLiteralType":case"TSExpressionWithTypeArguments":case"TSImportType":break;default:return!1}return null==t||shallowEqual(e,t)}function isTSBaseType(e,t){if(!e)return!1;switch(e.type){case"TSAnyKeyword":case"TSBooleanKeyword":case"TSBigIntKeyword":case"TSIntrinsicKeyword":case"TSNeverKeyword":case"TSNullKeyword":case"TSNumberKeyword":case"TSObjectKeyword":case"TSStringKeyword":case"TSSymbolKeyword":case"TSUndefinedKeyword":case"TSUnknownKeyword":case"TSVoidKeyword":case"TSThisType":case"TSLiteralType":break;default:return!1}return null==t||shallowEqual(e,t)}function isNumberLiteral(e,t){return deprecationWarning("isNumberLiteral","isNumericLiteral"),!!e&&("NumberLiteral"===e.type&&(null==t||shallowEqual(e,t)))}function isRegexLiteral(e,t){return deprecationWarning("isRegexLiteral","isRegExpLiteral"),!!e&&("RegexLiteral"===e.type&&(null==t||shallowEqual(e,t)))}function isRestProperty(e,t){return deprecationWarning("isRestProperty","isRestElement"),!!e&&("RestProperty"===e.type&&(null==t||shallowEqual(e,t)))}function isSpreadProperty(e,t){return deprecationWarning("isSpreadProperty","isSpreadElement"),!!e&&("SpreadProperty"===e.type&&(null==t||shallowEqual(e,t)))}function isModuleDeclaration(e,t){return deprecationWarning("isModuleDeclaration","isImportOrExportDeclaration"),isImportOrExportDeclaration(e,t)}function matchesPattern$1(e,t,r){if(!isMemberExpression$6(e))return!1;var n,i=Array.isArray(t)?t:t.split("."),a=[];for(n=e;isMemberExpression$6(n);n=n.object)a.push(n.property);if(a.push(n),a.length<i.length)return!1;if(!r&&a.length>i.length)return!1;for(var s=0,o=a.length-1;s<i.length;s++,o--){var l=a[o],u=void 0;if(isIdentifier$r(l))u=l.name;else if(isStringLiteral$8(l))u=l.value;else{if(!isThisExpression(l))return!1;u="this"}if(i[s]!==u)return!1}return!0}function buildMatchMemberExpression(e,t){var r=e.split(".");return function(e){return matchesPattern$1(e,r,t)}}var isReactComponent=buildMatchMemberExpression("React.Component");function isCompatTag(e){return!!e&&/^[a-z]/.test(e)}function isType(e,t){if(e===t)return!0;if(null==e)return!1;if(ALIAS_KEYS[t])return!1;var r=FLIPPED_ALIAS_KEYS[t];if(r){if(r[0]===e)return!0;var n=!0,i=!1,a=void 0;try{for(var s,o=r[Symbol.iterator]();!(n=(s=o.next()).done);n=!0){if(e===s.value)return!0}}catch(e){i=!0,a=e}finally{try{n||null==o.return||o.return()}finally{if(i)throw a}}}return!1}function isPlaceholderType(e,t){if(e===t)return!0;var r=PLACEHOLDERS_ALIAS[e];if(r){var n=!0,i=!1,a=void 0;try{for(var s,o=r[Symbol.iterator]();!(n=(s=o.next()).done);n=!0){if(t===s.value)return!0}}catch(e){i=!0,a=e}finally{try{n||null==o.return||o.return()}finally{if(i)throw a}}}return!1}function is$4(e,t,r){return!!t&&(isType(t.type,e)?void 0===r||shallowEqual(t,r):!r&&"Placeholder"===t.type&&e in FLIPPED_ALIAS_KEYS&&isPlaceholderType(t.expectedNode,e))}function isValidIdentifier(e){return"string"==typeof e&&((!(!(arguments.length>1&&void 0!==arguments[1])||arguments[1])||!isKeyword(e)&&!isStrictReservedWord(e,!0))&&isIdentifierName(e))}var STATEMENT_OR_BLOCK_KEYS=["consequent","body","alternate"],FLATTENABLE_KEYS=["body","expressions"],FOR_INIT_KEYS=["left","init"],COMMENT_KEYS=["leadingComments","trailingComments","innerComments"],LOGICAL_OPERATORS=["||","&&","??"],UPDATE_OPERATORS=["++","--"],BOOLEAN_NUMBER_BINARY_OPERATORS=[">","<",">=","<="],EQUALITY_BINARY_OPERATORS=["==","===","!=","!=="],COMPARISON_BINARY_OPERATORS=_to_consumable_array(EQUALITY_BINARY_OPERATORS).concat(["in","instanceof"]),BOOLEAN_BINARY_OPERATORS=_to_consumable_array(COMPARISON_BINARY_OPERATORS).concat(_to_consumable_array(BOOLEAN_NUMBER_BINARY_OPERATORS)),NUMBER_BINARY_OPERATORS=["-","/","%","*","**","&","|",">>",">>>","<<","^"],BINARY_OPERATORS=["+"].concat(_to_consumable_array(NUMBER_BINARY_OPERATORS),_to_consumable_array(BOOLEAN_BINARY_OPERATORS),["|>"]),ASSIGNMENT_OPERATORS=["=","+="].concat(_to_consumable_array(NUMBER_BINARY_OPERATORS.map((function(e){return e+"="}))),_to_consumable_array(LOGICAL_OPERATORS.map((function(e){return e+"="})))),BOOLEAN_UNARY_OPERATORS=["delete","!"],NUMBER_UNARY_OPERATORS=["+","-","~"],STRING_UNARY_OPERATORS=["typeof"],UNARY_OPERATORS=["void","throw"].concat(_to_consumable_array(BOOLEAN_UNARY_OPERATORS),_to_consumable_array(NUMBER_UNARY_OPERATORS),_to_consumable_array(STRING_UNARY_OPERATORS)),INHERIT_KEYS={optional:["typeAnnotation","typeParameters","returnType"],force:["start","loc","end"]},BLOCK_SCOPED_SYMBOL=Symbol.for("var used to be block scoped"),NOT_LOCAL_BINDING=Symbol.for("should not be considered a local binding"),VISITOR_KEYS={},ALIAS_KEYS={},FLIPPED_ALIAS_KEYS={},NODE_FIELDS={},BUILDER_KEYS={},DEPRECATED_KEYS={},NODE_PARENT_VALIDATIONS={};function getType$2(e){return Array.isArray(e)?"array":null===e?"null":void 0===e?"undefined":_type_of(e)}function validate$1$1(e){return{validate:e}}function typeIs(e){return"string"==typeof e?assertNodeType(e):assertNodeType.apply(void 0,_to_consumable_array(e))}function validateType(e){return validate$1$1(typeIs(e))}function validateOptional(e){return{validate:e,optional:!0}}function validateOptionalType(e){return{validate:typeIs(e),optional:!0}}function arrayOf(e){return chain$2(assertValueType("array"),assertEach(e))}function arrayOfType(e){return arrayOf(typeIs(e))}function validateArrayOfType(e){return validate$1$1(arrayOfType(e))}function assertEach(e){function t(t,r,n){if(Array.isArray(n))for(var i=0;i<n.length;i++){var a="".concat(r,"[").concat(i,"]"),s=n[i];e(t,a,s),validateChild(t,a,s)}}return t.each=e,t}function assertOneOf(){for(var e=arguments.length,t=new Array(e),r=0;r<e;r++)t[r]=arguments[r];function n(e,r,n){if(t.indexOf(n)<0)throw new TypeError("Property ".concat(r," expected value to be one of ").concat(JSON.stringify(t)," but got ").concat(JSON.stringify(n)))}return n.oneOf=t,n}function assertNodeType(){for(var e=arguments.length,t=new Array(e),r=0;r<e;r++)t[r]=arguments[r];function n(e,r,n){var i=!0,a=!1,s=void 0;try{for(var o,l=t[Symbol.iterator]();!(i=(o=l.next()).done);i=!0){if(is$4(o.value,n))return void validateChild(e,r,n)}}catch(e){a=!0,s=e}finally{try{i||null==l.return||l.return()}finally{if(a)throw s}}throw new TypeError("Property ".concat(r," of ").concat(e.type," expected node to be of a type ").concat(JSON.stringify(t)," but instead got ").concat(JSON.stringify(null==n?void 0:n.type)))}return n.oneOfNodeTypes=t,n}function assertNodeOrValueType(){for(var e=arguments.length,t=new Array(e),r=0;r<e;r++)t[r]=arguments[r];function n(e,r,n){var i=!0,a=!1,s=void 0;try{for(var o,l=t[Symbol.iterator]();!(i=(o=l.next()).done);i=!0){var u=o.value;if(getType$2(n)===u||is$4(u,n))return void validateChild(e,r,n)}}catch(e){a=!0,s=e}finally{try{i||null==l.return||l.return()}finally{if(a)throw s}}throw new TypeError("Property ".concat(r," of ").concat(e.type," expected node to be of a type ").concat(JSON.stringify(t)," but instead got ").concat(JSON.stringify(null==n?void 0:n.type)))}return n.oneOfNodeOrValueTypes=t,n}function assertValueType(e){function t(t,r,n){if(!(getType$2(n)===e))throw new TypeError("Property ".concat(r," expected type of ").concat(e," but got ").concat(getType$2(n)))}return t.type=e,t}function assertShape(e){function t(t,r,n){var i=[],a=!0,s=!1,o=void 0;try{for(var l,u=Object.keys(e)[Symbol.iterator]();!(a=(l=u.next()).done);a=!0){var c=l.value;try{validateField(t,c,n[c],e[c])}catch(e){if(_instanceof(e,TypeError)){i.push(e.message);continue}throw e}}}catch(e){s=!0,o=e}finally{try{a||null==u.return||u.return()}finally{if(s)throw o}}if(i.length)throw new TypeError("Property ".concat(r," of ").concat(t.type," expected to have the following:\n").concat(i.join("\n")))}return t.shapeOf=e,t}function assertOptionalChainStart(){return function(e){for(var t=e;e;){var r=t.type;if("OptionalCallExpression"!==r){if("OptionalMemberExpression"!==r)break;if(t.optional)return;t=t.object}else{if(t.optional)return;t=t.callee}}throw new TypeError("Non-optional ".concat(e.type," must chain from an optional OptionalMemberExpression or OptionalCallExpression. Found chain from ").concat(null==t?void 0:t.type))}}function chain$2(){for(var e=arguments.length,t=new Array(e),r=0;r<e;r++)t[r]=arguments[r];function n(){for(var e=arguments.length,r=new Array(e),n=0;n<e;n++)r[n]=arguments[n];var i=!0,a=!1,s=void 0;try{for(var o,l=t[Symbol.iterator]();!(i=(o=l.next()).done);i=!0){o.value.apply(void 0,_to_consumable_array(r))}}catch(e){a=!0,s=e}finally{try{i||null==l.return||l.return()}finally{if(a)throw s}}}if(n.chainOf=t,t.length>=2&&"type"in t[0]&&"array"===t[0].type&&!("each"in t[1]))throw new Error('An assertValueType("array") validator can only be followed by an assertEach(...) validator.');return n}var validTypeOpts=["aliases","builder","deprecatedAlias","fields","inherits","visitor","validate"],validFieldKeys=["default","optional","deprecated","validate"],store$1={};function defineAliasedType(){for(var e=arguments.length,t=new Array(e),r=0;r<e;r++)t[r]=arguments[r];return function(e){var r,n,i=arguments.length>1&&void 0!==arguments[1]?arguments[1]:{},a=i.aliases;a||(i.inherits&&(a=null===(n=store$1[i.inherits].aliases)||void 0===n?void 0:n.slice()),null!=a||(a=[]),i.aliases=a);var s=t.filter((function(e){return!a.includes(e)}));(r=a).unshift.apply(r,_to_consumable_array(s)),defineType$5(e,i)}}function defineType$5(e){var t=arguments.length>1&&void 0!==arguments[1]?arguments[1]:{},r=t.inherits&&store$1[t.inherits]||{},n=t.fields;if(!n&&(n={},r.fields)){var i=Object.getOwnPropertyNames(r.fields),a=!0,s=!1,o=void 0;try{for(var l,u=i[Symbol.iterator]();!(a=(l=u.next()).done);a=!0){var c=l.value,p=r.fields[c],d=p.default;if(Array.isArray(d)?d.length>0:d&&"object"==typeof d)throw new Error("field defaults can only be primitives or empty arrays currently");n[c]={default:Array.isArray(d)?[]:d,optional:p.optional,deprecated:p.deprecated,validate:p.validate}}}catch(e){s=!0,o=e}finally{try{a||null==u.return||u.return()}finally{if(s)throw o}}}var f=t.visitor||r.visitor||[],h=t.aliases||r.aliases||[],m=t.builder||r.builder||t.visitor||[],y=!0,g=!1,v=void 0;try{for(var b,S=Object.keys(t)[Symbol.iterator]();!(y=(b=S.next()).done);y=!0){var _=b.value;if(-1===validTypeOpts.indexOf(_))throw new Error('Unknown type option "'.concat(_,'" on ').concat(e))}}catch(e){g=!0,v=e}finally{try{y||null==S.return||S.return()}finally{if(g)throw v}}t.deprecatedAlias&&(DEPRECATED_KEYS[t.deprecatedAlias]=e);var T=!0,E=!1,x=void 0;try{for(var P,A=f.concat(m)[Symbol.iterator]();!(T=(P=A.next()).done);T=!0){var $=P.value;n[$]=n[$]||{}}}catch(e){E=!0,x=e}finally{try{T||null==A.return||A.return()}finally{if(E)throw x}}var C=!0,w=!1,k=void 0;try{for(var I,N=Object.keys(n)[Symbol.iterator]();!(C=(I=N.next()).done);C=!0){var O=I.value,L=n[O];void 0!==L.default&&-1===m.indexOf(O)&&(L.optional=!0),void 0===L.default?L.default=null:L.validate||null==L.default||(L.validate=assertValueType(getType$2(L.default)));var D=!0,F=!1,R=void 0;try{for(var M,B=Object.keys(L)[Symbol.iterator]();!(D=(M=B.next()).done);D=!0){var j=M.value;if(-1===validFieldKeys.indexOf(j))throw new Error('Unknown field key "'.concat(j,'" on ').concat(e,".").concat(O))}}catch(e){F=!0,R=e}finally{try{D||null==B.return||B.return()}finally{if(F)throw R}}}}catch(e){w=!0,k=e}finally{try{C||null==N.return||N.return()}finally{if(w)throw k}}VISITOR_KEYS[e]=t.visitor=f,BUILDER_KEYS[e]=t.builder=m,NODE_FIELDS[e]=t.fields=n,ALIAS_KEYS[e]=t.aliases=h,h.forEach((function(t){FLIPPED_ALIAS_KEYS[t]=FLIPPED_ALIAS_KEYS[t]||[],FLIPPED_ALIAS_KEYS[t].push(e)})),t.validate&&(NODE_PARENT_VALIDATIONS[e]=t.validate),store$1[e]=t}var defineType$4=defineAliasedType("Standardized");defineType$4("ArrayExpression",{fields:{elements:{validate:chain$2(assertValueType("array"),assertEach(assertNodeOrValueType("null","Expression","SpreadElement"))),default:void 0}},visitor:["elements"],aliases:["Expression"]}),defineType$4("AssignmentExpression",{fields:{operator:{validate:function(){var e=assertOneOf.apply(void 0,_to_consumable_array(ASSIGNMENT_OPERATORS)),t=assertOneOf("=");return function(r,n,i){(is$4("Pattern",r.left)?t:e)(r,n,i)}}()},left:{validate:assertNodeType("Identifier","MemberExpression","OptionalMemberExpression","ArrayPattern","ObjectPattern","TSAsExpression","TSSatisfiesExpression","TSTypeAssertion","TSNonNullExpression")},right:{validate:assertNodeType("Expression")}},builder:["operator","left","right"],visitor:["left","right"],aliases:["Expression"]}),defineType$4("BinaryExpression",{builder:["operator","left","right"],fields:{operator:{validate:assertOneOf.apply(void 0,_to_consumable_array(BINARY_OPERATORS))},left:{validate:function(){var e=assertNodeType("Expression"),t=assertNodeType("Expression","PrivateName");return Object.assign((function(r,n,i){("in"===r.operator?t:e)(r,n,i)}),{oneOfNodeTypes:["Expression","PrivateName"]})}()},right:{validate:assertNodeType("Expression")}},visitor:["left","right"],aliases:["Binary","Expression"]}),defineType$4("InterpreterDirective",{builder:["value"],fields:{value:{validate:assertValueType("string")}}}),defineType$4("Directive",{visitor:["value"],fields:{value:{validate:assertNodeType("DirectiveLiteral")}}}),defineType$4("DirectiveLiteral",{builder:["value"],fields:{value:{validate:assertValueType("string")}}}),defineType$4("BlockStatement",{builder:["body","directives"],visitor:["directives","body"],fields:{directives:{validate:chain$2(assertValueType("array"),assertEach(assertNodeType("Directive"))),default:[]},body:{validate:chain$2(assertValueType("array"),assertEach(assertNodeType("Statement")))}},aliases:["Scopable","BlockParent","Block","Statement"]}),defineType$4("BreakStatement",{visitor:["label"],fields:{label:{validate:assertNodeType("Identifier"),optional:!0}},aliases:["Statement","Terminatorless","CompletionStatement"]}),defineType$4("CallExpression",{visitor:["callee","arguments","typeParameters","typeArguments"],builder:["callee","arguments"],aliases:["Expression"],fields:Object.assign({callee:{validate:assertNodeType("Expression","Super","V8IntrinsicIdentifier")},arguments:{validate:chain$2(assertValueType("array"),assertEach(assertNodeType("Expression","SpreadElement","JSXNamespacedName","ArgumentPlaceholder")))}},{},{typeArguments:{validate:assertNodeType("TypeParameterInstantiation"),optional:!0},typeParameters:{validate:assertNodeType("TSTypeParameterInstantiation"),optional:!0}})}),defineType$4("CatchClause",{visitor:["param","body"],fields:{param:{validate:assertNodeType("Identifier","ArrayPattern","ObjectPattern"),optional:!0},body:{validate:assertNodeType("BlockStatement")}},aliases:["Scopable","BlockParent"]}),defineType$4("ConditionalExpression",{visitor:["test","consequent","alternate"],fields:{test:{validate:assertNodeType("Expression")},consequent:{validate:assertNodeType("Expression")},alternate:{validate:assertNodeType("Expression")}},aliases:["Expression","Conditional"]}),defineType$4("ContinueStatement",{visitor:["label"],fields:{label:{validate:assertNodeType("Identifier"),optional:!0}},aliases:["Statement","Terminatorless","CompletionStatement"]}),defineType$4("DebuggerStatement",{aliases:["Statement"]}),defineType$4("DoWhileStatement",{visitor:["test","body"],fields:{test:{validate:assertNodeType("Expression")},body:{validate:assertNodeType("Statement")}},aliases:["Statement","BlockParent","Loop","While","Scopable"]}),defineType$4("EmptyStatement",{aliases:["Statement"]}),defineType$4("ExpressionStatement",{visitor:["expression"],fields:{expression:{validate:assertNodeType("Expression")}},aliases:["Statement","ExpressionWrapper"]}),defineType$4("File",{builder:["program","comments","tokens"],visitor:["program"],fields:{program:{validate:assertNodeType("Program")},comments:{validate:assertEach(assertNodeType("CommentBlock","CommentLine")),optional:!0},tokens:{validate:assertEach(Object.assign((function(){}),{type:"any"})),optional:!0}}}),defineType$4("ForInStatement",{visitor:["left","right","body"],aliases:["Scopable","Statement","For","BlockParent","Loop","ForXStatement"],fields:{left:{validate:assertNodeType("VariableDeclaration","Identifier","MemberExpression","ArrayPattern","ObjectPattern","TSAsExpression","TSSatisfiesExpression","TSTypeAssertion","TSNonNullExpression")},right:{validate:assertNodeType("Expression")},body:{validate:assertNodeType("Statement")}}}),defineType$4("ForStatement",{visitor:["init","test","update","body"],aliases:["Scopable","Statement","For","BlockParent","Loop"],fields:{init:{validate:assertNodeType("VariableDeclaration","Expression"),optional:!0},test:{validate:assertNodeType("Expression"),optional:!0},update:{validate:assertNodeType("Expression"),optional:!0},body:{validate:assertNodeType("Statement")}}});var functionCommon=function(){return{params:{validate:chain$2(assertValueType("array"),assertEach(assertNodeType("Identifier","Pattern","RestElement")))},generator:{default:!1},async:{default:!1}}},functionTypeAnnotationCommon=function(){return{returnType:{validate:assertNodeType("TypeAnnotation","TSTypeAnnotation"),optional:!0},typeParameters:{validate:assertNodeType("TypeParameterDeclaration","TSTypeParameterDeclaration"),optional:!0}}},functionDeclarationCommon=function(){return Object.assign({},functionCommon(),{declare:{validate:assertValueType("boolean"),optional:!0},id:{validate:assertNodeType("Identifier"),optional:!0}})};defineType$4("FunctionDeclaration",{builder:["id","params","body","generator","async"],visitor:["id","params","body","returnType","typeParameters"],fields:Object.assign({},functionDeclarationCommon(),functionTypeAnnotationCommon(),{body:{validate:assertNodeType("BlockStatement")},predicate:{validate:assertNodeType("DeclaredPredicate","InferredPredicate"),optional:!0}}),aliases:["Scopable","Function","BlockParent","FunctionParent","Statement","Pureish","Declaration"],validate:function(){var e=assertNodeType("Identifier");return function(t,r,n){is$4("ExportDefaultDeclaration",t)||e(n,"id",n.id)}}()}),defineType$4("FunctionExpression",{inherits:"FunctionDeclaration",aliases:["Scopable","Function","BlockParent","FunctionParent","Expression","Pureish"],fields:Object.assign({},functionCommon(),functionTypeAnnotationCommon(),{id:{validate:assertNodeType("Identifier"),optional:!0},body:{validate:assertNodeType("BlockStatement")},predicate:{validate:assertNodeType("DeclaredPredicate","InferredPredicate"),optional:!0}})});var patternLikeCommon=function(){return{typeAnnotation:{validate:assertNodeType("TypeAnnotation","TSTypeAnnotation"),optional:!0},optional:{validate:assertValueType("boolean"),optional:!0},decorators:{validate:chain$2(assertValueType("array"),assertEach(assertNodeType("Decorator"))),optional:!0}}};defineType$4("Identifier",{builder:["name"],visitor:["typeAnnotation","decorators"],aliases:["Expression","PatternLike","LVal","TSEntityName"],fields:Object.assign({},patternLikeCommon(),{name:{validate:chain$2(assertValueType("string"),Object.assign((function(e,t,r){if(!isValidIdentifier(r,!1))throw new TypeError('"'.concat(r,'" is not a valid identifier name'))}),{type:"string"}))}}),validate:function(e,t,r){var n=/\.(\w+)$/.exec(t);if(n){var i=_sliced_to_array(n,2)[1],a={computed:!1};if("property"===i){if(is$4("MemberExpression",e,a))return;if(is$4("OptionalMemberExpression",e,a))return}else if("key"===i){if(is$4("Property",e,a))return;if(is$4("Method",e,a))return}else if("exported"===i){if(is$4("ExportSpecifier",e))return}else if("imported"===i){if(is$4("ImportSpecifier",e,{imported:r}))return}else if("meta"===i&&is$4("MetaProperty",e,{meta:r}))return;if((isKeyword(r.name)||isReservedWord(r.name,!1))&&"this"!==r.name)throw new TypeError('"'.concat(r.name,'" is not a valid identifier'))}}}),defineType$4("IfStatement",{visitor:["test","consequent","alternate"],aliases:["Statement","Conditional"],fields:{test:{validate:assertNodeType("Expression")},consequent:{validate:assertNodeType("Statement")},alternate:{optional:!0,validate:assertNodeType("Statement")}}}),defineType$4("LabeledStatement",{visitor:["label","body"],aliases:["Statement"],fields:{label:{validate:assertNodeType("Identifier")},body:{validate:assertNodeType("Statement")}}}),defineType$4("StringLiteral",{builder:["value"],fields:{value:{validate:assertValueType("string")}},aliases:["Expression","Pureish","Literal","Immutable"]}),defineType$4("NumericLiteral",{builder:["value"],deprecatedAlias:"NumberLiteral",fields:{value:{validate:chain$2(assertValueType("number"),Object.assign((function(e,t,r){if(1/r<0||!Number.isFinite(r)){var n=new Error("NumericLiterals must be non-negative finite numbers. You can use t.valueToNode(".concat(r,") instead."));if(!(new Error).stack.includes("regenerator"))throw n}}),{type:"number"}))}},aliases:["Expression","Pureish","Literal","Immutable"]}),defineType$4("NullLiteral",{aliases:["Expression","Pureish","Literal","Immutable"]}),defineType$4("BooleanLiteral",{builder:["value"],fields:{value:{validate:assertValueType("boolean")}},aliases:["Expression","Pureish","Literal","Immutable"]}),defineType$4("RegExpLiteral",{builder:["pattern","flags"],deprecatedAlias:"RegexLiteral",aliases:["Expression","Pureish","Literal"],fields:{pattern:{validate:assertValueType("string")},flags:{validate:chain$2(assertValueType("string"),Object.assign((function(e,t,r){var n=/[^gimsuy]/.exec(r);if(n)throw new TypeError('"'.concat(n[0],'" is not a valid RegExp flag'))}),{type:"string"})),default:""}}}),defineType$4("LogicalExpression",{builder:["operator","left","right"],visitor:["left","right"],aliases:["Binary","Expression"],fields:{operator:{validate:assertOneOf.apply(void 0,_to_consumable_array(LOGICAL_OPERATORS))},left:{validate:assertNodeType("Expression")},right:{validate:assertNodeType("Expression")}}}),defineType$4("MemberExpression",{builder:["object","property","computed"].concat(_to_consumable_array([])),visitor:["object","property"],aliases:["Expression","LVal"],fields:Object.assign({object:{validate:assertNodeType("Expression","Super")},property:{validate:function(){var e=assertNodeType("Identifier","PrivateName"),t=assertNodeType("Expression"),r=function(r,n,i){(r.computed?t:e)(r,n,i)};return r.oneOfNodeTypes=["Expression","Identifier","PrivateName"],r}()},computed:{default:!1}},{})}),defineType$4("NewExpression",{inherits:"CallExpression"}),defineType$4("Program",{visitor:["directives","body"],builder:["body","directives","sourceType","interpreter"],fields:{sourceType:{validate:assertOneOf("script","module"),default:"script"},interpreter:{validate:assertNodeType("InterpreterDirective"),default:null,optional:!0},directives:{validate:chain$2(assertValueType("array"),assertEach(assertNodeType("Directive"))),default:[]},body:{validate:chain$2(assertValueType("array"),assertEach(assertNodeType("Statement")))}},aliases:["Scopable","BlockParent","Block"]}),defineType$4("ObjectExpression",{visitor:["properties"],aliases:["Expression"],fields:{properties:{validate:chain$2(assertValueType("array"),assertEach(assertNodeType("ObjectMethod","ObjectProperty","SpreadElement")))}}}),defineType$4("ObjectMethod",{builder:["kind","key","params","body","computed","generator","async"],fields:Object.assign({},functionCommon(),functionTypeAnnotationCommon(),{kind:Object.assign({validate:assertOneOf("method","get","set")},{}),computed:{default:!1},key:{validate:function(){var e=assertNodeType("Identifier","StringLiteral","NumericLiteral","BigIntLiteral"),t=assertNodeType("Expression"),r=function(r,n,i){(r.computed?t:e)(r,n,i)};return r.oneOfNodeTypes=["Expression","Identifier","StringLiteral","NumericLiteral","BigIntLiteral"],r}()},decorators:{validate:chain$2(assertValueType("array"),assertEach(assertNodeType("Decorator"))),optional:!0},body:{validate:assertNodeType("BlockStatement")}}),visitor:["key","params","body","decorators","returnType","typeParameters"],aliases:["UserWhitespacable","Function","Scopable","BlockParent","FunctionParent","Method","ObjectMember"]}),defineType$4("ObjectProperty",{builder:["key","value","computed","shorthand"].concat(_to_consumable_array([])),fields:{computed:{default:!1},key:{validate:function(){var e=assertNodeType("Identifier","StringLiteral","NumericLiteral","BigIntLiteral","DecimalLiteral","PrivateName"),t=assertNodeType("Expression");return Object.assign((function(r,n,i){(r.computed?t:e)(r,n,i)}),{oneOfNodeTypes:["Expression","Identifier","StringLiteral","NumericLiteral","BigIntLiteral","DecimalLiteral","PrivateName"]})}()},value:{validate:assertNodeType("Expression","PatternLike")},shorthand:{validate:chain$2(assertValueType("boolean"),Object.assign((function(e,t,r){if(r&&e.computed)throw new TypeError("Property shorthand of ObjectProperty cannot be true if computed is true")}),{type:"boolean"}),(function(e,t,r){if(r&&!is$4("Identifier",e.key))throw new TypeError("Property shorthand of ObjectProperty cannot be true if key is not an Identifier")})),default:!1},decorators:{validate:chain$2(assertValueType("array"),assertEach(assertNodeType("Decorator"))),optional:!0}},visitor:["key","value","decorators"],aliases:["UserWhitespacable","Property","ObjectMember"],validate:function(){var e=assertNodeType("Identifier","Pattern","TSAsExpression","TSSatisfiesExpression","TSNonNullExpression","TSTypeAssertion"),t=assertNodeType("Expression");return function(r,n,i){(is$4("ObjectPattern",r)?e:t)(i,"value",i.value)}}()}),defineType$4("RestElement",{visitor:["argument","typeAnnotation"],builder:["argument"],aliases:["LVal","PatternLike"],deprecatedAlias:"RestProperty",fields:Object.assign({},patternLikeCommon(),{argument:{validate:assertNodeType("Identifier","ArrayPattern","ObjectPattern","MemberExpression","TSAsExpression","TSSatisfiesExpression","TSTypeAssertion","TSNonNullExpression")}}),validate:function(e,t){var r=/(\w+)\[(\d+)\]/.exec(t);if(!r)throw new Error("Internal Babel error: malformed key.");var n=_sliced_to_array(r,3),i=n[1],a=n[2];if(e[i].length>+a+1)throw new TypeError("RestElement must be last element of ".concat(i))}}),defineType$4("ReturnStatement",{visitor:["argument"],aliases:["Statement","Terminatorless","CompletionStatement"],fields:{argument:{validate:assertNodeType("Expression"),optional:!0}}}),defineType$4("SequenceExpression",{visitor:["expressions"],fields:{expressions:{validate:chain$2(assertValueType("array"),assertEach(assertNodeType("Expression")))}},aliases:["Expression"]}),defineType$4("ParenthesizedExpression",{visitor:["expression"],aliases:["Expression","ExpressionWrapper"],fields:{expression:{validate:assertNodeType("Expression")}}}),defineType$4("SwitchCase",{visitor:["test","consequent"],fields:{test:{validate:assertNodeType("Expression"),optional:!0},consequent:{validate:chain$2(assertValueType("array"),assertEach(assertNodeType("Statement")))}}}),defineType$4("SwitchStatement",{visitor:["discriminant","cases"],aliases:["Statement","BlockParent","Scopable"],fields:{discriminant:{validate:assertNodeType("Expression")},cases:{validate:chain$2(assertValueType("array"),assertEach(assertNodeType("SwitchCase")))}}}),defineType$4("ThisExpression",{aliases:["Expression"]}),defineType$4("ThrowStatement",{visitor:["argument"],aliases:["Statement","Terminatorless","CompletionStatement"],fields:{argument:{validate:assertNodeType("Expression")}}}),defineType$4("TryStatement",{visitor:["block","handler","finalizer"],aliases:["Statement"],fields:{block:{validate:chain$2(assertNodeType("BlockStatement"),Object.assign((function(e){if(!e.handler&&!e.finalizer)throw new TypeError("TryStatement expects either a handler or finalizer, or both")}),{oneOfNodeTypes:["BlockStatement"]}))},handler:{optional:!0,validate:assertNodeType("CatchClause")},finalizer:{optional:!0,validate:assertNodeType("BlockStatement")}}}),defineType$4("UnaryExpression",{builder:["operator","argument","prefix"],fields:{prefix:{default:!0},argument:{validate:assertNodeType("Expression")},operator:{validate:assertOneOf.apply(void 0,_to_consumable_array(UNARY_OPERATORS))}},visitor:["argument"],aliases:["UnaryLike","Expression"]}),defineType$4("UpdateExpression",{builder:["operator","argument","prefix"],fields:{prefix:{default:!1},argument:{validate:assertNodeType("Identifier","MemberExpression")},operator:{validate:assertOneOf.apply(void 0,_to_consumable_array(UPDATE_OPERATORS))}},visitor:["argument"],aliases:["Expression"]}),defineType$4("VariableDeclaration",{builder:["kind","declarations"],visitor:["declarations"],aliases:["Statement","Declaration"],fields:{declare:{validate:assertValueType("boolean"),optional:!0},kind:{validate:assertOneOf("var","let","const","using","await using")},declarations:{validate:chain$2(assertValueType("array"),assertEach(assertNodeType("VariableDeclarator")))}},validate:function(e,t,r){if(is$4("ForXStatement",e,{left:r})&&1!==r.declarations.length)throw new TypeError("Exactly one VariableDeclarator is required in the VariableDeclaration of a ".concat(e.type))}}),defineType$4("VariableDeclarator",{visitor:["id","init"],fields:{id:{validate:function(){var e=assertNodeType("Identifier","ArrayPattern","ObjectPattern"),t=assertNodeType("Identifier");return function(r,n,i){(r.init?e:t)(r,n,i)}}()},definite:{optional:!0,validate:assertValueType("boolean")},init:{optional:!0,validate:assertNodeType("Expression")}}}),defineType$4("WhileStatement",{visitor:["test","body"],aliases:["Statement","BlockParent","Loop","While","Scopable"],fields:{test:{validate:assertNodeType("Expression")},body:{validate:assertNodeType("Statement")}}}),defineType$4("WithStatement",{visitor:["object","body"],aliases:["Statement"],fields:{object:{validate:assertNodeType("Expression")},body:{validate:assertNodeType("Statement")}}}),defineType$4("AssignmentPattern",{visitor:["left","right","decorators"],builder:["left","right"],aliases:["Pattern","PatternLike","LVal"],fields:Object.assign({},patternLikeCommon(),{left:{validate:assertNodeType("Identifier","ObjectPattern","ArrayPattern","MemberExpression","TSAsExpression","TSSatisfiesExpression","TSTypeAssertion","TSNonNullExpression")},right:{validate:assertNodeType("Expression")},decorators:{validate:chain$2(assertValueType("array"),assertEach(assertNodeType("Decorator"))),optional:!0}})}),defineType$4("ArrayPattern",{visitor:["elements","typeAnnotation"],builder:["elements"],aliases:["Pattern","PatternLike","LVal"],fields:Object.assign({},patternLikeCommon(),{elements:{validate:chain$2(assertValueType("array"),assertEach(assertNodeOrValueType("null","PatternLike","LVal")))}})}),defineType$4("ArrowFunctionExpression",{builder:["params","body","async"],visitor:["params","body","returnType","typeParameters"],aliases:["Scopable","Function","BlockParent","FunctionParent","Expression","Pureish"],fields:Object.assign({},functionCommon(),functionTypeAnnotationCommon(),{expression:{validate:assertValueType("boolean")},body:{validate:assertNodeType("BlockStatement","Expression")},predicate:{validate:assertNodeType("DeclaredPredicate","InferredPredicate"),optional:!0}})}),defineType$4("ClassBody",{visitor:["body"],fields:{body:{validate:chain$2(assertValueType("array"),assertEach(assertNodeType("ClassMethod","ClassPrivateMethod","ClassProperty","ClassPrivateProperty","ClassAccessorProperty","TSDeclareMethod","TSIndexSignature","StaticBlock")))}}}),defineType$4("ClassExpression",{builder:["id","superClass","body","decorators"],visitor:["id","body","superClass","mixins","typeParameters","superTypeParameters","implements","decorators"],aliases:["Scopable","Class","Expression"],fields:{id:{validate:assertNodeType("Identifier"),optional:!0},typeParameters:{validate:assertNodeType("TypeParameterDeclaration","TSTypeParameterDeclaration"),optional:!0},body:{validate:assertNodeType("ClassBody")},superClass:{optional:!0,validate:assertNodeType("Expression")},superTypeParameters:{validate:assertNodeType("TypeParameterInstantiation","TSTypeParameterInstantiation"),optional:!0},implements:{validate:chain$2(assertValueType("array"),assertEach(assertNodeType("TSExpressionWithTypeArguments","ClassImplements"))),optional:!0},decorators:{validate:chain$2(assertValueType("array"),assertEach(assertNodeType("Decorator"))),optional:!0},mixins:{validate:assertNodeType("InterfaceExtends"),optional:!0}}}),defineType$4("ClassDeclaration",{inherits:"ClassExpression",aliases:["Scopable","Class","Statement","Declaration"],fields:{id:{validate:assertNodeType("Identifier"),optional:!0},typeParameters:{validate:assertNodeType("TypeParameterDeclaration","TSTypeParameterDeclaration"),optional:!0},body:{validate:assertNodeType("ClassBody")},superClass:{optional:!0,validate:assertNodeType("Expression")},superTypeParameters:{validate:assertNodeType("TypeParameterInstantiation","TSTypeParameterInstantiation"),optional:!0},implements:{validate:chain$2(assertValueType("array"),assertEach(assertNodeType("TSExpressionWithTypeArguments","ClassImplements"))),optional:!0},decorators:{validate:chain$2(assertValueType("array"),assertEach(assertNodeType("Decorator"))),optional:!0},mixins:{validate:assertNodeType("InterfaceExtends"),optional:!0},declare:{validate:assertValueType("boolean"),optional:!0},abstract:{validate:assertValueType("boolean"),optional:!0}},validate:function(){var e=assertNodeType("Identifier");return function(t,r,n){is$4("ExportDefaultDeclaration",t)||e(n,"id",n.id)}}()}),defineType$4("ExportAllDeclaration",{builder:["source"],visitor:["source","attributes","assertions"],aliases:["Statement","Declaration","ImportOrExportDeclaration","ExportDeclaration"],fields:{source:{validate:assertNodeType("StringLiteral")},exportKind:validateOptional(assertOneOf("type","value")),attributes:{optional:!0,validate:chain$2(assertValueType("array"),assertEach(assertNodeType("ImportAttribute")))},assertions:{optional:!0,validate:chain$2(assertValueType("array"),assertEach(assertNodeType("ImportAttribute")))}}}),defineType$4("ExportDefaultDeclaration",{visitor:["declaration"],aliases:["Statement","Declaration","ImportOrExportDeclaration","ExportDeclaration"],fields:{declaration:{validate:assertNodeType("TSDeclareFunction","FunctionDeclaration","ClassDeclaration","Expression")},exportKind:validateOptional(assertOneOf("value"))}}),defineType$4("ExportNamedDeclaration",{builder:["declaration","specifiers","source"],visitor:["declaration","specifiers","source","attributes","assertions"],aliases:["Statement","Declaration","ImportOrExportDeclaration","ExportDeclaration"],fields:{declaration:{optional:!0,validate:chain$2(assertNodeType("Declaration"),Object.assign((function(e,t,r){if(r&&e.specifiers.length)throw new TypeError("Only declaration or specifiers is allowed on ExportNamedDeclaration")}),{oneOfNodeTypes:["Declaration"]}),(function(e,t,r){if(r&&e.source)throw new TypeError("Cannot export a declaration from a source")}))},attributes:{optional:!0,validate:chain$2(assertValueType("array"),assertEach(assertNodeType("ImportAttribute")))},assertions:{optional:!0,validate:chain$2(assertValueType("array"),assertEach(assertNodeType("ImportAttribute")))},specifiers:{default:[],validate:chain$2(assertValueType("array"),assertEach(function(){var e=assertNodeType("ExportSpecifier","ExportDefaultSpecifier","ExportNamespaceSpecifier"),t=assertNodeType("ExportSpecifier");return function(r,n,i){(r.source?e:t)(r,n,i)}}()))},source:{validate:assertNodeType("StringLiteral"),optional:!0},exportKind:validateOptional(assertOneOf("type","value"))}}),defineType$4("ExportSpecifier",{visitor:["local","exported"],aliases:["ModuleSpecifier"],fields:{local:{validate:assertNodeType("Identifier")},exported:{validate:assertNodeType("Identifier","StringLiteral")},exportKind:{validate:assertOneOf("type","value"),optional:!0}}}),defineType$4("ForOfStatement",{visitor:["left","right","body"],builder:["left","right","body","await"],aliases:["Scopable","Statement","For","BlockParent","Loop","ForXStatement"],fields:{left:{validate:function(){var e=assertNodeType("VariableDeclaration"),t=assertNodeType("Identifier","MemberExpression","ArrayPattern","ObjectPattern","TSAsExpression","TSSatisfiesExpression","TSTypeAssertion","TSNonNullExpression");return function(r,n,i){is$4("VariableDeclaration",i)?e(r,n,i):t(r,n,i)}}()},right:{validate:assertNodeType("Expression")},body:{validate:assertNodeType("Statement")},await:{default:!1}}}),defineType$4("ImportDeclaration",{builder:["specifiers","source"],visitor:["specifiers","source","attributes","assertions"],aliases:["Statement","Declaration","ImportOrExportDeclaration"],fields:{attributes:{optional:!0,validate:chain$2(assertValueType("array"),assertEach(assertNodeType("ImportAttribute")))},assertions:{optional:!0,validate:chain$2(assertValueType("array"),assertEach(assertNodeType("ImportAttribute")))},module:{optional:!0,validate:assertValueType("boolean")},phase:{default:null,validate:assertOneOf("source","defer")},specifiers:{validate:chain$2(assertValueType("array"),assertEach(assertNodeType("ImportSpecifier","ImportDefaultSpecifier","ImportNamespaceSpecifier")))},source:{validate:assertNodeType("StringLiteral")},importKind:{validate:assertOneOf("type","typeof","value"),optional:!0}}}),defineType$4("ImportDefaultSpecifier",{visitor:["local"],aliases:["ModuleSpecifier"],fields:{local:{validate:assertNodeType("Identifier")}}}),defineType$4("ImportNamespaceSpecifier",{visitor:["local"],aliases:["ModuleSpecifier"],fields:{local:{validate:assertNodeType("Identifier")}}}),defineType$4("ImportSpecifier",{visitor:["local","imported"],aliases:["ModuleSpecifier"],fields:{local:{validate:assertNodeType("Identifier")},imported:{validate:assertNodeType("Identifier","StringLiteral")},importKind:{validate:assertOneOf("type","typeof","value"),optional:!0}}}),defineType$4("ImportExpression",{visitor:["source","options"],aliases:["Expression"],fields:{phase:{default:null,validate:assertOneOf("source","defer")},source:{validate:assertNodeType("Expression")},options:{validate:assertNodeType("Expression"),optional:!0}}}),defineType$4("MetaProperty",{visitor:["meta","property"],aliases:["Expression"],fields:{meta:{validate:chain$2(assertNodeType("Identifier"),Object.assign((function(e,t,r){var n;switch(r.name){case"function":n="sent";break;case"new":n="target";break;case"import":n="meta"}if(!is$4("Identifier",e.property,{name:n}))throw new TypeError("Unrecognised MetaProperty")}),{oneOfNodeTypes:["Identifier"]}))},property:{validate:assertNodeType("Identifier")}}});var classMethodOrPropertyCommon=function(){return{abstract:{validate:assertValueType("boolean"),optional:!0},accessibility:{validate:assertOneOf("public","private","protected"),optional:!0},static:{default:!1},override:{default:!1},computed:{default:!1},optional:{validate:assertValueType("boolean"),optional:!0},key:{validate:chain$2((e=assertNodeType("Identifier","StringLiteral","NumericLiteral","BigIntLiteral"),t=assertNodeType("Expression"),function(r,n,i){(r.computed?t:e)(r,n,i)}),assertNodeType("Identifier","StringLiteral","NumericLiteral","BigIntLiteral","Expression"))}};var e,t},classMethodOrDeclareMethodCommon=function(){return Object.assign({},functionCommon(),classMethodOrPropertyCommon(),{params:{validate:chain$2(assertValueType("array"),assertEach(assertNodeType("Identifier","Pattern","RestElement","TSParameterProperty")))},kind:{validate:assertOneOf("get","set","method","constructor"),default:"method"},access:{validate:chain$2(assertValueType("string"),assertOneOf("public","private","protected")),optional:!0},decorators:{validate:chain$2(assertValueType("array"),assertEach(assertNodeType("Decorator"))),optional:!0}})};defineType$4("ClassMethod",{aliases:["Function","Scopable","BlockParent","FunctionParent","Method"],builder:["kind","key","params","body","computed","static","generator","async"],visitor:["key","params","body","decorators","returnType","typeParameters"],fields:Object.assign({},classMethodOrDeclareMethodCommon(),functionTypeAnnotationCommon(),{body:{validate:assertNodeType("BlockStatement")}})}),defineType$4("ObjectPattern",{visitor:["properties","typeAnnotation","decorators"],builder:["properties"],aliases:["Pattern","PatternLike","LVal"],fields:Object.assign({},patternLikeCommon(),{properties:{validate:chain$2(assertValueType("array"),assertEach(assertNodeType("RestElement","ObjectProperty")))}})}),defineType$4("SpreadElement",{visitor:["argument"],aliases:["UnaryLike"],deprecatedAlias:"SpreadProperty",fields:{argument:{validate:assertNodeType("Expression")}}}),defineType$4("Super",void 0),defineType$4("TaggedTemplateExpression",{visitor:["tag","quasi","typeParameters"],builder:["tag","quasi"],aliases:["Expression"],fields:{tag:{validate:assertNodeType("Expression")},quasi:{validate:assertNodeType("TemplateLiteral")},typeParameters:{validate:assertNodeType("TypeParameterInstantiation","TSTypeParameterInstantiation"),optional:!0}}}),defineType$4("TemplateElement",{builder:["value","tail"],fields:{value:{validate:chain$2(assertShape({raw:{validate:assertValueType("string")},cooked:{validate:assertValueType("string"),optional:!0}}),(function(e){var t=e.value.raw,r=!1,n=function(){throw new Error("Internal @babel/types error.")},i=readStringContents("template",t,0,0,0,{unterminated:function(){r=!0},strictNumericEscape:n,invalidEscapeSequence:n,numericSeparatorInEscapeSequence:n,unexpectedNumericSeparator:n,invalidDigit:n,invalidCodePoint:n}),a=i.str,s=i.firstInvalidLoc;if(!r)throw new Error("Invalid raw");e.value.cooked=s?null:a}))},tail:{default:!1}}}),defineType$4("TemplateLiteral",{visitor:["quasis","expressions"],aliases:["Expression","Literal"],fields:{quasis:{validate:chain$2(assertValueType("array"),assertEach(assertNodeType("TemplateElement")))},expressions:{validate:chain$2(assertValueType("array"),assertEach(assertNodeType("Expression","TSType")),(function(e,t,r){if(e.quasis.length!==r.length+1)throw new TypeError("Number of ".concat(e.type," quasis should be exactly one more than the number of expressions.\nExpected ").concat(r.length+1," quasis but got ").concat(e.quasis.length))}))}}}),defineType$4("YieldExpression",{builder:["argument","delegate"],visitor:["argument"],aliases:["Expression","Terminatorless"],fields:{delegate:{validate:chain$2(assertValueType("boolean"),Object.assign((function(e,t,r){if(r&&!e.argument)throw new TypeError("Property delegate of YieldExpression cannot be true if there is no argument")}),{type:"boolean"})),default:!1},argument:{optional:!0,validate:assertNodeType("Expression")}}}),defineType$4("AwaitExpression",{builder:["argument"],visitor:["argument"],aliases:["Expression","Terminatorless"],fields:{argument:{validate:assertNodeType("Expression")}}}),defineType$4("Import",{aliases:["Expression"]}),defineType$4("BigIntLiteral",{builder:["value"],fields:{value:{validate:assertValueType("string")}},aliases:["Expression","Pureish","Literal","Immutable"]}),defineType$4("ExportNamespaceSpecifier",{visitor:["exported"],aliases:["ModuleSpecifier"],fields:{exported:{validate:assertNodeType("Identifier")}}}),defineType$4("OptionalMemberExpression",{builder:["object","property","computed","optional"],visitor:["object","property"],aliases:["Expression"],fields:{object:{validate:assertNodeType("Expression")},property:{validate:function(){var e=assertNodeType("Identifier"),t=assertNodeType("Expression");return Object.assign((function(r,n,i){(r.computed?t:e)(r,n,i)}),{oneOfNodeTypes:["Expression","Identifier"]})}()},computed:{default:!1},optional:{validate:chain$2(assertValueType("boolean"),assertOptionalChainStart())}}}),defineType$4("OptionalCallExpression",{visitor:["callee","arguments","typeParameters","typeArguments"],builder:["callee","arguments","optional"],aliases:["Expression"],fields:{callee:{validate:assertNodeType("Expression")},arguments:{validate:chain$2(assertValueType("array"),assertEach(assertNodeType("Expression","SpreadElement","JSXNamespacedName","ArgumentPlaceholder")))},optional:{validate:chain$2(assertValueType("boolean"),assertOptionalChainStart())},typeArguments:{validate:assertNodeType("TypeParameterInstantiation"),optional:!0},typeParameters:{validate:assertNodeType("TSTypeParameterInstantiation"),optional:!0}}}),defineType$4("ClassProperty",{visitor:["key","value","typeAnnotation","decorators"],builder:["key","value","typeAnnotation","decorators","computed","static"],aliases:["Property"],fields:Object.assign({},classMethodOrPropertyCommon(),{value:{validate:assertNodeType("Expression"),optional:!0},definite:{validate:assertValueType("boolean"),optional:!0},typeAnnotation:{validate:assertNodeType("TypeAnnotation","TSTypeAnnotation"),optional:!0},decorators:{validate:chain$2(assertValueType("array"),assertEach(assertNodeType("Decorator"))),optional:!0},readonly:{validate:assertValueType("boolean"),optional:!0},declare:{validate:assertValueType("boolean"),optional:!0},variance:{validate:assertNodeType("Variance"),optional:!0}})}),defineType$4("ClassAccessorProperty",{visitor:["key","value","typeAnnotation","decorators"],builder:["key","value","typeAnnotation","decorators","computed","static"],aliases:["Property","Accessor"],fields:Object.assign({},classMethodOrPropertyCommon(),{key:{validate:chain$2(function(){var e=assertNodeType("Identifier","StringLiteral","NumericLiteral","BigIntLiteral","PrivateName"),t=assertNodeType("Expression");return function(r,n,i){(r.computed?t:e)(r,n,i)}}(),assertNodeType("Identifier","StringLiteral","NumericLiteral","BigIntLiteral","Expression","PrivateName"))},value:{validate:assertNodeType("Expression"),optional:!0},definite:{validate:assertValueType("boolean"),optional:!0},typeAnnotation:{validate:assertNodeType("TypeAnnotation","TSTypeAnnotation"),optional:!0},decorators:{validate:chain$2(assertValueType("array"),assertEach(assertNodeType("Decorator"))),optional:!0},readonly:{validate:assertValueType("boolean"),optional:!0},declare:{validate:assertValueType("boolean"),optional:!0},variance:{validate:assertNodeType("Variance"),optional:!0}})}),defineType$4("ClassPrivateProperty",{visitor:["key","value","decorators","typeAnnotation"],builder:["key","value","decorators","static"],aliases:["Property","Private"],fields:{key:{validate:assertNodeType("PrivateName")},value:{validate:assertNodeType("Expression"),optional:!0},typeAnnotation:{validate:assertNodeType("TypeAnnotation","TSTypeAnnotation"),optional:!0},decorators:{validate:chain$2(assertValueType("array"),assertEach(assertNodeType("Decorator"))),optional:!0},static:{validate:assertValueType("boolean"),default:!1},readonly:{validate:assertValueType("boolean"),optional:!0},definite:{validate:assertValueType("boolean"),optional:!0},variance:{validate:assertNodeType("Variance"),optional:!0}}}),defineType$4("ClassPrivateMethod",{builder:["kind","key","params","body","static"],visitor:["key","params","body","decorators","returnType","typeParameters"],aliases:["Function","Scopable","BlockParent","FunctionParent","Method","Private"],fields:Object.assign({},classMethodOrDeclareMethodCommon(),functionTypeAnnotationCommon(),{kind:{validate:assertOneOf("get","set","method"),default:"method"},key:{validate:assertNodeType("PrivateName")},body:{validate:assertNodeType("BlockStatement")}})}),defineType$4("PrivateName",{visitor:["id"],aliases:["Private"],fields:{id:{validate:assertNodeType("Identifier")}}}),defineType$4("StaticBlock",{visitor:["body"],fields:{body:{validate:chain$2(assertValueType("array"),assertEach(assertNodeType("Statement")))}},aliases:["Scopable","BlockParent","FunctionParent"]});var defineType$3=defineAliasedType("Flow"),defineInterfaceishType=function(e){var t="DeclareClass"===e;defineType$3(e,{builder:["id","typeParameters","extends","body"],visitor:["id","typeParameters","extends"].concat(_to_consumable_array(t?["mixins","implements"]:[]),["body"]),aliases:["FlowDeclaration","Statement","Declaration"],fields:Object.assign({id:validateType("Identifier"),typeParameters:validateOptionalType("TypeParameterDeclaration"),extends:validateOptional(arrayOfType("InterfaceExtends"))},t?{mixins:validateOptional(arrayOfType("InterfaceExtends")),implements:validateOptional(arrayOfType("ClassImplements"))}:{},{body:validateType("ObjectTypeAnnotation")})})};defineType$3("AnyTypeAnnotation",{aliases:["FlowType","FlowBaseAnnotation"]}),defineType$3("ArrayTypeAnnotation",{visitor:["elementType"],aliases:["FlowType"],fields:{elementType:validateType("FlowType")}}),defineType$3("BooleanTypeAnnotation",{aliases:["FlowType","FlowBaseAnnotation"]}),defineType$3("BooleanLiteralTypeAnnotation",{builder:["value"],aliases:["FlowType"],fields:{value:validate$1$1(assertValueType("boolean"))}}),defineType$3("NullLiteralTypeAnnotation",{aliases:["FlowType","FlowBaseAnnotation"]}),defineType$3("ClassImplements",{visitor:["id","typeParameters"],fields:{id:validateType("Identifier"),typeParameters:validateOptionalType("TypeParameterInstantiation")}}),defineInterfaceishType("DeclareClass"),defineType$3("DeclareFunction",{visitor:["id"],aliases:["FlowDeclaration","Statement","Declaration"],fields:{id:validateType("Identifier"),predicate:validateOptionalType("DeclaredPredicate")}}),defineInterfaceishType("DeclareInterface"),defineType$3("DeclareModule",{builder:["id","body","kind"],visitor:["id","body"],aliases:["FlowDeclaration","Statement","Declaration"],fields:{id:validateType(["Identifier","StringLiteral"]),body:validateType("BlockStatement"),kind:validateOptional(assertOneOf("CommonJS","ES"))}}),defineType$3("DeclareModuleExports",{visitor:["typeAnnotation"],aliases:["FlowDeclaration","Statement","Declaration"],fields:{typeAnnotation:validateType("TypeAnnotation")}}),defineType$3("DeclareTypeAlias",{visitor:["id","typeParameters","right"],aliases:["FlowDeclaration","Statement","Declaration"],fields:{id:validateType("Identifier"),typeParameters:validateOptionalType("TypeParameterDeclaration"),right:validateType("FlowType")}}),defineType$3("DeclareOpaqueType",{visitor:["id","typeParameters","supertype"],aliases:["FlowDeclaration","Statement","Declaration"],fields:{id:validateType("Identifier"),typeParameters:validateOptionalType("TypeParameterDeclaration"),supertype:validateOptionalType("FlowType"),impltype:validateOptionalType("FlowType")}}),defineType$3("DeclareVariable",{visitor:["id"],aliases:["FlowDeclaration","Statement","Declaration"],fields:{id:validateType("Identifier")}}),defineType$3("DeclareExportDeclaration",{visitor:["declaration","specifiers","source"],aliases:["FlowDeclaration","Statement","Declaration"],fields:{declaration:validateOptionalType("Flow"),specifiers:validateOptional(arrayOfType(["ExportSpecifier","ExportNamespaceSpecifier"])),source:validateOptionalType("StringLiteral"),default:validateOptional(assertValueType("boolean"))}}),defineType$3("DeclareExportAllDeclaration",{visitor:["source"],aliases:["FlowDeclaration","Statement","Declaration"],fields:{source:validateType("StringLiteral"),exportKind:validateOptional(assertOneOf("type","value"))}}),defineType$3("DeclaredPredicate",{visitor:["value"],aliases:["FlowPredicate"],fields:{value:validateType("Flow")}}),defineType$3("ExistsTypeAnnotation",{aliases:["FlowType"]}),defineType$3("FunctionTypeAnnotation",{visitor:["typeParameters","params","rest","returnType"],aliases:["FlowType"],fields:{typeParameters:validateOptionalType("TypeParameterDeclaration"),params:validate$1$1(arrayOfType("FunctionTypeParam")),rest:validateOptionalType("FunctionTypeParam"),this:validateOptionalType("FunctionTypeParam"),returnType:validateType("FlowType")}}),defineType$3("FunctionTypeParam",{visitor:["name","typeAnnotation"],fields:{name:validateOptionalType("Identifier"),typeAnnotation:validateType("FlowType"),optional:validateOptional(assertValueType("boolean"))}}),defineType$3("GenericTypeAnnotation",{visitor:["id","typeParameters"],aliases:["FlowType"],fields:{id:validateType(["Identifier","QualifiedTypeIdentifier"]),typeParameters:validateOptionalType("TypeParameterInstantiation")}}),defineType$3("InferredPredicate",{aliases:["FlowPredicate"]}),defineType$3("InterfaceExtends",{visitor:["id","typeParameters"],fields:{id:validateType(["Identifier","QualifiedTypeIdentifier"]),typeParameters:validateOptionalType("TypeParameterInstantiation")}}),defineInterfaceishType("InterfaceDeclaration"),defineType$3("InterfaceTypeAnnotation",{visitor:["extends","body"],aliases:["FlowType"],fields:{extends:validateOptional(arrayOfType("InterfaceExtends")),body:validateType("ObjectTypeAnnotation")}}),defineType$3("IntersectionTypeAnnotation",{visitor:["types"],aliases:["FlowType"],fields:{types:validate$1$1(arrayOfType("FlowType"))}}),defineType$3("MixedTypeAnnotation",{aliases:["FlowType","FlowBaseAnnotation"]}),defineType$3("EmptyTypeAnnotation",{aliases:["FlowType","FlowBaseAnnotation"]}),defineType$3("NullableTypeAnnotation",{visitor:["typeAnnotation"],aliases:["FlowType"],fields:{typeAnnotation:validateType("FlowType")}}),defineType$3("NumberLiteralTypeAnnotation",{builder:["value"],aliases:["FlowType"],fields:{value:validate$1$1(assertValueType("number"))}}),defineType$3("NumberTypeAnnotation",{aliases:["FlowType","FlowBaseAnnotation"]}),defineType$3("ObjectTypeAnnotation",{visitor:["properties","indexers","callProperties","internalSlots"],aliases:["FlowType"],builder:["properties","indexers","callProperties","internalSlots","exact"],fields:{properties:validate$1$1(arrayOfType(["ObjectTypeProperty","ObjectTypeSpreadProperty"])),indexers:{validate:arrayOfType("ObjectTypeIndexer"),optional:!1,default:[]},callProperties:{validate:arrayOfType("ObjectTypeCallProperty"),optional:!1,default:[]},internalSlots:{validate:arrayOfType("ObjectTypeInternalSlot"),optional:!1,default:[]},exact:{validate:assertValueType("boolean"),default:!1},inexact:validateOptional(assertValueType("boolean"))}}),defineType$3("ObjectTypeInternalSlot",{visitor:["id","value","optional","static","method"],aliases:["UserWhitespacable"],fields:{id:validateType("Identifier"),value:validateType("FlowType"),optional:validate$1$1(assertValueType("boolean")),static:validate$1$1(assertValueType("boolean")),method:validate$1$1(assertValueType("boolean"))}}),defineType$3("ObjectTypeCallProperty",{visitor:["value"],aliases:["UserWhitespacable"],fields:{value:validateType("FlowType"),static:validate$1$1(assertValueType("boolean"))}}),defineType$3("ObjectTypeIndexer",{visitor:["id","key","value","variance"],aliases:["UserWhitespacable"],fields:{id:validateOptionalType("Identifier"),key:validateType("FlowType"),value:validateType("FlowType"),static:validate$1$1(assertValueType("boolean")),variance:validateOptionalType("Variance")}}),defineType$3("ObjectTypeProperty",{visitor:["key","value","variance"],aliases:["UserWhitespacable"],fields:{key:validateType(["Identifier","StringLiteral"]),value:validateType("FlowType"),kind:validate$1$1(assertOneOf("init","get","set")),static:validate$1$1(assertValueType("boolean")),proto:validate$1$1(assertValueType("boolean")),optional:validate$1$1(assertValueType("boolean")),variance:validateOptionalType("Variance"),method:validate$1$1(assertValueType("boolean"))}}),defineType$3("ObjectTypeSpreadProperty",{visitor:["argument"],aliases:["UserWhitespacable"],fields:{argument:validateType("FlowType")}}),defineType$3("OpaqueType",{visitor:["id","typeParameters","supertype","impltype"],aliases:["FlowDeclaration","Statement","Declaration"],fields:{id:validateType("Identifier"),typeParameters:validateOptionalType("TypeParameterDeclaration"),supertype:validateOptionalType("FlowType"),impltype:validateType("FlowType")}}),defineType$3("QualifiedTypeIdentifier",{visitor:["id","qualification"],fields:{id:validateType("Identifier"),qualification:validateType(["Identifier","QualifiedTypeIdentifier"])}}),defineType$3("StringLiteralTypeAnnotation",{builder:["value"],aliases:["FlowType"],fields:{value:validate$1$1(assertValueType("string"))}}),defineType$3("StringTypeAnnotation",{aliases:["FlowType","FlowBaseAnnotation"]}),defineType$3("SymbolTypeAnnotation",{aliases:["FlowType","FlowBaseAnnotation"]}),defineType$3("ThisTypeAnnotation",{aliases:["FlowType","FlowBaseAnnotation"]}),defineType$3("TupleTypeAnnotation",{visitor:["types"],aliases:["FlowType"],fields:{types:validate$1$1(arrayOfType("FlowType"))}}),defineType$3("TypeofTypeAnnotation",{visitor:["argument"],aliases:["FlowType"],fields:{argument:validateType("FlowType")}}),defineType$3("TypeAlias",{visitor:["id","typeParameters","right"],aliases:["FlowDeclaration","Statement","Declaration"],fields:{id:validateType("Identifier"),typeParameters:validateOptionalType("TypeParameterDeclaration"),right:validateType("FlowType")}}),defineType$3("TypeAnnotation",{visitor:["typeAnnotation"],fields:{typeAnnotation:validateType("FlowType")}}),defineType$3("TypeCastExpression",{visitor:["expression","typeAnnotation"],aliases:["ExpressionWrapper","Expression"],fields:{expression:validateType("Expression"),typeAnnotation:validateType("TypeAnnotation")}}),defineType$3("TypeParameter",{visitor:["bound","default","variance"],fields:{name:validate$1$1(assertValueType("string")),bound:validateOptionalType("TypeAnnotation"),default:validateOptionalType("FlowType"),variance:validateOptionalType("Variance")}}),defineType$3("TypeParameterDeclaration",{visitor:["params"],fields:{params:validate$1$1(arrayOfType("TypeParameter"))}}),defineType$3("TypeParameterInstantiation",{visitor:["params"],fields:{params:validate$1$1(arrayOfType("FlowType"))}}),defineType$3("UnionTypeAnnotation",{visitor:["types"],aliases:["FlowType"],fields:{types:validate$1$1(arrayOfType("FlowType"))}}),defineType$3("Variance",{builder:["kind"],fields:{kind:validate$1$1(assertOneOf("minus","plus"))}}),defineType$3("VoidTypeAnnotation",{aliases:["FlowType","FlowBaseAnnotation"]}),defineType$3("EnumDeclaration",{aliases:["Statement","Declaration"],visitor:["id","body"],fields:{id:validateType("Identifier"),body:validateType(["EnumBooleanBody","EnumNumberBody","EnumStringBody","EnumSymbolBody"])}}),defineType$3("EnumBooleanBody",{aliases:["EnumBody"],visitor:["members"],fields:{explicitType:validate$1$1(assertValueType("boolean")),members:validateArrayOfType("EnumBooleanMember"),hasUnknownMembers:validate$1$1(assertValueType("boolean"))}}),defineType$3("EnumNumberBody",{aliases:["EnumBody"],visitor:["members"],fields:{explicitType:validate$1$1(assertValueType("boolean")),members:validateArrayOfType("EnumNumberMember"),hasUnknownMembers:validate$1$1(assertValueType("boolean"))}}),defineType$3("EnumStringBody",{aliases:["EnumBody"],visitor:["members"],fields:{explicitType:validate$1$1(assertValueType("boolean")),members:validateArrayOfType(["EnumStringMember","EnumDefaultedMember"]),hasUnknownMembers:validate$1$1(assertValueType("boolean"))}}),defineType$3("EnumSymbolBody",{aliases:["EnumBody"],visitor:["members"],fields:{members:validateArrayOfType("EnumDefaultedMember"),hasUnknownMembers:validate$1$1(assertValueType("boolean"))}}),defineType$3("EnumBooleanMember",{aliases:["EnumMember"],visitor:["id"],fields:{id:validateType("Identifier"),init:validateType("BooleanLiteral")}}),defineType$3("EnumNumberMember",{aliases:["EnumMember"],visitor:["id","init"],fields:{id:validateType("Identifier"),init:validateType("NumericLiteral")}}),defineType$3("EnumStringMember",{aliases:["EnumMember"],visitor:["id","init"],fields:{id:validateType("Identifier"),init:validateType("StringLiteral")}}),defineType$3("EnumDefaultedMember",{aliases:["EnumMember"],visitor:["id"],fields:{id:validateType("Identifier")}}),defineType$3("IndexedAccessType",{visitor:["objectType","indexType"],aliases:["FlowType"],fields:{objectType:validateType("FlowType"),indexType:validateType("FlowType")}}),defineType$3("OptionalIndexedAccessType",{visitor:["objectType","indexType"],aliases:["FlowType"],fields:{objectType:validateType("FlowType"),indexType:validateType("FlowType"),optional:validate$1$1(assertValueType("boolean"))}});var defineType$2=defineAliasedType("JSX");defineType$2("JSXAttribute",{visitor:["name","value"],aliases:["Immutable"],fields:{name:{validate:assertNodeType("JSXIdentifier","JSXNamespacedName")},value:{optional:!0,validate:assertNodeType("JSXElement","JSXFragment","StringLiteral","JSXExpressionContainer")}}}),defineType$2("JSXClosingElement",{visitor:["name"],aliases:["Immutable"],fields:{name:{validate:assertNodeType("JSXIdentifier","JSXMemberExpression","JSXNamespacedName")}}}),defineType$2("JSXElement",{builder:["openingElement","closingElement","children"],visitor:["openingElement","children","closingElement"],aliases:["Immutable","Expression"],fields:Object.assign({openingElement:{validate:assertNodeType("JSXOpeningElement")},closingElement:{optional:!0,validate:assertNodeType("JSXClosingElement")},children:{validate:chain$2(assertValueType("array"),assertEach(assertNodeType("JSXText","JSXExpressionContainer","JSXSpreadChild","JSXElement","JSXFragment")))}},{})}),defineType$2("JSXEmptyExpression",{}),defineType$2("JSXExpressionContainer",{visitor:["expression"],aliases:["Immutable"],fields:{expression:{validate:assertNodeType("Expression","JSXEmptyExpression")}}}),defineType$2("JSXSpreadChild",{visitor:["expression"],aliases:["Immutable"],fields:{expression:{validate:assertNodeType("Expression")}}}),defineType$2("JSXIdentifier",{builder:["name"],fields:{name:{validate:assertValueType("string")}}}),defineType$2("JSXMemberExpression",{visitor:["object","property"],fields:{object:{validate:assertNodeType("JSXMemberExpression","JSXIdentifier")},property:{validate:assertNodeType("JSXIdentifier")}}}),defineType$2("JSXNamespacedName",{visitor:["namespace","name"],fields:{namespace:{validate:assertNodeType("JSXIdentifier")},name:{validate:assertNodeType("JSXIdentifier")}}}),defineType$2("JSXOpeningElement",{builder:["name","attributes","selfClosing"],visitor:["name","attributes"],aliases:["Immutable"],fields:{name:{validate:assertNodeType("JSXIdentifier","JSXMemberExpression","JSXNamespacedName")},selfClosing:{default:!1},attributes:{validate:chain$2(assertValueType("array"),assertEach(assertNodeType("JSXAttribute","JSXSpreadAttribute")))},typeParameters:{validate:assertNodeType("TypeParameterInstantiation","TSTypeParameterInstantiation"),optional:!0}}}),defineType$2("JSXSpreadAttribute",{visitor:["argument"],fields:{argument:{validate:assertNodeType("Expression")}}}),defineType$2("JSXText",{aliases:["Immutable"],builder:["value"],fields:{value:{validate:assertValueType("string")}}}),defineType$2("JSXFragment",{builder:["openingFragment","closingFragment","children"],visitor:["openingFragment","children","closingFragment"],aliases:["Immutable","Expression"],fields:{openingFragment:{validate:assertNodeType("JSXOpeningFragment")},closingFragment:{validate:assertNodeType("JSXClosingFragment")},children:{validate:chain$2(assertValueType("array"),assertEach(assertNodeType("JSXText","JSXExpressionContainer","JSXSpreadChild","JSXElement","JSXFragment")))}}}),defineType$2("JSXOpeningFragment",{aliases:["Immutable"]}),defineType$2("JSXClosingFragment",{aliases:["Immutable"]});var PLACEHOLDERS=["Identifier","StringLiteral","Expression","Statement","Declaration","BlockStatement","ClassBody","Pattern"],PLACEHOLDERS_ALIAS={Declaration:["Statement"],Pattern:["PatternLike","LVal"]},_iteratorNormalCompletion=!0,_didIteratorError=!1,_iteratorError=void 0;try{for(var _step,_iterator=PLACEHOLDERS[Symbol.iterator]();!(_iteratorNormalCompletion=(_step=_iterator.next()).done);_iteratorNormalCompletion=!0){var type=_step.value,alias=ALIAS_KEYS[type];(null==alias?void 0:alias.length)&&(PLACEHOLDERS_ALIAS[type]=alias)}}catch(e){_didIteratorError=!0,_iteratorError=e}finally{try{_iteratorNormalCompletion||null==_iterator.return||_iterator.return()}finally{if(_didIteratorError)throw _iteratorError}}var PLACEHOLDERS_FLIPPED_ALIAS={};Object.keys(PLACEHOLDERS_ALIAS).forEach((function(e){PLACEHOLDERS_ALIAS[e].forEach((function(t){Object.hasOwn(PLACEHOLDERS_FLIPPED_ALIAS,t)||(PLACEHOLDERS_FLIPPED_ALIAS[t]=[]),PLACEHOLDERS_FLIPPED_ALIAS[t].push(e)}))}));var defineType$1=defineAliasedType("Miscellaneous");defineType$1("Placeholder",{visitor:[],builder:["expectedNode","name"],fields:{name:{validate:assertNodeType("Identifier")},expectedNode:{validate:assertOneOf.apply(void 0,_to_consumable_array(PLACEHOLDERS))}}}),defineType$1("V8IntrinsicIdentifier",{builder:["name"],fields:{name:{validate:assertValueType("string")}}}),defineType$5("ArgumentPlaceholder",{}),defineType$5("BindExpression",{visitor:["object","callee"],aliases:["Expression"],fields:{object:{validate:assertNodeType("Expression")},callee:{validate:assertNodeType("Expression")}}}),defineType$5("ImportAttribute",{visitor:["key","value"],fields:{key:{validate:assertNodeType("Identifier","StringLiteral")},value:{validate:assertNodeType("StringLiteral")}}}),defineType$5("Decorator",{visitor:["expression"],fields:{expression:{validate:assertNodeType("Expression")}}}),defineType$5("DoExpression",{visitor:["body"],builder:["body","async"],aliases:["Expression"],fields:{body:{validate:assertNodeType("BlockStatement")},async:{validate:assertValueType("boolean"),default:!1}}}),defineType$5("ExportDefaultSpecifier",{visitor:["exported"],aliases:["ModuleSpecifier"],fields:{exported:{validate:assertNodeType("Identifier")}}}),defineType$5("RecordExpression",{visitor:["properties"],aliases:["Expression"],fields:{properties:{validate:chain$2(assertValueType("array"),assertEach(assertNodeType("ObjectProperty","SpreadElement")))}}}),defineType$5("TupleExpression",{fields:{elements:{validate:chain$2(assertValueType("array"),assertEach(assertNodeType("Expression","SpreadElement"))),default:[]}},visitor:["elements"],aliases:["Expression"]}),defineType$5("DecimalLiteral",{builder:["value"],fields:{value:{validate:assertValueType("string")}},aliases:["Expression","Pureish","Literal","Immutable"]}),defineType$5("ModuleExpression",{visitor:["body"],fields:{body:{validate:assertNodeType("Program")}},aliases:["Expression"]}),defineType$5("TopicReference",{aliases:["Expression"]}),defineType$5("PipelineTopicExpression",{builder:["expression"],visitor:["expression"],fields:{expression:{validate:assertNodeType("Expression")}},aliases:["Expression"]}),defineType$5("PipelineBareFunction",{builder:["callee"],visitor:["callee"],fields:{callee:{validate:assertNodeType("Expression")}},aliases:["Expression"]}),defineType$5("PipelinePrimaryTopicReference",{aliases:["Expression"]});var defineType=defineAliasedType("TypeScript"),bool=assertValueType("boolean"),tSFunctionTypeAnnotationCommon=function(){return{returnType:{validate:assertNodeType("TSTypeAnnotation"),optional:!0},typeParameters:{validate:assertNodeType("TSTypeParameterDeclaration"),optional:!0}}};defineType("TSParameterProperty",{aliases:["LVal"],visitor:["parameter"],fields:{accessibility:{validate:assertOneOf("public","private","protected"),optional:!0},readonly:{validate:assertValueType("boolean"),optional:!0},parameter:{validate:assertNodeType("Identifier","AssignmentPattern")},override:{validate:assertValueType("boolean"),optional:!0},decorators:{validate:chain$2(assertValueType("array"),assertEach(assertNodeType("Decorator"))),optional:!0}}}),defineType("TSDeclareFunction",{aliases:["Statement","Declaration"],visitor:["id","typeParameters","params","returnType"],fields:Object.assign({},functionDeclarationCommon(),tSFunctionTypeAnnotationCommon())}),defineType("TSDeclareMethod",{visitor:["decorators","key","typeParameters","params","returnType"],fields:Object.assign({},classMethodOrDeclareMethodCommon(),tSFunctionTypeAnnotationCommon())}),defineType("TSQualifiedName",{aliases:["TSEntityName"],visitor:["left","right"],fields:{left:validateType("TSEntityName"),right:validateType("Identifier")}});var signatureDeclarationCommon=function(){var e;return _define_property(e={typeParameters:validateOptionalType("TSTypeParameterDeclaration")},"params",validateArrayOfType(["ArrayPattern","Identifier","ObjectPattern","RestElement"])),_define_property(e,"returnType",validateOptionalType("TSTypeAnnotation")),e},callConstructSignatureDeclaration={aliases:["TSTypeElement"],visitor:["typeParameters","params","returnType"],fields:signatureDeclarationCommon()};defineType("TSCallSignatureDeclaration",callConstructSignatureDeclaration),defineType("TSConstructSignatureDeclaration",callConstructSignatureDeclaration);var namedTypeElementCommon=function(){return{key:validateType("Expression"),computed:{default:!1},optional:validateOptional(bool)}};defineType("TSPropertySignature",{aliases:["TSTypeElement"],visitor:["key","typeAnnotation"],fields:Object.assign({},namedTypeElementCommon(),{readonly:validateOptional(bool),typeAnnotation:validateOptionalType("TSTypeAnnotation"),kind:{validate:assertOneOf("get","set")}})}),defineType("TSMethodSignature",{aliases:["TSTypeElement"],visitor:["key","typeParameters","params","returnType"],fields:Object.assign({},signatureDeclarationCommon(),namedTypeElementCommon(),{kind:{validate:assertOneOf("method","get","set")}})}),defineType("TSIndexSignature",{aliases:["TSTypeElement"],visitor:["parameters","typeAnnotation"],fields:{readonly:validateOptional(bool),static:validateOptional(bool),parameters:validateArrayOfType("Identifier"),typeAnnotation:validateOptionalType("TSTypeAnnotation")}});var tsKeywordTypes=["TSAnyKeyword","TSBooleanKeyword","TSBigIntKeyword","TSIntrinsicKeyword","TSNeverKeyword","TSNullKeyword","TSNumberKeyword","TSObjectKeyword","TSStringKeyword","TSSymbolKeyword","TSUndefinedKeyword","TSUnknownKeyword","TSVoidKeyword"],_iteratorNormalCompletion1=!0,_didIteratorError1=!1,_iteratorError1=void 0;try{for(var _step1,_iterator1=tsKeywordTypes[Symbol.iterator]();!(_iteratorNormalCompletion1=(_step1=_iterator1.next()).done);_iteratorNormalCompletion1=!0){var type1=_step1.value;defineType(type1,{aliases:["TSType","TSBaseType"],visitor:[],fields:{}})}}catch(e){_didIteratorError1=!0,_iteratorError1=e}finally{try{_iteratorNormalCompletion1||null==_iterator1.return||_iterator1.return()}finally{if(_didIteratorError1)throw _iteratorError1}}defineType("TSThisType",{aliases:["TSType","TSBaseType"],visitor:[],fields:{}});var fnOrCtrBase={aliases:["TSType"],visitor:["typeParameters","params","returnType"]};defineType("TSFunctionType",Object.assign({},fnOrCtrBase,{fields:signatureDeclarationCommon()})),defineType("TSConstructorType",Object.assign({},fnOrCtrBase,{fields:Object.assign({},signatureDeclarationCommon(),{abstract:validateOptional(bool)})})),defineType("TSTypeReference",{aliases:["TSType"],visitor:["typeName","typeParameters"],fields:{typeName:validateType("TSEntityName"),typeParameters:validateOptionalType("TSTypeParameterInstantiation")}}),defineType("TSTypePredicate",{aliases:["TSType"],visitor:["parameterName","typeAnnotation"],builder:["parameterName","typeAnnotation","asserts"],fields:{parameterName:validateType(["Identifier","TSThisType"]),typeAnnotation:validateOptionalType("TSTypeAnnotation"),asserts:validateOptional(bool)}}),defineType("TSTypeQuery",{aliases:["TSType"],visitor:["exprName","typeParameters"],fields:{exprName:validateType(["TSEntityName","TSImportType"]),typeParameters:validateOptionalType("TSTypeParameterInstantiation")}}),defineType("TSTypeLiteral",{aliases:["TSType"],visitor:["members"],fields:{members:validateArrayOfType("TSTypeElement")}}),defineType("TSArrayType",{aliases:["TSType"],visitor:["elementType"],fields:{elementType:validateType("TSType")}}),defineType("TSTupleType",{aliases:["TSType"],visitor:["elementTypes"],fields:{elementTypes:validateArrayOfType(["TSType","TSNamedTupleMember"])}}),defineType("TSOptionalType",{aliases:["TSType"],visitor:["typeAnnotation"],fields:{typeAnnotation:validateType("TSType")}}),defineType("TSRestType",{aliases:["TSType"],visitor:["typeAnnotation"],fields:{typeAnnotation:validateType("TSType")}}),defineType("TSNamedTupleMember",{visitor:["label","elementType"],builder:["label","elementType","optional"],fields:{label:validateType("Identifier"),optional:{validate:bool,default:!1},elementType:validateType("TSType")}});var unionOrIntersection={aliases:["TSType"],visitor:["types"],fields:{types:validateArrayOfType("TSType")}};defineType("TSUnionType",unionOrIntersection),defineType("TSIntersectionType",unionOrIntersection),defineType("TSConditionalType",{aliases:["TSType"],visitor:["checkType","extendsType","trueType","falseType"],fields:{checkType:validateType("TSType"),extendsType:validateType("TSType"),trueType:validateType("TSType"),falseType:validateType("TSType")}}),defineType("TSInferType",{aliases:["TSType"],visitor:["typeParameter"],fields:{typeParameter:validateType("TSTypeParameter")}}),defineType("TSParenthesizedType",{aliases:["TSType"],visitor:["typeAnnotation"],fields:{typeAnnotation:validateType("TSType")}}),defineType("TSTypeOperator",{aliases:["TSType"],visitor:["typeAnnotation"],fields:{operator:validate$1$1(assertValueType("string")),typeAnnotation:validateType("TSType")}}),defineType("TSIndexedAccessType",{aliases:["TSType"],visitor:["objectType","indexType"],fields:{objectType:validateType("TSType"),indexType:validateType("TSType")}}),defineType("TSMappedType",{aliases:["TSType"],visitor:["typeParameter","typeAnnotation","nameType"],fields:{readonly:validateOptional(assertOneOf(!0,!1,"+","-")),typeParameter:validateType("TSTypeParameter"),optional:validateOptional(assertOneOf(!0,!1,"+","-")),typeAnnotation:validateOptionalType("TSType"),nameType:validateOptionalType("TSType")}}),defineType("TSLiteralType",{aliases:["TSType","TSBaseType"],visitor:["literal"],fields:{literal:{validate:function(){var e=assertNodeType("NumericLiteral","BigIntLiteral"),t=assertOneOf("-"),r=assertNodeType("NumericLiteral","StringLiteral","BooleanLiteral","BigIntLiteral","TemplateLiteral");function n(n,i,a){is$4("UnaryExpression",a)?(t(a,"operator",a.operator),e(a,"argument",a.argument)):r(n,i,a)}return n.oneOfNodeTypes=["NumericLiteral","StringLiteral","BooleanLiteral","BigIntLiteral","TemplateLiteral","UnaryExpression"],n}()}}}),defineType("TSExpressionWithTypeArguments",{aliases:["TSType"],visitor:["expression","typeParameters"],fields:{expression:validateType("TSEntityName"),typeParameters:validateOptionalType("TSTypeParameterInstantiation")}}),defineType("TSInterfaceDeclaration",{aliases:["Statement","Declaration"],visitor:["id","typeParameters","extends","body"],fields:{declare:validateOptional(bool),id:validateType("Identifier"),typeParameters:validateOptionalType("TSTypeParameterDeclaration"),extends:validateOptional(arrayOfType("TSExpressionWithTypeArguments")),body:validateType("TSInterfaceBody")}}),defineType("TSInterfaceBody",{visitor:["body"],fields:{body:validateArrayOfType("TSTypeElement")}}),defineType("TSTypeAliasDeclaration",{aliases:["Statement","Declaration"],visitor:["id","typeParameters","typeAnnotation"],fields:{declare:validateOptional(bool),id:validateType("Identifier"),typeParameters:validateOptionalType("TSTypeParameterDeclaration"),typeAnnotation:validateType("TSType")}}),defineType("TSInstantiationExpression",{aliases:["Expression"],visitor:["expression","typeParameters"],fields:{expression:validateType("Expression"),typeParameters:validateOptionalType("TSTypeParameterInstantiation")}});var TSTypeExpression={aliases:["Expression","LVal","PatternLike"],visitor:["expression","typeAnnotation"],fields:{expression:validateType("Expression"),typeAnnotation:validateType("TSType")}};defineType("TSAsExpression",TSTypeExpression),defineType("TSSatisfiesExpression",TSTypeExpression),defineType("TSTypeAssertion",{aliases:["Expression","LVal","PatternLike"],visitor:["typeAnnotation","expression"],fields:{typeAnnotation:validateType("TSType"),expression:validateType("Expression")}}),defineType("TSEnumDeclaration",{aliases:["Statement","Declaration"],visitor:["id","members"],fields:{declare:validateOptional(bool),const:validateOptional(bool),id:validateType("Identifier"),members:validateArrayOfType("TSEnumMember"),initializer:validateOptionalType("Expression")}}),defineType("TSEnumMember",{visitor:["id","initializer"],fields:{id:validateType(["Identifier","StringLiteral"]),initializer:validateOptionalType("Expression")}}),defineType("TSModuleDeclaration",{aliases:["Statement","Declaration"],visitor:["id","body"],fields:{declare:validateOptional(bool),global:validateOptional(bool),id:validateType(["Identifier","StringLiteral"]),body:validateType(["TSModuleBlock","TSModuleDeclaration"])}}),defineType("TSModuleBlock",{aliases:["Scopable","Block","BlockParent","FunctionParent"],visitor:["body"],fields:{body:validateArrayOfType("Statement")}}),defineType("TSImportType",{aliases:["TSType"],visitor:["argument","qualifier","typeParameters"],fields:{argument:validateType("StringLiteral"),qualifier:validateOptionalType("TSEntityName"),typeParameters:validateOptionalType("TSTypeParameterInstantiation"),options:{validate:assertNodeType("Expression"),optional:!0}}}),defineType("TSImportEqualsDeclaration",{aliases:["Statement"],visitor:["id","moduleReference"],fields:{isExport:validate$1$1(bool),id:validateType("Identifier"),moduleReference:validateType(["TSEntityName","TSExternalModuleReference"]),importKind:{validate:assertOneOf("type","value"),optional:!0}}}),defineType("TSExternalModuleReference",{visitor:["expression"],fields:{expression:validateType("StringLiteral")}}),defineType("TSNonNullExpression",{aliases:["Expression","LVal","PatternLike"],visitor:["expression"],fields:{expression:validateType("Expression")}}),defineType("TSExportAssignment",{aliases:["Statement"],visitor:["expression"],fields:{expression:validateType("Expression")}}),defineType("TSNamespaceExportDeclaration",{aliases:["Statement"],visitor:["id"],fields:{id:validateType("Identifier")}}),defineType("TSTypeAnnotation",{visitor:["typeAnnotation"],fields:{typeAnnotation:{validate:assertNodeType("TSType")}}}),defineType("TSTypeParameterInstantiation",{visitor:["params"],fields:{params:{validate:chain$2(assertValueType("array"),assertEach(assertNodeType("TSType")))}}}),defineType("TSTypeParameterDeclaration",{visitor:["params"],fields:{params:{validate:chain$2(assertValueType("array"),assertEach(assertNodeType("TSTypeParameter")))}}}),defineType("TSTypeParameter",{builder:["constraint","default","name"],visitor:["constraint","default"],fields:{name:{validate:assertNodeType("Identifier")},in:{validate:assertValueType("boolean"),optional:!0},out:{validate:assertValueType("boolean"),optional:!0},const:{validate:assertValueType("boolean"),optional:!0},constraint:{validate:assertNodeType("TSType"),optional:!0},default:{validate:assertNodeType("TSType"),optional:!0}}});var DEPRECATED_ALIASES={ModuleDeclaration:"ImportOrExportDeclaration"};Object.keys(DEPRECATED_ALIASES).forEach((function(e){FLIPPED_ALIAS_KEYS[e]=FLIPPED_ALIAS_KEYS[DEPRECATED_ALIASES[e]]})),(0,import_to_fast_properties.default)(VISITOR_KEYS),(0,import_to_fast_properties.default)(ALIAS_KEYS),(0,import_to_fast_properties.default)(FLIPPED_ALIAS_KEYS),(0,import_to_fast_properties.default)(NODE_FIELDS),(0,import_to_fast_properties.default)(BUILDER_KEYS),(0,import_to_fast_properties.default)(DEPRECATED_KEYS),(0,import_to_fast_properties.default)(PLACEHOLDERS_ALIAS),(0,import_to_fast_properties.default)(PLACEHOLDERS_FLIPPED_ALIAS);var TYPES$3=[].concat(Object.keys(VISITOR_KEYS),Object.keys(FLIPPED_ALIAS_KEYS),Object.keys(DEPRECATED_KEYS));function validate$2(e,t,r){if(e){var n=NODE_FIELDS[e.type];if(n)validateField(e,t,r,n[t]),validateChild(e,t,r)}}function validateField(e,t,r,n){(null==n?void 0:n.validate)&&(n.optional&&null==r||n.validate(e,t,r))}function validateChild(e,t,r){if(null!=r){var n=NODE_PARENT_VALIDATIONS[r.type];n&&n(e,t,r)}}function validateNode(e){var t=BUILDER_KEYS[e.type],r=!0,n=!1,i=void 0;try{for(var a,s=t[Symbol.iterator]();!(r=(a=s.next()).done);r=!0){var o=a.value;validate$2(e,o,e[o])}}catch(e){n=!0,i=e}finally{try{r||null==s.return||s.return()}finally{if(n)throw i}}return e}function arrayExpression$1(){return validateNode({type:"ArrayExpression",elements:arguments.length>0&&void 0!==arguments[0]?arguments[0]:[]})}function assignmentExpression$1(e,t,r){return validateNode({type:"AssignmentExpression",operator:e,left:t,right:r})}function binaryExpression$1(e,t,r){return validateNode({type:"BinaryExpression",operator:e,left:t,right:r})}function interpreterDirective(e){return validateNode({type:"InterpreterDirective",value:e})}function directive(e){return validateNode({type:"Directive",value:e})}function directiveLiteral(e){return validateNode({type:"DirectiveLiteral",value:e})}function blockStatement$1(e){return validateNode({type:"BlockStatement",body:e,directives:arguments.length>1&&void 0!==arguments[1]?arguments[1]:[]})}function breakStatement$1(){return validateNode({type:"BreakStatement",label:arguments.length>0&&void 0!==arguments[0]?arguments[0]:null})}function callExpression$1(e,t){return validateNode({type:"CallExpression",callee:e,arguments:t})}function catchClause(){return validateNode({type:"CatchClause",param:arguments.length>0&&void 0!==arguments[0]?arguments[0]:null,body:arguments.length>1?arguments[1]:void 0})}function conditionalExpression$1(e,t,r){return validateNode({type:"ConditionalExpression",test:e,consequent:t,alternate:r})}function continueStatement(){return validateNode({type:"ContinueStatement",label:arguments.length>0&&void 0!==arguments[0]?arguments[0]:null})}function debuggerStatement$1(){return{type:"DebuggerStatement"}}function doWhileStatement$1(e,t){return validateNode({type:"DoWhileStatement",test:e,body:t})}function emptyStatement(){return{type:"EmptyStatement"}}function expressionStatement$1(e){return validateNode({type:"ExpressionStatement",expression:e})}function file(e){return validateNode({type:"File",program:e,comments:arguments.length>1&&void 0!==arguments[1]?arguments[1]:null,tokens:arguments.length>2&&void 0!==arguments[2]?arguments[2]:null})}function forInStatement$1(e,t,r){return validateNode({type:"ForInStatement",left:e,right:t,body:r})}function forStatement$1(){return validateNode({type:"ForStatement",init:arguments.length>0&&void 0!==arguments[0]?arguments[0]:null,test:arguments.length>1&&void 0!==arguments[1]?arguments[1]:null,update:arguments.length>2&&void 0!==arguments[2]?arguments[2]:null,body:arguments.length>3?arguments[3]:void 0})}function functionDeclaration$1(){return validateNode({type:"FunctionDeclaration",id:arguments.length>0&&void 0!==arguments[0]?arguments[0]:null,params:arguments.length>1?arguments[1]:void 0,body:arguments.length>2?arguments[2]:void 0,generator:arguments.length>3&&void 0!==arguments[3]&&arguments[3],async:arguments.length>4&&void 0!==arguments[4]&&arguments[4]})}function functionExpression$1(){return validateNode({type:"FunctionExpression",id:arguments.length>0&&void 0!==arguments[0]?arguments[0]:null,params:arguments.length>1?arguments[1]:void 0,body:arguments.length>2?arguments[2]:void 0,generator:arguments.length>3&&void 0!==arguments[3]&&arguments[3],async:arguments.length>4&&void 0!==arguments[4]&&arguments[4]})}function identifier$1(e){return validateNode({type:"Identifier",name:e})}function ifStatement$1(e,t){return validateNode({type:"IfStatement",test:e,consequent:t,alternate:arguments.length>2&&void 0!==arguments[2]?arguments[2]:null})}function labeledStatement(e,t){return validateNode({type:"LabeledStatement",label:e,body:t})}function stringLiteral(e){return validateNode({type:"StringLiteral",value:e})}function numericLiteral(e){return validateNode({type:"NumericLiteral",value:e})}function nullLiteral(){return{type:"NullLiteral"}}function booleanLiteral(e){return validateNode({type:"BooleanLiteral",value:e})}function regExpLiteral(e){return validateNode({type:"RegExpLiteral",pattern:e,flags:arguments.length>1&&void 0!==arguments[1]?arguments[1]:""})}function logicalExpression(e,t,r){return validateNode({type:"LogicalExpression",operator:e,left:t,right:r})}function memberExpression(e,t){return validateNode({type:"MemberExpression",object:e,property:t,computed:arguments.length>2&&void 0!==arguments[2]&&arguments[2],optional:arguments.length>3&&void 0!==arguments[3]?arguments[3]:null})}function newExpression$1(e,t){return validateNode({type:"NewExpression",callee:e,arguments:t})}function program$1(e){return validateNode({type:"Program",body:e,directives:arguments.length>1&&void 0!==arguments[1]?arguments[1]:[],sourceType:arguments.length>2&&void 0!==arguments[2]?arguments[2]:"script",interpreter:arguments.length>3&&void 0!==arguments[3]?arguments[3]:null})}function objectExpression$1(e){return validateNode({type:"ObjectExpression",properties:e})}function objectMethod$1(){return validateNode({type:"ObjectMethod",kind:arguments.length>0&&void 0!==arguments[0]?arguments[0]:"method",key:arguments.length>1?arguments[1]:void 0,params:arguments.length>2?arguments[2]:void 0,body:arguments.length>3?arguments[3]:void 0,computed:arguments.length>4&&void 0!==arguments[4]&&arguments[4],generator:arguments.length>5&&void 0!==arguments[5]&&arguments[5],async:arguments.length>6&&void 0!==arguments[6]&&arguments[6]})}function objectProperty$1(e,t){return validateNode({type:"ObjectProperty",key:e,value:t,computed:arguments.length>2&&void 0!==arguments[2]&&arguments[2],shorthand:arguments.length>3&&void 0!==arguments[3]&&arguments[3],decorators:arguments.length>4&&void 0!==arguments[4]?arguments[4]:null})}function restElement$1(e){return validateNode({type:"RestElement",argument:e})}function returnStatement$1(){return validateNode({type:"ReturnStatement",argument:arguments.length>0&&void 0!==arguments[0]?arguments[0]:null})}function sequenceExpression$1(e){return validateNode({type:"SequenceExpression",expressions:e})}function parenthesizedExpression(e){return validateNode({type:"ParenthesizedExpression",expression:e})}function switchCase(){return validateNode({type:"SwitchCase",test:arguments.length>0&&void 0!==arguments[0]?arguments[0]:null,consequent:arguments.length>1?arguments[1]:void 0})}function switchStatement$1(e,t){return validateNode({type:"SwitchStatement",discriminant:e,cases:t})}function thisExpression(){return{type:"ThisExpression"}}function throwStatement(e){return validateNode({type:"ThrowStatement",argument:e})}function tryStatement(e){return validateNode({type:"TryStatement",block:e,handler:arguments.length>1&&void 0!==arguments[1]?arguments[1]:null,finalizer:arguments.length>2&&void 0!==arguments[2]?arguments[2]:null})}function unaryExpression$1(e,t){return validateNode({type:"UnaryExpression",operator:e,argument:t,prefix:!(arguments.length>2&&void 0!==arguments[2])||arguments[2]})}function updateExpression(e,t){return validateNode({type:"UpdateExpression",operator:e,argument:t,prefix:arguments.length>2&&void 0!==arguments[2]&&arguments[2]})}function variableDeclaration$1(e,t){return validateNode({type:"VariableDeclaration",kind:e,declarations:t})}function variableDeclarator(e){return validateNode({type:"VariableDeclarator",id:e,init:arguments.length>1&&void 0!==arguments[1]?arguments[1]:null})}function whileStatement$1(e,t){return validateNode({type:"WhileStatement",test:e,body:t})}function withStatement(e,t){return validateNode({type:"WithStatement",object:e,body:t})}function assignmentPattern$1(e,t){return validateNode({type:"AssignmentPattern",left:e,right:t})}function arrayPattern$1(e){return validateNode({type:"ArrayPattern",elements:e})}function arrowFunctionExpression$1(e,t){return validateNode({type:"ArrowFunctionExpression",params:e,body:t,async:arguments.length>2&&void 0!==arguments[2]&&arguments[2],expression:null})}function classBody(e){return validateNode({type:"ClassBody",body:e})}function classExpression(){return validateNode({type:"ClassExpression",id:arguments.length>0&&void 0!==arguments[0]?arguments[0]:null,superClass:arguments.length>1&&void 0!==arguments[1]?arguments[1]:null,body:arguments.length>2?arguments[2]:void 0,decorators:arguments.length>3&&void 0!==arguments[3]?arguments[3]:null})}function classDeclaration(){return validateNode({type:"ClassDeclaration",id:arguments.length>0&&void 0!==arguments[0]?arguments[0]:null,superClass:arguments.length>1&&void 0!==arguments[1]?arguments[1]:null,body:arguments.length>2?arguments[2]:void 0,decorators:arguments.length>3&&void 0!==arguments[3]?arguments[3]:null})}function exportAllDeclaration$1(e){return validateNode({type:"ExportAllDeclaration",source:e})}function exportDefaultDeclaration$1(e){return validateNode({type:"ExportDefaultDeclaration",declaration:e})}function exportNamedDeclaration(){return validateNode({type:"ExportNamedDeclaration",declaration:arguments.length>0&&void 0!==arguments[0]?arguments[0]:null,specifiers:arguments.length>1&&void 0!==arguments[1]?arguments[1]:[],source:arguments.length>2&&void 0!==arguments[2]?arguments[2]:null})}function exportSpecifier(e,t){return validateNode({type:"ExportSpecifier",local:e,exported:t})}function forOfStatement$1(e,t,r){return validateNode({type:"ForOfStatement",left:e,right:t,body:r,await:arguments.length>3&&void 0!==arguments[3]&&arguments[3]})}function importDeclaration$1(e,t){return validateNode({type:"ImportDeclaration",specifiers:e,source:t})}function importDefaultSpecifier(e){return validateNode({type:"ImportDefaultSpecifier",local:e})}function importNamespaceSpecifier(e){return validateNode({type:"ImportNamespaceSpecifier",local:e})}function importSpecifier(e,t){return validateNode({type:"ImportSpecifier",local:e,imported:t})}function importExpression$1(e){return validateNode({type:"ImportExpression",source:e,options:arguments.length>1&&void 0!==arguments[1]?arguments[1]:null})}function metaProperty(e,t){return validateNode({type:"MetaProperty",meta:e,property:t})}function classMethod$2(){return validateNode({type:"ClassMethod",kind:arguments.length>0&&void 0!==arguments[0]?arguments[0]:"method",key:arguments.length>1?arguments[1]:void 0,params:arguments.length>2?arguments[2]:void 0,body:arguments.length>3?arguments[3]:void 0,computed:arguments.length>4&&void 0!==arguments[4]&&arguments[4],static:arguments.length>5&&void 0!==arguments[5]&&arguments[5],generator:arguments.length>6&&void 0!==arguments[6]&&arguments[6],async:arguments.length>7&&void 0!==arguments[7]&&arguments[7]})}function objectPattern$1(e){return validateNode({type:"ObjectPattern",properties:e})}function spreadElement$1(e){return validateNode({type:"SpreadElement",argument:e})}function _super(){return{type:"Super"}}function taggedTemplateExpression$1(e,t){return validateNode({type:"TaggedTemplateExpression",tag:e,quasi:t})}function templateElement(e){return validateNode({type:"TemplateElement",value:e,tail:arguments.length>1&&void 0!==arguments[1]&&arguments[1]})}function templateLiteral$1(e,t){return validateNode({type:"TemplateLiteral",quasis:e,expressions:t})}function yieldExpression(){return validateNode({type:"YieldExpression",argument:arguments.length>0&&void 0!==arguments[0]?arguments[0]:null,delegate:arguments.length>1&&void 0!==arguments[1]&&arguments[1]})}function awaitExpression(e){return validateNode({type:"AwaitExpression",argument:e})}function _import$1(){return{type:"Import"}}function bigIntLiteral(e){return validateNode({type:"BigIntLiteral",value:e})}function exportNamespaceSpecifier(e){return validateNode({type:"ExportNamespaceSpecifier",exported:e})}function optionalMemberExpression(e,t){return validateNode({type:"OptionalMemberExpression",object:e,property:t,computed:arguments.length>2&&void 0!==arguments[2]&&arguments[2],optional:arguments.length>3?arguments[3]:void 0})}function optionalCallExpression(e,t,r){return validateNode({type:"OptionalCallExpression",callee:e,arguments:t,optional:r})}function classProperty$1(e){return validateNode({type:"ClassProperty",key:e,value:arguments.length>1&&void 0!==arguments[1]?arguments[1]:null,typeAnnotation:arguments.length>2&&void 0!==arguments[2]?arguments[2]:null,decorators:arguments.length>3&&void 0!==arguments[3]?arguments[3]:null,computed:arguments.length>4&&void 0!==arguments[4]&&arguments[4],static:arguments.length>5&&void 0!==arguments[5]&&arguments[5]})}function classAccessorProperty(e){return validateNode({type:"ClassAccessorProperty",key:e,value:arguments.length>1&&void 0!==arguments[1]?arguments[1]:null,typeAnnotation:arguments.length>2&&void 0!==arguments[2]?arguments[2]:null,decorators:arguments.length>3&&void 0!==arguments[3]?arguments[3]:null,computed:arguments.length>4&&void 0!==arguments[4]&&arguments[4],static:arguments.length>5&&void 0!==arguments[5]&&arguments[5]})}function classPrivateProperty(e){return validateNode({type:"ClassPrivateProperty",key:e,value:arguments.length>1&&void 0!==arguments[1]?arguments[1]:null,decorators:arguments.length>2&&void 0!==arguments[2]?arguments[2]:null,static:arguments.length>3&&void 0!==arguments[3]&&arguments[3]})}function classPrivateMethod$1(){return validateNode({type:"ClassPrivateMethod",kind:arguments.length>0&&void 0!==arguments[0]?arguments[0]:"method",key:arguments.length>1?arguments[1]:void 0,params:arguments.length>2?arguments[2]:void 0,body:arguments.length>3?arguments[3]:void 0,static:arguments.length>4&&void 0!==arguments[4]&&arguments[4]})}function privateName(e){return validateNode({type:"PrivateName",id:e})}function staticBlock$3(e){return validateNode({type:"StaticBlock",body:e})}function anyTypeAnnotation(){return{type:"AnyTypeAnnotation"}}function arrayTypeAnnotation(e){return validateNode({type:"ArrayTypeAnnotation",elementType:e})}function booleanTypeAnnotation(){return{type:"BooleanTypeAnnotation"}}function booleanLiteralTypeAnnotation(e){return validateNode({type:"BooleanLiteralTypeAnnotation",value:e})}function nullLiteralTypeAnnotation(){return{type:"NullLiteralTypeAnnotation"}}function classImplements(e){return validateNode({type:"ClassImplements",id:e,typeParameters:arguments.length>1&&void 0!==arguments[1]?arguments[1]:null})}function declareClass(e){return validateNode({type:"DeclareClass",id:e,typeParameters:arguments.length>1&&void 0!==arguments[1]?arguments[1]:null,extends:arguments.length>2&&void 0!==arguments[2]?arguments[2]:null,body:arguments.length>3?arguments[3]:void 0})}function declareFunction(e){return validateNode({type:"DeclareFunction",id:e})}function declareInterface(e){return validateNode({type:"DeclareInterface",id:e,typeParameters:arguments.length>1&&void 0!==arguments[1]?arguments[1]:null,extends:arguments.length>2&&void 0!==arguments[2]?arguments[2]:null,body:arguments.length>3?arguments[3]:void 0})}function declareModule(e,t){return validateNode({type:"DeclareModule",id:e,body:t,kind:arguments.length>2&&void 0!==arguments[2]?arguments[2]:null})}function declareModuleExports(e){return validateNode({type:"DeclareModuleExports",typeAnnotation:e})}function declareTypeAlias(e){return validateNode({type:"DeclareTypeAlias",id:e,typeParameters:arguments.length>1&&void 0!==arguments[1]?arguments[1]:null,right:arguments.length>2?arguments[2]:void 0})}function declareOpaqueType(e){return validateNode({type:"DeclareOpaqueType",id:e,typeParameters:arguments.length>1&&void 0!==arguments[1]?arguments[1]:null,supertype:arguments.length>2&&void 0!==arguments[2]?arguments[2]:null})}function declareVariable$1(e){return validateNode({type:"DeclareVariable",id:e})}function declareExportDeclaration(){return validateNode({type:"DeclareExportDeclaration",declaration:arguments.length>0&&void 0!==arguments[0]?arguments[0]:null,specifiers:arguments.length>1&&void 0!==arguments[1]?arguments[1]:null,source:arguments.length>2&&void 0!==arguments[2]?arguments[2]:null})}function declareExportAllDeclaration(e){return validateNode({type:"DeclareExportAllDeclaration",source:e})}function declaredPredicate(e){return validateNode({type:"DeclaredPredicate",value:e})}function existsTypeAnnotation(){return{type:"ExistsTypeAnnotation"}}function functionTypeAnnotation(){return validateNode({type:"FunctionTypeAnnotation",typeParameters:arguments.length>0&&void 0!==arguments[0]?arguments[0]:null,params:arguments.length>1?arguments[1]:void 0,rest:arguments.length>2&&void 0!==arguments[2]?arguments[2]:null,returnType:arguments.length>3?arguments[3]:void 0})}function functionTypeParam(){return validateNode({type:"FunctionTypeParam",name:arguments.length>0&&void 0!==arguments[0]?arguments[0]:null,typeAnnotation:arguments.length>1?arguments[1]:void 0})}function genericTypeAnnotation(e){return validateNode({type:"GenericTypeAnnotation",id:e,typeParameters:arguments.length>1&&void 0!==arguments[1]?arguments[1]:null})}function inferredPredicate(){return{type:"InferredPredicate"}}function interfaceExtends(e){return validateNode({type:"InterfaceExtends",id:e,typeParameters:arguments.length>1&&void 0!==arguments[1]?arguments[1]:null})}function interfaceDeclaration(e){return validateNode({type:"InterfaceDeclaration",id:e,typeParameters:arguments.length>1&&void 0!==arguments[1]?arguments[1]:null,extends:arguments.length>2&&void 0!==arguments[2]?arguments[2]:null,body:arguments.length>3?arguments[3]:void 0})}function interfaceTypeAnnotation(){return validateNode({type:"InterfaceTypeAnnotation",extends:arguments.length>0&&void 0!==arguments[0]?arguments[0]:null,body:arguments.length>1?arguments[1]:void 0})}function intersectionTypeAnnotation(e){return validateNode({type:"IntersectionTypeAnnotation",types:e})}function mixedTypeAnnotation(){return{type:"MixedTypeAnnotation"}}function emptyTypeAnnotation(){return{type:"EmptyTypeAnnotation"}}function nullableTypeAnnotation(e){return validateNode({type:"NullableTypeAnnotation",typeAnnotation:e})}function numberLiteralTypeAnnotation(e){return validateNode({type:"NumberLiteralTypeAnnotation",value:e})}function numberTypeAnnotation(){return{type:"NumberTypeAnnotation"}}function objectTypeAnnotation(e){return validateNode({type:"ObjectTypeAnnotation",properties:e,indexers:arguments.length>1&&void 0!==arguments[1]?arguments[1]:[],callProperties:arguments.length>2&&void 0!==arguments[2]?arguments[2]:[],internalSlots:arguments.length>3&&void 0!==arguments[3]?arguments[3]:[],exact:arguments.length>4&&void 0!==arguments[4]&&arguments[4]})}function objectTypeInternalSlot(e,t,r,n,i){return validateNode({type:"ObjectTypeInternalSlot",id:e,value:t,optional:r,static:n,method:i})}function objectTypeCallProperty(e){return validateNode({type:"ObjectTypeCallProperty",value:e,static:null})}function objectTypeIndexer(){return validateNode({type:"ObjectTypeIndexer",id:arguments.length>0&&void 0!==arguments[0]?arguments[0]:null,key:arguments.length>1?arguments[1]:void 0,value:arguments.length>2?arguments[2]:void 0,variance:arguments.length>3&&void 0!==arguments[3]?arguments[3]:null,static:null})}function objectTypeProperty(e,t){return validateNode({type:"ObjectTypeProperty",key:e,value:t,variance:arguments.length>2&&void 0!==arguments[2]?arguments[2]:null,kind:null,method:null,optional:null,proto:null,static:null})}function objectTypeSpreadProperty(e){return validateNode({type:"ObjectTypeSpreadProperty",argument:e})}function opaqueType(e){return validateNode({type:"OpaqueType",id:e,typeParameters:arguments.length>1&&void 0!==arguments[1]?arguments[1]:null,supertype:arguments.length>2&&void 0!==arguments[2]?arguments[2]:null,impltype:arguments.length>3?arguments[3]:void 0})}function qualifiedTypeIdentifier(e,t){return validateNode({type:"QualifiedTypeIdentifier",id:e,qualification:t})}function stringLiteralTypeAnnotation(e){return validateNode({type:"StringLiteralTypeAnnotation",value:e})}function stringTypeAnnotation(){return{type:"StringTypeAnnotation"}}function symbolTypeAnnotation(){return{type:"SymbolTypeAnnotation"}}function thisTypeAnnotation(){return{type:"ThisTypeAnnotation"}}function tupleTypeAnnotation(e){return validateNode({type:"TupleTypeAnnotation",types:e})}function typeofTypeAnnotation(e){return validateNode({type:"TypeofTypeAnnotation",argument:e})}function typeAlias(e){return validateNode({type:"TypeAlias",id:e,typeParameters:arguments.length>1&&void 0!==arguments[1]?arguments[1]:null,right:arguments.length>2?arguments[2]:void 0})}function typeAnnotation(e){return validateNode({type:"TypeAnnotation",typeAnnotation:e})}function typeCastExpression(e,t){return validateNode({type:"TypeCastExpression",expression:e,typeAnnotation:t})}function typeParameter(){return validateNode({type:"TypeParameter",bound:arguments.length>0&&void 0!==arguments[0]?arguments[0]:null,default:arguments.length>1&&void 0!==arguments[1]?arguments[1]:null,variance:arguments.length>2&&void 0!==arguments[2]?arguments[2]:null,name:null})}function typeParameterDeclaration(e){return validateNode({type:"TypeParameterDeclaration",params:e})}function typeParameterInstantiation(e){return validateNode({type:"TypeParameterInstantiation",params:e})}function unionTypeAnnotation(e){return validateNode({type:"UnionTypeAnnotation",types:e})}function variance(e){return validateNode({type:"Variance",kind:e})}function voidTypeAnnotation(){return{type:"VoidTypeAnnotation"}}function enumDeclaration(e,t){return validateNode({type:"EnumDeclaration",id:e,body:t})}function enumBooleanBody(e){return validateNode({type:"EnumBooleanBody",members:e,explicitType:null,hasUnknownMembers:null})}function enumNumberBody(e){return validateNode({type:"EnumNumberBody",members:e,explicitType:null,hasUnknownMembers:null})}function enumStringBody(e){return validateNode({type:"EnumStringBody",members:e,explicitType:null,hasUnknownMembers:null})}function enumSymbolBody(e){return validateNode({type:"EnumSymbolBody",members:e,hasUnknownMembers:null})}function enumBooleanMember(e){return validateNode({type:"EnumBooleanMember",id:e,init:null})}function enumNumberMember(e,t){return validateNode({type:"EnumNumberMember",id:e,init:t})}function enumStringMember(e,t){return validateNode({type:"EnumStringMember",id:e,init:t})}function enumDefaultedMember(e){return validateNode({type:"EnumDefaultedMember",id:e})}function indexedAccessType(e,t){return validateNode({type:"IndexedAccessType",objectType:e,indexType:t})}function optionalIndexedAccessType(e,t){return validateNode({type:"OptionalIndexedAccessType",objectType:e,indexType:t,optional:null})}function jsxAttribute$1(e){return validateNode({type:"JSXAttribute",name:e,value:arguments.length>1&&void 0!==arguments[1]?arguments[1]:null})}function jsxClosingElement(e){return validateNode({type:"JSXClosingElement",name:e})}function jsxElement$1(e){return validateNode({type:"JSXElement",openingElement:e,closingElement:arguments.length>1&&void 0!==arguments[1]?arguments[1]:null,children:arguments.length>2?arguments[2]:void 0,selfClosing:arguments.length>3&&void 0!==arguments[3]?arguments[3]:null})}function jsxEmptyExpression(){return{type:"JSXEmptyExpression"}}function jsxExpressionContainer(e){return validateNode({type:"JSXExpressionContainer",expression:e})}function jsxSpreadChild(e){return validateNode({type:"JSXSpreadChild",expression:e})}function jsxIdentifier(e){return validateNode({type:"JSXIdentifier",name:e})}function jsxMemberExpression(e,t){return validateNode({type:"JSXMemberExpression",object:e,property:t})}function jsxNamespacedName(e,t){return validateNode({type:"JSXNamespacedName",namespace:e,name:t})}function jsxOpeningElement$1(e,t){return validateNode({type:"JSXOpeningElement",name:e,attributes:t,selfClosing:arguments.length>2&&void 0!==arguments[2]&&arguments[2]})}function jsxSpreadAttribute(e){return validateNode({type:"JSXSpreadAttribute",argument:e})}function jsxText$1(e){return validateNode({type:"JSXText",value:e})}function jsxFragment$1(e,t,r){return validateNode({type:"JSXFragment",openingFragment:e,closingFragment:t,children:r})}function jsxOpeningFragment(){return{type:"JSXOpeningFragment"}}function jsxClosingFragment(){return{type:"JSXClosingFragment"}}function noop$3(){return{type:"Noop"}}function placeholder(e,t){return validateNode({type:"Placeholder",expectedNode:e,name:t})}function v8IntrinsicIdentifier(e){return validateNode({type:"V8IntrinsicIdentifier",name:e})}function argumentPlaceholder(){return{type:"ArgumentPlaceholder"}}function bindExpression(e,t){return validateNode({type:"BindExpression",object:e,callee:t})}function importAttribute$1(e,t){return validateNode({type:"ImportAttribute",key:e,value:t})}function decorator(e){return validateNode({type:"Decorator",expression:e})}function doExpression(e){return validateNode({type:"DoExpression",body:e,async:arguments.length>1&&void 0!==arguments[1]&&arguments[1]})}function exportDefaultSpecifier(e){return validateNode({type:"ExportDefaultSpecifier",exported:e})}function recordExpression$1(e){return validateNode({type:"RecordExpression",properties:e})}function tupleExpression$1(){return validateNode({type:"TupleExpression",elements:arguments.length>0&&void 0!==arguments[0]?arguments[0]:[]})}function decimalLiteral(e){return validateNode({type:"DecimalLiteral",value:e})}function moduleExpression(e){return validateNode({type:"ModuleExpression",body:e})}function topicReference(){return{type:"TopicReference"}}function pipelineTopicExpression(e){return validateNode({type:"PipelineTopicExpression",expression:e})}function pipelineBareFunction(e){return validateNode({type:"PipelineBareFunction",callee:e})}function pipelinePrimaryTopicReference(){return{type:"PipelinePrimaryTopicReference"}}function tsParameterProperty(e){return validateNode({type:"TSParameterProperty",parameter:e})}function tsDeclareFunction$1(){return validateNode({type:"TSDeclareFunction",id:arguments.length>0&&void 0!==arguments[0]?arguments[0]:null,typeParameters:arguments.length>1&&void 0!==arguments[1]?arguments[1]:null,params:arguments.length>2?arguments[2]:void 0,returnType:arguments.length>3&&void 0!==arguments[3]?arguments[3]:null})}function tsDeclareMethod$1(){return validateNode({type:"TSDeclareMethod",decorators:arguments.length>0&&void 0!==arguments[0]?arguments[0]:null,key:arguments.length>1?arguments[1]:void 0,typeParameters:arguments.length>2&&void 0!==arguments[2]?arguments[2]:null,params:arguments.length>3?arguments[3]:void 0,returnType:arguments.length>4&&void 0!==arguments[4]?arguments[4]:null})}function tsQualifiedName(e,t){return validateNode({type:"TSQualifiedName",left:e,right:t})}function tsCallSignatureDeclaration$1(){return validateNode({type:"TSCallSignatureDeclaration",typeParameters:arguments.length>0&&void 0!==arguments[0]?arguments[0]:null,parameters:arguments.length>1?arguments[1]:void 0,typeAnnotation:arguments.length>2&&void 0!==arguments[2]?arguments[2]:null})}function tsConstructSignatureDeclaration$1(){return validateNode({type:"TSConstructSignatureDeclaration",typeParameters:arguments.length>0&&void 0!==arguments[0]?arguments[0]:null,parameters:arguments.length>1?arguments[1]:void 0,typeAnnotation:arguments.length>2&&void 0!==arguments[2]?arguments[2]:null})}function tsPropertySignature$1(e){return validateNode({type:"TSPropertySignature",key:e,typeAnnotation:arguments.length>1&&void 0!==arguments[1]?arguments[1]:null,kind:null})}function tsMethodSignature$1(e){return validateNode({type:"TSMethodSignature",key:e,typeParameters:arguments.length>1&&void 0!==arguments[1]?arguments[1]:null,parameters:arguments.length>2?arguments[2]:void 0,typeAnnotation:arguments.length>3&&void 0!==arguments[3]?arguments[3]:null,kind:null})}function tsIndexSignature(e){return validateNode({type:"TSIndexSignature",parameters:e,typeAnnotation:arguments.length>1&&void 0!==arguments[1]?arguments[1]:null})}function tsAnyKeyword(){return{type:"TSAnyKeyword"}}function tsBooleanKeyword(){return{type:"TSBooleanKeyword"}}function tsBigIntKeyword(){return{type:"TSBigIntKeyword"}}function tsIntrinsicKeyword(){return{type:"TSIntrinsicKeyword"}}function tsNeverKeyword(){return{type:"TSNeverKeyword"}}function tsNullKeyword(){return{type:"TSNullKeyword"}}function tsNumberKeyword(){return{type:"TSNumberKeyword"}}function tsObjectKeyword(){return{type:"TSObjectKeyword"}}function tsStringKeyword(){return{type:"TSStringKeyword"}}function tsSymbolKeyword(){return{type:"TSSymbolKeyword"}}function tsUndefinedKeyword(){return{type:"TSUndefinedKeyword"}}function tsUnknownKeyword(){return{type:"TSUnknownKeyword"}}function tsVoidKeyword(){return{type:"TSVoidKeyword"}}function tsThisType(){return{type:"TSThisType"}}function tsFunctionType$1(){return validateNode({type:"TSFunctionType",typeParameters:arguments.length>0&&void 0!==arguments[0]?arguments[0]:null,parameters:arguments.length>1?arguments[1]:void 0,typeAnnotation:arguments.length>2&&void 0!==arguments[2]?arguments[2]:null})}function tsConstructorType$1(){return validateNode({type:"TSConstructorType",typeParameters:arguments.length>0&&void 0!==arguments[0]?arguments[0]:null,parameters:arguments.length>1?arguments[1]:void 0,typeAnnotation:arguments.length>2&&void 0!==arguments[2]?arguments[2]:null})}function tsTypeReference(e){return validateNode({type:"TSTypeReference",typeName:e,typeParameters:arguments.length>1&&void 0!==arguments[1]?arguments[1]:null})}function tsTypePredicate(e){return validateNode({type:"TSTypePredicate",parameterName:e,typeAnnotation:arguments.length>1&&void 0!==arguments[1]?arguments[1]:null,asserts:arguments.length>2&&void 0!==arguments[2]?arguments[2]:null})}function tsTypeQuery(e){return validateNode({type:"TSTypeQuery",exprName:e,typeParameters:arguments.length>1&&void 0!==arguments[1]?arguments[1]:null})}function tsTypeLiteral$1(e){return validateNode({type:"TSTypeLiteral",members:e})}function tsArrayType(e){return validateNode({type:"TSArrayType",elementType:e})}function tsTupleType$1(e){return validateNode({type:"TSTupleType",elementTypes:e})}function tsOptionalType(e){return validateNode({type:"TSOptionalType",typeAnnotation:e})}function tsRestType(e){return validateNode({type:"TSRestType",typeAnnotation:e})}function tsNamedTupleMember$1(e,t){return validateNode({type:"TSNamedTupleMember",label:e,elementType:t,optional:arguments.length>2&&void 0!==arguments[2]&&arguments[2]})}function tsUnionType(e){return validateNode({type:"TSUnionType",types:e})}function tsIntersectionType$1(e){return validateNode({type:"TSIntersectionType",types:e})}function tsConditionalType$1(e,t,r,n){return validateNode({type:"TSConditionalType",checkType:e,extendsType:t,trueType:r,falseType:n})}function tsInferType(e){return validateNode({type:"TSInferType",typeParameter:e})}function tsParenthesizedType(e){return validateNode({type:"TSParenthesizedType",typeAnnotation:e})}function tsTypeOperator(e){return validateNode({type:"TSTypeOperator",typeAnnotation:e,operator:null})}function tsIndexedAccessType(e,t){return validateNode({type:"TSIndexedAccessType",objectType:e,indexType:t})}function tsMappedType$1(e){return validateNode({type:"TSMappedType",typeParameter:e,typeAnnotation:arguments.length>1&&void 0!==arguments[1]?arguments[1]:null,nameType:arguments.length>2&&void 0!==arguments[2]?arguments[2]:null})}function tsLiteralType(e){return validateNode({type:"TSLiteralType",literal:e})}function tsExpressionWithTypeArguments(e){return validateNode({type:"TSExpressionWithTypeArguments",expression:e,typeParameters:arguments.length>1&&void 0!==arguments[1]?arguments[1]:null})}function tsInterfaceDeclaration$1(e){return validateNode({type:"TSInterfaceDeclaration",id:e,typeParameters:arguments.length>1&&void 0!==arguments[1]?arguments[1]:null,extends:arguments.length>2&&void 0!==arguments[2]?arguments[2]:null,body:arguments.length>3?arguments[3]:void 0})}function tsInterfaceBody$1(e){return validateNode({type:"TSInterfaceBody",body:e})}function tsTypeAliasDeclaration$1(e){return validateNode({type:"TSTypeAliasDeclaration",id:e,typeParameters:arguments.length>1&&void 0!==arguments[1]?arguments[1]:null,typeAnnotation:arguments.length>2?arguments[2]:void 0})}function tsInstantiationExpression(e){return validateNode({type:"TSInstantiationExpression",expression:e,typeParameters:arguments.length>1&&void 0!==arguments[1]?arguments[1]:null})}function tsAsExpression$1(e,t){return validateNode({type:"TSAsExpression",expression:e,typeAnnotation:t})}function tsSatisfiesExpression(e,t){return validateNode({type:"TSSatisfiesExpression",expression:e,typeAnnotation:t})}function tsTypeAssertion(e,t){return validateNode({type:"TSTypeAssertion",typeAnnotation:e,expression:t})}function tsEnumDeclaration$1(e,t){return validateNode({type:"TSEnumDeclaration",id:e,members:t})}function tsEnumMember$1(e){return validateNode({type:"TSEnumMember",id:e,initializer:arguments.length>1&&void 0!==arguments[1]?arguments[1]:null})}function tsModuleDeclaration$1(e,t){return validateNode({type:"TSModuleDeclaration",id:e,body:t})}function tsModuleBlock(e){return validateNode({type:"TSModuleBlock",body:e})}function tsImportType$1(e){return validateNode({type:"TSImportType",argument:e,qualifier:arguments.length>1&&void 0!==arguments[1]?arguments[1]:null,typeParameters:arguments.length>2&&void 0!==arguments[2]?arguments[2]:null})}function tsImportEqualsDeclaration(e,t){return validateNode({type:"TSImportEqualsDeclaration",id:e,moduleReference:t,isExport:null})}function tsExternalModuleReference(e){return validateNode({type:"TSExternalModuleReference",expression:e})}function tsNonNullExpression(e){return validateNode({type:"TSNonNullExpression",expression:e})}function tsExportAssignment(e){return validateNode({type:"TSExportAssignment",expression:e})}function tsNamespaceExportDeclaration(e){return validateNode({type:"TSNamespaceExportDeclaration",id:e})}function tsTypeAnnotation(e){return validateNode({type:"TSTypeAnnotation",typeAnnotation:e})}function tsTypeParameterInstantiation(e){return validateNode({type:"TSTypeParameterInstantiation",params:e})}function tsTypeParameterDeclaration(e){return validateNode({type:"TSTypeParameterDeclaration",params:e})}function tsTypeParameter$1(){return validateNode({type:"TSTypeParameter",constraint:arguments.length>0&&void 0!==arguments[0]?arguments[0]:null,default:arguments.length>1&&void 0!==arguments[1]?arguments[1]:null,name:arguments.length>2?arguments[2]:void 0})}function NumberLiteral(e){return deprecationWarning("NumberLiteral","NumericLiteral","The node type "),numericLiteral(e)}function RegexLiteral(e){var t=arguments.length>1&&void 0!==arguments[1]?arguments[1]:"";return deprecationWarning("RegexLiteral","RegExpLiteral","The node type "),regExpLiteral(e,t)}function RestProperty(e){return deprecationWarning("RestProperty","RestElement","The node type "),restElement$1(e)}function SpreadProperty(e){return deprecationWarning("SpreadProperty","SpreadElement","The node type "),spreadElement$1(e)}function cleanJSXElementLiteralChild(e,t){for(var r=e.value.split(/\r\n|\n|\r/),n=0,i=0;i<r.length;i++)r[i].match(/[^ \t]/)&&(n=i);for(var a="",s=0;s<r.length;s++){var o=r[s],l=0===s,u=s===r.length-1,c=s===n,p=o.replace(/\t/g," ");l||(p=p.replace(/^[ ]+/,"")),u||(p=p.replace(/[ ]+$/,"")),p&&(c||(p+=" "),a+=p)}a&&t.push(inherits(stringLiteral(a),e))}function buildChildren(e){for(var t=[],r=0;r<e.children.length;r++){var n=e.children[r];isJSXText$3(n)?cleanJSXElementLiteralChild(n,t):(isJSXExpressionContainer$1(n)&&(n=n.expression),isJSXEmptyExpression(n)||t.push(n))}return t}function isNode(e){return!(!e||!VISITOR_KEYS[e.type])}function assertNode(e){if(!isNode(e)){var t,r=null!==(t=null==e?void 0:e.type)&&void 0!==t?t:JSON.stringify(e);throw new TypeError('Not a valid node of type "'.concat(r,'"'))}}function assert$1(e,t,r){if(!is$4(e,t,r))throw new Error('Expected type "'.concat(e,'" with option ').concat(JSON.stringify(r),', but instead got "').concat(t.type,'".'))}function assertArrayExpression(e,t){assert$1("ArrayExpression",e,t)}function assertAssignmentExpression(e,t){assert$1("AssignmentExpression",e,t)}function assertBinaryExpression(e,t){assert$1("BinaryExpression",e,t)}function assertInterpreterDirective(e,t){assert$1("InterpreterDirective",e,t)}function assertDirective(e,t){assert$1("Directive",e,t)}function assertDirectiveLiteral(e,t){assert$1("DirectiveLiteral",e,t)}function assertBlockStatement(e,t){assert$1("BlockStatement",e,t)}function assertBreakStatement(e,t){assert$1("BreakStatement",e,t)}function assertCallExpression(e,t){assert$1("CallExpression",e,t)}function assertCatchClause(e,t){assert$1("CatchClause",e,t)}function assertConditionalExpression(e,t){assert$1("ConditionalExpression",e,t)}function assertContinueStatement(e,t){assert$1("ContinueStatement",e,t)}function assertDebuggerStatement(e,t){assert$1("DebuggerStatement",e,t)}function assertDoWhileStatement(e,t){assert$1("DoWhileStatement",e,t)}function assertEmptyStatement(e,t){assert$1("EmptyStatement",e,t)}function assertExpressionStatement(e,t){assert$1("ExpressionStatement",e,t)}function assertFile(e,t){assert$1("File",e,t)}function assertForInStatement(e,t){assert$1("ForInStatement",e,t)}function assertForStatement(e,t){assert$1("ForStatement",e,t)}function assertFunctionDeclaration(e,t){assert$1("FunctionDeclaration",e,t)}function assertFunctionExpression(e,t){assert$1("FunctionExpression",e,t)}function assertIdentifier(e,t){assert$1("Identifier",e,t)}function assertIfStatement(e,t){assert$1("IfStatement",e,t)}function assertLabeledStatement(e,t){assert$1("LabeledStatement",e,t)}function assertStringLiteral(e,t){assert$1("StringLiteral",e,t)}function assertNumericLiteral(e,t){assert$1("NumericLiteral",e,t)}function assertNullLiteral(e,t){assert$1("NullLiteral",e,t)}function assertBooleanLiteral(e,t){assert$1("BooleanLiteral",e,t)}function assertRegExpLiteral(e,t){assert$1("RegExpLiteral",e,t)}function assertLogicalExpression(e,t){assert$1("LogicalExpression",e,t)}function assertMemberExpression(e,t){assert$1("MemberExpression",e,t)}function assertNewExpression(e,t){assert$1("NewExpression",e,t)}function assertProgram(e,t){assert$1("Program",e,t)}function assertObjectExpression(e,t){assert$1("ObjectExpression",e,t)}function assertObjectMethod(e,t){assert$1("ObjectMethod",e,t)}function assertObjectProperty(e,t){assert$1("ObjectProperty",e,t)}function assertRestElement(e,t){assert$1("RestElement",e,t)}function assertReturnStatement(e,t){assert$1("ReturnStatement",e,t)}function assertSequenceExpression(e,t){assert$1("SequenceExpression",e,t)}function assertParenthesizedExpression(e,t){assert$1("ParenthesizedExpression",e,t)}function assertSwitchCase(e,t){assert$1("SwitchCase",e,t)}function assertSwitchStatement(e,t){assert$1("SwitchStatement",e,t)}function assertThisExpression(e,t){assert$1("ThisExpression",e,t)}function assertThrowStatement(e,t){assert$1("ThrowStatement",e,t)}function assertTryStatement(e,t){assert$1("TryStatement",e,t)}function assertUnaryExpression(e,t){assert$1("UnaryExpression",e,t)}function assertUpdateExpression(e,t){assert$1("UpdateExpression",e,t)}function assertVariableDeclaration(e,t){assert$1("VariableDeclaration",e,t)}function assertVariableDeclarator(e,t){assert$1("VariableDeclarator",e,t)}function assertWhileStatement(e,t){assert$1("WhileStatement",e,t)}function assertWithStatement(e,t){assert$1("WithStatement",e,t)}function assertAssignmentPattern(e,t){assert$1("AssignmentPattern",e,t)}function assertArrayPattern(e,t){assert$1("ArrayPattern",e,t)}function assertArrowFunctionExpression(e,t){assert$1("ArrowFunctionExpression",e,t)}function assertClassBody(e,t){assert$1("ClassBody",e,t)}function assertClassExpression(e,t){assert$1("ClassExpression",e,t)}function assertClassDeclaration(e,t){assert$1("ClassDeclaration",e,t)}function assertExportAllDeclaration(e,t){assert$1("ExportAllDeclaration",e,t)}function assertExportDefaultDeclaration(e,t){assert$1("ExportDefaultDeclaration",e,t)}function assertExportNamedDeclaration(e,t){assert$1("ExportNamedDeclaration",e,t)}function assertExportSpecifier(e,t){assert$1("ExportSpecifier",e,t)}function assertForOfStatement(e,t){assert$1("ForOfStatement",e,t)}function assertImportDeclaration(e,t){assert$1("ImportDeclaration",e,t)}function assertImportDefaultSpecifier(e,t){assert$1("ImportDefaultSpecifier",e,t)}function assertImportNamespaceSpecifier(e,t){assert$1("ImportNamespaceSpecifier",e,t)}function assertImportSpecifier(e,t){assert$1("ImportSpecifier",e,t)}function assertImportExpression(e,t){assert$1("ImportExpression",e,t)}function assertMetaProperty(e,t){assert$1("MetaProperty",e,t)}function assertClassMethod(e,t){assert$1("ClassMethod",e,t)}function assertObjectPattern(e,t){assert$1("ObjectPattern",e,t)}function assertSpreadElement(e,t){assert$1("SpreadElement",e,t)}function assertSuper(e,t){assert$1("Super",e,t)}function assertTaggedTemplateExpression(e,t){assert$1("TaggedTemplateExpression",e,t)}function assertTemplateElement(e,t){assert$1("TemplateElement",e,t)}function assertTemplateLiteral(e,t){assert$1("TemplateLiteral",e,t)}function assertYieldExpression(e,t){assert$1("YieldExpression",e,t)}function assertAwaitExpression(e,t){assert$1("AwaitExpression",e,t)}function assertImport(e,t){assert$1("Import",e,t)}function assertBigIntLiteral(e,t){assert$1("BigIntLiteral",e,t)}function assertExportNamespaceSpecifier(e,t){assert$1("ExportNamespaceSpecifier",e,t)}function assertOptionalMemberExpression(e,t){assert$1("OptionalMemberExpression",e,t)}function assertOptionalCallExpression(e,t){assert$1("OptionalCallExpression",e,t)}function assertClassProperty(e,t){assert$1("ClassProperty",e,t)}function assertClassAccessorProperty(e,t){assert$1("ClassAccessorProperty",e,t)}function assertClassPrivateProperty(e,t){assert$1("ClassPrivateProperty",e,t)}function assertClassPrivateMethod(e,t){assert$1("ClassPrivateMethod",e,t)}function assertPrivateName(e,t){assert$1("PrivateName",e,t)}function assertStaticBlock(e,t){assert$1("StaticBlock",e,t)}function assertAnyTypeAnnotation(e,t){assert$1("AnyTypeAnnotation",e,t)}function assertArrayTypeAnnotation(e,t){assert$1("ArrayTypeAnnotation",e,t)}function assertBooleanTypeAnnotation(e,t){assert$1("BooleanTypeAnnotation",e,t)}function assertBooleanLiteralTypeAnnotation(e,t){assert$1("BooleanLiteralTypeAnnotation",e,t)}function assertNullLiteralTypeAnnotation(e,t){assert$1("NullLiteralTypeAnnotation",e,t)}function assertClassImplements(e,t){assert$1("ClassImplements",e,t)}function assertDeclareClass(e,t){assert$1("DeclareClass",e,t)}function assertDeclareFunction(e,t){assert$1("DeclareFunction",e,t)}function assertDeclareInterface(e,t){assert$1("DeclareInterface",e,t)}function assertDeclareModule(e,t){assert$1("DeclareModule",e,t)}function assertDeclareModuleExports(e,t){assert$1("DeclareModuleExports",e,t)}function assertDeclareTypeAlias(e,t){assert$1("DeclareTypeAlias",e,t)}function assertDeclareOpaqueType(e,t){assert$1("DeclareOpaqueType",e,t)}function assertDeclareVariable(e,t){assert$1("DeclareVariable",e,t)}function assertDeclareExportDeclaration(e,t){assert$1("DeclareExportDeclaration",e,t)}function assertDeclareExportAllDeclaration(e,t){assert$1("DeclareExportAllDeclaration",e,t)}function assertDeclaredPredicate(e,t){assert$1("DeclaredPredicate",e,t)}function assertExistsTypeAnnotation(e,t){assert$1("ExistsTypeAnnotation",e,t)}function assertFunctionTypeAnnotation(e,t){assert$1("FunctionTypeAnnotation",e,t)}function assertFunctionTypeParam(e,t){assert$1("FunctionTypeParam",e,t)}function assertGenericTypeAnnotation(e,t){assert$1("GenericTypeAnnotation",e,t)}function assertInferredPredicate(e,t){assert$1("InferredPredicate",e,t)}function assertInterfaceExtends(e,t){assert$1("InterfaceExtends",e,t)}function assertInterfaceDeclaration(e,t){assert$1("InterfaceDeclaration",e,t)}function assertInterfaceTypeAnnotation(e,t){assert$1("InterfaceTypeAnnotation",e,t)}function assertIntersectionTypeAnnotation(e,t){assert$1("IntersectionTypeAnnotation",e,t)}function assertMixedTypeAnnotation(e,t){assert$1("MixedTypeAnnotation",e,t)}function assertEmptyTypeAnnotation(e,t){assert$1("EmptyTypeAnnotation",e,t)}function assertNullableTypeAnnotation(e,t){assert$1("NullableTypeAnnotation",e,t)}function assertNumberLiteralTypeAnnotation(e,t){assert$1("NumberLiteralTypeAnnotation",e,t)}function assertNumberTypeAnnotation(e,t){assert$1("NumberTypeAnnotation",e,t)}function assertObjectTypeAnnotation(e,t){assert$1("ObjectTypeAnnotation",e,t)}function assertObjectTypeInternalSlot(e,t){assert$1("ObjectTypeInternalSlot",e,t)}function assertObjectTypeCallProperty(e,t){assert$1("ObjectTypeCallProperty",e,t)}function assertObjectTypeIndexer(e,t){assert$1("ObjectTypeIndexer",e,t)}function assertObjectTypeProperty(e,t){assert$1("ObjectTypeProperty",e,t)}function assertObjectTypeSpreadProperty(e,t){assert$1("ObjectTypeSpreadProperty",e,t)}function assertOpaqueType(e,t){assert$1("OpaqueType",e,t)}function assertQualifiedTypeIdentifier(e,t){assert$1("QualifiedTypeIdentifier",e,t)}function assertStringLiteralTypeAnnotation(e,t){assert$1("StringLiteralTypeAnnotation",e,t)}function assertStringTypeAnnotation(e,t){assert$1("StringTypeAnnotation",e,t)}function assertSymbolTypeAnnotation(e,t){assert$1("SymbolTypeAnnotation",e,t)}function assertThisTypeAnnotation(e,t){assert$1("ThisTypeAnnotation",e,t)}function assertTupleTypeAnnotation(e,t){assert$1("TupleTypeAnnotation",e,t)}function assertTypeofTypeAnnotation(e,t){assert$1("TypeofTypeAnnotation",e,t)}function assertTypeAlias(e,t){assert$1("TypeAlias",e,t)}function assertTypeAnnotation(e,t){assert$1("TypeAnnotation",e,t)}function assertTypeCastExpression(e,t){assert$1("TypeCastExpression",e,t)}function assertTypeParameter(e,t){assert$1("TypeParameter",e,t)}function assertTypeParameterDeclaration(e,t){assert$1("TypeParameterDeclaration",e,t)}function assertTypeParameterInstantiation(e,t){assert$1("TypeParameterInstantiation",e,t)}function assertUnionTypeAnnotation(e,t){assert$1("UnionTypeAnnotation",e,t)}function assertVariance(e,t){assert$1("Variance",e,t)}function assertVoidTypeAnnotation(e,t){assert$1("VoidTypeAnnotation",e,t)}function assertEnumDeclaration(e,t){assert$1("EnumDeclaration",e,t)}function assertEnumBooleanBody(e,t){assert$1("EnumBooleanBody",e,t)}function assertEnumNumberBody(e,t){assert$1("EnumNumberBody",e,t)}function assertEnumStringBody(e,t){assert$1("EnumStringBody",e,t)}function assertEnumSymbolBody(e,t){assert$1("EnumSymbolBody",e,t)}function assertEnumBooleanMember(e,t){assert$1("EnumBooleanMember",e,t)}function assertEnumNumberMember(e,t){assert$1("EnumNumberMember",e,t)}function assertEnumStringMember(e,t){assert$1("EnumStringMember",e,t)}function assertEnumDefaultedMember(e,t){assert$1("EnumDefaultedMember",e,t)}function assertIndexedAccessType(e,t){assert$1("IndexedAccessType",e,t)}function assertOptionalIndexedAccessType(e,t){assert$1("OptionalIndexedAccessType",e,t)}function assertJSXAttribute(e,t){assert$1("JSXAttribute",e,t)}function assertJSXClosingElement(e,t){assert$1("JSXClosingElement",e,t)}function assertJSXElement(e,t){assert$1("JSXElement",e,t)}function assertJSXEmptyExpression(e,t){assert$1("JSXEmptyExpression",e,t)}function assertJSXExpressionContainer(e,t){assert$1("JSXExpressionContainer",e,t)}function assertJSXSpreadChild(e,t){assert$1("JSXSpreadChild",e,t)}function assertJSXIdentifier(e,t){assert$1("JSXIdentifier",e,t)}function assertJSXMemberExpression(e,t){assert$1("JSXMemberExpression",e,t)}function assertJSXNamespacedName(e,t){assert$1("JSXNamespacedName",e,t)}function assertJSXOpeningElement(e,t){assert$1("JSXOpeningElement",e,t)}function assertJSXSpreadAttribute(e,t){assert$1("JSXSpreadAttribute",e,t)}function assertJSXText(e,t){assert$1("JSXText",e,t)}function assertJSXFragment(e,t){assert$1("JSXFragment",e,t)}function assertJSXOpeningFragment(e,t){assert$1("JSXOpeningFragment",e,t)}function assertJSXClosingFragment(e,t){assert$1("JSXClosingFragment",e,t)}function assertNoop(e,t){assert$1("Noop",e,t)}function assertPlaceholder(e,t){assert$1("Placeholder",e,t)}function assertV8IntrinsicIdentifier(e,t){assert$1("V8IntrinsicIdentifier",e,t)}function assertArgumentPlaceholder(e,t){assert$1("ArgumentPlaceholder",e,t)}function assertBindExpression(e,t){assert$1("BindExpression",e,t)}function assertImportAttribute(e,t){assert$1("ImportAttribute",e,t)}function assertDecorator(e,t){assert$1("Decorator",e,t)}function assertDoExpression(e,t){assert$1("DoExpression",e,t)}function assertExportDefaultSpecifier(e,t){assert$1("ExportDefaultSpecifier",e,t)}function assertRecordExpression(e,t){assert$1("RecordExpression",e,t)}function assertTupleExpression(e,t){assert$1("TupleExpression",e,t)}function assertDecimalLiteral(e,t){assert$1("DecimalLiteral",e,t)}function assertModuleExpression(e,t){assert$1("ModuleExpression",e,t)}function assertTopicReference(e,t){assert$1("TopicReference",e,t)}function assertPipelineTopicExpression(e,t){assert$1("PipelineTopicExpression",e,t)}function assertPipelineBareFunction(e,t){assert$1("PipelineBareFunction",e,t)}function assertPipelinePrimaryTopicReference(e,t){assert$1("PipelinePrimaryTopicReference",e,t)}function assertTSParameterProperty(e,t){assert$1("TSParameterProperty",e,t)}function assertTSDeclareFunction(e,t){assert$1("TSDeclareFunction",e,t)}function assertTSDeclareMethod(e,t){assert$1("TSDeclareMethod",e,t)}function assertTSQualifiedName(e,t){assert$1("TSQualifiedName",e,t)}function assertTSCallSignatureDeclaration(e,t){assert$1("TSCallSignatureDeclaration",e,t)}function assertTSConstructSignatureDeclaration(e,t){assert$1("TSConstructSignatureDeclaration",e,t)}function assertTSPropertySignature(e,t){assert$1("TSPropertySignature",e,t)}function assertTSMethodSignature(e,t){assert$1("TSMethodSignature",e,t)}function assertTSIndexSignature(e,t){assert$1("TSIndexSignature",e,t)}function assertTSAnyKeyword(e,t){assert$1("TSAnyKeyword",e,t)}function assertTSBooleanKeyword(e,t){assert$1("TSBooleanKeyword",e,t)}function assertTSBigIntKeyword(e,t){assert$1("TSBigIntKeyword",e,t)}function assertTSIntrinsicKeyword(e,t){assert$1("TSIntrinsicKeyword",e,t)}function assertTSNeverKeyword(e,t){assert$1("TSNeverKeyword",e,t)}function assertTSNullKeyword(e,t){assert$1("TSNullKeyword",e,t)}function assertTSNumberKeyword(e,t){assert$1("TSNumberKeyword",e,t)}function assertTSObjectKeyword(e,t){assert$1("TSObjectKeyword",e,t)}function assertTSStringKeyword(e,t){assert$1("TSStringKeyword",e,t)}function assertTSSymbolKeyword(e,t){assert$1("TSSymbolKeyword",e,t)}function assertTSUndefinedKeyword(e,t){assert$1("TSUndefinedKeyword",e,t)}function assertTSUnknownKeyword(e,t){assert$1("TSUnknownKeyword",e,t)}function assertTSVoidKeyword(e,t){assert$1("TSVoidKeyword",e,t)}function assertTSThisType(e,t){assert$1("TSThisType",e,t)}function assertTSFunctionType(e,t){assert$1("TSFunctionType",e,t)}function assertTSConstructorType(e,t){assert$1("TSConstructorType",e,t)}function assertTSTypeReference(e,t){assert$1("TSTypeReference",e,t)}function assertTSTypePredicate(e,t){assert$1("TSTypePredicate",e,t)}function assertTSTypeQuery(e,t){assert$1("TSTypeQuery",e,t)}function assertTSTypeLiteral(e,t){assert$1("TSTypeLiteral",e,t)}function assertTSArrayType(e,t){assert$1("TSArrayType",e,t)}function assertTSTupleType(e,t){assert$1("TSTupleType",e,t)}function assertTSOptionalType(e,t){assert$1("TSOptionalType",e,t)}function assertTSRestType(e,t){assert$1("TSRestType",e,t)}function assertTSNamedTupleMember(e,t){assert$1("TSNamedTupleMember",e,t)}function assertTSUnionType(e,t){assert$1("TSUnionType",e,t)}function assertTSIntersectionType(e,t){assert$1("TSIntersectionType",e,t)}function assertTSConditionalType(e,t){assert$1("TSConditionalType",e,t)}function assertTSInferType(e,t){assert$1("TSInferType",e,t)}function assertTSParenthesizedType(e,t){assert$1("TSParenthesizedType",e,t)}function assertTSTypeOperator(e,t){assert$1("TSTypeOperator",e,t)}function assertTSIndexedAccessType(e,t){assert$1("TSIndexedAccessType",e,t)}function assertTSMappedType(e,t){assert$1("TSMappedType",e,t)}function assertTSLiteralType(e,t){assert$1("TSLiteralType",e,t)}function assertTSExpressionWithTypeArguments(e,t){assert$1("TSExpressionWithTypeArguments",e,t)}function assertTSInterfaceDeclaration(e,t){assert$1("TSInterfaceDeclaration",e,t)}function assertTSInterfaceBody(e,t){assert$1("TSInterfaceBody",e,t)}function assertTSTypeAliasDeclaration(e,t){assert$1("TSTypeAliasDeclaration",e,t)}function assertTSInstantiationExpression(e,t){assert$1("TSInstantiationExpression",e,t)}function assertTSAsExpression(e,t){assert$1("TSAsExpression",e,t)}function assertTSSatisfiesExpression(e,t){assert$1("TSSatisfiesExpression",e,t)}function assertTSTypeAssertion(e,t){assert$1("TSTypeAssertion",e,t)}function assertTSEnumDeclaration(e,t){assert$1("TSEnumDeclaration",e,t)}function assertTSEnumMember(e,t){assert$1("TSEnumMember",e,t)}function assertTSModuleDeclaration(e,t){assert$1("TSModuleDeclaration",e,t)}function assertTSModuleBlock(e,t){assert$1("TSModuleBlock",e,t)}function assertTSImportType(e,t){assert$1("TSImportType",e,t)}function assertTSImportEqualsDeclaration(e,t){assert$1("TSImportEqualsDeclaration",e,t)}function assertTSExternalModuleReference(e,t){assert$1("TSExternalModuleReference",e,t)}function assertTSNonNullExpression(e,t){assert$1("TSNonNullExpression",e,t)}function assertTSExportAssignment(e,t){assert$1("TSExportAssignment",e,t)}function assertTSNamespaceExportDeclaration(e,t){assert$1("TSNamespaceExportDeclaration",e,t)}function assertTSTypeAnnotation(e,t){assert$1("TSTypeAnnotation",e,t)}function assertTSTypeParameterInstantiation(e,t){assert$1("TSTypeParameterInstantiation",e,t)}function assertTSTypeParameterDeclaration(e,t){assert$1("TSTypeParameterDeclaration",e,t)}function assertTSTypeParameter(e,t){assert$1("TSTypeParameter",e,t)}function assertStandardized(e,t){assert$1("Standardized",e,t)}function assertExpression(e,t){assert$1("Expression",e,t)}function assertBinary(e,t){assert$1("Binary",e,t)}function assertScopable(e,t){assert$1("Scopable",e,t)}function assertBlockParent(e,t){assert$1("BlockParent",e,t)}function assertBlock(e,t){assert$1("Block",e,t)}function assertStatement(e,t){assert$1("Statement",e,t)}function assertTerminatorless(e,t){assert$1("Terminatorless",e,t)}function assertCompletionStatement(e,t){assert$1("CompletionStatement",e,t)}function assertConditional(e,t){assert$1("Conditional",e,t)}function assertLoop(e,t){assert$1("Loop",e,t)}function assertWhile(e,t){assert$1("While",e,t)}function assertExpressionWrapper(e,t){assert$1("ExpressionWrapper",e,t)}function assertFor(e,t){assert$1("For",e,t)}function assertForXStatement(e,t){assert$1("ForXStatement",e,t)}function assertFunction(e,t){assert$1("Function",e,t)}function assertFunctionParent(e,t){assert$1("FunctionParent",e,t)}function assertPureish(e,t){assert$1("Pureish",e,t)}function assertDeclaration(e,t){assert$1("Declaration",e,t)}function assertPatternLike(e,t){assert$1("PatternLike",e,t)}function assertLVal(e,t){assert$1("LVal",e,t)}function assertTSEntityName(e,t){assert$1("TSEntityName",e,t)}function assertLiteral(e,t){assert$1("Literal",e,t)}function assertImmutable(e,t){assert$1("Immutable",e,t)}function assertUserWhitespacable(e,t){assert$1("UserWhitespacable",e,t)}function assertMethod(e,t){assert$1("Method",e,t)}function assertObjectMember(e,t){assert$1("ObjectMember",e,t)}function assertProperty(e,t){assert$1("Property",e,t)}function assertUnaryLike(e,t){assert$1("UnaryLike",e,t)}function assertPattern(e,t){assert$1("Pattern",e,t)}function assertClass(e,t){assert$1("Class",e,t)}function assertImportOrExportDeclaration(e,t){assert$1("ImportOrExportDeclaration",e,t)}function assertExportDeclaration(e,t){assert$1("ExportDeclaration",e,t)}function assertModuleSpecifier(e,t){assert$1("ModuleSpecifier",e,t)}function assertAccessor(e,t){assert$1("Accessor",e,t)}function assertPrivate(e,t){assert$1("Private",e,t)}function assertFlow(e,t){assert$1("Flow",e,t)}function assertFlowType(e,t){assert$1("FlowType",e,t)}function assertFlowBaseAnnotation(e,t){assert$1("FlowBaseAnnotation",e,t)}function assertFlowDeclaration(e,t){assert$1("FlowDeclaration",e,t)}function assertFlowPredicate(e,t){assert$1("FlowPredicate",e,t)}function assertEnumBody(e,t){assert$1("EnumBody",e,t)}function assertEnumMember(e,t){assert$1("EnumMember",e,t)}function assertJSX(e,t){assert$1("JSX",e,t)}function assertMiscellaneous(e,t){assert$1("Miscellaneous",e,t)}function assertTypeScript(e,t){assert$1("TypeScript",e,t)}function assertTSTypeElement(e,t){assert$1("TSTypeElement",e,t)}function assertTSType(e,t){assert$1("TSType",e,t)}function assertTSBaseType(e,t){assert$1("TSBaseType",e,t)}function assertNumberLiteral(e,t){deprecationWarning("assertNumberLiteral","assertNumericLiteral"),assert$1("NumberLiteral",e,t)}function assertRegexLiteral(e,t){deprecationWarning("assertRegexLiteral","assertRegExpLiteral"),assert$1("RegexLiteral",e,t)}function assertRestProperty(e,t){deprecationWarning("assertRestProperty","assertRestElement"),assert$1("RestProperty",e,t)}function assertSpreadProperty(e,t){deprecationWarning("assertSpreadProperty","assertSpreadElement"),assert$1("SpreadProperty",e,t)}function assertModuleDeclaration(e,t){deprecationWarning("assertModuleDeclaration","assertImportOrExportDeclaration"),assert$1("ModuleDeclaration",e,t)}function createTypeAnnotationBasedOnTypeof(e){switch(e){case"string":return stringTypeAnnotation();case"number":return numberTypeAnnotation();case"undefined":return voidTypeAnnotation();case"boolean":return booleanTypeAnnotation();case"function":return genericTypeAnnotation(identifier$1("Function"));case"object":return genericTypeAnnotation(identifier$1("Object"));case"symbol":return genericTypeAnnotation(identifier$1("Symbol"));case"bigint":return anyTypeAnnotation()}throw new Error("Invalid typeof value: "+e)}function getQualifiedName$1(e){return isIdentifier$r(e)?e.name:"".concat(e.id.name,".").concat(getQualifiedName$1(e.qualification))}function removeTypeDuplicates$1(e){for(var t=Array.from(e),r=new Map,n=new Map,i=new Set,a=[],s=0;s<t.length;s++){var o=t[s];if(o&&!(a.indexOf(o)>=0)){if(isAnyTypeAnnotation(o))return[o];var l;if(isFlowBaseAnnotation(o))n.set(o.type,o);else if(isUnionTypeAnnotation(o))i.has(o.types)||((l=t).push.apply(l,_to_consumable_array(o.types)),i.add(o.types));else if(isGenericTypeAnnotation(o)){var u=getQualifiedName$1(o.id);if(r.has(u)){var c,p=r.get(u);if(p.typeParameters){if(o.typeParameters)(c=p.typeParameters.params).push.apply(c,_to_consumable_array(o.typeParameters.params)),p.typeParameters.params=removeTypeDuplicates$1(p.typeParameters.params)}else p=o.typeParameters}else r.set(u,o)}else a.push(o)}}var d=!0,f=!1,h=void 0;try{for(var m,y=n[Symbol.iterator]();!(d=(m=y.next()).done);d=!0){var g=_sliced_to_array(m.value,2)[1];a.push(g)}}catch(e){f=!0,h=e}finally{try{d||null==y.return||y.return()}finally{if(f)throw h}}var v=!0,b=!1,S=void 0;try{for(var _,T=r[Symbol.iterator]();!(v=(_=T.next()).done);v=!0){var E=_sliced_to_array(_.value,2)[1];a.push(E)}}catch(e){b=!0,S=e}finally{try{v||null==T.return||T.return()}finally{if(b)throw S}}return a}function createFlowUnionType(e){var t=removeTypeDuplicates$1(e);return 1===t.length?t[0]:unionTypeAnnotation(t)}function getQualifiedName(e){return isIdentifier$r(e)?e.name:"".concat(e.right.name,".").concat(getQualifiedName(e.left))}function removeTypeDuplicates(e){for(var t=Array.from(e),r=new Map,n=new Map,i=new Set,a=[],s=0;s<t.length;s++){var o=t[s];if(o&&!(a.indexOf(o)>=0)){if(isTSAnyKeyword(o))return[o];var l;if(isTSBaseType(o))n.set(o.type,o);else if(isTSUnionType(o))i.has(o.types)||((l=t).push.apply(l,_to_consumable_array(o.types)),i.add(o.types));else if(isTSTypeReference$3(o)&&o.typeParameters){var u=getQualifiedName(o.typeName);if(r.has(u)){var c,p=r.get(u);if(p.typeParameters){if(o.typeParameters)(c=p.typeParameters.params).push.apply(c,_to_consumable_array(o.typeParameters.params)),p.typeParameters.params=removeTypeDuplicates(p.typeParameters.params)}else p=o.typeParameters}else r.set(u,o)}else a.push(o)}}var d=!0,f=!1,h=void 0;try{for(var m,y=n[Symbol.iterator]();!(d=(m=y.next()).done);d=!0){var g=_sliced_to_array(m.value,2)[1];a.push(g)}}catch(e){f=!0,h=e}finally{try{d||null==y.return||y.return()}finally{if(f)throw h}}var v=!0,b=!1,S=void 0;try{for(var _,T=r[Symbol.iterator]();!(v=(_=T.next()).done);v=!0){var E=_sliced_to_array(_.value,2)[1];a.push(E)}}catch(e){b=!0,S=e}finally{try{v||null==T.return||T.return()}finally{if(b)throw S}}return a}function createTSUnionType(e){var t=e.map((function(e){return isTSTypeAnnotation(e)?e.typeAnnotation:e})),r=removeTypeDuplicates(t);return 1===r.length?r[0]:tsUnionType(r)}function buildUndefinedNode(){return unaryExpression$1("void",numericLiteral(0),!0)}var hasOwn$1=Object.hasOwn;function cloneIfNode(e,t,r,n){return e&&"string"==typeof e.type?cloneNodeInternal(e,t,r,n):e}function cloneIfNodeOrArray(e,t,r,n){return Array.isArray(e)?e.map((function(e){return cloneIfNode(e,t,r,n)})):cloneIfNode(e,t,r,n)}function cloneNode(e){return cloneNodeInternal(e,!(arguments.length>1&&void 0!==arguments[1])||arguments[1],arguments.length>2&&void 0!==arguments[2]&&arguments[2],new Map)}function cloneNodeInternal(e){var t=!(arguments.length>1&&void 0!==arguments[1])||arguments[1],r=arguments.length>2&&void 0!==arguments[2]&&arguments[2],n=arguments.length>3?arguments[3]:void 0;if(!e)return e;var i=e.type,a={type:e.type};if(isIdentifier$r(e))a.name=e.name,hasOwn$1(e,"optional")&&"boolean"==typeof e.optional&&(a.optional=e.optional),hasOwn$1(e,"typeAnnotation")&&(a.typeAnnotation=t?cloneIfNodeOrArray(e.typeAnnotation,!0,r,n):e.typeAnnotation);else{if(!hasOwn$1(NODE_FIELDS,i))throw new Error('Unknown node type: "'.concat(i,'"'));var s=!0,o=!1,l=void 0;try{for(var u,c=Object.keys(NODE_FIELDS[i])[Symbol.iterator]();!(s=(u=c.next()).done);s=!0){var p=u.value;hasOwn$1(e,p)&&(a[p]=t?isFile$2(e)&&"comments"===p?maybeCloneComments(e.comments,t,r,n):cloneIfNodeOrArray(e[p],!0,r,n):e[p])}}catch(e){o=!0,l=e}finally{try{s||null==c.return||c.return()}finally{if(o)throw l}}}return hasOwn$1(e,"loc")&&(a.loc=r?null:e.loc),hasOwn$1(e,"leadingComments")&&(a.leadingComments=maybeCloneComments(e.leadingComments,t,r,n)),hasOwn$1(e,"innerComments")&&(a.innerComments=maybeCloneComments(e.innerComments,t,r,n)),hasOwn$1(e,"trailingComments")&&(a.trailingComments=maybeCloneComments(e.trailingComments,t,r,n)),hasOwn$1(e,"extra")&&(a.extra=Object.assign({},e.extra)),a}function maybeCloneComments(e,t,r,n){return e&&t?e.map((function(e){var t=n.get(e);if(t)return t;var i={type:e.type,value:e.value,loc:e.loc};return r&&(i.loc=null),n.set(e,i),i})):e}function clone$2(e){return cloneNode(e,!1)}function cloneDeep(e){return cloneNode(e)}function cloneDeepWithoutLoc(e){return cloneNode(e,!0,!0)}function cloneWithoutLoc(e){return cloneNode(e,!1,!0)}function addComments(e,t,r){if(!r||!e)return e;var n,i="".concat(t,"Comments");e[i]?"leading"===t?e[i]=r.concat(e[i]):(n=e[i]).push.apply(n,_to_consumable_array(r)):e[i]=r;return e}function addComment(e,t,r,n){return addComments(e,t,[{type:n?"CommentLine":"CommentBlock",value:r}])}function inherit(e,t,r){t&&r&&(t[e]=Array.from(new Set([].concat(t[e],r[e]).filter(Boolean))))}function inheritInnerComments(e,t){inherit("innerComments",e,t)}function inheritLeadingComments(e,t){inherit("leadingComments",e,t)}function inheritTrailingComments(e,t){inherit("trailingComments",e,t)}function inheritsComments(e,t){return inheritTrailingComments(e,t),inheritLeadingComments(e,t),inheritInnerComments(e,t),e}function removeComments(e){return COMMENT_KEYS.forEach((function(t){e[t]=null})),e}var STANDARDIZED_TYPES=FLIPPED_ALIAS_KEYS.Standardized,EXPRESSION_TYPES=FLIPPED_ALIAS_KEYS.Expression,BINARY_TYPES=FLIPPED_ALIAS_KEYS.Binary,SCOPABLE_TYPES=FLIPPED_ALIAS_KEYS.Scopable,BLOCKPARENT_TYPES=FLIPPED_ALIAS_KEYS.BlockParent,BLOCK_TYPES=FLIPPED_ALIAS_KEYS.Block,STATEMENT_TYPES=FLIPPED_ALIAS_KEYS.Statement,TERMINATORLESS_TYPES=FLIPPED_ALIAS_KEYS.Terminatorless,COMPLETIONSTATEMENT_TYPES=FLIPPED_ALIAS_KEYS.CompletionStatement,CONDITIONAL_TYPES=FLIPPED_ALIAS_KEYS.Conditional,LOOP_TYPES=FLIPPED_ALIAS_KEYS.Loop,WHILE_TYPES=FLIPPED_ALIAS_KEYS.While,EXPRESSIONWRAPPER_TYPES=FLIPPED_ALIAS_KEYS.ExpressionWrapper,FOR_TYPES=FLIPPED_ALIAS_KEYS.For,FORXSTATEMENT_TYPES=FLIPPED_ALIAS_KEYS.ForXStatement,FUNCTION_TYPES=FLIPPED_ALIAS_KEYS.Function,FUNCTIONPARENT_TYPES=FLIPPED_ALIAS_KEYS.FunctionParent,PUREISH_TYPES=FLIPPED_ALIAS_KEYS.Pureish,DECLARATION_TYPES=FLIPPED_ALIAS_KEYS.Declaration,PATTERNLIKE_TYPES=FLIPPED_ALIAS_KEYS.PatternLike,LVAL_TYPES=FLIPPED_ALIAS_KEYS.LVal,TSENTITYNAME_TYPES=FLIPPED_ALIAS_KEYS.TSEntityName,LITERAL_TYPES=FLIPPED_ALIAS_KEYS.Literal,IMMUTABLE_TYPES=FLIPPED_ALIAS_KEYS.Immutable,USERWHITESPACABLE_TYPES=FLIPPED_ALIAS_KEYS.UserWhitespacable,METHOD_TYPES=FLIPPED_ALIAS_KEYS.Method,OBJECTMEMBER_TYPES=FLIPPED_ALIAS_KEYS.ObjectMember,PROPERTY_TYPES=FLIPPED_ALIAS_KEYS.Property,UNARYLIKE_TYPES=FLIPPED_ALIAS_KEYS.UnaryLike,PATTERN_TYPES=FLIPPED_ALIAS_KEYS.Pattern,CLASS_TYPES=FLIPPED_ALIAS_KEYS.Class,IMPORTOREXPORTDECLARATION_TYPES=FLIPPED_ALIAS_KEYS.ImportOrExportDeclaration,EXPORTDECLARATION_TYPES=FLIPPED_ALIAS_KEYS.ExportDeclaration,MODULESPECIFIER_TYPES=FLIPPED_ALIAS_KEYS.ModuleSpecifier,ACCESSOR_TYPES=FLIPPED_ALIAS_KEYS.Accessor,PRIVATE_TYPES=FLIPPED_ALIAS_KEYS.Private,FLOW_TYPES=FLIPPED_ALIAS_KEYS.Flow,FLOWTYPE_TYPES=FLIPPED_ALIAS_KEYS.FlowType,FLOWBASEANNOTATION_TYPES=FLIPPED_ALIAS_KEYS.FlowBaseAnnotation,FLOWDECLARATION_TYPES=FLIPPED_ALIAS_KEYS.FlowDeclaration,FLOWPREDICATE_TYPES=FLIPPED_ALIAS_KEYS.FlowPredicate,ENUMBODY_TYPES=FLIPPED_ALIAS_KEYS.EnumBody,ENUMMEMBER_TYPES=FLIPPED_ALIAS_KEYS.EnumMember,JSX_TYPES=FLIPPED_ALIAS_KEYS.JSX,MISCELLANEOUS_TYPES=FLIPPED_ALIAS_KEYS.Miscellaneous,TYPESCRIPT_TYPES=FLIPPED_ALIAS_KEYS.TypeScript,TSTYPEELEMENT_TYPES=FLIPPED_ALIAS_KEYS.TSTypeElement,TSTYPE_TYPES=FLIPPED_ALIAS_KEYS.TSType,TSBASETYPE_TYPES=FLIPPED_ALIAS_KEYS.TSBaseType,MODULEDECLARATION_TYPES=IMPORTOREXPORTDECLARATION_TYPES;function toBlock(e,t){if(isBlockStatement$e(e))return e;var r=[];return isEmptyStatement(e)?r=[]:(isStatement$5(e)||(e=isFunction$6(t)?returnStatement$1(e):expressionStatement$1(e)),r=[e]),blockStatement$1(r)}function ensureBlock(e){var t=arguments.length>1&&void 0!==arguments[1]?arguments[1]:"body",r=toBlock(e[t],e);return e[t]=r,r}function toIdentifier(e){e+="";var t="",r=!0,n=!1,i=void 0;try{for(var a,s=e[Symbol.iterator]();!(r=(a=s.next()).done);r=!0){var o=a.value;t+=isIdentifierChar(o.codePointAt(0))?o:"-"}}catch(e){n=!0,i=e}finally{try{r||null==s.return||s.return()}finally{if(n)throw i}}return t=(t=t.replace(/^[-0-9]+/,"")).replace(/[-\s]+(.)?/g,(function(e,t){return t?t.toUpperCase():""})),isValidIdentifier(t)||(t="_".concat(t)),t||"_"}function toBindingIdentifierName(e){return"eval"!==(e=toIdentifier(e))&&"arguments"!==e||(e="_"+e),e}function toComputedKey(e){var t=arguments.length>1&&void 0!==arguments[1]?arguments[1]:e.key||e.property;return!e.computed&&isIdentifier$r(t)&&(t=stringLiteral(t.name)),t}function toExpression$2(e){if(isExpressionStatement$3(e)&&(e=e.expression),isExpression$4(e))return e;if(isClass(e)?e.type="ClassExpression":isFunction$6(e)&&(e.type="FunctionExpression"),!isExpression$4(e))throw new Error("cannot turn ".concat(e.type," to an expression"));return e}function traverseFast(e,t,r){if(e){var n=VISITOR_KEYS[e.type];if(n){t(e,r=r||{});var i=!0,a=!1,s=void 0;try{for(var o,l=n[Symbol.iterator]();!(i=(o=l.next()).done);i=!0){var u=e[o.value];if(Array.isArray(u)){var c=!0,p=!1,d=void 0;try{for(var f,h=u[Symbol.iterator]();!(c=(f=h.next()).done);c=!0){traverseFast(f.value,t,r)}}catch(e){p=!0,d=e}finally{try{c||null==h.return||h.return()}finally{if(p)throw d}}}else traverseFast(u,t,r)}}catch(e){a=!0,s=e}finally{try{i||null==l.return||l.return()}finally{if(a)throw s}}}}}var CLEAR_KEYS=["tokens","start","end","loc","raw","rawValue"],CLEAR_KEYS_PLUS_COMMENTS=_to_consumable_array(COMMENT_KEYS).concat(["comments"],_to_consumable_array(CLEAR_KEYS));function removeProperties(e){var t=(arguments.length>1&&void 0!==arguments[1]?arguments[1]:{}).preserveComments?CLEAR_KEYS:CLEAR_KEYS_PLUS_COMMENTS,r=!0,n=!1,i=void 0;try{for(var a,s=t[Symbol.iterator]();!(r=(a=s.next()).done);r=!0){var o=a.value;null!=e[o]&&(e[o]=void 0)}}catch(e){n=!0,i=e}finally{try{r||null==s.return||s.return()}finally{if(n)throw i}}var l=!0,u=!1,c=void 0;try{for(var p,d=Object.keys(e)[Symbol.iterator]();!(l=(p=d.next()).done);l=!0){var f=p.value;"_"===f[0]&&null!=e[f]&&(e[f]=void 0)}}catch(e){u=!0,c=e}finally{try{l||null==d.return||d.return()}finally{if(u)throw c}}var h=Object.getOwnPropertySymbols(e),m=!0,y=!1,g=void 0;try{for(var v,b=h[Symbol.iterator]();!(m=(v=b.next()).done);m=!0){e[v.value]=null}}catch(e){y=!0,g=e}finally{try{m||null==b.return||b.return()}finally{if(y)throw g}}}function removePropertiesDeep(e,t){return traverseFast(e,removeProperties,t),e}function toKeyAlias(e){var t,r=arguments.length>1&&void 0!==arguments[1]?arguments[1]:e.key;return"method"===e.kind?toKeyAlias.increment()+"":(t=isIdentifier$r(r)?r.name:isStringLiteral$8(r)?JSON.stringify(r.value):JSON.stringify(removePropertiesDeep(cloneNode(r))),e.computed&&(t="[".concat(t,"]")),e.static&&(t="static:".concat(t)),t)}function toStatement$1(e,t){if(isStatement$5(e))return e;var r,n=!1;if(isClass(e))n=!0,r="ClassDeclaration";else if(isFunction$6(e))n=!0,r="FunctionDeclaration";else if(isAssignmentExpression(e))return expressionStatement$1(e);if(n&&!e.id&&(r=!1),!r){if(t)return!1;throw new Error("cannot turn ".concat(e.type," to a statement"))}return e.type=r,e}toKeyAlias.uid=0,toKeyAlias.increment=function(){return toKeyAlias.uid>=Number.MAX_SAFE_INTEGER?toKeyAlias.uid=0:toKeyAlias.uid++};var objectToString=Function.call.bind(Object.prototype.toString);function isRegExp(e){return"[object RegExp]"===objectToString(e)}function isPlainObject(e){if("object"!=typeof e||null===e||"[object Object]"!==Object.prototype.toString.call(e))return!1;var t=Object.getPrototypeOf(e);return null===t||null===Object.getPrototypeOf(t)}function valueToNode(e){if(void 0===e)return identifier$1("undefined");if(!0===e||!1===e)return booleanLiteral(e);if(null===e)return nullLiteral();if("string"==typeof e)return stringLiteral(e);if("number"==typeof e){var t;if(Number.isFinite(e))t=numericLiteral(Math.abs(e));else t=binaryExpression$1("/",Number.isNaN(e)?numericLiteral(0):numericLiteral(1),numericLiteral(0));return(e<0||Object.is(e,-0))&&(t=unaryExpression$1("-",t)),t}if(isRegExp(e))return regExpLiteral(e.source,e.toString().match(/\/([a-z]+|)$/)[1]);if(Array.isArray(e))return arrayExpression$1(e.map(valueToNode));if(isPlainObject(e)){var r=[],n=!0,i=!1,a=void 0;try{for(var s,o=Object.keys(e)[Symbol.iterator]();!(n=(s=o.next()).done);n=!0){var l=s.value,u=void 0;u=isValidIdentifier(l)?identifier$1(l):stringLiteral(l),r.push(objectProperty$1(u,valueToNode(e[l])))}}catch(e){i=!0,a=e}finally{try{n||null==o.return||o.return()}finally{if(i)throw a}}return objectExpression$1(r)}throw new Error("don't know how to turn this value into a node")}function appendToMemberExpression(e,t){var r=arguments.length>2&&void 0!==arguments[2]&&arguments[2];return e.object=memberExpression(e.object,e.property,e.computed),e.property=t,e.computed=!!r,e}function inherits(e,t){if(!e||!t)return e;var r=!0,n=!1,i=void 0;try{for(var a,s=INHERIT_KEYS.optional[Symbol.iterator]();!(r=(a=s.next()).done);r=!0){var o=a.value;null==e[o]&&(e[o]=t[o])}}catch(e){n=!0,i=e}finally{try{r||null==s.return||s.return()}finally{if(n)throw i}}var l=!0,u=!1,c=void 0;try{for(var p,d=Object.keys(t)[Symbol.iterator]();!(l=(p=d.next()).done);l=!0){var f=p.value;"_"===f[0]&&"__clone"!==f&&(e[f]=t[f])}}catch(e){u=!0,c=e}finally{try{l||null==d.return||d.return()}finally{if(u)throw c}}var h=!0,m=!1,y=void 0;try{for(var g,v=INHERIT_KEYS.force[Symbol.iterator]();!(h=(g=v.next()).done);h=!0){var b=g.value;e[b]=t[b]}}catch(e){m=!0,y=e}finally{try{h||null==v.return||v.return()}finally{if(m)throw y}}return inheritsComments(e,t),e}function prependToMemberExpression(e,t){if(isSuper(e.object))throw new Error("Cannot prepend node to super property access (`super.foo`).");return e.object=memberExpression(t,e.object),e}function getBindingIdentifiers(e,t,r,n){for(var i=[].concat(e),a=Object.create(null);i.length;){var s=i.shift();if(s&&(!n||!isAssignmentExpression(s)&&!isUnaryExpression$1(s))){var o=getBindingIdentifiers.keys[s.type];if(isIdentifier$r(s))t?(a[s.name]=a[s.name]||[]).push(s):a[s.name]=s;else if(!isExportDeclaration$5(s)||isExportAllDeclaration(s)){if(r){if(isFunctionDeclaration$5(s)){i.push(s.id);continue}if(isFunctionExpression$2(s))continue}if(o)for(var l=0;l<o.length;l++){var u,c=s[o[l]];if(c)Array.isArray(c)?(u=i).push.apply(u,_to_consumable_array(c)):i.push(c)}}else isDeclaration(s.declaration)&&i.push(s.declaration)}}return a}function getOuterBindingIdentifiers(e,t){return getBindingIdentifiers(e,t,!0)}function traverse$m(e,t,r){"function"==typeof t&&(t={enter:t}),traverseSimpleImpl(e,t.enter,t.exit,r,[])}function traverseSimpleImpl(e,t,r,n,i){var a=VISITOR_KEYS[e.type];if(a){t&&t(e,i,n);var s=!0,o=!1,l=void 0;try{for(var u,c=a[Symbol.iterator]();!(s=(u=c.next()).done);s=!0){var p=u.value,d=e[p];if(Array.isArray(d))for(var f=0;f<d.length;f++){var h=d[f];h&&(i.push({node:e,key:p,index:f}),traverseSimpleImpl(h,t,r,n,i),i.pop())}else d&&(i.push({node:e,key:p}),traverseSimpleImpl(d,t,r,n,i),i.pop())}}catch(e){o=!0,l=e}finally{try{s||null==c.return||c.return()}finally{if(o)throw l}}r&&r(e,i,n)}}function isBinding$1(e,t,r){if(r&&"Identifier"===e.type&&"ObjectProperty"===t.type&&"ObjectExpression"===r.type)return!1;var n=getBindingIdentifiers.keys[t.type];if(n)for(var i=0;i<n.length;i++){var a=t[n[i]];if(Array.isArray(a)){if(a.indexOf(e)>=0)return!0}else if(a===e)return!0}return!1}function isLet(e){return isVariableDeclaration$3(e)&&("var"!==e.kind||e[BLOCK_SCOPED_SYMBOL])}function isBlockScoped(e){return isFunctionDeclaration$5(e)||isClassDeclaration$2(e)||isLet(e)}function isImmutable(e){return!!isType(e.type,"Immutable")||!!isIdentifier$r(e)&&"undefined"===e.name}function isNodesEquivalent(e,t){if("object"!=typeof e||"object"!=typeof t||null==e||null==t)return e===t;if(e.type!==t.type)return!1;var r=Object.keys(NODE_FIELDS[e.type]||e.type),n=VISITOR_KEYS[e.type],i=!0,a=!1,s=void 0;try{for(var o,l=r[Symbol.iterator]();!(i=(o=l.next()).done);i=!0){var u=o.value,c=e[u],p=t[u];if((void 0===c?"undefined":_type_of(c))!==(void 0===p?"undefined":_type_of(p)))return!1;if(null!=c||null!=p){if(null==c||null==p)return!1;if(Array.isArray(c)){if(!Array.isArray(p))return!1;if(c.length!==p.length)return!1;for(var d=0;d<c.length;d++)if(!isNodesEquivalent(c[d],p[d]))return!1}else if("object"!=typeof c||(null==n?void 0:n.includes(u))){if(!isNodesEquivalent(c,p))return!1}else{var f=!0,h=!1,m=void 0;try{for(var y,g=Object.keys(c)[Symbol.iterator]();!(f=(y=g.next()).done);f=!0){var v=y.value;if(c[v]!==p[v])return!1}}catch(e){h=!0,m=e}finally{try{f||null==g.return||g.return()}finally{if(h)throw m}}}}}}catch(e){a=!0,s=e}finally{try{i||null==l.return||l.return()}finally{if(a)throw s}}return!0}function isReferenced$1(e,t,r){switch(t.type){case"MemberExpression":case"OptionalMemberExpression":return t.property===e?!!t.computed:t.object===e;case"JSXMemberExpression":return t.object===e;case"VariableDeclarator":return t.init===e;case"ArrowFunctionExpression":return t.body===e;case"PrivateName":case"LabeledStatement":case"CatchClause":case"RestElement":case"BreakStatement":case"ContinueStatement":case"FunctionDeclaration":case"FunctionExpression":case"ExportNamespaceSpecifier":case"ExportDefaultSpecifier":case"ImportDefaultSpecifier":case"ImportNamespaceSpecifier":case"ImportSpecifier":case"ImportAttribute":case"JSXAttribute":case"ObjectPattern":case"ArrayPattern":case"MetaProperty":return!1;case"ClassMethod":case"ClassPrivateMethod":case"ObjectMethod":return t.key===e&&!!t.computed;case"ObjectProperty":return t.key===e?!!t.computed:!r||"ObjectPattern"!==r.type;case"ClassProperty":case"ClassAccessorProperty":case"TSPropertySignature":return t.key!==e||!!t.computed;case"ClassPrivateProperty":case"ObjectTypeProperty":return t.key!==e;case"ClassDeclaration":case"ClassExpression":return t.superClass===e;case"AssignmentExpression":case"AssignmentPattern":return t.right===e;case"ExportSpecifier":return!(null==r?void 0:r.source)&&t.local===e;case"TSEnumMember":return t.id!==e}return!0}function isScope(e,t){return(!isBlockStatement$e(e)||!isFunction$6(t)&&!isCatchClause$1(t))&&(!(!isPattern(e)||!isFunction$6(t)&&!isCatchClause$1(t))||isScopable(e))}function isSpecifierDefault(e){return isImportDefaultSpecifier$3(e)||isIdentifier$r(e.imported||e.exported,{name:"default"})}getBindingIdentifiers.keys={DeclareClass:["id"],DeclareFunction:["id"],DeclareModule:["id"],DeclareVariable:["id"],DeclareInterface:["id"],DeclareTypeAlias:["id"],DeclareOpaqueType:["id"],InterfaceDeclaration:["id"],TypeAlias:["id"],OpaqueType:["id"],CatchClause:["param"],LabeledStatement:["label"],UnaryExpression:["argument"],AssignmentExpression:["left"],ImportSpecifier:["local"],ImportNamespaceSpecifier:["local"],ImportDefaultSpecifier:["local"],ImportDeclaration:["specifiers"],ExportSpecifier:["exported"],ExportNamespaceSpecifier:["exported"],ExportDefaultSpecifier:["exported"],FunctionDeclaration:["id","params"],FunctionExpression:["id","params"],ArrowFunctionExpression:["params"],ObjectMethod:["params"],ClassMethod:["params"],ClassPrivateMethod:["params"],ForInStatement:["left"],ForOfStatement:["left"],ClassDeclaration:["id"],ClassExpression:["id"],RestElement:["argument"],UpdateExpression:["argument"],ObjectProperty:["value"],AssignmentPattern:["left"],ArrayPattern:["elements"],ObjectPattern:["properties"],VariableDeclaration:["declarations"],VariableDeclarator:["id"]};var RESERVED_WORDS_ES3_ONLY=new Set(["abstract","boolean","byte","char","double","enum","final","float","goto","implements","int","interface","long","native","package","private","protected","public","short","static","synchronized","throws","transient","volatile"]);function isValidES3Identifier(e){return isValidIdentifier(e)&&!RESERVED_WORDS_ES3_ONLY.has(e)}function isVar(e){return isVariableDeclaration$3(e,{kind:"var"})&&!e[BLOCK_SCOPED_SYMBOL]}var react={isReactComponent:isReactComponent,isCompatTag:isCompatTag,buildChildren:buildChildren};function _objectWithoutPropertiesLoose(e,t){if(null==e)return{};var r,n,i={},a=Object.keys(e);for(n=0;n<a.length;n++)r=a[n],t.indexOf(r)>=0||(i[r]=e[r]);return i}var Position=function e(t,r,n){_class_call_check(this,e),__publicField(this,"line"),__publicField(this,"column"),__publicField(this,"index"),this.line=t,this.column=r,this.index=n},SourceLocation=function e(t,r){_class_call_check(this,e),__publicField(this,"start"),__publicField(this,"end"),__publicField(this,"filename"),__publicField(this,"identifierName"),this.start=t,this.end=r};function createPositionWithColumnOffset(e,t){var r=e.line,n=e.column,i=e.index;return new Position(r,n+t,i+t)}var code="BABEL_PARSER_SOURCETYPE_MODULE_REQUIRED",ModuleErrors={ImportMetaOutsideModule:{message:"import.meta may appear only with 'sourceType: \"module\"'",code:code},ImportOutsideModule:{message:"'import' and 'export' may appear only with 'sourceType: \"module\"'",code:code}},NodeDescriptions={ArrayPattern:"array destructuring pattern",AssignmentExpression:"assignment expression",AssignmentPattern:"assignment expression",ArrowFunctionExpression:"arrow function expression",ConditionalExpression:"conditional expression",CatchClause:"catch clause",ForOfStatement:"for-of statement",ForInStatement:"for-in statement",ForStatement:"for-loop",FormalParameters:"function parameter list",Identifier:"identifier",ImportSpecifier:"import specifier",ImportDefaultSpecifier:"import default specifier",ImportNamespaceSpecifier:"import namespace specifier",ObjectPattern:"object destructuring pattern",ParenthesizedExpression:"parenthesized expression",RestElement:"rest element",UpdateExpression:{true:"prefix operation",false:"postfix operation"},VariableDeclarator:"variable declaration",YieldExpression:"yield expression"},toNodeDescription=function(e){var t=e.type,r=e.prefix;return"UpdateExpression"===t?NodeDescriptions.UpdateExpression[String(r)]:NodeDescriptions[t]},StandardErrors={AccessorIsGenerator:function(e){var t=e.kind;return"A ".concat(t,"ter cannot be a generator.")},ArgumentsInClass:"'arguments' is only allowed in functions and class methods.",AsyncFunctionInSingleStatementContext:"Async functions can only be declared at the top level or inside a block.",AwaitBindingIdentifier:"Can not use 'await' as identifier inside an async function.",AwaitBindingIdentifierInStaticBlock:"Can not use 'await' as identifier inside a static block.",AwaitExpressionFormalParameter:"'await' is not allowed in async function parameters.",AwaitUsingNotInAsyncContext:"'await using' is only allowed within async functions and at the top levels of modules.",AwaitNotInAsyncContext:"'await' is only allowed within async functions and at the top levels of modules.",AwaitNotInAsyncFunction:"'await' is only allowed within async functions.",BadGetterArity:"A 'get' accessor must not have any formal parameters.",BadSetterArity:"A 'set' accessor must have exactly one formal parameter.",BadSetterRestParameter:"A 'set' accessor function argument must not be a rest parameter.",ConstructorClassField:"Classes may not have a field named 'constructor'.",ConstructorClassPrivateField:"Classes may not have a private field named '#constructor'.",ConstructorIsAccessor:"Class constructor may not be an accessor.",ConstructorIsAsync:"Constructor can't be an async function.",ConstructorIsGenerator:"Constructor can't be a generator.",DeclarationMissingInitializer:function(e){var t=e.kind;return"Missing initializer in ".concat(t," declaration.")},DecoratorArgumentsOutsideParentheses:"Decorator arguments must be moved inside parentheses: use '@(decorator(args))' instead of '@(decorator)(args)'.",DecoratorBeforeExport:"Decorators must be placed *before* the 'export' keyword. Remove the 'decoratorsBeforeExport: true' option to use the 'export @decorator class {}' syntax.",DecoratorsBeforeAfterExport:"Decorators can be placed *either* before or after the 'export' keyword, but not in both locations at the same time.",DecoratorConstructor:"Decorators can't be used with a constructor. Did you mean '@dec class { ... }'?",DecoratorExportClass:"Decorators must be placed *after* the 'export' keyword. Remove the 'decoratorsBeforeExport: false' option to use the '@decorator export class {}' syntax.",DecoratorSemicolon:"Decorators must not be followed by a semicolon.",DecoratorStaticBlock:"Decorators can't be used with a static block.",DeferImportRequiresNamespace:'Only `import defer * as x from "./module"` is valid.',DeletePrivateField:"Deleting a private field is not allowed.",DestructureNamedImport:"ES2015 named imports do not destructure. Use another statement for destructuring after the import.",DuplicateConstructor:"Duplicate constructor in the same class.",DuplicateDefaultExport:"Only one default export allowed per module.",DuplicateExport:function(e){var t=e.exportName;return"`".concat(t,"` has already been exported. Exported identifiers must be unique.")},DuplicateProto:"Redefinition of __proto__ property.",DuplicateRegExpFlags:"Duplicate regular expression flag.",DynamicImportPhaseRequiresImportExpressions:function(e){var t=e.phase;return"'import.".concat(t,"(...)' can only be parsed when using the 'createImportExpressions' option.")},ElementAfterRest:"Rest element must be last element.",EscapedCharNotAnIdentifier:"Invalid Unicode escape.",ExportBindingIsString:function(e){var t=e.localName,r=e.exportName;return"A string literal cannot be used as an exported binding without `from`.\n- Did you mean `export { '".concat(t,"' as '").concat(r,"' } from 'some-module'`?")},ExportDefaultFromAsIdentifier:"'from' is not allowed as an identifier after 'export default'.",ForInOfLoopInitializer:function(e){var t=e.type;return"'".concat("ForInStatement"===t?"for-in":"for-of","' loop variable declaration may not have an initializer.")},ForInUsing:"For-in loop may not start with 'using' declaration.",ForOfAsync:"The left-hand side of a for-of loop may not be 'async'.",ForOfLet:"The left-hand side of a for-of loop may not start with 'let'.",GeneratorInSingleStatementContext:"Generators can only be declared at the top level or inside a block.",IllegalBreakContinue:function(e){var t=e.type;return"Unsyntactic ".concat("BreakStatement"===t?"break":"continue",".")},IllegalLanguageModeDirective:"Illegal 'use strict' directive in function with non-simple parameter list.",IllegalReturn:"'return' outside of function.",ImportAttributesUseAssert:"The `assert` keyword in import attributes is deprecated and it has been replaced by the `with` keyword. You can enable the `deprecatedAssertSyntax: true` option in the import attributes plugin to suppress this error.",ImportBindingIsString:function(e){var t=e.importName;return'A string literal cannot be used as an imported binding.\n- Did you mean `import { "'.concat(t,'" as foo }`?')},ImportCallArgumentTrailingComma:"Trailing comma is disallowed inside import(...) arguments.",ImportCallArity:function(e){var t=e.maxArgumentCount;return"`import()` requires exactly ".concat(1===t?"one argument":"one or two arguments",".")},ImportCallNotNewExpression:"Cannot use new with import(...).",ImportCallSpreadArgument:"`...` is not allowed in `import()`.",ImportJSONBindingNotDefault:"A JSON module can only be imported with `default`.",ImportReflectionHasAssertion:"`import module x` cannot have assertions.",ImportReflectionNotBinding:'Only `import module x from "./module"` is valid.',IncompatibleRegExpUVFlags:"The 'u' and 'v' regular expression flags cannot be enabled at the same time.",InvalidBigIntLiteral:"Invalid BigIntLiteral.",InvalidCodePoint:"Code point out of bounds.",InvalidCoverInitializedName:"Invalid shorthand property initializer.",InvalidDecimal:"Invalid decimal.",InvalidDigit:function(e){var t=e.radix;return"Expected number in radix ".concat(t,".")},InvalidEscapeSequence:"Bad character escape sequence.",InvalidEscapeSequenceTemplate:"Invalid escape sequence in template.",InvalidEscapedReservedWord:function(e){var t=e.reservedWord;return"Escape sequence in keyword ".concat(t,".")},InvalidIdentifier:function(e){var t=e.identifierName;return"Invalid identifier ".concat(t,".")},InvalidLhs:function(e){var t=e.ancestor;return"Invalid left-hand side in ".concat(toNodeDescription(t),".")},InvalidLhsBinding:function(e){var t=e.ancestor;return"Binding invalid left-hand side in ".concat(toNodeDescription(t),".")},InvalidLhsOptionalChaining:function(e){var t=e.ancestor;return"Invalid optional chaining in the left-hand side of ".concat(toNodeDescription(t),".")},InvalidNumber:"Invalid number.",InvalidOrMissingExponent:"Floating-point numbers require a valid exponent after the 'e'.",InvalidOrUnexpectedToken:function(e){var t=e.unexpected;return"Unexpected character '".concat(t,"'.")},InvalidParenthesizedAssignment:"Invalid parenthesized assignment pattern.",InvalidPrivateFieldResolution:function(e){var t=e.identifierName;return"Private name #".concat(t," is not defined.")},InvalidPropertyBindingPattern:"Binding member expression.",InvalidRecordProperty:"Only properties and spread elements are allowed in record definitions.",InvalidRestAssignmentPattern:"Invalid rest operator's argument.",LabelRedeclaration:function(e){var t=e.labelName;return"Label '".concat(t,"' is already declared.")},LetInLexicalBinding:"'let' is disallowed as a lexically bound name.",LineTerminatorBeforeArrow:"No line break is allowed before '=>'.",MalformedRegExpFlags:"Invalid regular expression flag.",MissingClassName:"A class name is required.",MissingEqInAssignment:"Only '=' operator can be used for specifying default value.",MissingSemicolon:"Missing semicolon.",MissingPlugin:function(e){var t=e.missingPlugin;return"This experimental syntax requires enabling the parser plugin: ".concat(t.map((function(e){return JSON.stringify(e)})).join(", "),".")},MissingOneOfPlugins:function(e){var t=e.missingPlugin;return"This experimental syntax requires enabling one of the following parser plugin(s): ".concat(t.map((function(e){return JSON.stringify(e)})).join(", "),".")},MissingUnicodeEscape:"Expecting Unicode escape sequence \\uXXXX.",MixingCoalesceWithLogical:"Nullish coalescing operator(??) requires parens when mixing with logical operators.",ModuleAttributeDifferentFromType:"The only accepted module attribute is `type`.",ModuleAttributeInvalidValue:"Only string literals are allowed as module attribute values.",ModuleAttributesWithDuplicateKeys:function(e){var t=e.key;return'Duplicate key "'.concat(t,'" is not allowed in module attributes.')},ModuleExportNameHasLoneSurrogate:function(e){var t=e.surrogateCharCode;return"An export name cannot include a lone surrogate, found '\\u".concat(t.toString(16),"'.")},ModuleExportUndefined:function(e){var t=e.localName;return"Export '".concat(t,"' is not defined.")},MultipleDefaultsInSwitch:"Multiple default clauses.",NewlineAfterThrow:"Illegal newline after throw.",NoCatchOrFinally:"Missing catch or finally clause.",NumberIdentifier:"Identifier directly after number.",NumericSeparatorInEscapeSequence:"Numeric separators are not allowed inside unicode escape sequences or hex escape sequences.",ObsoleteAwaitStar:"'await*' has been removed from the async functions proposal. Use Promise.all() instead.",OptionalChainingNoNew:"Constructors in/after an Optional Chain are not allowed.",OptionalChainingNoTemplate:"Tagged Template Literals are not allowed in optionalChain.",OverrideOnConstructor:"'override' modifier cannot appear on a constructor declaration.",ParamDupe:"Argument name clash.",PatternHasAccessor:"Object pattern can't contain getter or setter.",PatternHasMethod:"Object pattern can't contain methods.",PrivateInExpectedIn:function(e){var t=e.identifierName;return"Private names are only allowed in property accesses (`obj.#".concat(t,"`) or in `in` expressions (`#").concat(t," in obj`).")},PrivateNameRedeclaration:function(e){var t=e.identifierName;return"Duplicate private name #".concat(t,".")},RecordExpressionBarIncorrectEndSyntaxType:"Record expressions ending with '|}' are only allowed when the 'syntaxType' option of the 'recordAndTuple' plugin is set to 'bar'.",RecordExpressionBarIncorrectStartSyntaxType:"Record expressions starting with '{|' are only allowed when the 'syntaxType' option of the 'recordAndTuple' plugin is set to 'bar'.",RecordExpressionHashIncorrectStartSyntaxType:"Record expressions starting with '#{' are only allowed when the 'syntaxType' option of the 'recordAndTuple' plugin is set to 'hash'.",RecordNoProto:"'__proto__' is not allowed in Record expressions.",RestTrailingComma:"Unexpected trailing comma after rest element.",SloppyFunction:"In non-strict mode code, functions can only be declared at top level or inside a block.",SloppyFunctionAnnexB:"In non-strict mode code, functions can only be declared at top level, inside a block, or as the body of an if statement.",SourcePhaseImportRequiresDefault:'Only `import source x from "./module"` is valid.',StaticPrototype:"Classes may not have static property named prototype.",SuperNotAllowed:"`super()` is only valid inside a class constructor of a subclass. Maybe a typo in the method name ('constructor') or not extending another class?",SuperPrivateField:"Private fields can't be accessed on super.",TrailingDecorator:"Decorators must be attached to a class element.",TupleExpressionBarIncorrectEndSyntaxType:"Tuple expressions ending with '|]' are only allowed when the 'syntaxType' option of the 'recordAndTuple' plugin is set to 'bar'.",TupleExpressionBarIncorrectStartSyntaxType:"Tuple expressions starting with '[|' are only allowed when the 'syntaxType' option of the 'recordAndTuple' plugin is set to 'bar'.",TupleExpressionHashIncorrectStartSyntaxType:"Tuple expressions starting with '#[' are only allowed when the 'syntaxType' option of the 'recordAndTuple' plugin is set to 'hash'.",UnexpectedArgumentPlaceholder:"Unexpected argument placeholder.",UnexpectedAwaitAfterPipelineBody:'Unexpected "await" after pipeline body; await must have parentheses in minimal proposal.',UnexpectedDigitAfterHash:"Unexpected digit after hash token.",UnexpectedImportExport:"'import' and 'export' may only appear at the top level.",UnexpectedKeyword:function(e){var t=e.keyword;return"Unexpected keyword '".concat(t,"'.")},UnexpectedLeadingDecorator:"Leading decorators must be attached to a class declaration.",UnexpectedLexicalDeclaration:"Lexical declaration cannot appear in a single-statement context.",UnexpectedNewTarget:"`new.target` can only be used in functions or class properties.",UnexpectedNumericSeparator:"A numeric separator is only allowed between two digits.",UnexpectedPrivateField:"Unexpected private name.",UnexpectedReservedWord:function(e){var t=e.reservedWord;return"Unexpected reserved word '".concat(t,"'.")},UnexpectedSuper:"'super' is only allowed in object methods and classes.",UnexpectedToken:function(e){var t=e.expected,r=e.unexpected;return"Unexpected token".concat(r?" '".concat(r,"'."):"").concat(t?', expected "'.concat(t,'"'):"")},UnexpectedTokenUnaryExponentiation:"Illegal expression. Wrap left hand side or entire exponentiation in parentheses.",UnexpectedUsingDeclaration:"Using declaration cannot appear in the top level when source type is `script`.",UnsupportedBind:"Binding should be performed on object property.",UnsupportedDecoratorExport:"A decorated export must export a class declaration.",UnsupportedDefaultExport:"Only expressions, functions or classes are allowed as the `default` export.",UnsupportedImport:"`import` can only be used in `import()` or `import.meta`.",UnsupportedMetaProperty:function(e){var t=e.target,r=e.onlyValidPropertyName;return"The only valid meta property for ".concat(t," is ").concat(t,".").concat(r,".")},UnsupportedParameterDecorator:"Decorators cannot be used to decorate parameters.",UnsupportedPropertyDecorator:"Decorators cannot be used to decorate object literal properties.",UnsupportedSuper:"'super' can only be used with function calls (i.e. super()) or in property accesses (i.e. super.prop or super[prop]).",UnterminatedComment:"Unterminated comment.",UnterminatedRegExp:"Unterminated regular expression.",UnterminatedString:"Unterminated string constant.",UnterminatedTemplate:"Unterminated template.",UsingDeclarationHasBindingPattern:"Using declaration cannot have destructuring patterns.",VarRedeclaration:function(e){var t=e.identifierName;return"Identifier '".concat(t,"' has already been declared.")},YieldBindingIdentifier:"Can not use 'yield' as identifier inside a generator.",YieldInParameter:"Yield expression is not allowed in formal parameters.",ZeroDigitNumericSeparator:"Numeric separator can not be used after leading 0."},StrictModeErrors={StrictDelete:"Deleting local variable in strict mode.",StrictEvalArguments:function(e){var t=e.referenceName;return"Assigning to '".concat(t,"' in strict mode.")},StrictEvalArgumentsBinding:function(e){var t=e.bindingName;return"Binding '".concat(t,"' in strict mode.")},StrictFunction:"In strict mode code, functions can only be declared at top level or inside a block.",StrictNumericEscape:"The only valid numeric escape in strict mode is '\\0'.",StrictOctalLiteral:"Legacy octal literals are not allowed in strict mode.",StrictWith:"'with' in strict mode."},UnparenthesizedPipeBodyDescriptions=new Set(["ArrowFunctionExpression","AssignmentExpression","ConditionalExpression","YieldExpression"]),PipelineOperatorErrors={PipeBodyIsTighter:"Unexpected yield after pipeline body; any yield expression acting as Hack-style pipe body must be parenthesized due to its loose operator precedence.",PipeTopicRequiresHackPipes:'Topic reference is used, but the pipelineOperator plugin was not passed a "proposal": "hack" or "smart" option.',PipeTopicUnbound:"Topic reference is unbound; it must be inside a pipe body.",PipeTopicUnconfiguredToken:function(e){var t=e.token;return"Invalid topic token ".concat(t,". In order to use ").concat(t,' as a topic reference, the pipelineOperator plugin must be configured with { "proposal": "hack", "topicToken": "').concat(t,'" }.')},PipeTopicUnused:"Hack-style pipe body does not contain a topic reference; Hack-style pipes must use topic at least once.",PipeUnparenthesizedBody:function(e){var t=e.type;return"Hack-style pipe body cannot be an unparenthesized ".concat(toNodeDescription({type:t}),"; please wrap it in parentheses.")},PipelineBodyNoArrow:'Unexpected arrow "=>" after pipeline body; arrow function in pipeline body must be parenthesized.',PipelineBodySequenceExpression:"Pipeline body may not be a comma-separated sequence expression.",PipelineHeadSequenceExpression:"Pipeline head should not be a comma-separated sequence expression.",PipelineTopicUnused:"Pipeline is in topic style but does not use topic reference.",PrimaryTopicNotAllowed:"Topic reference was used in a lexical context without topic binding.",PrimaryTopicRequiresSmartPipeline:'Topic reference is used, but the pipelineOperator plugin was not passed a "proposal": "hack" or "smart" option.'},_excluded=["toMessage"],_excluded2=["message"];function defineHidden(e,t,r){Object.defineProperty(e,t,{enumerable:!1,configurable:!0,value:r})}function toParseErrorConstructor(e){var t=e.toMessage,r=_objectWithoutPropertiesLoose(e,_excluded);return function e(n,i){var a=new SyntaxError;return Object.assign(a,r,{loc:n,pos:n.index}),"missingPlugin"in i&&Object.assign(a,{missingPlugin:i.missingPlugin}),defineHidden(a,"clone",(function(){var t,r=arguments.length>0&&void 0!==arguments[0]?arguments[0]:{},a=null!==(t=r.loc)&&void 0!==t?t:n,s=a.line,o=a.column,l=a.index;return e(new Position(s,o,l),Object.assign({},i,r.details))})),defineHidden(a,"details",i),Object.defineProperty(a,"message",{configurable:!0,get:function(){var e="".concat(t(i)," (").concat(n.line,":").concat(n.column,")");return this.message=e,e},set:function(e){Object.defineProperty(this,"message",{value:e,writable:!0})}}),a}}function ParseErrorEnum(e,t){if(Array.isArray(e))return function(t){return ParseErrorEnum(t,e[0])};var r={},n=!0,i=!1,a=void 0;try{for(var s,o=function(){var n=s.value,i=e[n],a="string"==typeof i?{message:function(){return i}}:"function"==typeof i?{message:i}:i,o=a.message,l=_objectWithoutPropertiesLoose(a,_excluded2),u="string"==typeof o?function(){return o}:o;r[n]=toParseErrorConstructor(Object.assign({code:"BABEL_PARSER_SYNTAX_ERROR",reasonCode:n,toMessage:u},t?{syntaxPlugin:t}:{},l))},l=Object.keys(e)[Symbol.iterator]();!(n=(s=l.next()).done);n=!0)o()}catch(e){i=!0,a=e}finally{try{n||null==l.return||l.return()}finally{if(i)throw a}}return r}var Errors=Object.assign({},ParseErrorEnum(ModuleErrors),ParseErrorEnum(StandardErrors),ParseErrorEnum(StrictModeErrors),ParseErrorEnum(_templateObject())(PipelineOperatorErrors)),defineProperty$1=Object.defineProperty,toUnenumerable=function(e,t){return defineProperty$1(e,t,{enumerable:!1,value:e[t]})};function toESTreeLocation(e){return e.loc.start&&toUnenumerable(e.loc.start,"index"),e.loc.end&&toUnenumerable(e.loc.end,"index"),e}var estree=function(e){var t=function(e){_inherits$1(r,e);var t=_create_super(r);function r(){return _class_call_check(this,r),t.apply(this,arguments)}return _create_class(r,[{key:"parse",value:function(){var e=toESTreeLocation(_get(_get_prototype_of(r.prototype),"parse",this).call(this));return this.options.tokens&&(e.tokens=e.tokens.map(toESTreeLocation)),e}},{key:"parseRegExpLiteral",value:function(e){var t=e.pattern,r=e.flags,n=null;try{n=new RegExp(t,r)}catch(e){}var i=this.estreeParseLiteral(n);return i.regex={pattern:t,flags:r},i}},{key:"parseBigIntLiteral",value:function(e){var t;try{t=BigInt(e)}catch(e){t=null}var r=this.estreeParseLiteral(t);return r.bigint=String(r.value||e),r}},{key:"parseDecimalLiteral",value:function(e){var t=this.estreeParseLiteral(null);return t.decimal=String(t.value||e),t}},{key:"estreeParseLiteral",value:function(e){return this.parseLiteral(e,"Literal")}},{key:"parseStringLiteral",value:function(e){return this.estreeParseLiteral(e)}},{key:"parseNumericLiteral",value:function(e){return this.estreeParseLiteral(e)}},{key:"parseNullLiteral",value:function(){return this.estreeParseLiteral(null)}},{key:"parseBooleanLiteral",value:function(e){return this.estreeParseLiteral(e)}},{key:"directiveToStmt",value:function(e){var t=e.value;delete e.value,t.type="Literal",t.raw=t.extra.raw,t.value=t.extra.expressionValue;var r=e;return r.type="ExpressionStatement",r.expression=t,r.directive=t.extra.rawValue,delete t.extra,r}},{key:"initFunction",value:function(e,t){_get(_get_prototype_of(r.prototype),"initFunction",this).call(this,e,t),e.expression=!1}},{key:"checkDeclaration",value:function(e){null!=e&&this.isObjectProperty(e)?this.checkDeclaration(e.value):_get(_get_prototype_of(r.prototype),"checkDeclaration",this).call(this,e)}},{key:"getObjectOrClassMethodParams",value:function(e){return e.value.params}},{key:"isValidDirective",value:function(e){var t;return"ExpressionStatement"===e.type&&"Literal"===e.expression.type&&"string"==typeof e.expression.value&&!(null===(t=e.expression.extra)||void 0===t?void 0:t.parenthesized)}},{key:"parseBlockBody",value:function(e,t,n,i,a){var s=this;_get(_get_prototype_of(r.prototype),"parseBlockBody",this).call(this,e,t,n,i,a);var o=e.directives.map((function(e){return s.directiveToStmt(e)}));e.body=o.concat(e.body),delete e.directives}},{key:"pushClassMethod",value:function(e,t,r,n,i,a){this.parseMethod(t,r,n,i,a,"ClassMethod",!0),t.typeParameters&&(t.value.typeParameters=t.typeParameters,delete t.typeParameters),e.body.push(t)}},{key:"parsePrivateName",value:function(){var e=_get(_get_prototype_of(r.prototype),"parsePrivateName",this).call(this);return this.convertPrivateNameToPrivateIdentifier(e)}},{key:"convertPrivateNameToPrivateIdentifier",value:function(e){var t=_get(_get_prototype_of(r.prototype),"getPrivateNameSV",this).call(this,e);return delete e.id,e.name=t,e.type="PrivateIdentifier",e}},{key:"isPrivateName",value:function(e){return"PrivateIdentifier"===e.type}},{key:"getPrivateNameSV",value:function(e){return e.name}},{key:"parseLiteral",value:function(e,t){var n=_get(_get_prototype_of(r.prototype),"parseLiteral",this).call(this,e,t);return n.raw=n.extra.raw,delete n.extra,n}},{key:"parseFunctionBody",value:function(e,t){var n=arguments.length>2&&void 0!==arguments[2]&&arguments[2];_get(_get_prototype_of(r.prototype),"parseFunctionBody",this).call(this,e,t,n),e.expression="BlockStatement"!==e.body.type}},{key:"parseMethod",value:function(e,t,n,i,a,s){var o=arguments.length>6&&void 0!==arguments[6]&&arguments[6],l=this.startNode();return l.kind=e.kind,(l=_get(_get_prototype_of(r.prototype),"parseMethod",this).call(this,l,t,n,i,a,s,o)).type="FunctionExpression",delete l.kind,e.value=l,"ClassPrivateMethod"===s&&(e.computed=!1),this.finishNode(e,"MethodDefinition")}},{key:"parseClassProperty",value:function(){for(var e=arguments.length,t=new Array(e),n=0;n<e;n++)t[n]=arguments[n];var i,a=(i=_get(_get_prototype_of(r.prototype),"parseClassProperty",this)).call.apply(i,[this].concat(_to_consumable_array(t)));return a.type="PropertyDefinition",a}},{key:"parseClassPrivateProperty",value:function(){for(var e=arguments.length,t=new Array(e),n=0;n<e;n++)t[n]=arguments[n];var i,a=(i=_get(_get_prototype_of(r.prototype),"parseClassPrivateProperty",this)).call.apply(i,[this].concat(_to_consumable_array(t)));return a.type="PropertyDefinition",a.computed=!1,a}},{key:"parseObjectMethod",value:function(e,t,n,i,a){var s=_get(_get_prototype_of(r.prototype),"parseObjectMethod",this).call(this,e,t,n,i,a);return s&&(s.type="Property","method"===s.kind&&(s.kind="init"),s.shorthand=!1),s}},{key:"parseObjectProperty",value:function(e,t,n,i){var a=_get(_get_prototype_of(r.prototype),"parseObjectProperty",this).call(this,e,t,n,i);return a&&(a.kind="init",a.type="Property"),a}},{key:"isValidLVal",value:function(e,t,n){return"Property"===e?"value":_get(_get_prototype_of(r.prototype),"isValidLVal",this).call(this,e,t,n)}},{key:"isAssignable",value:function(e,t){return null!=e&&this.isObjectProperty(e)?this.isAssignable(e.value,t):_get(_get_prototype_of(r.prototype),"isAssignable",this).call(this,e,t)}},{key:"toAssignable",value:function(e){var t=arguments.length>1&&void 0!==arguments[1]&&arguments[1];if(null!=e&&this.isObjectProperty(e)){var n=e.key,i=e.value;this.isPrivateName(n)&&this.classScope.usePrivateName(this.getPrivateNameSV(n),n.loc.start),this.toAssignable(i,t)}else _get(_get_prototype_of(r.prototype),"toAssignable",this).call(this,e,t)}},{key:"toAssignableObjectExpressionProp",value:function(e,t,n){"get"===e.kind||"set"===e.kind?this.raise(Errors.PatternHasAccessor,e.key):e.method?this.raise(Errors.PatternHasMethod,e.key):_get(_get_prototype_of(r.prototype),"toAssignableObjectExpressionProp",this).call(this,e,t,n)}},{key:"finishCallExpression",value:function(e,t){var n=_get(_get_prototype_of(r.prototype),"finishCallExpression",this).call(this,e,t);if("Import"===n.callee.type){var i,a;if(n.type="ImportExpression",n.source=n.arguments[0],this.hasPlugin("importAttributes")||this.hasPlugin("importAssertions"))n.options=null!==(i=n.arguments[1])&&void 0!==i?i:null,n.attributes=null!==(a=n.arguments[1])&&void 0!==a?a:null;delete n.arguments,delete n.callee}return n}},{key:"toReferencedArguments",value:function(e){"ImportExpression"!==e.type&&_get(_get_prototype_of(r.prototype),"toReferencedArguments",this).call(this,e)}},{key:"parseExport",value:function(e,t){var n=this.state.lastTokStartLoc,i=_get(_get_prototype_of(r.prototype),"parseExport",this).call(this,e,t);switch(i.type){case"ExportAllDeclaration":i.exported=null;break;case"ExportNamedDeclaration":1===i.specifiers.length&&"ExportNamespaceSpecifier"===i.specifiers[0].type&&(i.type="ExportAllDeclaration",i.exported=i.specifiers[0].exported,delete i.specifiers);case"ExportDefaultDeclaration":var a,s=i.declaration;"ClassDeclaration"===(null==s?void 0:s.type)&&(null===(a=s.decorators)||void 0===a?void 0:a.length)>0&&s.start===i.start&&this.resetStartLocation(i,n)}return i}},{key:"parseSubscript",value:function(e,t,n,i){var a=_get(_get_prototype_of(r.prototype),"parseSubscript",this).call(this,e,t,n,i);if(i.optionalChainMember){if("OptionalMemberExpression"!==a.type&&"OptionalCallExpression"!==a.type||(a.type=a.type.substring(8)),i.stop){var s=this.startNodeAtNode(a);return s.expression=a,this.finishNode(s,"ChainExpression")}}else"MemberExpression"!==a.type&&"CallExpression"!==a.type||(a.optional=!1);return a}},{key:"isOptionalMemberExpression",value:function(e){return"ChainExpression"===e.type?"MemberExpression"===e.expression.type:_get(_get_prototype_of(r.prototype),"isOptionalMemberExpression",this).call(this,e)}},{key:"hasPropertyAsPrivateName",value:function(e){return"ChainExpression"===e.type&&(e=e.expression),_get(_get_prototype_of(r.prototype),"hasPropertyAsPrivateName",this).call(this,e)}},{key:"isObjectProperty",value:function(e){return"Property"===e.type&&"init"===e.kind&&!e.method}},{key:"isObjectMethod",value:function(e){return e.method||"get"===e.kind||"set"===e.kind}},{key:"finishNodeAt",value:function(e,t,n){return toESTreeLocation(_get(_get_prototype_of(r.prototype),"finishNodeAt",this).call(this,e,t,n))}},{key:"resetStartLocation",value:function(e,t){_get(_get_prototype_of(r.prototype),"resetStartLocation",this).call(this,e,t),toESTreeLocation(e)}},{key:"resetEndLocation",value:function(e){var t=arguments.length>1&&void 0!==arguments[1]?arguments[1]:this.state.lastTokEndLoc;_get(_get_prototype_of(r.prototype),"resetEndLocation",this).call(this,e,t),toESTreeLocation(e)}}]),r}(e);return t},TokContext=function e(t,r){_class_call_check(this,e),__publicField(this,"token"),__publicField(this,"preserveSpace"),this.token=t,this.preserveSpace=!!r},types$1d={brace:new TokContext("{"),j_oTag:new TokContext("<tag"),j_cTag:new TokContext("</tag"),j_expr:new TokContext("<tag>...</tag>",!0)},beforeExpr=!0,startsExpr=!0,isLoop2=!0,isAssign=!0,prefix$1=!0,postfix=!0,ExportedTokenType=function e(t){var r=arguments.length>1&&void 0!==arguments[1]?arguments[1]:{};_class_call_check(this,e),__publicField(this,"label"),__publicField(this,"keyword"),__publicField(this,"beforeExpr"),__publicField(this,"startsExpr"),__publicField(this,"rightAssociative"),__publicField(this,"isLoop"),__publicField(this,"isAssign"),__publicField(this,"prefix"),__publicField(this,"postfix"),__publicField(this,"binop"),this.label=t,this.keyword=r.keyword,this.beforeExpr=!!r.beforeExpr,this.startsExpr=!!r.startsExpr,this.rightAssociative=!!r.rightAssociative,this.isLoop=!!r.isLoop,this.isAssign=!!r.isAssign,this.prefix=!!r.prefix,this.postfix=!!r.postfix,this.binop=null!=r.binop?r.binop:null},keywords$1=new Map;function createKeyword(e){var t=arguments.length>1&&void 0!==arguments[1]?arguments[1]:{};t.keyword=e;var r=createToken(e,t);return keywords$1.set(e,r),r}function createBinop(e,t){return createToken(e,{beforeExpr:beforeExpr,binop:t})}var tokenTypeCounter=-1,tokenTypes=[],tokenLabels=[],tokenBinops=[],tokenBeforeExprs=[],tokenStartsExprs=[],tokenPrefixes=[];function createToken(e){var t,r,n,i,a=arguments.length>1&&void 0!==arguments[1]?arguments[1]:{};return++tokenTypeCounter,tokenLabels.push(e),tokenBinops.push(null!==(t=a.binop)&&void 0!==t?t:-1),tokenBeforeExprs.push(null!==(r=a.beforeExpr)&&void 0!==r&&r),tokenStartsExprs.push(null!==(n=a.startsExpr)&&void 0!==n&&n),tokenPrefixes.push(null!==(i=a.prefix)&&void 0!==i&&i),tokenTypes.push(new ExportedTokenType(e,a)),tokenTypeCounter}function createKeywordLike(e){var t,r,n,i,a=arguments.length>1&&void 0!==arguments[1]?arguments[1]:{};return++tokenTypeCounter,keywords$1.set(e,tokenTypeCounter),tokenLabels.push(e),tokenBinops.push(null!==(t=a.binop)&&void 0!==t?t:-1),tokenBeforeExprs.push(null!==(r=a.beforeExpr)&&void 0!==r&&r),tokenStartsExprs.push(null!==(n=a.startsExpr)&&void 0!==n&&n),tokenPrefixes.push(null!==(i=a.prefix)&&void 0!==i&&i),tokenTypes.push(new ExportedTokenType("name",a)),tokenTypeCounter}var tt={bracketL:createToken("[",{beforeExpr:beforeExpr,startsExpr:startsExpr}),bracketHashL:createToken("#[",{beforeExpr:beforeExpr,startsExpr:startsExpr}),bracketBarL:createToken("[|",{beforeExpr:beforeExpr,startsExpr:startsExpr}),bracketR:createToken("]"),bracketBarR:createToken("|]"),braceL:createToken("{",{beforeExpr:beforeExpr,startsExpr:startsExpr}),braceBarL:createToken("{|",{beforeExpr:beforeExpr,startsExpr:startsExpr}),braceHashL:createToken("#{",{beforeExpr:beforeExpr,startsExpr:startsExpr}),braceR:createToken("}"),braceBarR:createToken("|}"),parenL:createToken("(",{beforeExpr:beforeExpr,startsExpr:startsExpr}),parenR:createToken(")"),comma:createToken(",",{beforeExpr:beforeExpr}),semi:createToken(";",{beforeExpr:beforeExpr}),colon:createToken(":",{beforeExpr:beforeExpr}),doubleColon:createToken("::",{beforeExpr:beforeExpr}),dot:createToken("."),question:createToken("?",{beforeExpr:beforeExpr}),questionDot:createToken("?."),arrow:createToken("=>",{beforeExpr:beforeExpr}),template:createToken("template"),ellipsis:createToken("...",{beforeExpr:beforeExpr}),backQuote:createToken("`",{startsExpr:startsExpr}),dollarBraceL:createToken("${",{beforeExpr:beforeExpr,startsExpr:startsExpr}),templateTail:createToken("...`",{startsExpr:startsExpr}),templateNonTail:createToken("...${",{beforeExpr:beforeExpr,startsExpr:startsExpr}),at:createToken("@"),hash:createToken("#",{startsExpr:startsExpr}),interpreterDirective:createToken("#!..."),eq:createToken("=",{beforeExpr:beforeExpr,isAssign:isAssign}),assign:createToken("_=",{beforeExpr:beforeExpr,isAssign:isAssign}),slashAssign:createToken("_=",{beforeExpr:beforeExpr,isAssign:isAssign}),xorAssign:createToken("_=",{beforeExpr:beforeExpr,isAssign:isAssign}),moduloAssign:createToken("_=",{beforeExpr:beforeExpr,isAssign:isAssign}),incDec:createToken("++/--",{prefix:prefix$1,postfix:postfix,startsExpr:startsExpr}),bang:createToken("!",{beforeExpr:beforeExpr,prefix:prefix$1,startsExpr:startsExpr}),tilde:createToken("~",{beforeExpr:beforeExpr,prefix:prefix$1,startsExpr:startsExpr}),doubleCaret:createToken("^^",{startsExpr:startsExpr}),doubleAt:createToken("@@",{startsExpr:startsExpr}),pipeline:createBinop("|>",0),nullishCoalescing:createBinop("??",1),logicalOR:createBinop("||",1),logicalAND:createBinop("&&",2),bitwiseOR:createBinop("|",3),bitwiseXOR:createBinop("^",4),bitwiseAND:createBinop("&",5),equality:createBinop("==/!=/===/!==",6),lt:createBinop("</>/<=/>=",7),gt:createBinop("</>/<=/>=",7),relational:createBinop("</>/<=/>=",7),bitShift:createBinop("<</>>/>>>",8),bitShiftL:createBinop("<</>>/>>>",8),bitShiftR:createBinop("<</>>/>>>",8),plusMin:createToken("+/-",{beforeExpr:beforeExpr,binop:9,prefix:prefix$1,startsExpr:startsExpr}),modulo:createToken("%",{binop:10,startsExpr:startsExpr}),star:createToken("*",{binop:10}),slash:createBinop("/",10),exponent:createToken("**",{beforeExpr:beforeExpr,binop:11,rightAssociative:!0}),_in:createKeyword("in",{beforeExpr:beforeExpr,binop:7}),_instanceof:createKeyword("instanceof",{beforeExpr:beforeExpr,binop:7}),_break:createKeyword("break"),_case:createKeyword("case",{beforeExpr:beforeExpr}),_catch:createKeyword("catch"),_continue:createKeyword("continue"),_debugger:createKeyword("debugger"),_default:createKeyword("default",{beforeExpr:beforeExpr}),_else:createKeyword("else",{beforeExpr:beforeExpr}),_finally:createKeyword("finally"),_function:createKeyword("function",{startsExpr:startsExpr}),_if:createKeyword("if"),_return:createKeyword("return",{beforeExpr:beforeExpr}),_switch:createKeyword("switch"),_throw:createKeyword("throw",{beforeExpr:beforeExpr,prefix:prefix$1,startsExpr:startsExpr}),_try:createKeyword("try"),_var:createKeyword("var"),_const:createKeyword("const"),_with:createKeyword("with"),_new:createKeyword("new",{beforeExpr:beforeExpr,startsExpr:startsExpr}),_this:createKeyword("this",{startsExpr:startsExpr}),_super:createKeyword("super",{startsExpr:startsExpr}),_class:createKeyword("class",{startsExpr:startsExpr}),_extends:createKeyword("extends",{beforeExpr:beforeExpr}),_export:createKeyword("export"),_import:createKeyword("import",{startsExpr:startsExpr}),_null:createKeyword("null",{startsExpr:startsExpr}),_true:createKeyword("true",{startsExpr:startsExpr}),_false:createKeyword("false",{startsExpr:startsExpr}),_typeof:createKeyword("typeof",{beforeExpr:beforeExpr,prefix:prefix$1,startsExpr:startsExpr}),_void:createKeyword("void",{beforeExpr:beforeExpr,prefix:prefix$1,startsExpr:startsExpr}),_delete:createKeyword("delete",{beforeExpr:beforeExpr,prefix:prefix$1,startsExpr:startsExpr}),_do:createKeyword("do",{isLoop:isLoop2,beforeExpr:beforeExpr}),_for:createKeyword("for",{isLoop:isLoop2}),_while:createKeyword("while",{isLoop:isLoop2}),_as:createKeywordLike("as",{startsExpr:startsExpr}),_assert:createKeywordLike("assert",{startsExpr:startsExpr}),_async:createKeywordLike("async",{startsExpr:startsExpr}),_await:createKeywordLike("await",{startsExpr:startsExpr}),_defer:createKeywordLike("defer",{startsExpr:startsExpr}),_from:createKeywordLike("from",{startsExpr:startsExpr}),_get:createKeywordLike("get",{startsExpr:startsExpr}),_let:createKeywordLike("let",{startsExpr:startsExpr}),_meta:createKeywordLike("meta",{startsExpr:startsExpr}),_of:createKeywordLike("of",{startsExpr:startsExpr}),_sent:createKeywordLike("sent",{startsExpr:startsExpr}),_set:createKeywordLike("set",{startsExpr:startsExpr}),_source:createKeywordLike("source",{startsExpr:startsExpr}),_static:createKeywordLike("static",{startsExpr:startsExpr}),_using:createKeywordLike("using",{startsExpr:startsExpr}),_yield:createKeywordLike("yield",{startsExpr:startsExpr}),_asserts:createKeywordLike("asserts",{startsExpr:startsExpr}),_checks:createKeywordLike("checks",{startsExpr:startsExpr}),_exports:createKeywordLike("exports",{startsExpr:startsExpr}),_global:createKeywordLike("global",{startsExpr:startsExpr}),_implements:createKeywordLike("implements",{startsExpr:startsExpr}),_intrinsic:createKeywordLike("intrinsic",{startsExpr:startsExpr}),_infer:createKeywordLike("infer",{startsExpr:startsExpr}),_is:createKeywordLike("is",{startsExpr:startsExpr}),_mixins:createKeywordLike("mixins",{startsExpr:startsExpr}),_proto:createKeywordLike("proto",{startsExpr:startsExpr}),_require:createKeywordLike("require",{startsExpr:startsExpr}),_satisfies:createKeywordLike("satisfies",{startsExpr:startsExpr}),_keyof:createKeywordLike("keyof",{startsExpr:startsExpr}),_readonly:createKeywordLike("readonly",{startsExpr:startsExpr}),_unique:createKeywordLike("unique",{startsExpr:startsExpr}),_abstract:createKeywordLike("abstract",{startsExpr:startsExpr}),_declare:createKeywordLike("declare",{startsExpr:startsExpr}),_enum:createKeywordLike("enum",{startsExpr:startsExpr}),_module:createKeywordLike("module",{startsExpr:startsExpr}),_namespace:createKeywordLike("namespace",{startsExpr:startsExpr}),_interface:createKeywordLike("interface",{startsExpr:startsExpr}),_type:createKeywordLike("type",{startsExpr:startsExpr}),_opaque:createKeywordLike("opaque",{startsExpr:startsExpr}),name:createToken("name",{startsExpr:startsExpr}),string:createToken("string",{startsExpr:startsExpr}),num:createToken("num",{startsExpr:startsExpr}),bigint:createToken("bigint",{startsExpr:startsExpr}),decimal:createToken("decimal",{startsExpr:startsExpr}),regexp:createToken("regexp",{startsExpr:startsExpr}),privateName:createToken("#name",{startsExpr:startsExpr}),eof:createToken("eof"),jsxName:createToken("jsxName"),jsxText:createToken("jsxText",{beforeExpr:!0}),jsxTagStart:createToken("jsxTagStart",{startsExpr:!0}),jsxTagEnd:createToken("jsxTagEnd"),placeholder:createToken("%%",{startsExpr:!0})};function tokenIsIdentifier(e){return e>=93&&e<=132}function tokenKeywordOrIdentifierIsKeyword(e){return e<=92}function tokenIsKeywordOrIdentifier(e){return e>=58&&e<=132}function tokenIsLiteralPropertyName(e){return e>=58&&e<=136}function tokenComesBeforeExpression(e){return tokenBeforeExprs[e]}function tokenCanStartExpression(e){return tokenStartsExprs[e]}function tokenIsAssignment(e){return e>=29&&e<=33}function tokenIsFlowInterfaceOrTypeOrOpaque(e){return e>=129&&e<=131}function tokenIsLoop(e){return e>=90&&e<=92}function tokenIsKeyword(e){return e>=58&&e<=92}function tokenIsOperator(e){return e>=39&&e<=59}function tokenIsPostfix(e){return 34===e}function tokenIsPrefix(e){return tokenPrefixes[e]}function tokenIsTSTypeOperator(e){return e>=121&&e<=123}function tokenIsTSDeclarationStart(e){return e>=124&&e<=130}function tokenLabelName(e){return tokenLabels[e]}function tokenOperatorPrecedence(e){return tokenBinops[e]}function tokenIsRightAssociative(e){return 57===e}function tokenIsTemplate(e){return e>=24&&e<=25}function getExportedToken(e){return tokenTypes[e]}var nonASCIIidentifierStartChars2="ªµºÀ-ÖØ-öø-ˁˆ-ˑˠ-ˤˬˮͰ-ʹͶͷͺ-ͽͿΆΈ-ΊΌΎ-ΡΣ-ϵϷ-ҁҊ-ԯԱ-Ֆՙՠ-ֈא-תׯ-ײؠ-يٮٯٱ-ۓەۥۦۮۯۺ-ۼۿܐܒ-ܯݍ-ޥޱߊ-ߪߴߵߺࠀ-ࠕࠚࠤࠨࡀ-ࡘࡠ-ࡪࡰ-ࢇࢉ-ࢎࢠ-ࣉऄ-हऽॐक़-ॡॱ-ঀঅ-ঌএঐও-নপ-রলশ-হঽৎড়ঢ়য়-ৡৰৱৼਅ-ਊਏਐਓ-ਨਪ-ਰਲਲ਼ਵਸ਼ਸਹਖ਼-ੜਫ਼ੲ-ੴઅ-ઍએ-ઑઓ-નપ-રલળવ-હઽૐૠૡૹଅ-ଌଏଐଓ-ନପ-ରଲଳଵ-ହଽଡ଼ଢ଼ୟ-ୡୱஃஅ-ஊஎ-ஐஒ-கஙசஜஞடணதந-பம-ஹௐఅ-ఌఎ-ఐఒ-నప-హఽౘ-ౚౝౠౡಀಅ-ಌಎ-ಐಒ-ನಪ-ಳವ-ಹಽೝೞೠೡೱೲഄ-ഌഎ-ഐഒ-ഺഽൎൔ-ൖൟ-ൡൺ-ൿඅ-ඖක-නඳ-රලව-ෆก-ะาำเ-ๆກຂຄຆ-ຊຌ-ຣລວ-ະາຳຽເ-ໄໆໜ-ໟༀཀ-ཇཉ-ཬྈ-ྌက-ဪဿၐ-ၕၚ-ၝၡၥၦၮ-ၰၵ-ႁႎႠ-ჅჇჍა-ჺჼ-ቈቊ-ቍቐ-ቖቘቚ-ቝበ-ኈኊ-ኍነ-ኰኲ-ኵኸ-ኾዀዂ-ዅወ-ዖዘ-ጐጒ-ጕጘ-ፚᎀ-ᎏᎠ-Ᏽᏸ-ᏽᐁ-ᙬᙯ-ᙿᚁ-ᚚᚠ-ᛪᛮ-ᛸᜀ-ᜑᜟ-ᜱᝀ-ᝑᝠ-ᝬᝮ-ᝰក-ឳៗៜᠠ-ᡸᢀ-ᢨᢪᢰ-ᣵᤀ-ᤞᥐ-ᥭᥰ-ᥴᦀ-ᦫᦰ-ᧉᨀ-ᨖᨠ-ᩔᪧᬅ-ᬳᭅ-ᭌᮃ-ᮠᮮᮯᮺ-ᯥᰀ-ᰣᱍ-ᱏᱚ-ᱽᲀ-ᲈᲐ-ᲺᲽ-Ჿᳩ-ᳬᳮ-ᳳᳵᳶᳺᴀ-ᶿḀ-ἕἘ-Ἕἠ-ὅὈ-Ὅὐ-ὗὙὛὝὟ-ώᾀ-ᾴᾶ-ᾼιῂ-ῄῆ-ῌῐ-ΐῖ-Ίῠ-Ῥῲ-ῴῶ-ῼⁱⁿₐ-ₜℂℇℊ-ℓℕ℘-ℝℤΩℨK-ℹℼ-ℿⅅ-ⅉⅎⅠ-ↈⰀ-ⳤⳫ-ⳮⳲⳳⴀ-ⴥⴧⴭⴰ-ⵧⵯⶀ-ⶖⶠ-ⶦⶨ-ⶮⶰ-ⶶⶸ-ⶾⷀ-ⷆⷈ-ⷎⷐ-ⷖⷘ-ⷞ々-〇〡-〩〱-〵〸-〼ぁ-ゖ゛-ゟァ-ヺー-ヿㄅ-ㄯㄱ-ㆎㆠ-ㆿㇰ-ㇿ㐀-䶿一-ꒌꓐ-ꓽꔀ-ꘌꘐ-ꘟꘪꘫꙀ-ꙮꙿ-ꚝꚠ-ꛯꜗ-ꜟꜢ-ꞈꞋ-ꟊꟐꟑꟓꟕ-ꟙꟲ-ꠁꠃ-ꠅꠇ-ꠊꠌ-ꠢꡀ-ꡳꢂ-ꢳꣲ-ꣷꣻꣽꣾꤊ-ꤥꤰ-ꥆꥠ-ꥼꦄ-ꦲꧏꧠ-ꧤꧦ-ꧯꧺ-ꧾꨀ-ꨨꩀ-ꩂꩄ-ꩋꩠ-ꩶꩺꩾ-ꪯꪱꪵꪶꪹ-ꪽꫀꫂꫛ-ꫝꫠ-ꫪꫲ-ꫴꬁ-ꬆꬉ-ꬎꬑ-ꬖꬠ-ꬦꬨ-ꬮꬰ-ꭚꭜ-ꭩꭰ-ꯢ가-힣ힰ-ퟆퟋ-ퟻ豈-舘並-龎ff-stﬓ-ﬗיִײַ-ﬨשׁ-זּטּ-לּמּנּסּףּפּצּ-ﮱﯓ-ﴽﵐ-ﶏﶒ-ﷇﷰ-ﷻﹰ-ﹴﹶ-ﻼA-Za-zヲ-하-ᅦᅧ-ᅬᅭ-ᅲᅳ-ᅵ",nonASCIIidentifierChars2="·̀-ͯ·҃-֑҇-ׇֽֿׁׂׅׄؐ-ًؚ-٩ٰۖ-ۜ۟-۪ۤۧۨ-ۭ۰-۹ܑܰ-݊ަ-ް߀-߉߫-߽߳ࠖ-࠙ࠛ-ࠣࠥ-ࠧࠩ-࡙࠭-࡛࢘-࢟࣊-ࣣ࣡-ःऺ-़ा-ॏ॑-ॗॢॣ०-९ঁ-ঃ়া-ৄেৈো-্ৗৢৣ০-৯৾ਁ-ਃ਼ਾ-ੂੇੈੋ-੍ੑ੦-ੱੵઁ-ઃ઼ા-ૅે-ૉો-્ૢૣ૦-૯ૺ-૿ଁ-ଃ଼ା-ୄେୈୋ-୍୕-ୗୢୣ୦-୯ஂா-ூெ-ைொ-்ௗ௦-௯ఀ-ఄ఼ా-ౄె-ైొ-్ౕౖౢౣ౦-౯ಁ-ಃ಼ಾ-ೄೆ-ೈೊ-್ೕೖೢೣ೦-೯ೳഀ-ഃ഻഼ാ-ൄെ-ൈൊ-്ൗൢൣ൦-൯ඁ-ඃ්ා-ුූෘ-ෟ෦-෯ෲෳัิ-ฺ็-๎๐-๙ັິ-ຼ່-໎໐-໙༘༙༠-༩༹༵༷༾༿ཱ-྄྆྇ྍ-ྗྙ-ྼ࿆ါ-ှ၀-၉ၖ-ၙၞ-ၠၢ-ၤၧ-ၭၱ-ၴႂ-ႍႏ-ႝ፝-፟፩-፱ᜒ-᜕ᜲ-᜴ᝒᝓᝲᝳ឴-៓៝០-៩᠋-᠍᠏-᠙ᢩᤠ-ᤫᤰ-᤻᥆-᥏᧐-᧚ᨗ-ᨛᩕ-ᩞ᩠-᩿᩼-᪉᪐-᪙᪰-᪽ᪿ-ᫎᬀ-ᬄ᬴-᭄᭐-᭙᭫-᭳ᮀ-ᮂᮡ-ᮭ᮰-᮹᯦-᯳ᰤ-᰷᱀-᱉᱐-᱙᳐-᳔᳒-᳨᳭᳴᳷-᳹᷀-᷿‿⁀⁔⃐-⃥⃜⃡-⃰⳯-⵿⳱ⷠ-〪ⷿ-゙゚〯・꘠-꘩꙯ꙴ-꙽ꚞꚟ꛰꛱ꠂ꠆ꠋꠣ-ꠧ꠬ꢀꢁꢴ-ꣅ꣐-꣙꣠-꣱ꣿ-꤉ꤦ-꤭ꥇ-꥓ꦀ-ꦃ꦳-꧀꧐-꧙ꧥ꧰-꧹ꨩ-ꨶꩃꩌꩍ꩐-꩙ꩻ-ꩽꪰꪲ-ꪴꪷꪸꪾ꪿꫁ꫫ-ꫯꫵ꫶ꯣ-ꯪ꯬꯭꯰-꯹ﬞ︀-️︠-︯︳︴﹍-﹏0-9_・",nonASCIIidentifierStart2=new RegExp("["+nonASCIIidentifierStartChars2+"]"),nonASCIIidentifier2=new RegExp("["+nonASCIIidentifierStartChars2+nonASCIIidentifierChars2+"]");nonASCIIidentifierStartChars2=nonASCIIidentifierChars2=null;var astralIdentifierStartCodes2=[0,11,2,25,2,18,2,1,2,14,3,13,35,122,70,52,268,28,4,48,48,31,14,29,6,37,11,29,3,35,5,7,2,4,43,157,19,35,5,35,5,39,9,51,13,10,2,14,2,6,2,1,2,10,2,14,2,6,2,1,68,310,10,21,11,7,25,5,2,41,2,8,70,5,3,0,2,43,2,1,4,0,3,22,11,22,10,30,66,18,2,1,11,21,11,25,71,55,7,1,65,0,16,3,2,2,2,28,43,28,4,28,36,7,2,27,28,53,11,21,11,18,14,17,111,72,56,50,14,50,14,35,349,41,7,1,79,28,11,0,9,21,43,17,47,20,28,22,13,52,58,1,3,0,14,44,33,24,27,35,30,0,3,0,9,34,4,0,13,47,15,3,22,0,2,0,36,17,2,24,20,1,64,6,2,0,2,3,2,14,2,9,8,46,39,7,3,1,3,21,2,6,2,1,2,4,4,0,19,0,13,4,159,52,19,3,21,2,31,47,21,1,2,0,185,46,42,3,37,47,21,0,60,42,14,0,72,26,38,6,186,43,117,63,32,7,3,0,3,7,2,1,2,23,16,0,2,0,95,7,3,38,17,0,2,0,29,0,11,39,8,0,22,0,12,45,20,0,19,72,264,8,2,36,18,0,50,29,113,6,2,1,2,37,22,0,26,5,2,1,2,31,15,0,328,18,16,0,2,12,2,33,125,0,80,921,103,110,18,195,2637,96,16,1071,18,5,4026,582,8634,568,8,30,18,78,18,29,19,47,17,3,32,20,6,18,689,63,129,74,6,0,67,12,65,1,2,0,29,6135,9,1237,43,8,8936,3,2,6,2,1,2,290,16,0,30,2,3,0,15,3,9,395,2309,106,6,12,4,8,8,9,5991,84,2,70,2,1,3,0,3,1,3,3,2,11,2,0,2,6,2,64,2,3,3,7,2,6,2,27,2,3,2,4,2,0,4,6,2,339,3,24,2,24,2,30,2,24,2,30,2,24,2,30,2,24,2,30,2,24,2,7,1845,30,7,5,262,61,147,44,11,6,17,0,322,29,19,43,485,27,757,6,2,3,2,1,2,14,2,196,60,67,8,0,1205,3,2,26,2,1,2,0,3,0,2,9,2,3,2,0,2,0,7,0,5,0,2,0,2,0,2,2,2,1,2,0,3,0,2,0,2,0,2,0,2,0,2,1,2,0,3,3,2,6,2,3,2,3,2,0,2,9,2,16,6,2,2,4,2,16,4421,42719,33,4153,7,221,3,5761,15,7472,16,621,2467,541,1507,4938,6,4191],astralIdentifierCodes2=[509,0,227,0,150,4,294,9,1368,2,2,1,6,3,41,2,5,0,166,1,574,3,9,9,370,1,81,2,71,10,50,3,123,2,54,14,32,10,3,1,11,3,46,10,8,0,46,9,7,2,37,13,2,9,6,1,45,0,13,2,49,13,9,3,2,11,83,11,7,0,3,0,158,11,6,9,7,3,56,1,2,6,3,1,3,2,10,0,11,1,3,6,4,4,193,17,10,9,5,0,82,19,13,9,214,6,3,8,28,1,83,16,16,9,82,12,9,9,84,14,5,9,243,14,166,9,71,5,2,1,3,3,2,0,2,1,13,9,120,6,3,6,4,0,29,9,41,6,2,3,9,0,10,10,47,15,406,7,2,7,17,9,57,21,2,13,123,5,4,0,2,1,2,6,2,0,9,9,49,4,2,1,2,4,9,9,330,3,10,1,2,0,49,6,4,4,14,9,5351,0,7,14,13835,9,87,9,39,4,60,6,26,9,1014,0,2,54,8,3,82,0,12,1,19628,1,4706,45,3,22,543,4,4,5,9,7,3,6,31,3,149,2,1418,49,513,54,5,49,9,0,15,0,23,4,2,14,1361,6,2,16,3,6,2,1,2,4,101,0,161,6,10,9,357,0,62,13,499,13,983,6,110,6,6,9,4759,9,787719,239];function isInAstralSet2(e,t){for(var r=65536,n=0,i=t.length;n<i;n+=2){if((r+=t[n])>e)return!1;if((r+=t[n+1])>=e)return!0}return!1}function isIdentifierStart2(e){return e<65?36===e:e<=90||(e<97?95===e:e<=122||(e<=65535?e>=170&&nonASCIIidentifierStart2.test(String.fromCharCode(e)):isInAstralSet2(e,astralIdentifierStartCodes2)))}function isIdentifierChar2(e){return e<48?36===e:e<58||!(e<65)&&(e<=90||(e<97?95===e:e<=122||(e<=65535?e>=170&&nonASCIIidentifier2.test(String.fromCharCode(e)):isInAstralSet2(e,astralIdentifierStartCodes2)||isInAstralSet2(e,astralIdentifierCodes2))))}var reservedWords2={keyword:["break","case","catch","continue","debugger","default","do","else","finally","for","function","if","return","switch","throw","try","var","const","while","with","new","this","super","class","extends","export","import","null","true","false","in","instanceof","typeof","void","delete"],strict:["implements","interface","let","package","private","protected","public","static","yield"],strictBind:["eval","arguments"]},keywords2=new Set(reservedWords2.keyword),reservedWordsStrictSet2=new Set(reservedWords2.strict),reservedWordsStrictBindSet2=new Set(reservedWords2.strictBind);function isReservedWord2(e,t){return t&&"await"===e||"enum"===e}function isStrictReservedWord2(e,t){return isReservedWord2(e,t)||reservedWordsStrictSet2.has(e)}function isStrictBindOnlyReservedWord(e){return reservedWordsStrictBindSet2.has(e)}function isStrictBindReservedWord(e,t){return isStrictReservedWord2(e,t)||isStrictBindOnlyReservedWord(e)}function isKeyword2(e){return keywords2.has(e)}function isIteratorStart(e,t,r){return 64===e&&64===t&&isIdentifierStart2(r)}var reservedWordLikeSet=new Set(["break","case","catch","continue","debugger","default","do","else","finally","for","function","if","return","switch","throw","try","var","const","while","with","new","this","super","class","extends","export","import","null","true","false","in","instanceof","typeof","void","delete","implements","interface","let","package","private","protected","public","static","yield","eval","arguments","enum","await"]);function canBeReservedWord(e){return reservedWordLikeSet.has(e)}var Scope=function e(t){_class_call_check(this,e),__publicField(this,"flags",0),__publicField(this,"names",new Map),__publicField(this,"firstLexicalName",""),this.flags=t},ScopeHandler=function(){function e(t,r){_class_call_check(this,e),__publicField(this,"parser"),__publicField(this,"scopeStack",[]),__publicField(this,"inModule"),__publicField(this,"undefinedExports",new Map),this.parser=t,this.inModule=r}return _create_class(e,[{key:"inTopLevel",get:function(){return(1&this.currentScope().flags)>0}},{key:"inFunction",get:function(){return(2&this.currentVarScopeFlags())>0}},{key:"allowSuper",get:function(){return(16&this.currentThisScopeFlags())>0}},{key:"allowDirectSuper",get:function(){return(32&this.currentThisScopeFlags())>0}},{key:"inClass",get:function(){return(64&this.currentThisScopeFlags())>0}},{key:"inClassAndNotInNonArrowFunction",get:function(){var e=this.currentThisScopeFlags();return(64&e)>0&&0==(2&e)}},{key:"inStaticBlock",get:function(){for(var e=this.scopeStack.length-1;;e--){var t=this.scopeStack[e].flags;if(128&t)return!0;if(451&t)return!1}}},{key:"inNonArrowFunction",get:function(){return(2&this.currentThisScopeFlags())>0}},{key:"treatFunctionsAsVar",get:function(){return this.treatFunctionsAsVarInScope(this.currentScope())}},{key:"createScope",value:function(e){return new Scope(e)}},{key:"enter",value:function(e){this.scopeStack.push(this.createScope(e))}},{key:"exit",value:function(){return this.scopeStack.pop().flags}},{key:"treatFunctionsAsVarInScope",value:function(e){return!!(130&e.flags||!this.parser.inModule&&1&e.flags)}},{key:"declareName",value:function(e,t,r){var n=this.currentScope();if(8&t||16&t){this.checkRedeclarationInScope(n,e,t,r);var i=n.names.get(e)||0;16&t?i|=4:(n.firstLexicalName||(n.firstLexicalName=e),i|=2),n.names.set(e,i),8&t&&this.maybeExportDefined(n,e)}else if(4&t)for(var a=this.scopeStack.length-1;a>=0&&(n=this.scopeStack[a],this.checkRedeclarationInScope(n,e,t,r),n.names.set(e,1|(n.names.get(e)||0)),this.maybeExportDefined(n,e),!(387&n.flags));--a);this.parser.inModule&&1&n.flags&&this.undefinedExports.delete(e)}},{key:"maybeExportDefined",value:function(e,t){this.parser.inModule&&1&e.flags&&this.undefinedExports.delete(t)}},{key:"checkRedeclarationInScope",value:function(e,t,r,n){this.isRedeclaredInScope(e,t,r)&&this.parser.raise(Errors.VarRedeclaration,n,{identifierName:t})}},{key:"isRedeclaredInScope",value:function(e,t,r){if(!(1&r))return!1;if(8&r)return e.names.has(t);var n=e.names.get(t);return 16&r?(2&n)>0||!this.treatFunctionsAsVarInScope(e)&&(1&n)>0:(2&n)>0&&!(8&e.flags&&e.firstLexicalName===t)||!this.treatFunctionsAsVarInScope(e)&&(4&n)>0}},{key:"checkLocalExport",value:function(e){var t=e.name;this.scopeStack[0].names.has(t)||this.undefinedExports.set(t,e.loc.start)}},{key:"currentScope",value:function(){return this.scopeStack[this.scopeStack.length-1]}},{key:"currentVarScopeFlags",value:function(){for(var e=this.scopeStack.length-1;;e--){var t=this.scopeStack[e].flags;if(387&t)return t}}},{key:"currentThisScopeFlags",value:function(){for(var e=this.scopeStack.length-1;;e--){var t=this.scopeStack[e].flags;if(451&t&&!(4&t))return t}}}]),e}(),FlowScope=function(e){_inherits$1(r,e);var t=_create_super(r);function r(){var e;return _class_call_check(this,r),e=t.call.apply(t,[this].concat(Array.prototype.slice.call(arguments))),__publicField(_assert_this_initialized(e),"declareFunctions",new Set),e}return r}(Scope),FlowScopeHandler=function(e){_inherits$1(r,e);var t=_create_super(r);function r(){return _class_call_check(this,r),t.apply(this,arguments)}return _create_class(r,[{key:"createScope",value:function(e){return new FlowScope(e)}},{key:"declareName",value:function(e,t,n){var i=this.currentScope();if(2048&t)return this.checkRedeclarationInScope(i,e,t,n),this.maybeExportDefined(i,e),void i.declareFunctions.add(e);_get(_get_prototype_of(r.prototype),"declareName",this).call(this,e,t,n)}},{key:"isRedeclaredInScope",value:function(e,t,n){if(_get(_get_prototype_of(r.prototype),"isRedeclaredInScope",this).call(this,e,t,n))return!0;if(2048&n&&!e.declareFunctions.has(t)){var i=e.names.get(t);return(4&i)>0||(2&i)>0}return!1}},{key:"checkLocalExport",value:function(e){this.scopeStack[0].declareFunctions.has(e.name)||_get(_get_prototype_of(r.prototype),"checkLocalExport",this).call(this,e)}}]),r}(ScopeHandler),BaseParser=function(){function e(){_class_call_check(this,e),__publicField(this,"sawUnambiguousESM",!1),__publicField(this,"ambiguousScriptDifferentAst",!1)}return _create_class(e,[{key:"hasPlugin",value:function(e){if("string"==typeof e)return this.plugins.has(e);var t=_sliced_to_array(e,2),r=t[0],n=t[1];if(!this.hasPlugin(r))return!1;var i=this.plugins.get(r),a=!0,s=!1,o=void 0;try{for(var l,u=Object.keys(n)[Symbol.iterator]();!(a=(l=u.next()).done);a=!0){var c=l.value;if((null==i?void 0:i[c])!==n[c])return!1}}catch(e){s=!0,o=e}finally{try{a||null==u.return||u.return()}finally{if(s)throw o}}return!0}},{key:"getPluginOption",value:function(e,t){var r;return null===(r=this.plugins.get(e))||void 0===r?void 0:r[t]}}]),e}();function setTrailingComments(e,t){var r;void 0===e.trailingComments?e.trailingComments=t:(r=e.trailingComments).unshift.apply(r,_to_consumable_array(t))}function setLeadingComments(e,t){var r;void 0===e.leadingComments?e.leadingComments=t:(r=e.leadingComments).unshift.apply(r,_to_consumable_array(t))}function setInnerComments(e,t){var r;void 0===e.innerComments?e.innerComments=t:(r=e.innerComments).unshift.apply(r,_to_consumable_array(t))}function adjustInnerComments(e,t,r){for(var n=null,i=t.length;null===n&&i>0;)n=t[--i];null===n||n.start>r.start?setInnerComments(e,r.comments):setTrailingComments(n,r.comments)}var CommentsParser=function(e){_inherits$1(r,e);var t=_create_super(r);function r(){return _class_call_check(this,r),t.apply(this,arguments)}return _create_class(r,[{key:"addComment",value:function(e){this.filename&&(e.loc.filename=this.filename);var t=this.state.commentsLen;this.comments.length!=t&&(this.comments.length=t),this.comments.push(e),this.state.commentsLen++}},{key:"processComment",value:function(e){var t=this.state.commentStack,r=t.length;if(0!==r){var n=r-1,i=t[n];i.start===e.end&&(i.leadingNode=e,n--);for(var a=e.start;n>=0;n--){var s=t[n],o=s.end;if(!(o>a)){o===a&&(s.trailingNode=e);break}s.containingNode=e,this.finalizeComment(s),t.splice(n,1)}}}},{key:"finalizeComment",value:function(e){var t=e.comments;if(null!==e.leadingNode||null!==e.trailingNode)null!==e.leadingNode&&setTrailingComments(e.leadingNode,t),null!==e.trailingNode&&setLeadingComments(e.trailingNode,t);else{var r=e.containingNode,n=e.start;if(44===this.input.charCodeAt(n-1))switch(r.type){case"ObjectExpression":case"ObjectPattern":case"RecordExpression":adjustInnerComments(r,r.properties,e);break;case"CallExpression":case"OptionalCallExpression":adjustInnerComments(r,r.arguments,e);break;case"FunctionDeclaration":case"FunctionExpression":case"ArrowFunctionExpression":case"ObjectMethod":case"ClassMethod":case"ClassPrivateMethod":adjustInnerComments(r,r.params,e);break;case"ArrayExpression":case"ArrayPattern":case"TupleExpression":adjustInnerComments(r,r.elements,e);break;case"ExportNamedDeclaration":case"ImportDeclaration":adjustInnerComments(r,r.specifiers,e);break;default:setInnerComments(r,t)}else setInnerComments(r,t)}}},{key:"finalizeRemainingComments",value:function(){for(var e=this.state.commentStack,t=e.length-1;t>=0;t--)this.finalizeComment(e[t]);this.state.commentStack=[]}},{key:"resetPreviousNodeTrailingComments",value:function(e){var t=this.state.commentStack,r=t.length;if(0!==r){var n=t[r-1];n.leadingNode===e&&(n.leadingNode=null)}}},{key:"resetPreviousIdentifierLeadingComments",value:function(e){var t=this.state.commentStack,r=t.length;0!==r&&(t[r-1].trailingNode===e?t[r-1].trailingNode=null:r>=2&&t[r-2].trailingNode===e&&(t[r-2].trailingNode=null))}},{key:"takeSurroundingComments",value:function(e,t,r){var n=this.state.commentStack,i=n.length;if(0!==i)for(var a=i-1;a>=0;a--){var s=n[a],o=s.end;if(s.start===r)s.leadingNode=e;else if(o===t)s.trailingNode=e;else if(o<t)break}}}]),r}(BaseParser),lineBreak=/\r\n?|[\n\u2028\u2029]/,lineBreakG=new RegExp(lineBreak.source,"g");function isNewLine(e){switch(e){case 10:case 13:case 8232:case 8233:return!0;default:return!1}}var skipWhiteSpace=/(?:\s|\/\/.*|\/\*[^]*?\*\/)*/g,skipWhiteSpaceInLine=/(?:[^\S\n\r\u2028\u2029]|\/\/.*|\/\*.*?\*\/)*/g,skipWhiteSpaceToLineBreak=new RegExp("(?=("+skipWhiteSpaceInLine.source+"))\\1"+/(?=[\n\r\u2028\u2029]|\/\*(?!.*?\*\/)|$)/.source,"y");function isWhitespace(e){switch(e){case 9:case 11:case 12:case 32:case 160:case 5760:case 8192:case 8193:case 8194:case 8195:case 8196:case 8197:case 8198:case 8199:case 8200:case 8201:case 8202:case 8239:case 8287:case 12288:case 65279:return!0;default:return!1}}var State$2=function(){function e(){_class_call_check(this,e),__publicField(this,"flags",1024),__publicField(this,"curLine"),__publicField(this,"lineStart"),__publicField(this,"startLoc"),__publicField(this,"endLoc"),__publicField(this,"errors",[]),__publicField(this,"potentialArrowAt",-1),__publicField(this,"noArrowAt",[]),__publicField(this,"noArrowParamsConversionAt",[]),__publicField(this,"topicContext",{maxNumOfResolvableTopics:0,maxTopicIndex:null}),__publicField(this,"labels",[]),__publicField(this,"commentsLen",0),__publicField(this,"commentStack",[]),__publicField(this,"pos",0),__publicField(this,"type",139),__publicField(this,"value",null),__publicField(this,"start",0),__publicField(this,"end",0),__publicField(this,"lastTokEndLoc",null),__publicField(this,"lastTokStartLoc",null),__publicField(this,"context",[types$1d.brace]),__publicField(this,"firstInvalidTemplateEscapePos",null),__publicField(this,"strictErrors",new Map),__publicField(this,"tokensLength",0)}return _create_class(e,[{key:"strict",get:function(){return(1&this.flags)>0},set:function(e){e?this.flags|=1:this.flags&=-2}},{key:"init",value:function(e){var t=e.strictMode,r=e.sourceType,n=e.startLine,i=e.startColumn;this.strict=!1!==t&&(!0===t||"module"===r),this.curLine=n,this.lineStart=-i,this.startLoc=this.endLoc=new Position(n,i,0)}},{key:"maybeInArrowParameters",get:function(){return(2&this.flags)>0},set:function(e){e?this.flags|=2:this.flags&=-3}},{key:"inType",get:function(){return(4&this.flags)>0},set:function(e){e?this.flags|=4:this.flags&=-5}},{key:"noAnonFunctionType",get:function(){return(8&this.flags)>0},set:function(e){e?this.flags|=8:this.flags&=-9}},{key:"hasFlowComment",get:function(){return(16&this.flags)>0},set:function(e){e?this.flags|=16:this.flags&=-17}},{key:"isAmbientContext",get:function(){return(32&this.flags)>0},set:function(e){e?this.flags|=32:this.flags&=-33}},{key:"inAbstractClass",get:function(){return(64&this.flags)>0},set:function(e){e?this.flags|=64:this.flags&=-65}},{key:"inDisallowConditionalTypesContext",get:function(){return(128&this.flags)>0},set:function(e){e?this.flags|=128:this.flags&=-129}},{key:"soloAwait",get:function(){return(256&this.flags)>0},set:function(e){e?this.flags|=256:this.flags&=-257}},{key:"inFSharpPipelineDirectBody",get:function(){return(512&this.flags)>0},set:function(e){e?this.flags|=512:this.flags&=-513}},{key:"canStartJSXElement",get:function(){return(1024&this.flags)>0},set:function(e){e?this.flags|=1024:this.flags&=-1025}},{key:"containsEsc",get:function(){return(2048&this.flags)>0},set:function(e){e?this.flags|=2048:this.flags&=-2049}},{key:"curPosition",value:function(){return new Position(this.curLine,this.pos-this.lineStart,this.pos)}},{key:"clone",value:function(){var t=new e;return t.flags=this.flags,t.curLine=this.curLine,t.lineStart=this.lineStart,t.startLoc=this.startLoc,t.endLoc=this.endLoc,t.errors=this.errors.slice(),t.potentialArrowAt=this.potentialArrowAt,t.noArrowAt=this.noArrowAt.slice(),t.noArrowParamsConversionAt=this.noArrowParamsConversionAt.slice(),t.topicContext=this.topicContext,t.labels=this.labels.slice(),t.commentsLen=this.commentsLen,t.commentStack=this.commentStack.slice(),t.pos=this.pos,t.type=this.type,t.value=this.value,t.start=this.start,t.end=this.end,t.lastTokEndLoc=this.lastTokEndLoc,t.lastTokStartLoc=this.lastTokStartLoc,t.context=this.context.slice(),t.firstInvalidTemplateEscapePos=this.firstInvalidTemplateEscapePos,t.strictErrors=this.strictErrors,t.tokensLength=this.tokensLength,t}}]),e}(),_isDigit2=function(e){return e>=48&&e<=57},forbiddenNumericSeparatorSiblings2={decBinOct:new Set([46,66,69,79,95,98,101,111]),hex:new Set([46,88,95,120])},isAllowedNumericSeparatorSibling2={bin:function(e){return 48===e||49===e},oct:function(e){return e>=48&&e<=55},dec:function(e){return e>=48&&e<=57},hex:function(e){return e>=48&&e<=57||e>=65&&e<=70||e>=97&&e<=102}};function readStringContents2(e,t,r,n,i,a){for(var s=r,o=n,l=i,u="",c=null,p=r,d=t.length;;){if(r>=d){a.unterminated(s,o,l),u+=t.slice(p,r);break}var f=t.charCodeAt(r);if(isStringEnd2(e,f,t,r)){u+=t.slice(p,r);break}if(92===f){u+=t.slice(p,r);var h,m=readEscapedChar2(t,r,n,i,"template"===e,a);null!==m.ch||c?u+=m.ch:c={pos:r,lineStart:n,curLine:i},r=(h=m).pos,n=h.lineStart,i=h.curLine,p=r}else 8232===f||8233===f?(++i,n=++r):10===f||13===f?"template"===e?(u+=t.slice(p,r)+"\n",++r,13===f&&10===t.charCodeAt(r)&&++r,++i,p=n=r):a.unterminated(s,o,l):++r}return{pos:r,str:u,firstInvalidLoc:c,lineStart:n,curLine:i}}function isStringEnd2(e,t,r,n){return"template"===e?96===t||36===t&&123===r.charCodeAt(n+1):t===("double"===e?34:39)}function readEscapedChar2(e,t,r,n,i,a){var s=!i;t++;var o=function(e){return{pos:t,ch:e,lineStart:r,curLine:n}},l=e.charCodeAt(t++);switch(l){case 110:return o("\n");case 114:return o("\r");case 120:var u,c;return u=(c=readHexChar2(e,t,r,n,2,!1,s,a)).code,t=c.pos,o(null===u?null:String.fromCharCode(u));case 117:var p,d;return p=(d=readCodePoint2(e,t,r,n,s,a)).code,t=d.pos,o(null===p?null:String.fromCodePoint(p));case 116:return o("\t");case 98:return o("\b");case 118:return o("\v");case 102:return o("\f");case 13:10===e.charCodeAt(t)&&++t;case 10:r=t,++n;case 8232:case 8233:return o("");case 56:case 57:if(i)return o(null);a.strictNumericEscape(t-1,r,n);default:if(l>=48&&l<=55){var f=t-1,h=e.slice(f,t+2).match(/^[0-7]+/)[0],m=parseInt(h,8);m>255&&(h=h.slice(0,-1),m=parseInt(h,8)),t+=h.length-1;var y=e.charCodeAt(t);if("0"!==h||56===y||57===y){if(i)return o(null);a.strictNumericEscape(f,r,n)}return o(String.fromCharCode(m))}return o(String.fromCharCode(l))}}function readHexChar2(e,t,r,n,i,a,s,o){var l,u,c=t;return l=(u=readInt2(e,t,r,n,16,i,a,!1,o,!s)).n,t=u.pos,null===l&&(s?o.invalidEscapeSequence(c,r,n):t=c-1),{code:l,pos:t}}function readInt2(e,t,r,n,i,a,s,o,l,u){for(var c=t,p=16===i?forbiddenNumericSeparatorSiblings2.hex:forbiddenNumericSeparatorSiblings2.decBinOct,d=16===i?isAllowedNumericSeparatorSibling2.hex:10===i?isAllowedNumericSeparatorSibling2.dec:8===i?isAllowedNumericSeparatorSibling2.oct:isAllowedNumericSeparatorSibling2.bin,f=!1,h=0,m=0,y=null==a?1/0:a;m<y;++m){var g=e.charCodeAt(t),v=void 0;if(95!==g||"bail"===o){if((v=g>=97?g-97+10:g>=65?g-65+10:_isDigit2(g)?g-48:1/0)>=i){if(v<=9&&u)return{n:null,pos:t};if(v<=9&&l.invalidDigit(t,r,n,i))v=0;else{if(!s)break;v=0,f=!0}}++t,h=h*i+v}else{var b=e.charCodeAt(t-1),S=e.charCodeAt(t+1);if(o){if(Number.isNaN(S)||!d(S)||p.has(b)||p.has(S)){if(u)return{n:null,pos:t};l.unexpectedNumericSeparator(t,r,n)}}else{if(u)return{n:null,pos:t};l.numericSeparatorInEscapeSequence(t,r,n)}++t}}return t===c||null!=a&&t-c!==a||f?{n:null,pos:t}:{n:h,pos:t}}function readCodePoint2(e,t,r,n,i,a){var s,o,l;if(123===e.charCodeAt(t)){if(s=(o=readHexChar2(e,++t,r,n,e.indexOf("}",t)-t,!0,i,a)).code,t=o.pos,++t,null!==s&&s>1114111){if(!i)return{code:null,pos:t};a.invalidCodePoint(t,r,n)}}else s=(l=readHexChar2(e,t,r,n,4,!1,i,a)).code,t=l.pos;return{code:s,pos:t}}function buildPosition(e,t,r){return new Position(r,e-t,e)}var VALID_REGEX_FLAGS=new Set([103,109,115,105,121,117,100,118]),Token=function e(t){_class_call_check(this,e),this.type=t.type,this.value=t.value,this.start=t.start,this.end=t.end,this.loc=new SourceLocation(t.startLoc,t.endLoc)},Tokenizer=function(e){_inherits$1(r,e);var t=_create_super(r);function r(e,n){var i;return _class_call_check(this,r),i=t.call(this),__publicField(_assert_this_initialized(i),"isLookahead"),__publicField(_assert_this_initialized(i),"tokens",[]),__publicField(_assert_this_initialized(i),"errorHandlers_readInt",{invalidDigit:function(e,t,r,n){return!!i.options.errorRecovery&&(i.raise(Errors.InvalidDigit,buildPosition(e,t,r),{radix:n}),!0)},numericSeparatorInEscapeSequence:i.errorBuilder(Errors.NumericSeparatorInEscapeSequence),unexpectedNumericSeparator:i.errorBuilder(Errors.UnexpectedNumericSeparator)}),__publicField(_assert_this_initialized(i),"errorHandlers_readCodePoint",Object.assign({},i.errorHandlers_readInt,{invalidEscapeSequence:i.errorBuilder(Errors.InvalidEscapeSequence),invalidCodePoint:i.errorBuilder(Errors.InvalidCodePoint)})),__publicField(_assert_this_initialized(i),"errorHandlers_readStringContents_string",Object.assign({},i.errorHandlers_readCodePoint,{strictNumericEscape:function(e,t,r){i.recordStrictModeErrors(Errors.StrictNumericEscape,buildPosition(e,t,r))},unterminated:function(e,t,r){throw i.raise(Errors.UnterminatedString,buildPosition(e-1,t,r))}})),__publicField(_assert_this_initialized(i),"errorHandlers_readStringContents_template",Object.assign({},i.errorHandlers_readCodePoint,{strictNumericEscape:i.errorBuilder(Errors.StrictNumericEscape),unterminated:function(e,t,r){throw i.raise(Errors.UnterminatedTemplate,buildPosition(e,t,r))}})),i.state=new State$2,i.state.init(e),i.input=n,i.length=n.length,i.comments=[],i.isLookahead=!1,i}return _create_class(r,[{key:"pushToken",value:function(e){this.tokens.length=this.state.tokensLength,this.tokens.push(e),++this.state.tokensLength}},{key:"next",value:function(){this.checkKeywordEscapes(),this.options.tokens&&this.pushToken(new Token(this.state)),this.state.lastTokEndLoc=this.state.endLoc,this.state.lastTokStartLoc=this.state.startLoc,this.nextToken()}},{key:"eat",value:function(e){return!!this.match(e)&&(this.next(),!0)}},{key:"match",value:function(e){return this.state.type===e}},{key:"createLookaheadState",value:function(e){return{pos:e.pos,value:null,type:e.type,start:e.start,end:e.end,context:[this.curContext()],inType:e.inType,startLoc:e.startLoc,lastTokEndLoc:e.lastTokEndLoc,curLine:e.curLine,lineStart:e.lineStart,curPosition:e.curPosition}}},{key:"lookahead",value:function(){var e=this.state;this.state=this.createLookaheadState(e),this.isLookahead=!0,this.nextToken(),this.isLookahead=!1;var t=this.state;return this.state=e,t}},{key:"nextTokenStart",value:function(){return this.nextTokenStartSince(this.state.pos)}},{key:"nextTokenStartSince",value:function(e){return skipWhiteSpace.lastIndex=e,skipWhiteSpace.test(this.input)?skipWhiteSpace.lastIndex:e}},{key:"lookaheadCharCode",value:function(){return this.input.charCodeAt(this.nextTokenStart())}},{key:"nextTokenInLineStart",value:function(){return this.nextTokenInLineStartSince(this.state.pos)}},{key:"nextTokenInLineStartSince",value:function(e){return skipWhiteSpaceInLine.lastIndex=e,skipWhiteSpaceInLine.test(this.input)?skipWhiteSpaceInLine.lastIndex:e}},{key:"lookaheadInLineCharCode",value:function(){return this.input.charCodeAt(this.nextTokenInLineStart())}},{key:"codePointAtPos",value:function(e){var t=this.input.charCodeAt(e);if(55296==(64512&t)&&++e<this.input.length){var r=this.input.charCodeAt(e);56320==(64512&r)&&(t=65536+((1023&t)<<10)+(1023&r))}return t}},{key:"setStrict",value:function(e){var t=this;this.state.strict=e,e&&(this.state.strictErrors.forEach((function(e){var r=_sliced_to_array(e,2),n=r[0],i=r[1];return t.raise(n,i)})),this.state.strictErrors.clear())}},{key:"curContext",value:function(){return this.state.context[this.state.context.length-1]}},{key:"nextToken",value:function(){this.skipSpace(),this.state.start=this.state.pos,this.isLookahead||(this.state.startLoc=this.state.curPosition()),this.state.pos>=this.length?this.finishToken(139):this.getTokenFromCode(this.codePointAtPos(this.state.pos))}},{key:"skipBlockComment",value:function(e){var t;this.isLookahead||(t=this.state.curPosition());var r=this.state.pos,n=this.input.indexOf(e,r+2);if(-1===n)throw this.raise(Errors.UnterminatedComment,this.state.curPosition());for(this.state.pos=n+e.length,lineBreakG.lastIndex=r+2;lineBreakG.test(this.input)&&lineBreakG.lastIndex<=n;)++this.state.curLine,this.state.lineStart=lineBreakG.lastIndex;if(!this.isLookahead){var i={type:"CommentBlock",value:this.input.slice(r+2,n),start:r,end:n+e.length,loc:new SourceLocation(t,this.state.curPosition())};return this.options.tokens&&this.pushToken(i),i}}},{key:"skipLineComment",value:function(e){var t,r=this.state.pos;this.isLookahead||(t=this.state.curPosition());var n=this.input.charCodeAt(this.state.pos+=e);if(this.state.pos<this.length)for(;!isNewLine(n)&&++this.state.pos<this.length;)n=this.input.charCodeAt(this.state.pos);if(!this.isLookahead){var i=this.state.pos,a={type:"CommentLine",value:this.input.slice(r+e,i),start:r,end:i,loc:new SourceLocation(t,this.state.curPosition())};return this.options.tokens&&this.pushToken(a),a}}},{key:"skipSpace",value:function(){var e=this.state.pos,t=[];e:for(;this.state.pos<this.length;){var r=this.input.charCodeAt(this.state.pos);switch(r){case 32:case 160:case 9:++this.state.pos;break;case 13:10===this.input.charCodeAt(this.state.pos+1)&&++this.state.pos;case 10:case 8232:case 8233:++this.state.pos,++this.state.curLine,this.state.lineStart=this.state.pos;break;case 47:switch(this.input.charCodeAt(this.state.pos+1)){case 42:var n=this.skipBlockComment("*/");void 0!==n&&(this.addComment(n),this.options.attachComment&&t.push(n));break;case 47:var i=this.skipLineComment(2);void 0!==i&&(this.addComment(i),this.options.attachComment&&t.push(i));break;default:break e}break;default:if(isWhitespace(r))++this.state.pos;else if(45===r&&!this.inModule&&this.options.annexB){var a=this.state.pos;if(45!==this.input.charCodeAt(a+1)||62!==this.input.charCodeAt(a+2)||!(0===e||this.state.lineStart>e))break e;var s=this.skipLineComment(3);void 0!==s&&(this.addComment(s),this.options.attachComment&&t.push(s))}else{if(60!==r||this.inModule||!this.options.annexB)break e;var o=this.state.pos;if(33!==this.input.charCodeAt(o+1)||45!==this.input.charCodeAt(o+2)||45!==this.input.charCodeAt(o+3))break e;var l=this.skipLineComment(4);void 0!==l&&(this.addComment(l),this.options.attachComment&&t.push(l))}}}if(t.length>0){var u={start:e,end:this.state.pos,comments:t,leadingNode:null,trailingNode:null,containingNode:null};this.state.commentStack.push(u)}}},{key:"finishToken",value:function(e,t){this.state.end=this.state.pos,this.state.endLoc=this.state.curPosition();var r=this.state.type;this.state.type=e,this.state.value=t,this.isLookahead||this.updateContext(r)}},{key:"replaceToken",value:function(e){this.state.type=e,this.updateContext()}},{key:"readToken_numberSign",value:function(){if(0!==this.state.pos||!this.readToken_interpreter()){var e=this.state.pos+1,t=this.codePointAtPos(e);if(t>=48&&t<=57)throw this.raise(Errors.UnexpectedDigitAfterHash,this.state.curPosition());if(123===t||91===t&&this.hasPlugin("recordAndTuple")){if(this.expectPlugin("recordAndTuple"),"bar"===this.getPluginOption("recordAndTuple","syntaxType"))throw this.raise(123===t?Errors.RecordExpressionHashIncorrectStartSyntaxType:Errors.TupleExpressionHashIncorrectStartSyntaxType,this.state.curPosition());this.state.pos+=2,123===t?this.finishToken(7):this.finishToken(1)}else isIdentifierStart2(t)?(++this.state.pos,this.finishToken(138,this.readWord1(t))):92===t?(++this.state.pos,this.finishToken(138,this.readWord1())):this.finishOp(27,1)}}},{key:"readToken_dot",value:function(){var e=this.input.charCodeAt(this.state.pos+1);e>=48&&e<=57?this.readNumber(!0):46===e&&46===this.input.charCodeAt(this.state.pos+2)?(this.state.pos+=3,this.finishToken(21)):(++this.state.pos,this.finishToken(16))}},{key:"readToken_slash",value:function(){61===this.input.charCodeAt(this.state.pos+1)?this.finishOp(31,2):this.finishOp(56,1)}},{key:"readToken_interpreter",value:function(){if(0!==this.state.pos||this.length<2)return!1;var e=this.input.charCodeAt(this.state.pos+1);if(33!==e)return!1;var t=this.state.pos;for(this.state.pos+=1;!isNewLine(e)&&++this.state.pos<this.length;)e=this.input.charCodeAt(this.state.pos);var r=this.input.slice(t+2,this.state.pos);return this.finishToken(28,r),!0}},{key:"readToken_mult_modulo",value:function(e){var t=42===e?55:54,r=1,n=this.input.charCodeAt(this.state.pos+1);42===e&&42===n&&(r++,n=this.input.charCodeAt(this.state.pos+2),t=57),61!==n||this.state.inType||(r++,t=37===e?33:30),this.finishOp(t,r)}},{key:"readToken_pipe_amp",value:function(e){var t=this.input.charCodeAt(this.state.pos+1);if(t!==e){if(124===e){if(62===t)return void this.finishOp(39,2);if(this.hasPlugin("recordAndTuple")&&125===t){if("bar"!==this.getPluginOption("recordAndTuple","syntaxType"))throw this.raise(Errors.RecordExpressionBarIncorrectEndSyntaxType,this.state.curPosition());return this.state.pos+=2,void this.finishToken(9)}if(this.hasPlugin("recordAndTuple")&&93===t){if("bar"!==this.getPluginOption("recordAndTuple","syntaxType"))throw this.raise(Errors.TupleExpressionBarIncorrectEndSyntaxType,this.state.curPosition());return this.state.pos+=2,void this.finishToken(4)}}61!==t?this.finishOp(124===e?43:45,1):this.finishOp(30,2)}else 61===this.input.charCodeAt(this.state.pos+2)?this.finishOp(30,3):this.finishOp(124===e?41:42,2)}},{key:"readToken_caret",value:function(){var e=this.input.charCodeAt(this.state.pos+1);if(61!==e||this.state.inType)if(94===e&&this.hasPlugin(["pipelineOperator",{proposal:"hack",topicToken:"^^"}])){this.finishOp(37,2),94===this.input.codePointAt(this.state.pos)&&this.unexpected()}else this.finishOp(44,1);else this.finishOp(32,2)}},{key:"readToken_atSign",value:function(){64===this.input.charCodeAt(this.state.pos+1)&&this.hasPlugin(["pipelineOperator",{proposal:"hack",topicToken:"@@"}])?this.finishOp(38,2):this.finishOp(26,1)}},{key:"readToken_plus_min",value:function(e){var t=this.input.charCodeAt(this.state.pos+1);t!==e?61===t?this.finishOp(30,2):this.finishOp(53,1):this.finishOp(34,2)}},{key:"readToken_lt",value:function(){var e=this.state.pos,t=this.input.charCodeAt(e+1);if(60===t)return 61===this.input.charCodeAt(e+2)?void this.finishOp(30,3):void this.finishOp(51,2);61!==t?this.finishOp(47,1):this.finishOp(49,2)}},{key:"readToken_gt",value:function(){var e=this.state.pos,t=this.input.charCodeAt(e+1);if(62===t){var r=62===this.input.charCodeAt(e+2)?3:2;return 61===this.input.charCodeAt(e+r)?void this.finishOp(30,r+1):void this.finishOp(52,r)}61!==t?this.finishOp(48,1):this.finishOp(49,2)}},{key:"readToken_eq_excl",value:function(e){var t=this.input.charCodeAt(this.state.pos+1);if(61!==t)return 61===e&&62===t?(this.state.pos+=2,void this.finishToken(19)):void this.finishOp(61===e?29:35,1);this.finishOp(46,61===this.input.charCodeAt(this.state.pos+2)?3:2)}},{key:"readToken_question",value:function(){var e=this.input.charCodeAt(this.state.pos+1),t=this.input.charCodeAt(this.state.pos+2);63===e?61===t?this.finishOp(30,3):this.finishOp(40,2):46!==e||t>=48&&t<=57?(++this.state.pos,this.finishToken(17)):(this.state.pos+=2,this.finishToken(18))}},{key:"getTokenFromCode",value:function(e){switch(e){case 46:return void this.readToken_dot();case 40:return++this.state.pos,void this.finishToken(10);case 41:return++this.state.pos,void this.finishToken(11);case 59:return++this.state.pos,void this.finishToken(13);case 44:return++this.state.pos,void this.finishToken(12);case 91:if(this.hasPlugin("recordAndTuple")&&124===this.input.charCodeAt(this.state.pos+1)){if("bar"!==this.getPluginOption("recordAndTuple","syntaxType"))throw this.raise(Errors.TupleExpressionBarIncorrectStartSyntaxType,this.state.curPosition());this.state.pos+=2,this.finishToken(2)}else++this.state.pos,this.finishToken(0);return;case 93:return++this.state.pos,void this.finishToken(3);case 123:if(this.hasPlugin("recordAndTuple")&&124===this.input.charCodeAt(this.state.pos+1)){if("bar"!==this.getPluginOption("recordAndTuple","syntaxType"))throw this.raise(Errors.RecordExpressionBarIncorrectStartSyntaxType,this.state.curPosition());this.state.pos+=2,this.finishToken(6)}else++this.state.pos,this.finishToken(5);return;case 125:return++this.state.pos,void this.finishToken(8);case 58:return void(this.hasPlugin("functionBind")&&58===this.input.charCodeAt(this.state.pos+1)?this.finishOp(15,2):(++this.state.pos,this.finishToken(14)));case 63:return void this.readToken_question();case 96:return void this.readTemplateToken();case 48:var t=this.input.charCodeAt(this.state.pos+1);if(120===t||88===t)return void this.readRadixNumber(16);if(111===t||79===t)return void this.readRadixNumber(8);if(98===t||66===t)return void this.readRadixNumber(2);case 49:case 50:case 51:case 52:case 53:case 54:case 55:case 56:case 57:return void this.readNumber(!1);case 34:case 39:return void this.readString(e);case 47:return void this.readToken_slash();case 37:case 42:return void this.readToken_mult_modulo(e);case 124:case 38:return void this.readToken_pipe_amp(e);case 94:return void this.readToken_caret();case 43:case 45:return void this.readToken_plus_min(e);case 60:return void this.readToken_lt();case 62:return void this.readToken_gt();case 61:case 33:return void this.readToken_eq_excl(e);case 126:return void this.finishOp(36,1);case 64:return void this.readToken_atSign();case 35:return void this.readToken_numberSign();case 92:return void this.readWord();default:if(isIdentifierStart2(e))return void this.readWord(e)}throw this.raise(Errors.InvalidOrUnexpectedToken,this.state.curPosition(),{unexpected:String.fromCodePoint(e)})}},{key:"finishOp",value:function(e,t){var r=this.input.slice(this.state.pos,this.state.pos+t);this.state.pos+=t,this.finishToken(e,r)}},{key:"readRegexp",value:function(){for(var e,t,r=this.state.startLoc,n=this.state.start+1,i=this.state.pos;;++i){if(i>=this.length)throw this.raise(Errors.UnterminatedRegExp,createPositionWithColumnOffset(r,1));var a=this.input.charCodeAt(i);if(isNewLine(a))throw this.raise(Errors.UnterminatedRegExp,createPositionWithColumnOffset(r,1));if(e)e=!1;else{if(91===a)t=!0;else if(93===a&&t)t=!1;else if(47===a&&!t)break;e=92===a}}var s=this.input.slice(n,i);++i;for(var o="",l=function(){return createPositionWithColumnOffset(r,i+2-n)};i<this.length;){var u=this.codePointAtPos(i),c=String.fromCharCode(u);if(VALID_REGEX_FLAGS.has(u))118===u?o.includes("u")&&this.raise(Errors.IncompatibleRegExpUVFlags,l()):117===u&&o.includes("v")&&this.raise(Errors.IncompatibleRegExpUVFlags,l()),o.includes(c)&&this.raise(Errors.DuplicateRegExpFlags,l());else{if(!isIdentifierChar2(u)&&92!==u)break;this.raise(Errors.MalformedRegExpFlags,l())}++i,o+=c}this.state.pos=i,this.finishToken(137,{pattern:s,flags:o})}},{key:"readInt",value:function(e,t){var r=arguments.length>2&&void 0!==arguments[2]&&arguments[2],n=!(arguments.length>3&&void 0!==arguments[3])||arguments[3],i=readInt2(this.input,this.state.pos,this.state.lineStart,this.state.curLine,e,t,r,n,this.errorHandlers_readInt,!1),a=i.n,s=i.pos;return this.state.pos=s,a}},{key:"readRadixNumber",value:function(e){var t=this.state.curPosition(),r=!1;this.state.pos+=2;var n=this.readInt(e);null==n&&this.raise(Errors.InvalidDigit,createPositionWithColumnOffset(t,2),{radix:e});var i=this.input.charCodeAt(this.state.pos);if(110===i)++this.state.pos,r=!0;else if(109===i)throw this.raise(Errors.InvalidDecimal,t);if(isIdentifierStart2(this.codePointAtPos(this.state.pos)))throw this.raise(Errors.NumberIdentifier,this.state.curPosition());if(r){var a=this.input.slice(t.index,this.state.pos).replace(/[_n]/g,"");this.finishToken(135,a)}else this.finishToken(134,n)}},{key:"readNumber",value:function(e){var t=this.state.pos,r=this.state.curPosition(),n=!1,i=!1,a=!1,s=!1,o=!1;e||null!==this.readInt(10)||this.raise(Errors.InvalidNumber,this.state.curPosition());var l=this.state.pos-t>=2&&48===this.input.charCodeAt(t);if(l){var u=this.input.slice(t,this.state.pos);if(this.recordStrictModeErrors(Errors.StrictOctalLiteral,r),!this.state.strict){var c=u.indexOf("_");c>0&&this.raise(Errors.ZeroDigitNumericSeparator,createPositionWithColumnOffset(r,c))}o=l&&!/[89]/.test(u)}var p=this.input.charCodeAt(this.state.pos);if(46!==p||o||(++this.state.pos,this.readInt(10),n=!0,p=this.input.charCodeAt(this.state.pos)),69!==p&&101!==p||o||(43!==(p=this.input.charCodeAt(++this.state.pos))&&45!==p||++this.state.pos,null===this.readInt(10)&&this.raise(Errors.InvalidOrMissingExponent,r),n=!0,s=!0,p=this.input.charCodeAt(this.state.pos)),110===p&&((n||l)&&this.raise(Errors.InvalidBigIntLiteral,r),++this.state.pos,i=!0),109===p&&(this.expectPlugin("decimal",this.state.curPosition()),(s||l)&&this.raise(Errors.InvalidDecimal,r),++this.state.pos,a=!0),isIdentifierStart2(this.codePointAtPos(this.state.pos)))throw this.raise(Errors.NumberIdentifier,this.state.curPosition());var d=this.input.slice(t,this.state.pos).replace(/[_mn]/g,"");if(i)this.finishToken(135,d);else if(a)this.finishToken(136,d);else{var f=o?parseInt(d,8):parseFloat(d);this.finishToken(134,f)}}},{key:"readCodePoint",value:function(e){var t=readCodePoint2(this.input,this.state.pos,this.state.lineStart,this.state.curLine,e,this.errorHandlers_readCodePoint),r=t.code,n=t.pos;return this.state.pos=n,r}},{key:"readString",value:function(e){var t=readStringContents2(34===e?"double":"single",this.input,this.state.pos+1,this.state.lineStart,this.state.curLine,this.errorHandlers_readStringContents_string),r=t.str,n=t.pos,i=t.curLine,a=t.lineStart;this.state.pos=n+1,this.state.lineStart=a,this.state.curLine=i,this.finishToken(133,r)}},{key:"readTemplateContinuation",value:function(){this.match(8)||this.unexpected(null,8),this.state.pos--,this.readTemplateToken()}},{key:"readTemplateToken",value:function(){var e=this.input[this.state.pos],t=readStringContents2("template",this.input,this.state.pos+1,this.state.lineStart,this.state.curLine,this.errorHandlers_readStringContents_template),r=t.str,n=t.firstInvalidLoc,i=t.pos,a=t.curLine,s=t.lineStart;this.state.pos=i+1,this.state.lineStart=s,this.state.curLine=a,n&&(this.state.firstInvalidTemplateEscapePos=new Position(n.curLine,n.pos-n.lineStart,n.pos)),96===this.input.codePointAt(i)?this.finishToken(24,n?null:e+r+"`"):(this.state.pos++,this.finishToken(25,n?null:e+r+"${"))}},{key:"recordStrictModeErrors",value:function(e,t){var r=t.index;this.state.strict&&!this.state.strictErrors.has(r)?this.raise(e,t):this.state.strictErrors.set(r,[e,t])}},{key:"readWord1",value:function(e){this.state.containsEsc=!1;var t="",r=this.state.pos,n=this.state.pos;for(void 0!==e&&(this.state.pos+=e<=65535?1:2);this.state.pos<this.length;){var i=this.codePointAtPos(this.state.pos);if(isIdentifierChar2(i))this.state.pos+=i<=65535?1:2;else{if(92!==i)break;this.state.containsEsc=!0,t+=this.input.slice(n,this.state.pos);var a=this.state.curPosition(),s=this.state.pos===r?isIdentifierStart2:isIdentifierChar2;if(117!==this.input.charCodeAt(++this.state.pos)){this.raise(Errors.MissingUnicodeEscape,this.state.curPosition()),n=this.state.pos-1;continue}++this.state.pos;var o=this.readCodePoint(!0);null!==o&&(s(o)||this.raise(Errors.EscapedCharNotAnIdentifier,a),t+=String.fromCodePoint(o)),n=this.state.pos}}return t+this.input.slice(n,this.state.pos)}},{key:"readWord",value:function(e){var t=this.readWord1(e),r=keywords$1.get(t);void 0!==r?this.finishToken(r,tokenLabelName(r)):this.finishToken(132,t)}},{key:"checkKeywordEscapes",value:function(){var e=this.state.type;tokenIsKeyword(e)&&this.state.containsEsc&&this.raise(Errors.InvalidEscapedReservedWord,this.state.startLoc,{reservedWord:tokenLabelName(e)})}},{key:"raise",value:function(e,t){var r=arguments.length>2&&void 0!==arguments[2]?arguments[2]:{},n=e(_instanceof(t,Position)?t:t.loc.start,r);if(!this.options.errorRecovery)throw n;return this.isLookahead||this.state.errors.push(n),n}},{key:"raiseOverwrite",value:function(e,t){for(var r=arguments.length>2&&void 0!==arguments[2]?arguments[2]:{},n=_instanceof(t,Position)?t:t.loc.start,i=n.index,a=this.state.errors,s=a.length-1;s>=0;s--){var o=a[s];if(o.loc.index===i)return a[s]=e(n,r);if(o.loc.index<i)break}return this.raise(e,t,r)}},{key:"updateContext",value:function(e){}},{key:"unexpected",value:function(e,t){throw this.raise(Errors.UnexpectedToken,null!=e?e:this.state.startLoc,{expected:t?tokenLabelName(t):null})}},{key:"expectPlugin",value:function(e,t){if(this.hasPlugin(e))return!0;throw this.raise(Errors.MissingPlugin,null!=t?t:this.state.startLoc,{missingPlugin:[e]})}},{key:"expectOnePlugin",value:function(e){var t=this;if(!e.some((function(e){return t.hasPlugin(e)})))throw this.raise(Errors.MissingOneOfPlugins,this.state.startLoc,{missingPlugin:e})}},{key:"errorBuilder",value:function(e){var t=this;return function(r,n,i){t.raise(e,buildPosition(r,n,i))}}}]),r}(CommentsParser),ClassScope=function e(){_class_call_check(this,e),__publicField(this,"privateNames",new Set),__publicField(this,"loneAccessors",new Map),__publicField(this,"undefinedPrivateNames",new Map)},ClassScopeHandler=function(){function e(t){_class_call_check(this,e),__publicField(this,"parser"),__publicField(this,"stack",[]),__publicField(this,"undefinedPrivateNames",new Map),this.parser=t}return _create_class(e,[{key:"current",value:function(){return this.stack[this.stack.length-1]}},{key:"enter",value:function(){this.stack.push(new ClassScope)}},{key:"exit",value:function(){var e=this.stack.pop(),t=this.current(),r=!0,n=!1,i=void 0;try{for(var a,s=Array.from(e.undefinedPrivateNames)[Symbol.iterator]();!(r=(a=s.next()).done);r=!0){var o=_sliced_to_array(a.value,2),l=o[0],u=o[1];t?t.undefinedPrivateNames.has(l)||t.undefinedPrivateNames.set(l,u):this.parser.raise(Errors.InvalidPrivateFieldResolution,u,{identifierName:l})}}catch(e){n=!0,i=e}finally{try{r||null==s.return||s.return()}finally{if(n)throw i}}}},{key:"declarePrivateName",value:function(e,t,r){var n=this.current(),i=n.privateNames,a=n.loneAccessors,s=n.undefinedPrivateNames,o=i.has(e);if(3&t){var l=o&&a.get(e);if(l)(o=(3&l)===(3&t)||(4&l)!==(4&t))||a.delete(e);else o||a.set(e,t)}o&&this.parser.raise(Errors.PrivateNameRedeclaration,r,{identifierName:e}),i.add(e),s.delete(e)}},{key:"usePrivateName",value:function(e,t){var r,n=!0,i=!1,a=void 0;try{for(var s,o=this.stack[Symbol.iterator]();!(n=(s=o.next()).done);n=!0)if((r=s.value).privateNames.has(e))return}catch(e){i=!0,a=e}finally{try{n||null==o.return||o.return()}finally{if(i)throw a}}r?r.undefinedPrivateNames.set(e,t):this.parser.raise(Errors.InvalidPrivateFieldResolution,t,{identifierName:e})}}]),e}(),ExpressionScope=function(){function e(){var t=arguments.length>0&&void 0!==arguments[0]?arguments[0]:0;_class_call_check(this,e),this.type=t}return _create_class(e,[{key:"canBeArrowParameterDeclaration",value:function(){return 2===this.type||1===this.type}},{key:"isCertainlyParameterDeclaration",value:function(){return 3===this.type}}]),e}(),ArrowHeadParsingScope=function(e){_inherits$1(r,e);var t=_create_super(r);function r(e){var n;return _class_call_check(this,r),n=t.call(this,e),__publicField(_assert_this_initialized(n),"declarationErrors",new Map),n}return _create_class(r,[{key:"recordDeclarationError",value:function(e,t){var r=t.index;this.declarationErrors.set(r,[e,t])}},{key:"clearDeclarationError",value:function(e){this.declarationErrors.delete(e)}},{key:"iterateErrors",value:function(e){this.declarationErrors.forEach(e)}}]),r}(ExpressionScope),ExpressionScopeHandler=function(){function e(t){_class_call_check(this,e),__publicField(this,"parser"),__publicField(this,"stack",[new ExpressionScope]),this.parser=t}return _create_class(e,[{key:"enter",value:function(e){this.stack.push(e)}},{key:"exit",value:function(){this.stack.pop()}},{key:"recordParameterInitializerError",value:function(e,t){for(var r=t.loc.start,n=this.stack,i=n.length-1,a=n[i];!a.isCertainlyParameterDeclaration();){if(!a.canBeArrowParameterDeclaration())return;a.recordDeclarationError(e,r),a=n[--i]}this.parser.raise(e,r)}},{key:"recordArrowParameterBindingError",value:function(e,t){var r=this.stack,n=r[r.length-1],i=t.loc.start;if(n.isCertainlyParameterDeclaration())this.parser.raise(e,i);else{if(!n.canBeArrowParameterDeclaration())return;n.recordDeclarationError(e,i)}}},{key:"recordAsyncArrowParametersError",value:function(e){for(var t=this.stack,r=t.length-1,n=t[r];n.canBeArrowParameterDeclaration();)2===n.type&&n.recordDeclarationError(Errors.AwaitBindingIdentifier,e),n=t[--r]}},{key:"validateAsPattern",value:function(){var e=this,t=this.stack,r=t[t.length-1];r.canBeArrowParameterDeclaration()&&r.iterateErrors((function(r){var n=_sliced_to_array(r,2),i=n[0],a=n[1];e.parser.raise(i,a);for(var s=t.length-2,o=t[s];o.canBeArrowParameterDeclaration();)o.clearDeclarationError(a.index),o=t[--s]}))}}]),e}();function newParameterDeclarationScope(){return new ExpressionScope(3)}function newArrowHeadScope(){return new ArrowHeadParsingScope(1)}function newAsyncArrowScope(){return new ArrowHeadParsingScope(2)}function newExpressionScope(){return new ExpressionScope}var ProductionParameterHandler=function(){function e(){_class_call_check(this,e),__publicField(this,"stacks",[])}return _create_class(e,[{key:"enter",value:function(e){this.stacks.push(e)}},{key:"exit",value:function(){this.stacks.pop()}},{key:"currentFlags",value:function(){return this.stacks[this.stacks.length-1]}},{key:"hasAwait",get:function(){return(2&this.currentFlags())>0}},{key:"hasYield",get:function(){return(1&this.currentFlags())>0}},{key:"hasReturn",get:function(){return(4&this.currentFlags())>0}},{key:"hasIn",get:function(){return(8&this.currentFlags())>0}}]),e}();function functionFlags(e,t){return(e?2:0)|(t?1:0)}var UtilParser=function(e){_inherits$1(r,e);var t=_create_super(r);function r(){return _class_call_check(this,r),t.apply(this,arguments)}return _create_class(r,[{key:"addExtra",value:function(e,t,r){var n=!(arguments.length>3&&void 0!==arguments[3])||arguments[3];if(e){var i=e.extra=e.extra||{};n?i[t]=r:Object.defineProperty(i,t,{enumerable:n,value:r})}}},{key:"isContextual",value:function(e){return this.state.type===e&&!this.state.containsEsc}},{key:"isUnparsedContextual",value:function(e,t){var r=e+t.length;if(this.input.slice(e,r)===t){var n=this.input.charCodeAt(r);return!(isIdentifierChar2(n)||55296==(64512&n))}return!1}},{key:"isLookaheadContextual",value:function(e){var t=this.nextTokenStart();return this.isUnparsedContextual(t,e)}},{key:"eatContextual",value:function(e){return!!this.isContextual(e)&&(this.next(),!0)}},{key:"expectContextual",value:function(e,t){if(!this.eatContextual(e)){if(null!=t)throw this.raise(t,this.state.startLoc);this.unexpected(null,e)}}},{key:"canInsertSemicolon",value:function(){return this.match(139)||this.match(8)||this.hasPrecedingLineBreak()}},{key:"hasPrecedingLineBreak",value:function(){return lineBreak.test(this.input.slice(this.state.lastTokEndLoc.index,this.state.start))}},{key:"hasFollowingLineBreak",value:function(){return skipWhiteSpaceToLineBreak.lastIndex=this.state.end,skipWhiteSpaceToLineBreak.test(this.input)}},{key:"isLineTerminator",value:function(){return this.eat(13)||this.canInsertSemicolon()}},{key:"semicolon",value:function(){(!(arguments.length>0&&void 0!==arguments[0])||arguments[0]?this.isLineTerminator():this.eat(13))||this.raise(Errors.MissingSemicolon,this.state.lastTokEndLoc)}},{key:"expect",value:function(e,t){this.eat(e)||this.unexpected(t,e)}},{key:"tryParse",value:function(e){var t=arguments.length>1&&void 0!==arguments[1]?arguments[1]:this.state.clone(),r={node:null};try{var n=e((function(){var e=arguments.length>0&&void 0!==arguments[0]?arguments[0]:null;throw r.node=e,r}));if(this.state.errors.length>t.errors.length){var i=this.state;return this.state=t,this.state.tokensLength=i.tokensLength,{node:n,error:i.errors[t.errors.length],thrown:!1,aborted:!1,failState:i}}return{node:n,error:null,thrown:!1,aborted:!1,failState:null}}catch(e){var a=this.state;if(this.state=t,_instanceof(e,SyntaxError))return{node:null,error:e,thrown:!0,aborted:!1,failState:a};if(e===r)return{node:r.node,error:null,thrown:!1,aborted:!0,failState:a};throw e}}},{key:"checkExpressionErrors",value:function(e,t){if(!e)return!1;var r=e.shorthandAssignLoc,n=e.doubleProtoLoc,i=e.privateKeyLoc,a=e.optionalParametersLoc;if(!t)return!!(r||n||a||i);null!=r&&this.raise(Errors.InvalidCoverInitializedName,r),null!=n&&this.raise(Errors.DuplicateProto,n),null!=i&&this.raise(Errors.UnexpectedPrivateField,i),null!=a&&this.unexpected(a)}},{key:"isLiteralPropertyName",value:function(){return tokenIsLiteralPropertyName(this.state.type)}},{key:"isPrivateName",value:function(e){return"PrivateName"===e.type}},{key:"getPrivateNameSV",value:function(e){return e.id.name}},{key:"hasPropertyAsPrivateName",value:function(e){return("MemberExpression"===e.type||"OptionalMemberExpression"===e.type)&&this.isPrivateName(e.property)}},{key:"isObjectProperty",value:function(e){return"ObjectProperty"===e.type}},{key:"isObjectMethod",value:function(e){return"ObjectMethod"===e.type}},{key:"initializeScopes",value:function(){var e=this,t=arguments.length>0&&void 0!==arguments[0]?arguments[0]:"module"===this.options.sourceType,r=this.state.labels;this.state.labels=[];var n=this.exportedIdentifiers;this.exportedIdentifiers=new Set;var i=this.inModule;this.inModule=t;var a=this.scope,s=this.getScopeHandler();this.scope=new s(this,t);var o=this.prodParam;this.prodParam=new ProductionParameterHandler;var l=this.classScope;this.classScope=new ClassScopeHandler(this);var u=this.expressionScope;return this.expressionScope=new ExpressionScopeHandler(this),function(){e.state.labels=r,e.exportedIdentifiers=n,e.inModule=i,e.scope=a,e.prodParam=o,e.classScope=l,e.expressionScope=u}}},{key:"enterInitialScopes",value:function(){var e=0;this.inModule&&(e|=2),this.scope.enter(1),this.prodParam.enter(e)}},{key:"checkDestructuringPrivate",value:function(e){var t=e.privateKeyLoc;null!==t&&this.expectPlugin("destructuringPrivate",t)}}]),r}(Tokenizer),ExpressionErrors=function e(){_class_call_check(this,e),__publicField(this,"shorthandAssignLoc",null),__publicField(this,"doubleProtoLoc",null),__publicField(this,"privateKeyLoc",null),__publicField(this,"optionalParametersLoc",null)},Node$1=function e(t,r,n){_class_call_check(this,e),__publicField(this,"type",""),this.start=r,this.end=0,this.loc=new SourceLocation(n),(null==t?void 0:t.options.ranges)&&(this.range=[r,0]),(null==t?void 0:t.filename)&&(this.loc.filename=t.filename)},NodePrototype=Node$1.prototype;function clonePlaceholder(e){return cloneIdentifier(e)}function cloneIdentifier(e){var t=e.type,r=e.start,n=e.end,i=e.loc,a=e.range,s=e.extra,o=e.name,l=Object.create(NodePrototype);return l.type=t,l.start=r,l.end=n,l.loc=i,l.range=a,l.extra=s,l.name=o,"Placeholder"===t&&(l.expectedNode=e.expectedNode),l}function cloneStringLiteral(e){var t=e.type,r=e.start,n=e.end,i=e.loc,a=e.range,s=e.extra;if("Placeholder"===t)return clonePlaceholder(e);var o=Object.create(NodePrototype);return o.type=t,o.start=r,o.end=n,o.loc=i,o.range=a,void 0!==e.raw?o.raw=e.raw:o.extra=s,o.value=e.value,o}var NodeUtils=function(e){_inherits$1(r,e);var t=_create_super(r);function r(){return _class_call_check(this,r),t.apply(this,arguments)}return _create_class(r,[{key:"startNode",value:function(){var e=this.state.startLoc;return new Node$1(this,e.index,e)}},{key:"startNodeAt",value:function(e){return new Node$1(this,e.index,e)}},{key:"startNodeAtNode",value:function(e){return this.startNodeAt(e.loc.start)}},{key:"finishNode",value:function(e,t){return this.finishNodeAt(e,t,this.state.lastTokEndLoc)}},{key:"finishNodeAt",value:function(e,t,r){return e.type=t,e.end=r.index,e.loc.end=r,this.options.ranges&&(e.range[1]=r.index),this.options.attachComment&&this.processComment(e),e}},{key:"resetStartLocation",value:function(e,t){e.start=t.index,e.loc.start=t,this.options.ranges&&(e.range[0]=t.index)}},{key:"resetEndLocation",value:function(e){var t=arguments.length>1&&void 0!==arguments[1]?arguments[1]:this.state.lastTokEndLoc;e.end=t.index,e.loc.end=t,this.options.ranges&&(e.range[1]=t.index)}},{key:"resetStartLocationFromNode",value:function(e,t){this.resetStartLocation(e,t.loc.start)}}]),r}(UtilParser),reservedTypes=new Set(["_","any","bool","boolean","empty","extends","false","interface","mixed","null","number","static","string","true","typeof","void"]),FlowErrors=ParseErrorEnum(_templateObject1())({AmbiguousConditionalArrow:"Ambiguous expression: wrap the arrow functions in parentheses to disambiguate.",AmbiguousDeclareModuleKind:"Found both `declare module.exports` and `declare export` in the same module. Modules can only have 1 since they are either an ES module or they are a CommonJS module.",AssignReservedType:function(e){var t=e.reservedType;return"Cannot overwrite reserved type ".concat(t,".")},DeclareClassElement:"The `declare` modifier can only appear on class fields.",DeclareClassFieldInitializer:"Initializers are not allowed in fields with the `declare` modifier.",DuplicateDeclareModuleExports:"Duplicate `declare module.exports` statement.",EnumBooleanMemberNotInitialized:function(e){var t=e.memberName,r=e.enumName;return"Boolean enum members need to be initialized. Use either `".concat(t," = true,` or `").concat(t," = false,` in enum `").concat(r,"`.")},EnumDuplicateMemberName:function(e){var t=e.memberName,r=e.enumName;return"Enum member names need to be unique, but the name `".concat(t,"` has already been used before in enum `").concat(r,"`.")},EnumInconsistentMemberValues:function(e){var t=e.enumName;return"Enum `".concat(t,"` has inconsistent member initializers. Either use no initializers, or consistently use literals (either booleans, numbers, or strings) for all member initializers.")},EnumInvalidExplicitType:function(e){var t=e.invalidEnumType,r=e.enumName;return"Enum type `".concat(t,"` is not valid. Use one of `boolean`, `number`, `string`, or `symbol` in enum `").concat(r,"`.")},EnumInvalidExplicitTypeUnknownSupplied:function(e){var t=e.enumName;return"Supplied enum type is not valid. Use one of `boolean`, `number`, `string`, or `symbol` in enum `".concat(t,"`.")},EnumInvalidMemberInitializerPrimaryType:function(e){var t=e.enumName,r=e.memberName,n=e.explicitType;return"Enum `".concat(t,"` has type `").concat(n,"`, so the initializer of `").concat(r,"` needs to be a ").concat(n," literal.")},EnumInvalidMemberInitializerSymbolType:function(e){var t=e.enumName,r=e.memberName;return"Symbol enum members cannot be initialized. Use `".concat(r,",` in enum `").concat(t,"`.")},EnumInvalidMemberInitializerUnknownType:function(e){var t=e.enumName,r=e.memberName;return"The enum member initializer for `".concat(r,"` needs to be a literal (either a boolean, number, or string) in enum `").concat(t,"`.")},EnumInvalidMemberName:function(e){var t=e.enumName,r=e.memberName,n=e.suggestion;return"Enum member names cannot start with lowercase 'a' through 'z'. Instead of using `".concat(r,"`, consider using `").concat(n,"`, in enum `").concat(t,"`.")},EnumNumberMemberNotInitialized:function(e){var t=e.enumName,r=e.memberName;return"Number enum members need to be initialized, e.g. `".concat(r," = 1` in enum `").concat(t,"`.")},EnumStringMemberInconsistentlyInitialized:function(e){var t=e.enumName;return"String enum members need to consistently either all use initializers, or use no initializers, in enum `".concat(t,"`.")},GetterMayNotHaveThisParam:"A getter cannot have a `this` parameter.",ImportReflectionHasImportType:"An `import module` declaration can not use `type` or `typeof` keyword.",ImportTypeShorthandOnlyInPureImport:"The `type` and `typeof` keywords on named imports can only be used on regular `import` statements. It cannot be used with `import type` or `import typeof` statements.",InexactInsideExact:"Explicit inexact syntax cannot appear inside an explicit exact object type.",InexactInsideNonObject:"Explicit inexact syntax cannot appear in class or interface definitions.",InexactVariance:"Explicit inexact syntax cannot have variance.",InvalidNonTypeImportInDeclareModule:"Imports within a `declare module` body must always be `import type` or `import typeof`.",MissingTypeParamDefault:"Type parameter declaration needs a default, since a preceding type parameter declaration has a default.",NestedDeclareModule:"`declare module` cannot be used inside another `declare module`.",NestedFlowComment:"Cannot have a flow comment inside another flow comment.",PatternIsOptional:Object.assign({message:"A binding pattern parameter cannot be optional in an implementation signature."},{}),SetterMayNotHaveThisParam:"A setter cannot have a `this` parameter.",SpreadVariance:"Spread properties cannot have variance.",ThisParamAnnotationRequired:"A type annotation is required for the `this` parameter.",ThisParamBannedInConstructor:"Constructors cannot have a `this` parameter; constructors don't bind `this` like other functions.",ThisParamMayNotBeOptional:"The `this` parameter cannot be optional.",ThisParamMustBeFirst:"The `this` parameter must be the first function parameter.",ThisParamNoDefault:"The `this` parameter may not have a default value.",TypeBeforeInitializer:"Type annotations must come before default assignments, e.g. instead of `age = 25: number` use `age: number = 25`.",TypeCastInPattern:"The type cast expression is expected to be wrapped with parenthesis.",UnexpectedExplicitInexactInObject:"Explicit inexact syntax must appear at the end of an inexact object.",UnexpectedReservedType:function(e){var t=e.reservedType;return"Unexpected reserved type ".concat(t,".")},UnexpectedReservedUnderscore:"`_` is only allowed as a type argument to call or new.",UnexpectedSpaceBetweenModuloChecks:"Spaces between `%` and `checks` are not allowed here.",UnexpectedSpreadType:"Spread operator cannot appear in class or interface definitions.",UnexpectedSubtractionOperand:'Unexpected token, expected "number" or "bigint".',UnexpectedTokenAfterTypeParameter:"Expected an arrow function after this type parameter declaration.",UnexpectedTypeParameterBeforeAsyncArrowFunction:"Type parameters must come after the async keyword, e.g. instead of `<T> async () => {}`, use `async <T>() => {}`.",UnsupportedDeclareExportKind:function(e){var t=e.unsupportedExportKind,r=e.suggestion;return"`declare export ".concat(t,"` is not supported. Use `").concat(r,"` instead.")},UnsupportedStatementInDeclareModule:"Only declares and type imports are allowed inside declare module.",UnterminatedFlowComment:"Unterminated flow-comment."});function isEsModuleType(e){return"DeclareExportAllDeclaration"===e.type||"DeclareExportDeclaration"===e.type&&(!e.declaration||"TypeAlias"!==e.declaration.type&&"InterfaceDeclaration"!==e.declaration.type)}function hasTypeImportKind(e){return"type"===e.importKind||"typeof"===e.importKind}var exportSuggestions={const:"declare export var",let:"declare export var",type:"export type",interface:"export interface"};function partition(e,t){for(var r=[],n=[],i=0;i<e.length;i++)(t(e[i],i,e)?r:n).push(e[i]);return[r,n]}var FLOW_PRAGMA_REGEX=/\*?\s*@((?:no)?flow)\b/,flow$3=function(e){var t=function(e){_inherits$1(r,e);var t=_create_super(r);function r(){var e;return _class_call_check(this,r),e=t.call.apply(t,[this].concat(Array.prototype.slice.call(arguments))),__publicField(_assert_this_initialized(e),"flowPragma"),e}return _create_class(r,[{key:"getScopeHandler",value:function(){return FlowScopeHandler}},{key:"shouldParseTypes",value:function(){return this.getPluginOption("flow","all")||"flow"===this.flowPragma}},{key:"shouldParseEnums",value:function(){return!!this.getPluginOption("flow","enums")}},{key:"finishToken",value:function(e,t){133!==e&&13!==e&&28!==e&&void 0===this.flowPragma&&(this.flowPragma=null),_get(_get_prototype_of(r.prototype),"finishToken",this).call(this,e,t)}},{key:"addComment",value:function(e){if(void 0===this.flowPragma){var t=FLOW_PRAGMA_REGEX.exec(e.value);if(t)if("flow"===t[1])this.flowPragma="flow";else{if("noflow"!==t[1])throw new Error("Unexpected flow pragma");this.flowPragma="noflow"}else;}_get(_get_prototype_of(r.prototype),"addComment",this).call(this,e)}},{key:"flowParseTypeInitialiser",value:function(e){var t=this.state.inType;this.state.inType=!0,this.expect(e||14);var r=this.flowParseType();return this.state.inType=t,r}},{key:"flowParsePredicate",value:function(){var e=this.startNode(),t=this.state.startLoc;return this.next(),this.expectContextual(110),this.state.lastTokStartLoc.index>t.index+1&&this.raise(FlowErrors.UnexpectedSpaceBetweenModuloChecks,t),this.eat(10)?(e.value=_get(_get_prototype_of(r.prototype),"parseExpression",this).call(this),this.expect(11),this.finishNode(e,"DeclaredPredicate")):this.finishNode(e,"InferredPredicate")}},{key:"flowParseTypeAndPredicateInitialiser",value:function(){var e=this.state.inType;this.state.inType=!0,this.expect(14);var t=null,r=null;return this.match(54)?(this.state.inType=e,r=this.flowParsePredicate()):(t=this.flowParseType(),this.state.inType=e,this.match(54)&&(r=this.flowParsePredicate())),[t,r]}},{key:"flowParseDeclareClass",value:function(e){return this.next(),this.flowParseInterfaceish(e,!0),this.finishNode(e,"DeclareClass")}},{key:"flowParseDeclareFunction",value:function(e){this.next();var t=e.id=this.parseIdentifier(),r=this.startNode(),n=this.startNode();this.match(47)?r.typeParameters=this.flowParseTypeParameterDeclaration():r.typeParameters=null,this.expect(10);var i,a=this.flowParseFunctionTypeParams();return r.params=a.params,r.rest=a.rest,r.this=a._this,this.expect(11),i=_sliced_to_array(this.flowParseTypeAndPredicateInitialiser(),2),r.returnType=i[0],e.predicate=i[1],n.typeAnnotation=this.finishNode(r,"FunctionTypeAnnotation"),t.typeAnnotation=this.finishNode(n,"TypeAnnotation"),this.resetEndLocation(t),this.semicolon(),this.scope.declareName(e.id.name,2048,e.id.loc.start),this.finishNode(e,"DeclareFunction")}},{key:"flowParseDeclare",value:function(e,t){return this.match(80)?this.flowParseDeclareClass(e):this.match(68)?this.flowParseDeclareFunction(e):this.match(74)?this.flowParseDeclareVariable(e):this.eatContextual(127)?this.match(16)?this.flowParseDeclareModuleExports(e):(t&&this.raise(FlowErrors.NestedDeclareModule,this.state.lastTokStartLoc),this.flowParseDeclareModule(e)):this.isContextual(130)?this.flowParseDeclareTypeAlias(e):this.isContextual(131)?this.flowParseDeclareOpaqueType(e):this.isContextual(129)?this.flowParseDeclareInterface(e):this.match(82)?this.flowParseDeclareExportDeclaration(e,t):void this.unexpected()}},{key:"flowParseDeclareVariable",value:function(e){return this.next(),e.id=this.flowParseTypeAnnotatableIdentifier(!0),this.scope.declareName(e.id.name,5,e.id.loc.start),this.semicolon(),this.finishNode(e,"DeclareVariable")}},{key:"flowParseDeclareModule",value:function(e){var t=this;this.scope.enter(0),this.match(133)?e.id=_get(_get_prototype_of(r.prototype),"parseExprAtom",this).call(this):e.id=this.parseIdentifier();var n=e.body=this.startNode(),i=n.body=[];for(this.expect(5);!this.match(8);){var a=this.startNode();this.match(83)?(this.next(),this.isContextual(130)||this.match(87)||this.raise(FlowErrors.InvalidNonTypeImportInDeclareModule,this.state.lastTokStartLoc),_get(_get_prototype_of(r.prototype),"parseImport",this).call(this,a)):(this.expectContextual(125,FlowErrors.UnsupportedStatementInDeclareModule),a=this.flowParseDeclare(a,!0)),i.push(a)}this.scope.exit(),this.expect(8),this.finishNode(n,"BlockStatement");var s=null,o=!1;return i.forEach((function(e){isEsModuleType(e)?("CommonJS"===s&&t.raise(FlowErrors.AmbiguousDeclareModuleKind,e),s="ES"):"DeclareModuleExports"===e.type&&(o&&t.raise(FlowErrors.DuplicateDeclareModuleExports,e),"ES"===s&&t.raise(FlowErrors.AmbiguousDeclareModuleKind,e),s="CommonJS",o=!0)})),e.kind=s||"CommonJS",this.finishNode(e,"DeclareModule")}},{key:"flowParseDeclareExportDeclaration",value:function(e,t){if(this.expect(82),this.eat(65))return this.match(68)||this.match(80)?e.declaration=this.flowParseDeclare(this.startNode()):(e.declaration=this.flowParseType(),this.semicolon()),e.default=!0,this.finishNode(e,"DeclareExportDeclaration");if(this.match(75)||this.isLet()||(this.isContextual(130)||this.isContextual(129))&&!t){var r=this.state.value;throw this.raise(FlowErrors.UnsupportedDeclareExportKind,this.state.startLoc,{unsupportedExportKind:r,suggestion:exportSuggestions[r]})}return this.match(74)||this.match(68)||this.match(80)||this.isContextual(131)?(e.declaration=this.flowParseDeclare(this.startNode()),e.default=!1,this.finishNode(e,"DeclareExportDeclaration")):this.match(55)||this.match(5)||this.isContextual(129)||this.isContextual(130)||this.isContextual(131)?("ExportNamedDeclaration"===(e=this.parseExport(e,null)).type&&(e.type="ExportDeclaration",e.default=!1,delete e.exportKind),e.type="Declare"+e.type,e):void this.unexpected()}},{key:"flowParseDeclareModuleExports",value:function(e){return this.next(),this.expectContextual(111),e.typeAnnotation=this.flowParseTypeAnnotation(),this.semicolon(),this.finishNode(e,"DeclareModuleExports")}},{key:"flowParseDeclareTypeAlias",value:function(e){this.next();var t=this.flowParseTypeAlias(e);return t.type="DeclareTypeAlias",t}},{key:"flowParseDeclareOpaqueType",value:function(e){this.next();var t=this.flowParseOpaqueType(e,!0);return t.type="DeclareOpaqueType",t}},{key:"flowParseDeclareInterface",value:function(e){return this.next(),this.flowParseInterfaceish(e,!1),this.finishNode(e,"DeclareInterface")}},{key:"flowParseInterfaceish",value:function(e,t){if(e.id=this.flowParseRestrictedIdentifier(!t,!0),this.scope.declareName(e.id.name,t?17:8201,e.id.loc.start),this.match(47)?e.typeParameters=this.flowParseTypeParameterDeclaration():e.typeParameters=null,e.extends=[],this.eat(81))do{e.extends.push(this.flowParseInterfaceExtends())}while(!t&&this.eat(12));if(t){if(e.implements=[],e.mixins=[],this.eatContextual(117))do{e.mixins.push(this.flowParseInterfaceExtends())}while(this.eat(12));if(this.eatContextual(113))do{e.implements.push(this.flowParseInterfaceExtends())}while(this.eat(12))}e.body=this.flowParseObjectType({allowStatic:t,allowExact:!1,allowSpread:!1,allowProto:t,allowInexact:!1})}},{key:"flowParseInterfaceExtends",value:function(){var e=this.startNode();return e.id=this.flowParseQualifiedTypeIdentifier(),this.match(47)?e.typeParameters=this.flowParseTypeParameterInstantiation():e.typeParameters=null,this.finishNode(e,"InterfaceExtends")}},{key:"flowParseInterface",value:function(e){return this.flowParseInterfaceish(e,!1),this.finishNode(e,"InterfaceDeclaration")}},{key:"checkNotUnderscore",value:function(e){"_"===e&&this.raise(FlowErrors.UnexpectedReservedUnderscore,this.state.startLoc)}},{key:"checkReservedType",value:function(e,t,r){reservedTypes.has(e)&&this.raise(r?FlowErrors.AssignReservedType:FlowErrors.UnexpectedReservedType,t,{reservedType:e})}},{key:"flowParseRestrictedIdentifier",value:function(e,t){return this.checkReservedType(this.state.value,this.state.startLoc,t),this.parseIdentifier(e)}},{key:"flowParseTypeAlias",value:function(e){return e.id=this.flowParseRestrictedIdentifier(!1,!0),this.scope.declareName(e.id.name,8201,e.id.loc.start),this.match(47)?e.typeParameters=this.flowParseTypeParameterDeclaration():e.typeParameters=null,e.right=this.flowParseTypeInitialiser(29),this.semicolon(),this.finishNode(e,"TypeAlias")}},{key:"flowParseOpaqueType",value:function(e,t){return this.expectContextual(130),e.id=this.flowParseRestrictedIdentifier(!0,!0),this.scope.declareName(e.id.name,8201,e.id.loc.start),this.match(47)?e.typeParameters=this.flowParseTypeParameterDeclaration():e.typeParameters=null,e.supertype=null,this.match(14)&&(e.supertype=this.flowParseTypeInitialiser(14)),e.impltype=null,t||(e.impltype=this.flowParseTypeInitialiser(29)),this.semicolon(),this.finishNode(e,"OpaqueType")}},{key:"flowParseTypeParameter",value:function(){var e=arguments.length>0&&void 0!==arguments[0]&&arguments[0],t=this.state.startLoc,r=this.startNode(),n=this.flowParseVariance(),i=this.flowParseTypeAnnotatableIdentifier();return r.name=i.name,r.variance=n,r.bound=i.typeAnnotation,this.match(29)?(this.eat(29),r.default=this.flowParseType()):e&&this.raise(FlowErrors.MissingTypeParamDefault,t),this.finishNode(r,"TypeParameter")}},{key:"flowParseTypeParameterDeclaration",value:function(){var e=this.state.inType,t=this.startNode();t.params=[],this.state.inType=!0,this.match(47)||this.match(142)?this.next():this.unexpected();var r=!1;do{var n=this.flowParseTypeParameter(r);t.params.push(n),n.default&&(r=!0),this.match(48)||this.expect(12)}while(!this.match(48));return this.expect(48),this.state.inType=e,this.finishNode(t,"TypeParameterDeclaration")}},{key:"flowParseTypeParameterInstantiation",value:function(){var e=this.startNode(),t=this.state.inType;e.params=[],this.state.inType=!0,this.expect(47);var r=this.state.noAnonFunctionType;for(this.state.noAnonFunctionType=!1;!this.match(48);)e.params.push(this.flowParseType()),this.match(48)||this.expect(12);return this.state.noAnonFunctionType=r,this.expect(48),this.state.inType=t,this.finishNode(e,"TypeParameterInstantiation")}},{key:"flowParseTypeParameterInstantiationCallOrNew",value:function(){var e=this.startNode(),t=this.state.inType;for(e.params=[],this.state.inType=!0,this.expect(47);!this.match(48);)e.params.push(this.flowParseTypeOrImplicitInstantiation()),this.match(48)||this.expect(12);return this.expect(48),this.state.inType=t,this.finishNode(e,"TypeParameterInstantiation")}},{key:"flowParseInterfaceType",value:function(){var e=this.startNode();if(this.expectContextual(129),e.extends=[],this.eat(81))do{e.extends.push(this.flowParseInterfaceExtends())}while(this.eat(12));return e.body=this.flowParseObjectType({allowStatic:!1,allowExact:!1,allowSpread:!1,allowProto:!1,allowInexact:!1}),this.finishNode(e,"InterfaceTypeAnnotation")}},{key:"flowParseObjectPropertyKey",value:function(){return this.match(134)||this.match(133)?_get(_get_prototype_of(r.prototype),"parseExprAtom",this).call(this):this.parseIdentifier(!0)}},{key:"flowParseObjectTypeIndexer",value:function(e,t,r){return e.static=t,14===this.lookahead().type?(e.id=this.flowParseObjectPropertyKey(),e.key=this.flowParseTypeInitialiser()):(e.id=null,e.key=this.flowParseType()),this.expect(3),e.value=this.flowParseTypeInitialiser(),e.variance=r,this.finishNode(e,"ObjectTypeIndexer")}},{key:"flowParseObjectTypeInternalSlot",value:function(e,t){return e.static=t,e.id=this.flowParseObjectPropertyKey(),this.expect(3),this.expect(3),this.match(47)||this.match(10)?(e.method=!0,e.optional=!1,e.value=this.flowParseObjectTypeMethodish(this.startNodeAt(e.loc.start))):(e.method=!1,this.eat(17)&&(e.optional=!0),e.value=this.flowParseTypeInitialiser()),this.finishNode(e,"ObjectTypeInternalSlot")}},{key:"flowParseObjectTypeMethodish",value:function(e){for(e.params=[],e.rest=null,e.typeParameters=null,e.this=null,this.match(47)&&(e.typeParameters=this.flowParseTypeParameterDeclaration()),this.expect(10),this.match(78)&&(e.this=this.flowParseFunctionTypeParam(!0),e.this.name=null,this.match(11)||this.expect(12));!this.match(11)&&!this.match(21);)e.params.push(this.flowParseFunctionTypeParam(!1)),this.match(11)||this.expect(12);return this.eat(21)&&(e.rest=this.flowParseFunctionTypeParam(!1)),this.expect(11),e.returnType=this.flowParseTypeInitialiser(),this.finishNode(e,"FunctionTypeAnnotation")}},{key:"flowParseObjectTypeCallProperty",value:function(e,t){var r=this.startNode();return e.static=t,e.value=this.flowParseObjectTypeMethodish(r),this.finishNode(e,"ObjectTypeCallProperty")}},{key:"flowParseObjectType",value:function(e){var t=e.allowStatic,r=e.allowExact,n=e.allowSpread,i=e.allowProto,a=e.allowInexact,s=this.state.inType;this.state.inType=!0;var o,l,u=this.startNode();u.callProperties=[],u.properties=[],u.indexers=[],u.internalSlots=[];var c=!1;for(r&&this.match(6)?(this.expect(6),o=9,l=!0):(this.expect(5),o=8,l=!1),u.exact=l;!this.match(o);){var p=!1,d=null,f=null,h=this.startNode();if(i&&this.isContextual(118)){var m=this.lookahead();14!==m.type&&17!==m.type&&(this.next(),d=this.state.startLoc,t=!1)}if(t&&this.isContextual(106)){var y=this.lookahead();14!==y.type&&17!==y.type&&(this.next(),p=!0)}var g=this.flowParseVariance();if(this.eat(0))null!=d&&this.unexpected(d),this.eat(0)?(g&&this.unexpected(g.loc.start),u.internalSlots.push(this.flowParseObjectTypeInternalSlot(h,p))):u.indexers.push(this.flowParseObjectTypeIndexer(h,p,g));else if(this.match(10)||this.match(47))null!=d&&this.unexpected(d),g&&this.unexpected(g.loc.start),u.callProperties.push(this.flowParseObjectTypeCallProperty(h,p));else{var v="init";if(this.isContextual(99)||this.isContextual(104))tokenIsLiteralPropertyName(this.lookahead().type)&&(v=this.state.value,this.next());var b=this.flowParseObjectTypeProperty(h,p,d,g,v,n,null!=a?a:!l);null===b?(c=!0,f=this.state.lastTokStartLoc):u.properties.push(b)}this.flowObjectTypeSemicolon(),!f||this.match(8)||this.match(9)||this.raise(FlowErrors.UnexpectedExplicitInexactInObject,f)}this.expect(o),n&&(u.inexact=c);var S=this.finishNode(u,"ObjectTypeAnnotation");return this.state.inType=s,S}},{key:"flowParseObjectTypeProperty",value:function(e,t,r,n,i,a,s){if(this.eat(21))return this.match(12)||this.match(13)||this.match(8)||this.match(9)?(a?s||this.raise(FlowErrors.InexactInsideExact,this.state.lastTokStartLoc):this.raise(FlowErrors.InexactInsideNonObject,this.state.lastTokStartLoc),n&&this.raise(FlowErrors.InexactVariance,n),null):(a||this.raise(FlowErrors.UnexpectedSpreadType,this.state.lastTokStartLoc),null!=r&&this.unexpected(r),n&&this.raise(FlowErrors.SpreadVariance,n),e.argument=this.flowParseType(),this.finishNode(e,"ObjectTypeSpreadProperty"));e.key=this.flowParseObjectPropertyKey(),e.static=t,e.proto=null!=r,e.kind=i;var o=!1;return this.match(47)||this.match(10)?(e.method=!0,null!=r&&this.unexpected(r),n&&this.unexpected(n.loc.start),e.value=this.flowParseObjectTypeMethodish(this.startNodeAt(e.loc.start)),"get"!==i&&"set"!==i||this.flowCheckGetterSetterParams(e),!a&&"constructor"===e.key.name&&e.value.this&&this.raise(FlowErrors.ThisParamBannedInConstructor,e.value.this)):("init"!==i&&this.unexpected(),e.method=!1,this.eat(17)&&(o=!0),e.value=this.flowParseTypeInitialiser(),e.variance=n),e.optional=o,this.finishNode(e,"ObjectTypeProperty")}},{key:"flowCheckGetterSetterParams",value:function(e){var t="get"===e.kind?0:1,r=e.value.params.length+(e.value.rest?1:0);e.value.this&&this.raise("get"===e.kind?FlowErrors.GetterMayNotHaveThisParam:FlowErrors.SetterMayNotHaveThisParam,e.value.this),r!==t&&this.raise("get"===e.kind?Errors.BadGetterArity:Errors.BadSetterArity,e),"set"===e.kind&&e.value.rest&&this.raise(Errors.BadSetterRestParameter,e)}},{key:"flowObjectTypeSemicolon",value:function(){this.eat(13)||this.eat(12)||this.match(8)||this.match(9)||this.unexpected()}},{key:"flowParseQualifiedTypeIdentifier",value:function(e,t){null!=e||(e=this.state.startLoc);for(var r=t||this.flowParseRestrictedIdentifier(!0);this.eat(16);){var n=this.startNodeAt(e);n.qualification=r,n.id=this.flowParseRestrictedIdentifier(!0),r=this.finishNode(n,"QualifiedTypeIdentifier")}return r}},{key:"flowParseGenericType",value:function(e,t){var r=this.startNodeAt(e);return r.typeParameters=null,r.id=this.flowParseQualifiedTypeIdentifier(e,t),this.match(47)&&(r.typeParameters=this.flowParseTypeParameterInstantiation()),this.finishNode(r,"GenericTypeAnnotation")}},{key:"flowParseTypeofType",value:function(){var e=this.startNode();return this.expect(87),e.argument=this.flowParsePrimaryType(),this.finishNode(e,"TypeofTypeAnnotation")}},{key:"flowParseTupleType",value:function(){var e=this.startNode();for(e.types=[],this.expect(0);this.state.pos<this.length&&!this.match(3)&&(e.types.push(this.flowParseType()),!this.match(3));)this.expect(12);return this.expect(3),this.finishNode(e,"TupleTypeAnnotation")}},{key:"flowParseFunctionTypeParam",value:function(e){var t=null,r=!1,n=null,i=this.startNode(),a=this.lookahead(),s=78===this.state.type;return 14===a.type||17===a.type?(s&&!e&&this.raise(FlowErrors.ThisParamMustBeFirst,i),t=this.parseIdentifier(s),this.eat(17)&&(r=!0,s&&this.raise(FlowErrors.ThisParamMayNotBeOptional,i)),n=this.flowParseTypeInitialiser()):n=this.flowParseType(),i.name=t,i.optional=r,i.typeAnnotation=n,this.finishNode(i,"FunctionTypeParam")}},{key:"reinterpretTypeAsFunctionTypeParam",value:function(e){var t=this.startNodeAt(e.loc.start);return t.name=null,t.optional=!1,t.typeAnnotation=e,this.finishNode(t,"FunctionTypeParam")}},{key:"flowParseFunctionTypeParams",value:function(){var e=arguments.length>0&&void 0!==arguments[0]?arguments[0]:[],t=null,r=null;for(this.match(78)&&((r=this.flowParseFunctionTypeParam(!0)).name=null,this.match(11)||this.expect(12));!this.match(11)&&!this.match(21);)e.push(this.flowParseFunctionTypeParam(!1)),this.match(11)||this.expect(12);return this.eat(21)&&(t=this.flowParseFunctionTypeParam(!1)),{params:e,rest:t,_this:r}}},{key:"flowIdentToTypeAnnotation",value:function(e,t,r){switch(r.name){case"any":return this.finishNode(t,"AnyTypeAnnotation");case"bool":case"boolean":return this.finishNode(t,"BooleanTypeAnnotation");case"mixed":return this.finishNode(t,"MixedTypeAnnotation");case"empty":return this.finishNode(t,"EmptyTypeAnnotation");case"number":return this.finishNode(t,"NumberTypeAnnotation");case"string":return this.finishNode(t,"StringTypeAnnotation");case"symbol":return this.finishNode(t,"SymbolTypeAnnotation");default:return this.checkNotUnderscore(r.name),this.flowParseGenericType(e,r)}}},{key:"flowParsePrimaryType",value:function(){var e,t,n=this.state.startLoc,i=this.startNode(),a=!1,s=this.state.noAnonFunctionType;switch(this.state.type){case 5:return this.flowParseObjectType({allowStatic:!1,allowExact:!1,allowSpread:!0,allowProto:!1,allowInexact:!0});case 6:return this.flowParseObjectType({allowStatic:!1,allowExact:!0,allowSpread:!0,allowProto:!1,allowInexact:!1});case 0:return this.state.noAnonFunctionType=!1,t=this.flowParseTupleType(),this.state.noAnonFunctionType=s,t;case 47:return i.typeParameters=this.flowParseTypeParameterDeclaration(),this.expect(10),e=this.flowParseFunctionTypeParams(),i.params=e.params,i.rest=e.rest,i.this=e._this,this.expect(11),this.expect(19),i.returnType=this.flowParseType(),this.finishNode(i,"FunctionTypeAnnotation");case 10:if(this.next(),!this.match(11)&&!this.match(21))if(tokenIsIdentifier(this.state.type)||this.match(78)){var o=this.lookahead().type;a=17!==o&&14!==o}else a=!0;if(a){if(this.state.noAnonFunctionType=!1,t=this.flowParseType(),this.state.noAnonFunctionType=s,this.state.noAnonFunctionType||!(this.match(12)||this.match(11)&&19===this.lookahead().type))return this.expect(11),t;this.eat(12)}return e=t?this.flowParseFunctionTypeParams([this.reinterpretTypeAsFunctionTypeParam(t)]):this.flowParseFunctionTypeParams(),i.params=e.params,i.rest=e.rest,i.this=e._this,this.expect(11),this.expect(19),i.returnType=this.flowParseType(),i.typeParameters=null,this.finishNode(i,"FunctionTypeAnnotation");case 133:return this.parseLiteral(this.state.value,"StringLiteralTypeAnnotation");case 85:case 86:return i.value=this.match(85),this.next(),this.finishNode(i,"BooleanLiteralTypeAnnotation");case 53:if("-"===this.state.value){if(this.next(),this.match(134))return this.parseLiteralAtNode(-this.state.value,"NumberLiteralTypeAnnotation",i);if(this.match(135))return this.parseLiteralAtNode(-this.state.value,"BigIntLiteralTypeAnnotation",i);throw this.raise(FlowErrors.UnexpectedSubtractionOperand,this.state.startLoc)}return void this.unexpected();case 134:return this.parseLiteral(this.state.value,"NumberLiteralTypeAnnotation");case 135:return this.parseLiteral(this.state.value,"BigIntLiteralTypeAnnotation");case 88:return this.next(),this.finishNode(i,"VoidTypeAnnotation");case 84:return this.next(),this.finishNode(i,"NullLiteralTypeAnnotation");case 78:return this.next(),this.finishNode(i,"ThisTypeAnnotation");case 55:return this.next(),this.finishNode(i,"ExistsTypeAnnotation");case 87:return this.flowParseTypeofType();default:if(tokenIsKeyword(this.state.type)){var l=tokenLabelName(this.state.type);return this.next(),_get(_get_prototype_of(r.prototype),"createIdentifier",this).call(this,i,l)}if(tokenIsIdentifier(this.state.type))return this.isContextual(129)?this.flowParseInterfaceType():this.flowIdentToTypeAnnotation(n,i,this.parseIdentifier())}this.unexpected()}},{key:"flowParsePostfixType",value:function(){for(var e=this.state.startLoc,t=this.flowParsePrimaryType(),r=!1;(this.match(0)||this.match(18))&&!this.canInsertSemicolon();){var n=this.startNodeAt(e),i=this.eat(18);r=r||i,this.expect(0),!i&&this.match(3)?(n.elementType=t,this.next(),t=this.finishNode(n,"ArrayTypeAnnotation")):(n.objectType=t,n.indexType=this.flowParseType(),this.expect(3),r?(n.optional=i,t=this.finishNode(n,"OptionalIndexedAccessType")):t=this.finishNode(n,"IndexedAccessType"))}return t}},{key:"flowParsePrefixType",value:function(){var e=this.startNode();return this.eat(17)?(e.typeAnnotation=this.flowParsePrefixType(),this.finishNode(e,"NullableTypeAnnotation")):this.flowParsePostfixType()}},{key:"flowParseAnonFunctionWithoutParens",value:function(){var e=this.flowParsePrefixType();if(!this.state.noAnonFunctionType&&this.eat(19)){var t=this.startNodeAt(e.loc.start);return t.params=[this.reinterpretTypeAsFunctionTypeParam(e)],t.rest=null,t.this=null,t.returnType=this.flowParseType(),t.typeParameters=null,this.finishNode(t,"FunctionTypeAnnotation")}return e}},{key:"flowParseIntersectionType",value:function(){var e=this.startNode();this.eat(45);var t=this.flowParseAnonFunctionWithoutParens();for(e.types=[t];this.eat(45);)e.types.push(this.flowParseAnonFunctionWithoutParens());return 1===e.types.length?t:this.finishNode(e,"IntersectionTypeAnnotation")}},{key:"flowParseUnionType",value:function(){var e=this.startNode();this.eat(43);var t=this.flowParseIntersectionType();for(e.types=[t];this.eat(43);)e.types.push(this.flowParseIntersectionType());return 1===e.types.length?t:this.finishNode(e,"UnionTypeAnnotation")}},{key:"flowParseType",value:function(){var e=this.state.inType;this.state.inType=!0;var t=this.flowParseUnionType();return this.state.inType=e,t}},{key:"flowParseTypeOrImplicitInstantiation",value:function(){if(132===this.state.type&&"_"===this.state.value){var e=this.state.startLoc,t=this.parseIdentifier();return this.flowParseGenericType(e,t)}return this.flowParseType()}},{key:"flowParseTypeAnnotation",value:function(){var e=this.startNode();return e.typeAnnotation=this.flowParseTypeInitialiser(),this.finishNode(e,"TypeAnnotation")}},{key:"flowParseTypeAnnotatableIdentifier",value:function(e){var t=e?this.parseIdentifier():this.flowParseRestrictedIdentifier();return this.match(14)&&(t.typeAnnotation=this.flowParseTypeAnnotation(),this.resetEndLocation(t)),t}},{key:"typeCastToParameter",value:function(e){return e.expression.typeAnnotation=e.typeAnnotation,this.resetEndLocation(e.expression,e.typeAnnotation.loc.end),e.expression}},{key:"flowParseVariance",value:function(){var e=null;return this.match(53)?(e=this.startNode(),"+"===this.state.value?e.kind="plus":e.kind="minus",this.next(),this.finishNode(e,"Variance")):e}},{key:"parseFunctionBody",value:function(e,t){var n=this,i=arguments.length>2&&void 0!==arguments[2]&&arguments[2];t?this.forwardNoArrowParamsConversionAt(e,(function(){return _get(_get_prototype_of(r.prototype),"parseFunctionBody",n).call(n,e,!0,i)})):_get(_get_prototype_of(r.prototype),"parseFunctionBody",this).call(this,e,!1,i)}},{key:"parseFunctionBodyAndFinish",value:function(e,t){var n=arguments.length>2&&void 0!==arguments[2]&&arguments[2];if(this.match(14)){var i,a=this.startNode();i=_sliced_to_array(this.flowParseTypeAndPredicateInitialiser(),2),a.typeAnnotation=i[0],e.predicate=i[1],e.returnType=a.typeAnnotation?this.finishNode(a,"TypeAnnotation"):null}return _get(_get_prototype_of(r.prototype),"parseFunctionBodyAndFinish",this).call(this,e,t,n)}},{key:"parseStatementLike",value:function(e){if(this.state.strict&&this.isContextual(129)){if(tokenIsKeywordOrIdentifier(this.lookahead().type)){var t=this.startNode();return this.next(),this.flowParseInterface(t)}}else if(this.shouldParseEnums()&&this.isContextual(126)){var n=this.startNode();return this.next(),this.flowParseEnumDeclaration(n)}var i=_get(_get_prototype_of(r.prototype),"parseStatementLike",this).call(this,e);return void 0!==this.flowPragma||this.isValidDirective(i)||(this.flowPragma=null),i}},{key:"parseExpressionStatement",value:function(e,t,n){if("Identifier"===t.type)if("declare"===t.name){if(this.match(80)||tokenIsIdentifier(this.state.type)||this.match(68)||this.match(74)||this.match(82))return this.flowParseDeclare(e)}else if(tokenIsIdentifier(this.state.type)){if("interface"===t.name)return this.flowParseInterface(e);if("type"===t.name)return this.flowParseTypeAlias(e);if("opaque"===t.name)return this.flowParseOpaqueType(e,!1)}return _get(_get_prototype_of(r.prototype),"parseExpressionStatement",this).call(this,e,t,n)}},{key:"shouldParseExportDeclaration",value:function(){var e=this.state.type;return tokenIsFlowInterfaceOrTypeOrOpaque(e)||this.shouldParseEnums()&&126===e?!this.state.containsEsc:_get(_get_prototype_of(r.prototype),"shouldParseExportDeclaration",this).call(this)}},{key:"isExportDefaultSpecifier",value:function(){var e=this.state.type;return tokenIsFlowInterfaceOrTypeOrOpaque(e)||this.shouldParseEnums()&&126===e?this.state.containsEsc:_get(_get_prototype_of(r.prototype),"isExportDefaultSpecifier",this).call(this)}},{key:"parseExportDefaultExpression",value:function(){if(this.shouldParseEnums()&&this.isContextual(126)){var e=this.startNode();return this.next(),this.flowParseEnumDeclaration(e)}return _get(_get_prototype_of(r.prototype),"parseExportDefaultExpression",this).call(this)}},{key:"parseConditional",value:function(e,t,r){var n=this;if(!this.match(17))return e;if(this.state.maybeInArrowParameters){var i=this.lookaheadCharCode();if(44===i||61===i||58===i||41===i)return this.setOptionalParametersError(r),e}this.expect(17);var a=this.state.clone(),s=this.state.noArrowAt,o=this.startNodeAt(t),l=this.tryParseConditionalConsequent(),u=l.consequent,c=l.failed,p=_sliced_to_array(this.getArrowLikeExpressions(u),2),d=p[0],f=p[1];if(c||f.length>0){var h,m=_to_consumable_array(s);if(f.length>0){this.state=a,this.state.noArrowAt=m;for(var y=0;y<f.length;y++)m.push(f[y].start);var g,v;u=(g=this.tryParseConditionalConsequent()).consequent,c=g.failed,d=(v=_sliced_to_array(this.getArrowLikeExpressions(u),2))[0],f=v[1]}if(c&&d.length>1&&this.raise(FlowErrors.AmbiguousConditionalArrow,a.startLoc),c&&1===d.length)this.state=a,m.push(d[0].start),this.state.noArrowAt=m,u=(h=this.tryParseConditionalConsequent()).consequent,c=h.failed}return this.getArrowLikeExpressions(u,!0),this.state.noArrowAt=s,this.expect(14),o.test=e,o.consequent=u,o.alternate=this.forwardNoArrowParamsConversionAt(o,(function(){return n.parseMaybeAssign(void 0,void 0)})),this.finishNode(o,"ConditionalExpression")}},{key:"tryParseConditionalConsequent",value:function(){this.state.noArrowParamsConversionAt.push(this.state.start);var e=this.parseMaybeAssignAllowIn(),t=!this.match(14);return this.state.noArrowParamsConversionAt.pop(),{consequent:e,failed:t}}},{key:"getArrowLikeExpressions",value:function(e,t){for(var r=this,n=[e],i=[];0!==n.length;){var a=n.pop();"ArrowFunctionExpression"===a.type?(a.typeParameters||!a.returnType?this.finishArrowValidation(a):i.push(a),n.push(a.body)):"ConditionalExpression"===a.type&&(n.push(a.consequent),n.push(a.alternate))}return t?(i.forEach((function(e){return r.finishArrowValidation(e)})),[i,[]]):partition(i,(function(e){return e.params.every((function(e){return r.isAssignable(e,!0)}))}))}},{key:"finishArrowValidation",value:function(e){var t;this.toAssignableList(e.params,null===(t=e.extra)||void 0===t?void 0:t.trailingCommaLoc,!1),this.scope.enter(6),_get(_get_prototype_of(r.prototype),"checkParams",this).call(this,e,!1,!0),this.scope.exit()}},{key:"forwardNoArrowParamsConversionAt",value:function(e,t){var r;return-1!==this.state.noArrowParamsConversionAt.indexOf(e.start)?(this.state.noArrowParamsConversionAt.push(this.state.start),r=t(),this.state.noArrowParamsConversionAt.pop()):r=t(),r}},{key:"parseParenItem",value:function(e,t){if(e=_get(_get_prototype_of(r.prototype),"parseParenItem",this).call(this,e,t),this.eat(17)&&(e.optional=!0,this.resetEndLocation(e)),this.match(14)){var n=this.startNodeAt(t);return n.expression=e,n.typeAnnotation=this.flowParseTypeAnnotation(),this.finishNode(n,"TypeCastExpression")}return e}},{key:"assertModuleNodeAllowed",value:function(e){"ImportDeclaration"===e.type&&("type"===e.importKind||"typeof"===e.importKind)||"ExportNamedDeclaration"===e.type&&"type"===e.exportKind||"ExportAllDeclaration"===e.type&&"type"===e.exportKind||_get(_get_prototype_of(r.prototype),"assertModuleNodeAllowed",this).call(this,e)}},{key:"parseExportDeclaration",value:function(e){if(this.isContextual(130)){e.exportKind="type";var t=this.startNode();return this.next(),this.match(5)?(e.specifiers=this.parseExportSpecifiers(!0),_get(_get_prototype_of(r.prototype),"parseExportFrom",this).call(this,e),null):this.flowParseTypeAlias(t)}if(this.isContextual(131)){e.exportKind="type";var n=this.startNode();return this.next(),this.flowParseOpaqueType(n,!1)}if(this.isContextual(129)){e.exportKind="type";var i=this.startNode();return this.next(),this.flowParseInterface(i)}if(this.shouldParseEnums()&&this.isContextual(126)){e.exportKind="value";var a=this.startNode();return this.next(),this.flowParseEnumDeclaration(a)}return _get(_get_prototype_of(r.prototype),"parseExportDeclaration",this).call(this,e)}},{key:"eatExportStar",value:function(e){return!!_get(_get_prototype_of(r.prototype),"eatExportStar",this).call(this,e)||!(!this.isContextual(130)||55!==this.lookahead().type)&&(e.exportKind="type",this.next(),this.next(),!0)}},{key:"maybeParseExportNamespaceSpecifier",value:function(e){var t=this.state.startLoc,n=_get(_get_prototype_of(r.prototype),"maybeParseExportNamespaceSpecifier",this).call(this,e);return n&&"type"===e.exportKind&&this.unexpected(t),n}},{key:"parseClassId",value:function(e,t,n){_get(_get_prototype_of(r.prototype),"parseClassId",this).call(this,e,t,n),this.match(47)&&(e.typeParameters=this.flowParseTypeParameterDeclaration())}},{key:"parseClassMember",value:function(e,t,n){var i=this.state.startLoc;if(this.isContextual(125)){if(_get(_get_prototype_of(r.prototype),"parseClassMemberFromModifier",this).call(this,e,t))return;t.declare=!0}_get(_get_prototype_of(r.prototype),"parseClassMember",this).call(this,e,t,n),t.declare&&("ClassProperty"!==t.type&&"ClassPrivateProperty"!==t.type&&"PropertyDefinition"!==t.type?this.raise(FlowErrors.DeclareClassElement,i):t.value&&this.raise(FlowErrors.DeclareClassFieldInitializer,t.value))}},{key:"isIterator",value:function(e){return"iterator"===e||"asyncIterator"===e}},{key:"readIterator",value:function(){var e=_get(_get_prototype_of(r.prototype),"readWord1",this).call(this),t="@@"+e;this.isIterator(e)&&this.state.inType||this.raise(Errors.InvalidIdentifier,this.state.curPosition(),{identifierName:t}),this.finishToken(132,t)}},{key:"getTokenFromCode",value:function(e){var t=this.input.charCodeAt(this.state.pos+1);123===e&&124===t?this.finishOp(6,2):!this.state.inType||62!==e&&60!==e?this.state.inType&&63===e?46===t?this.finishOp(18,2):this.finishOp(17,1):isIteratorStart(e,t,this.input.charCodeAt(this.state.pos+2))?(this.state.pos+=2,this.readIterator()):_get(_get_prototype_of(r.prototype),"getTokenFromCode",this).call(this,e):this.finishOp(62===e?48:47,1)}},{key:"isAssignable",value:function(e,t){return"TypeCastExpression"===e.type?this.isAssignable(e.expression,t):_get(_get_prototype_of(r.prototype),"isAssignable",this).call(this,e,t)}},{key:"toAssignable",value:function(e){var t=arguments.length>1&&void 0!==arguments[1]&&arguments[1];t||"AssignmentExpression"!==e.type||"TypeCastExpression"!==e.left.type||(e.left=this.typeCastToParameter(e.left)),_get(_get_prototype_of(r.prototype),"toAssignable",this).call(this,e,t)}},{key:"toAssignableList",value:function(e,t,n){for(var i=0;i<e.length;i++){var a=e[i];"TypeCastExpression"===(null==a?void 0:a.type)&&(e[i]=this.typeCastToParameter(a))}_get(_get_prototype_of(r.prototype),"toAssignableList",this).call(this,e,t,n)}},{key:"toReferencedList",value:function(e,t){for(var r=0;r<e.length;r++){var n,i=e[r];i&&"TypeCastExpression"===i.type&&!(null===(n=i.extra)||void 0===n?void 0:n.parenthesized)&&(e.length>1||!t)&&this.raise(FlowErrors.TypeCastInPattern,i.typeAnnotation)}return e}},{key:"parseArrayLike",value:function(e,t,n,i){var a=_get(_get_prototype_of(r.prototype),"parseArrayLike",this).call(this,e,t,n,i);return t&&!this.state.maybeInArrowParameters&&this.toReferencedList(a.elements),a}},{key:"isValidLVal",value:function(e,t,n){return"TypeCastExpression"===e||_get(_get_prototype_of(r.prototype),"isValidLVal",this).call(this,e,t,n)}},{key:"parseClassProperty",value:function(e){return this.match(14)&&(e.typeAnnotation=this.flowParseTypeAnnotation()),_get(_get_prototype_of(r.prototype),"parseClassProperty",this).call(this,e)}},{key:"parseClassPrivateProperty",value:function(e){return this.match(14)&&(e.typeAnnotation=this.flowParseTypeAnnotation()),_get(_get_prototype_of(r.prototype),"parseClassPrivateProperty",this).call(this,e)}},{key:"isClassMethod",value:function(){return this.match(47)||_get(_get_prototype_of(r.prototype),"isClassMethod",this).call(this)}},{key:"isClassProperty",value:function(){return this.match(14)||_get(_get_prototype_of(r.prototype),"isClassProperty",this).call(this)}},{key:"isNonstaticConstructor",value:function(e){return!this.match(14)&&_get(_get_prototype_of(r.prototype),"isNonstaticConstructor",this).call(this,e)}},{key:"pushClassMethod",value:function(e,t,n,i,a,s){if(t.variance&&this.unexpected(t.variance.loc.start),delete t.variance,this.match(47)&&(t.typeParameters=this.flowParseTypeParameterDeclaration()),_get(_get_prototype_of(r.prototype),"pushClassMethod",this).call(this,e,t,n,i,a,s),t.params&&a){var o=t.params;o.length>0&&this.isThisParam(o[0])&&this.raise(FlowErrors.ThisParamBannedInConstructor,t)}else if("MethodDefinition"===t.type&&a&&t.value.params){var l=t.value.params;l.length>0&&this.isThisParam(l[0])&&this.raise(FlowErrors.ThisParamBannedInConstructor,t)}}},{key:"pushClassPrivateMethod",value:function(e,t,n,i){t.variance&&this.unexpected(t.variance.loc.start),delete t.variance,this.match(47)&&(t.typeParameters=this.flowParseTypeParameterDeclaration()),_get(_get_prototype_of(r.prototype),"pushClassPrivateMethod",this).call(this,e,t,n,i)}},{key:"parseClassSuper",value:function(e){if(_get(_get_prototype_of(r.prototype),"parseClassSuper",this).call(this,e),e.superClass&&this.match(47)&&(e.superTypeParameters=this.flowParseTypeParameterInstantiation()),this.isContextual(113)){this.next();var t=e.implements=[];do{var n=this.startNode();n.id=this.flowParseRestrictedIdentifier(!0),this.match(47)?n.typeParameters=this.flowParseTypeParameterInstantiation():n.typeParameters=null,t.push(this.finishNode(n,"ClassImplements"))}while(this.eat(12))}}},{key:"checkGetterSetterParams",value:function(e){_get(_get_prototype_of(r.prototype),"checkGetterSetterParams",this).call(this,e);var t=this.getObjectOrClassMethodParams(e);if(t.length>0){var n=t[0];this.isThisParam(n)&&"get"===e.kind?this.raise(FlowErrors.GetterMayNotHaveThisParam,n):this.isThisParam(n)&&this.raise(FlowErrors.SetterMayNotHaveThisParam,n)}}},{key:"parsePropertyNamePrefixOperator",value:function(e){e.variance=this.flowParseVariance()}},{key:"parseObjPropValue",value:function(e,t,n,i,a,s,o){var l;e.variance&&this.unexpected(e.variance.loc.start),delete e.variance,this.match(47)&&!s&&(l=this.flowParseTypeParameterDeclaration(),this.match(10)||this.unexpected());var u=_get(_get_prototype_of(r.prototype),"parseObjPropValue",this).call(this,e,t,n,i,a,s,o);return l&&((u.value||u).typeParameters=l),u}},{key:"parseAssignableListItemTypes",value:function(e){return this.eat(17)&&("Identifier"!==e.type&&this.raise(FlowErrors.PatternIsOptional,e),this.isThisParam(e)&&this.raise(FlowErrors.ThisParamMayNotBeOptional,e),e.optional=!0),this.match(14)?e.typeAnnotation=this.flowParseTypeAnnotation():this.isThisParam(e)&&this.raise(FlowErrors.ThisParamAnnotationRequired,e),this.match(29)&&this.isThisParam(e)&&this.raise(FlowErrors.ThisParamNoDefault,e),this.resetEndLocation(e),e}},{key:"parseMaybeDefault",value:function(e,t){var n=_get(_get_prototype_of(r.prototype),"parseMaybeDefault",this).call(this,e,t);return"AssignmentPattern"===n.type&&n.typeAnnotation&&n.right.start<n.typeAnnotation.start&&this.raise(FlowErrors.TypeBeforeInitializer,n.typeAnnotation),n}},{key:"checkImportReflection",value:function(e){_get(_get_prototype_of(r.prototype),"checkImportReflection",this).call(this,e),e.module&&"value"!==e.importKind&&this.raise(FlowErrors.ImportReflectionHasImportType,e.specifiers[0].loc.start)}},{key:"parseImportSpecifierLocal",value:function(e,t,r){t.local=hasTypeImportKind(e)?this.flowParseRestrictedIdentifier(!0,!0):this.parseIdentifier(),e.specifiers.push(this.finishImportSpecifier(t,r))}},{key:"isPotentialImportPhase",value:function(e){if(_get(_get_prototype_of(r.prototype),"isPotentialImportPhase",this).call(this,e))return!0;if(this.isContextual(130)){if(!e)return!0;var t=this.lookaheadCharCode();return 123===t||42===t}return!e&&this.isContextual(87)}},{key:"applyImportPhase",value:function(e,t,n,i){if(_get(_get_prototype_of(r.prototype),"applyImportPhase",this).call(this,e,t,n,i),t){if(!n&&this.match(65))return;e.exportKind="type"===n?n:"value"}else"type"===n&&this.match(55)&&this.unexpected(),e.importKind="type"===n||"typeof"===n?n:"value"}},{key:"parseImportSpecifier",value:function(e,t,r,n,i){var a=e.imported,s=null;"Identifier"===a.type&&("type"===a.name?s="type":"typeof"===a.name&&(s="typeof"));var o=!1;if(this.isContextual(93)&&!this.isLookaheadContextual("as")){var l=this.parseIdentifier(!0);null===s||tokenIsKeywordOrIdentifier(this.state.type)?(e.imported=a,e.importKind=null,e.local=this.parseIdentifier()):(e.imported=l,e.importKind=s,e.local=cloneIdentifier(l))}else{if(null!==s&&tokenIsKeywordOrIdentifier(this.state.type))e.imported=this.parseIdentifier(!0),e.importKind=s;else{if(t)throw this.raise(Errors.ImportBindingIsString,e,{importName:a.value});e.imported=a,e.importKind=null}this.eatContextual(93)?e.local=this.parseIdentifier():(o=!0,e.local=cloneIdentifier(e.imported))}var u=hasTypeImportKind(e);return r&&u&&this.raise(FlowErrors.ImportTypeShorthandOnlyInPureImport,e),(r||u)&&this.checkReservedType(e.local.name,e.local.loc.start,!0),!o||r||u||this.checkReservedWord(e.local.name,e.loc.start,!0,!0),this.finishImportSpecifier(e,"ImportSpecifier")}},{key:"parseBindingAtom",value:function(){return 78===this.state.type?this.parseIdentifier(!0):_get(_get_prototype_of(r.prototype),"parseBindingAtom",this).call(this)}},{key:"parseFunctionParams",value:function(e,t){var n=e.kind;"get"!==n&&"set"!==n&&this.match(47)&&(e.typeParameters=this.flowParseTypeParameterDeclaration()),_get(_get_prototype_of(r.prototype),"parseFunctionParams",this).call(this,e,t)}},{key:"parseVarId",value:function(e,t){_get(_get_prototype_of(r.prototype),"parseVarId",this).call(this,e,t),this.match(14)&&(e.id.typeAnnotation=this.flowParseTypeAnnotation(),this.resetEndLocation(e.id))}},{key:"parseAsyncArrowFromCallExpression",value:function(e,t){if(this.match(14)){var n=this.state.noAnonFunctionType;this.state.noAnonFunctionType=!0,e.returnType=this.flowParseTypeAnnotation(),this.state.noAnonFunctionType=n}return _get(_get_prototype_of(r.prototype),"parseAsyncArrowFromCallExpression",this).call(this,e,t)}},{key:"shouldParseAsyncArrow",value:function(){return this.match(14)||_get(_get_prototype_of(r.prototype),"shouldParseAsyncArrow",this).call(this)}},{key:"parseMaybeAssign",value:function(e,t){var n,i=this,a=null;if(this.hasPlugin("jsx")&&(this.match(142)||this.match(47))){if(a=this.state.clone(),!(n=this.tryParse((function(){return _get(_get_prototype_of(r.prototype),"parseMaybeAssign",i).call(i,e,t)}),a)).error)return n.node;var s=this.state.context,o=s[s.length-1];o!==types$1d.j_oTag&&o!==types$1d.j_expr||s.pop()}if((null==n?void 0:n.error)||this.match(47)){var l;a=a||this.state.clone();var u=this.tryParse((function(n){var a;l=i.flowParseTypeParameterDeclaration();var s=i.forwardNoArrowParamsConversionAt(l,(function(){var n=_get(_get_prototype_of(r.prototype),"parseMaybeAssign",i).call(i,e,t);return i.resetStartLocationFromNode(n,l),n}));(null===(a=s.extra)||void 0===a?void 0:a.parenthesized)&&n();var o=i.maybeUnwrapTypeCastExpression(s);return"ArrowFunctionExpression"!==o.type&&n(),o.typeParameters=l,i.resetStartLocationFromNode(o,l),s}),a),c=null;if(u.node&&"ArrowFunctionExpression"===this.maybeUnwrapTypeCastExpression(u.node).type){if(!u.error&&!u.aborted)return u.node.async&&this.raise(FlowErrors.UnexpectedTypeParameterBeforeAsyncArrowFunction,l),u.node;c=u.node}if(null==n?void 0:n.node)return this.state=n.failState,n.node;if(c)return this.state=u.failState,c;if(null==n?void 0:n.thrown)throw n.error;if(u.thrown)throw u.error;throw this.raise(FlowErrors.UnexpectedTokenAfterTypeParameter,l)}return _get(_get_prototype_of(r.prototype),"parseMaybeAssign",this).call(this,e,t)}},{key:"parseArrow",value:function(e){var t=this;if(this.match(14)){var n=this.tryParse((function(){var r=t.state.noAnonFunctionType;t.state.noAnonFunctionType=!0;var n,i=t.startNode();return n=_sliced_to_array(t.flowParseTypeAndPredicateInitialiser(),2),i.typeAnnotation=n[0],e.predicate=n[1],t.state.noAnonFunctionType=r,t.canInsertSemicolon()&&t.unexpected(),t.match(19)||t.unexpected(),i}));if(n.thrown)return null;n.error&&(this.state=n.failState),e.returnType=n.node.typeAnnotation?this.finishNode(n.node,"TypeAnnotation"):null}return _get(_get_prototype_of(r.prototype),"parseArrow",this).call(this,e)}},{key:"shouldParseArrow",value:function(e){return this.match(14)||_get(_get_prototype_of(r.prototype),"shouldParseArrow",this).call(this,e)}},{key:"setArrowFunctionParameters",value:function(e,t){-1!==this.state.noArrowParamsConversionAt.indexOf(e.start)?e.params=t:_get(_get_prototype_of(r.prototype),"setArrowFunctionParameters",this).call(this,e,t)}},{key:"checkParams",value:function(e,t,n){var i=!(arguments.length>3&&void 0!==arguments[3])||arguments[3];if(!n||-1===this.state.noArrowParamsConversionAt.indexOf(e.start)){for(var a=0;a<e.params.length;a++)this.isThisParam(e.params[a])&&a>0&&this.raise(FlowErrors.ThisParamMustBeFirst,e.params[a]);_get(_get_prototype_of(r.prototype),"checkParams",this).call(this,e,t,n,i)}}},{key:"parseParenAndDistinguishExpression",value:function(e){return _get(_get_prototype_of(r.prototype),"parseParenAndDistinguishExpression",this).call(this,e&&-1===this.state.noArrowAt.indexOf(this.state.start))}},{key:"parseSubscripts",value:function(e,t,n){var i=this;if("Identifier"===e.type&&"async"===e.name&&-1!==this.state.noArrowAt.indexOf(t.index)){this.next();var a=this.startNodeAt(t);a.callee=e,a.arguments=_get(_get_prototype_of(r.prototype),"parseCallExpressionArguments",this).call(this,11,!1),e=this.finishNode(a,"CallExpression")}else if("Identifier"===e.type&&"async"===e.name&&this.match(47)){var s=this.state.clone(),o=this.tryParse((function(e){return i.parseAsyncArrowWithTypeParameters(t)||e()}),s);if(!o.error&&!o.aborted)return o.node;var l=this.tryParse((function(){return _get(_get_prototype_of(r.prototype),"parseSubscripts",i).call(i,e,t,n)}),s);if(l.node&&!l.error)return l.node;if(o.node)return this.state=o.failState,o.node;if(l.node)return this.state=l.failState,l.node;throw o.error||l.error}return _get(_get_prototype_of(r.prototype),"parseSubscripts",this).call(this,e,t,n)}},{key:"parseSubscript",value:function(e,t,n,i){var a=this;if(this.match(18)&&this.isLookaheadToken_lt()){if(i.optionalChainMember=!0,n)return i.stop=!0,e;this.next();var s=this.startNodeAt(t);return s.callee=e,s.typeArguments=this.flowParseTypeParameterInstantiation(),this.expect(10),s.arguments=this.parseCallExpressionArguments(11,!1),s.optional=!0,this.finishCallExpression(s,!0)}if(!n&&this.shouldParseTypes()&&this.match(47)){var o=this.startNodeAt(t);o.callee=e;var l=this.tryParse((function(){return o.typeArguments=a.flowParseTypeParameterInstantiationCallOrNew(),a.expect(10),o.arguments=_get(_get_prototype_of(r.prototype),"parseCallExpressionArguments",a).call(a,11,!1),i.optionalChainMember&&(o.optional=!1),a.finishCallExpression(o,i.optionalChainMember)}));if(l.node)return l.error&&(this.state=l.failState),l.node}return _get(_get_prototype_of(r.prototype),"parseSubscript",this).call(this,e,t,n,i)}},{key:"parseNewCallee",value:function(e){var t=this;_get(_get_prototype_of(r.prototype),"parseNewCallee",this).call(this,e);var n=null;this.shouldParseTypes()&&this.match(47)&&(n=this.tryParse((function(){return t.flowParseTypeParameterInstantiationCallOrNew()})).node),e.typeArguments=n}},{key:"parseAsyncArrowWithTypeParameters",value:function(e){var t=this.startNodeAt(e);if(this.parseFunctionParams(t,!1),this.parseArrow(t))return _get(_get_prototype_of(r.prototype),"parseArrowExpression",this).call(this,t,void 0,!0)}},{key:"readToken_mult_modulo",value:function(e){var t=this.input.charCodeAt(this.state.pos+1);if(42===e&&47===t&&this.state.hasFlowComment)return this.state.hasFlowComment=!1,this.state.pos+=2,void this.nextToken();_get(_get_prototype_of(r.prototype),"readToken_mult_modulo",this).call(this,e)}},{key:"readToken_pipe_amp",value:function(e){var t=this.input.charCodeAt(this.state.pos+1);124!==e||125!==t?_get(_get_prototype_of(r.prototype),"readToken_pipe_amp",this).call(this,e):this.finishOp(9,2)}},{key:"parseTopLevel",value:function(e,t){var n=_get(_get_prototype_of(r.prototype),"parseTopLevel",this).call(this,e,t);return this.state.hasFlowComment&&this.raise(FlowErrors.UnterminatedFlowComment,this.state.curPosition()),n}},{key:"skipBlockComment",value:function(){if(!this.hasPlugin("flowComments")||!this.skipFlowComment())return _get(_get_prototype_of(r.prototype),"skipBlockComment",this).call(this,this.state.hasFlowComment?"*-/":"*/");if(this.state.hasFlowComment)throw this.raise(FlowErrors.NestedFlowComment,this.state.startLoc);this.hasFlowCommentCompletion();var e=this.skipFlowComment();e&&(this.state.pos+=e,this.state.hasFlowComment=!0)}},{key:"skipFlowComment",value:function(){for(var e=this.state.pos,t=2;[32,9].includes(this.input.charCodeAt(e+t));)t++;var r=this.input.charCodeAt(t+e),n=this.input.charCodeAt(t+e+1);return 58===r&&58===n?t+2:"flow-include"===this.input.slice(t+e,t+e+12)?t+12:58===r&&58!==n&&t}},{key:"hasFlowCommentCompletion",value:function(){if(-1===this.input.indexOf("*/",this.state.pos))throw this.raise(Errors.UnterminatedComment,this.state.curPosition())}},{key:"flowEnumErrorBooleanMemberNotInitialized",value:function(e,t){var r=t.enumName,n=t.memberName;this.raise(FlowErrors.EnumBooleanMemberNotInitialized,e,{memberName:n,enumName:r})}},{key:"flowEnumErrorInvalidMemberInitializer",value:function(e,t){return this.raise(t.explicitType?"symbol"===t.explicitType?FlowErrors.EnumInvalidMemberInitializerSymbolType:FlowErrors.EnumInvalidMemberInitializerPrimaryType:FlowErrors.EnumInvalidMemberInitializerUnknownType,e,t)}},{key:"flowEnumErrorNumberMemberNotInitialized",value:function(e,t){this.raise(FlowErrors.EnumNumberMemberNotInitialized,e,t)}},{key:"flowEnumErrorStringMemberInconsistentlyInitialized",value:function(e,t){this.raise(FlowErrors.EnumStringMemberInconsistentlyInitialized,e,t)}},{key:"flowEnumMemberInit",value:function(){var e=this,t=this.state.startLoc,r=function(){return e.match(12)||e.match(8)};switch(this.state.type){case 134:var n=this.parseNumericLiteral(this.state.value);return r()?{type:"number",loc:n.loc.start,value:n}:{type:"invalid",loc:t};case 133:var i=this.parseStringLiteral(this.state.value);return r()?{type:"string",loc:i.loc.start,value:i}:{type:"invalid",loc:t};case 85:case 86:var a=this.parseBooleanLiteral(this.match(85));return r()?{type:"boolean",loc:a.loc.start,value:a}:{type:"invalid",loc:t};default:return{type:"invalid",loc:t}}}},{key:"flowEnumMemberRaw",value:function(){var e=this.state.startLoc;return{id:this.parseIdentifier(!0),init:this.eat(29)?this.flowEnumMemberInit():{type:"none",loc:e}}}},{key:"flowEnumCheckExplicitTypeMismatch",value:function(e,t,r){var n=t.explicitType;null!==n&&n!==r&&this.flowEnumErrorInvalidMemberInitializer(e,t)}},{key:"flowEnumMembers",value:function(e){for(var t=e.enumName,r=e.explicitType,n=new Set,i={booleanMembers:[],numberMembers:[],stringMembers:[],defaultedMembers:[]},a=!1;!this.match(8);){if(this.eat(21)){a=!0;break}var s=this.startNode(),o=this.flowEnumMemberRaw(),l=o.id,u=o.init,c=l.name;if(""!==c){/^[a-z]/.test(c)&&this.raise(FlowErrors.EnumInvalidMemberName,l,{memberName:c,suggestion:c[0].toUpperCase()+c.slice(1),enumName:t}),n.has(c)&&this.raise(FlowErrors.EnumDuplicateMemberName,l,{memberName:c,enumName:t}),n.add(c);var p={enumName:t,explicitType:r,memberName:c};switch(s.id=l,u.type){case"boolean":this.flowEnumCheckExplicitTypeMismatch(u.loc,p,"boolean"),s.init=u.value,i.booleanMembers.push(this.finishNode(s,"EnumBooleanMember"));break;case"number":this.flowEnumCheckExplicitTypeMismatch(u.loc,p,"number"),s.init=u.value,i.numberMembers.push(this.finishNode(s,"EnumNumberMember"));break;case"string":this.flowEnumCheckExplicitTypeMismatch(u.loc,p,"string"),s.init=u.value,i.stringMembers.push(this.finishNode(s,"EnumStringMember"));break;case"invalid":throw this.flowEnumErrorInvalidMemberInitializer(u.loc,p);case"none":switch(r){case"boolean":this.flowEnumErrorBooleanMemberNotInitialized(u.loc,p);break;case"number":this.flowEnumErrorNumberMemberNotInitialized(u.loc,p);break;default:i.defaultedMembers.push(this.finishNode(s,"EnumDefaultedMember"))}}this.match(8)||this.expect(12)}}return{members:i,hasUnknownMembers:a}}},{key:"flowEnumStringMembers",value:function(e,t,r){var n=r.enumName;if(0===e.length)return t;if(0===t.length)return e;if(t.length>e.length){var i=!0,a=!1,s=void 0;try{for(var o,l=e[Symbol.iterator]();!(i=(o=l.next()).done);i=!0){var u=o.value;this.flowEnumErrorStringMemberInconsistentlyInitialized(u,{enumName:n})}}catch(e){a=!0,s=e}finally{try{i||null==l.return||l.return()}finally{if(a)throw s}}return t}var c=!0,p=!1,d=void 0;try{for(var f,h=t[Symbol.iterator]();!(c=(f=h.next()).done);c=!0){var m=f.value;this.flowEnumErrorStringMemberInconsistentlyInitialized(m,{enumName:n})}}catch(e){p=!0,d=e}finally{try{c||null==h.return||h.return()}finally{if(p)throw d}}return e}},{key:"flowEnumParseExplicitType",value:function(e){var t=e.enumName;if(!this.eatContextual(102))return null;if(!tokenIsIdentifier(this.state.type))throw this.raise(FlowErrors.EnumInvalidExplicitTypeUnknownSupplied,this.state.startLoc,{enumName:t});var r=this.state.value;return this.next(),"boolean"!==r&&"number"!==r&&"string"!==r&&"symbol"!==r&&this.raise(FlowErrors.EnumInvalidExplicitType,this.state.startLoc,{enumName:t,invalidEnumType:r}),r}},{key:"flowEnumBody",value:function(e,t){var r=this,n=t.name,i=t.loc.start,a=this.flowEnumParseExplicitType({enumName:n});this.expect(5);var s=this.flowEnumMembers({enumName:n,explicitType:a}),o=s.members,l=s.hasUnknownMembers;switch(e.hasUnknownMembers=l,a){case"boolean":return e.explicitType=!0,e.members=o.booleanMembers,this.expect(8),this.finishNode(e,"EnumBooleanBody");case"number":return e.explicitType=!0,e.members=o.numberMembers,this.expect(8),this.finishNode(e,"EnumNumberBody");case"string":return e.explicitType=!0,e.members=this.flowEnumStringMembers(o.stringMembers,o.defaultedMembers,{enumName:n}),this.expect(8),this.finishNode(e,"EnumStringBody");case"symbol":return e.members=o.defaultedMembers,this.expect(8),this.finishNode(e,"EnumSymbolBody");default:var u=function(){return e.members=[],r.expect(8),r.finishNode(e,"EnumStringBody")};e.explicitType=!1;var c=o.booleanMembers.length,p=o.numberMembers.length,d=o.stringMembers.length,f=o.defaultedMembers.length;if(c||p||d||f){if(c||p){if(!p&&!d&&c>=f){var h=!0,m=!1,y=void 0;try{for(var g,v=o.defaultedMembers[Symbol.iterator]();!(h=(g=v.next()).done);h=!0){var b=g.value;this.flowEnumErrorBooleanMemberNotInitialized(b.loc.start,{enumName:n,memberName:b.id.name})}}catch(e){m=!0,y=e}finally{try{h||null==v.return||v.return()}finally{if(m)throw y}}return e.members=o.booleanMembers,this.expect(8),this.finishNode(e,"EnumBooleanBody")}if(!c&&!d&&p>=f){var S=!0,_=!1,T=void 0;try{for(var E,x=o.defaultedMembers[Symbol.iterator]();!(S=(E=x.next()).done);S=!0){var P=E.value;this.flowEnumErrorNumberMemberNotInitialized(P.loc.start,{enumName:n,memberName:P.id.name})}}catch(e){_=!0,T=e}finally{try{S||null==x.return||x.return()}finally{if(_)throw T}}return e.members=o.numberMembers,this.expect(8),this.finishNode(e,"EnumNumberBody")}return this.raise(FlowErrors.EnumInconsistentMemberValues,i,{enumName:n}),u()}return e.members=this.flowEnumStringMembers(o.stringMembers,o.defaultedMembers,{enumName:n}),this.expect(8),this.finishNode(e,"EnumStringBody")}return u()}}},{key:"flowParseEnumDeclaration",value:function(e){var t=this.parseIdentifier();return e.id=t,e.body=this.flowEnumBody(this.startNode(),t),this.finishNode(e,"EnumDeclaration")}},{key:"isLookaheadToken_lt",value:function(){var e=this.nextTokenStart();if(60===this.input.charCodeAt(e)){var t=this.input.charCodeAt(e+1);return 60!==t&&61!==t}return!1}},{key:"maybeUnwrapTypeCastExpression",value:function(e){return"TypeCastExpression"===e.type?e.expression:e}}]),r}(e);return t},entities={__proto__:null,quot:'"',amp:"&",apos:"'",lt:"<",gt:">",nbsp:" ",iexcl:"¡",cent:"¢",pound:"£",curren:"¤",yen:"¥",brvbar:"¦",sect:"§",uml:"¨",copy:"©",ordf:"ª",laquo:"«",not:"¬",shy:"",reg:"®",macr:"¯",deg:"°",plusmn:"±",sup2:"²",sup3:"³",acute:"´",micro:"µ",para:"¶",middot:"·",cedil:"¸",sup1:"¹",ordm:"º",raquo:"»",frac14:"¼",frac12:"½",frac34:"¾",iquest:"¿",Agrave:"À",Aacute:"Á",Acirc:"Â",Atilde:"Ã",Auml:"Ä",Aring:"Å",AElig:"Æ",Ccedil:"Ç",Egrave:"È",Eacute:"É",Ecirc:"Ê",Euml:"Ë",Igrave:"Ì",Iacute:"Í",Icirc:"Î",Iuml:"Ï",ETH:"Ð",Ntilde:"Ñ",Ograve:"Ò",Oacute:"Ó",Ocirc:"Ô",Otilde:"Õ",Ouml:"Ö",times:"×",Oslash:"Ø",Ugrave:"Ù",Uacute:"Ú",Ucirc:"Û",Uuml:"Ü",Yacute:"Ý",THORN:"Þ",szlig:"ß",agrave:"à",aacute:"á",acirc:"â",atilde:"ã",auml:"ä",aring:"å",aelig:"æ",ccedil:"ç",egrave:"è",eacute:"é",ecirc:"ê",euml:"ë",igrave:"ì",iacute:"í",icirc:"î",iuml:"ï",eth:"ð",ntilde:"ñ",ograve:"ò",oacute:"ó",ocirc:"ô",otilde:"õ",ouml:"ö",divide:"÷",oslash:"ø",ugrave:"ù",uacute:"ú",ucirc:"û",uuml:"ü",yacute:"ý",thorn:"þ",yuml:"ÿ",OElig:"Œ",oelig:"œ",Scaron:"Š",scaron:"š",Yuml:"Ÿ",fnof:"ƒ",circ:"ˆ",tilde:"˜",Alpha:"Α",Beta:"Β",Gamma:"Γ",Delta:"Δ",Epsilon:"Ε",Zeta:"Ζ",Eta:"Η",Theta:"Θ",Iota:"Ι",Kappa:"Κ",Lambda:"Λ",Mu:"Μ",Nu:"Ν",Xi:"Ξ",Omicron:"Ο",Pi:"Π",Rho:"Ρ",Sigma:"Σ",Tau:"Τ",Upsilon:"Υ",Phi:"Φ",Chi:"Χ",Psi:"Ψ",Omega:"Ω",alpha:"α",beta:"β",gamma:"γ",delta:"δ",epsilon:"ε",zeta:"ζ",eta:"η",theta:"θ",iota:"ι",kappa:"κ",lambda:"λ",mu:"μ",nu:"ν",xi:"ξ",omicron:"ο",pi:"π",rho:"ρ",sigmaf:"ς",sigma:"σ",tau:"τ",upsilon:"υ",phi:"φ",chi:"χ",psi:"ψ",omega:"ω",thetasym:"ϑ",upsih:"ϒ",piv:"ϖ",ensp:" ",emsp:" ",thinsp:" ",zwnj:"",zwj:"",lrm:"",rlm:"",ndash:"–",mdash:"—",lsquo:"‘",rsquo:"’",sbquo:"‚",ldquo:"“",rdquo:"”",bdquo:"„",dagger:"†",Dagger:"‡",bull:"•",hellip:"…",permil:"‰",prime:"′",Prime:"″",lsaquo:"‹",rsaquo:"›",oline:"‾",frasl:"⁄",euro:"€",image:"ℑ",weierp:"℘",real:"ℜ",trade:"™",alefsym:"ℵ",larr:"←",uarr:"↑",rarr:"→",darr:"↓",harr:"↔",crarr:"↵",lArr:"⇐",uArr:"⇑",rArr:"⇒",dArr:"⇓",hArr:"⇔",forall:"∀",part:"∂",exist:"∃",empty:"∅",nabla:"∇",isin:"∈",notin:"∉",ni:"∋",prod:"∏",sum:"∑",minus:"−",lowast:"∗",radic:"√",prop:"∝",infin:"∞",ang:"∠",and:"∧",or:"∨",cap:"∩",cup:"∪",int:"∫",there4:"∴",sim:"∼",cong:"≅",asymp:"≈",ne:"≠",equiv:"≡",le:"≤",ge:"≥",sub:"⊂",sup:"⊃",nsub:"⊄",sube:"⊆",supe:"⊇",oplus:"⊕",otimes:"⊗",perp:"⊥",sdot:"⋅",lceil:"⌈",rceil:"⌉",lfloor:"⌊",rfloor:"⌋",lang:"〈",rang:"〉",loz:"◊",spades:"♠",clubs:"♣",hearts:"♥",diams:"♦"},JsxErrors=ParseErrorEnum(_templateObject2())({AttributeIsEmpty:"JSX attributes must only be assigned a non-empty expression.",MissingClosingTagElement:function(e){var t=e.openingTagName;return"Expected corresponding JSX closing tag for <".concat(t,">.")},MissingClosingTagFragment:"Expected corresponding JSX closing tag for <>.",UnexpectedSequenceExpression:"Sequence expressions cannot be directly nested inside JSX. Did you mean to wrap it in parentheses (...)?",UnexpectedToken:function(e){var t=e.unexpected,r=e.HTMLEntity;return"Unexpected token `".concat(t,"`. Did you mean `").concat(r,"` or `{'").concat(t,"'}`?")},UnsupportedJsxValue:"JSX value should be either an expression or a quoted JSX text.",UnterminatedJsxContent:"Unterminated JSX contents.",UnwrappedAdjacentJSXElements:"Adjacent JSX elements must be wrapped in an enclosing tag. Did you want a JSX fragment <>...</>?"});function isFragment(e){return!!e&&("JSXOpeningFragment"===e.type||"JSXClosingFragment"===e.type)}function getQualifiedJSXName(e){if("JSXIdentifier"===e.type)return e.name;if("JSXNamespacedName"===e.type)return e.namespace.name+":"+e.name.name;if("JSXMemberExpression"===e.type)return getQualifiedJSXName(e.object)+"."+getQualifiedJSXName(e.property);throw new Error("Node had unexpected type: "+e.type)}var jsx$5=function(e){var t=function(e){_inherits$1(r,e);var t=_create_super(r);function r(){return _class_call_check(this,r),t.apply(this,arguments)}return _create_class(r,[{key:"jsxReadToken",value:function(){for(var e="",t=this.state.pos;;){if(this.state.pos>=this.length)throw this.raise(JsxErrors.UnterminatedJsxContent,this.state.startLoc);var n=this.input.charCodeAt(this.state.pos);switch(n){case 60:case 123:return this.state.pos===this.state.start?void(60===n&&this.state.canStartJSXElement?(++this.state.pos,this.finishToken(142)):_get(_get_prototype_of(r.prototype),"getTokenFromCode",this).call(this,n)):(e+=this.input.slice(t,this.state.pos),void this.finishToken(141,e));case 38:e+=this.input.slice(t,this.state.pos),e+=this.jsxReadEntity(),t=this.state.pos;break;case 62:case 125:this.raise(JsxErrors.UnexpectedToken,this.state.curPosition(),{unexpected:this.input[this.state.pos],HTMLEntity:125===n?"}":">"});default:isNewLine(n)?(e+=this.input.slice(t,this.state.pos),e+=this.jsxReadNewLine(!0),t=this.state.pos):++this.state.pos}}}},{key:"jsxReadNewLine",value:function(e){var t,r=this.input.charCodeAt(this.state.pos);return++this.state.pos,13===r&&10===this.input.charCodeAt(this.state.pos)?(++this.state.pos,t=e?"\n":"\r\n"):t=String.fromCharCode(r),++this.state.curLine,this.state.lineStart=this.state.pos,t}},{key:"jsxReadString",value:function(e){for(var t="",r=++this.state.pos;;){if(this.state.pos>=this.length)throw this.raise(Errors.UnterminatedString,this.state.startLoc);var n=this.input.charCodeAt(this.state.pos);if(n===e)break;38===n?(t+=this.input.slice(r,this.state.pos),t+=this.jsxReadEntity(),r=this.state.pos):isNewLine(n)?(t+=this.input.slice(r,this.state.pos),t+=this.jsxReadNewLine(!1),r=this.state.pos):++this.state.pos}t+=this.input.slice(r,this.state.pos++),this.finishToken(133,t)}},{key:"jsxReadEntity",value:function(){var e=++this.state.pos;if(35===this.codePointAtPos(this.state.pos)){++this.state.pos;var t=10;120===this.codePointAtPos(this.state.pos)&&(t=16,++this.state.pos);var r=this.readInt(t,void 0,!1,"bail");if(null!==r&&59===this.codePointAtPos(this.state.pos))return++this.state.pos,String.fromCodePoint(r)}else{for(var n=0,i=!1;n++<10&&this.state.pos<this.length&&!(i=59==this.codePointAtPos(this.state.pos));)++this.state.pos;if(i){var a=this.input.slice(e,this.state.pos),s=entities[a];if(++this.state.pos,s)return s}}return this.state.pos=e,"&"}},{key:"jsxReadWord",value:function(){var e,t=this.state.pos;do{e=this.input.charCodeAt(++this.state.pos)}while(isIdentifierChar2(e)||45===e);this.finishToken(140,this.input.slice(t,this.state.pos))}},{key:"jsxParseIdentifier",value:function(){var e=this.startNode();return this.match(140)?e.name=this.state.value:tokenIsKeyword(this.state.type)?e.name=tokenLabelName(this.state.type):this.unexpected(),this.next(),this.finishNode(e,"JSXIdentifier")}},{key:"jsxParseNamespacedName",value:function(){var e=this.state.startLoc,t=this.jsxParseIdentifier();if(!this.eat(14))return t;var r=this.startNodeAt(e);return r.namespace=t,r.name=this.jsxParseIdentifier(),this.finishNode(r,"JSXNamespacedName")}},{key:"jsxParseElementName",value:function(){var e=this.state.startLoc,t=this.jsxParseNamespacedName();if("JSXNamespacedName"===t.type)return t;for(;this.eat(16);){var r=this.startNodeAt(e);r.object=t,r.property=this.jsxParseIdentifier(),t=this.finishNode(r,"JSXMemberExpression")}return t}},{key:"jsxParseAttributeValue",value:function(){var e;switch(this.state.type){case 5:return e=this.startNode(),this.setContext(types$1d.brace),this.next(),"JSXEmptyExpression"===(e=this.jsxParseExpressionContainer(e,types$1d.j_oTag)).expression.type&&this.raise(JsxErrors.AttributeIsEmpty,e),e;case 142:case 133:return this.parseExprAtom();default:throw this.raise(JsxErrors.UnsupportedJsxValue,this.state.startLoc)}}},{key:"jsxParseEmptyExpression",value:function(){var e=this.startNodeAt(this.state.lastTokEndLoc);return this.finishNodeAt(e,"JSXEmptyExpression",this.state.startLoc)}},{key:"jsxParseSpreadChild",value:function(e){return this.next(),e.expression=this.parseExpression(),this.setContext(types$1d.j_expr),this.state.canStartJSXElement=!0,this.expect(8),this.finishNode(e,"JSXSpreadChild")}},{key:"jsxParseExpressionContainer",value:function(e,t){if(this.match(8))e.expression=this.jsxParseEmptyExpression();else{var r,n=this.parseExpression();"SequenceExpression"!==n.type||(null===(r=n.extra)||void 0===r?void 0:r.parenthesized)||this.raise(JsxErrors.UnexpectedSequenceExpression,n.expressions[1]),e.expression=n}return this.setContext(t),this.state.canStartJSXElement=!0,this.expect(8),this.finishNode(e,"JSXExpressionContainer")}},{key:"jsxParseAttribute",value:function(){var e=this.startNode();return this.match(5)?(this.setContext(types$1d.brace),this.next(),this.expect(21),e.argument=this.parseMaybeAssignAllowIn(),this.setContext(types$1d.j_oTag),this.state.canStartJSXElement=!0,this.expect(8),this.finishNode(e,"JSXSpreadAttribute")):(e.name=this.jsxParseNamespacedName(),e.value=this.eat(29)?this.jsxParseAttributeValue():null,this.finishNode(e,"JSXAttribute"))}},{key:"jsxParseOpeningElementAt",value:function(e){var t=this.startNodeAt(e);return this.eat(143)?this.finishNode(t,"JSXOpeningFragment"):(t.name=this.jsxParseElementName(),this.jsxParseOpeningElementAfterName(t))}},{key:"jsxParseOpeningElementAfterName",value:function(e){for(var t=[];!this.match(56)&&!this.match(143);)t.push(this.jsxParseAttribute());return e.attributes=t,e.selfClosing=this.eat(56),this.expect(143),this.finishNode(e,"JSXOpeningElement")}},{key:"jsxParseClosingElementAt",value:function(e){var t=this.startNodeAt(e);return this.eat(143)?this.finishNode(t,"JSXClosingFragment"):(t.name=this.jsxParseElementName(),this.expect(143),this.finishNode(t,"JSXClosingElement"))}},{key:"jsxParseElementAt",value:function(e){var t=this.startNodeAt(e),r=[],n=this.jsxParseOpeningElementAt(e),i=null;if(!n.selfClosing){e:for(;;)switch(this.state.type){case 142:if(e=this.state.startLoc,this.next(),this.eat(56)){i=this.jsxParseClosingElementAt(e);break e}r.push(this.jsxParseElementAt(e));break;case 141:r.push(this.parseExprAtom());break;case 5:var a=this.startNode();this.setContext(types$1d.brace),this.next(),this.match(21)?r.push(this.jsxParseSpreadChild(a)):r.push(this.jsxParseExpressionContainer(a,types$1d.j_expr));break;default:this.unexpected()}isFragment(n)&&!isFragment(i)&&null!==i?this.raise(JsxErrors.MissingClosingTagFragment,i):!isFragment(n)&&isFragment(i)?this.raise(JsxErrors.MissingClosingTagElement,i,{openingTagName:getQualifiedJSXName(n.name)}):isFragment(n)||isFragment(i)||getQualifiedJSXName(i.name)!==getQualifiedJSXName(n.name)&&this.raise(JsxErrors.MissingClosingTagElement,i,{openingTagName:getQualifiedJSXName(n.name)})}if(isFragment(n)?(t.openingFragment=n,t.closingFragment=i):(t.openingElement=n,t.closingElement=i),t.children=r,this.match(47))throw this.raise(JsxErrors.UnwrappedAdjacentJSXElements,this.state.startLoc);return isFragment(n)?this.finishNode(t,"JSXFragment"):this.finishNode(t,"JSXElement")}},{key:"jsxParseElement",value:function(){var e=this.state.startLoc;return this.next(),this.jsxParseElementAt(e)}},{key:"setContext",value:function(e){var t=this.state.context;t[t.length-1]=e}},{key:"parseExprAtom",value:function(e){return this.match(141)?this.parseLiteral(this.state.value,"JSXText"):this.match(142)?this.jsxParseElement():this.match(47)&&33!==this.input.charCodeAt(this.state.pos)?(this.replaceToken(142),this.jsxParseElement()):_get(_get_prototype_of(r.prototype),"parseExprAtom",this).call(this,e)}},{key:"skipSpace",value:function(){this.curContext().preserveSpace||_get(_get_prototype_of(r.prototype),"skipSpace",this).call(this)}},{key:"getTokenFromCode",value:function(e){var t=this.curContext();if(t!==types$1d.j_expr){if(t===types$1d.j_oTag||t===types$1d.j_cTag){if(isIdentifierStart2(e))return void this.jsxReadWord();if(62===e)return++this.state.pos,void this.finishToken(143);if((34===e||39===e)&&t===types$1d.j_oTag)return void this.jsxReadString(e)}if(60===e&&this.state.canStartJSXElement&&33!==this.input.charCodeAt(this.state.pos+1))return++this.state.pos,void this.finishToken(142);_get(_get_prototype_of(r.prototype),"getTokenFromCode",this).call(this,e)}else this.jsxReadToken()}},{key:"updateContext",value:function(e){var t=this.state,r=t.context,n=t.type;if(56===n&&142===e)r.splice(-2,2,types$1d.j_cTag),this.state.canStartJSXElement=!1;else if(142===n)r.push(types$1d.j_oTag);else if(143===n){var i=r[r.length-1];i===types$1d.j_oTag&&56===e||i===types$1d.j_cTag?(r.pop(),this.state.canStartJSXElement=r[r.length-1]===types$1d.j_expr):(this.setContext(types$1d.j_expr),this.state.canStartJSXElement=!0)}else this.state.canStartJSXElement=tokenComesBeforeExpression(n)}}]),r}(e);return t},TypeScriptScope=function(e){_inherits$1(r,e);var t=_create_super(r);function r(){var e;return _class_call_check(this,r),e=t.call.apply(t,[this].concat(Array.prototype.slice.call(arguments))),__publicField(_assert_this_initialized(e),"tsNames",new Map),e}return r}(Scope),TypeScriptScopeHandler=function(e){_inherits$1(r,e);var t=_create_super(r);function r(){var e;return _class_call_check(this,r),e=t.call.apply(t,[this].concat(Array.prototype.slice.call(arguments))),__publicField(_assert_this_initialized(e),"importsStack",[]),e}return _create_class(r,[{key:"createScope",value:function(e){return this.importsStack.push(new Set),new TypeScriptScope(e)}},{key:"enter",value:function(e){256==e&&this.importsStack.push(new Set),_get(_get_prototype_of(r.prototype),"enter",this).call(this,e)}},{key:"exit",value:function(){var e=_get(_get_prototype_of(r.prototype),"exit",this).call(this);return 256==e&&this.importsStack.pop(),e}},{key:"hasImport",value:function(e,t){var r=this.importsStack.length;if(this.importsStack[r-1].has(e))return!0;if(!t&&r>1)for(var n=0;n<r-1;n++)if(this.importsStack[n].has(e))return!0;return!1}},{key:"declareName",value:function(e,t,n){if(4096&t)return this.hasImport(e,!0)&&this.parser.raise(Errors.VarRedeclaration,n,{identifierName:e}),void this.importsStack[this.importsStack.length-1].add(e);var i=this.currentScope(),a=i.tsNames.get(e)||0;if(1024&t)return this.maybeExportDefined(i,e),void i.tsNames.set(e,16|a);_get(_get_prototype_of(r.prototype),"declareName",this).call(this,e,t,n),2&t&&(1&t||(this.checkRedeclarationInScope(i,e,t,n),this.maybeExportDefined(i,e)),a|=1),256&t&&(a|=2),512&t&&(a|=4),128&t&&(a|=8),a&&i.tsNames.set(e,a)}},{key:"isRedeclaredInScope",value:function(e,t,n){var i=e.tsNames.get(t);return(2&i)>0?!(256&n)||!!(512&n)!==(4&i)>0:128&n&&(8&i)>0?!!(2&e.names.get(t))&&!!(1&n):!!(2&n&&(1&i)>0)||_get(_get_prototype_of(r.prototype),"isRedeclaredInScope",this).call(this,e,t,n)}},{key:"checkLocalExport",value:function(e){var t=e.name;if(!this.hasImport(t)){for(var n=this.scopeStack.length-1;n>=0;n--){var i=this.scopeStack[n].tsNames.get(t);if((1&i)>0||(16&i)>0)return}_get(_get_prototype_of(r.prototype),"checkLocalExport",this).call(this,e)}}}]),r}(ScopeHandler),getOwn$1=function(e,t){return Object.hasOwn(e,t)&&e[t]},unwrapParenthesizedExpression=function(e){return"ParenthesizedExpression"===e.type?unwrapParenthesizedExpression(e.expression):e},LValParser=function(e){_inherits$1(r,e);var t=_create_super(r);function r(){return _class_call_check(this,r),t.apply(this,arguments)}return _create_class(r,[{key:"toAssignable",value:function(e){var t,r=arguments.length>1&&void 0!==arguments[1]&&arguments[1],n=void 0;switch(("ParenthesizedExpression"===e.type||(null===(t=e.extra)||void 0===t?void 0:t.parenthesized))&&(n=unwrapParenthesizedExpression(e),r?"Identifier"===n.type?this.expressionScope.recordArrowParameterBindingError(Errors.InvalidParenthesizedAssignment,e):"MemberExpression"===n.type||this.isOptionalMemberExpression(n)||this.raise(Errors.InvalidParenthesizedAssignment,e):this.raise(Errors.InvalidParenthesizedAssignment,e)),e.type){case"Identifier":case"ObjectPattern":case"ArrayPattern":case"AssignmentPattern":case"RestElement":break;case"ObjectExpression":e.type="ObjectPattern";for(var i=0,a=e.properties.length,s=a-1;i<a;i++){var o,l=e.properties[i],u=i===s;this.toAssignableObjectExpressionProp(l,u,r),u&&"RestElement"===l.type&&(null===(o=e.extra)||void 0===o?void 0:o.trailingCommaLoc)&&this.raise(Errors.RestTrailingComma,e.extra.trailingCommaLoc)}break;case"ObjectProperty":var c=e.key,p=e.value;this.isPrivateName(c)&&this.classScope.usePrivateName(this.getPrivateNameSV(c),c.loc.start),this.toAssignable(p,r);break;case"SpreadElement":throw new Error("Internal @babel/parser error (this is a bug, please report it). SpreadElement should be converted by .toAssignable's caller.");case"ArrayExpression":var d;e.type="ArrayPattern",this.toAssignableList(e.elements,null===(d=e.extra)||void 0===d?void 0:d.trailingCommaLoc,r);break;case"AssignmentExpression":"="!==e.operator&&this.raise(Errors.MissingEqInAssignment,e.left.loc.end),e.type="AssignmentPattern",delete e.operator,this.toAssignable(e.left,r);break;case"ParenthesizedExpression":this.toAssignable(n,r)}}},{key:"toAssignableObjectExpressionProp",value:function(e,t,r){if("ObjectMethod"===e.type)this.raise("get"===e.kind||"set"===e.kind?Errors.PatternHasAccessor:Errors.PatternHasMethod,e.key);else if("SpreadElement"===e.type){e.type="RestElement";var n=e.argument;this.checkToRestConversion(n,!1),this.toAssignable(n,r),t||this.raise(Errors.RestTrailingComma,e)}else this.toAssignable(e,r)}},{key:"toAssignableList",value:function(e,t,r){for(var n=e.length-1,i=0;i<=n;i++){var a=e[i];if(a){if("SpreadElement"===a.type){a.type="RestElement";var s=a.argument;this.checkToRestConversion(s,!0),this.toAssignable(s,r)}else this.toAssignable(a,r);"RestElement"===a.type&&(i<n?this.raise(Errors.RestTrailingComma,a):t&&this.raise(Errors.RestTrailingComma,t))}}}},{key:"isAssignable",value:function(e,t){var r=this;switch(e.type){case"Identifier":case"ObjectPattern":case"ArrayPattern":case"AssignmentPattern":case"RestElement":return!0;case"ObjectExpression":var n=e.properties.length-1;return e.properties.every((function(e,t){return"ObjectMethod"!==e.type&&(t===n||"SpreadElement"!==e.type)&&r.isAssignable(e)}));case"ObjectProperty":return this.isAssignable(e.value);case"SpreadElement":return this.isAssignable(e.argument);case"ArrayExpression":return e.elements.every((function(e){return null===e||r.isAssignable(e)}));case"AssignmentExpression":return"="===e.operator;case"ParenthesizedExpression":return this.isAssignable(e.expression);case"MemberExpression":case"OptionalMemberExpression":return!t;default:return!1}}},{key:"toReferencedList",value:function(e,t){return e}},{key:"toReferencedListDeep",value:function(e,t){this.toReferencedList(e,t);var r=!0,n=!1,i=void 0;try{for(var a,s=e[Symbol.iterator]();!(r=(a=s.next()).done);r=!0){var o=a.value;"ArrayExpression"===(null==o?void 0:o.type)&&this.toReferencedListDeep(o.elements)}}catch(e){n=!0,i=e}finally{try{r||null==s.return||s.return()}finally{if(n)throw i}}}},{key:"parseSpread",value:function(e){var t=this.startNode();return this.next(),t.argument=this.parseMaybeAssignAllowIn(e,void 0),this.finishNode(t,"SpreadElement")}},{key:"parseRestBinding",value:function(){var e=this.startNode();return this.next(),e.argument=this.parseBindingAtom(),this.finishNode(e,"RestElement")}},{key:"parseBindingAtom",value:function(){switch(this.state.type){case 0:var e=this.startNode();return this.next(),e.elements=this.parseBindingList(3,93,1),this.finishNode(e,"ArrayPattern");case 5:return this.parseObjectLike(8,!0)}return this.parseIdentifier()}},{key:"parseBindingList",value:function(e,t,r){for(var n=1&r,i=[],a=!0;!this.eat(e);)if(a?a=!1:this.expect(12),n&&this.match(12))i.push(null);else{if(this.eat(e))break;if(this.match(21)){if(i.push(this.parseAssignableListItemTypes(this.parseRestBinding(),r)),!this.checkCommaAfterRest(t)){this.expect(e);break}}else{var s=[];for(this.match(26)&&this.hasPlugin("decorators")&&this.raise(Errors.UnsupportedParameterDecorator,this.state.startLoc);this.match(26);)s.push(this.parseDecorator());i.push(this.parseAssignableListItem(r,s))}}return i}},{key:"parseBindingRestProperty",value:function(e){return this.next(),e.argument=this.parseIdentifier(),this.checkCommaAfterRest(125),this.finishNode(e,"RestElement")}},{key:"parseBindingProperty",value:function(){var e=this.startNode(),t=this.state,r=t.type,n=t.startLoc;return 21===r?this.parseBindingRestProperty(e):(138===r?(this.expectPlugin("destructuringPrivate",n),this.classScope.usePrivateName(this.state.value,n),e.key=this.parsePrivateName()):this.parsePropertyName(e),e.method=!1,this.parseObjPropValue(e,n,!1,!1,!0,!1))}},{key:"parseAssignableListItem",value:function(e,t){var r=this.parseMaybeDefault();this.parseAssignableListItemTypes(r,e);var n=this.parseMaybeDefault(r.loc.start,r);return t.length&&(r.decorators=t),n}},{key:"parseAssignableListItemTypes",value:function(e,t){return e}},{key:"parseMaybeDefault",value:function(e,t){if(null!=e||(e=this.state.startLoc),t=null!=t?t:this.parseBindingAtom(),!this.eat(29))return t;var r=this.startNodeAt(e);return r.left=t,r.right=this.parseMaybeAssignAllowIn(),this.finishNode(r,"AssignmentPattern")}},{key:"isValidLVal",value:function(e,t,r){return getOwn$1({AssignmentPattern:"left",RestElement:"argument",ObjectProperty:"value",ParenthesizedExpression:"expression",ArrayPattern:"elements",ObjectPattern:"properties"},e)}},{key:"isOptionalMemberExpression",value:function(e){return"OptionalMemberExpression"===e.type}},{key:"checkLVal",value:function(e,t){var r,n=t.in,i=t.binding,a=void 0===i?64:i,s=t.checkClashes,o=void 0!==s&&s,l=t.strictModeChanged,u=void 0!==l&&l,c=t.hasParenthesizedAncestor,p=void 0!==c&&c,d=e.type;if(!this.isObjectMethod(e)){var f=this.isOptionalMemberExpression(e);if(f||"MemberExpression"===d)return f&&(this.expectPlugin("optionalChainingAssign",e.loc.start),"AssignmentExpression"!==n.type&&this.raise(Errors.InvalidLhsOptionalChaining,e,{ancestor:n})),void(64!==a&&this.raise(Errors.InvalidPropertyBindingPattern,e));if("Identifier"!==d){var h=this.isValidLVal(d,!(p||(null===(r=e.extra)||void 0===r?void 0:r.parenthesized))&&"AssignmentExpression"===n.type,a);if(!0!==h)if(!1!==h){var m=_sliced_to_array(Array.isArray(h)?h:[h,"ParenthesizedExpression"===d],2),y=m[0],g=m[1],v="ArrayPattern"===d||"ObjectPattern"===d?{type:d}:n,b=!0,S=!1,_=void 0;try{for(var T,E=[].concat(e[y])[Symbol.iterator]();!(b=(T=E.next()).done);b=!0){var x=T.value;x&&this.checkLVal(x,{in:v,binding:a,checkClashes:o,strictModeChanged:u,hasParenthesizedAncestor:g})}}catch(e){S=!0,_=e}finally{try{b||null==E.return||E.return()}finally{if(S)throw _}}}else{var P=64===a?Errors.InvalidLhs:Errors.InvalidLhsBinding;this.raise(P,e,{ancestor:n})}}else{this.checkIdentifier(e,a,u);var A=e.name;o&&(o.has(A)?this.raise(Errors.ParamDupe,e):o.add(A))}}}},{key:"checkIdentifier",value:function(e,t){var r=arguments.length>2&&void 0!==arguments[2]&&arguments[2];this.state.strict&&(r?isStrictBindReservedWord(e.name,this.inModule):isStrictBindOnlyReservedWord(e.name))&&(64===t?this.raise(Errors.StrictEvalArguments,e,{referenceName:e.name}):this.raise(Errors.StrictEvalArgumentsBinding,e,{bindingName:e.name})),8192&t&&"let"===e.name&&this.raise(Errors.LetInLexicalBinding,e),64&t||this.declareNameFromIdentifier(e,t)}},{key:"declareNameFromIdentifier",value:function(e,t){this.scope.declareName(e.name,t,e.loc.start)}},{key:"checkToRestConversion",value:function(e,t){switch(e.type){case"ParenthesizedExpression":this.checkToRestConversion(e.expression,t);break;case"Identifier":case"MemberExpression":break;case"ArrayExpression":case"ObjectExpression":if(t)break;default:this.raise(Errors.InvalidRestAssignmentPattern,e)}}},{key:"checkCommaAfterRest",value:function(e){return!!this.match(12)&&(this.raise(this.lookaheadCharCode()===e?Errors.RestTrailingComma:Errors.ElementAfterRest,this.state.startLoc),!0)}}]),r}(NodeUtils),getOwn=function(e,t){return Object.hasOwn(e,t)&&e[t]};function nonNull(e){if(null==e)throw new Error("Unexpected ".concat(e," value."));return e}function assert2(e){if(!e)throw new Error("Assert fail")}var TSErrors=ParseErrorEnum(_templateObject3())({AbstractMethodHasImplementation:function(e){var t=e.methodName;return"Method '".concat(t,"' cannot have an implementation because it is marked abstract.")},AbstractPropertyHasInitializer:function(e){var t=e.propertyName;return"Property '".concat(t,"' cannot have an initializer because it is marked abstract.")},AccesorCannotDeclareThisParameter:"'get' and 'set' accessors cannot declare 'this' parameters.",AccesorCannotHaveTypeParameters:"An accessor cannot have type parameters.",AccessorCannotBeOptional:"An 'accessor' property cannot be declared optional.",ClassMethodHasDeclare:"Class methods cannot have the 'declare' modifier.",ClassMethodHasReadonly:"Class methods cannot have the 'readonly' modifier.",ConstInitiailizerMustBeStringOrNumericLiteralOrLiteralEnumReference:"A 'const' initializer in an ambient context must be a string or numeric literal or literal enum reference.",ConstructorHasTypeParameters:"Type parameters cannot appear on a constructor declaration.",DeclareAccessor:function(e){var t=e.kind;return"'declare' is not allowed in ".concat(t,"ters.")},DeclareClassFieldHasInitializer:"Initializers are not allowed in ambient contexts.",DeclareFunctionHasImplementation:"An implementation cannot be declared in ambient contexts.",DuplicateAccessibilityModifier:function(e){return e.modifier,"Accessibility modifier already seen."},DuplicateModifier:function(e){var t=e.modifier;return"Duplicate modifier: '".concat(t,"'.")},EmptyHeritageClauseType:function(e){var t=e.token;return"'".concat(t,"' list cannot be empty.")},EmptyTypeArguments:"Type argument list cannot be empty.",EmptyTypeParameters:"Type parameter list cannot be empty.",ExpectedAmbientAfterExportDeclare:"'export declare' must be followed by an ambient declaration.",ImportAliasHasImportType:"An import alias can not use 'import type'.",ImportReflectionHasImportType:"An `import module` declaration can not use `type` modifier",IncompatibleModifiers:function(e){var t=e.modifiers;return"'".concat(t[0],"' modifier cannot be used with '").concat(t[1],"' modifier.")},IndexSignatureHasAbstract:"Index signatures cannot have the 'abstract' modifier.",IndexSignatureHasAccessibility:function(e){var t=e.modifier;return"Index signatures cannot have an accessibility modifier ('".concat(t,"').")},IndexSignatureHasDeclare:"Index signatures cannot have the 'declare' modifier.",IndexSignatureHasOverride:"'override' modifier cannot appear on an index signature.",IndexSignatureHasStatic:"Index signatures cannot have the 'static' modifier.",InitializerNotAllowedInAmbientContext:"Initializers are not allowed in ambient contexts.",InvalidModifierOnTypeMember:function(e){var t=e.modifier;return"'".concat(t,"' modifier cannot appear on a type member.")},InvalidModifierOnTypeParameter:function(e){var t=e.modifier;return"'".concat(t,"' modifier cannot appear on a type parameter.")},InvalidModifierOnTypeParameterPositions:function(e){var t=e.modifier;return"'".concat(t,"' modifier can only appear on a type parameter of a class, interface or type alias.")},InvalidModifiersOrder:function(e){var t=e.orderedModifiers;return"'".concat(t[0],"' modifier must precede '").concat(t[1],"' modifier.")},InvalidPropertyAccessAfterInstantiationExpression:"Invalid property access after an instantiation expression. You can either wrap the instantiation expression in parentheses, or delete the type arguments.",InvalidTupleMemberLabel:"Tuple members must be labeled with a simple identifier.",MissingInterfaceName:"'interface' declarations must be followed by an identifier.",NonAbstractClassHasAbstractMethod:"Abstract methods can only appear within an abstract class.",NonClassMethodPropertyHasAbstractModifer:"'abstract' modifier can only appear on a class, method, or property declaration.",OptionalTypeBeforeRequired:"A required element cannot follow an optional element.",OverrideNotInSubClass:"This member cannot have an 'override' modifier because its containing class does not extend another class.",PatternIsOptional:"A binding pattern parameter cannot be optional in an implementation signature.",PrivateElementHasAbstract:"Private elements cannot have the 'abstract' modifier.",PrivateElementHasAccessibility:function(e){var t=e.modifier;return"Private elements cannot have an accessibility modifier ('".concat(t,"').")},ReadonlyForMethodSignature:"'readonly' modifier can only appear on a property declaration or index signature.",ReservedArrowTypeParam:"This syntax is reserved in files with the .mts or .cts extension. Add a trailing comma, as in `<T,>() => ...`.",ReservedTypeAssertion:"This syntax is reserved in files with the .mts or .cts extension. Use an `as` expression instead.",SetAccesorCannotHaveOptionalParameter:"A 'set' accessor cannot have an optional parameter.",SetAccesorCannotHaveRestParameter:"A 'set' accessor cannot have rest parameter.",SetAccesorCannotHaveReturnType:"A 'set' accessor cannot have a return type annotation.",SingleTypeParameterWithoutTrailingComma:function(e){var t=e.typeParameterName;return"Single type parameter ".concat(t," should have a trailing comma. Example usage: <").concat(t,",>.")},StaticBlockCannotHaveModifier:"Static class blocks cannot have any modifier.",TupleOptionalAfterType:"A labeled tuple optional element must be declared using a question mark after the name and before the colon (`name?: type`), rather than after the type (`name: type?`).",TypeAnnotationAfterAssign:"Type annotations must come before default assignments, e.g. instead of `age = 25: number` use `age: number = 25`.",TypeImportCannotSpecifyDefaultAndNamed:"A type-only import can specify a default import or named bindings, but not both.",TypeModifierIsUsedInTypeExports:"The 'type' modifier cannot be used on a named export when 'export type' is used on its export statement.",TypeModifierIsUsedInTypeImports:"The 'type' modifier cannot be used on a named import when 'import type' is used on its import statement.",UnexpectedParameterModifier:"A parameter property is only allowed in a constructor implementation.",UnexpectedReadonly:"'readonly' type modifier is only permitted on array and tuple literal types.",UnexpectedTypeAnnotation:"Did not expect a type annotation here.",UnexpectedTypeCastInParameter:"Unexpected type cast in parameter position.",UnsupportedImportTypeArgument:"Argument in a type import must be a string literal.",UnsupportedParameterPropertyKind:"A parameter property may not be declared using a binding pattern.",UnsupportedSignatureParameterKind:function(e){var t=e.type;return"Name in a signature must be an Identifier, ObjectPattern or ArrayPattern, instead got ".concat(t,".")}});function keywordTypeFromName(e){switch(e){case"any":return"TSAnyKeyword";case"boolean":return"TSBooleanKeyword";case"bigint":return"TSBigIntKeyword";case"never":return"TSNeverKeyword";case"number":return"TSNumberKeyword";case"object":return"TSObjectKeyword";case"string":return"TSStringKeyword";case"symbol":return"TSSymbolKeyword";case"undefined":return"TSUndefinedKeyword";case"unknown":return"TSUnknownKeyword";default:return}}function tsIsAccessModifier(e){return"private"===e||"public"===e||"protected"===e}function tsIsVarianceAnnotations(e){return"in"===e||"out"===e}var typescript$5=function(e){var t=function(e){_inherits$1(r,e);var t=_create_super(r);function r(){var e;return _class_call_check(this,r),e=t.call.apply(t,[this].concat(Array.prototype.slice.call(arguments))),__publicField(_assert_this_initialized(e),"tsParseInOutModifiers",e.tsParseModifiers.bind(_assert_this_initialized(e),{allowedModifiers:["in","out"],disallowedModifiers:["const","public","private","protected","readonly","declare","abstract","override"],errorTemplate:TSErrors.InvalidModifierOnTypeParameter})),__publicField(_assert_this_initialized(e),"tsParseConstModifier",e.tsParseModifiers.bind(_assert_this_initialized(e),{allowedModifiers:["const"],disallowedModifiers:["in","out"],errorTemplate:TSErrors.InvalidModifierOnTypeParameterPositions})),__publicField(_assert_this_initialized(e),"tsParseInOutConstModifiers",e.tsParseModifiers.bind(_assert_this_initialized(e),{allowedModifiers:["in","out","const"],disallowedModifiers:["public","private","protected","readonly","declare","abstract","override"],errorTemplate:TSErrors.InvalidModifierOnTypeParameter})),e}return _create_class(r,[{key:"getScopeHandler",value:function(){return TypeScriptScopeHandler}},{key:"tsIsIdentifier",value:function(){return tokenIsIdentifier(this.state.type)}},{key:"tsTokenCanFollowModifier",value:function(){return(this.match(0)||this.match(5)||this.match(55)||this.match(21)||this.match(138)||this.isLiteralPropertyName())&&!this.hasPrecedingLineBreak()}},{key:"tsNextTokenCanFollowModifier",value:function(){return this.next(),this.tsTokenCanFollowModifier()}},{key:"tsParseModifier",value:function(e,t){if(tokenIsIdentifier(this.state.type)||58===this.state.type||75===this.state.type){var r=this.state.value;if(-1!==e.indexOf(r)){if(t&&this.tsIsStartOfStaticBlocks())return;if(this.tsTryParse(this.tsNextTokenCanFollowModifier.bind(this)))return r}}}},{key:"tsParseModifiers",value:function(e,t){for(var r=this,n=e.allowedModifiers,i=e.disallowedModifiers,a=e.stopOnStartOfClassStaticBlock,s=e.errorTemplate,o=void 0===s?TSErrors.InvalidModifierOnTypeMember:s,l=function(e,n,i,a){n===i&&t[a]&&r.raise(TSErrors.InvalidModifiersOrder,e,{orderedModifiers:[i,a]})},u=function(e,n,i,a){(t[i]&&n===a||t[a]&&n===i)&&r.raise(TSErrors.IncompatibleModifiers,e,{modifiers:[i,a]})};;){var c=this.state.startLoc,p=this.tsParseModifier(n.concat(null!=i?i:[]),a);if(!p)break;tsIsAccessModifier(p)?t.accessibility?this.raise(TSErrors.DuplicateAccessibilityModifier,c,{modifier:p}):(l(c,p,p,"override"),l(c,p,p,"static"),l(c,p,p,"readonly"),t.accessibility=p):tsIsVarianceAnnotations(p)?(t[p]&&this.raise(TSErrors.DuplicateModifier,c,{modifier:p}),t[p]=!0,l(c,p,"in","out")):(Object.hasOwn(t,p)?this.raise(TSErrors.DuplicateModifier,c,{modifier:p}):(l(c,p,"static","readonly"),l(c,p,"static","override"),l(c,p,"override","readonly"),l(c,p,"abstract","override"),u(c,p,"declare","override"),u(c,p,"static","abstract")),t[p]=!0),(null==i?void 0:i.includes(p))&&this.raise(o,c,{modifier:p})}}},{key:"tsIsListTerminator",value:function(e){switch(e){case"EnumMembers":case"TypeMembers":return this.match(8);case"HeritageClauseElement":return this.match(5);case"TupleElementTypes":return this.match(3);case"TypeParametersOrArguments":return this.match(48)}}},{key:"tsParseList",value:function(e,t){for(var r=[];!this.tsIsListTerminator(e);)r.push(t());return r}},{key:"tsParseDelimitedList",value:function(e,t,r){return nonNull(this.tsParseDelimitedListWorker(e,t,!0,r))}},{key:"tsParseDelimitedListWorker",value:function(e,t,r,n){for(var i=[],a=-1;!this.tsIsListTerminator(e);){a=-1;var s=t();if(null==s)return;if(i.push(s),!this.eat(12)){if(this.tsIsListTerminator(e))break;return void(r&&this.expect(12))}a=this.state.lastTokStartLoc.index}return n&&(n.value=a),i}},{key:"tsParseBracketedList",value:function(e,t,r,n,i){n||(r?this.expect(0):this.expect(47));var a=this.tsParseDelimitedList(e,t,i);return r?this.expect(3):this.expect(48),a}},{key:"tsParseImportType",value:function(){var e=this.startNode();return this.expect(83),this.expect(10),this.match(133)||this.raise(TSErrors.UnsupportedImportTypeArgument,this.state.startLoc),e.argument=_get(_get_prototype_of(r.prototype),"parseExprAtom",this).call(this),(this.hasPlugin("importAttributes")||this.hasPlugin("importAssertions"))&&(e.options=null),this.eat(12)&&(this.expectImportAttributesPlugin(),this.match(11)||(e.options=_get(_get_prototype_of(r.prototype),"parseMaybeAssignAllowIn",this).call(this),this.eat(12))),this.expect(11),this.eat(16)&&(e.qualifier=this.tsParseEntityName()),this.match(47)&&(e.typeParameters=this.tsParseTypeArguments()),this.finishNode(e,"TSImportType")}},{key:"tsParseEntityName",value:function(){for(var e=!(arguments.length>0&&void 0!==arguments[0])||arguments[0],t=this.parseIdentifier(e);this.eat(16);){var r=this.startNodeAtNode(t);r.left=t,r.right=this.parseIdentifier(e),t=this.finishNode(r,"TSQualifiedName")}return t}},{key:"tsParseTypeReference",value:function(){var e=this.startNode();return e.typeName=this.tsParseEntityName(),!this.hasPrecedingLineBreak()&&this.match(47)&&(e.typeParameters=this.tsParseTypeArguments()),this.finishNode(e,"TSTypeReference")}},{key:"tsParseThisTypePredicate",value:function(e){this.next();var t=this.startNodeAtNode(e);return t.parameterName=e,t.typeAnnotation=this.tsParseTypeAnnotation(!1),t.asserts=!1,this.finishNode(t,"TSTypePredicate")}},{key:"tsParseThisTypeNode",value:function(){var e=this.startNode();return this.next(),this.finishNode(e,"TSThisType")}},{key:"tsParseTypeQuery",value:function(){var e=this.startNode();return this.expect(87),this.match(83)?e.exprName=this.tsParseImportType():e.exprName=this.tsParseEntityName(),!this.hasPrecedingLineBreak()&&this.match(47)&&(e.typeParameters=this.tsParseTypeArguments()),this.finishNode(e,"TSTypeQuery")}},{key:"tsParseTypeParameter",value:function(e){var t=this.startNode();return e(t),t.name=this.tsParseTypeParameterName(),t.constraint=this.tsEatThenParseType(81),t.default=this.tsEatThenParseType(29),this.finishNode(t,"TSTypeParameter")}},{key:"tsTryParseTypeParameters",value:function(e){if(this.match(47))return this.tsParseTypeParameters(e)}},{key:"tsParseTypeParameters",value:function(e){var t=this.startNode();this.match(47)||this.match(142)?this.next():this.unexpected();var r={value:-1};return t.params=this.tsParseBracketedList("TypeParametersOrArguments",this.tsParseTypeParameter.bind(this,e),!1,!0,r),0===t.params.length&&this.raise(TSErrors.EmptyTypeParameters,t),-1!==r.value&&this.addExtra(t,"trailingComma",r.value),this.finishNode(t,"TSTypeParameterDeclaration")}},{key:"tsFillSignature",value:function(e,t){var r=19===e,n="returnType";t.typeParameters=this.tsTryParseTypeParameters(this.tsParseConstModifier),this.expect(10),t.params=this.tsParseBindingListForSignature(),(r||this.match(e))&&(t[n]=this.tsParseTypeOrTypePredicateAnnotation(e))}},{key:"tsParseBindingListForSignature",value:function(){var e=_get(_get_prototype_of(r.prototype),"parseBindingList",this).call(this,11,41,2),t=!0,n=!1,i=void 0;try{for(var a,s=e[Symbol.iterator]();!(t=(a=s.next()).done);t=!0){var o=a.value,l=o.type;"AssignmentPattern"!==l&&"TSParameterProperty"!==l||this.raise(TSErrors.UnsupportedSignatureParameterKind,o,{type:l})}}catch(e){n=!0,i=e}finally{try{t||null==s.return||s.return()}finally{if(n)throw i}}return e}},{key:"tsParseTypeMemberSemicolon",value:function(){this.eat(12)||this.isLineTerminator()||this.expect(13)}},{key:"tsParseSignatureMember",value:function(e,t){return this.tsFillSignature(14,t),this.tsParseTypeMemberSemicolon(),this.finishNode(t,e)}},{key:"tsIsUnambiguouslyIndexSignature",value:function(){return this.next(),!!tokenIsIdentifier(this.state.type)&&(this.next(),this.match(14))}},{key:"tsTryParseIndexSignature",value:function(e){if(this.match(0)&&this.tsLookAhead(this.tsIsUnambiguouslyIndexSignature.bind(this))){this.expect(0);var t=this.parseIdentifier();t.typeAnnotation=this.tsParseTypeAnnotation(),this.resetEndLocation(t),this.expect(3),e.parameters=[t];var r=this.tsTryParseTypeAnnotation();return r&&(e.typeAnnotation=r),this.tsParseTypeMemberSemicolon(),this.finishNode(e,"TSIndexSignature")}}},{key:"tsParsePropertyOrMethodSignature",value:function(e,t){this.eat(17)&&(e.optional=!0);var r=e;if(this.match(10)||this.match(47)){t&&this.raise(TSErrors.ReadonlyForMethodSignature,e);var n=r;n.kind&&this.match(47)&&this.raise(TSErrors.AccesorCannotHaveTypeParameters,this.state.curPosition()),this.tsFillSignature(14,n),this.tsParseTypeMemberSemicolon();var i="params",a="returnType";if("get"===n.kind)n[i].length>0&&(this.raise(Errors.BadGetterArity,this.state.curPosition()),this.isThisParam(n[i][0])&&this.raise(TSErrors.AccesorCannotDeclareThisParameter,this.state.curPosition()));else if("set"===n.kind){if(1!==n[i].length)this.raise(Errors.BadSetterArity,this.state.curPosition());else{var s=n[i][0];this.isThisParam(s)&&this.raise(TSErrors.AccesorCannotDeclareThisParameter,this.state.curPosition()),"Identifier"===s.type&&s.optional&&this.raise(TSErrors.SetAccesorCannotHaveOptionalParameter,this.state.curPosition()),"RestElement"===s.type&&this.raise(TSErrors.SetAccesorCannotHaveRestParameter,this.state.curPosition())}n[a]&&this.raise(TSErrors.SetAccesorCannotHaveReturnType,n[a])}else n.kind="method";return this.finishNode(n,"TSMethodSignature")}var o=r;t&&(o.readonly=!0);var l=this.tsTryParseTypeAnnotation();return l&&(o.typeAnnotation=l),this.tsParseTypeMemberSemicolon(),this.finishNode(o,"TSPropertySignature")}},{key:"tsParseTypeMember",value:function(){var e=this.startNode();if(this.match(10)||this.match(47))return this.tsParseSignatureMember("TSCallSignatureDeclaration",e);if(this.match(77)){var t=this.startNode();return this.next(),this.match(10)||this.match(47)?this.tsParseSignatureMember("TSConstructSignatureDeclaration",e):(e.key=this.createIdentifier(t,"new"),this.tsParsePropertyOrMethodSignature(e,!1))}this.tsParseModifiers({allowedModifiers:["readonly"],disallowedModifiers:["declare","abstract","private","protected","public","static","override"]},e);var n=this.tsTryParseIndexSignature(e);return n||(_get(_get_prototype_of(r.prototype),"parsePropertyName",this).call(this,e),e.computed||"Identifier"!==e.key.type||"get"!==e.key.name&&"set"!==e.key.name||!this.tsTokenCanFollowModifier()||(e.kind=e.key.name,_get(_get_prototype_of(r.prototype),"parsePropertyName",this).call(this,e)),this.tsParsePropertyOrMethodSignature(e,!!e.readonly))}},{key:"tsParseTypeLiteral",value:function(){var e=this.startNode();return e.members=this.tsParseObjectTypeMembers(),this.finishNode(e,"TSTypeLiteral")}},{key:"tsParseObjectTypeMembers",value:function(){this.expect(5);var e=this.tsParseList("TypeMembers",this.tsParseTypeMember.bind(this));return this.expect(8),e}},{key:"tsIsStartOfMappedType",value:function(){return this.next(),this.eat(53)?this.isContextual(122):(this.isContextual(122)&&this.next(),!!this.match(0)&&(this.next(),!!this.tsIsIdentifier()&&(this.next(),this.match(58))))}},{key:"tsParseMappedTypeParameter",value:function(){var e=this.startNode();return e.name=this.tsParseTypeParameterName(),e.constraint=this.tsExpectThenParseType(58),this.finishNode(e,"TSTypeParameter")}},{key:"tsParseMappedType",value:function(){var e=this.startNode();return this.expect(5),this.match(53)?(e.readonly=this.state.value,this.next(),this.expectContextual(122)):this.eatContextual(122)&&(e.readonly=!0),this.expect(0),e.typeParameter=this.tsParseMappedTypeParameter(),e.nameType=this.eatContextual(93)?this.tsParseType():null,this.expect(3),this.match(53)?(e.optional=this.state.value,this.next(),this.expect(17)):this.eat(17)&&(e.optional=!0),e.typeAnnotation=this.tsTryParseType(),this.semicolon(),this.expect(8),this.finishNode(e,"TSMappedType")}},{key:"tsParseTupleType",value:function(){var e=this,t=this.startNode();t.elementTypes=this.tsParseBracketedList("TupleElementTypes",this.tsParseTupleElementType.bind(this),!0,!1);var r=!1;return t.elementTypes.forEach((function(t){var n=t.type;!r||"TSRestType"===n||"TSOptionalType"===n||"TSNamedTupleMember"===n&&t.optional||e.raise(TSErrors.OptionalTypeBeforeRequired,t),r||(r="TSNamedTupleMember"===n&&t.optional||"TSOptionalType"===n)})),this.finishNode(t,"TSTupleType")}},{key:"tsParseTupleElementType",value:function(){var e,t,r,n,i,a=this.state.startLoc,s=this.eat(21),o=tokenIsKeywordOrIdentifier(this.state.type)?this.lookaheadCharCode():null;if(58===o)e=!0,r=!1,t=this.parseIdentifier(!0),this.expect(14),n=this.tsParseType();else if(63===o){r=!0;var l=this.state.startLoc,u=this.state.value,c=this.tsParseNonArrayType();58===this.lookaheadCharCode()?(e=!0,t=this.createIdentifier(this.startNodeAt(l),u),this.expect(17),this.expect(14),n=this.tsParseType()):(e=!1,n=c,this.expect(17))}else n=this.tsParseType(),r=this.eat(17),e=this.eat(14);if(e)t?((i=this.startNodeAtNode(t)).optional=r,i.label=t,i.elementType=n,this.eat(17)&&(i.optional=!0,this.raise(TSErrors.TupleOptionalAfterType,this.state.lastTokStartLoc))):((i=this.startNodeAtNode(n)).optional=r,this.raise(TSErrors.InvalidTupleMemberLabel,n),i.label=n,i.elementType=this.tsParseType()),n=this.finishNode(i,"TSNamedTupleMember");else if(r){var p=this.startNodeAtNode(n);p.typeAnnotation=n,n=this.finishNode(p,"TSOptionalType")}if(s){var d=this.startNodeAt(a);d.typeAnnotation=n,n=this.finishNode(d,"TSRestType")}return n}},{key:"tsParseParenthesizedType",value:function(){var e=this.startNode();return this.expect(10),e.typeAnnotation=this.tsParseType(),this.expect(11),this.finishNode(e,"TSParenthesizedType")}},{key:"tsParseFunctionOrConstructorType",value:function(e,t){var r=this,n=this.startNode();return"TSConstructorType"===e&&(n.abstract=!!t,t&&this.next(),this.next()),this.tsInAllowConditionalTypesContext((function(){return r.tsFillSignature(19,n)})),this.finishNode(n,e)}},{key:"tsParseLiteralTypeNode",value:function(){var e=this.startNode();switch(this.state.type){case 134:case 135:case 133:case 85:case 86:e.literal=_get(_get_prototype_of(r.prototype),"parseExprAtom",this).call(this);break;default:this.unexpected()}return this.finishNode(e,"TSLiteralType")}},{key:"tsParseTemplateLiteralType",value:function(){var e=this.startNode();return e.literal=_get(_get_prototype_of(r.prototype),"parseTemplate",this).call(this,!1),this.finishNode(e,"TSLiteralType")}},{key:"parseTemplateSubstitution",value:function(){return this.state.inType?this.tsParseType():_get(_get_prototype_of(r.prototype),"parseTemplateSubstitution",this).call(this)}},{key:"tsParseThisTypeOrThisTypePredicate",value:function(){var e=this.tsParseThisTypeNode();return this.isContextual(116)&&!this.hasPrecedingLineBreak()?this.tsParseThisTypePredicate(e):e}},{key:"tsParseNonArrayType",value:function(){switch(this.state.type){case 133:case 134:case 135:case 85:case 86:return this.tsParseLiteralTypeNode();case 53:if("-"===this.state.value){var e=this.startNode(),t=this.lookahead();return 134!==t.type&&135!==t.type&&this.unexpected(),e.literal=this.parseMaybeUnary(),this.finishNode(e,"TSLiteralType")}break;case 78:return this.tsParseThisTypeOrThisTypePredicate();case 87:return this.tsParseTypeQuery();case 83:return this.tsParseImportType();case 5:return this.tsLookAhead(this.tsIsStartOfMappedType.bind(this))?this.tsParseMappedType():this.tsParseTypeLiteral();case 0:return this.tsParseTupleType();case 10:if(!this.options.createParenthesizedExpressions){var r=this.state.startLoc;this.next();var n=this.tsParseType();return this.expect(11),this.addExtra(n,"parenthesized",!0),this.addExtra(n,"parenStart",r.index),n}return this.tsParseParenthesizedType();case 25:case 24:return this.tsParseTemplateLiteralType();default:var i=this.state.type;if(tokenIsIdentifier(i)||88===i||84===i){var a=88===i?"TSVoidKeyword":84===i?"TSNullKeyword":keywordTypeFromName(this.state.value);if(void 0!==a&&46!==this.lookaheadCharCode()){var s=this.startNode();return this.next(),this.finishNode(s,a)}return this.tsParseTypeReference()}}this.unexpected()}},{key:"tsParseArrayTypeOrHigher",value:function(){for(var e=this.tsParseNonArrayType();!this.hasPrecedingLineBreak()&&this.eat(0);)if(this.match(3)){var t=this.startNodeAtNode(e);t.elementType=e,this.expect(3),e=this.finishNode(t,"TSArrayType")}else{var r=this.startNodeAtNode(e);r.objectType=e,r.indexType=this.tsParseType(),this.expect(3),e=this.finishNode(r,"TSIndexedAccessType")}return e}},{key:"tsParseTypeOperator",value:function(){var e=this.startNode(),t=this.state.value;return this.next(),e.operator=t,e.typeAnnotation=this.tsParseTypeOperatorOrHigher(),"readonly"===t&&this.tsCheckTypeAnnotationForReadOnly(e),this.finishNode(e,"TSTypeOperator")}},{key:"tsCheckTypeAnnotationForReadOnly",value:function(e){switch(e.typeAnnotation.type){case"TSTupleType":case"TSArrayType":return;default:this.raise(TSErrors.UnexpectedReadonly,e)}}},{key:"tsParseInferType",value:function(){var e=this,t=this.startNode();this.expectContextual(115);var r=this.startNode();return r.name=this.tsParseTypeParameterName(),r.constraint=this.tsTryParse((function(){return e.tsParseConstraintForInferType()})),t.typeParameter=this.finishNode(r,"TSTypeParameter"),this.finishNode(t,"TSInferType")}},{key:"tsParseConstraintForInferType",value:function(){var e=this;if(this.eat(81)){var t=this.tsInDisallowConditionalTypesContext((function(){return e.tsParseType()}));if(this.state.inDisallowConditionalTypesContext||!this.match(17))return t}}},{key:"tsParseTypeOperatorOrHigher",value:function(){var e=this;return tokenIsTSTypeOperator(this.state.type)&&!this.state.containsEsc?this.tsParseTypeOperator():this.isContextual(115)?this.tsParseInferType():this.tsInAllowConditionalTypesContext((function(){return e.tsParseArrayTypeOrHigher()}))}},{key:"tsParseUnionOrIntersectionType",value:function(e,t,r){var n=this.startNode(),i=this.eat(r),a=[];do{a.push(t())}while(this.eat(r));return 1!==a.length||i?(n.types=a,this.finishNode(n,e)):a[0]}},{key:"tsParseIntersectionTypeOrHigher",value:function(){return this.tsParseUnionOrIntersectionType("TSIntersectionType",this.tsParseTypeOperatorOrHigher.bind(this),45)}},{key:"tsParseUnionTypeOrHigher",value:function(){return this.tsParseUnionOrIntersectionType("TSUnionType",this.tsParseIntersectionTypeOrHigher.bind(this),43)}},{key:"tsIsStartOfFunctionType",value:function(){return!!this.match(47)||this.match(10)&&this.tsLookAhead(this.tsIsUnambiguouslyStartOfFunctionType.bind(this))}},{key:"tsSkipParameterStart",value:function(){if(tokenIsIdentifier(this.state.type)||this.match(78))return this.next(),!0;if(this.match(5)){var e=this.state.errors,t=e.length;try{return this.parseObjectLike(8,!0),e.length===t}catch(e){return!1}}if(this.match(0)){this.next();var n=this.state.errors,i=n.length;try{return _get(_get_prototype_of(r.prototype),"parseBindingList",this).call(this,3,93,1),n.length===i}catch(e){return!1}}return!1}},{key:"tsIsUnambiguouslyStartOfFunctionType",value:function(){if(this.next(),this.match(11)||this.match(21))return!0;if(this.tsSkipParameterStart()){if(this.match(14)||this.match(12)||this.match(17)||this.match(29))return!0;if(this.match(11)&&(this.next(),this.match(19)))return!0}return!1}},{key:"tsParseTypeOrTypePredicateAnnotation",value:function(e){var t=this;return this.tsInType((function(){var r=t.startNode();t.expect(e);var n=t.startNode(),i=!!t.tsTryParse(t.tsParseTypePredicateAsserts.bind(t));if(i&&t.match(78)){var a=t.tsParseThisTypeOrThisTypePredicate();return"TSThisType"===a.type?(n.parameterName=a,n.asserts=!0,n.typeAnnotation=null,a=t.finishNode(n,"TSTypePredicate")):(t.resetStartLocationFromNode(a,n),a.asserts=!0),r.typeAnnotation=a,t.finishNode(r,"TSTypeAnnotation")}var s=t.tsIsIdentifier()&&t.tsTryParse(t.tsParseTypePredicatePrefix.bind(t));if(!s)return i?(n.parameterName=t.parseIdentifier(),n.asserts=i,n.typeAnnotation=null,r.typeAnnotation=t.finishNode(n,"TSTypePredicate"),t.finishNode(r,"TSTypeAnnotation")):t.tsParseTypeAnnotation(!1,r);var o=t.tsParseTypeAnnotation(!1);return n.parameterName=s,n.typeAnnotation=o,n.asserts=i,r.typeAnnotation=t.finishNode(n,"TSTypePredicate"),t.finishNode(r,"TSTypeAnnotation")}))}},{key:"tsTryParseTypeOrTypePredicateAnnotation",value:function(){if(this.match(14))return this.tsParseTypeOrTypePredicateAnnotation(14)}},{key:"tsTryParseTypeAnnotation",value:function(){if(this.match(14))return this.tsParseTypeAnnotation()}},{key:"tsTryParseType",value:function(){return this.tsEatThenParseType(14)}},{key:"tsParseTypePredicatePrefix",value:function(){var e=this.parseIdentifier();if(this.isContextual(116)&&!this.hasPrecedingLineBreak())return this.next(),e}},{key:"tsParseTypePredicateAsserts",value:function(){if(109!==this.state.type)return!1;var e=this.state.containsEsc;return this.next(),!(!tokenIsIdentifier(this.state.type)&&!this.match(78))&&(e&&this.raise(Errors.InvalidEscapedReservedWord,this.state.lastTokStartLoc,{reservedWord:"asserts"}),!0)}},{key:"tsParseTypeAnnotation",value:function(){var e=this,t=!(arguments.length>0&&void 0!==arguments[0])||arguments[0],r=arguments.length>1&&void 0!==arguments[1]?arguments[1]:this.startNode();return this.tsInType((function(){t&&e.expect(14),r.typeAnnotation=e.tsParseType()})),this.finishNode(r,"TSTypeAnnotation")}},{key:"tsParseType",value:function(){var e=this;assert2(this.state.inType);var t=this.tsParseNonConditionalType();if(this.state.inDisallowConditionalTypesContext||this.hasPrecedingLineBreak()||!this.eat(81))return t;var r=this.startNodeAtNode(t);return r.checkType=t,r.extendsType=this.tsInDisallowConditionalTypesContext((function(){return e.tsParseNonConditionalType()})),this.expect(17),r.trueType=this.tsInAllowConditionalTypesContext((function(){return e.tsParseType()})),this.expect(14),r.falseType=this.tsInAllowConditionalTypesContext((function(){return e.tsParseType()})),this.finishNode(r,"TSConditionalType")}},{key:"isAbstractConstructorSignature",value:function(){return this.isContextual(124)&&77===this.lookahead().type}},{key:"tsParseNonConditionalType",value:function(){return this.tsIsStartOfFunctionType()?this.tsParseFunctionOrConstructorType("TSFunctionType"):this.match(77)?this.tsParseFunctionOrConstructorType("TSConstructorType"):this.isAbstractConstructorSignature()?this.tsParseFunctionOrConstructorType("TSConstructorType",!0):this.tsParseUnionTypeOrHigher()}},{key:"tsParseTypeAssertion",value:function(){var e=this;this.getPluginOption("typescript","disallowAmbiguousJSXLike")&&this.raise(TSErrors.ReservedTypeAssertion,this.state.startLoc);var t=this.startNode();return t.typeAnnotation=this.tsInType((function(){return e.next(),e.match(75)?e.tsParseTypeReference():e.tsParseType()})),this.expect(48),t.expression=this.parseMaybeUnary(),this.finishNode(t,"TSTypeAssertion")}},{key:"tsParseHeritageClause",value:function(e){var t=this,r=this.state.startLoc,n=this.tsParseDelimitedList("HeritageClauseElement",(function(){var e=t.startNode();return e.expression=t.tsParseEntityName(),t.match(47)&&(e.typeParameters=t.tsParseTypeArguments()),t.finishNode(e,"TSExpressionWithTypeArguments")}));return n.length||this.raise(TSErrors.EmptyHeritageClauseType,r,{token:e}),n}},{key:"tsParseInterfaceDeclaration",value:function(e){var t=arguments.length>1&&void 0!==arguments[1]?arguments[1]:{};if(this.hasFollowingLineBreak())return null;this.expectContextual(129),t.declare&&(e.declare=!0),tokenIsIdentifier(this.state.type)?(e.id=this.parseIdentifier(),this.checkIdentifier(e.id,130)):(e.id=null,this.raise(TSErrors.MissingInterfaceName,this.state.startLoc)),e.typeParameters=this.tsTryParseTypeParameters(this.tsParseInOutConstModifiers),this.eat(81)&&(e.extends=this.tsParseHeritageClause("extends"));var r=this.startNode();return r.body=this.tsInType(this.tsParseObjectTypeMembers.bind(this)),e.body=this.finishNode(r,"TSInterfaceBody"),this.finishNode(e,"TSInterfaceDeclaration")}},{key:"tsParseTypeAliasDeclaration",value:function(e){var t=this;return e.id=this.parseIdentifier(),this.checkIdentifier(e.id,2),e.typeAnnotation=this.tsInType((function(){if(e.typeParameters=t.tsTryParseTypeParameters(t.tsParseInOutModifiers),t.expect(29),t.isContextual(114)&&16!==t.lookahead().type){var r=t.startNode();return t.next(),t.finishNode(r,"TSIntrinsicKeyword")}return t.tsParseType()})),this.semicolon(),this.finishNode(e,"TSTypeAliasDeclaration")}},{key:"tsInNoContext",value:function(e){var t=this.state.context;this.state.context=[t[0]];try{return e()}finally{this.state.context=t}}},{key:"tsInType",value:function(e){var t=this.state.inType;this.state.inType=!0;try{return e()}finally{this.state.inType=t}}},{key:"tsInDisallowConditionalTypesContext",value:function(e){var t=this.state.inDisallowConditionalTypesContext;this.state.inDisallowConditionalTypesContext=!0;try{return e()}finally{this.state.inDisallowConditionalTypesContext=t}}},{key:"tsInAllowConditionalTypesContext",value:function(e){var t=this.state.inDisallowConditionalTypesContext;this.state.inDisallowConditionalTypesContext=!1;try{return e()}finally{this.state.inDisallowConditionalTypesContext=t}}},{key:"tsEatThenParseType",value:function(e){if(this.match(e))return this.tsNextThenParseType()}},{key:"tsExpectThenParseType",value:function(e){var t=this;return this.tsInType((function(){return t.expect(e),t.tsParseType()}))}},{key:"tsNextThenParseType",value:function(){var e=this;return this.tsInType((function(){return e.next(),e.tsParseType()}))}},{key:"tsParseEnumMember",value:function(){var e=this.startNode();return e.id=this.match(133)?_get(_get_prototype_of(r.prototype),"parseStringLiteral",this).call(this,this.state.value):this.parseIdentifier(!0),this.eat(29)&&(e.initializer=_get(_get_prototype_of(r.prototype),"parseMaybeAssignAllowIn",this).call(this)),this.finishNode(e,"TSEnumMember")}},{key:"tsParseEnumDeclaration",value:function(e){var t=arguments.length>1&&void 0!==arguments[1]?arguments[1]:{};return t.const&&(e.const=!0),t.declare&&(e.declare=!0),this.expectContextual(126),e.id=this.parseIdentifier(),this.checkIdentifier(e.id,e.const?8971:8459),this.expect(5),e.members=this.tsParseDelimitedList("EnumMembers",this.tsParseEnumMember.bind(this)),this.expect(8),this.finishNode(e,"TSEnumDeclaration")}},{key:"tsParseModuleBlock",value:function(){var e=this.startNode();return this.scope.enter(0),this.expect(5),_get(_get_prototype_of(r.prototype),"parseBlockOrModuleBlockBody",this).call(this,e.body=[],void 0,!0,8),this.scope.exit(),this.finishNode(e,"TSModuleBlock")}},{key:"tsParseModuleOrNamespaceDeclaration",value:function(e){var t=arguments.length>1&&void 0!==arguments[1]&&arguments[1];if(e.id=this.parseIdentifier(),t||this.checkIdentifier(e.id,1024),this.eat(16)){var r=this.startNode();this.tsParseModuleOrNamespaceDeclaration(r,!0),e.body=r}else this.scope.enter(256),this.prodParam.enter(0),e.body=this.tsParseModuleBlock(),this.prodParam.exit(),this.scope.exit();return this.finishNode(e,"TSModuleDeclaration")}},{key:"tsParseAmbientExternalModuleDeclaration",value:function(e){return this.isContextual(112)?(e.global=!0,e.id=this.parseIdentifier()):this.match(133)?e.id=_get(_get_prototype_of(r.prototype),"parseStringLiteral",this).call(this,this.state.value):this.unexpected(),this.match(5)?(this.scope.enter(256),this.prodParam.enter(0),e.body=this.tsParseModuleBlock(),this.prodParam.exit(),this.scope.exit()):this.semicolon(),this.finishNode(e,"TSModuleDeclaration")}},{key:"tsParseImportEqualsDeclaration",value:function(e,t,r){e.isExport=r||!1,e.id=t||this.parseIdentifier(),this.checkIdentifier(e.id,4096),this.expect(29);var n=this.tsParseModuleReference();return"type"===e.importKind&&"TSExternalModuleReference"!==n.type&&this.raise(TSErrors.ImportAliasHasImportType,n),e.moduleReference=n,this.semicolon(),this.finishNode(e,"TSImportEqualsDeclaration")}},{key:"tsIsExternalModuleReference",value:function(){return this.isContextual(119)&&40===this.lookaheadCharCode()}},{key:"tsParseModuleReference",value:function(){return this.tsIsExternalModuleReference()?this.tsParseExternalModuleReference():this.tsParseEntityName(!1)}},{key:"tsParseExternalModuleReference",value:function(){var e=this.startNode();return this.expectContextual(119),this.expect(10),this.match(133)||this.unexpected(),e.expression=_get(_get_prototype_of(r.prototype),"parseExprAtom",this).call(this),this.expect(11),this.sawUnambiguousESM=!0,this.finishNode(e,"TSExternalModuleReference")}},{key:"tsLookAhead",value:function(e){var t=this.state.clone(),r=e();return this.state=t,r}},{key:"tsTryParseAndCatch",value:function(e){var t=this.tryParse((function(t){return e()||t()}));if(!t.aborted&&t.node)return t.error&&(this.state=t.failState),t.node}},{key:"tsTryParse",value:function(e){var t=this.state.clone(),r=e();if(void 0!==r&&!1!==r)return r;this.state=t}},{key:"tsTryParseDeclare",value:function(e){var t=this;if(!this.isLineTerminator()){var n,i=this.state.type;return this.isContextual(100)&&(i=74,n="let"),this.tsInAmbientContext((function(){switch(i){case 68:return e.declare=!0,_get(_get_prototype_of(r.prototype),"parseFunctionStatement",t).call(t,e,!1,!1);case 80:return e.declare=!0,t.parseClass(e,!0,!1);case 126:return t.tsParseEnumDeclaration(e,{declare:!0});case 112:return t.tsParseAmbientExternalModuleDeclaration(e);case 75:case 74:return t.match(75)&&t.isLookaheadContextual("enum")?(t.expect(75),t.tsParseEnumDeclaration(e,{const:!0,declare:!0})):(e.declare=!0,t.parseVarStatement(e,n||t.state.value,!0));case 129:var a=t.tsParseInterfaceDeclaration(e,{declare:!0});if(a)return a;default:if(tokenIsIdentifier(i))return t.tsParseDeclaration(e,t.state.value,!0,null)}}))}}},{key:"tsTryParseExportDeclaration",value:function(){return this.tsParseDeclaration(this.startNode(),this.state.value,!0,null)}},{key:"tsParseExpressionStatement",value:function(e,t,r){switch(t.name){case"declare":var n=this.tsTryParseDeclare(e);return n&&(n.declare=!0),n;case"global":if(this.match(5)){this.scope.enter(256),this.prodParam.enter(0);var i=e;return i.global=!0,i.id=t,i.body=this.tsParseModuleBlock(),this.scope.exit(),this.prodParam.exit(),this.finishNode(i,"TSModuleDeclaration")}break;default:return this.tsParseDeclaration(e,t.name,!1,r)}}},{key:"tsParseDeclaration",value:function(e,t,r,n){switch(t){case"abstract":if(this.tsCheckLineTerminator(r)&&(this.match(80)||tokenIsIdentifier(this.state.type)))return this.tsParseAbstractDeclaration(e,n);break;case"module":if(this.tsCheckLineTerminator(r)){if(this.match(133))return this.tsParseAmbientExternalModuleDeclaration(e);if(tokenIsIdentifier(this.state.type))return this.tsParseModuleOrNamespaceDeclaration(e)}break;case"namespace":if(this.tsCheckLineTerminator(r)&&tokenIsIdentifier(this.state.type))return this.tsParseModuleOrNamespaceDeclaration(e);break;case"type":if(this.tsCheckLineTerminator(r)&&tokenIsIdentifier(this.state.type))return this.tsParseTypeAliasDeclaration(e)}}},{key:"tsCheckLineTerminator",value:function(e){return e?!this.hasFollowingLineBreak()&&(this.next(),!0):!this.isLineTerminator()}},{key:"tsTryParseGenericAsyncArrowFunction",value:function(e){var t=this;if(this.match(47)){var n=this.state.maybeInArrowParameters;this.state.maybeInArrowParameters=!0;var i=this.tsTryParseAndCatch((function(){var n=t.startNodeAt(e);return n.typeParameters=t.tsParseTypeParameters(t.tsParseConstModifier),_get(_get_prototype_of(r.prototype),"parseFunctionParams",t).call(t,n),n.returnType=t.tsTryParseTypeOrTypePredicateAnnotation(),t.expect(19),n}));if(this.state.maybeInArrowParameters=n,i)return _get(_get_prototype_of(r.prototype),"parseArrowExpression",this).call(this,i,null,!0)}}},{key:"tsParseTypeArgumentsInExpression",value:function(){if(47===this.reScan_lt())return this.tsParseTypeArguments()}},{key:"tsParseTypeArguments",value:function(){var e=this,t=this.startNode();return t.params=this.tsInType((function(){return e.tsInNoContext((function(){return e.expect(47),e.tsParseDelimitedList("TypeParametersOrArguments",e.tsParseType.bind(e))}))})),0===t.params.length?this.raise(TSErrors.EmptyTypeArguments,t):this.state.inType||this.curContext()!==types$1d.brace||this.reScan_lt_gt(),this.expect(48),this.finishNode(t,"TSTypeParameterInstantiation")}},{key:"tsIsDeclarationStart",value:function(){return tokenIsTSDeclarationStart(this.state.type)}},{key:"isExportDefaultSpecifier",value:function(){return!this.tsIsDeclarationStart()&&_get(_get_prototype_of(r.prototype),"isExportDefaultSpecifier",this).call(this)}},{key:"parseAssignableListItem",value:function(e,t){var r=this.state.startLoc,n={};this.tsParseModifiers({allowedModifiers:["public","private","protected","override","readonly"]},n);var i=n.accessibility,a=n.override,s=n.readonly;4&e||!(i||s||a)||this.raise(TSErrors.UnexpectedParameterModifier,r);var o=this.parseMaybeDefault();this.parseAssignableListItemTypes(o,e);var l=this.parseMaybeDefault(o.loc.start,o);if(i||s||a){var u=this.startNodeAt(r);return t.length&&(u.decorators=t),i&&(u.accessibility=i),s&&(u.readonly=s),a&&(u.override=a),"Identifier"!==l.type&&"AssignmentPattern"!==l.type&&this.raise(TSErrors.UnsupportedParameterPropertyKind,u),u.parameter=l,this.finishNode(u,"TSParameterProperty")}return t.length&&(o.decorators=t),l}},{key:"isSimpleParameter",value:function(e){return"TSParameterProperty"===e.type&&_get(_get_prototype_of(r.prototype),"isSimpleParameter",this).call(this,e.parameter)||_get(_get_prototype_of(r.prototype),"isSimpleParameter",this).call(this,e)}},{key:"tsDisallowOptionalPattern",value:function(e){var t=!0,r=!1,n=void 0;try{for(var i,a=e.params[Symbol.iterator]();!(t=(i=a.next()).done);t=!0){var s=i.value;"Identifier"!==s.type&&s.optional&&!this.state.isAmbientContext&&this.raise(TSErrors.PatternIsOptional,s)}}catch(e){r=!0,n=e}finally{try{t||null==a.return||a.return()}finally{if(r)throw n}}}},{key:"setArrowFunctionParameters",value:function(e,t,n){_get(_get_prototype_of(r.prototype),"setArrowFunctionParameters",this).call(this,e,t,n),this.tsDisallowOptionalPattern(e)}},{key:"parseFunctionBodyAndFinish",value:function(e,t){var n=arguments.length>2&&void 0!==arguments[2]&&arguments[2];this.match(14)&&(e.returnType=this.tsParseTypeOrTypePredicateAnnotation(14));var i="FunctionDeclaration"===t?"TSDeclareFunction":"ClassMethod"===t||"ClassPrivateMethod"===t?"TSDeclareMethod":void 0;return i&&!this.match(5)&&this.isLineTerminator()?this.finishNode(e,i):"TSDeclareFunction"===i&&this.state.isAmbientContext&&(this.raise(TSErrors.DeclareFunctionHasImplementation,e),e.declare)?_get(_get_prototype_of(r.prototype),"parseFunctionBodyAndFinish",this).call(this,e,i,n):(this.tsDisallowOptionalPattern(e),_get(_get_prototype_of(r.prototype),"parseFunctionBodyAndFinish",this).call(this,e,t,n))}},{key:"registerFunctionStatementId",value:function(e){!e.body&&e.id?this.checkIdentifier(e.id,1024):_get(_get_prototype_of(r.prototype),"registerFunctionStatementId",this).call(this,e)}},{key:"tsCheckForInvalidTypeCasts",value:function(e){var t=this;e.forEach((function(e){"TSTypeCastExpression"===(null==e?void 0:e.type)&&t.raise(TSErrors.UnexpectedTypeAnnotation,e.typeAnnotation)}))}},{key:"toReferencedList",value:function(e,t){return this.tsCheckForInvalidTypeCasts(e),e}},{key:"parseArrayLike",value:function(e,t,n,i){var a=_get(_get_prototype_of(r.prototype),"parseArrayLike",this).call(this,e,t,n,i);return"ArrayExpression"===a.type&&this.tsCheckForInvalidTypeCasts(a.elements),a}},{key:"parseSubscript",value:function(e,t,n,i){var a=this;if(!this.hasPrecedingLineBreak()&&this.match(35)){this.state.canStartJSXElement=!1,this.next();var s=this.startNodeAt(t);return s.expression=e,this.finishNode(s,"TSNonNullExpression")}var o=!1;if(this.match(18)&&60===this.lookaheadCharCode()){if(n)return i.stop=!0,e;i.optionalChainMember=o=!0,this.next()}if(this.match(47)||this.match(51)){var l,u=this.tsTryParseAndCatch((function(){if(!n&&a.atPossibleAsyncArrow(e)){var s=a.tsTryParseGenericAsyncArrowFunction(t);if(s)return s}var u=a.tsParseTypeArgumentsInExpression();if(u)if(!o||a.match(10)){if(tokenIsTemplate(a.state.type)){var c=_get(_get_prototype_of(r.prototype),"parseTaggedTemplateExpression",a).call(a,e,t,i);return c.typeParameters=u,c}if(!n&&a.eat(10)){var p=a.startNodeAt(t);return p.callee=e,p.arguments=a.parseCallExpressionArguments(11,!1),a.tsCheckForInvalidTypeCasts(p.arguments),p.typeParameters=u,i.optionalChainMember&&(p.optional=o),a.finishCallExpression(p,i.optionalChainMember)}var d=a.state.type;if(48!==d&&52!==d&&(10===d||!tokenCanStartExpression(d)||a.hasPrecedingLineBreak())){var f=a.startNodeAt(t);return f.expression=e,f.typeParameters=u,a.finishNode(f,"TSInstantiationExpression")}}else l=a.state.curPosition()}));if(l&&this.unexpected(l,10),u)return"TSInstantiationExpression"===u.type&&(this.match(16)||this.match(18)&&40!==this.lookaheadCharCode())&&this.raise(TSErrors.InvalidPropertyAccessAfterInstantiationExpression,this.state.startLoc),u}return _get(_get_prototype_of(r.prototype),"parseSubscript",this).call(this,e,t,n,i)}},{key:"parseNewCallee",value:function(e){var t;_get(_get_prototype_of(r.prototype),"parseNewCallee",this).call(this,e);var n=e.callee;"TSInstantiationExpression"!==n.type||(null===(t=n.extra)||void 0===t?void 0:t.parenthesized)||(e.typeParameters=n.typeParameters,e.callee=n.expression)}},{key:"parseExprOp",value:function(e,t,n){var i,a=this;if(tokenOperatorPrecedence(58)>n&&!this.hasPrecedingLineBreak()&&(this.isContextual(93)||(i=this.isContextual(120)))){var s=this.startNodeAt(t);return s.expression=e,s.typeAnnotation=this.tsInType((function(){return a.next(),a.match(75)?(i&&a.raise(Errors.UnexpectedKeyword,a.state.startLoc,{keyword:"const"}),a.tsParseTypeReference()):a.tsParseType()})),this.finishNode(s,i?"TSSatisfiesExpression":"TSAsExpression"),this.reScan_lt_gt(),this.parseExprOp(s,t,n)}return _get(_get_prototype_of(r.prototype),"parseExprOp",this).call(this,e,t,n)}},{key:"checkReservedWord",value:function(e,t,n,i){this.state.isAmbientContext||_get(_get_prototype_of(r.prototype),"checkReservedWord",this).call(this,e,t,n,i)}},{key:"checkImportReflection",value:function(e){_get(_get_prototype_of(r.prototype),"checkImportReflection",this).call(this,e),e.module&&"value"!==e.importKind&&this.raise(TSErrors.ImportReflectionHasImportType,e.specifiers[0].loc.start)}},{key:"checkDuplicateExports",value:function(){}},{key:"isPotentialImportPhase",value:function(e){if(_get(_get_prototype_of(r.prototype),"isPotentialImportPhase",this).call(this,e))return!0;if(this.isContextual(130)){var t=this.lookaheadCharCode();return e?123===t||42===t:61!==t}return!e&&this.isContextual(87)}},{key:"applyImportPhase",value:function(e,t,n,i){_get(_get_prototype_of(r.prototype),"applyImportPhase",this).call(this,e,t,n,i),t?e.exportKind="type"===n?"type":"value":e.importKind="type"===n||"typeof"===n?n:"value"}},{key:"parseImport",value:function(e){if(this.match(133))return e.importKind="value",_get(_get_prototype_of(r.prototype),"parseImport",this).call(this,e);var t;if(tokenIsIdentifier(this.state.type)&&61===this.lookaheadCharCode())return e.importKind="value",this.tsParseImportEqualsDeclaration(e);if(this.isContextual(130)){var n=this.parseMaybeImportPhase(e,!1);if(61===this.lookaheadCharCode())return this.tsParseImportEqualsDeclaration(e,n);t=_get(_get_prototype_of(r.prototype),"parseImportSpecifiersAndAfter",this).call(this,e,n)}else t=_get(_get_prototype_of(r.prototype),"parseImport",this).call(this,e);return"type"===t.importKind&&t.specifiers.length>1&&"ImportDefaultSpecifier"===t.specifiers[0].type&&this.raise(TSErrors.TypeImportCannotSpecifyDefaultAndNamed,t),t}},{key:"parseExport",value:function(e,t){if(this.match(83)){this.next();var n=null;return this.isContextual(130)&&this.isPotentialImportPhase(!1)?n=this.parseMaybeImportPhase(e,!1):e.importKind="value",this.tsParseImportEqualsDeclaration(e,n,!0)}if(this.eat(29)){var i=e;return i.expression=_get(_get_prototype_of(r.prototype),"parseExpression",this).call(this),this.semicolon(),this.sawUnambiguousESM=!0,this.finishNode(i,"TSExportAssignment")}if(this.eatContextual(93)){var a=e;return this.expectContextual(128),a.id=this.parseIdentifier(),this.semicolon(),this.finishNode(a,"TSNamespaceExportDeclaration")}return _get(_get_prototype_of(r.prototype),"parseExport",this).call(this,e,t)}},{key:"isAbstractClass",value:function(){return this.isContextual(124)&&80===this.lookahead().type}},{key:"parseExportDefaultExpression",value:function(){if(this.isAbstractClass()){var e=this.startNode();return this.next(),e.abstract=!0,this.parseClass(e,!0,!0)}if(this.match(129)){var t=this.tsParseInterfaceDeclaration(this.startNode());if(t)return t}return _get(_get_prototype_of(r.prototype),"parseExportDefaultExpression",this).call(this)}},{key:"parseVarStatement",value:function(e,t){var n=arguments.length>2&&void 0!==arguments[2]&&arguments[2],i=this.state.isAmbientContext,a=_get(_get_prototype_of(r.prototype),"parseVarStatement",this).call(this,e,t,n||i);if(!i)return a;var s=!0,o=!1,l=void 0;try{for(var u,c=a.declarations[Symbol.iterator]();!(s=(u=c.next()).done);s=!0){var p=u.value,d=p.id,f=p.init;f&&("const"!==t||d.typeAnnotation?this.raise(TSErrors.InitializerNotAllowedInAmbientContext,f):isValidAmbientConstInitializer(f,this.hasPlugin("estree"))||this.raise(TSErrors.ConstInitiailizerMustBeStringOrNumericLiteralOrLiteralEnumReference,f))}}catch(e){o=!0,l=e}finally{try{s||null==c.return||c.return()}finally{if(o)throw l}}return a}},{key:"parseStatementContent",value:function(e,t){if(this.match(75)&&this.isLookaheadContextual("enum")){var n=this.startNode();return this.expect(75),this.tsParseEnumDeclaration(n,{const:!0})}if(this.isContextual(126))return this.tsParseEnumDeclaration(this.startNode());if(this.isContextual(129)){var i=this.tsParseInterfaceDeclaration(this.startNode());if(i)return i}return _get(_get_prototype_of(r.prototype),"parseStatementContent",this).call(this,e,t)}},{key:"parseAccessModifier",value:function(){return this.tsParseModifier(["public","protected","private"])}},{key:"tsHasSomeModifiers",value:function(e,t){return t.some((function(t){return tsIsAccessModifier(t)?e.accessibility===t:!!e[t]}))}},{key:"tsIsStartOfStaticBlocks",value:function(){return this.isContextual(106)&&123===this.lookaheadCharCode()}},{key:"parseClassMember",value:function(e,t,n){var i=this,a=["declare","private","public","protected","override","abstract","readonly","static"];this.tsParseModifiers({allowedModifiers:a,disallowedModifiers:["in","out"],stopOnStartOfClassStaticBlock:!0,errorTemplate:TSErrors.InvalidModifierOnTypeParameterPositions},t);var s=function(){i.tsIsStartOfStaticBlocks()?(i.next(),i.next(),i.tsHasSomeModifiers(t,a)&&i.raise(TSErrors.StaticBlockCannotHaveModifier,i.state.curPosition()),_get(_get_prototype_of(r.prototype),"parseClassStaticBlock",i).call(i,e,t)):i.parseClassMemberWithIsStatic(e,t,n,!!t.static)};t.declare?this.tsInAmbientContext(s):s()}},{key:"parseClassMemberWithIsStatic",value:function(e,t,n,i){var a=this.tsTryParseIndexSignature(t);if(a)return e.body.push(a),t.abstract&&this.raise(TSErrors.IndexSignatureHasAbstract,t),t.accessibility&&this.raise(TSErrors.IndexSignatureHasAccessibility,t,{modifier:t.accessibility}),t.declare&&this.raise(TSErrors.IndexSignatureHasDeclare,t),void(t.override&&this.raise(TSErrors.IndexSignatureHasOverride,t));!this.state.inAbstractClass&&t.abstract&&this.raise(TSErrors.NonAbstractClassHasAbstractMethod,t),t.override&&(n.hadSuperClass||this.raise(TSErrors.OverrideNotInSubClass,t)),_get(_get_prototype_of(r.prototype),"parseClassMemberWithIsStatic",this).call(this,e,t,n,i)}},{key:"parsePostMemberNameModifiers",value:function(e){this.eat(17)&&(e.optional=!0),e.readonly&&this.match(10)&&this.raise(TSErrors.ClassMethodHasReadonly,e),e.declare&&this.match(10)&&this.raise(TSErrors.ClassMethodHasDeclare,e)}},{key:"parseExpressionStatement",value:function(e,t,n){return("Identifier"===t.type?this.tsParseExpressionStatement(e,t,n):void 0)||_get(_get_prototype_of(r.prototype),"parseExpressionStatement",this).call(this,e,t,n)}},{key:"shouldParseExportDeclaration",value:function(){return!!this.tsIsDeclarationStart()||_get(_get_prototype_of(r.prototype),"shouldParseExportDeclaration",this).call(this)}},{key:"parseConditional",value:function(e,t,n){var i=this;if(!this.state.maybeInArrowParameters||!this.match(17))return _get(_get_prototype_of(r.prototype),"parseConditional",this).call(this,e,t,n);var a=this.tryParse((function(){return _get(_get_prototype_of(r.prototype),"parseConditional",i).call(i,e,t)}));return a.node?(a.error&&(this.state=a.failState),a.node):(a.error&&_get(_get_prototype_of(r.prototype),"setOptionalParametersError",this).call(this,n,a.error),e)}},{key:"parseParenItem",value:function(e,t){if(e=_get(_get_prototype_of(r.prototype),"parseParenItem",this).call(this,e,t),this.eat(17)&&(e.optional=!0,this.resetEndLocation(e)),this.match(14)){var n=this.startNodeAt(t);return n.expression=e,n.typeAnnotation=this.tsParseTypeAnnotation(),this.finishNode(n,"TSTypeCastExpression")}return e}},{key:"parseExportDeclaration",value:function(e){var t=this;if(!this.state.isAmbientContext&&this.isContextual(125))return this.tsInAmbientContext((function(){return t.parseExportDeclaration(e)}));var n=this.state.startLoc,i=this.eatContextual(125);if(i&&(this.isContextual(125)||!this.shouldParseExportDeclaration()))throw this.raise(TSErrors.ExpectedAmbientAfterExportDeclare,this.state.startLoc);var a=tokenIsIdentifier(this.state.type)&&this.tsTryParseExportDeclaration()||_get(_get_prototype_of(r.prototype),"parseExportDeclaration",this).call(this,e);return a?(("TSInterfaceDeclaration"===a.type||"TSTypeAliasDeclaration"===a.type||i)&&(e.exportKind="type"),i&&(this.resetStartLocation(a,n),a.declare=!0),a):null}},{key:"parseClassId",value:function(e,t,n,i){if(t&&!n||!this.isContextual(113)){_get(_get_prototype_of(r.prototype),"parseClassId",this).call(this,e,t,n,e.declare?1024:8331);var a=this.tsTryParseTypeParameters(this.tsParseInOutConstModifiers);a&&(e.typeParameters=a)}}},{key:"parseClassPropertyAnnotation",value:function(e){e.optional||(this.eat(35)?e.definite=!0:this.eat(17)&&(e.optional=!0));var t=this.tsTryParseTypeAnnotation();t&&(e.typeAnnotation=t)}},{key:"parseClassProperty",value:function(e){if(this.parseClassPropertyAnnotation(e),this.state.isAmbientContext&&(!e.readonly||e.typeAnnotation)&&this.match(29)&&this.raise(TSErrors.DeclareClassFieldHasInitializer,this.state.startLoc),e.abstract&&this.match(29)){var t=e.key;this.raise(TSErrors.AbstractPropertyHasInitializer,this.state.startLoc,{propertyName:"Identifier"!==t.type||e.computed?"[".concat(this.input.slice(t.start,t.end),"]"):t.name})}return _get(_get_prototype_of(r.prototype),"parseClassProperty",this).call(this,e)}},{key:"parseClassPrivateProperty",value:function(e){return e.abstract&&this.raise(TSErrors.PrivateElementHasAbstract,e),e.accessibility&&this.raise(TSErrors.PrivateElementHasAccessibility,e,{modifier:e.accessibility}),this.parseClassPropertyAnnotation(e),_get(_get_prototype_of(r.prototype),"parseClassPrivateProperty",this).call(this,e)}},{key:"parseClassAccessorProperty",value:function(e){return this.parseClassPropertyAnnotation(e),e.optional&&this.raise(TSErrors.AccessorCannotBeOptional,e),_get(_get_prototype_of(r.prototype),"parseClassAccessorProperty",this).call(this,e)}},{key:"pushClassMethod",value:function(e,t,n,i,a,s){var o=this.tsTryParseTypeParameters(this.tsParseConstModifier);o&&a&&this.raise(TSErrors.ConstructorHasTypeParameters,o);var l=t.declare,u=void 0!==l&&l,c=t.kind;!u||"get"!==c&&"set"!==c||this.raise(TSErrors.DeclareAccessor,t,{kind:c}),o&&(t.typeParameters=o),_get(_get_prototype_of(r.prototype),"pushClassMethod",this).call(this,e,t,n,i,a,s)}},{key:"pushClassPrivateMethod",value:function(e,t,n,i){var a=this.tsTryParseTypeParameters(this.tsParseConstModifier);a&&(t.typeParameters=a),_get(_get_prototype_of(r.prototype),"pushClassPrivateMethod",this).call(this,e,t,n,i)}},{key:"declareClassPrivateMethodInScope",value:function(e,t){"TSDeclareMethod"!==e.type&&("MethodDefinition"!==e.type||e.value.body)&&_get(_get_prototype_of(r.prototype),"declareClassPrivateMethodInScope",this).call(this,e,t)}},{key:"parseClassSuper",value:function(e){_get(_get_prototype_of(r.prototype),"parseClassSuper",this).call(this,e),e.superClass&&(this.match(47)||this.match(51))&&(e.superTypeParameters=this.tsParseTypeArgumentsInExpression()),this.eatContextual(113)&&(e.implements=this.tsParseHeritageClause("implements"))}},{key:"parseObjPropValue",value:function(e,t,n,i,a,s,o){var l=this.tsTryParseTypeParameters(this.tsParseConstModifier);return l&&(e.typeParameters=l),_get(_get_prototype_of(r.prototype),"parseObjPropValue",this).call(this,e,t,n,i,a,s,o)}},{key:"parseFunctionParams",value:function(e,t){var n=this.tsTryParseTypeParameters(this.tsParseConstModifier);n&&(e.typeParameters=n),_get(_get_prototype_of(r.prototype),"parseFunctionParams",this).call(this,e,t)}},{key:"parseVarId",value:function(e,t){_get(_get_prototype_of(r.prototype),"parseVarId",this).call(this,e,t),"Identifier"===e.id.type&&!this.hasPrecedingLineBreak()&&this.eat(35)&&(e.definite=!0);var n=this.tsTryParseTypeAnnotation();n&&(e.id.typeAnnotation=n,this.resetEndLocation(e.id))}},{key:"parseAsyncArrowFromCallExpression",value:function(e,t){return this.match(14)&&(e.returnType=this.tsParseTypeAnnotation()),_get(_get_prototype_of(r.prototype),"parseAsyncArrowFromCallExpression",this).call(this,e,t)}},{key:"parseMaybeAssign",value:function(e,t){var n,i,a,s,o=this;if(this.hasPlugin("jsx")&&(this.match(142)||this.match(47))){if(n=this.state.clone(),!(i=this.tryParse((function(){return _get(_get_prototype_of(r.prototype),"parseMaybeAssign",o).call(o,e,t)}),n)).error)return i.node;var l=this.state.context,u=l[l.length-1];u!==types$1d.j_oTag&&u!==types$1d.j_expr||l.pop()}if(!(null==i?void 0:i.error)&&!this.match(47))return _get(_get_prototype_of(r.prototype),"parseMaybeAssign",this).call(this,e,t);n&&n!==this.state||(n=this.state.clone());var c=this.tryParse((function(n){var i;s=o.tsParseTypeParameters(o.tsParseConstModifier);var a,l=_get(_get_prototype_of(r.prototype),"parseMaybeAssign",o).call(o,e,t);if(("ArrowFunctionExpression"!==l.type||(null===(i=l.extra)||void 0===i?void 0:i.parenthesized))&&n(),0!==(null==s?void 0:s.params.length)&&o.resetStartLocationFromNode(l,s),l.typeParameters=s,o.hasPlugin("jsx")&&1===l.typeParameters.params.length&&!(null===(a=l.typeParameters.extra)||void 0===a?void 0:a.trailingComma)){var u=l.typeParameters.params[0];u.constraint||o.raise(TSErrors.SingleTypeParameterWithoutTrailingComma,createPositionWithColumnOffset(u.loc.end,1),{typeParameterName:u.name.name})}return l}),n);if(!c.error&&!c.aborted)return s&&this.reportReservedArrowTypeParam(s),c.node;if(!i&&(assert2(!this.hasPlugin("jsx")),!(a=this.tryParse((function(){return _get(_get_prototype_of(r.prototype),"parseMaybeAssign",o).call(o,e,t)}),n)).error))return a.node;if(null==i?void 0:i.node)return this.state=i.failState,i.node;if(c.node)return this.state=c.failState,s&&this.reportReservedArrowTypeParam(s),c.node;if(null==a?void 0:a.node)return this.state=a.failState,a.node;throw(null==i?void 0:i.error)||c.error||(null==a?void 0:a.error)}},{key:"reportReservedArrowTypeParam",value:function(e){var t;1!==e.params.length||e.params[0].constraint||(null===(t=e.extra)||void 0===t?void 0:t.trailingComma)||!this.getPluginOption("typescript","disallowAmbiguousJSXLike")||this.raise(TSErrors.ReservedArrowTypeParam,e)}},{key:"parseMaybeUnary",value:function(e,t){return!this.hasPlugin("jsx")&&this.match(47)?this.tsParseTypeAssertion():_get(_get_prototype_of(r.prototype),"parseMaybeUnary",this).call(this,e,t)}},{key:"parseArrow",value:function(e){var t=this;if(this.match(14)){var n=this.tryParse((function(e){var r=t.tsParseTypeOrTypePredicateAnnotation(14);return!t.canInsertSemicolon()&&t.match(19)||e(),r}));if(n.aborted)return;n.thrown||(n.error&&(this.state=n.failState),e.returnType=n.node)}return _get(_get_prototype_of(r.prototype),"parseArrow",this).call(this,e)}},{key:"parseAssignableListItemTypes",value:function(e,t){if(!(2&t))return e;this.eat(17)&&(e.optional=!0);var r=this.tsTryParseTypeAnnotation();return r&&(e.typeAnnotation=r),this.resetEndLocation(e),e}},{key:"isAssignable",value:function(e,t){switch(e.type){case"TSTypeCastExpression":return this.isAssignable(e.expression,t);case"TSParameterProperty":return!0;default:return _get(_get_prototype_of(r.prototype),"isAssignable",this).call(this,e,t)}}},{key:"toAssignable",value:function(e){var t=arguments.length>1&&void 0!==arguments[1]&&arguments[1];switch(e.type){case"ParenthesizedExpression":this.toAssignableParenthesizedExpression(e,t);break;case"TSAsExpression":case"TSSatisfiesExpression":case"TSNonNullExpression":case"TSTypeAssertion":t?this.expressionScope.recordArrowParameterBindingError(TSErrors.UnexpectedTypeCastInParameter,e):this.raise(TSErrors.UnexpectedTypeCastInParameter,e),this.toAssignable(e.expression,t);break;case"AssignmentExpression":t||"TSTypeCastExpression"!==e.left.type||(e.left=this.typeCastToParameter(e.left));default:_get(_get_prototype_of(r.prototype),"toAssignable",this).call(this,e,t)}}},{key:"toAssignableParenthesizedExpression",value:function(e,t){switch(e.expression.type){case"TSAsExpression":case"TSSatisfiesExpression":case"TSNonNullExpression":case"TSTypeAssertion":case"ParenthesizedExpression":this.toAssignable(e.expression,t);break;default:_get(_get_prototype_of(r.prototype),"toAssignable",this).call(this,e,t)}}},{key:"checkToRestConversion",value:function(e,t){switch(e.type){case"TSAsExpression":case"TSSatisfiesExpression":case"TSTypeAssertion":case"TSNonNullExpression":this.checkToRestConversion(e.expression,!1);break;default:_get(_get_prototype_of(r.prototype),"checkToRestConversion",this).call(this,e,t)}}},{key:"isValidLVal",value:function(e,t,n){return getOwn({TSTypeCastExpression:!0,TSParameterProperty:"parameter",TSNonNullExpression:"expression",TSAsExpression:(64!==n||!t)&&["expression",!0],TSSatisfiesExpression:(64!==n||!t)&&["expression",!0],TSTypeAssertion:(64!==n||!t)&&["expression",!0]},e)||_get(_get_prototype_of(r.prototype),"isValidLVal",this).call(this,e,t,n)}},{key:"parseBindingAtom",value:function(){return 78===this.state.type?this.parseIdentifier(!0):_get(_get_prototype_of(r.prototype),"parseBindingAtom",this).call(this)}},{key:"parseMaybeDecoratorArguments",value:function(e){if(this.match(47)||this.match(51)){var t=this.tsParseTypeArgumentsInExpression();if(this.match(10)){var n=_get(_get_prototype_of(r.prototype),"parseMaybeDecoratorArguments",this).call(this,e);return n.typeParameters=t,n}this.unexpected(null,10)}return _get(_get_prototype_of(r.prototype),"parseMaybeDecoratorArguments",this).call(this,e)}},{key:"checkCommaAfterRest",value:function(e){return this.state.isAmbientContext&&this.match(12)&&this.lookaheadCharCode()===e?(this.next(),!1):_get(_get_prototype_of(r.prototype),"checkCommaAfterRest",this).call(this,e)}},{key:"isClassMethod",value:function(){return this.match(47)||_get(_get_prototype_of(r.prototype),"isClassMethod",this).call(this)}},{key:"isClassProperty",value:function(){return this.match(35)||this.match(14)||_get(_get_prototype_of(r.prototype),"isClassProperty",this).call(this)}},{key:"parseMaybeDefault",value:function(e,t){var n=_get(_get_prototype_of(r.prototype),"parseMaybeDefault",this).call(this,e,t);return"AssignmentPattern"===n.type&&n.typeAnnotation&&n.right.start<n.typeAnnotation.start&&this.raise(TSErrors.TypeAnnotationAfterAssign,n.typeAnnotation),n}},{key:"getTokenFromCode",value:function(e){if(this.state.inType){if(62===e)return void this.finishOp(48,1);if(60===e)return void this.finishOp(47,1)}_get(_get_prototype_of(r.prototype),"getTokenFromCode",this).call(this,e)}},{key:"reScan_lt_gt",value:function(){var e=this.state.type;47===e?(this.state.pos-=1,this.readToken_lt()):48===e&&(this.state.pos-=1,this.readToken_gt())}},{key:"reScan_lt",value:function(){var e=this.state.type;return 51===e?(this.state.pos-=2,this.finishOp(47,1),47):e}},{key:"toAssignableList",value:function(e,t,n){for(var i=0;i<e.length;i++){var a=e[i];"TSTypeCastExpression"===(null==a?void 0:a.type)&&(e[i]=this.typeCastToParameter(a))}_get(_get_prototype_of(r.prototype),"toAssignableList",this).call(this,e,t,n)}},{key:"typeCastToParameter",value:function(e){return e.expression.typeAnnotation=e.typeAnnotation,this.resetEndLocation(e.expression,e.typeAnnotation.loc.end),e.expression}},{key:"shouldParseArrow",value:function(e){var t=this;return this.match(14)?e.every((function(e){return t.isAssignable(e,!0)})):_get(_get_prototype_of(r.prototype),"shouldParseArrow",this).call(this,e)}},{key:"shouldParseAsyncArrow",value:function(){return this.match(14)||_get(_get_prototype_of(r.prototype),"shouldParseAsyncArrow",this).call(this)}},{key:"canHaveLeadingDecorator",value:function(){return _get(_get_prototype_of(r.prototype),"canHaveLeadingDecorator",this).call(this)||this.isAbstractClass()}},{key:"jsxParseOpeningElementAfterName",value:function(e){var t=this;if(this.match(47)||this.match(51)){var n=this.tsTryParseAndCatch((function(){return t.tsParseTypeArgumentsInExpression()}));n&&(e.typeParameters=n)}return _get(_get_prototype_of(r.prototype),"jsxParseOpeningElementAfterName",this).call(this,e)}},{key:"getGetterSetterExpectedParamCount",value:function(e){var t=_get(_get_prototype_of(r.prototype),"getGetterSetterExpectedParamCount",this).call(this,e),n=this.getObjectOrClassMethodParams(e)[0];return n&&this.isThisParam(n)?t+1:t}},{key:"parseCatchClauseParam",value:function(){var e=_get(_get_prototype_of(r.prototype),"parseCatchClauseParam",this).call(this),t=this.tsTryParseTypeAnnotation();return t&&(e.typeAnnotation=t,this.resetEndLocation(e)),e}},{key:"tsInAmbientContext",value:function(e){var t=this.state.isAmbientContext;this.state.isAmbientContext=!0;try{return e()}finally{this.state.isAmbientContext=t}}},{key:"parseClass",value:function(e,t,n){var i=this.state.inAbstractClass;this.state.inAbstractClass=!!e.abstract;try{return _get(_get_prototype_of(r.prototype),"parseClass",this).call(this,e,t,n)}finally{this.state.inAbstractClass=i}}},{key:"tsParseAbstractDeclaration",value:function(e,t){if(this.match(80))return e.abstract=!0,this.maybeTakeDecorators(t,this.parseClass(e,!0,!1));if(this.isContextual(129)){if(!this.hasFollowingLineBreak())return e.abstract=!0,this.raise(TSErrors.NonClassMethodPropertyHasAbstractModifer,e),this.tsParseInterfaceDeclaration(e)}else this.unexpected(null,80)}},{key:"parseMethod",value:function(e,t,n,i,a,s,o){var l=_get(_get_prototype_of(r.prototype),"parseMethod",this).call(this,e,t,n,i,a,s,o);if(l.abstract&&(this.hasPlugin("estree")?!!l.value.body:!!l.body)){var u=l.key;this.raise(TSErrors.AbstractMethodHasImplementation,l,{methodName:"Identifier"!==u.type||l.computed?"[".concat(this.input.slice(u.start,u.end),"]"):u.name})}return l}},{key:"tsParseTypeParameterName",value:function(){return this.parseIdentifier()}},{key:"shouldParseAsAmbientContext",value:function(){return!!this.getPluginOption("typescript","dts")}},{key:"parse",value:function(){return this.shouldParseAsAmbientContext()&&(this.state.isAmbientContext=!0),_get(_get_prototype_of(r.prototype),"parse",this).call(this)}},{key:"getExpression",value:function(){return this.shouldParseAsAmbientContext()&&(this.state.isAmbientContext=!0),_get(_get_prototype_of(r.prototype),"getExpression",this).call(this)}},{key:"parseExportSpecifier",value:function(e,t,n,i){return!t&&i?(this.parseTypeOnlyImportExportSpecifier(e,!1,n),this.finishNode(e,"ExportSpecifier")):(e.exportKind="value",_get(_get_prototype_of(r.prototype),"parseExportSpecifier",this).call(this,e,t,n,i))}},{key:"parseImportSpecifier",value:function(e,t,n,i,a){return!t&&i?(this.parseTypeOnlyImportExportSpecifier(e,!0,n),this.finishNode(e,"ImportSpecifier")):(e.importKind="value",_get(_get_prototype_of(r.prototype),"parseImportSpecifier",this).call(this,e,t,n,i,n?4098:4096))}},{key:"parseTypeOnlyImportExportSpecifier",value:function(e,t,r){var n,i=t?"imported":"local",a=t?"local":"exported",s=e[i],o=!1,l=!0,u=s.loc.start;if(this.isContextual(93)){var c=this.parseIdentifier();if(this.isContextual(93)){var p=this.parseIdentifier();tokenIsKeywordOrIdentifier(this.state.type)?(o=!0,s=c,n=t?this.parseIdentifier():this.parseModuleExportName(),l=!1):(n=p,l=!1)}else tokenIsKeywordOrIdentifier(this.state.type)?(l=!1,n=t?this.parseIdentifier():this.parseModuleExportName()):(o=!0,s=c)}else tokenIsKeywordOrIdentifier(this.state.type)&&(o=!0,t?(s=this.parseIdentifier(!0),this.isContextual(93)||this.checkReservedWord(s.name,s.loc.start,!0,!0)):s=this.parseModuleExportName());o&&r&&this.raise(t?TSErrors.TypeModifierIsUsedInTypeImports:TSErrors.TypeModifierIsUsedInTypeExports,u),e[i]=s,e[a]=n,e[t?"importKind":"exportKind"]=o?"type":"value",l&&this.eatContextual(93)&&(e[a]=t?this.parseIdentifier():this.parseModuleExportName()),e[a]||(e[a]=cloneIdentifier(e[i])),t&&this.checkIdentifier(e[a],o?4098:4096)}}]),r}(e);return t};function isPossiblyLiteralEnum(e){if("MemberExpression"!==e.type)return!1;var t=e.computed,r=e.property;return(!t||"StringLiteral"===r.type||!("TemplateLiteral"!==r.type||r.expressions.length>0))&&isUncomputedMemberExpressionChain(e.object)}function isValidAmbientConstInitializer(e,t){var r,n=e.type;if(null===(r=e.extra)||void 0===r?void 0:r.parenthesized)return!1;if(t){if("Literal"===n){var i=e.value;if("string"==typeof i||"boolean"==typeof i)return!0}}else if("StringLiteral"===n||"BooleanLiteral"===n)return!0;return!(!isNumber$2(e,t)&&!isNegativeNumber(e,t))||("TemplateLiteral"===n&&0===e.expressions.length||!!isPossiblyLiteralEnum(e))}function isNumber$2(e,t){return t?"Literal"===e.type&&("number"==typeof e.value||"bigint"in e):"NumericLiteral"===e.type||"BigIntLiteral"===e.type}function isNegativeNumber(e,t){if("UnaryExpression"===e.type){var r=e.operator,n=e.argument;if("-"===r&&isNumber$2(n,t))return!0}return!1}function isUncomputedMemberExpressionChain(e){return"Identifier"===e.type||"MemberExpression"===e.type&&!e.computed&&isUncomputedMemberExpressionChain(e.object)}var PlaceholderErrors=ParseErrorEnum(_templateObject4())({ClassNameIsRequired:"A class name is required.",UnexpectedSpace:"Unexpected space in placeholder."}),placeholders=function(e){var t=function(e){_inherits$1(r,e);var t=_create_super(r);function r(){return _class_call_check(this,r),t.apply(this,arguments)}return _create_class(r,[{key:"parsePlaceholder",value:function(e){if(this.match(144)){var t=this.startNode();return this.next(),this.assertNoSpace(),t.name=_get(_get_prototype_of(r.prototype),"parseIdentifier",this).call(this,!0),this.assertNoSpace(),this.expect(144),this.finishPlaceholder(t,e)}}},{key:"finishPlaceholder",value:function(e,t){var r=!(!e.expectedNode||"Placeholder"!==e.type);return e.expectedNode=t,r?e:this.finishNode(e,"Placeholder")}},{key:"getTokenFromCode",value:function(e){37===e&&37===this.input.charCodeAt(this.state.pos+1)?this.finishOp(144,2):_get(_get_prototype_of(r.prototype),"getTokenFromCode",this).call(this,e)}},{key:"parseExprAtom",value:function(e){return this.parsePlaceholder("Expression")||_get(_get_prototype_of(r.prototype),"parseExprAtom",this).call(this,e)}},{key:"parseIdentifier",value:function(e){return this.parsePlaceholder("Identifier")||_get(_get_prototype_of(r.prototype),"parseIdentifier",this).call(this,e)}},{key:"checkReservedWord",value:function(e,t,n,i){void 0!==e&&_get(_get_prototype_of(r.prototype),"checkReservedWord",this).call(this,e,t,n,i)}},{key:"parseBindingAtom",value:function(){return this.parsePlaceholder("Pattern")||_get(_get_prototype_of(r.prototype),"parseBindingAtom",this).call(this)}},{key:"isValidLVal",value:function(e,t,n){return"Placeholder"===e||_get(_get_prototype_of(r.prototype),"isValidLVal",this).call(this,e,t,n)}},{key:"toAssignable",value:function(e,t){e&&"Placeholder"===e.type&&"Expression"===e.expectedNode?e.expectedNode="Pattern":_get(_get_prototype_of(r.prototype),"toAssignable",this).call(this,e,t)}},{key:"chStartsBindingIdentifier",value:function(e,t){return!!_get(_get_prototype_of(r.prototype),"chStartsBindingIdentifier",this).call(this,e,t)||144===this.lookahead().type}},{key:"verifyBreakContinue",value:function(e,t){e.label&&"Placeholder"===e.label.type||_get(_get_prototype_of(r.prototype),"verifyBreakContinue",this).call(this,e,t)}},{key:"parseExpressionStatement",value:function(e,t){var n;if("Placeholder"!==t.type||(null===(n=t.extra)||void 0===n?void 0:n.parenthesized))return _get(_get_prototype_of(r.prototype),"parseExpressionStatement",this).call(this,e,t);if(this.match(14)){var i=e;return i.label=this.finishPlaceholder(t,"Identifier"),this.next(),i.body=_get(_get_prototype_of(r.prototype),"parseStatementOrSloppyAnnexBFunctionDeclaration",this).call(this),this.finishNode(i,"LabeledStatement")}return this.semicolon(),e.name=t.name,this.finishPlaceholder(e,"Statement")}},{key:"parseBlock",value:function(e,t,n){return this.parsePlaceholder("BlockStatement")||_get(_get_prototype_of(r.prototype),"parseBlock",this).call(this,e,t,n)}},{key:"parseFunctionId",value:function(e){return this.parsePlaceholder("Identifier")||_get(_get_prototype_of(r.prototype),"parseFunctionId",this).call(this,e)}},{key:"parseClass",value:function(e,t,n){var i=t?"ClassDeclaration":"ClassExpression";this.next();var a=this.state.strict,s=this.parsePlaceholder("Identifier");if(s){if(!(this.match(81)||this.match(144)||this.match(5))){if(n||!t)return e.id=null,e.body=this.finishPlaceholder(s,"ClassBody"),this.finishNode(e,i);throw this.raise(PlaceholderErrors.ClassNameIsRequired,this.state.startLoc)}e.id=s}else this.parseClassId(e,t,n);return _get(_get_prototype_of(r.prototype),"parseClassSuper",this).call(this,e),e.body=this.parsePlaceholder("ClassBody")||_get(_get_prototype_of(r.prototype),"parseClassBody",this).call(this,!!e.superClass,a),this.finishNode(e,i)}},{key:"parseExport",value:function(e,t){var n=this.parsePlaceholder("Identifier");if(!n)return _get(_get_prototype_of(r.prototype),"parseExport",this).call(this,e,t);if(!this.isContextual(98)&&!this.match(12))return e.specifiers=[],e.source=null,e.declaration=this.finishPlaceholder(n,"Declaration"),this.finishNode(e,"ExportNamedDeclaration");this.expectPlugin("exportDefaultFrom");var i=this.startNode();return i.exported=n,e.specifiers=[this.finishNode(i,"ExportDefaultSpecifier")],_get(_get_prototype_of(r.prototype),"parseExport",this).call(this,e,t)}},{key:"isExportDefaultSpecifier",value:function(){if(this.match(65)){var e=this.nextTokenStart();if(this.isUnparsedContextual(e,"from")&&this.input.startsWith(tokenLabelName(144),this.nextTokenStartSince(e+4)))return!0}return _get(_get_prototype_of(r.prototype),"isExportDefaultSpecifier",this).call(this)}},{key:"maybeParseExportDefaultSpecifier",value:function(e,t){var n;return!!(null===(n=e.specifiers)||void 0===n?void 0:n.length)||_get(_get_prototype_of(r.prototype),"maybeParseExportDefaultSpecifier",this).call(this,e,t)}},{key:"checkExport",value:function(e){var t=e.specifiers;(null==t?void 0:t.length)&&(e.specifiers=t.filter((function(e){return"Placeholder"===e.exported.type}))),_get(_get_prototype_of(r.prototype),"checkExport",this).call(this,e),e.specifiers=t}},{key:"parseImport",value:function(e){var t=this.parsePlaceholder("Identifier");if(!t)return _get(_get_prototype_of(r.prototype),"parseImport",this).call(this,e);if(e.specifiers=[],!this.isContextual(98)&&!this.match(12))return e.source=this.finishPlaceholder(t,"StringLiteral"),this.semicolon(),this.finishNode(e,"ImportDeclaration");var n=this.startNodeAtNode(t);(n.local=t,e.specifiers.push(this.finishNode(n,"ImportDefaultSpecifier")),this.eat(12))&&(this.maybeParseStarImportSpecifier(e)||this.parseNamedImportSpecifiers(e));return this.expectContextual(98),e.source=this.parseImportSource(),this.semicolon(),this.finishNode(e,"ImportDeclaration")}},{key:"parseImportSource",value:function(){return this.parsePlaceholder("StringLiteral")||_get(_get_prototype_of(r.prototype),"parseImportSource",this).call(this)}},{key:"assertNoSpace",value:function(){this.state.start>this.state.lastTokEndLoc.index&&this.raise(PlaceholderErrors.UnexpectedSpace,this.state.lastTokEndLoc)}}]),r}(e);return t},v8intrinsic=function(e){var t=function(e){_inherits$1(r,e);var t=_create_super(r);function r(){return _class_call_check(this,r),t.apply(this,arguments)}return _create_class(r,[{key:"parseV8Intrinsic",value:function(){if(this.match(54)){var e=this.state.startLoc,t=this.startNode();if(this.next(),tokenIsIdentifier(this.state.type)){var r=this.parseIdentifierName(),n=this.createIdentifier(t,r);if(n.type="V8IntrinsicIdentifier",this.match(10))return n}this.unexpected(e)}}},{key:"parseExprAtom",value:function(e){return this.parseV8Intrinsic()||_get(_get_prototype_of(r.prototype),"parseExprAtom",this).call(this,e)}}]),r}(e);return t};function hasPlugin(e,t){var r=_sliced_to_array("string"==typeof t?[t,{}]:t,2),n=r[0],i=r[1],a=Object.keys(i),s=0===a.length;return e.some((function(e){if("string"==typeof e)return s&&e===n;var t=_sliced_to_array(e,2),r=t[0],o=t[1];if(r!==n)return!1;var l=!0,u=!1,c=void 0;try{for(var p,d=a[Symbol.iterator]();!(l=(p=d.next()).done);l=!0){var f=p.value;if(o[f]!==i[f])return!1}}catch(e){u=!0,c=e}finally{try{l||null==d.return||d.return()}finally{if(u)throw c}}return!0}))}function getPluginOption(e,t,r){var n=e.find((function(e){return Array.isArray(e)?e[0]===t:e===t}));return n&&Array.isArray(n)&&n.length>1?n[1][r]:null}var PIPELINE_PROPOSALS=["minimal","fsharp","hack","smart"],TOPIC_TOKENS=["^^","@@","^","%","#"],RECORD_AND_TUPLE_SYNTAX_TYPES=["hash","bar"];function validatePlugins(e){if(hasPlugin(e,"decorators")){if(hasPlugin(e,"decorators-legacy"))throw new Error("Cannot use the decorators and decorators-legacy plugin together");var t=getPluginOption(e,"decorators","decoratorsBeforeExport");if(null!=t&&"boolean"!=typeof t)throw new Error("'decoratorsBeforeExport' must be a boolean, if specified.");var r=getPluginOption(e,"decorators","allowCallParenthesized");if(null!=r&&"boolean"!=typeof r)throw new Error("'allowCallParenthesized' must be a boolean.")}if(hasPlugin(e,"flow")&&hasPlugin(e,"typescript"))throw new Error("Cannot combine flow and typescript plugins.");if(hasPlugin(e,"placeholders")&&hasPlugin(e,"v8intrinsic"))throw new Error("Cannot combine placeholders and v8intrinsic plugins.");if(hasPlugin(e,"pipelineOperator")){var n=getPluginOption(e,"pipelineOperator","proposal");if(!PIPELINE_PROPOSALS.includes(n)){var i=PIPELINE_PROPOSALS.map((function(e){return'"'.concat(e,'"')})).join(", ");throw new Error('"pipelineOperator" requires "proposal" option whose value must be one of: '.concat(i,"."))}var a=hasPlugin(e,["recordAndTuple",{syntaxType:"hash"}]);if("hack"===n){if(hasPlugin(e,"placeholders"))throw new Error("Cannot combine placeholders plugin and Hack-style pipes.");if(hasPlugin(e,"v8intrinsic"))throw new Error("Cannot combine v8intrinsic plugin and Hack-style pipes.");var s=getPluginOption(e,"pipelineOperator","topicToken");if(!TOPIC_TOKENS.includes(s)){var o=TOPIC_TOKENS.map((function(e){return'"'.concat(e,'"')})).join(", ");throw new Error('"pipelineOperator" in "proposal": "hack" mode also requires a "topicToken" option whose value must be one of: '.concat(o,"."))}if("#"===s&&a)throw new Error('Plugin conflict between `["pipelineOperator", { proposal: "hack", topicToken: "#" }]` and `["recordAndtuple", { syntaxType: "hash"}]`.')}else if("smart"===n&&a)throw new Error('Plugin conflict between `["pipelineOperator", { proposal: "smart" }]` and `["recordAndtuple", { syntaxType: "hash"}]`.')}if(hasPlugin(e,"moduleAttributes"))throw new Error("`moduleAttributes` has been removed in Babel 8, please use `importAttributes` parser plugin, or `@babel/plugin-syntax-import-attributes`.");if(hasPlugin(e,"importAssertions")&&hasPlugin(e,"importAttributes"))throw new Error("Cannot combine importAssertions and importAttributes plugins.");if(hasPlugin(e,"recordAndTuple")&&null!=getPluginOption(e,"recordAndTuple","syntaxType")&&!RECORD_AND_TUPLE_SYNTAX_TYPES.includes(getPluginOption(e,"recordAndTuple","syntaxType")))throw new Error("The 'syntaxType' option of the 'recordAndTuple' plugin must be one of: "+RECORD_AND_TUPLE_SYNTAX_TYPES.map((function(e){return"'".concat(e,"'")})).join(", "));if(hasPlugin(e,"asyncDoExpressions")&&!hasPlugin(e,"doExpressions")){var l=new Error("'asyncDoExpressions' requires 'doExpressions', please add 'doExpressions' to parser plugins.");throw l.missingPlugins="doExpressions",l}if(hasPlugin(e,"optionalChainingAssign")&&"2023-07"!==getPluginOption(e,"optionalChainingAssign","version"))throw new Error("The 'optionalChainingAssign' plugin requires a 'version' option, representing the last proposal update. Currently, the only supported value is '2023-07'.")}var mixinPlugins={estree:estree,jsx:jsx$5,flow:flow$3,typescript:typescript$5,v8intrinsic:v8intrinsic,placeholders:placeholders},mixinPluginNames=Object.keys(mixinPlugins),defaultOptions$5={sourceType:"script",sourceFilename:void 0,startColumn:0,startLine:1,allowAwaitOutsideFunction:!1,allowReturnOutsideFunction:!1,allowNewTargetOutsideFunction:!1,allowImportExportEverywhere:!1,allowSuperOutsideMethod:!1,allowUndeclaredExports:!1,plugins:[],strictMode:null,ranges:!1,tokens:!1,createImportExpressions:!0,createParenthesizedExpressions:!1,errorRecovery:!1,attachComment:!0,annexB:!0};function getOptions(e){if(null==e)return Object.assign({},defaultOptions$5);if(null!=e.annexB&&!1!==e.annexB)throw new Error("The `annexB` option can only be set to `false`.");var t={},r=!0,n=!1,i=void 0;try{for(var a,s=Object.keys(defaultOptions$5)[Symbol.iterator]();!(r=(a=s.next()).done);r=!0){var o,l=a.value;t[l]=null!==(o=e[l])&&void 0!==o?o:defaultOptions$5[l]}}catch(e){n=!0,i=e}finally{try{r||null==s.return||s.return()}finally{if(n)throw i}}return t}var ExpressionParser=function(e){_inherits$1(r,e);var t=_create_super(r);function r(){return _class_call_check(this,r),t.apply(this,arguments)}return _create_class(r,[{key:"checkProto",value:function(e,t,r,n){if(!("SpreadElement"===e.type||this.isObjectMethod(e)||e.computed||e.shorthand)){var i=e.key;if("__proto__"===("Identifier"===i.type?i.name:i.value)){if(t)return void this.raise(Errors.RecordNoProto,i);r.used&&(n?null===n.doubleProtoLoc&&(n.doubleProtoLoc=i.loc.start):this.raise(Errors.DuplicateProto,i)),r.used=!0}}}},{key:"shouldExitDescending",value:function(e,t){return"ArrowFunctionExpression"===e.type&&e.start===t}},{key:"getExpression",value:function(){this.enterInitialScopes(),this.nextToken();var e=this.parseExpression();return this.match(139)||this.unexpected(),this.finalizeRemainingComments(),e.comments=this.comments,e.errors=this.state.errors,this.options.tokens&&(e.tokens=this.tokens),e}},{key:"parseExpression",value:function(e,t){var r=this;return e?this.disallowInAnd((function(){return r.parseExpressionBase(t)})):this.allowInAnd((function(){return r.parseExpressionBase(t)}))}},{key:"parseExpressionBase",value:function(e){var t=this.state.startLoc,r=this.parseMaybeAssign(e);if(this.match(12)){var n=this.startNodeAt(t);for(n.expressions=[r];this.eat(12);)n.expressions.push(this.parseMaybeAssign(e));return this.toReferencedList(n.expressions),this.finishNode(n,"SequenceExpression")}return r}},{key:"parseMaybeAssignDisallowIn",value:function(e,t){var r=this;return this.disallowInAnd((function(){return r.parseMaybeAssign(e,t)}))}},{key:"parseMaybeAssignAllowIn",value:function(e,t){var r=this;return this.allowInAnd((function(){return r.parseMaybeAssign(e,t)}))}},{key:"setOptionalParametersError",value:function(e,t){var r;e.optionalParametersLoc=null!==(r=null==t?void 0:t.loc)&&void 0!==r?r:this.state.startLoc}},{key:"parseMaybeAssign",value:function(e,t){var r,n=this.state.startLoc;if(this.isContextual(108)&&this.prodParam.hasYield){var i=this.parseYield();return t&&(i=t.call(this,i,n)),i}e?r=!1:(e=new ExpressionErrors,r=!0);var a=this.state.type;(10===a||tokenIsIdentifier(a))&&(this.state.potentialArrowAt=this.state.start);var s=this.parseMaybeConditional(e);if(t&&(s=t.call(this,s,n)),tokenIsAssignment(this.state.type)){var o=this.startNodeAt(n),l=this.state.value;if(o.operator=l,this.match(29)){this.toAssignable(s,!0),o.left=s;var u=n.index;null!=e.doubleProtoLoc&&e.doubleProtoLoc.index>=u&&(e.doubleProtoLoc=null),null!=e.shorthandAssignLoc&&e.shorthandAssignLoc.index>=u&&(e.shorthandAssignLoc=null),null!=e.privateKeyLoc&&e.privateKeyLoc.index>=u&&(this.checkDestructuringPrivate(e),e.privateKeyLoc=null)}else o.left=s;return this.next(),o.right=this.parseMaybeAssign(),this.checkLVal(s,{in:this.finishNode(o,"AssignmentExpression")}),o}return r&&this.checkExpressionErrors(e,!0),s}},{key:"parseMaybeConditional",value:function(e){var t=this.state.startLoc,r=this.state.potentialArrowAt,n=this.parseExprOps(e);return this.shouldExitDescending(n,r)?n:this.parseConditional(n,t,e)}},{key:"parseConditional",value:function(e,t,r){if(this.eat(17)){var n=this.startNodeAt(t);return n.test=e,n.consequent=this.parseMaybeAssignAllowIn(),this.expect(14),n.alternate=this.parseMaybeAssign(),this.finishNode(n,"ConditionalExpression")}return e}},{key:"parseMaybeUnaryOrPrivate",value:function(e){return this.match(138)?this.parsePrivateName():this.parseMaybeUnary(e)}},{key:"parseExprOps",value:function(e){var t=this.state.startLoc,r=this.state.potentialArrowAt,n=this.parseMaybeUnaryOrPrivate(e);return this.shouldExitDescending(n,r)?n:this.parseExprOp(n,t,-1)}},{key:"parseExprOp",value:function(e,t,r){if(this.isPrivateName(e)){var n=this.getPrivateNameSV(e);(r>=tokenOperatorPrecedence(58)||!this.prodParam.hasIn||!this.match(58))&&this.raise(Errors.PrivateInExpectedIn,e,{identifierName:n}),this.classScope.usePrivateName(n,e.loc.start)}var i=this.state.type;if(tokenIsOperator(i)&&(this.prodParam.hasIn||!this.match(58))){var a=tokenOperatorPrecedence(i);if(a>r){if(39===i){if(this.expectPlugin("pipelineOperator"),this.state.inFSharpPipelineDirectBody)return e;this.checkPipelineAtInfixOperator(e,t)}var s=this.startNodeAt(t);s.left=e,s.operator=this.state.value;var o=41===i||42===i,l=40===i;if(l&&(a=tokenOperatorPrecedence(42)),this.next(),39===i&&this.hasPlugin(["pipelineOperator",{proposal:"minimal"}])&&96===this.state.type&&this.prodParam.hasAwait)throw this.raise(Errors.UnexpectedAwaitAfterPipelineBody,this.state.startLoc);s.right=this.parseExprOpRightExpr(i,a);var u=this.finishNode(s,o||l?"LogicalExpression":"BinaryExpression"),c=this.state.type;if(l&&(41===c||42===c)||o&&40===c)throw this.raise(Errors.MixingCoalesceWithLogical,this.state.startLoc);return this.parseExprOp(u,t,r)}}return e}},{key:"parseExprOpRightExpr",value:function(e,t){var r=this,n=this.state.startLoc;if(39===e)switch(this.getPluginOption("pipelineOperator","proposal")){case"hack":return this.withTopicBindingContext((function(){return r.parseHackPipeBody()}));case"smart":return this.withTopicBindingContext((function(){if(r.prodParam.hasYield&&r.isContextual(108))throw r.raise(Errors.PipeBodyIsTighter,r.state.startLoc);return r.parseSmartPipelineBodyInStyle(r.parseExprOpBaseRightExpr(e,t),n)}));case"fsharp":return this.withSoloAwaitPermittingContext((function(){return r.parseFSharpPipelineBody(t)}))}return this.parseExprOpBaseRightExpr(e,t)}},{key:"parseExprOpBaseRightExpr",value:function(e,t){var r=this.state.startLoc;return this.parseExprOp(this.parseMaybeUnaryOrPrivate(),r,tokenIsRightAssociative(e)?t-1:t)}},{key:"parseHackPipeBody",value:function(){var e,t=this.state.startLoc,r=this.parseMaybeAssign();return UnparenthesizedPipeBodyDescriptions.has(r.type)&&!(null===(e=r.extra)||void 0===e?void 0:e.parenthesized)&&this.raise(Errors.PipeUnparenthesizedBody,t,{type:r.type}),this.topicReferenceWasUsedInCurrentContext()||this.raise(Errors.PipeTopicUnused,t),r}},{key:"checkExponentialAfterUnary",value:function(e){this.match(57)&&this.raise(Errors.UnexpectedTokenUnaryExponentiation,e.argument)}},{key:"parseMaybeUnary",value:function(e,t){var r=this.state.startLoc,n=this.isContextual(96);if(n&&this.isAwaitAllowed()){this.next();var i=this.parseAwait(r);return t||this.checkExponentialAfterUnary(i),i}var a=this.match(34),s=this.startNode();if(tokenIsPrefix(this.state.type)){s.operator=this.state.value,s.prefix=!0,this.match(72)&&this.expectPlugin("throwExpressions");var o=this.match(89);if(this.next(),s.argument=this.parseMaybeUnary(null,!0),this.checkExpressionErrors(e,!0),this.state.strict&&o){var l=s.argument;"Identifier"===l.type?this.raise(Errors.StrictDelete,s):this.hasPropertyAsPrivateName(l)&&this.raise(Errors.DeletePrivateField,s)}if(!a)return t||this.checkExponentialAfterUnary(s),this.finishNode(s,"UnaryExpression")}var u=this.parseUpdate(s,a,e);if(n){var c=this.state.type;if((this.hasPlugin("v8intrinsic")?tokenCanStartExpression(c):tokenCanStartExpression(c)&&!this.match(54))&&!this.isAmbiguousAwait())return this.raiseOverwrite(Errors.AwaitNotInAsyncContext,r),this.parseAwait(r)}return u}},{key:"parseUpdate",value:function(e,t,r){if(t){var n=e;return this.checkLVal(n.argument,{in:this.finishNode(n,"UpdateExpression")}),e}var i=this.state.startLoc,a=this.parseExprSubscripts(r);if(this.checkExpressionErrors(r,!1))return a;for(;tokenIsPostfix(this.state.type)&&!this.canInsertSemicolon();){var s=this.startNodeAt(i);s.operator=this.state.value,s.prefix=!1,s.argument=a,this.next(),this.checkLVal(a,{in:a=this.finishNode(s,"UpdateExpression")})}return a}},{key:"parseExprSubscripts",value:function(e){var t=this.state.startLoc,r=this.state.potentialArrowAt,n=this.parseExprAtom(e);return this.shouldExitDescending(n,r)?n:this.parseSubscripts(n,t)}},{key:"parseSubscripts",value:function(e,t,r){var n={optionalChainMember:!1,maybeAsyncArrow:this.atPossibleAsyncArrow(e),stop:!1};do{e=this.parseSubscript(e,t,r,n),n.maybeAsyncArrow=!1}while(!n.stop);return e}},{key:"parseSubscript",value:function(e,t,r,n){var i=this.state.type;if(!r&&15===i)return this.parseBind(e,t,r,n);if(tokenIsTemplate(i))return this.parseTaggedTemplateExpression(e,t,n);var a=!1;if(18===i){if(r&&(this.raise(Errors.OptionalChainingNoNew,this.state.startLoc),40===this.lookaheadCharCode()))return n.stop=!0,e;n.optionalChainMember=a=!0,this.next()}if(!r&&this.match(10))return this.parseCoverCallAndAsyncArrowHead(e,t,n,a);var s=this.eat(0);return s||a||this.eat(16)?this.parseMember(e,t,n,s,a):(n.stop=!0,e)}},{key:"parseMember",value:function(e,t,r,n,i){var a=this.startNodeAt(t);return a.object=e,a.computed=n,n?(a.property=this.parseExpression(),this.expect(3)):this.match(138)?("Super"===e.type&&this.raise(Errors.SuperPrivateField,t),this.classScope.usePrivateName(this.state.value,this.state.startLoc),a.property=this.parsePrivateName()):a.property=this.parseIdentifier(!0),r.optionalChainMember?(a.optional=i,this.finishNode(a,"OptionalMemberExpression")):this.finishNode(a,"MemberExpression")}},{key:"parseBind",value:function(e,t,r,n){var i=this.startNodeAt(t);return i.object=e,this.next(),i.callee=this.parseNoCallExpr(),n.stop=!0,this.parseSubscripts(this.finishNode(i,"BindExpression"),t,r)}},{key:"parseCoverCallAndAsyncArrowHead",value:function(e,t,r,n){var i=this.state.maybeInArrowParameters,a=null;this.state.maybeInArrowParameters=!0,this.next();var s=this.startNodeAt(t);s.callee=e;var o=r.maybeAsyncArrow,l=r.optionalChainMember;o&&(this.expressionScope.enter(newAsyncArrowScope()),a=new ExpressionErrors),l&&(s.optional=n),s.arguments=n?this.parseCallExpressionArguments(11):this.parseCallExpressionArguments(11,"Import"===e.type,"Super"!==e.type,s,a);var u=this.finishCallExpression(s,l);return o&&this.shouldParseAsyncArrow()&&!n?(r.stop=!0,this.checkDestructuringPrivate(a),this.expressionScope.validateAsPattern(),this.expressionScope.exit(),u=this.parseAsyncArrowFromCallExpression(this.startNodeAt(t),u)):(o&&(this.checkExpressionErrors(a,!0),this.expressionScope.exit()),this.toReferencedArguments(u)),this.state.maybeInArrowParameters=i,u}},{key:"toReferencedArguments",value:function(e,t){this.toReferencedListDeep(e.arguments,t)}},{key:"parseTaggedTemplateExpression",value:function(e,t,r){var n=this.startNodeAt(t);return n.tag=e,n.quasi=this.parseTemplate(!0),r.optionalChainMember&&this.raise(Errors.OptionalChainingNoTemplate,t),this.finishNode(n,"TaggedTemplateExpression")}},{key:"atPossibleAsyncArrow",value:function(e){return"Identifier"===e.type&&"async"===e.name&&this.state.lastTokEndLoc.index===e.end&&!this.canInsertSemicolon()&&e.end-e.start==5&&e.start===this.state.potentialArrowAt}},{key:"expectImportAttributesPlugin",value:function(){this.hasPlugin("importAssertions")||this.expectPlugin("importAttributes")}},{key:"finishCallExpression",value:function(e,t){if("Import"===e.callee.type)if(2===e.arguments.length&&this.expectImportAttributesPlugin(),0===e.arguments.length||e.arguments.length>2)this.raise(Errors.ImportCallArity,e,{maxArgumentCount:this.hasPlugin("importAttributes")||this.hasPlugin("importAssertions")||this.hasPlugin("moduleAttributes")?2:1});else{var r=!0,n=!1,i=void 0;try{for(var a,s=e.arguments[Symbol.iterator]();!(r=(a=s.next()).done);r=!0){var o=a.value;"SpreadElement"===o.type&&this.raise(Errors.ImportCallSpreadArgument,o)}}catch(e){n=!0,i=e}finally{try{r||null==s.return||s.return()}finally{if(n)throw i}}}return this.finishNode(e,t?"OptionalCallExpression":"CallExpression")}},{key:"parseCallExpressionArguments",value:function(e,t,r,n,i){var a=[],s=!0,o=this.state.inFSharpPipelineDirectBody;for(this.state.inFSharpPipelineDirectBody=!1;!this.eat(e);){if(s)s=!1;else if(this.expect(12),this.match(e)){!t||this.hasPlugin("importAttributes")||this.hasPlugin("importAssertions")||this.hasPlugin("moduleAttributes")||this.raise(Errors.ImportCallArgumentTrailingComma,this.state.lastTokStartLoc),n&&this.addTrailingCommaExtraToNode(n),this.next();break}a.push(this.parseExprListItem(!1,i,r))}return this.state.inFSharpPipelineDirectBody=o,a}},{key:"shouldParseAsyncArrow",value:function(){return this.match(19)&&!this.canInsertSemicolon()}},{key:"parseAsyncArrowFromCallExpression",value:function(e,t){var r;return this.resetPreviousNodeTrailingComments(t),this.expect(19),this.parseArrowExpression(e,t.arguments,!0,null===(r=t.extra)||void 0===r?void 0:r.trailingCommaLoc),t.innerComments&&setInnerComments(e,t.innerComments),t.callee.trailingComments&&setInnerComments(e,t.callee.trailingComments),e}},{key:"parseNoCallExpr",value:function(){var e=this.state.startLoc;return this.parseSubscripts(this.parseExprAtom(),e,!0)}},{key:"parseExprAtom",value:function(e){var t,r=null,n=this.state.type;switch(n){case 79:return this.parseSuper();case 83:return t=this.startNode(),this.next(),this.match(16)?this.parseImportMetaProperty(t):this.match(10)?this.options.createImportExpressions?this.parseImportCall(t):this.finishNode(t,"Import"):(this.raise(Errors.UnsupportedImport,this.state.lastTokStartLoc),this.finishNode(t,"Import"));case 78:return t=this.startNode(),this.next(),this.finishNode(t,"ThisExpression");case 90:return this.parseDo(this.startNode(),!1);case 56:case 31:return this.readRegexp(),this.parseRegExpLiteral(this.state.value);case 134:return this.parseNumericLiteral(this.state.value);case 135:return this.parseBigIntLiteral(this.state.value);case 136:return this.parseDecimalLiteral(this.state.value);case 133:return this.parseStringLiteral(this.state.value);case 84:return this.parseNullLiteral();case 85:return this.parseBooleanLiteral(!0);case 86:return this.parseBooleanLiteral(!1);case 10:var i=this.state.potentialArrowAt===this.state.start;return this.parseParenAndDistinguishExpression(i);case 2:case 1:return this.parseArrayLike(2===this.state.type?4:3,!1,!0);case 0:return this.parseArrayLike(3,!0,!1,e);case 6:case 7:return this.parseObjectLike(6===this.state.type?9:8,!1,!0);case 5:return this.parseObjectLike(8,!1,!1,e);case 68:return this.parseFunctionOrFunctionSent();case 26:r=this.parseDecorators();case 80:return this.parseClass(this.maybeTakeDecorators(r,this.startNode()),!1);case 77:return this.parseNewOrNewTarget();case 25:case 24:return this.parseTemplate(!1);case 15:t=this.startNode(),this.next(),t.object=null;var a=t.callee=this.parseNoCallExpr();if("MemberExpression"===a.type)return this.finishNode(t,"BindExpression");throw this.raise(Errors.UnsupportedBind,a);case 138:return this.raise(Errors.PrivateInExpectedIn,this.state.startLoc,{identifierName:this.state.value}),this.parsePrivateName();case 33:return this.parseTopicReferenceThenEqualsSign(54,"%");case 32:return this.parseTopicReferenceThenEqualsSign(44,"^");case 37:case 38:return this.parseTopicReference("hack");case 44:case 54:case 27:var s=this.getPluginOption("pipelineOperator","proposal");if(s)return this.parseTopicReference(s);this.unexpected();break;case 47:var o=this.input.codePointAt(this.nextTokenStart());isIdentifierStart2(o)||62===o?this.expectOnePlugin(["jsx","flow","typescript"]):this.unexpected();break;default:if(tokenIsIdentifier(n)){if(this.isContextual(127)&&123===this.lookaheadInLineCharCode())return this.parseModuleExpression();var l=this.state.potentialArrowAt===this.state.start,u=this.state.containsEsc,c=this.parseIdentifier();if(!u&&"async"===c.name&&!this.canInsertSemicolon()){var p=this.state.type;if(68===p)return this.resetPreviousNodeTrailingComments(c),this.next(),this.parseAsyncFunctionExpression(this.startNodeAtNode(c));if(tokenIsIdentifier(p))return 61===this.lookaheadCharCode()?this.parseAsyncArrowUnaryFunction(this.startNodeAtNode(c)):c;if(90===p)return this.resetPreviousNodeTrailingComments(c),this.parseDo(this.startNodeAtNode(c),!0)}return l&&this.match(19)&&!this.canInsertSemicolon()?(this.next(),this.parseArrowExpression(this.startNodeAtNode(c),[c],!1)):c}this.unexpected()}}},{key:"parseTopicReferenceThenEqualsSign",value:function(e,t){var r=this.getPluginOption("pipelineOperator","proposal");if(r)return this.state.type=e,this.state.value=t,this.state.pos--,this.state.end--,this.state.endLoc=createPositionWithColumnOffset(this.state.endLoc,-1),this.parseTopicReference(r);this.unexpected()}},{key:"parseTopicReference",value:function(e){var t=this.startNode(),r=this.state.startLoc,n=this.state.type;return this.next(),this.finishTopicReference(t,r,e,n)}},{key:"finishTopicReference",value:function(e,t,r,n){if(this.testTopicReferenceConfiguration(r,t,n)){var i="smart"===r?"PipelinePrimaryTopicReference":"TopicReference";return this.topicReferenceIsAllowedInCurrentContext()||this.raise("smart"===r?Errors.PrimaryTopicNotAllowed:Errors.PipeTopicUnbound,t),this.registerTopicReference(),this.finishNode(e,i)}throw this.raise(Errors.PipeTopicUnconfiguredToken,t,{token:tokenLabelName(n)})}},{key:"testTopicReferenceConfiguration",value:function(e,t,r){switch(e){case"hack":return this.hasPlugin(["pipelineOperator",{topicToken:tokenLabelName(r)}]);case"smart":return 27===r;default:throw this.raise(Errors.PipeTopicRequiresHackPipes,t)}}},{key:"parseAsyncArrowUnaryFunction",value:function(e){this.prodParam.enter(functionFlags(!0,this.prodParam.hasYield));var t=[this.parseIdentifier()];return this.prodParam.exit(),this.hasPrecedingLineBreak()&&this.raise(Errors.LineTerminatorBeforeArrow,this.state.curPosition()),this.expect(19),this.parseArrowExpression(e,t,!0)}},{key:"parseDo",value:function(e,t){this.expectPlugin("doExpressions"),t&&this.expectPlugin("asyncDoExpressions"),e.async=t,this.next();var r=this.state.labels;return this.state.labels=[],t?(this.prodParam.enter(2),e.body=this.parseBlock(),this.prodParam.exit()):e.body=this.parseBlock(),this.state.labels=r,this.finishNode(e,"DoExpression")}},{key:"parseSuper",value:function(){var e=this.startNode();return this.next(),!this.match(10)||this.scope.allowDirectSuper||this.options.allowSuperOutsideMethod?this.scope.allowSuper||this.options.allowSuperOutsideMethod||this.raise(Errors.UnexpectedSuper,e):this.raise(Errors.SuperNotAllowed,e),this.match(10)||this.match(0)||this.match(16)||this.raise(Errors.UnsupportedSuper,e),this.finishNode(e,"Super")}},{key:"parsePrivateName",value:function(){var e=this.startNode(),t=this.startNodeAt(createPositionWithColumnOffset(this.state.startLoc,1)),r=this.state.value;return this.next(),e.id=this.createIdentifier(t,r),this.finishNode(e,"PrivateName")}},{key:"parseFunctionOrFunctionSent",value:function(){var e=this.startNode();if(this.next(),this.prodParam.hasYield&&this.match(16)){var t=this.createIdentifier(this.startNodeAtNode(e),"function");return this.next(),this.match(103)?this.expectPlugin("functionSent"):this.hasPlugin("functionSent")||this.unexpected(),this.parseMetaProperty(e,t,"sent")}return this.parseFunction(e)}},{key:"parseMetaProperty",value:function(e,t,r){e.meta=t;var n=this.state.containsEsc;return e.property=this.parseIdentifier(!0),(e.property.name!==r||n)&&this.raise(Errors.UnsupportedMetaProperty,e.property,{target:t.name,onlyValidPropertyName:r}),this.finishNode(e,"MetaProperty")}},{key:"parseImportMetaProperty",value:function(e){var t=this.createIdentifier(this.startNodeAtNode(e),"import");if(this.next(),this.isContextual(101))this.inModule||this.raise(Errors.ImportMetaOutsideModule,t),this.sawUnambiguousESM=!0;else if(this.isContextual(105)||this.isContextual(97)){var r=this.isContextual(105);if(r||this.unexpected(),this.expectPlugin(r?"sourcePhaseImports":"deferredImportEvaluation"),!this.options.createImportExpressions)throw this.raise(Errors.DynamicImportPhaseRequiresImportExpressions,this.state.startLoc,{phase:this.state.value});return this.next(),e.phase=r?"source":"defer",this.parseImportCall(e)}return this.parseMetaProperty(e,t,"meta")}},{key:"parseLiteralAtNode",value:function(e,t,r){return this.addExtra(r,"rawValue",e),this.addExtra(r,"raw",this.input.slice(r.start,this.state.end)),r.value=e,this.next(),this.finishNode(r,t)}},{key:"parseLiteral",value:function(e,t){var r=this.startNode();return this.parseLiteralAtNode(e,t,r)}},{key:"parseStringLiteral",value:function(e){return this.parseLiteral(e,"StringLiteral")}},{key:"parseNumericLiteral",value:function(e){return this.parseLiteral(e,"NumericLiteral")}},{key:"parseBigIntLiteral",value:function(e){return this.parseLiteral(e,"BigIntLiteral")}},{key:"parseDecimalLiteral",value:function(e){return this.parseLiteral(e,"DecimalLiteral")}},{key:"parseRegExpLiteral",value:function(e){var t=this.parseLiteral(e.value,"RegExpLiteral");return t.pattern=e.pattern,t.flags=e.flags,t}},{key:"parseBooleanLiteral",value:function(e){var t=this.startNode();return t.value=e,this.next(),this.finishNode(t,"BooleanLiteral")}},{key:"parseNullLiteral",value:function(){var e=this.startNode();return this.next(),this.finishNode(e,"NullLiteral")}},{key:"parseParenAndDistinguishExpression",value:function(e){var t,r=this.state.startLoc;this.next(),this.expressionScope.enter(newArrowHeadScope());var n=this.state.maybeInArrowParameters,i=this.state.inFSharpPipelineDirectBody;this.state.maybeInArrowParameters=!0,this.state.inFSharpPipelineDirectBody=!1;for(var a,s,o=this.state.startLoc,l=[],u=new ExpressionErrors,c=!0;!this.match(11);){if(c)c=!1;else if(this.expect(12,null===u.optionalParametersLoc?null:u.optionalParametersLoc),this.match(11)){s=this.state.startLoc;break}if(this.match(21)){var p=this.state.startLoc;if(a=this.state.startLoc,l.push(this.parseParenItem(this.parseRestBinding(),p)),!this.checkCommaAfterRest(41))break}else l.push(this.parseMaybeAssignAllowIn(u,this.parseParenItem))}var d=this.state.lastTokEndLoc;this.expect(11),this.state.maybeInArrowParameters=n,this.state.inFSharpPipelineDirectBody=i;var f=this.startNodeAt(r);return e&&this.shouldParseArrow(l)&&(f=this.parseArrow(f))?(this.checkDestructuringPrivate(u),this.expressionScope.validateAsPattern(),this.expressionScope.exit(),this.parseArrowExpression(f,l,!1),f):(this.expressionScope.exit(),l.length||this.unexpected(this.state.lastTokStartLoc),s&&this.unexpected(s),a&&this.unexpected(a),this.checkExpressionErrors(u,!0),this.toReferencedListDeep(l,!0),l.length>1?((t=this.startNodeAt(o)).expressions=l,this.finishNode(t,"SequenceExpression"),this.resetEndLocation(t,d)):t=l[0],this.wrapParenthesis(r,t))}},{key:"wrapParenthesis",value:function(e,t){if(!this.options.createParenthesizedExpressions)return this.addExtra(t,"parenthesized",!0),this.addExtra(t,"parenStart",e.index),this.takeSurroundingComments(t,e.index,this.state.lastTokEndLoc.index),t;var r=this.startNodeAt(e);return r.expression=t,this.finishNode(r,"ParenthesizedExpression")}},{key:"shouldParseArrow",value:function(e){return!this.canInsertSemicolon()}},{key:"parseArrow",value:function(e){if(this.eat(19))return e}},{key:"parseParenItem",value:function(e,t){return e}},{key:"parseNewOrNewTarget",value:function(){var e=this.startNode();if(this.next(),this.match(16)){var t=this.createIdentifier(this.startNodeAtNode(e),"new");this.next();var r=this.parseMetaProperty(e,t,"target");return this.scope.inNonArrowFunction||this.scope.inClass||this.options.allowNewTargetOutsideFunction||this.raise(Errors.UnexpectedNewTarget,r),r}return this.parseNew(e)}},{key:"parseNew",value:function(e){if(this.parseNewCallee(e),this.eat(10)){var t=this.parseExprList(11);this.toReferencedList(t),e.arguments=t}else e.arguments=[];return this.finishNode(e,"NewExpression")}},{key:"parseNewCallee",value:function(e){var t=this.match(83),r=this.parseNoCallExpr();e.callee=r,!t||"Import"!==r.type&&"ImportExpression"!==r.type||this.raise(Errors.ImportCallNotNewExpression,r)}},{key:"parseTemplateElement",value:function(e){var t=this.state,r=t.start,n=t.startLoc,i=t.end,a=t.value,s=r+1,o=this.startNodeAt(createPositionWithColumnOffset(n,1));null===a&&(e||this.raise(Errors.InvalidEscapeSequenceTemplate,createPositionWithColumnOffset(this.state.firstInvalidTemplateEscapePos,1)));var l=this.match(24),u=l?-1:-2,c=i+u;o.value={raw:this.input.slice(s,c).replace(/\r\n?/g,"\n"),cooked:null===a?null:a.slice(1,u)},o.tail=l,this.next();var p=this.finishNode(o,"TemplateElement");return this.resetEndLocation(p,createPositionWithColumnOffset(this.state.lastTokEndLoc,u)),p}},{key:"parseTemplate",value:function(e){var t=this.startNode();t.expressions=[];var r=this.parseTemplateElement(e);for(t.quasis=[r];!r.tail;)t.expressions.push(this.parseTemplateSubstitution()),this.readTemplateContinuation(),t.quasis.push(r=this.parseTemplateElement(e));return this.finishNode(t,"TemplateLiteral")}},{key:"parseTemplateSubstitution",value:function(){return this.parseExpression()}},{key:"parseObjectLike",value:function(e,t,r,n){r&&this.expectPlugin("recordAndTuple");var i=this.state.inFSharpPipelineDirectBody;this.state.inFSharpPipelineDirectBody=!1;var a=Object.create(null),s=!0,o=this.startNode();for(o.properties=[],this.next();!this.match(e);){if(s)s=!1;else if(this.expect(12),this.match(e)){this.addTrailingCommaExtraToNode(o);break}var l=void 0;t?l=this.parseBindingProperty():(l=this.parsePropertyDefinition(n),this.checkProto(l,r,a,n)),r&&!this.isObjectProperty(l)&&"SpreadElement"!==l.type&&this.raise(Errors.InvalidRecordProperty,l),l.shorthand&&this.addExtra(l,"shorthand",!0),o.properties.push(l)}this.next(),this.state.inFSharpPipelineDirectBody=i;var u="ObjectExpression";return t?u="ObjectPattern":r&&(u="RecordExpression"),this.finishNode(o,u)}},{key:"addTrailingCommaExtraToNode",value:function(e){this.addExtra(e,"trailingComma",this.state.lastTokStartLoc.index),this.addExtra(e,"trailingCommaLoc",this.state.lastTokStartLoc,!1)}},{key:"maybeAsyncOrAccessorProp",value:function(e){return!e.computed&&"Identifier"===e.key.type&&(this.isLiteralPropertyName()||this.match(0)||this.match(55))}},{key:"parsePropertyDefinition",value:function(e){var t=[];if(this.match(26))for(this.hasPlugin("decorators")&&this.raise(Errors.UnsupportedPropertyDecorator,this.state.startLoc);this.match(26);)t.push(this.parseDecorator());var r,n=this.startNode(),i=!1,a=!1;if(this.match(21))return t.length&&this.unexpected(),this.parseSpread();t.length&&(n.decorators=t,t=[]),n.method=!1,e&&(r=this.state.startLoc);var s=this.eat(55);this.parsePropertyNamePrefixOperator(n);var o=this.state.containsEsc,l=this.parsePropertyName(n,e);if(!s&&!o&&this.maybeAsyncOrAccessorProp(n)){var u=l.name;"async"!==u||this.hasPrecedingLineBreak()||(i=!0,this.resetPreviousNodeTrailingComments(l),s=this.eat(55),this.parsePropertyName(n)),"get"!==u&&"set"!==u||(a=!0,this.resetPreviousNodeTrailingComments(l),n.kind=u,this.match(55)&&(s=!0,this.raise(Errors.AccessorIsGenerator,this.state.curPosition(),{kind:u}),this.next()),this.parsePropertyName(n))}return this.parseObjPropValue(n,r,s,i,!1,a,e)}},{key:"getGetterSetterExpectedParamCount",value:function(e){return"get"===e.kind?0:1}},{key:"getObjectOrClassMethodParams",value:function(e){return e.params}},{key:"checkGetterSetterParams",value:function(e){var t,r=this.getGetterSetterExpectedParamCount(e),n=this.getObjectOrClassMethodParams(e);n.length!==r&&this.raise("get"===e.kind?Errors.BadGetterArity:Errors.BadSetterArity,e),"set"===e.kind&&"RestElement"===(null===(t=n[n.length-1])||void 0===t?void 0:t.type)&&this.raise(Errors.BadSetterRestParameter,e)}},{key:"parseObjectMethod",value:function(e,t,r,n,i){if(i){var a=this.parseMethod(e,t,!1,!1,!1,"ObjectMethod");return this.checkGetterSetterParams(a),a}if(r||t||this.match(10))return n&&this.unexpected(),e.kind="method",e.method=!0,this.parseMethod(e,t,r,!1,!1,"ObjectMethod")}},{key:"parseObjectProperty",value:function(e,t,r,n){if(e.shorthand=!1,this.eat(14))return e.value=r?this.parseMaybeDefault(this.state.startLoc):this.parseMaybeAssignAllowIn(n),this.finishNode(e,"ObjectProperty");if(!e.computed&&"Identifier"===e.key.type){if(this.checkReservedWord(e.key.name,e.key.loc.start,!0,!1),r)e.value=this.parseMaybeDefault(t,cloneIdentifier(e.key));else if(this.match(29)){var i=this.state.startLoc;null!=n?null===n.shorthandAssignLoc&&(n.shorthandAssignLoc=i):this.raise(Errors.InvalidCoverInitializedName,i),e.value=this.parseMaybeDefault(t,cloneIdentifier(e.key))}else e.value=cloneIdentifier(e.key);return e.shorthand=!0,this.finishNode(e,"ObjectProperty")}}},{key:"parseObjPropValue",value:function(e,t,r,n,i,a,s){var o=this.parseObjectMethod(e,r,n,i,a)||this.parseObjectProperty(e,t,i,s);return o||this.unexpected(),o}},{key:"parsePropertyName",value:function(e,t){if(this.eat(0))e.computed=!0,e.key=this.parseMaybeAssignAllowIn(),this.expect(3);else{var r,n=this.state,i=n.type,a=n.value;if(tokenIsKeywordOrIdentifier(i))r=this.parseIdentifier(!0);else switch(i){case 134:r=this.parseNumericLiteral(a);break;case 133:r=this.parseStringLiteral(a);break;case 135:r=this.parseBigIntLiteral(a);break;case 136:r=this.parseDecimalLiteral(a);break;case 138:var s=this.state.startLoc;null!=t?null===t.privateKeyLoc&&(t.privateKeyLoc=s):this.raise(Errors.UnexpectedPrivateField,s),r=this.parsePrivateName();break;default:this.unexpected()}e.key=r,138!==i&&(e.computed=!1)}return e.key}},{key:"initFunction",value:function(e,t){e.id=null,e.generator=!1,e.async=t}},{key:"parseMethod",value:function(e,t,r,n,i,a){var s=arguments.length>6&&void 0!==arguments[6]&&arguments[6];this.initFunction(e,r),e.generator=t,this.scope.enter(18|(s?64:0)|(i?32:0)),this.prodParam.enter(functionFlags(r,e.generator)),this.parseFunctionParams(e,n);var o=this.parseFunctionBodyAndFinish(e,a,!0);return this.prodParam.exit(),this.scope.exit(),o}},{key:"parseArrayLike",value:function(e,t,r,n){r&&this.expectPlugin("recordAndTuple");var i=this.state.inFSharpPipelineDirectBody;this.state.inFSharpPipelineDirectBody=!1;var a=this.startNode();return this.next(),a.elements=this.parseExprList(e,!r,n,a),this.state.inFSharpPipelineDirectBody=i,this.finishNode(a,r?"TupleExpression":"ArrayExpression")}},{key:"parseArrowExpression",value:function(e,t,r,n){this.scope.enter(6);var i=functionFlags(r,!1);!this.match(5)&&this.prodParam.hasIn&&(i|=8),this.prodParam.enter(i),this.initFunction(e,r);var a=this.state.maybeInArrowParameters;return t&&(this.state.maybeInArrowParameters=!0,this.setArrowFunctionParameters(e,t,n)),this.state.maybeInArrowParameters=!1,this.parseFunctionBody(e,!0),this.prodParam.exit(),this.scope.exit(),this.state.maybeInArrowParameters=a,this.finishNode(e,"ArrowFunctionExpression")}},{key:"setArrowFunctionParameters",value:function(e,t,r){this.toAssignableList(t,r,!1),e.params=t}},{key:"parseFunctionBodyAndFinish",value:function(e,t){var r=arguments.length>2&&void 0!==arguments[2]&&arguments[2];return this.parseFunctionBody(e,!1,r),this.finishNode(e,t)}},{key:"parseFunctionBody",value:function(e,t){var r=this,n=arguments.length>2&&void 0!==arguments[2]&&arguments[2],i=t&&!this.match(5);if(this.expressionScope.enter(newExpressionScope()),i)e.body=this.parseMaybeAssign(),this.checkParams(e,!1,t,!1);else{var a=this.state.strict,s=this.state.labels;this.state.labels=[],this.prodParam.enter(4|this.prodParam.currentFlags()),e.body=this.parseBlock(!0,!1,(function(i){var s=!r.isSimpleParamList(e.params);i&&s&&r.raise(Errors.IllegalLanguageModeDirective,"method"!==e.kind&&"constructor"!==e.kind||!e.key?e:e.key.loc.end);var o=!a&&r.state.strict;r.checkParams(e,!(r.state.strict||t||n||s),t,o),r.state.strict&&e.id&&r.checkIdentifier(e.id,65,o)})),this.prodParam.exit(),this.state.labels=s}this.expressionScope.exit()}},{key:"isSimpleParameter",value:function(e){return"Identifier"===e.type}},{key:"isSimpleParamList",value:function(e){for(var t=0,r=e.length;t<r;t++)if(!this.isSimpleParameter(e[t]))return!1;return!0}},{key:"checkParams",value:function(e,t,r){var n=!(arguments.length>3&&void 0!==arguments[3])||arguments[3],i=!t&&new Set,a={type:"FormalParameters"},s=!0,o=!1,l=void 0;try{for(var u,c=e.params[Symbol.iterator]();!(s=(u=c.next()).done);s=!0){var p=u.value;this.checkLVal(p,{in:a,binding:5,checkClashes:i,strictModeChanged:n})}}catch(e){o=!0,l=e}finally{try{s||null==c.return||c.return()}finally{if(o)throw l}}}},{key:"parseExprList",value:function(e,t,r,n){for(var i=[],a=!0;!this.eat(e);){if(a)a=!1;else if(this.expect(12),this.match(e)){n&&this.addTrailingCommaExtraToNode(n),this.next();break}i.push(this.parseExprListItem(t,r))}return i}},{key:"parseExprListItem",value:function(e,t,r){var n;if(this.match(12))e||this.raise(Errors.UnexpectedToken,this.state.curPosition(),{unexpected:","}),n=null;else if(this.match(21)){var i=this.state.startLoc;n=this.parseParenItem(this.parseSpread(t),i)}else if(this.match(17)){this.expectPlugin("partialApplication"),r||this.raise(Errors.UnexpectedArgumentPlaceholder,this.state.startLoc);var a=this.startNode();this.next(),n=this.finishNode(a,"ArgumentPlaceholder")}else n=this.parseMaybeAssignAllowIn(t,this.parseParenItem);return n}},{key:"parseIdentifier",value:function(e){var t=this.startNode(),r=this.parseIdentifierName(e);return this.createIdentifier(t,r)}},{key:"createIdentifier",value:function(e,t){return e.name=t,e.loc.identifierName=t,this.finishNode(e,"Identifier")}},{key:"parseIdentifierName",value:function(e){var t,r=this.state,n=r.startLoc,i=r.type;tokenIsKeywordOrIdentifier(i)?t=this.state.value:this.unexpected();var a=tokenKeywordOrIdentifierIsKeyword(i);return e?a&&this.replaceToken(132):this.checkReservedWord(t,n,a,!1),this.next(),t}},{key:"checkReservedWord",value:function(e,t,r,n){if(!(e.length>10)&&canBeReservedWord(e))if(r&&isKeyword2(e))this.raise(Errors.UnexpectedKeyword,t,{keyword:e});else if((this.state.strict?n?isStrictBindReservedWord:isStrictReservedWord2:isReservedWord2)(e,this.inModule))this.raise(Errors.UnexpectedReservedWord,t,{reservedWord:e});else if("yield"===e){if(this.prodParam.hasYield)return void this.raise(Errors.YieldBindingIdentifier,t)}else if("await"===e){if(this.prodParam.hasAwait)return void this.raise(Errors.AwaitBindingIdentifier,t);if(this.scope.inStaticBlock)return void this.raise(Errors.AwaitBindingIdentifierInStaticBlock,t);this.expressionScope.recordAsyncArrowParametersError(t)}else if("arguments"===e&&this.scope.inClassAndNotInNonArrowFunction)return void this.raise(Errors.ArgumentsInClass,t)}},{key:"isAwaitAllowed",value:function(){return!!this.prodParam.hasAwait||!(!this.options.allowAwaitOutsideFunction||this.scope.inFunction)}},{key:"parseAwait",value:function(e){var t=this.startNodeAt(e);return this.expressionScope.recordParameterInitializerError(Errors.AwaitExpressionFormalParameter,t),this.eat(55)&&this.raise(Errors.ObsoleteAwaitStar,t),this.scope.inFunction||this.options.allowAwaitOutsideFunction||(this.isAmbiguousAwait()?this.ambiguousScriptDifferentAst=!0:this.sawUnambiguousESM=!0),this.state.soloAwait||(t.argument=this.parseMaybeUnary(null,!0)),this.finishNode(t,"AwaitExpression")}},{key:"isAmbiguousAwait",value:function(){if(this.hasPrecedingLineBreak())return!0;var e=this.state.type;return 53===e||10===e||0===e||tokenIsTemplate(e)||102===e&&!this.state.containsEsc||137===e||56===e||this.hasPlugin("v8intrinsic")&&54===e}},{key:"parseYield",value:function(){var e=this.startNode();this.expressionScope.recordParameterInitializerError(Errors.YieldInParameter,e),this.next();var t=!1,r=null;if(!this.hasPrecedingLineBreak())switch(t=this.eat(55),this.state.type){case 13:case 139:case 8:case 11:case 3:case 9:case 14:case 12:if(!t)break;default:r=this.parseMaybeAssign()}return e.delegate=t,e.argument=r,this.finishNode(e,"YieldExpression")}},{key:"parseImportCall",value:function(e){return this.next(),e.source=this.parseMaybeAssignAllowIn(),(this.hasPlugin("importAttributes")||this.hasPlugin("importAssertions"))&&(e.options=null),this.eat(12)&&(this.expectImportAttributesPlugin(),this.match(11)||(e.options=this.parseMaybeAssignAllowIn(),this.eat(12))),this.expect(11),this.finishNode(e,"ImportExpression")}},{key:"checkPipelineAtInfixOperator",value:function(e,t){this.hasPlugin(["pipelineOperator",{proposal:"smart"}])&&"SequenceExpression"===e.type&&this.raise(Errors.PipelineHeadSequenceExpression,t)}},{key:"parseSmartPipelineBodyInStyle",value:function(e,t){if(this.isSimpleReference(e)){var r=this.startNodeAt(t);return r.callee=e,this.finishNode(r,"PipelineBareFunction")}var n=this.startNodeAt(t);return this.checkSmartPipeTopicBodyEarlyErrors(t),n.expression=e,this.finishNode(n,"PipelineTopicExpression")}},{key:"isSimpleReference",value:function(e){switch(e.type){case"MemberExpression":return!e.computed&&this.isSimpleReference(e.object);case"Identifier":return!0;default:return!1}}},{key:"checkSmartPipeTopicBodyEarlyErrors",value:function(e){if(this.match(19))throw this.raise(Errors.PipelineBodyNoArrow,this.state.startLoc);this.topicReferenceWasUsedInCurrentContext()||this.raise(Errors.PipelineTopicUnused,e)}},{key:"withTopicBindingContext",value:function(e){var t=this.state.topicContext;this.state.topicContext={maxNumOfResolvableTopics:1,maxTopicIndex:null};try{return e()}finally{this.state.topicContext=t}}},{key:"withSmartMixTopicForbiddingContext",value:function(e){if(!this.hasPlugin(["pipelineOperator",{proposal:"smart"}]))return e();var t=this.state.topicContext;this.state.topicContext={maxNumOfResolvableTopics:0,maxTopicIndex:null};try{return e()}finally{this.state.topicContext=t}}},{key:"withSoloAwaitPermittingContext",value:function(e){var t=this.state.soloAwait;this.state.soloAwait=!0;try{return e()}finally{this.state.soloAwait=t}}},{key:"allowInAnd",value:function(e){var t=this.prodParam.currentFlags();if(8&~t){this.prodParam.enter(8|t);try{return e()}finally{this.prodParam.exit()}}return e()}},{key:"disallowInAnd",value:function(e){var t=this.prodParam.currentFlags();if(8&t){this.prodParam.enter(-9&t);try{return e()}finally{this.prodParam.exit()}}return e()}},{key:"registerTopicReference",value:function(){this.state.topicContext.maxTopicIndex=0}},{key:"topicReferenceIsAllowedInCurrentContext",value:function(){return this.state.topicContext.maxNumOfResolvableTopics>=1}},{key:"topicReferenceWasUsedInCurrentContext",value:function(){return null!=this.state.topicContext.maxTopicIndex&&this.state.topicContext.maxTopicIndex>=0}},{key:"parseFSharpPipelineBody",value:function(e){var t=this.state.startLoc;this.state.potentialArrowAt=this.state.start;var r=this.state.inFSharpPipelineDirectBody;this.state.inFSharpPipelineDirectBody=!0;var n=this.parseExprOp(this.parseMaybeUnaryOrPrivate(),t,e);return this.state.inFSharpPipelineDirectBody=r,n}},{key:"parseModuleExpression",value:function(){this.expectPlugin("moduleBlocks");var e=this.startNode();this.next(),this.match(5)||this.unexpected(null,5);var t=this.startNodeAt(this.state.endLoc);this.next();var r=this.initializeScopes(!0);this.enterInitialScopes();try{e.body=this.parseProgram(t,8,"module")}finally{r()}return this.finishNode(e,"ModuleExpression")}},{key:"parsePropertyNamePrefixOperator",value:function(e){}}]),r}(LValParser),loopLabel={kind:1},switchLabel={kind:2},loneSurrogate=RegExp("[\ud800-\udfff]","u"),keywordRelationalOperator=RegExp("in(?:stanceof)?","y");function babel7CompatTokens(e,t){for(var r=0;r<e.length;r++){var n=e[r],i=n.type;"number"==typeof i&&(n.type=getExportedToken(i))}return e}var StatementParser=function(e){_inherits$1(r,e);var t=_create_super(r);function r(){return _class_call_check(this,r),t.apply(this,arguments)}return _create_class(r,[{key:"parseTopLevel",value:function(e,t){return e.program=this.parseProgram(t),e.comments=this.comments,this.options.tokens&&(e.tokens=babel7CompatTokens(this.tokens,this.input)),this.finishNode(e,"File")}},{key:"parseProgram",value:function(e){var t=arguments.length>1&&void 0!==arguments[1]?arguments[1]:139,r=arguments.length>2&&void 0!==arguments[2]?arguments[2]:this.options.sourceType;if(e.sourceType=r,e.interpreter=this.parseInterpreterDirective(),this.parseBlockBody(e,!0,!0,t),this.inModule&&!this.options.allowUndeclaredExports&&this.scope.undefinedExports.size>0){var n=!0,i=!1,a=void 0;try{for(var s,o=Array.from(this.scope.undefinedExports)[Symbol.iterator]();!(n=(s=o.next()).done);n=!0){var l=_sliced_to_array(s.value,2),u=l[0],c=l[1];this.raise(Errors.ModuleExportUndefined,c,{localName:u})}}catch(e){i=!0,a=e}finally{try{n||null==o.return||o.return()}finally{if(i)throw a}}}return 139===t?this.finishNode(e,"Program"):this.finishNodeAt(e,"Program",createPositionWithColumnOffset(this.state.startLoc,-1))}},{key:"stmtToDirective",value:function(e){var t=e;t.type="Directive",t.value=t.expression,delete t.expression;var r=t.value,n=r.value,i=this.input.slice(r.start,r.end),a=r.value=i.slice(1,-1);return this.addExtra(r,"raw",i),this.addExtra(r,"rawValue",a),this.addExtra(r,"expressionValue",n),r.type="DirectiveLiteral",t}},{key:"parseInterpreterDirective",value:function(){if(!this.match(28))return null;var e=this.startNode();return e.value=this.state.value,this.next(),this.finishNode(e,"InterpreterDirective")}},{key:"isLet",value:function(){return!!this.isContextual(100)&&this.hasFollowingBindingAtom()}},{key:"chStartsBindingIdentifier",value:function(e,t){if(isIdentifierStart2(e)){if(keywordRelationalOperator.lastIndex=t,keywordRelationalOperator.test(this.input)){var r=this.codePointAtPos(keywordRelationalOperator.lastIndex);if(!isIdentifierChar2(r)&&92!==r)return!1}return!0}return 92===e}},{key:"chStartsBindingPattern",value:function(e){return 91===e||123===e}},{key:"hasFollowingBindingAtom",value:function(){var e=this.nextTokenStart(),t=this.codePointAtPos(e);return this.chStartsBindingPattern(t)||this.chStartsBindingIdentifier(t,e)}},{key:"hasInLineFollowingBindingIdentifier",value:function(){var e=this.nextTokenInLineStart(),t=this.codePointAtPos(e);return this.chStartsBindingIdentifier(t,e)}},{key:"startsUsingForOf",value:function(){var e=this.lookahead(),t=e.type,r=e.containsEsc;return!(102===t&&!r)&&(tokenIsIdentifier(t)&&!this.hasFollowingLineBreak()?(this.expectPlugin("explicitResourceManagement"),!0):void 0)}},{key:"startsAwaitUsing",value:function(){var e=this.nextTokenInLineStart();if(this.isUnparsedContextual(e,"using")){e=this.nextTokenInLineStartSince(e+5);var t=this.codePointAtPos(e);if(this.chStartsBindingIdentifier(t,e))return this.expectPlugin("explicitResourceManagement"),!0}return!1}},{key:"parseModuleItem",value:function(){return this.parseStatementLike(15)}},{key:"parseStatementListItem",value:function(){return this.parseStatementLike(6|(!this.options.annexB||this.state.strict?0:8))}},{key:"parseStatementOrSloppyAnnexBFunctionDeclaration",value:function(){var e=arguments.length>0&&void 0!==arguments[0]&&arguments[0],t=0;return this.options.annexB&&!this.state.strict&&(t|=4,e&&(t|=8)),this.parseStatementLike(t)}},{key:"parseStatement",value:function(){return this.parseStatementLike(0)}},{key:"parseStatementLike",value:function(e){var t=null;return this.match(26)&&(t=this.parseDecorators(!0)),this.parseStatementContent(e,t)}},{key:"parseStatementContent",value:function(e,t){var r=this.state.type,n=this.startNode(),i=!!(2&e),a=!!(4&e),s=1&e;switch(r){case 60:return this.parseBreakContinueStatement(n,!0);case 63:return this.parseBreakContinueStatement(n,!1);case 64:return this.parseDebuggerStatement(n);case 90:return this.parseDoWhileStatement(n);case 91:return this.parseForStatement(n);case 68:if(46===this.lookaheadCharCode())break;return a||this.raise(this.state.strict?Errors.StrictFunction:this.options.annexB?Errors.SloppyFunctionAnnexB:Errors.SloppyFunction,this.state.startLoc),this.parseFunctionStatement(n,!1,!i&&a);case 80:return i||this.unexpected(),this.parseClass(this.maybeTakeDecorators(t,n),!0);case 69:return this.parseIfStatement(n);case 70:return this.parseReturnStatement(n);case 71:return this.parseSwitchStatement(n);case 72:return this.parseThrowStatement(n);case 73:return this.parseTryStatement(n);case 96:if(!this.state.containsEsc&&this.startsAwaitUsing())return this.isAwaitAllowed()?i||this.raise(Errors.UnexpectedLexicalDeclaration,n):this.raise(Errors.AwaitUsingNotInAsyncContext,n),this.next(),this.parseVarStatement(n,"await using");break;case 107:if(this.state.containsEsc||!this.hasInLineFollowingBindingIdentifier())break;return this.expectPlugin("explicitResourceManagement"),!this.scope.inModule&&this.scope.inTopLevel?this.raise(Errors.UnexpectedUsingDeclaration,this.state.startLoc):i||this.raise(Errors.UnexpectedLexicalDeclaration,this.state.startLoc),this.parseVarStatement(n,"using");case 100:if(this.state.containsEsc)break;var o=this.nextTokenStart(),l=this.codePointAtPos(o);if(91!==l){if(!i&&this.hasFollowingLineBreak())break;if(!this.chStartsBindingIdentifier(l,o)&&123!==l)break}case 75:i||this.raise(Errors.UnexpectedLexicalDeclaration,this.state.startLoc);case 74:var u=this.state.value;return this.parseVarStatement(n,u);case 92:return this.parseWhileStatement(n);case 76:return this.parseWithStatement(n);case 5:return this.parseBlock();case 13:return this.parseEmptyStatement(n);case 83:var c=this.lookaheadCharCode();if(40===c||46===c)break;case 82:var p;return this.options.allowImportExportEverywhere||s||this.raise(Errors.UnexpectedImportExport,this.state.startLoc),this.next(),83===r?"ImportDeclaration"!==(p=this.parseImport(n)).type||p.importKind&&"value"!==p.importKind||(this.sawUnambiguousESM=!0):("ExportNamedDeclaration"!==(p=this.parseExport(n,t)).type||p.exportKind&&"value"!==p.exportKind)&&("ExportAllDeclaration"!==p.type||p.exportKind&&"value"!==p.exportKind)&&"ExportDefaultDeclaration"!==p.type||(this.sawUnambiguousESM=!0),this.assertModuleNodeAllowed(p),p;default:if(this.isAsyncFunction())return i||this.raise(Errors.AsyncFunctionInSingleStatementContext,this.state.startLoc),this.next(),this.parseFunctionStatement(n,!0,!i&&a)}var d=this.state.value,f=this.parseExpression();return tokenIsIdentifier(r)&&"Identifier"===f.type&&this.eat(14)?this.parseLabeledStatement(n,d,f,e):this.parseExpressionStatement(n,f,t)}},{key:"assertModuleNodeAllowed",value:function(e){this.options.allowImportExportEverywhere||this.inModule||this.raise(Errors.ImportOutsideModule,e)}},{key:"decoratorsEnabledBeforeExport",value:function(){return!!this.hasPlugin("decorators-legacy")||this.hasPlugin("decorators")&&!1!==this.getPluginOption("decorators","decoratorsBeforeExport")}},{key:"maybeTakeDecorators",value:function(e,t,r){if(e){var n;if(t.decorators&&t.decorators.length>0)"boolean"!=typeof this.getPluginOption("decorators","decoratorsBeforeExport")&&this.raise(Errors.DecoratorsBeforeAfterExport,t.decorators[0]),(n=t.decorators).unshift.apply(n,_to_consumable_array(e));else t.decorators=e;this.resetStartLocationFromNode(t,e[0]),r&&this.resetStartLocationFromNode(r,t)}return t}},{key:"canHaveLeadingDecorator",value:function(){return this.match(80)}},{key:"parseDecorators",value:function(e){var t=[];do{t.push(this.parseDecorator())}while(this.match(26));if(this.match(82))e||this.unexpected(),this.decoratorsEnabledBeforeExport()||this.raise(Errors.DecoratorExportClass,this.state.startLoc);else if(!this.canHaveLeadingDecorator())throw this.raise(Errors.UnexpectedLeadingDecorator,this.state.startLoc);return t}},{key:"parseDecorator",value:function(){this.expectOnePlugin(["decorators","decorators-legacy"]);var e=this.startNode();if(this.next(),this.hasPlugin("decorators")){var t,r=this.state.startLoc;if(this.match(10)){var n=this.state.startLoc;this.next(),t=this.parseExpression(),this.expect(11),t=this.wrapParenthesis(n,t);var i=this.state.startLoc;e.expression=this.parseMaybeDecoratorArguments(t),!1===this.getPluginOption("decorators","allowCallParenthesized")&&e.expression!==t&&this.raise(Errors.DecoratorArgumentsOutsideParentheses,i)}else{for(t=this.parseIdentifier(!1);this.eat(16);){var a=this.startNodeAt(r);a.object=t,this.match(138)?(this.classScope.usePrivateName(this.state.value,this.state.startLoc),a.property=this.parsePrivateName()):a.property=this.parseIdentifier(!0),a.computed=!1,t=this.finishNode(a,"MemberExpression")}e.expression=this.parseMaybeDecoratorArguments(t)}}else e.expression=this.parseExprSubscripts();return this.finishNode(e,"Decorator")}},{key:"parseMaybeDecoratorArguments",value:function(e){if(this.eat(10)){var t=this.startNodeAtNode(e);return t.callee=e,t.arguments=this.parseCallExpressionArguments(11,!1),this.toReferencedList(t.arguments),this.finishNode(t,"CallExpression")}return e}},{key:"parseBreakContinueStatement",value:function(e,t){return this.next(),this.isLineTerminator()?e.label=null:(e.label=this.parseIdentifier(),this.semicolon()),this.verifyBreakContinue(e,t),this.finishNode(e,t?"BreakStatement":"ContinueStatement")}},{key:"verifyBreakContinue",value:function(e,t){var r;for(r=0;r<this.state.labels.length;++r){var n=this.state.labels[r];if(null==e.label||n.name===e.label.name){if(null!=n.kind&&(t||1===n.kind))break;if(e.label&&t)break}}if(r===this.state.labels.length){var i=t?"BreakStatement":"ContinueStatement";this.raise(Errors.IllegalBreakContinue,e,{type:i})}}},{key:"parseDebuggerStatement",value:function(e){return this.next(),this.semicolon(),this.finishNode(e,"DebuggerStatement")}},{key:"parseHeaderExpression",value:function(){this.expect(10);var e=this.parseExpression();return this.expect(11),e}},{key:"parseDoWhileStatement",value:function(e){var t=this;return this.next(),this.state.labels.push(loopLabel),e.body=this.withSmartMixTopicForbiddingContext((function(){return t.parseStatement()})),this.state.labels.pop(),this.expect(92),e.test=this.parseHeaderExpression(),this.eat(13),this.finishNode(e,"DoWhileStatement")}},{key:"parseForStatement",value:function(e){this.next(),this.state.labels.push(loopLabel);var t=null;if(this.isAwaitAllowed()&&this.eatContextual(96)&&(t=this.state.lastTokStartLoc),this.scope.enter(0),this.expect(10),this.match(13))return null!==t&&this.unexpected(t),this.parseFor(e,null);var r=this.isContextual(100),n=this.isContextual(96)&&this.startsAwaitUsing(),i=n||this.isContextual(107)&&this.startsUsingForOf(),a=r&&this.hasFollowingBindingAtom()||i;if(this.match(74)||this.match(75)||a){var s,o=this.startNode();n?(s="await using",this.isAwaitAllowed()||this.raise(Errors.AwaitUsingNotInAsyncContext,this.state.startLoc),this.next()):s=this.state.value,this.next(),this.parseVar(o,!0,s);var l=this.finishNode(o,"VariableDeclaration"),u=this.match(58);return u&&i&&this.raise(Errors.ForInUsing,l),(u||this.isContextual(102))&&1===l.declarations.length?this.parseForIn(e,l,t):(null!==t&&this.unexpected(t),this.parseFor(e,l))}var c=this.isContextual(95),p=new ExpressionErrors,d=this.parseExpression(!0,p),f=this.isContextual(102);if(f&&(r&&this.raise(Errors.ForOfLet,d),null===t&&c&&"Identifier"===d.type&&this.raise(Errors.ForOfAsync,d)),f||this.match(58)){this.checkDestructuringPrivate(p),this.toAssignable(d,!0);var h=f?"ForOfStatement":"ForInStatement";return this.checkLVal(d,{in:{type:h}}),this.parseForIn(e,d,t)}return this.checkExpressionErrors(p,!0),null!==t&&this.unexpected(t),this.parseFor(e,d)}},{key:"parseFunctionStatement",value:function(e,t,r){return this.next(),this.parseFunction(e,1|(r?2:0)|(t?8:0))}},{key:"parseIfStatement",value:function(e){return this.next(),e.test=this.parseHeaderExpression(),e.consequent=this.parseStatementOrSloppyAnnexBFunctionDeclaration(),e.alternate=this.eat(66)?this.parseStatementOrSloppyAnnexBFunctionDeclaration():null,this.finishNode(e,"IfStatement")}},{key:"parseReturnStatement",value:function(e){return this.prodParam.hasReturn||this.options.allowReturnOutsideFunction||this.raise(Errors.IllegalReturn,this.state.startLoc),this.next(),this.isLineTerminator()?e.argument=null:(e.argument=this.parseExpression(),this.semicolon()),this.finishNode(e,"ReturnStatement")}},{key:"parseSwitchStatement",value:function(e){this.next(),e.discriminant=this.parseHeaderExpression();var t,r,n=e.cases=[];for(this.expect(5),this.state.labels.push(switchLabel),this.scope.enter(0);!this.match(8);)if(this.match(61)||this.match(65)){var i=this.match(61);t&&this.finishNode(t,"SwitchCase"),n.push(t=this.startNode()),t.consequent=[],this.next(),i?t.test=this.parseExpression():(r&&this.raise(Errors.MultipleDefaultsInSwitch,this.state.lastTokStartLoc),r=!0,t.test=null),this.expect(14)}else t?t.consequent.push(this.parseStatementListItem()):this.unexpected();return this.scope.exit(),t&&this.finishNode(t,"SwitchCase"),this.next(),this.state.labels.pop(),this.finishNode(e,"SwitchStatement")}},{key:"parseThrowStatement",value:function(e){return this.next(),this.hasPrecedingLineBreak()&&this.raise(Errors.NewlineAfterThrow,this.state.lastTokEndLoc),e.argument=this.parseExpression(),this.semicolon(),this.finishNode(e,"ThrowStatement")}},{key:"parseCatchClauseParam",value:function(){var e=this.parseBindingAtom();return this.scope.enter(this.options.annexB&&"Identifier"===e.type?8:0),this.checkLVal(e,{in:{type:"CatchClause"},binding:9}),e}},{key:"parseTryStatement",value:function(e){var t=this;if(this.next(),e.block=this.parseBlock(),e.handler=null,this.match(62)){var r=this.startNode();this.next(),this.match(10)?(this.expect(10),r.param=this.parseCatchClauseParam(),this.expect(11)):(r.param=null,this.scope.enter(0)),r.body=this.withSmartMixTopicForbiddingContext((function(){return t.parseBlock(!1,!1)})),this.scope.exit(),e.handler=this.finishNode(r,"CatchClause")}return e.finalizer=this.eat(67)?this.parseBlock():null,e.handler||e.finalizer||this.raise(Errors.NoCatchOrFinally,e),this.finishNode(e,"TryStatement")}},{key:"parseVarStatement",value:function(e,t){var r=arguments.length>2&&void 0!==arguments[2]&&arguments[2];return this.next(),this.parseVar(e,!1,t,r),this.semicolon(),this.finishNode(e,"VariableDeclaration")}},{key:"parseWhileStatement",value:function(e){var t=this;return this.next(),e.test=this.parseHeaderExpression(),this.state.labels.push(loopLabel),e.body=this.withSmartMixTopicForbiddingContext((function(){return t.parseStatement()})),this.state.labels.pop(),this.finishNode(e,"WhileStatement")}},{key:"parseWithStatement",value:function(e){var t=this;return this.state.strict&&this.raise(Errors.StrictWith,this.state.startLoc),this.next(),e.object=this.parseHeaderExpression(),e.body=this.withSmartMixTopicForbiddingContext((function(){return t.parseStatement()})),this.finishNode(e,"WithStatement")}},{key:"parseEmptyStatement",value:function(e){return this.next(),this.finishNode(e,"EmptyStatement")}},{key:"parseLabeledStatement",value:function(e,t,r,n){var i=!0,a=!1,s=void 0;try{for(var o,l=this.state.labels[Symbol.iterator]();!(i=(o=l.next()).done);i=!0){o.value.name===t&&this.raise(Errors.LabelRedeclaration,r,{labelName:t})}}catch(e){a=!0,s=e}finally{try{i||null==l.return||l.return()}finally{if(a)throw s}}for(var u=tokenIsLoop(this.state.type)?1:this.match(71)?2:null,c=this.state.labels.length-1;c>=0;c--){var p=this.state.labels[c];if(p.statementStart!==e.start)break;p.statementStart=this.state.start,p.kind=u}return this.state.labels.push({name:t,kind:u,statementStart:this.state.start}),e.body=8&n?this.parseStatementOrSloppyAnnexBFunctionDeclaration(!0):this.parseStatement(),this.state.labels.pop(),e.label=r,this.finishNode(e,"LabeledStatement")}},{key:"parseExpressionStatement",value:function(e,t,r){return e.expression=t,this.semicolon(),this.finishNode(e,"ExpressionStatement")}},{key:"parseBlock",value:function(){var e=arguments.length>0&&void 0!==arguments[0]&&arguments[0],t=!(arguments.length>1&&void 0!==arguments[1])||arguments[1],r=arguments.length>2?arguments[2]:void 0,n=this.startNode();return e&&this.state.strictErrors.clear(),this.expect(5),t&&this.scope.enter(0),this.parseBlockBody(n,e,!1,8,r),t&&this.scope.exit(),this.finishNode(n,"BlockStatement")}},{key:"isValidDirective",value:function(e){return"ExpressionStatement"===e.type&&"StringLiteral"===e.expression.type&&!e.expression.extra.parenthesized}},{key:"parseBlockBody",value:function(e,t,r,n,i){var a=e.body=[],s=e.directives=[];this.parseBlockOrModuleBlockBody(a,t?s:void 0,r,n,i)}},{key:"parseBlockOrModuleBlockBody",value:function(e,t,r,n,i){for(var a=this.state.strict,s=!1,o=!1;!this.match(n);){var l=r?this.parseModuleItem():this.parseStatementListItem();if(t&&!o){if(this.isValidDirective(l)){var u=this.stmtToDirective(l);t.push(u),s||"use strict"!==u.value.value||(s=!0,this.setStrict(!0));continue}o=!0,this.state.strictErrors.clear()}e.push(l)}null==i||i.call(this,s),a||this.setStrict(!1),this.next()}},{key:"parseFor",value:function(e,t){var r=this;return e.init=t,this.semicolon(!1),e.test=this.match(13)?null:this.parseExpression(),this.semicolon(!1),e.update=this.match(11)?null:this.parseExpression(),this.expect(11),e.body=this.withSmartMixTopicForbiddingContext((function(){return r.parseStatement()})),this.scope.exit(),this.state.labels.pop(),this.finishNode(e,"ForStatement")}},{key:"parseForIn",value:function(e,t,r){var n=this,i=this.match(58);return this.next(),i?null!==r&&this.unexpected(r):e.await=null!==r,"VariableDeclaration"!==t.type||null==t.declarations[0].init||i&&this.options.annexB&&!this.state.strict&&"var"===t.kind&&"Identifier"===t.declarations[0].id.type||this.raise(Errors.ForInOfLoopInitializer,t,{type:i?"ForInStatement":"ForOfStatement"}),"AssignmentPattern"===t.type&&this.raise(Errors.InvalidLhs,t,{ancestor:{type:"ForStatement"}}),e.left=t,e.right=i?this.parseExpression():this.parseMaybeAssignAllowIn(),this.expect(11),e.body=this.withSmartMixTopicForbiddingContext((function(){return n.parseStatement()})),this.scope.exit(),this.state.labels.pop(),this.finishNode(e,i?"ForInStatement":"ForOfStatement")}},{key:"parseVar",value:function(e,t,r){var n=arguments.length>3&&void 0!==arguments[3]&&arguments[3],i=e.declarations=[];for(e.kind=r;;){var a=this.startNode();if(this.parseVarId(a,r),a.init=this.eat(29)?t?this.parseMaybeAssignDisallowIn():this.parseMaybeAssignAllowIn():null,null!==a.init||n||("Identifier"===a.id.type||t&&(this.match(58)||this.isContextual(102))?"const"!==r||this.match(58)||this.isContextual(102)||this.raise(Errors.DeclarationMissingInitializer,this.state.lastTokEndLoc,{kind:"const"}):this.raise(Errors.DeclarationMissingInitializer,this.state.lastTokEndLoc,{kind:"destructuring"})),i.push(this.finishNode(a,"VariableDeclarator")),!this.eat(12))break}return e}},{key:"parseVarId",value:function(e,t){var r=this.parseBindingAtom();this.checkLVal(r,{in:{type:"VariableDeclarator"},binding:"var"===t?5:8201}),e.id=r}},{key:"parseAsyncFunctionExpression",value:function(e){return this.parseFunction(e,8)}},{key:"parseFunction",value:function(e){var t=this,r=arguments.length>1&&void 0!==arguments[1]?arguments[1]:0,n=2&r,i=!!(1&r),a=i&&!(4&r),s=!!(8&r);this.initFunction(e,s),this.match(55)&&(n&&this.raise(Errors.GeneratorInSingleStatementContext,this.state.startLoc),this.next(),e.generator=!0),i&&(e.id=this.parseFunctionId(a));var o=this.state.maybeInArrowParameters;return this.state.maybeInArrowParameters=!1,this.scope.enter(2),this.prodParam.enter(functionFlags(s,e.generator)),i||(e.id=this.parseFunctionId()),this.parseFunctionParams(e,!1),this.withSmartMixTopicForbiddingContext((function(){t.parseFunctionBodyAndFinish(e,i?"FunctionDeclaration":"FunctionExpression")})),this.prodParam.exit(),this.scope.exit(),i&&!n&&this.registerFunctionStatementId(e),this.state.maybeInArrowParameters=o,e}},{key:"parseFunctionId",value:function(e){return e||tokenIsIdentifier(this.state.type)?this.parseIdentifier():null}},{key:"parseFunctionParams",value:function(e,t){this.expect(10),this.expressionScope.enter(newParameterDeclarationScope()),e.params=this.parseBindingList(11,41,2|(t?4:0)),this.expressionScope.exit()}},{key:"registerFunctionStatementId",value:function(e){e.id&&this.scope.declareName(e.id.name,!this.options.annexB||this.state.strict||e.generator||e.async?this.scope.treatFunctionsAsVar?5:8201:17,e.id.loc.start)}},{key:"parseClass",value:function(e,t,r){this.next();var n=this.state.strict;return this.state.strict=!0,this.parseClassId(e,t,r),this.parseClassSuper(e),e.body=this.parseClassBody(!!e.superClass,n),this.finishNode(e,t?"ClassDeclaration":"ClassExpression")}},{key:"isClassProperty",value:function(){return this.match(29)||this.match(13)||this.match(8)}},{key:"isClassMethod",value:function(){return this.match(10)}},{key:"isNonstaticConstructor",value:function(e){return!(e.computed||e.static||"constructor"!==e.key.name&&"constructor"!==e.key.value)}},{key:"parseClassBody",value:function(e,t){var r=this;this.classScope.enter();var n={hadConstructor:!1,hadSuperClass:e},i=[],a=this.startNode();if(a.body=[],this.expect(5),this.withSmartMixTopicForbiddingContext((function(){for(;!r.match(8);)if(r.eat(13)){if(i.length>0)throw r.raise(Errors.DecoratorSemicolon,r.state.lastTokEndLoc)}else if(r.match(26))i.push(r.parseDecorator());else{var e=r.startNode();i.length&&(e.decorators=i,r.resetStartLocationFromNode(e,i[0]),i=[]),r.parseClassMember(a,e,n),"constructor"===e.kind&&e.decorators&&e.decorators.length>0&&r.raise(Errors.DecoratorConstructor,e)}})),this.state.strict=t,this.next(),i.length)throw this.raise(Errors.TrailingDecorator,this.state.startLoc);return this.classScope.exit(),this.finishNode(a,"ClassBody")}},{key:"parseClassMemberFromModifier",value:function(e,t){var r=this.parseIdentifier(!0);if(this.isClassMethod()){var n=t;return n.kind="method",n.computed=!1,n.key=r,n.static=!1,this.pushClassMethod(e,n,!1,!1,!1,!1),!0}if(this.isClassProperty()){var i=t;return i.computed=!1,i.key=r,i.static=!1,e.body.push(this.parseClassProperty(i)),!0}return this.resetPreviousNodeTrailingComments(r),!1}},{key:"parseClassMember",value:function(e,t,r){var n=this.isContextual(106);if(n){if(this.parseClassMemberFromModifier(e,t))return;if(this.eat(5))return void this.parseClassStaticBlock(e,t)}this.parseClassMemberWithIsStatic(e,t,r,n)}},{key:"parseClassMemberWithIsStatic",value:function(e,t,r,n){var i=t,a=t,s=t,o=t,l=t,u=i,c=i;if(t.static=n,this.parsePropertyNamePrefixOperator(t),this.eat(55)){u.kind="method";var p=this.match(138);return this.parseClassElementName(u),p?void this.pushClassPrivateMethod(e,a,!0,!1):(this.isNonstaticConstructor(i)&&this.raise(Errors.ConstructorIsGenerator,i.key),void this.pushClassMethod(e,i,!0,!1,!1,!1))}var d=tokenIsIdentifier(this.state.type)&&!this.state.containsEsc,f=this.match(138),h=this.parseClassElementName(t),m=this.state.startLoc;if(this.parsePostMemberNameModifiers(c),this.isClassMethod()){if(u.kind="method",f)return void this.pushClassPrivateMethod(e,a,!1,!1);var y=this.isNonstaticConstructor(i),g=!1;y&&(i.kind="constructor",r.hadConstructor&&!this.hasPlugin("typescript")&&this.raise(Errors.DuplicateConstructor,h),y&&this.hasPlugin("typescript")&&t.override&&this.raise(Errors.OverrideOnConstructor,h),r.hadConstructor=!0,g=r.hadSuperClass),this.pushClassMethod(e,i,!1,!1,y,g)}else if(this.isClassProperty())f?this.pushClassPrivateProperty(e,o):this.pushClassProperty(e,s);else if(d&&"async"===h.name&&!this.isLineTerminator()){this.resetPreviousNodeTrailingComments(h);var v=this.eat(55);c.optional&&this.unexpected(m),u.kind="method";var b=this.match(138);this.parseClassElementName(u),this.parsePostMemberNameModifiers(c),b?this.pushClassPrivateMethod(e,a,v,!0):(this.isNonstaticConstructor(i)&&this.raise(Errors.ConstructorIsAsync,i.key),this.pushClassMethod(e,i,v,!0,!1,!1))}else if(!d||"get"!==h.name&&"set"!==h.name||this.match(55)&&this.isLineTerminator())if(d&&"accessor"===h.name&&!this.isLineTerminator()){this.expectPlugin("decoratorAutoAccessors"),this.resetPreviousNodeTrailingComments(h);var S=this.match(138);this.parseClassElementName(s),this.pushClassAccessorProperty(e,l,S)}else this.isLineTerminator()?f?this.pushClassPrivateProperty(e,o):this.pushClassProperty(e,s):this.unexpected();else{this.resetPreviousNodeTrailingComments(h),u.kind=h.name;var _=this.match(138);this.parseClassElementName(i),_?this.pushClassPrivateMethod(e,a,!1,!1):(this.isNonstaticConstructor(i)&&this.raise(Errors.ConstructorIsAccessor,i.key),this.pushClassMethod(e,i,!1,!1,!1,!1)),this.checkGetterSetterParams(i)}}},{key:"parseClassElementName",value:function(e){var t=this.state,r=t.type,n=t.value;if(132!==r&&133!==r||!e.static||"prototype"!==n||this.raise(Errors.StaticPrototype,this.state.startLoc),138===r){"constructor"===n&&this.raise(Errors.ConstructorClassPrivateField,this.state.startLoc);var i=this.parsePrivateName();return e.key=i,i}return this.parsePropertyName(e)}},{key:"parseClassStaticBlock",value:function(e,t){var r;this.scope.enter(208);var n=this.state.labels;this.state.labels=[],this.prodParam.enter(0);var i=t.body=[];this.parseBlockOrModuleBlockBody(i,void 0,!1,8),this.prodParam.exit(),this.scope.exit(),this.state.labels=n,e.body.push(this.finishNode(t,"StaticBlock")),(null===(r=t.decorators)||void 0===r?void 0:r.length)&&this.raise(Errors.DecoratorStaticBlock,t)}},{key:"pushClassProperty",value:function(e,t){t.computed||"constructor"!==t.key.name&&"constructor"!==t.key.value||this.raise(Errors.ConstructorClassField,t.key),e.body.push(this.parseClassProperty(t))}},{key:"pushClassPrivateProperty",value:function(e,t){var r=this.parseClassPrivateProperty(t);e.body.push(r),this.classScope.declarePrivateName(this.getPrivateNameSV(r.key),0,r.key.loc.start)}},{key:"pushClassAccessorProperty",value:function(e,t,r){if(!r&&!t.computed){var n=t.key;"constructor"!==n.name&&"constructor"!==n.value||this.raise(Errors.ConstructorClassField,n)}var i=this.parseClassAccessorProperty(t);e.body.push(i),r&&this.classScope.declarePrivateName(this.getPrivateNameSV(i.key),0,i.key.loc.start)}},{key:"pushClassMethod",value:function(e,t,r,n,i,a){e.body.push(this.parseMethod(t,r,n,i,a,"ClassMethod",!0))}},{key:"pushClassPrivateMethod",value:function(e,t,r,n){var i=this.parseMethod(t,r,n,!1,!1,"ClassPrivateMethod",!0);e.body.push(i);var a="get"===i.kind?i.static?6:2:"set"===i.kind?i.static?5:1:0;this.declareClassPrivateMethodInScope(i,a)}},{key:"declareClassPrivateMethodInScope",value:function(e,t){this.classScope.declarePrivateName(this.getPrivateNameSV(e.key),t,e.key.loc.start)}},{key:"parsePostMemberNameModifiers",value:function(e){}},{key:"parseClassPrivateProperty",value:function(e){return this.parseInitializer(e),this.semicolon(),this.finishNode(e,"ClassPrivateProperty")}},{key:"parseClassProperty",value:function(e){return this.parseInitializer(e),this.semicolon(),this.finishNode(e,"ClassProperty")}},{key:"parseClassAccessorProperty",value:function(e){return this.parseInitializer(e),this.semicolon(),this.finishNode(e,"ClassAccessorProperty")}},{key:"parseInitializer",value:function(e){this.scope.enter(80),this.expressionScope.enter(newExpressionScope()),this.prodParam.enter(0),e.value=this.eat(29)?this.parseMaybeAssignAllowIn():null,this.expressionScope.exit(),this.prodParam.exit(),this.scope.exit()}},{key:"parseClassId",value:function(e,t,r){var n=arguments.length>3&&void 0!==arguments[3]?arguments[3]:8331;if(tokenIsIdentifier(this.state.type))e.id=this.parseIdentifier(),t&&this.declareNameFromIdentifier(e.id,n);else{if(!r&&t)throw this.raise(Errors.MissingClassName,this.state.startLoc);e.id=null}}},{key:"parseClassSuper",value:function(e){e.superClass=this.eat(81)?this.parseExprSubscripts():null}},{key:"parseExport",value:function(e,t){var r=this.parseMaybeImportPhase(e,!0),n=this.maybeParseExportDefaultSpecifier(e,r),i=!n||this.eat(12),a=i&&this.eatExportStar(e),s=a&&this.maybeParseExportNamespaceSpecifier(e),o=i&&(!s||this.eat(12)),l=n||a;if(a&&!s){if(n&&this.unexpected(),t)throw this.raise(Errors.UnsupportedDecoratorExport,e);return this.parseExportFrom(e,!0),this.finishNode(e,"ExportAllDeclaration")}var u,c=this.maybeParseExportNamedSpecifiers(e);if(n&&i&&!a&&!c&&this.unexpected(null,5),s&&o&&this.unexpected(null,98),l||c){if(u=!1,t)throw this.raise(Errors.UnsupportedDecoratorExport,e);this.parseExportFrom(e,l)}else u=this.maybeParseExportDeclaration(e);if(l||c||u){var p,d=e;if(this.checkExport(d,!0,!1,!!d.source),"ClassDeclaration"===(null===(p=d.declaration)||void 0===p?void 0:p.type))this.maybeTakeDecorators(t,d.declaration,d);else if(t)throw this.raise(Errors.UnsupportedDecoratorExport,e);return this.finishNode(d,"ExportNamedDeclaration")}if(this.eat(65)){var f=e,h=this.parseExportDefaultExpression();if(f.declaration=h,"ClassDeclaration"===h.type)this.maybeTakeDecorators(t,h,f);else if(t)throw this.raise(Errors.UnsupportedDecoratorExport,e);return this.checkExport(f,!0,!0),this.finishNode(f,"ExportDefaultDeclaration")}this.unexpected(null,5)}},{key:"eatExportStar",value:function(e){return this.eat(55)}},{key:"maybeParseExportDefaultSpecifier",value:function(e,t){if(t||this.isExportDefaultSpecifier()){this.expectPlugin("exportDefaultFrom",null==t?void 0:t.loc.start);var r=t||this.parseIdentifier(!0),n=this.startNodeAtNode(r);return n.exported=r,e.specifiers=[this.finishNode(n,"ExportDefaultSpecifier")],!0}return!1}},{key:"maybeParseExportNamespaceSpecifier",value:function(e){if(this.isContextual(93)){e.specifiers||(e.specifiers=[]);var t=this.startNodeAt(this.state.lastTokStartLoc);return this.next(),t.exported=this.parseModuleExportName(),e.specifiers.push(this.finishNode(t,"ExportNamespaceSpecifier")),!0}return!1}},{key:"maybeParseExportNamedSpecifiers",value:function(e){if(this.match(5)){var t;e.specifiers||(e.specifiers=[]);var r="type"===e.exportKind;return(t=e.specifiers).push.apply(t,_to_consumable_array(this.parseExportSpecifiers(r))),e.source=null,e.declaration=null,this.hasPlugin("importAssertions")&&(e.assertions=[]),!0}return!1}},{key:"maybeParseExportDeclaration",value:function(e){return!!this.shouldParseExportDeclaration()&&(e.specifiers=[],e.source=null,this.hasPlugin("importAssertions")&&(e.assertions=[]),e.declaration=this.parseExportDeclaration(e),!0)}},{key:"isAsyncFunction",value:function(){if(!this.isContextual(95))return!1;var e=this.nextTokenInLineStart();return this.isUnparsedContextual(e,"function")}},{key:"parseExportDefaultExpression",value:function(){var e=this.startNode();if(this.match(68))return this.next(),this.parseFunction(e,5);if(this.isAsyncFunction())return this.next(),this.next(),this.parseFunction(e,13);if(this.match(80))return this.parseClass(e,!0,!0);if(this.match(26))return this.hasPlugin("decorators")&&!0===this.getPluginOption("decorators","decoratorsBeforeExport")&&this.raise(Errors.DecoratorBeforeExport,this.state.startLoc),this.parseClass(this.maybeTakeDecorators(this.parseDecorators(!1),this.startNode()),!0,!0);if(this.match(75)||this.match(74)||this.isLet())throw this.raise(Errors.UnsupportedDefaultExport,this.state.startLoc);var t=this.parseMaybeAssignAllowIn();return this.semicolon(),t}},{key:"parseExportDeclaration",value:function(e){return this.match(80)?this.parseClass(this.startNode(),!0,!1):this.parseStatementListItem()}},{key:"isExportDefaultSpecifier",value:function(){var e=this.state.type;if(tokenIsIdentifier(e)){if(95===e&&!this.state.containsEsc||100===e)return!1;if((130===e||129===e)&&!this.state.containsEsc){var t=this.lookahead().type;if(tokenIsIdentifier(t)&&98!==t||5===t)return this.expectOnePlugin(["flow","typescript"]),!1}}else if(!this.match(65))return!1;var r=this.nextTokenStart(),n=this.isUnparsedContextual(r,"from");if(44===this.input.charCodeAt(r)||tokenIsIdentifier(this.state.type)&&n)return!0;if(this.match(65)&&n){var i=this.input.charCodeAt(this.nextTokenStartSince(r+4));return 34===i||39===i}return!1}},{key:"parseExportFrom",value:function(e,t){this.eatContextual(98)?(e.source=this.parseImportSource(),this.checkExport(e),this.maybeParseImportAttributes(e),this.checkJSONModuleImport(e)):t&&this.unexpected(),this.semicolon()}},{key:"shouldParseExportDeclaration",value:function(){var e=this.state.type;return 26===e&&(this.expectOnePlugin(["decorators","decorators-legacy"]),this.hasPlugin("decorators"))?(!0===this.getPluginOption("decorators","decoratorsBeforeExport")&&this.raise(Errors.DecoratorBeforeExport,this.state.startLoc),!0):74===e||75===e||68===e||80===e||this.isLet()||this.isAsyncFunction()}},{key:"checkExport",value:function(e,t,r,n){var i;if(t)if(r){if(this.checkDuplicateExports(e,"default"),this.hasPlugin("exportDefaultFrom")){var a,s=e.declaration;"Identifier"!==s.type||"from"!==s.name||s.end-s.start!=4||(null===(a=s.extra)||void 0===a?void 0:a.parenthesized)||this.raise(Errors.ExportDefaultFromAsIdentifier,s)}}else if(null===(i=e.specifiers)||void 0===i?void 0:i.length){var o=!0,l=!1,u=void 0;try{for(var c,p=e.specifiers[Symbol.iterator]();!(o=(c=p.next()).done);o=!0){var d=c.value,f=d.exported,h="Identifier"===f.type?f.name:f.value;if(this.checkDuplicateExports(d,h),!n&&d.local){var m=d.local;"Identifier"!==m.type?this.raise(Errors.ExportBindingIsString,d,{localName:m.value,exportName:h}):(this.checkReservedWord(m.name,m.loc.start,!0,!1),this.scope.checkLocalExport(m))}}}catch(e){l=!0,u=e}finally{try{o||null==p.return||p.return()}finally{if(l)throw u}}}else if(e.declaration)if("FunctionDeclaration"===e.declaration.type||"ClassDeclaration"===e.declaration.type){var y=e.declaration.id;if(!y)throw new Error("Assertion failure");this.checkDuplicateExports(e,y.name)}else if("VariableDeclaration"===e.declaration.type){var g=!0,v=!1,b=void 0;try{for(var S,_=e.declaration.declarations[Symbol.iterator]();!(g=(S=_.next()).done);g=!0){var T=S.value;this.checkDeclaration(T.id)}}catch(e){v=!0,b=e}finally{try{g||null==_.return||_.return()}finally{if(v)throw b}}}}},{key:"checkDeclaration",value:function(e){if("Identifier"===e.type)this.checkDuplicateExports(e,e.name);else if("ObjectPattern"===e.type){var t=!0,r=!1,n=void 0;try{for(var i,a=e.properties[Symbol.iterator]();!(t=(i=a.next()).done);t=!0){var s=i.value;this.checkDeclaration(s)}}catch(e){r=!0,n=e}finally{try{t||null==a.return||a.return()}finally{if(r)throw n}}}else if("ArrayPattern"===e.type){var o=!0,l=!1,u=void 0;try{for(var c,p=e.elements[Symbol.iterator]();!(o=(c=p.next()).done);o=!0){var d=c.value;d&&this.checkDeclaration(d)}}catch(e){l=!0,u=e}finally{try{o||null==p.return||p.return()}finally{if(l)throw u}}}else"ObjectProperty"===e.type?this.checkDeclaration(e.value):"RestElement"===e.type?this.checkDeclaration(e.argument):"AssignmentPattern"===e.type&&this.checkDeclaration(e.left)}},{key:"checkDuplicateExports",value:function(e,t){this.exportedIdentifiers.has(t)&&("default"===t?this.raise(Errors.DuplicateDefaultExport,e):this.raise(Errors.DuplicateExport,e,{exportName:t})),this.exportedIdentifiers.add(t)}},{key:"parseExportSpecifiers",value:function(e){var t=[],r=!0;for(this.expect(5);!this.eat(8);){if(r)r=!1;else if(this.expect(12),this.eat(8))break;var n=this.isContextual(130),i=this.match(133),a=this.startNode();a.local=this.parseModuleExportName(),t.push(this.parseExportSpecifier(a,i,e,n))}return t}},{key:"parseExportSpecifier",value:function(e,t,r,n){return this.eatContextual(93)?e.exported=this.parseModuleExportName():t?e.exported=cloneStringLiteral(e.local):e.exported||(e.exported=cloneIdentifier(e.local)),this.finishNode(e,"ExportSpecifier")}},{key:"parseModuleExportName",value:function(){if(this.match(133)){var e=this.parseStringLiteral(this.state.value),t=e.value.match(loneSurrogate);return t&&this.raise(Errors.ModuleExportNameHasLoneSurrogate,e,{surrogateCharCode:t[0].charCodeAt(0)}),e}return this.parseIdentifier(!0)}},{key:"isJSONModuleImport",value:function(e){return null!=e.assertions&&e.assertions.some((function(e){var t=e.key;return"json"===e.value.value&&("Identifier"===t.type?"type"===t.name:"type"===t.value)}))}},{key:"checkImportReflection",value:function(e){var t=e.specifiers,r=1===t.length?t[0].type:null;if("source"===e.phase)"ImportDefaultSpecifier"!==r&&this.raise(Errors.SourcePhaseImportRequiresDefault,t[0].loc.start);else if("defer"===e.phase)"ImportNamespaceSpecifier"!==r&&this.raise(Errors.DeferImportRequiresNamespace,t[0].loc.start);else if(e.module){var n;"ImportDefaultSpecifier"!==r&&this.raise(Errors.ImportReflectionNotBinding,t[0].loc.start),(null===(n=e.assertions)||void 0===n?void 0:n.length)>0&&this.raise(Errors.ImportReflectionHasAssertion,t[0].loc.start)}}},{key:"checkJSONModuleImport",value:function(e){if(this.isJSONModuleImport(e)&&"ExportAllDeclaration"!==e.type){var t=e.specifiers;if(null!=t){var r=t.find((function(e){var t;if("ExportSpecifier"===e.type?t=e.local:"ImportSpecifier"===e.type&&(t=e.imported),void 0!==t)return"Identifier"===t.type?"default"!==t.name:"default"!==t.value}));void 0!==r&&this.raise(Errors.ImportJSONBindingNotDefault,r.loc.start)}}}},{key:"isPotentialImportPhase",value:function(e){return!e&&(this.isContextual(105)||this.isContextual(97)||this.isContextual(127))}},{key:"applyImportPhase",value:function(e,t,r,n){t||("module"===r?(this.expectPlugin("importReflection",n),e.module=!0):this.hasPlugin("importReflection")&&(e.module=!1),"source"===r?(this.expectPlugin("sourcePhaseImports",n),e.phase="source"):"defer"===r?(this.expectPlugin("deferredImportEvaluation",n),e.phase="defer"):this.hasPlugin("sourcePhaseImports")&&(e.phase=null))}},{key:"parseMaybeImportPhase",value:function(e,t){if(!this.isPotentialImportPhase(t))return this.applyImportPhase(e,t,null),null;var r=this.parseIdentifier(!0),n=this.state.type;return(tokenIsKeywordOrIdentifier(n)?98!==n||102===this.lookaheadCharCode():12!==n)?(this.resetPreviousIdentifierLeadingComments(r),this.applyImportPhase(e,t,r.name,r.loc.start),null):(this.applyImportPhase(e,t,null),r)}},{key:"isPrecedingIdImportPhase",value:function(e){var t=this.state.type;return tokenIsIdentifier(t)?98!==t||102===this.lookaheadCharCode():12!==t}},{key:"parseImport",value:function(e){return this.match(133)?this.parseImportSourceAndAttributes(e):this.parseImportSpecifiersAndAfter(e,this.parseMaybeImportPhase(e,!1))}},{key:"parseImportSpecifiersAndAfter",value:function(e,t){e.specifiers=[];var r=!this.maybeParseDefaultImportSpecifier(e,t)||this.eat(12),n=r&&this.maybeParseStarImportSpecifier(e);return r&&!n&&this.parseNamedImportSpecifiers(e),this.expectContextual(98),this.parseImportSourceAndAttributes(e)}},{key:"parseImportSourceAndAttributes",value:function(e){var t;return null!==(t=e.specifiers)&&void 0!==t||(e.specifiers=[]),e.source=this.parseImportSource(),this.maybeParseImportAttributes(e),this.checkImportReflection(e),this.checkJSONModuleImport(e),this.semicolon(),this.finishNode(e,"ImportDeclaration")}},{key:"parseImportSource",value:function(){return this.match(133)||this.unexpected(),this.parseExprAtom()}},{key:"parseImportSpecifierLocal",value:function(e,t,r){t.local=this.parseIdentifier(),e.specifiers.push(this.finishImportSpecifier(t,r))}},{key:"finishImportSpecifier",value:function(e,t){var r=arguments.length>2&&void 0!==arguments[2]?arguments[2]:8201;return this.checkLVal(e.local,{in:{type:t},binding:r}),this.finishNode(e,t)}},{key:"parseImportAttributes",value:function(){this.expect(5);var e=[],t=new Set;do{if(this.match(8))break;var r=this.startNode(),n=this.state.value;if(t.has(n)&&this.raise(Errors.ModuleAttributesWithDuplicateKeys,this.state.startLoc,{key:n}),t.add(n),this.match(133)?r.key=this.parseStringLiteral(n):r.key=this.parseIdentifier(!0),this.expect(14),!this.match(133))throw this.raise(Errors.ModuleAttributeInvalidValue,this.state.startLoc);r.value=this.parseStringLiteral(this.state.value),e.push(this.finishNode(r,"ImportAttribute"))}while(this.eat(12));return this.expect(8),e}},{key:"parseModuleAttributes",value:function(){var e=[],t=new Set;do{var r=this.startNode();if(r.key=this.parseIdentifier(!0),"type"!==r.key.name&&this.raise(Errors.ModuleAttributeDifferentFromType,r.key),t.has(r.key.name)&&this.raise(Errors.ModuleAttributesWithDuplicateKeys,r.key,{key:r.key.name}),t.add(r.key.name),this.expect(14),!this.match(133))throw this.raise(Errors.ModuleAttributeInvalidValue,this.state.startLoc);r.value=this.parseStringLiteral(this.state.value),e.push(this.finishNode(r,"ImportAttribute"))}while(this.eat(12));return e}},{key:"maybeParseImportAttributes",value:function(e){var t,r=!1;if(this.match(76)){if(this.hasPrecedingLineBreak()&&40===this.lookaheadCharCode())return;this.next(),this.expectImportAttributesPlugin(),t=this.parseImportAttributes(),r=!0}else if(this.isContextual(94)&&!this.hasPrecedingLineBreak())this.hasPlugin("importAttributes")?(!0!==this.getPluginOption("importAttributes","deprecatedAssertSyntax")&&this.raise(Errors.ImportAttributesUseAssert,this.state.startLoc),this.addExtra(e,"deprecatedAssertSyntax",!0)):this.expectOnePlugin(["importAttributes","importAssertions"]),this.next(),t=this.parseImportAttributes();else{if(!this.hasPlugin("importAttributes")&&!this.hasPlugin("importAssertions"))return;t=[]}!r&&this.hasPlugin("importAssertions")?e.assertions=t:e.attributes=t}},{key:"maybeParseDefaultImportSpecifier",value:function(e,t){if(t){var r=this.startNodeAtNode(t);return r.local=t,e.specifiers.push(this.finishImportSpecifier(r,"ImportDefaultSpecifier")),!0}return!!tokenIsKeywordOrIdentifier(this.state.type)&&(this.parseImportSpecifierLocal(e,this.startNode(),"ImportDefaultSpecifier"),!0)}},{key:"maybeParseStarImportSpecifier",value:function(e){if(this.match(55)){var t=this.startNode();return this.next(),this.expectContextual(93),this.parseImportSpecifierLocal(e,t,"ImportNamespaceSpecifier"),!0}return!1}},{key:"parseNamedImportSpecifiers",value:function(e){var t=!0;for(this.expect(5);!this.eat(8);){if(t)t=!1;else{if(this.eat(14))throw this.raise(Errors.DestructureNamedImport,this.state.startLoc);if(this.expect(12),this.eat(8))break}var r=this.startNode(),n=this.match(133),i=this.isContextual(130);r.imported=this.parseModuleExportName();var a=this.parseImportSpecifier(r,n,"type"===e.importKind||"typeof"===e.importKind,i,void 0);e.specifiers.push(a)}}},{key:"parseImportSpecifier",value:function(e,t,r,n,i){if(this.eatContextual(93))e.local=this.parseIdentifier();else{var a=e.imported;if(t)throw this.raise(Errors.ImportBindingIsString,e,{importName:a.value});this.checkReservedWord(a.name,e.loc.start,!0,!0),e.local||(e.local=cloneIdentifier(a))}return this.finishImportSpecifier(e,"ImportSpecifier",i)}},{key:"isThisParam",value:function(e){return"Identifier"===e.type&&"this"===e.name}}]),r}(ExpressionParser),Parser=function(e){_inherits$1(r,e);var t=_create_super(r);function r(e,n){var i;return _class_call_check(this,r),e=getOptions(e),(i=t.call(this,e,n)).options=e,i.initializeScopes(),i.plugins=pluginsMap(i.options.plugins),i.filename=e.sourceFilename,i}return _create_class(r,[{key:"getScopeHandler",value:function(){return ScopeHandler}},{key:"parse",value:function(){this.enterInitialScopes();var e=this.startNode(),t=this.startNode();return this.nextToken(),e.errors=null,this.parseTopLevel(e,t),e.errors=this.state.errors,e.comments.length=this.state.commentsLen,e}}]),r}(StatementParser);function pluginsMap(e){var t=new Map,r=!0,n=!1,i=void 0;try{for(var a,s=e[Symbol.iterator]();!(r=(a=s.next()).done);r=!0){var o=a.value,l=_sliced_to_array(Array.isArray(o)?o:[o,{}],2),u=l[0],c=l[1];t.has(u)||t.set(u,c||{})}}catch(e){n=!0,i=e}finally{try{r||null==s.return||s.return()}finally{if(n)throw i}}return t}function parse$5(e,t){if("unambiguous"!==(null==t?void 0:t.sourceType))return getParser$1(t,e).parse();t=Object.assign({},t);try{t.sourceType="module";var r=getParser$1(t,e),n=r.parse();if(r.sawUnambiguousESM)return n;if(r.ambiguousScriptDifferentAst)try{return t.sourceType="script",getParser$1(t,e).parse()}catch(e){}else n.program.sourceType="script";return n}catch(r){try{return t.sourceType="script",getParser$1(t,e).parse()}catch(e){}throw r}}function parseExpression$2(e,t){var r=getParser$1(t,e);return r.options.strictMode&&(r.state.strict=!0),r.getExpression()}function generateExportedTokenTypes(e){var t={},r=!0,n=!1,i=void 0;try{for(var a,s=Object.keys(e)[Symbol.iterator]();!(r=(a=s.next()).done);r=!0){var o=a.value;t[o]=getExportedToken(e[o])}}catch(e){n=!0,i=e}finally{try{r||null==s.return||s.return()}finally{if(n)throw i}}return t}var tokTypes=generateExportedTokenTypes(tt);function getParser$1(e,t){var r=Parser;return(null==e?void 0:e.plugins)&&(validatePlugins(e.plugins),r=getParserClass(e.plugins)),new r(e,t)}var parserClassCache={};function getParserClass(e){var t=mixinPluginNames.filter((function(t){return hasPlugin(e,t)})),r=t.join("/"),n=parserClassCache[r];if(!n){n=Parser;var i=!0,a=!1,s=void 0;try{for(var o,l=t[Symbol.iterator]();!(i=(o=l.next()).done);i=!0){var u=o.value;n=mixinPlugins[u](n)}}catch(e){a=!0,s=e}finally{try{i||null==l.return||l.return()}finally{if(a)throw s}}parserClassCache[r]=n}return n}var import_js_tokens=__toESM(require_js_tokens(),1),ANSI_BACKGROUND_OFFSET=10,wrapAnsi16=function(){var e=arguments.length>0&&void 0!==arguments[0]?arguments[0]:0;return function(t){return"[".concat(t+e,"m")}},wrapAnsi256=function(){var e=arguments.length>0&&void 0!==arguments[0]?arguments[0]:0;return function(t){return"[".concat(38+e,";5;").concat(t,"m")}},wrapAnsi16m=function(){var e=arguments.length>0&&void 0!==arguments[0]?arguments[0]:0;return function(t,r,n){return"[".concat(38+e,";2;").concat(t,";").concat(r,";").concat(n,"m")}},styles={modifier:{reset:[0,0],bold:[1,22],dim:[2,22],italic:[3,23],underline:[4,24],overline:[53,55],inverse:[7,27],hidden:[8,28],strikethrough:[9,29]},color:{black:[30,39],red:[31,39],green:[32,39],yellow:[33,39],blue:[34,39],magenta:[35,39],cyan:[36,39],white:[37,39],blackBright:[90,39],gray:[90,39],grey:[90,39],redBright:[91,39],greenBright:[92,39],yellowBright:[93,39],blueBright:[94,39],magentaBright:[95,39],cyanBright:[96,39],whiteBright:[97,39]},bgColor:{bgBlack:[40,49],bgRed:[41,49],bgGreen:[42,49],bgYellow:[43,49],bgBlue:[44,49],bgMagenta:[45,49],bgCyan:[46,49],bgWhite:[47,49],bgBlackBright:[100,49],bgGray:[100,49],bgGrey:[100,49],bgRedBright:[101,49],bgGreenBright:[102,49],bgYellowBright:[103,49],bgBlueBright:[104,49],bgMagentaBright:[105,49],bgCyanBright:[106,49],bgWhiteBright:[107,49]}};Object.keys(styles.modifier);var foregroundColorNames=Object.keys(styles.color),backgroundColorNames=Object.keys(styles.bgColor);function assembleStyles(){var e,t=new Map,r=!0,n=!1,i=void 0;try{for(var a,s=Object.entries(styles)[Symbol.iterator]();!(r=(a=s.next()).done);r=!0){var o=_sliced_to_array(a.value,2),l=o[0],u=o[1],c=!0,p=!1,d=void 0;try{for(var f,h=Object.entries(u)[Symbol.iterator]();!(c=(f=h.next()).done);c=!0){var m=_sliced_to_array(f.value,2),y=m[0],g=m[1];styles[y]={open:"[".concat(g[0],"m"),close:"[".concat(g[1],"m")},u[y]=styles[y],t.set(g[0],g[1])}}catch(e){p=!0,d=e}finally{try{c||null==h.return||h.return()}finally{if(p)throw d}}Object.defineProperty(styles,l,{value:u,enumerable:!1})}}catch(e){n=!0,i=e}finally{try{r||null==s.return||s.return()}finally{if(n)throw i}}return Object.defineProperty(styles,"codes",{value:t,enumerable:!1}),styles.color.close="[39m",styles.bgColor.close="[49m",styles.color.ansi=wrapAnsi16(),styles.color.ansi256=wrapAnsi256(),styles.color.ansi16m=wrapAnsi16m(),styles.bgColor.ansi=wrapAnsi16(ANSI_BACKGROUND_OFFSET),styles.bgColor.ansi256=wrapAnsi256(ANSI_BACKGROUND_OFFSET),styles.bgColor.ansi16m=wrapAnsi16m(ANSI_BACKGROUND_OFFSET),Object.defineProperties(styles,{rgbToAnsi256:{value:function(e,t,r){return e===t&&t===r?e<8?16:e>248?231:Math.round((e-8)/247*24)+232:16+36*Math.round(e/255*5)+6*Math.round(t/255*5)+Math.round(r/255*5)},enumerable:!1},hexToRgb:{value:function(e){var t=/[a-f\d]{6}|[a-f\d]{3}/i.exec(e.toString(16));if(!t)return[0,0,0];var r=_sliced_to_array(t,1)[0];3===r.length&&(r=_to_consumable_array(r).map((function(e){return e+e})).join(""));var n=Number.parseInt(r,16);return[n>>16&255,n>>8&255,255&n]},enumerable:!1},hexToAnsi256:{value:function(t){return(e=styles).rgbToAnsi256.apply(e,_to_consumable_array(styles.hexToRgb(t)))},enumerable:!1},ansi256ToAnsi:{value:function(e){if(e<8)return 30+e;if(e<16)return e-8+90;var t,r,n;if(e>=232)r=t=(10*(e-232)+8)/255,n=t;else{var i=(e-=16)%36;t=Math.floor(e/36)/5,r=Math.floor(i/6)/5,n=i%6/5}var a=2*Math.max(t,r,n);if(0===a)return 30;var s=30+(Math.round(n)<<2|Math.round(r)<<1|Math.round(t));return 2===a&&(s+=60),s},enumerable:!1},rgbToAnsi:{value:function(e,t,r){return styles.ansi256ToAnsi(styles.rgbToAnsi256(e,t,r))},enumerable:!1},hexToAnsi:{value:function(e){return styles.ansi256ToAnsi(styles.hexToAnsi256(e))},enumerable:!1}}),styles}_to_consumable_array(foregroundColorNames).concat(_to_consumable_array(backgroundColorNames));var ansiStyles=assembleStyles(),ansi_styles_default=ansiStyles,import_node_process=__toESM(require$$0$5,1),import_node_os=__toESM(require$$4,1),import_node_tty=__toESM(require$$1$3,1);function hasFlag(e){var t=arguments.length>1&&void 0!==arguments[1]?arguments[1]:globalThis.Deno?globalThis.Deno.args:import_node_process.default.argv,r=e.startsWith("-")?"":1===e.length?"-":"--",n=t.indexOf(r+e),i=t.indexOf("--");return-1!==n&&(-1===i||n<i)}var flagForceColor,env=import_node_process.default.env;function envForceColor(){if("FORCE_COLOR"in env)return"true"===env.FORCE_COLOR?1:"false"===env.FORCE_COLOR?0:0===env.FORCE_COLOR.length?1:Math.min(Number.parseInt(env.FORCE_COLOR,10),3)}function translateLevel(e){return 0!==e&&{level:e,hasBasic:!0,has256:e>=2,has16m:e>=3}}function _supportsColor(e){var t=arguments.length>1&&void 0!==arguments[1]?arguments[1]:{},r=t.streamIsTTY,n=t.sniffFlags,i=void 0===n||n,a=envForceColor();void 0!==a&&(flagForceColor=a);var s=i?flagForceColor:a;if(0===s)return 0;if(i){if(hasFlag("color=16m")||hasFlag("color=full")||hasFlag("color=truecolor"))return 3;if(hasFlag("color=256"))return 2}if("TF_BUILD"in env&&"AGENT_NAME"in env)return 1;if(e&&!r&&void 0===s)return 0;var o=s||0;if("dumb"===env.TERM)return o;if("win32"===import_node_process.default.platform){var l=import_node_os.default.release().split(".");return Number(l[0])>=10&&Number(l[2])>=10586?Number(l[2])>=14931?3:2:1}if("CI"in env)return"GITHUB_ACTIONS"in env||"GITEA_ACTIONS"in env?3:["TRAVIS","CIRCLECI","APPVEYOR","GITLAB_CI","BUILDKITE","DRONE"].some((function(e){return e in env}))||"codeship"===env.CI_NAME?1:o;if("TEAMCITY_VERSION"in env)return/^(9\.(0*[1-9]\d*)\.|\d{2,}\.)/.test(env.TEAMCITY_VERSION)?1:0;if("truecolor"===env.COLORTERM)return 3;if("xterm-kitty"===env.TERM)return 3;if("TERM_PROGRAM"in env){var u=Number.parseInt((env.TERM_PROGRAM_VERSION||"").split(".")[0],10);switch(env.TERM_PROGRAM){case"iTerm.app":return u>=3?3:2;case"Apple_Terminal":return 2}}return/-256(color)?$/i.test(env.TERM)?2:/^screen|^xterm|^vt100|^vt220|^rxvt|color|ansi|cygwin|linux/i.test(env.TERM)||"COLORTERM"in env?1:o}function createSupportsColor(e){var t=arguments.length>1&&void 0!==arguments[1]?arguments[1]:{};return translateLevel(_supportsColor(e,_object_spread({streamIsTTY:e&&e.isTTY},t)))}hasFlag("no-color")||hasFlag("no-colors")||hasFlag("color=false")||hasFlag("color=never")?flagForceColor=0:(hasFlag("color")||hasFlag("colors")||hasFlag("color=true")||hasFlag("color=always"))&&(flagForceColor=1);var supportsColor={stdout:createSupportsColor({isTTY:import_node_tty.default.isatty(1)}),stderr:createSupportsColor({isTTY:import_node_tty.default.isatty(2)})},supports_color_default=supportsColor;function stringReplaceAll(e,t,r){var n=e.indexOf(t);if(-1===n)return e;var i=t.length,a=0,s="";do{s+=e.slice(a,n)+t+r,a=n+i,n=e.indexOf(t,a)}while(-1!==n);return s+=e.slice(a)}function stringEncaseCRLFWithFirstIndex(e,t,r,n){var i=0,a="";do{var s="\r"===e[n-1];a+=e.slice(i,s?n-1:n)+t+(s?"\r\n":"\n")+r,i=n+1,n=e.indexOf("\n",i)}while(-1!==n);return a+=e.slice(i)}var stdoutColor=supports_color_default.stdout,stderrColor=supports_color_default.stderr,GENERATOR=Symbol("GENERATOR"),STYLER=Symbol("STYLER"),IS_EMPTY=Symbol("IS_EMPTY"),levelMapping=["ansi","ansi","ansi256","ansi16m"],styles2=Object.create(null),applyOptions=function(e){var t=arguments.length>1&&void 0!==arguments[1]?arguments[1]:{};if(t.level&&!(Number.isInteger(t.level)&&t.level>=0&&t.level<=3))throw new Error("The `level` option should be an integer from 0 to 3");var r=stdoutColor?stdoutColor.level:0;e.level=void 0===t.level?r:t.level},Chalk=function e(t){return _class_call_check(this,e),chalkFactory(t)},chalkFactory=function(e){var t=function(){for(var e=arguments.length,t=new Array(e),r=0;r<e;r++)t[r]=arguments[r];return t.join(" ")};return applyOptions(t,e),Object.setPrototypeOf(t,createChalk.prototype),t};function createChalk(e){return chalkFactory(e)}Object.setPrototypeOf(createChalk.prototype,Function.prototype);var _iteratorNormalCompletion2=!0,_didIteratorError2=!1,_iteratorError2=void 0;try{for(var _step2,_loop=function(){var e=_sliced_to_array(_step2.value,2),t=e[0],r=e[1];styles2[t]={get:function(){var e=createBuilder(this,createStyler(r.open,r.close,this[STYLER]),this[IS_EMPTY]);return Object.defineProperty(this,t,{value:e}),e}}},_iterator2=Object.entries(ansi_styles_default)[Symbol.iterator]();!(_iteratorNormalCompletion2=(_step2=_iterator2.next()).done);_iteratorNormalCompletion2=!0)_loop()}catch(e){_didIteratorError2=!0,_iteratorError2=e}finally{try{_iteratorNormalCompletion2||null==_iterator2.return||_iterator2.return()}finally{if(_didIteratorError2)throw _iteratorError2}}styles2.visible={get:function(){var e=createBuilder(this,this[STYLER],!0);return Object.defineProperty(this,"visible",{value:e}),e}};var getModelAnsi=function(e,t,r){for(var n=arguments.length,i=new Array(n>3?n-3:0),a=3;a<n;a++)i[a-3]=arguments[a];var s,o,l,u,c;return"rgb"===e?"ansi16m"===t?(l=ansi_styles_default[r]).ansi16m.apply(l,_to_consumable_array(i)):"ansi256"===t?ansi_styles_default[r].ansi256((u=ansi_styles_default).rgbToAnsi256.apply(u,_to_consumable_array(i))):ansi_styles_default[r].ansi((o=ansi_styles_default).rgbToAnsi.apply(o,_to_consumable_array(i))):"hex"===e?getModelAnsi.apply(void 0,["rgb",t,r].concat(_to_consumable_array((c=ansi_styles_default).hexToRgb.apply(c,_to_consumable_array(i))))):(s=ansi_styles_default[r])[e].apply(s,_to_consumable_array(i))},usedModels=["rgb","hex","ansi256"],_iteratorNormalCompletion3=!0,_didIteratorError3=!1,_iteratorError3=void 0;try{for(var _step3,_loop1=function(){var e=_step3.value;styles2[e]={get:function(){var t=this.level;return function(){for(var r=arguments.length,n=new Array(r),i=0;i<r;i++)n[i]=arguments[i];var a=createStyler(getModelAnsi.apply(void 0,[e,levelMapping[t],"color"].concat(_to_consumable_array(n))),ansi_styles_default.color.close,this[STYLER]);return createBuilder(this,a,this[IS_EMPTY])}}};var t="bg"+e[0].toUpperCase()+e.slice(1);styles2[t]={get:function(){var t=this.level;return function(){for(var r=arguments.length,n=new Array(r),i=0;i<r;i++)n[i]=arguments[i];var a=createStyler(getModelAnsi.apply(void 0,[e,levelMapping[t],"bgColor"].concat(_to_consumable_array(n))),ansi_styles_default.bgColor.close,this[STYLER]);return createBuilder(this,a,this[IS_EMPTY])}}}},_iterator3=usedModels[Symbol.iterator]();!(_iteratorNormalCompletion3=(_step3=_iterator3.next()).done);_iteratorNormalCompletion3=!0)_loop1()}catch(e){_didIteratorError3=!0,_iteratorError3=e}finally{try{_iteratorNormalCompletion3||null==_iterator3.return||_iterator3.return()}finally{if(_didIteratorError3)throw _iteratorError3}}var proto=Object.defineProperties((function(){}),_object_spread_props(_object_spread({},styles2),{level:{enumerable:!0,get:function(){return this[GENERATOR].level},set:function(e){this[GENERATOR].level=e}}})),createStyler=function(e,t,r){var n,i;return void 0===r?(n=e,i=t):(n=r.openAll+e,i=t+r.closeAll),{open:e,close:t,openAll:n,closeAll:i,parent:r}},createBuilder=function(e,t,r){var n=function(){for(var e=arguments.length,t=new Array(e),r=0;r<e;r++)t[r]=arguments[r];return applyStyle(n,1===t.length?""+t[0]:t.join(" "))};return Object.setPrototypeOf(n,proto),n[GENERATOR]=e,n[STYLER]=t,n[IS_EMPTY]=r,n},applyStyle=function(e,t){if(e.level<=0||!t)return e[IS_EMPTY]?"":t;var r=e[STYLER];if(void 0===r)return t;var n=r.openAll,i=r.closeAll;if(t.includes(""))for(;void 0!==r;)t=stringReplaceAll(t,r.close,r.open),r=r.parent;var a=t.indexOf("\n");return-1!==a&&(t=stringEncaseCRLFWithFirstIndex(t,i,n,a)),n+t+i};Object.defineProperties(createChalk.prototype,styles2);var chalk=createChalk();createChalk({level:stderrColor?stderrColor.level:0});var source_default=chalk,sometimesKeywords=new Set(["as","async","from","get","of","set"]);function getDefs(e){return{keyword:e.cyan,capitalized:e.yellow,jsxIdentifier:e.yellow,punctuator:e.yellow,number:e.magenta,string:e.green,regex:e.magenta,comment:e.grey,invalid:e.white.bgRed.bold}}var tokenize$1,NEWLINE$1=/\r\n|[\n\r\u2028\u2029]/,BRACKET=/^[()[\]{}]$/,getTokenType=function(e){if("IdentifierName"===e.type){if(isKeyword(e.value)||isStrictReservedWord(e.value,!0)||sometimesKeywords.has(e.value))return"keyword";if(e.value[0]!==e.value[0].toLowerCase())return"capitalized"}if("Punctuator"===e.type&&BRACKET.test(e.value))return"uncolored";if("Invalid"===e.type&&"@"===e.value)return"punctuator";switch(e.type){case"NumericLiteral":return"number";case"StringLiteral":case"JSXString":case"NoSubstitutionTemplate":return"string";case"RegularExpressionLiteral":return"regex";case"Punctuator":case"JSXPunctuator":return"punctuator";case"MultiLineComment":case"SingleLineComment":return"comment";case"Invalid":case"JSXInvalid":return"invalid";case"JSXIdentifier":return"jsxIdentifier";default:return"uncolored"}};function highlightTokens(e,t){var r="",n=!0,i=!1,a=void 0;try{for(var s,o=function(){var t=s.value,n=t.type,i=t.value,a=e[n];r+=a?i.split(NEWLINE$1).map((function(e){return a(e)})).join("\n"):i},l=tokenize$1(t)[Symbol.iterator]();!(n=(s=l.next()).done);n=!0)o()}catch(e){i=!0,a=e}finally{try{n||null==l.return||l.return()}finally{if(i)throw a}}return r}function shouldHighlight(e){return source_default.level>0||e.forceColor}tokenize$1=function(e){var t,r,n,i,a,s,o;return _ts_generator(this,(function(l){switch(l.label){case 0:t=!0,r=!1,n=void 0,l.label=1;case 1:l.trys.push([1,17,18,19]),i=(0,import_js_tokens.default)(e,{jsx:!0})[Symbol.iterator](),l.label=2;case 2:if(t=(a=i.next()).done)return[3,16];switch(s=a.value,s.type){case"TemplateHead":return[3,3];case"TemplateMiddle":return[3,6];case"TemplateTail":return[3,10]}return[3,13];case 3:return[4,{type:"string",value:s.value.slice(0,-2)}];case 4:return l.sent(),[4,{type:"punctuator",value:"${"}];case 5:return l.sent(),[3,15];case 6:return[4,{type:"punctuator",value:"}"}];case 7:return l.sent(),[4,{type:"string",value:s.value.slice(1,-2)}];case 8:return l.sent(),[4,{type:"punctuator",value:"${"}];case 9:return l.sent(),[3,15];case 10:return[4,{type:"punctuator",value:"}"}];case 11:return l.sent(),[4,{type:"string",value:s.value.slice(1)}];case 12:return l.sent(),[3,15];case 13:return[4,{type:getTokenType(s),value:s.value}];case 14:l.sent(),l.label=15;case 15:return t=!0,[3,2];case 16:return[3,19];case 17:return o=l.sent(),r=!0,n=o,[3,19];case 18:try{t||null==i.return||i.return()}finally{if(r)throw n}return[7];case 19:return[2]}}))};var chalkWithForcedColor=void 0;function getChalk(e){return e?(null!=chalkWithForcedColor||(chalkWithForcedColor=new Chalk({level:1})),chalkWithForcedColor):source_default}function highlight(e){var t=arguments.length>1&&void 0!==arguments[1]?arguments[1]:{};return""!==e&&shouldHighlight(t)?highlightTokens(getDefs(getChalk(t.forceColor)),e):e}var chalkWithForcedColor2=void 0;function getChalk2(e){return e?(null!=chalkWithForcedColor2||(chalkWithForcedColor2=new Chalk({level:1})),chalkWithForcedColor2):source_default}function getDefs2(e){return{gutter:e.grey,marker:e.red.bold,message:e.red.bold}}var NEWLINE2=/\r\n|[\n\r\u2028\u2029]/;function getMarkerLines(e,t,r){var n=Object.assign({column:0,line:-1},e.start),i=Object.assign({},n,e.end),a=r||{},s=a.linesAbove,o=void 0===s?2:s,l=a.linesBelow,u=void 0===l?3:l,c=n.line,p=n.column,d=i.line,f=i.column,h=Math.max(c-(o+1),0),m=Math.min(t.length,d+u);-1===c&&(h=0),-1===d&&(m=t.length);var y=d-c,g={};if(y)for(var v=0;v<=y;v++){var b=v+c;if(p)if(0===v){var S=t[b-1].length;g[b]=[p,S-p+1]}else if(v===y)g[b]=[0,f];else{var _=t[b-v].length;g[b]=[0,_]}else g[b]=!0}else g[c]=p===f?!p||[p,0]:[p,f-p];return{start:h,end:m,markerLines:g}}function codeFrameColumns$2(e,t){var r=arguments.length>2&&void 0!==arguments[2]?arguments[2]:{},n=(r.highlightCode||r.forceColor)&&shouldHighlight(r),i=getChalk2(r.forceColor),a=getDefs2(i),s=function(e,t){return n?e(t):t},o=getMarkerLines(t,e.split(NEWLINE2),r),l=o.start,u=o.end,c=o.markerLines,p=t.start&&"number"==typeof t.start.column,d=String(u).length,f=(n?highlight(e,r):e).split(NEWLINE2,u).slice(l,u).map((function(e,t){var n=l+1+t,i=" ".concat(n).slice(-d),o=" ".concat(i," |"),u=c[n],p=!c[n+1];if(u){var f="";if(Array.isArray(u)){var h=e.slice(0,Math.max(u[0]-1,0)).replace(/[^\t]/g," "),m=u[1]||1;f=["\n ",s(a.gutter,o.replace(/\d/g," "))," ",h,s(a.marker,"^").repeat(m)].join(""),p&&r.message&&(f+=" "+s(a.message,r.message))}return[s(a.marker,">"),s(a.gutter,o),e.length>0?" ".concat(e):"",f].join("")}return" ".concat(s(a.gutter,o)).concat(e.length>0?" ".concat(e):"")})).join("\n");return r.message&&!p&&(f="".concat(" ".repeat(d+1)).concat(r.message,"\n").concat(f)),n?i.reset(f):f}var assertExpressionStatement2=lib_exports.assertExpressionStatement;function makeStatementFormatter(e){return{code:function(e){return"/* @babel/template */;\n".concat(e)},validate:function(){},unwrap:function(t){return e(t.program.body.slice(1))}}}var smart$1=makeStatementFormatter((function(e){return e.length>1?e:e[0]})),statements$1$1=makeStatementFormatter((function(e){return e})),statement$1=makeStatementFormatter((function(e){if(0===e.length)throw new Error("Found nothing to return.");if(e.length>1)throw new Error("Found multiple statements but wanted one");return e[0]})),expression$1={code:function(e){return"(\n".concat(e,"\n)")},validate:function(e){if(e.program.body.length>1)throw new Error("Found multiple statements but wanted one");if(0===expression$1.unwrap(e).start)throw new Error("Parse result included parens.")},unwrap:function(e){var t=_sliced_to_array(e.program.body,1)[0];return assertExpressionStatement2(t),t.expression}},program$1$1={code:function(e){return e},validate:function(){},unwrap:function(e){return e.program}};function _objectWithoutPropertiesLoose2(e,t){if(null==e)return{};var r,n,i={},a=Object.keys(e);for(n=0;n<a.length;n++)r=a[n],t.indexOf(r)>=0||(i[r]=e[r]);return i}var _excluded3=["placeholderWhitelist","placeholderPattern","preserveComments","syntacticPlaceholders"];function merge$3(e,t){var r=t.placeholderWhitelist,n=void 0===r?e.placeholderWhitelist:r,i=t.placeholderPattern,a=void 0===i?e.placeholderPattern:i,s=t.preserveComments,o=void 0===s?e.preserveComments:s,l=t.syntacticPlaceholders,u=void 0===l?e.syntacticPlaceholders:l;return{parser:Object.assign({},e.parser,t.parser),placeholderWhitelist:n,placeholderPattern:a,preserveComments:o,syntacticPlaceholders:u}}function validate$12(e){if(null!=e&&"object"!=typeof e)throw new Error("Unknown template options.");var t=e||{},r=t.placeholderWhitelist,n=t.placeholderPattern,i=t.preserveComments,a=t.syntacticPlaceholders,s=_objectWithoutPropertiesLoose2(t,_excluded3);if(null!=r&&!_instanceof(r,Set))throw new Error("'.placeholderWhitelist' must be a Set, null, or undefined");if(null!=n&&!_instanceof(n,RegExp)&&!1!==n)throw new Error("'.placeholderPattern' must be a RegExp, false, null, or undefined");if(null!=i&&"boolean"!=typeof i)throw new Error("'.preserveComments' must be a boolean, null, or undefined");if(null!=a&&"boolean"!=typeof a)throw new Error("'.syntacticPlaceholders' must be a boolean, null, or undefined");if(!0===a&&(null!=r||null!=n))throw new Error("'.placeholderWhitelist' and '.placeholderPattern' aren't compatible with '.syntacticPlaceholders: true'");return{parser:s,placeholderWhitelist:r||void 0,placeholderPattern:null==n?void 0:n,preserveComments:null==i?void 0:i,syntacticPlaceholders:null==a?void 0:a}}function normalizeReplacements(e){if(Array.isArray(e))return e.reduce((function(e,t,r){return e["$"+r]=t,e}),{});if("object"==typeof e||null==e)return e||void 0;throw new Error("Template replacements must be an array, object, null, or undefined")}var isCallExpression2=lib_exports.isCallExpression,isExpressionStatement2=lib_exports.isExpressionStatement,isFunction2=lib_exports.isFunction,isIdentifier2=lib_exports.isIdentifier,isJSXIdentifier2=lib_exports.isJSXIdentifier,isNewExpression2=lib_exports.isNewExpression,isPlaceholder2=lib_exports.isPlaceholder,isStatement$1$1=lib_exports.isStatement,isStringLiteral$1$1=lib_exports.isStringLiteral,removePropertiesDeep2=lib_exports.removePropertiesDeep,traverse2=lib_exports.traverse,PATTERN=/^[_$A-Z0-9]+$/;function parseAndBuildMetadata(e,t,r){var n=r.placeholderWhitelist,i=r.placeholderPattern,a=r.preserveComments,s=r.syntacticPlaceholders,o=parseWithCodeFrame(t,r.parser,s);removePropertiesDeep2(o,{preserveComments:a}),e.validate(o);var l={syntactic:{placeholders:[],placeholderNames:new Set},legacy:{placeholders:[],placeholderNames:new Set},placeholderWhitelist:n,placeholderPattern:i,syntacticPlaceholders:s};return traverse2(o,placeholderVisitorHandler,l),Object.assign({ast:o},l.syntactic.placeholders.length?l.syntactic:l.legacy)}function placeholderVisitorHandler(e,t,r){var n,i,a=r.syntactic.placeholders.length>0;if(isPlaceholder2(e)){if(!1===r.syntacticPlaceholders)throw new Error("%%foo%%-style placeholders can't be used when '.syntacticPlaceholders' is false.");i=e.name.name,a=!0}else{if(a||r.syntacticPlaceholders)return;if(isIdentifier2(e)||isJSXIdentifier2(e))i=e.name;else{if(!isStringLiteral$1$1(e))return;i=e.value}}if(a&&(null!=r.placeholderPattern||null!=r.placeholderWhitelist))throw new Error("'.placeholderWhitelist' and '.placeholderPattern' aren't compatible with '.syntacticPlaceholders: true'");if(a||!1!==r.placeholderPattern&&(r.placeholderPattern||PATTERN).test(i)||(null===(n=r.placeholderWhitelist)||void 0===n?void 0:n.has(i))){var s,o=(t=t.slice())[t.length-1],l=o.node,u=o.key;isStringLiteral$1$1(e)||isPlaceholder2(e,{expectedNode:"StringLiteral"})?s="string":isNewExpression2(l)&&"arguments"===u||isCallExpression2(l)&&"arguments"===u||isFunction2(l)&&"params"===u?s="param":isExpressionStatement2(l)&&!isPlaceholder2(e)?(s="statement",t=t.slice(0,-1)):s=isStatement$1$1(e)&&isPlaceholder2(e)?"statement":"other";var c=a?r.syntactic:r.legacy,p=c.placeholders,d=c.placeholderNames;p.push({name:i,type:s,resolve:function(e){return resolveAncestors(e,t)},isDuplicate:d.has(i)}),d.add(i)}}function resolveAncestors(e,t){for(var r=e,n=0;n<t.length-1;n++){var i=t[n],a=i.key,s=i.index;r=void 0===s?r[a]:r[a][s]}var o=t[t.length-1];return{parent:r,key:o.key,index:o.index}}function parseWithCodeFrame(e,t,r){var n=(t.plugins||[]).slice();!1!==r&&n.push("placeholders"),t=Object.assign({allowReturnOutsideFunction:!0,allowSuperOutsideMethod:!0,sourceType:"module"},t,{plugins:n});try{return parse$5(e,t)}catch(t){var i=t.loc;throw i&&(t.message+="\n"+codeFrameColumns$2(e,{start:i}),t.code="BABEL_TEMPLATE_PARSE_ERROR"),t}}var blockStatement2=lib_exports.blockStatement,cloneNode2=lib_exports.cloneNode,emptyStatement2=lib_exports.emptyStatement,expressionStatement2=lib_exports.expressionStatement,identifier2=lib_exports.identifier,isStatement2=lib_exports.isStatement,isStringLiteral2=lib_exports.isStringLiteral,stringLiteral2=lib_exports.stringLiteral,validate2=lib_exports.validate;function populatePlaceholders(e,t){var r=cloneNode2(e.ast);return t&&(e.placeholders.forEach((function(e){if(!Object.hasOwn(t,e.name)){var r=e.name;throw new Error('Error: No substitution given for "'.concat(r,"\". If this is not meant to be a\n placeholder you may want to consider passing one of the following options to @babel/template:\n - { placeholderPattern: false, placeholderWhitelist: new Set(['").concat(r,"'])}\n - { placeholderPattern: /^").concat(r,"$/ }"))}})),Object.keys(t).forEach((function(t){if(!e.placeholderNames.has(t))throw new Error('Unknown substitution "'.concat(t,'" given'))}))),e.placeholders.slice().reverse().forEach((function(e){try{applyReplacement(e,r,t&&t[e.name]||null)}catch(t){throw t.message='@babel/template placeholder "'.concat(e.name,'": ').concat(t.message),t}})),r}function applyReplacement(e,t,r){e.isDuplicate&&(Array.isArray(r)?r=r.map((function(e){return cloneNode2(e)})):"object"==typeof r&&(r=cloneNode2(r)));var n=e.resolve(t),i=n.parent,a=n.key,s=n.index;if("string"===e.type){if("string"==typeof r&&(r=stringLiteral2(r)),!r||!isStringLiteral2(r))throw new Error("Expected string substitution")}else if("statement"===e.type)void 0===s?r?Array.isArray(r)?r=blockStatement2(r):"string"==typeof r?r=expressionStatement2(identifier2(r)):isStatement2(r)||(r=expressionStatement2(r)):r=emptyStatement2():r&&!Array.isArray(r)&&("string"==typeof r&&(r=identifier2(r)),isStatement2(r)||(r=expressionStatement2(r)));else if("param"===e.type){if("string"==typeof r&&(r=identifier2(r)),void 0===s)throw new Error("Assertion failure.")}else if("string"==typeof r&&(r=identifier2(r)),Array.isArray(r))throw new Error("Cannot replace single expression with an array.");if(void 0===s)validate2(i,a,r),i[a]=r;else{var o=i[a].slice();if("statement"===e.type||"param"===e.type)if(null==r)o.splice(s,1);else if(Array.isArray(r)){var l;(l=o).splice.apply(l,[s,1].concat(_to_consumable_array(r)))}else o[s]=r;else o[s]=r;validate2(i,a,o),i[a]=o}}function stringTemplate(e,t,r){var n;return t=e.code(t),function(i){var a=normalizeReplacements(i);return n||(n=parseAndBuildMetadata(e,t,r)),e.unwrap(populatePlaceholders(n,a))}}function literalTemplate(e,t,r){var n=buildLiteralData(e,t,r),i=n.metadata,a=n.names;return function(t){var r={};return t.forEach((function(e,t){r[a[t]]=e})),function(t){var n=normalizeReplacements(t);return n&&Object.keys(n).forEach((function(e){if(Object.hasOwn(r,e))throw new Error("Unexpected replacement overlap.")})),e.unwrap(populatePlaceholders(i,n?Object.assign(n,r):r))}}}function buildLiteralData(e,t,r){var n="BABEL_TPL$",i=t.join("");do{n="$$"+n}while(i.includes(n));var a=buildTemplateCode(t,n),s=a.names,o=a.code;return{metadata:parseAndBuildMetadata(e,e.code(o),{parser:r.parser,placeholderWhitelist:new Set(s.concat(r.placeholderWhitelist?Array.from(r.placeholderWhitelist):[])),placeholderPattern:r.placeholderPattern,preserveComments:r.preserveComments,syntacticPlaceholders:r.syntacticPlaceholders}),names:s}}function buildTemplateCode(e,t){for(var r=[],n=e[0],i=1;i<e.length;i++){var a="".concat(t).concat(i-1);r.push(a),n+=a+e[i]}return{names:r,code:n}}var NO_PLACEHOLDER=validate$12({placeholderPattern:!1});function createTemplateBuilder(e,t){var r=new WeakMap,n=new WeakMap,i=t||validate$12(null);return Object.assign((function(t){for(var n=arguments.length,a=new Array(n>1?n-1:0),s=1;s<n;s++)a[s-1]=arguments[s];if("string"==typeof t){if(a.length>1)throw new Error("Unexpected extra params.");return extendedTrace(stringTemplate(e,t,merge$3(i,validate$12(a[0]))))}if(Array.isArray(t)){var o=r.get(t);return o||(o=literalTemplate(e,t,i),r.set(t,o)),extendedTrace(o(a))}if("object"==typeof t&&t){if(a.length>0)throw new Error("Unexpected extra params.");return createTemplateBuilder(e,merge$3(i,validate$12(t)))}throw new Error("Unexpected template param ".concat(void 0===t?"undefined":_type_of(t)))}),{ast:function(t){for(var r=arguments.length,a=new Array(r>1?r-1:0),s=1;s<r;s++)a[s-1]=arguments[s];if("string"==typeof t){if(a.length>1)throw new Error("Unexpected extra params.");return stringTemplate(e,t,merge$3(merge$3(i,validate$12(a[0])),NO_PLACEHOLDER))()}if(Array.isArray(t)){var o=n.get(t);return o||(o=literalTemplate(e,t,merge$3(i,NO_PLACEHOLDER)),n.set(t,o)),o(a)()}throw new Error("Unexpected template param ".concat(void 0===t?"undefined":_type_of(t)))}})}function extendedTrace(e){var t="";try{throw new Error}catch(e){e.stack&&(t=e.stack.split("\n").slice(3).join("\n"))}return function(r){try{return e(r)}catch(e){throw e.stack+="\n =============\n".concat(t),e}}}var get$1,put,smart=createTemplateBuilder(smart$1),statement=createTemplateBuilder(statement$1),statements$2=createTemplateBuilder(statements$1$1),expression=createTemplateBuilder(expression$1),program2=createTemplateBuilder(program$1$1),index=Object.assign(smart.bind(void 0),{smart:smart,statement:statement,statements:statements$2,expression:expression,program:program2,ast:smart.ast}),SetArray=function e(){_class_call_check(this,e),this._indexes={__proto__:null},this.array=[]};get$1=function(e,t){return e._indexes[t]},put=function(e,t){var r=get$1(e,t);if(void 0!==r)return r;var n=e.array;return e._indexes[t]=n.push(t)-1};for(var comma=",".charCodeAt(0),semicolon=";".charCodeAt(0),chars="ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789+/",intToChar=new Uint8Array(64),charToInt=new Uint8Array(128),i=0;i<chars.length;i++){var c=chars.charCodeAt(i);intToChar[i]=c,charToInt[c]=i}var td="undefined"!=typeof TextDecoder?new TextDecoder:void 0!==Buffer?{decode:function(e){return Buffer.from(e.buffer,e.byteOffset,e.byteLength).toString()}}:{decode:function(e){for(var t="",r=0;r<e.length;r++)t+=String.fromCharCode(e[r]);return t}};function decode$1(e){var t=new Int32Array(5),r=[],n=0;do{var i=indexOf(e,n),a=[],s=!0,o=0;t[0]=0;for(var l=n;l<i;l++){var u=void 0;l=decodeInteger(e,l,t,0);var c=t[0];c<o&&(s=!1),o=c,hasMoreVlq(e,l,i)?(l=decodeInteger(e,l,t,1),l=decodeInteger(e,l,t,2),hasMoreVlq(e,l=decodeInteger(e,l,t,3),i)?(l=decodeInteger(e,l,t,4),u=[c,t[1],t[2],t[3],t[4]]):u=[c,t[1],t[2],t[3]]):u=[c],a.push(u)}s||sort(a),r.push(a),n=i+1}while(n<=e.length);return r}function indexOf(e,t){var r=e.indexOf(";",t);return-1===r?e.length:r}function decodeInteger(e,t,r,n){var i=0,a=0,s=0;do{var o=e.charCodeAt(t++);i|=(31&(s=charToInt[o]))<<a,a+=5}while(32&s);var l=1&i;return i>>>=1,l&&(i=-2147483648|-i),r[n]+=i,t}function hasMoreVlq(e,t,r){return!(t>=r)&&e.charCodeAt(t)!==comma}function sort(e){e.sort(sortComparator)}function sortComparator(e,t){return e[0]-t[0]}function encode$1(e){for(var t=new Int32Array(5),r=16384,n=16348,i=new Uint8Array(r),a=i.subarray(0,n),s=0,o="",l=0;l<e.length;l++){var u=e[l];if(l>0&&(s===r&&(o+=td.decode(i),s=0),i[s++]=semicolon),0!==u.length){t[0]=0;for(var c=0;c<u.length;c++){var p=u[c];s>n&&(o+=td.decode(a),i.copyWithin(0,n,s),s-=n),c>0&&(i[s++]=comma),s=encodeInteger(i,s,t,p,0),1!==p.length&&(s=encodeInteger(i,s,t,p,1),s=encodeInteger(i,s,t,p,2),s=encodeInteger(i,s,t,p,3),4!==p.length&&(s=encodeInteger(i,s,t,p,4)))}}}return o+td.decode(i.subarray(0,s))}function encodeInteger(e,t,r,n,i){var a=n[i],s=a-r[i];r[i]=a,s=s<0?-s<<1|1:s<<1;do{var o=31&s;(s>>>=5)>0&&(o|=32),e[t++]=intToChar[o]}while(s>0);return t}var schemeRegex=/^[\w+.-]+:\/\//,urlRegex=/^([\w+.-]+:)\/\/([^@/#?]*@)?([^:/#?]*)(:\d+)?(\/[^#?]*)?(\?[^#]*)?(#.*)?/,fileRegex=/^file:(?:\/\/((?![a-z]:)[^/#?]*)?)?(\/?[^#?]*)(\?[^#]*)?(#.*)?/i;function isAbsoluteUrl(e){return schemeRegex.test(e)}function isSchemeRelativeUrl(e){return e.startsWith("//")}function isAbsolutePath(e){return e.startsWith("/")}function isFileUrl(e){return e.startsWith("file:")}function isRelative(e){return/^[.?#]/.test(e)}function parseAbsoluteUrl(e){var t=urlRegex.exec(e);return makeUrl(t[1],t[2]||"",t[3],t[4]||"",t[5]||"/",t[6]||"",t[7]||"")}function parseFileUrl(e){var t=fileRegex.exec(e),r=t[2];return makeUrl("file:","",t[1]||"","",isAbsolutePath(r)?r:"/"+r,t[3]||"",t[4]||"")}function makeUrl(e,t,r,n,i,a,s){return{scheme:e,user:t,host:r,port:n,path:i,query:a,hash:s,type:7}}function parseUrl(e){if(isSchemeRelativeUrl(e)){var t=parseAbsoluteUrl("http:"+e);return t.scheme="",t.type=6,t}if(isAbsolutePath(e)){var r=parseAbsoluteUrl("http://foo.com"+e);return r.scheme="",r.host="",r.type=5,r}if(isFileUrl(e))return parseFileUrl(e);if(isAbsoluteUrl(e))return parseAbsoluteUrl(e);var n=parseAbsoluteUrl("http://foo.com/"+e);return n.scheme="",n.host="",n.type=e?e.startsWith("?")?3:e.startsWith("#")?2:4:1,n}function stripPathFilename(e){if(e.endsWith("/.."))return e;var t=e.lastIndexOf("/");return e.slice(0,t+1)}function mergePaths(e,t){normalizePath(t,t.type),"/"===e.path?e.path=t.path:e.path=stripPathFilename(t.path)+e.path}function normalizePath(e,t){for(var r=t<=4,n=e.path.split("/"),i=1,a=0,s=!1,o=1;o<n.length;o++){var l=n[o];l?(s=!1,"."!==l&&(".."!==l?(n[i++]=l,a++):a?(s=!0,a--,i--):r&&(n[i++]=l))):s=!0}for(var u="",c=1;c<i;c++)u+="/"+n[c];(!u||s&&!u.endsWith("/.."))&&(u+="/"),e.path=u}function resolve$1(e,t){if(!e&&!t)return"";var r=parseUrl(e),n=r.type;if(t&&7!==n){var i=parseUrl(t),a=i.type;switch(n){case 1:r.hash=i.hash;case 2:r.query=i.query;case 3:case 4:mergePaths(r,i);case 5:r.user=i.user,r.host=i.host,r.port=i.port;case 6:r.scheme=i.scheme}a>n&&(n=a)}normalizePath(r,n);var s=r.query+r.hash;switch(n){case 2:case 3:return s;case 4:var o=r.path.slice(1);return o?isRelative(t||e)&&!isRelative(o)?"./"+o+s:o+s:s||".";case 5:return r.path+s;default:return r.scheme+"//"+r.user+r.host+r.port+r.path+s}}function resolve2(e,t){return t&&!t.endsWith("/")&&(t+="/"),resolve$1(e,t)}function stripFilename(e){if(!e)return"";var t=e.lastIndexOf("/");return e.slice(0,t+1)}var COLUMN=0,SOURCES_INDEX=1,SOURCE_LINE=2,SOURCE_COLUMN=3,NAMES_INDEX=4;function maybeSort(e,t){var r=nextUnsortedSegmentLine(e,0);if(r===e.length)return e;t||(e=e.slice());for(var n=r;n<e.length;n=nextUnsortedSegmentLine(e,n+1))e[n]=sortSegments(e[n],t);return e}function nextUnsortedSegmentLine(e,t){for(var r=t;r<e.length;r++)if(!isSorted(e[r]))return r;return e.length}function isSorted(e){for(var t=1;t<e.length;t++)if(e[t][COLUMN]<e[t-1][COLUMN])return!1;return!0}function sortSegments(e,t){return t||(e=e.slice()),e.sort(sortComparator2)}function sortComparator2(e,t){return e[COLUMN]-t[COLUMN]}var found=!1;function binarySearch$1(e,t,r,n){for(;r<=n;){var i=r+(n-r>>1),a=e[i][COLUMN]-t;if(0===a)return found=!0,i;a<0?r=i+1:n=i-1}return found=!1,r-1}function upperBound(e,t,r){for(var n=r+1;n<e.length&&e[n][COLUMN]===t;r=n++);return r}function lowerBound(e,t,r){for(var n=r-1;n>=0&&e[n][COLUMN]===t;r=n--);return r}function memoizedState(){return{lastKey:-1,lastNeedle:-1,lastIndex:-1}}function memoizedBinarySearch(e,t,r,n){var i=r.lastKey,a=r.lastNeedle,s=r.lastIndex,o=0,l=e.length-1;if(n===i){if(t===a)return found=-1!==s&&e[s][COLUMN]===t,s;t>=a?o=-1===s?0:s:l=s}return r.lastKey=n,r.lastNeedle=t,r.lastIndex=binarySearch$1(e,t,o,l)}var LINE_GTR_ZERO="`line` must be greater than 0 (lines start at line 1)",COL_GTR_EQ_ZERO="`column` must be greater than or equal to 0 (columns start at column 0)",LEAST_UPPER_BOUND=-1,GREATEST_LOWER_BOUND=1,TraceMap=function e(t,r){_class_call_check(this,e);var n="string"==typeof t;if(!n&&t._decodedMemo)return t;var i=n?JSON.parse(t):t,a=i.version,s=i.file,o=i.names,l=i.sourceRoot,u=i.sources,c=i.sourcesContent;this.version=a,this.file=s,this.names=o||[],this.sourceRoot=l,this.sources=u,this.sourcesContent=c;var p=resolve2(l||"",stripFilename(r));this.resolvedSources=u.map((function(e){return resolve2(e||"",p)}));var d=i.mappings;"string"==typeof d?(this._encoded=d,this._decoded=void 0):(this._encoded=void 0,this._decoded=maybeSort(d,n)),this._decodedMemo=memoizedState(),this._bySources=void 0,this._bySourceMemos=void 0};function cast(e){return e}function decodedMappings(e){var t;return(t=cast(e))._decoded||(t._decoded=decode$1(cast(e)._encoded))}function originalPositionFor(e,t){var r=t.line,n=t.column,i=t.bias;if(--r<0)throw new Error(LINE_GTR_ZERO);if(n<0)throw new Error(COL_GTR_EQ_ZERO);var a=decodedMappings(e);if(r>=a.length)return OMapping(null,null,null,null);var s=a[r],o=traceSegmentInternal(s,cast(e)._decodedMemo,r,n,i||GREATEST_LOWER_BOUND);if(-1===o)return OMapping(null,null,null,null);var l=s[o];if(1===l.length)return OMapping(null,null,null,null);var u=e.names;return OMapping(e.resolvedSources[l[SOURCES_INDEX]],l[SOURCE_LINE]+1,l[SOURCE_COLUMN],5===l.length?u[l[NAMES_INDEX]]:null)}function OMapping(e,t,r,n){return{source:e,line:t,column:r,name:n}}function traceSegmentInternal(e,t,r,n,i){var a=memoizedBinarySearch(e,n,t,r);return found?a=(i===LEAST_UPPER_BOUND?upperBound:lowerBound)(e,n,a):i===LEAST_UPPER_BOUND&&a++,-1===a||a===e.length?-1:a}var COLUMN2=0,SOURCES_INDEX2=1,SOURCE_LINE2=2,SOURCE_COLUMN2=3,NAMES_INDEX2=4,NO_NAME=-1,GenMapping=function e(){var t=arguments.length>0&&void 0!==arguments[0]?arguments[0]:{},r=t.file,n=t.sourceRoot;_class_call_check(this,e),this._names=new SetArray,this._sources=new SetArray,this._sourcesContent=[],this._mappings=[],this.file=r,this.sourceRoot=n};function cast2(e){return e}var maybeAddMapping=function(e,t){return addMappingInternal(!0,e,t)};function setSourceContent(e,t,r){var n=cast2(e),i=n._sources;n._sourcesContent[put(i,t)]=r}function toDecodedMap(e){var t=cast2(e),r=t._mappings,n=t._sources,i=t._sourcesContent,a=t._names;return removeEmptyFinalLines(r),{version:3,file:e.file||void 0,names:a.array,sourceRoot:e.sourceRoot||void 0,sources:n.array,sourcesContent:i,mappings:r}}function toEncodedMap(e){var t=toDecodedMap(e);return Object.assign(Object.assign({},t),{mappings:encode$1(t.mappings)})}function allMappings(e){for(var t=[],r=cast2(e),n=r._mappings,i=r._sources,a=r._names,s=0;s<n.length;s++)for(var o=n[s],l=0;l<o.length;l++){var u=o[l],c={line:s+1,column:u[COLUMN2]},p=void 0,d=void 0,f=void 0;1!==u.length&&(p=i.array[u[SOURCES_INDEX2]],d={line:u[SOURCE_LINE2]+1,column:u[SOURCE_COLUMN2]},5===u.length&&(f=a.array[u[NAMES_INDEX2]])),t.push({generated:c,source:p,original:d,name:f})}return t}function addSegmentInternal(e,t,r,n,i,a,s,o,l){var u=cast2(t),c=u._mappings,p=u._sources,d=u._sourcesContent,f=u._names,h=getLine(c,r),m=getColumnIndex(h,n);if(!i){if(e&&skipSourceless(h,m))return;return insert$1(h,m,[n])}var y=put(p,i),g=o?put(f,o):NO_NAME;if(y===d.length&&(d[y]=null!=l?l:null),!e||!skipSource(h,m,y,a,s,g))return insert$1(h,m,o?[n,y,a,s,g]:[n,y,a,s])}function getLine(e,t){for(var r=e.length;r<=t;r++)e[r]=[];return e[t]}function getColumnIndex(e,t){for(var r=e.length,n=r-1;n>=0;r=n--){if(t>=e[n][COLUMN2])break}return r}function insert$1(e,t,r){for(var n=e.length;n>t;n--)e[n]=e[n-1];e[t]=r}function removeEmptyFinalLines(e){for(var t=e.length,r=t,n=r-1;n>=0&&!(e[n].length>0);r=n,n--);r<t&&(e.length=r)}function skipSourceless(e,t){return 0===t||1===e[t-1].length}function skipSource(e,t,r,n,i,a){if(0===t)return!1;var s=e[t-1];return 1!==s.length&&(r===s[SOURCES_INDEX2]&&n===s[SOURCE_LINE2]&&i===s[SOURCE_COLUMN2]&&a===(5===s.length?s[NAMES_INDEX2]:NO_NAME))}function addMappingInternal(e,t,r){var n=r.generated,i=r.source,a=r.original,s=r.name,o=r.content;return i?addSegmentInternal(e,t,n.line-1,n.column,i,a.line-1,a.column,s,o):addSegmentInternal(e,t,n.line-1,n.column,null,null,null,null,null)}var import_jsesc=__toESM(require_jsesc(),1),SourceMap=function(){function e(t,r){var n;_class_call_check(this,e),__publicField(this,"_map"),__publicField(this,"_rawMappings"),__publicField(this,"_sourceFileName"),__publicField(this,"_lastGenLine",0),__publicField(this,"_lastSourceLine",0),__publicField(this,"_lastSourceColumn",0),__publicField(this,"_inputMap");var i=this._map=new GenMapping({sourceRoot:t.sourceRoot});if(this._sourceFileName=null===(n=t.sourceFileName)||void 0===n?void 0:n.replace(/\\/g,"/"),this._rawMappings=void 0,t.inputSourceMap){this._inputMap=new TraceMap(t.inputSourceMap);var a=this._inputMap.resolvedSources;if(a.length)for(var s=0;s<a.length;s++){var o;setSourceContent(i,a[s],null===(o=this._inputMap.sourcesContent)||void 0===o?void 0:o[s])}}if("string"!=typeof r||t.inputSourceMap){if("object"==typeof r){var l=!0,u=!1,c=void 0;try{for(var p,d=Object.keys(r)[Symbol.iterator]();!(l=(p=d.next()).done);l=!0){var f=p.value;setSourceContent(i,f.replace(/\\/g,"/"),r[f])}}catch(e){u=!0,c=e}finally{try{l||null==d.return||d.return()}finally{if(u)throw c}}}}else setSourceContent(i,this._sourceFileName,r)}return _create_class(e,[{key:"get",value:function(){return toEncodedMap(this._map)}},{key:"getDecoded",value:function(){return toDecodedMap(this._map)}},{key:"getRawMappings",value:function(){return this._rawMappings||(this._rawMappings=allMappings(this._map))}},{key:"mark",value:function(e,t,r,n,i,a){var s;if(this._rawMappings=void 0,null!=t)if(this._inputMap){if(!(s=originalPositionFor(this._inputMap,{line:t,column:r})).name&&i){var o=originalPositionFor(this._inputMap,i);o.name&&(n=o.name)}}else s={source:(null==a?void 0:a.replace(/\\/g,"/"))||this._sourceFileName,line:t,column:r};maybeAddMapping(this._map,{name:n,generated:e,source:null==s?void 0:s.source,original:s})}}]),e}(),Buffer2=function(){function e(t,r){_class_call_check(this,e),__publicField(this,"_map",null),__publicField(this,"_buf",""),__publicField(this,"_str",""),__publicField(this,"_appendCount",0),__publicField(this,"_last",0),__publicField(this,"_queue",[]),__publicField(this,"_queueCursor",0),__publicField(this,"_canMarkIdName",!0),__publicField(this,"_indentChar",""),__publicField(this,"_fastIndentations",[]),__publicField(this,"_position",{line:1,column:0}),__publicField(this,"_sourcePosition",{identifierName:void 0,identifierNamePos:void 0,line:void 0,column:void 0,filename:void 0}),this._map=t,this._indentChar=r;for(var n=0;n<64;n++)this._fastIndentations.push(r.repeat(n));this._allocQueue()}return _create_class(e,[{key:"_allocQueue",value:function(){for(var e=this._queue,t=0;t<16;t++)e.push({char:0,repeat:1,line:void 0,column:void 0,identifierName:void 0,identifierNamePos:void 0,filename:""})}},{key:"_pushQueue",value:function(e,t,r,n,i){var a=this._queueCursor;a===this._queue.length&&this._allocQueue();var s=this._queue[a];s.char=e,s.repeat=t,s.line=r,s.column=n,s.filename=i,this._queueCursor++}},{key:"_popQueue",value:function(){if(0===this._queueCursor)throw new Error("Cannot pop from empty queue");return this._queue[--this._queueCursor]}},{key:"get",value:function(){this._flush();var e=this._map,t={code:(this._buf+this._str).trimRight(),decodedMap:null==e?void 0:e.getDecoded(),get __mergedMap(){return this.map},get map(){var r=e?e.get():null;return t.map=r,r},set map(e){Object.defineProperty(t,"map",{value:e,writable:!0})},get rawMappings(){var r=null==e?void 0:e.getRawMappings();return t.rawMappings=r,r},set rawMappings(e){Object.defineProperty(t,"rawMappings",{value:e,writable:!0})}};return t}},{key:"append",value:function(e,t){this._flush(),this._append(e,this._sourcePosition,t)}},{key:"appendChar",value:function(e){this._flush(),this._appendChar(e,1,this._sourcePosition)}},{key:"queue",value:function(e){if(10===e)for(;0!==this._queueCursor;){var t=this._queue[this._queueCursor-1].char;if(32!==t&&9!==t)break;this._queueCursor--}var r=this._sourcePosition;this._pushQueue(e,1,r.line,r.column,r.filename)}},{key:"queueIndentation",value:function(e){0!==e&&this._pushQueue(-1,e,void 0,void 0,void 0)}},{key:"_flush",value:function(){for(var e=this._queueCursor,t=this._queue,r=0;r<e;r++){var n=t[r];this._appendChar(n.char,n.repeat,n)}this._queueCursor=0}},{key:"_appendChar",value:function(e,t,r){if(this._last=e,-1===e){var n=this._fastIndentations[t];this._str+=void 0!==n?n:t>1?this._indentChar.repeat(t):this._indentChar}else this._str+=t>1?String.fromCharCode(e).repeat(t):String.fromCharCode(e);10!==e?(this._mark(r.line,r.column,r.identifierName,r.identifierNamePos,r.filename),this._position.column+=t):(this._position.line++,this._position.column=0),this._canMarkIdName&&(r.identifierName=void 0,r.identifierNamePos=void 0)}},{key:"_append",value:function(e,t,r){var n=e.length,i=this._position;if(this._last=e.charCodeAt(n-1),++this._appendCount>4096?(this._str,this._buf+=this._str,this._str=e,this._appendCount=0):this._str+=e,r||this._map){var a=t.column,s=t.identifierName,o=t.identifierNamePos,l=t.filename,u=t.line;null==s&&null==o||!this._canMarkIdName||(t.identifierName=void 0,t.identifierNamePos=void 0);var c=e.indexOf("\n"),p=0;for(0!==c&&this._mark(u,a,s,o,l);-1!==c;)i.line++,i.column=0,(p=c+1)<n&&void 0!==u&&this._mark(++u,0,null,null,l),c=e.indexOf("\n",p);i.column+=n-p}else i.column+=n}},{key:"_mark",value:function(e,t,r,n,i){var a;null===(a=this._map)||void 0===a||a.mark(this._position,e,t,r,n,i)}},{key:"removeTrailingNewline",value:function(){var e=this._queueCursor;0!==e&&10===this._queue[e-1].char&&this._queueCursor--}},{key:"removeLastSemicolon",value:function(){var e=this._queueCursor;0!==e&&59===this._queue[e-1].char&&this._queueCursor--}},{key:"getLastChar",value:function(){var e=this._queueCursor;return 0!==e?this._queue[e-1].char:this._last}},{key:"getNewlineCount",value:function(){var e=this._queueCursor,t=0;if(0===e)return 10===this._last?1:0;for(var r=e-1;r>=0&&10===this._queue[r].char;r--)t++;return t===e&&10===this._last?t+1:t}},{key:"endsWithCharAndNewline",value:function(){var e=this._queue,t=this._queueCursor;if(0!==t){if(10!==e[t-1].char)return;return t>1?e[t-2].char:this._last}}},{key:"hasContent",value:function(){return 0!==this._queueCursor||!!this._last}},{key:"exactSource",value:function(e,t){if(this._map){this.source("start",e);var r=e.identifierName,n=this._sourcePosition;r&&(this._canMarkIdName=!1,n.identifierName=r),t(),r&&(this._canMarkIdName=!0,n.identifierName=void 0,n.identifierNamePos=void 0),this.source("end",e)}else t()}},{key:"source",value:function(e,t){this._map&&this._normalizePosition(e,t,0)}},{key:"sourceWithOffset",value:function(e,t,r){this._map&&this._normalizePosition(e,t,r)}},{key:"withSource",value:function(e,t,r){this._map&&this.source(e,t),r()}},{key:"_normalizePosition",value:function(e,t,r){var n=t[e],i=this._sourcePosition;n&&(i.line=n.line,i.column=Math.max(n.column+r,0),i.filename=t.filename)}},{key:"getCurrentColumn",value:function(){for(var e=this._queue,t=this._queueCursor,r=-1,n=0,i=0;i<t;i++){var a=e[i];10===a.char&&(r=n),n+=a.repeat}return-1===r?this._position.column+n:n-1-r}},{key:"getCurrentLine",value:function(){for(var e=0,t=this._queue,r=0;r<this._queueCursor;r++)10===t[r].char&&e++;return this._position.line+e}}]),e}(),FLIPPED_ALIAS_KEYS$1=lib_exports.FLIPPED_ALIAS_KEYS,isArrayExpression2=lib_exports.isArrayExpression,isAssignmentExpression2=lib_exports.isAssignmentExpression,isBinary2=lib_exports.isBinary,isBlockStatement2=lib_exports.isBlockStatement,isCallExpression$3$1=lib_exports.isCallExpression,isFunction$1$1=lib_exports.isFunction,isIdentifier$2$1=lib_exports.isIdentifier,isLiteral$1$1=lib_exports.isLiteral,isMemberExpression$3$1=lib_exports.isMemberExpression,isObjectExpression2=lib_exports.isObjectExpression,isOptionalCallExpression2=lib_exports.isOptionalCallExpression,isOptionalMemberExpression$1$1=lib_exports.isOptionalMemberExpression,isStringLiteral3=lib_exports.isStringLiteral;function crawlInternal(e,t){return e?(isMemberExpression$3$1(e)||isOptionalMemberExpression$1$1(e)?(crawlInternal(e.object,t),e.computed&&crawlInternal(e.property,t)):isBinary2(e)||isAssignmentExpression2(e)?(crawlInternal(e.left,t),crawlInternal(e.right,t)):isCallExpression$3$1(e)||isOptionalCallExpression2(e)?(t.hasCall=!0,crawlInternal(e.callee,t)):isFunction$1$1(e)?t.hasFunction=!0:isIdentifier$2$1(e)&&(t.hasHelper=t.hasHelper||e.callee&&isHelper(e.callee)),t):t}function crawl(e){return crawlInternal(e,{hasCall:!1,hasFunction:!1,hasHelper:!1})}function isHelper(e){return!!e&&(isMemberExpression$3$1(e)?isHelper(e.object)||isHelper(e.property):isIdentifier$2$1(e)?"require"===e.name||95===e.name.charCodeAt(0):isCallExpression$3$1(e)?isHelper(e.callee):!(!isBinary2(e)&&!isAssignmentExpression2(e))&&(isIdentifier$2$1(e.left)&&isHelper(e.left)||isHelper(e.right)))}function isType2(e){return isLiteral$1$1(e)||isObjectExpression2(e)||isArrayExpression2(e)||isIdentifier$2$1(e)||isMemberExpression$3$1(e)}var nodes={AssignmentExpression:function(e){var t=crawl(e.right);if(t.hasCall&&t.hasHelper||t.hasFunction)return t.hasFunction?3:2},SwitchCase:function(e,t){return(e.consequent.length||t.cases[0]===e?1:0)|(e.consequent.length||t.cases[t.cases.length-1]!==e?0:2)},LogicalExpression:function(e){if(isFunction$1$1(e.left)||isFunction$1$1(e.right))return 2},Literal:function(e){if(isStringLiteral3(e)&&"use strict"===e.value)return 2},CallExpression:function(e){if(isFunction$1$1(e.callee)||isHelper(e))return 3},OptionalCallExpression:function(e){if(isFunction$1$1(e.callee))return 3},VariableDeclaration:function(e){for(var t=0;t<e.declarations.length;t++){var r=e.declarations[t],n=isHelper(r.id)&&!isType2(r.init);if(!n&&r.init){var i=crawl(r.init);n=isHelper(r.init)&&i.hasCall||i.hasFunction}if(n)return 3}},IfStatement:function(e){if(isBlockStatement2(e.consequent))return 3}};nodes.ObjectProperty=nodes.ObjectTypeProperty=nodes.ObjectMethod=function(e,t){if(t.properties[0]===e)return 1},nodes.ObjectTypeCallProperty=function(e,t){var r;if(t.callProperties[0]===e&&!(null===(r=t.properties)||void 0===r?void 0:r.length))return 1},nodes.ObjectTypeIndexer=function(e,t){var r,n;if(t.indexers[0]===e&&!(null===(r=t.properties)||void 0===r?void 0:r.length)&&!(null===(n=t.callProperties)||void 0===n?void 0:n.length))return 1},nodes.ObjectTypeInternalSlot=function(e,t){var r,n,i;if(t.internalSlots[0]===e&&!(null===(r=t.properties)||void 0===r?void 0:r.length)&&!(null===(n=t.callProperties)||void 0===n?void 0:n.length)&&!(null===(i=t.indexers)||void 0===i?void 0:i.length))return 1},[["Function",!0],["Class",!0],["Loop",!0],["LabeledStatement",!0],["SwitchStatement",!0],["TryStatement",!0]].forEach((function(e){var t=_sliced_to_array(e,2),r=t[0],n=t[1];[r].concat(FLIPPED_ALIAS_KEYS$1[r]||[]).forEach((function(e){var t=n?3:0;nodes[e]=function(){return t}}))}));var isArrayTypeAnnotation2=lib_exports.isArrayTypeAnnotation,isArrowFunctionExpression2=lib_exports.isArrowFunctionExpression,isBinaryExpression2=lib_exports.isBinaryExpression,isCallExpression$2$1=lib_exports.isCallExpression,isExportDeclaration2=lib_exports.isExportDeclaration,isForOfStatement2=lib_exports.isForOfStatement,isIndexedAccessType2=lib_exports.isIndexedAccessType,isMemberExpression$2$1=lib_exports.isMemberExpression,isObjectPattern2=lib_exports.isObjectPattern,isOptionalMemberExpression2=lib_exports.isOptionalMemberExpression,isYieldExpression2=lib_exports.isYieldExpression,PRECEDENCE=new Map([["||",0],["??",0],["|>",0],["&&",1],["|",2],["^",3],["&",4],["==",5],["===",5],["!=",5],["!==",5],["<",6],[">",6],["<=",6],[">=",6],["in",6],["instanceof",6],[">>",7],["<<",7],[">>>",7],["+",8],["-",8],["*",9],["/",9],["%",9],["**",10]]);function isTSTypeExpression(e){return"TSAsExpression"===e||"TSSatisfiesExpression"===e||"TSTypeAssertion"===e}var isClassExtendsClause=function(e,t){var r=t.type;return("ClassDeclaration"===r||"ClassExpression"===r)&&t.superClass===e},hasPostfixPart=function(e,t){var r=t.type;return("MemberExpression"===r||"OptionalMemberExpression"===r)&&t.object===e||("CallExpression"===r||"OptionalCallExpression"===r||"NewExpression"===r)&&t.callee===e||"TaggedTemplateExpression"===r&&t.tag===e||"TSNonNullExpression"===r};function NullableTypeAnnotation$1(e,t){return isArrayTypeAnnotation2(t)}function FunctionTypeAnnotation$1(e,t,r){if(!(r.length<3)){var n=t.type;return"UnionTypeAnnotation"===n||"IntersectionTypeAnnotation"===n||"ArrayTypeAnnotation"===n||"TypeAnnotation"===n&&isArrowFunctionExpression2(r[r.length-3])}}function UpdateExpression$1(e,t){return hasPostfixPart(e,t)||isClassExtendsClause(e,t)}function ObjectExpression$1$1(e,t,r){return isFirstInContext(r,3)}function DoExpression$1(e,t,r){return!e.async&&isFirstInContext(r,1)}function Binary(e,t){var r=t.type;if("**"===e.operator&&"BinaryExpression"===r&&"**"===t.operator)return t.left===e;if(isClassExtendsClause(e,t))return!0;if(hasPostfixPart(e,t)||"UnaryExpression"===r||"SpreadElement"===r||"AwaitExpression"===r)return!0;if("BinaryExpression"===r||"LogicalExpression"===r){var n=PRECEDENCE.get(t.operator),i=PRECEDENCE.get(e.operator);if(n===i&&t.right===e&&"LogicalExpression"!==r||n>i)return!0}}function UnionTypeAnnotation$1(e,t){var r=t.type;return"ArrayTypeAnnotation"===r||"NullableTypeAnnotation"===r||"IntersectionTypeAnnotation"===r||"UnionTypeAnnotation"===r}function OptionalIndexedAccessType$1(e,t){return isIndexedAccessType2(t)&&t.objectType===e}function TSAsExpression$1(){return!0}function TSUnionType$1(e,t){var r=t.type;return"TSArrayType"===r||"TSOptionalType"===r||"TSIntersectionType"===r||"TSUnionType"===r||"TSRestType"===r}function TSInferType$1(e,t){var r=t.type;return"TSArrayType"===r||"TSOptionalType"===r}function TSInstantiationExpression$1(e,t){var r=t.type;return("CallExpression"===r||"OptionalCallExpression"===r||"NewExpression"===r||"TSInstantiationExpression"===r)&&!!t.typeParameters}function BinaryExpression$2(e,t){if("in"===e.operator){var r=t.type;return"VariableDeclarator"===r||"ForStatement"===r||"ForInStatement"===r||"ForOfStatement"===r}return!1}function SequenceExpression$1$1(e,t){var r=t.type;return!("ForStatement"===r||"ThrowStatement"===r||"ReturnStatement"===r||"IfStatement"===r&&t.test===e||"WhileStatement"===r&&t.test===e||"ForInStatement"===r&&t.right===e||"SwitchStatement"===r&&t.discriminant===e||"ExpressionStatement"===r&&t.expression===e)}function YieldExpression$1(e,t){var r=t.type;return"BinaryExpression"===r||"LogicalExpression"===r||"UnaryExpression"===r||"SpreadElement"===r||hasPostfixPart(e,t)||"AwaitExpression"===r&&isYieldExpression2(e)||"ConditionalExpression"===r&&e===t.test||isClassExtendsClause(e,t)}function ClassExpression$1(e,t,r){return isFirstInContext(r,5)}function UnaryLike(e,t){return hasPostfixPart(e,t)||isBinaryExpression2(t)&&"**"===t.operator&&t.left===e||isClassExtendsClause(e,t)}function FunctionExpression$1(e,t,r){return isFirstInContext(r,5)}function ArrowFunctionExpression$1(e,t){return isExportDeclaration2(t)||ConditionalExpression$1$1(e,t)}function ConditionalExpression$1$1(e,t){var r=t.type;return!!("UnaryExpression"===r||"SpreadElement"===r||"BinaryExpression"===r||"LogicalExpression"===r||"ConditionalExpression"===r&&t.test===e||"AwaitExpression"===r||isTSTypeExpression(r))||UnaryLike(e,t)}function OptionalMemberExpression$1(e,t){return isCallExpression$2$1(t)&&t.callee===e||isMemberExpression$2$1(t)&&t.object===e}function AssignmentExpression$1(e,t){return!!isObjectPattern2(e.left)||ConditionalExpression$1$1(e,t)}function LogicalExpression$4(e,t){var r=t.type;if(isTSTypeExpression(r))return!0;if("LogicalExpression"!==r)return!1;switch(e.operator){case"||":return"??"===t.operator||"&&"===t.operator;case"&&":return"??"===t.operator;case"??":return"??"!==t.operator}}function Identifier$1$1(e,t,r){var n,i=t.type;if((null===(n=e.extra)||void 0===n?void 0:n.parenthesized)&&"AssignmentExpression"===i&&t.left===e){var a=t.right.type;if(("FunctionExpression"===a||"ClassExpression"===a)&&null==t.right.id)return!0}return"let"===e.name?isFirstInContext(r,isMemberExpression$2$1(t,{object:e,computed:!0})||isOptionalMemberExpression2(t,{object:e,computed:!0,optional:!1})?57:32):"async"===e.name&&isForOfStatement2(t)&&e===t.left}function isFirstInContext(e,t){var r=1&t,n=2&t,i=4&t,a=8&t,s=16&t,o=32&t,l=e.length-1;if(!(l<=0)){for(var u=e[l],c=e[--l];l>=0;){var p=c.type;if(r&&"ExpressionStatement"===p&&c.expression===u||i&&"ExportDefaultDeclaration"===p&&u===c.declaration||n&&"ArrowFunctionExpression"===p&&c.body===u||a&&"ForStatement"===p&&c.init===u||s&&"ForInStatement"===p&&c.left===u||o&&"ForOfStatement"===p&&c.left===u)return!0;if(!(l>0&&(hasPostfixPart(u,c)&&"NewExpression"!==p||"SequenceExpression"===p&&c.expressions[0]===u||"UpdateExpression"===p&&!c.prefix||"ConditionalExpression"===p&&c.test===u||("BinaryExpression"===p||"LogicalExpression"===p)&&c.left===u||"AssignmentExpression"===p&&c.left===u)))return!1;u=c,c=e[--l]}return!1}}var parens$2=Object.freeze({__proto__:null,ArrowFunctionExpression:ArrowFunctionExpression$1,AssignmentExpression:AssignmentExpression$1,AwaitExpression:YieldExpression$1,Binary:Binary,BinaryExpression:BinaryExpression$2,ClassExpression:ClassExpression$1,ConditionalExpression:ConditionalExpression$1$1,DoExpression:DoExpression$1,FunctionExpression:FunctionExpression$1,FunctionTypeAnnotation:FunctionTypeAnnotation$1,Identifier:Identifier$1$1,IntersectionTypeAnnotation:UnionTypeAnnotation$1,LogicalExpression:LogicalExpression$4,NullableTypeAnnotation:NullableTypeAnnotation$1,ObjectExpression:ObjectExpression$1$1,OptionalCallExpression:OptionalMemberExpression$1,OptionalIndexedAccessType:OptionalIndexedAccessType$1,OptionalMemberExpression:OptionalMemberExpression$1,SequenceExpression:SequenceExpression$1$1,TSAsExpression:TSAsExpression$1,TSInferType:TSInferType$1,TSInstantiationExpression:TSInstantiationExpression$1,TSIntersectionType:TSUnionType$1,TSSatisfiesExpression:TSAsExpression$1,TSTypeAssertion:TSAsExpression$1,TSUnionType:TSUnionType$1,UnaryLike:UnaryLike,UnionTypeAnnotation:UnionTypeAnnotation$1,UpdateExpression:UpdateExpression$1,YieldExpression:YieldExpression$1}),FLIPPED_ALIAS_KEYS2=lib_exports.FLIPPED_ALIAS_KEYS,isCallExpression$1$1=lib_exports.isCallExpression,isExpressionStatement3=lib_exports.isExpressionStatement,isMemberExpression$1$1=lib_exports.isMemberExpression,isNewExpression$1=lib_exports.isNewExpression;function expandAliases(e){var t=new Map;function r(e,r){var n=t.get(e);t.set(e,n?function(e,t,i){var a;return null!==(a=n(e,t,i))&&void 0!==a?a:r(e,t,i)}:r)}var n=!0,i=!1,a=void 0;try{for(var s,o=Object.keys(e)[Symbol.iterator]();!(n=(s=o.next()).done);n=!0){var l=s.value,u=FLIPPED_ALIAS_KEYS2[l];if(u){var c=!0,p=!1,d=void 0;try{for(var f,h=u[Symbol.iterator]();!(c=(f=h.next()).done);c=!0){r(f.value,e[l])}}catch(e){p=!0,d=e}finally{try{c||null==h.return||h.return()}finally{if(p)throw d}}}else r(l,e[l])}}catch(e){i=!0,a=e}finally{try{n||null==o.return||o.return()}finally{if(i)throw a}}return t}var expandedParens=expandAliases(parens$2),expandedWhitespaceNodes=expandAliases(nodes);function isOrHasCallExpression(e){return!!isCallExpression$1$1(e)||isMemberExpression$1$1(e)&&isOrHasCallExpression(e.object)}function needsWhitespace(e,t,r){var n;if(!e)return!1;isExpressionStatement3(e)&&(e=e.expression);var i=null===(n=expandedWhitespaceNodes.get(e.type))||void 0===n?void 0:n(e,t);return"number"==typeof i&&0!=(i&r)}function needsWhitespaceBefore(e,t){return needsWhitespace(e,t,1)}function needsWhitespaceAfter(e,t){return needsWhitespace(e,t,2)}function needsParens$1(e,t,r){var n;return!!t&&(!(!isNewExpression$1(t)||t.callee!==e||!isOrHasCallExpression(e))||(null===(n=expandedParens.get(e.type))||void 0===n?void 0:n(e,t,r)))}var n=Object.freeze({__proto__:null,needsParens:needsParens$1,needsWhitespace:needsWhitespace,needsWhitespaceAfter:needsWhitespaceAfter,needsWhitespaceBefore:needsWhitespaceBefore});function TaggedTemplateExpression$1(e){this.print(e.tag,e),this.print(e.typeParameters,e),this.print(e.quasi,e)}function TemplateElement$1(e,t){var r=t.quasis[0]===e,n=t.quasis[t.quasis.length-1]===e,i=(r?"`":"}")+e.value.raw+(n?"`":"${");this.token(i,!0)}function TemplateLiteral$1(e){for(var t=e.quasis,r=0;r<t.length;r++)this.print(t[r],e),r+1<t.length&&this.print(e.expressions[r],e)}var isCallExpression3=lib_exports.isCallExpression,isLiteral2=lib_exports.isLiteral,isMemberExpression2=lib_exports.isMemberExpression,isNewExpression3=lib_exports.isNewExpression;function UnaryExpression$2(e){var t=e.operator;"void"===t||"delete"===t||"typeof"===t||"throw"===t?(this.word(t),this.space()):this.token(t),this.print(e.argument,e)}function DoExpression(e){e.async&&(this.word("async",!0),this.space()),this.word("do"),this.space(),this.print(e.body,e)}function ParenthesizedExpression(e){this.tokenChar(40),this.print(e.expression,e),this.rightParens(e)}function UpdateExpression(e){e.prefix?(this.token(e.operator),this.print(e.argument,e)):(this.printTerminatorless(e.argument,e,!0),this.token(e.operator))}function ConditionalExpression$2(e){this.print(e.test,e),this.space(),this.tokenChar(63),this.space(),this.print(e.consequent,e),this.space(),this.tokenChar(58),this.space(),this.print(e.alternate,e)}function NewExpression$1(e,t){this.word("new"),this.space(),this.print(e.callee,e),(!this.format.minified||0!==e.arguments.length||e.optional||isCallExpression3(t,{callee:e})||isMemberExpression2(t)||isNewExpression3(t))&&(this.print(e.typeArguments,e),this.print(e.typeParameters,e),e.optional&&this.token("?."),this.tokenChar(40),this.printList(e.arguments,e),this.rightParens(e))}function SequenceExpression$2(e){this.printList(e.expressions,e)}function ThisExpression(){this.word("this")}function Super(){this.word("super")}function isDecoratorMemberExpression(e){switch(e.type){case"Identifier":return!0;case"MemberExpression":return!e.computed&&"Identifier"===e.property.type&&isDecoratorMemberExpression(e.object);default:return!1}}function shouldParenthesizeDecoratorExpression(e){return"ParenthesizedExpression"!==e.type&&!isDecoratorMemberExpression("CallExpression"===e.type?e.callee:e)}function _shouldPrintDecoratorsBeforeExport(e){return"boolean"==typeof this.format.decoratorsBeforeExport?this.format.decoratorsBeforeExport:"number"==typeof e.start&&e.start===e.declaration.start}function Decorator(e){this.tokenChar(64);var t=e.expression;shouldParenthesizeDecoratorExpression(t)?(this.tokenChar(40),this.print(t,e),this.tokenChar(41)):this.print(t,e),this.newline()}function OptionalMemberExpression(e){var t=e.computed,r=e.optional,n=e.property;if(this.print(e.object,e),!t&&isMemberExpression2(n))throw new TypeError("Got a MemberExpression for MemberExpression property");isLiteral2(n)&&"number"==typeof n.value&&(t=!0),r&&this.token("?."),t?(this.tokenChar(91),this.print(n,e),this.tokenChar(93)):(r||this.tokenChar(46),this.print(n,e))}function OptionalCallExpression$1(e){this.print(e.callee,e),this.print(e.typeParameters,e),e.optional&&this.token("?."),this.print(e.typeArguments,e),this.tokenChar(40),this.printList(e.arguments,e),this.rightParens(e)}function CallExpression$2(e){this.print(e.callee,e),this.print(e.typeArguments,e),this.print(e.typeParameters,e),this.tokenChar(40),this.printList(e.arguments,e),this.rightParens(e)}function Import(){this.word("import")}function AwaitExpression$2(e){this.word("await"),e.argument&&(this.space(),this.printTerminatorless(e.argument,e,!1))}function YieldExpression(e){this.word("yield",!0),e.delegate?(this.tokenChar(42),e.argument&&(this.space(),this.print(e.argument,e))):e.argument&&(this.space(),this.printTerminatorless(e.argument,e,!1))}function EmptyStatement(){this.semicolon(!0)}function ExpressionStatement$5(e){this.print(e.expression,e),this.semicolon()}function AssignmentPattern$1(e){this.print(e.left,e),e.left.optional&&this.tokenChar(63),this.print(e.left.typeAnnotation,e),this.space(),this.tokenChar(61),this.space(),this.print(e.right,e)}function AssignmentExpression$2(e,t){var r=this.inForStatementInitCounter&&"in"===e.operator&&!needsParens$1(e,t);r&&this.tokenChar(40),this.print(e.left,e),this.space(),"in"===e.operator||"instanceof"===e.operator?this.word(e.operator):this.token(e.operator),this.space(),this.print(e.right,e),r&&this.tokenChar(41)}function BindExpression(e){this.print(e.object,e),this.token("::"),this.print(e.callee,e)}function MemberExpression(e){if(this.print(e.object,e),!e.computed&&isMemberExpression2(e.property))throw new TypeError("Got a MemberExpression for MemberExpression property");var t=e.computed;isLiteral2(e.property)&&"number"==typeof e.property.value&&(t=!0),t?(this.tokenChar(91),this.print(e.property,e),this.tokenChar(93)):(this.tokenChar(46),this.print(e.property,e))}function MetaProperty(e){this.print(e.meta,e),this.tokenChar(46),this.print(e.property,e)}function PrivateName$2(e){this.tokenChar(35),this.print(e.id,e)}function V8IntrinsicIdentifier(e){this.tokenChar(37),this.word(e.name)}function ModuleExpression(e){this.word("module",!0),this.space(),this.tokenChar(123),this.indent();var t=e.body;(t.body.length||t.directives.length)&&this.newline(),this.print(t,e),this.dedent(),this.rightBrace(e)}var isFor2=lib_exports.isFor,isForStatement2=lib_exports.isForStatement,isIfStatement2=lib_exports.isIfStatement,isStatement$3$1=lib_exports.isStatement;function WithStatement(e){this.word("with"),this.space(),this.tokenChar(40),this.print(e.object,e),this.tokenChar(41),this.printBlock(e)}function IfStatement$1(e){this.word("if"),this.space(),this.tokenChar(40),this.print(e.test,e),this.tokenChar(41),this.space();var t=e.alternate&&isIfStatement2(getLastStatement(e.consequent));t&&(this.tokenChar(123),this.newline(),this.indent()),this.printAndIndentOnComments(e.consequent,e),t&&(this.dedent(),this.newline(),this.tokenChar(125)),e.alternate&&(this.endsWith(125)&&this.space(),this.word("else"),this.space(),this.printAndIndentOnComments(e.alternate,e))}function getLastStatement(e){var t=e.body;return!1===isStatement$3$1(t)?e:getLastStatement(t)}function ForStatement$1(e){this.word("for"),this.space(),this.tokenChar(40),this.inForStatementInitCounter++,this.print(e.init,e),this.inForStatementInitCounter--,this.tokenChar(59),e.test&&(this.space(),this.print(e.test,e)),this.tokenChar(59),e.update&&(this.space(),this.print(e.update,e)),this.tokenChar(41),this.printBlock(e)}function WhileStatement$1(e){this.word("while"),this.space(),this.tokenChar(40),this.print(e.test,e),this.tokenChar(41),this.printBlock(e)}function ForXStatement(e){this.word("for"),this.space();var t="ForOfStatement"===e.type;t&&e.await&&(this.word("await"),this.space()),this.noIndentInnerCommentsHere(),this.tokenChar(40),this.print(e.left,e),this.space(),this.word(t?"of":"in"),this.space(),this.print(e.right,e),this.tokenChar(41),this.printBlock(e)}var ForInStatement$1=ForXStatement,ForOfStatement$1=ForXStatement;function DoWhileStatement$1(e){this.word("do"),this.space(),this.print(e.body,e),this.space(),this.word("while"),this.space(),this.tokenChar(40),this.print(e.test,e),this.tokenChar(41),this.semicolon()}function printStatementAfterKeyword(e,t,r,n){t&&(e.space(),e.printTerminatorless(t,r,n)),e.semicolon()}function BreakStatement$1(e){this.word("break"),printStatementAfterKeyword(this,e.label,e,!0)}function ContinueStatement$1(e){this.word("continue"),printStatementAfterKeyword(this,e.label,e,!0)}function ReturnStatement$3(e){this.word("return"),printStatementAfterKeyword(this,e.argument,e,!1)}function ThrowStatement$1(e){this.word("throw"),printStatementAfterKeyword(this,e.argument,e,!1)}function LabeledStatement(e){this.print(e.label,e),this.tokenChar(58),this.space(),this.print(e.body,e)}function TryStatement(e){this.word("try"),this.space(),this.print(e.block,e),this.space(),e.handlers?this.print(e.handlers[0],e):this.print(e.handler,e),e.finalizer&&(this.space(),this.word("finally"),this.space(),this.print(e.finalizer,e))}function CatchClause(e){this.word("catch"),this.space(),e.param&&(this.tokenChar(40),this.print(e.param,e),this.print(e.param.typeAnnotation,e),this.tokenChar(41),this.space()),this.print(e.body,e)}function SwitchStatement$1(e){this.word("switch"),this.space(),this.tokenChar(40),this.print(e.discriminant,e),this.tokenChar(41),this.space(),this.tokenChar(123),this.printSequence(e.cases,e,{indent:!0,addNewlines:function(t,r){if(!t&&e.cases[e.cases.length-1]===r)return-1}}),this.rightBrace(e)}function SwitchCase(e){e.test?(this.word("case"),this.space(),this.print(e.test,e),this.tokenChar(58)):(this.word("default"),this.tokenChar(58)),e.consequent.length&&(this.newline(),this.printSequence(e.consequent,e,{indent:!0}))}function DebuggerStatement$1(){this.word("debugger"),this.semicolon()}function VariableDeclaration$1(e,t){e.declare&&(this.word("declare"),this.space());var r=e.kind;this.word(r,"using"===r||"await using"===r),this.space();var n=!1;if(!isFor2(t)){var i=!0,a=!1,s=void 0;try{for(var o,l=e.declarations[Symbol.iterator]();!(i=(o=l.next()).done);i=!0){o.value.init&&(n=!0)}}catch(e){a=!0,s=e}finally{try{i||null==l.return||l.return()}finally{if(a)throw s}}}if(this.printList(e.declarations,e,{separator:n?function(){this.tokenChar(44),this.newline()}:void 0,indent:e.declarations.length>1}),isFor2(t))if(isForStatement2(t)){if(t.init===e)return}else if(t.left===e)return;this.semicolon()}function VariableDeclarator(e){this.print(e.id,e),e.definite&&this.tokenChar(33),this.print(e.id.typeAnnotation,e),e.init&&(this.space(),this.tokenChar(61),this.space(),this.print(e.init,e))}var isExportDefaultDeclaration2=lib_exports.isExportDefaultDeclaration,isExportNamedDeclaration2=lib_exports.isExportNamedDeclaration;function ClassDeclaration$1(e,t){(isExportDefaultDeclaration2(t)||isExportNamedDeclaration2(t))&&this._shouldPrintDecoratorsBeforeExport(t)||this.printJoin(e.decorators,e),e.declare&&(this.word("declare"),this.space()),e.abstract&&(this.word("abstract"),this.space()),this.word("class"),e.id&&(this.space(),this.print(e.id,e)),this.print(e.typeParameters,e),e.superClass&&(this.space(),this.word("extends"),this.space(),this.print(e.superClass,e),this.print(e.superTypeParameters,e)),e.implements&&(this.space(),this.word("implements"),this.space(),this.printList(e.implements,e)),this.space(),this.print(e.body,e)}function ClassBody(e){this.tokenChar(123),0===e.body.length?this.tokenChar(125):(this.newline(),this.printSequence(e.body,e,{indent:!0}),this.endsWith(10)||this.newline(),this.rightBrace(e))}function ClassProperty$1(e){var t,r;this.printJoin(e.decorators,e);var n=null===(r=e.key.loc)||void 0===r||null===(t=r.end)||void 0===t?void 0:t.line;n&&this.catchUp(n),this.tsPrintClassMemberModifiers(e),e.computed?(this.tokenChar(91),this.print(e.key,e),this.tokenChar(93)):(this._variance(e),this.print(e.key,e)),e.optional&&this.tokenChar(63),e.definite&&this.tokenChar(33),this.print(e.typeAnnotation,e),e.value&&(this.space(),this.tokenChar(61),this.space(),this.print(e.value,e)),this.semicolon()}function ClassAccessorProperty$1(e){var t,r;this.printJoin(e.decorators,e);var n=null===(r=e.key.loc)||void 0===r||null===(t=r.end)||void 0===t?void 0:t.line;n&&this.catchUp(n),this.tsPrintClassMemberModifiers(e),this.word("accessor",!0),this.space(),e.computed?(this.tokenChar(91),this.print(e.key,e),this.tokenChar(93)):(this._variance(e),this.print(e.key,e)),e.optional&&this.tokenChar(63),e.definite&&this.tokenChar(33),this.print(e.typeAnnotation,e),e.value&&(this.space(),this.tokenChar(61),this.space(),this.print(e.value,e)),this.semicolon()}function ClassPrivateProperty$1(e){this.printJoin(e.decorators,e),e.static&&(this.word("static"),this.space()),this.print(e.key,e),this.print(e.typeAnnotation,e),e.value&&(this.space(),this.tokenChar(61),this.space(),this.print(e.value,e)),this.semicolon()}function ClassMethod$2(e){this._classMethodHead(e),this.space(),this.print(e.body,e)}function ClassPrivateMethod$1(e){this._classMethodHead(e),this.space(),this.print(e.body,e)}function _classMethodHead(e){var t,r;this.printJoin(e.decorators,e);var n=null===(r=e.key.loc)||void 0===r||null===(t=r.end)||void 0===t?void 0:t.line;n&&this.catchUp(n),this.tsPrintClassMemberModifiers(e),this._methodHead(e)}function StaticBlock$1(e){this.word("static"),this.space(),this.tokenChar(123),0===e.body.length?this.tokenChar(125):(this.newline(),this.printSequence(e.body,e,{indent:!0}),this.rightBrace(e))}var isIdentifier$1$1=lib_exports.isIdentifier;function _params(e,t,r){this.print(e.typeParameters,e);var n=_getFuncIdName.call(this,t,r);n&&this.sourceIdentifierName(n.name,n.pos),this.tokenChar(40),this._parameters(e.params,e),this.tokenChar(41);var i="ArrowFunctionExpression"===e.type;this.print(e.returnType,e,i),this._noLineTerminator=i}function _parameters(e,t){for(var r=e.length,n=0;n<r;n++)this._param(e[n],t),n<e.length-1&&(this.tokenChar(44),this.space())}function _param(e,t){this.printJoin(e.decorators,e),this.print(e,t),e.optional&&this.tokenChar(63),this.print(e.typeAnnotation,e)}function _methodHead(e){var t=e.kind,r=e.key;"get"!==t&&"set"!==t||(this.word(t),this.space()),e.async&&(this.word("async",!0),this.space()),"method"!==t&&"init"!==t||e.generator&&this.tokenChar(42),e.computed?(this.tokenChar(91),this.print(r,e),this.tokenChar(93)):this.print(r,e),e.optional&&this.tokenChar(63),this._params(e,e.computed&&"StringLiteral"!==e.key.type?void 0:e.key,void 0)}function _predicate(e,t){e.predicate&&(e.returnType||this.tokenChar(58),this.space(),this.print(e.predicate,e,t))}function _functionHead(e,t){e.async&&(this.word("async"),this._endsWithInnerRaw=!1,this.space()),this.word("function"),e.generator&&(this._endsWithInnerRaw=!1,this.tokenChar(42)),this.space(),e.id&&this.print(e.id,e),this._params(e,e.id,t),"TSDeclareFunction"!==e.type&&this._predicate(e)}function FunctionExpression$2(e,t){this._functionHead(e,t),this.space(),this.print(e.body,e)}function ArrowFunctionExpression$2(e,t){var r;e.async&&(this.word("async",!0),this.space()),this.format.retainLines||1!==e.params.length||!isIdentifier$1$1(r=e.params[0])||hasTypesOrComments(e,r)?this._params(e,void 0,t):this.print(r,e,!0),this._predicate(e,!0),this.space(),this.printInnerComments(),this.token("=>"),this.space(),this.print(e.body,e)}function hasTypesOrComments(e,t){var r,n;return!!(e.typeParameters||e.returnType||e.predicate||t.typeAnnotation||t.optional||(null===(r=t.leadingComments)||void 0===r?void 0:r.length)||(null===(n=t.trailingComments)||void 0===n?void 0:n.length))}function _getFuncIdName(e,t){var r=e;if(!r&&t){var n=t.type;"VariableDeclarator"===n?r=t.id:"AssignmentExpression"===n||"AssignmentPattern"===n?r=t.left:"ObjectProperty"===n||"ClassProperty"===n?t.computed&&"StringLiteral"!==t.key.type||(r=t.key):"ClassPrivateProperty"!==n&&"ClassAccessorProperty"!==n||(r=t.key)}if(r){var i,a,s;if("Identifier"===r.type)i={pos:null===(a=r.loc)||void 0===a?void 0:a.start,name:(null===(s=r.loc)||void 0===s?void 0:s.identifierName)||r.name};else if("PrivateName"===r.type){var o;i={pos:null===(o=r.loc)||void 0===o?void 0:o.start,name:"#"+r.id.name}}else if("StringLiteral"===r.type){var l;i={pos:null===(l=r.loc)||void 0===l?void 0:l.start,name:r.value}}return i}}var isClassDeclaration2=lib_exports.isClassDeclaration,isExportDefaultSpecifier2=lib_exports.isExportDefaultSpecifier,isExportNamespaceSpecifier2=lib_exports.isExportNamespaceSpecifier,isImportDefaultSpecifier2=lib_exports.isImportDefaultSpecifier,isImportNamespaceSpecifier2=lib_exports.isImportNamespaceSpecifier,isStatement$2$1=lib_exports.isStatement;function ImportSpecifier(e){"type"!==e.importKind&&"typeof"!==e.importKind||(this.word(e.importKind),this.space()),this.print(e.imported,e),e.local&&e.local.name!==e.imported.name&&(this.space(),this.word("as"),this.space(),this.print(e.local,e))}function ImportDefaultSpecifier(e){this.print(e.local,e)}function ExportDefaultSpecifier(e){this.print(e.exported,e)}function ExportSpecifier$1(e){"type"===e.exportKind&&(this.word("type"),this.space()),this.print(e.local,e),e.exported&&e.local.name!==e.exported.name&&(this.space(),this.word("as"),this.space(),this.print(e.exported,e))}function ExportNamespaceSpecifier$1(e){this.tokenChar(42),this.space(),this.word("as"),this.space(),this.print(e.exported,e)}var warningShown=!1;function _printAttributes(e){var t=this.format.importAttributesKeyword,r=e.attributes,n=e.assertions;!r||t||warningShown||(warningShown=!0,console.warn('You are using import attributes, without specifying the desired output syntax.\nPlease specify the "importAttributesKeyword" generator option, whose value can be one of:\n - "with" : `import { a } from "b" with { type: "json" };`\n - "assert" : `import { a } from "b" assert { type: "json" };`\n - "with-legacy" : `import { a } from "b" with type: "json";`\n'));var i="assert"===t||!t&&n;this.word(i?"assert":"with"),this.space(),i||"with"===t?(this.tokenChar(123),this.space(),this.printList(r||n,e),this.space(),this.tokenChar(125)):this.printList(r||n,e)}function ExportAllDeclaration$1(e){var t,r;this.word("export"),this.space(),"type"===e.exportKind&&(this.word("type"),this.space()),this.tokenChar(42),this.space(),this.word("from"),this.space(),(null===(t=e.attributes)||void 0===t?void 0:t.length)||(null===(r=e.assertions)||void 0===r?void 0:r.length)?(this.print(e.source,e,!0),this.space(),this._printAttributes(e)):this.print(e.source,e),this.semicolon()}function maybePrintDecoratorsBeforeExport(e,t){isClassDeclaration2(t.declaration)&&e._shouldPrintDecoratorsBeforeExport(t)&&e.printJoin(t.declaration.decorators,t)}function ExportNamedDeclaration(e){if(maybePrintDecoratorsBeforeExport(this,e),this.word("export"),this.space(),e.declaration){var t=e.declaration;this.print(t,e),isStatement$2$1(t)||this.semicolon()}else{"type"===e.exportKind&&(this.word("type"),this.space());for(var r,n,i=e.specifiers.slice(0),a=!1;;){var s=i[0];if(!isExportDefaultSpecifier2(s)&&!isExportNamespaceSpecifier2(s))break;a=!0,this.print(i.shift(),e),i.length&&(this.tokenChar(44),this.space())}if((i.length||!i.length&&!a)&&(this.tokenChar(123),i.length&&(this.space(),this.printList(i,e),this.space()),this.tokenChar(125)),e.source)this.space(),this.word("from"),this.space(),(null===(r=e.attributes)||void 0===r?void 0:r.length)||(null===(n=e.assertions)||void 0===n?void 0:n.length)?(this.print(e.source,e,!0),this.space(),this._printAttributes(e)):this.print(e.source,e);this.semicolon()}}function ExportDefaultDeclaration$1(e){maybePrintDecoratorsBeforeExport(this,e),this.word("export"),this.noIndentInnerCommentsHere(),this.space(),this.word("default"),this.space();var t=e.declaration;this.print(t,e),isStatement$2$1(t)||this.semicolon()}function ImportDeclaration(e){var t,r;this.word("import"),this.space();var n="type"===e.importKind||"typeof"===e.importKind;n?(this.noIndentInnerCommentsHere(),this.word(e.importKind),this.space()):e.module?(this.noIndentInnerCommentsHere(),this.word("module"),this.space()):e.phase&&(this.noIndentInnerCommentsHere(),this.word(e.phase),this.space());for(var i=e.specifiers.slice(0),a=!!i.length;a;){var s=i[0];if(!isImportDefaultSpecifier2(s)&&!isImportNamespaceSpecifier2(s))break;this.print(i.shift(),e),i.length&&(this.tokenChar(44),this.space())}i.length?(this.tokenChar(123),this.space(),this.printList(i,e),this.space(),this.tokenChar(125)):n&&!a&&(this.tokenChar(123),this.tokenChar(125)),(a||n)&&(this.space(),this.word("from"),this.space()),(null===(t=e.attributes)||void 0===t?void 0:t.length)||(null===(r=e.assertions)||void 0===r?void 0:r.length)?(this.print(e.source,e,!0),this.space(),this._printAttributes(e)):this.print(e.source,e),this.semicolon()}function ImportAttribute$1(e){this.print(e.key),this.tokenChar(58),this.space(),this.print(e.value)}function ImportNamespaceSpecifier(e){this.tokenChar(42),this.space(),this.word("as"),this.space(),this.print(e.local,e)}function ImportExpression$1(e){this.word("import"),e.phase&&(this.tokenChar(46),this.word(e.phase)),this.tokenChar(40),this.print(e.source,e),null!=e.options&&(this.tokenChar(44),this.space(),this.print(e.options,e)),this.tokenChar(41)}var isAssignmentPattern2=lib_exports.isAssignmentPattern,isIdentifier3=lib_exports.isIdentifier;function Identifier$4(e){var t;this.sourceIdentifierName((null===(t=e.loc)||void 0===t?void 0:t.identifierName)||e.name),this.word(e.name)}function ArgumentPlaceholder(){this.tokenChar(63)}function RestElement$1(e){this.token("..."),this.print(e.argument,e)}function ObjectExpression$5(e){var t=e.properties;this.tokenChar(123),t.length&&(this.space(),this.printList(t,e,{indent:!0,statement:!0}),this.space()),this.sourceWithOffset("end",e.loc,-1),this.tokenChar(125)}function ObjectMethod$2(e){this.printJoin(e.decorators,e),this._methodHead(e),this.space(),this.print(e.body,e)}function ObjectProperty$4(e){if(this.printJoin(e.decorators,e),e.computed)this.tokenChar(91),this.print(e.key,e),this.tokenChar(93);else{if(isAssignmentPattern2(e.value)&&isIdentifier3(e.key)&&e.key.name===e.value.left.name)return void this.print(e.value,e);if(this.print(e.key,e),e.shorthand&&isIdentifier3(e.key)&&isIdentifier3(e.value)&&e.key.name===e.value.name)return}this.tokenChar(58),this.space(),this.print(e.value,e)}function ArrayExpression$5(e){var t=e.elements,r=t.length;this.tokenChar(91);for(var n=0;n<t.length;n++){var i=t[n];i?(n>0&&this.space(),this.print(i,e),n<r-1&&this.tokenChar(44)):this.tokenChar(44)}this.tokenChar(93)}function RecordExpression$1(e){var t,r,n=e.properties;if("bar"===this.format.recordAndTupleSyntaxType)t="{|",r="|}";else{if("hash"!==this.format.recordAndTupleSyntaxType&&null!=this.format.recordAndTupleSyntaxType)throw new Error('The "recordAndTupleSyntaxType" generator option must be "bar" or "hash" ('.concat(JSON.stringify(this.format.recordAndTupleSyntaxType)," received)."));t="#{",r="}"}this.token(t),n.length&&(this.space(),this.printList(n,e,{indent:!0,statement:!0}),this.space()),this.token(r)}function TupleExpression$1(e){var t,r,n=e.elements,i=n.length;if("bar"===this.format.recordAndTupleSyntaxType)t="[|",r="|]";else{if("hash"!==this.format.recordAndTupleSyntaxType)throw new Error("".concat(this.format.recordAndTupleSyntaxType," is not a valid recordAndTuple syntax type"));t="#[",r="]"}this.token(t);for(var a=0;a<n.length;a++){var s=n[a];s&&(a>0&&this.space(),this.print(s,e),a<i-1&&this.tokenChar(44))}this.token(r)}function RegExpLiteral$1(e){this.word("/".concat(e.pattern,"/").concat(e.flags))}function BooleanLiteral$1(e){this.word(e.value?"true":"false")}function NullLiteral(){this.word("null")}function NumericLiteral(e){var t=this.getPossibleRaw(e),r=this.format.jsescOption,n=e.value,i=n+"";r.numbers?this.number((0,import_jsesc.default)(n,r),n):null==t?this.number(i,n):this.format.minified?this.number(t.length<i.length?t:i,n):this.number(t,n)}function StringLiteral$7(e){var t=this.getPossibleRaw(e);if(this.format.minified||void 0===t){var r=(0,import_jsesc.default)(e.value,this.format.jsescOption);this.token(r)}else this.token(t)}function BigIntLiteral(e){var t=this.getPossibleRaw(e);this.format.minified||void 0===t?this.word(e.value+"n"):this.word(t)}function DecimalLiteral(e){var t=this.getPossibleRaw(e);this.format.minified||void 0===t?this.word(e.value+"m"):this.word(t)}var validTopicTokenSet=new Set(["^^","@@","^","%","#"]);function TopicReference(){var e=this.format.topicToken;if(!validTopicTokenSet.has(e)){var t=JSON.stringify(e),r=Array.from(validTopicTokenSet,(function(e){return JSON.stringify(e)}));throw new Error('The "topicToken" generator option must be one of '.concat(r.join(", ")," (").concat(t," received instead)."))}this.token(e)}function PipelineTopicExpression(e){this.print(e.expression,e)}function PipelineBareFunction(e){this.print(e.callee,e)}function PipelinePrimaryTopicReference(){this.tokenChar(35)}var isDeclareExportDeclaration2=lib_exports.isDeclareExportDeclaration,isStatement$12=lib_exports.isStatement;function AnyTypeAnnotation(){this.word("any")}function ArrayTypeAnnotation(e){this.print(e.elementType,e,!0),this.tokenChar(91),this.tokenChar(93)}function BooleanTypeAnnotation(){this.word("boolean")}function BooleanLiteralTypeAnnotation(e){this.word(e.value?"true":"false")}function NullLiteralTypeAnnotation(){this.word("null")}function DeclareClass(e,t){isDeclareExportDeclaration2(t)||(this.word("declare"),this.space()),this.word("class"),this.space(),this._interfaceish(e)}function DeclareFunction(e,t){isDeclareExportDeclaration2(t)||(this.word("declare"),this.space()),this.word("function"),this.space(),this.print(e.id,e),this.print(e.id.typeAnnotation.typeAnnotation,e),e.predicate&&(this.space(),this.print(e.predicate,e)),this.semicolon()}function InferredPredicate(){this.tokenChar(37),this.word("checks")}function DeclaredPredicate(e){this.tokenChar(37),this.word("checks"),this.tokenChar(40),this.print(e.value,e),this.tokenChar(41)}function DeclareInterface(e){this.word("declare"),this.space(),this.InterfaceDeclaration(e)}function DeclareModule(e){this.word("declare"),this.space(),this.word("module"),this.space(),this.print(e.id,e),this.space(),this.print(e.body,e)}function DeclareModuleExports(e){this.word("declare"),this.space(),this.word("module"),this.tokenChar(46),this.word("exports"),this.print(e.typeAnnotation,e)}function DeclareTypeAlias(e){this.word("declare"),this.space(),this.TypeAlias(e)}function DeclareOpaqueType(e,t){isDeclareExportDeclaration2(t)||(this.word("declare"),this.space()),this.OpaqueType(e)}function DeclareVariable(e,t){isDeclareExportDeclaration2(t)||(this.word("declare"),this.space()),this.word("var"),this.space(),this.print(e.id,e),this.print(e.id.typeAnnotation,e),this.semicolon()}function DeclareExportDeclaration(e){this.word("declare"),this.space(),this.word("export"),this.space(),e.default&&(this.word("default"),this.space()),FlowExportDeclaration.call(this,e)}function DeclareExportAllDeclaration(e){this.word("declare"),this.space(),ExportAllDeclaration$1.call(this,e)}function EnumDeclaration(e){var t=e.id,r=e.body;this.word("enum"),this.space(),this.print(t,e),this.print(r,e)}function enumExplicitType(e,t,r){r&&(e.space(),e.word("of"),e.space(),e.word(t)),e.space()}function enumBody(e,t){var r=t.members;e.token("{"),e.indent(),e.newline();var n=!0,i=!1,a=void 0;try{for(var s,o=r[Symbol.iterator]();!(n=(s=o.next()).done);n=!0){var l=s.value;e.print(l,t),e.newline()}}catch(e){i=!0,a=e}finally{try{n||null==o.return||o.return()}finally{if(i)throw a}}t.hasUnknownMembers&&(e.token("..."),e.newline()),e.dedent(),e.token("}")}function EnumBooleanBody(e){enumExplicitType(this,"boolean",e.explicitType),enumBody(this,e)}function EnumNumberBody(e){enumExplicitType(this,"number",e.explicitType),enumBody(this,e)}function EnumStringBody(e){enumExplicitType(this,"string",e.explicitType),enumBody(this,e)}function EnumSymbolBody(e){enumExplicitType(this,"symbol",!0),enumBody(this,e)}function EnumDefaultedMember(e){var t=e.id;this.print(t,e),this.tokenChar(44)}function enumInitializedMember(e,t){var r=t.id,n=t.init;e.print(r,t),e.space(),e.token("="),e.space(),e.print(n,t),e.token(",")}function EnumBooleanMember(e){enumInitializedMember(this,e)}function EnumNumberMember(e){enumInitializedMember(this,e)}function EnumStringMember(e){enumInitializedMember(this,e)}function FlowExportDeclaration(e){if(e.declaration){var t=e.declaration;this.print(t,e),isStatement$12(t)||this.semicolon()}else this.tokenChar(123),e.specifiers.length&&(this.space(),this.printList(e.specifiers,e),this.space()),this.tokenChar(125),e.source&&(this.space(),this.word("from"),this.space(),this.print(e.source,e)),this.semicolon()}function ExistsTypeAnnotation(){this.tokenChar(42)}function FunctionTypeAnnotation(e,t){this.print(e.typeParameters,e),this.tokenChar(40),e.this&&(this.word("this"),this.tokenChar(58),this.space(),this.print(e.this.typeAnnotation,e),(e.params.length||e.rest)&&(this.tokenChar(44),this.space())),this.printList(e.params,e),e.rest&&(e.params.length&&(this.tokenChar(44),this.space()),this.token("..."),this.print(e.rest,e)),this.tokenChar(41);var r=null==t?void 0:t.type;null!=r&&("ObjectTypeCallProperty"===r||"ObjectTypeInternalSlot"===r||"DeclareFunction"===r||"ObjectTypeProperty"===r&&t.method)?this.tokenChar(58):(this.space(),this.token("=>")),this.space(),this.print(e.returnType,e)}function FunctionTypeParam(e){this.print(e.name,e),e.optional&&this.tokenChar(63),e.name&&(this.tokenChar(58),this.space()),this.print(e.typeAnnotation,e)}function InterfaceExtends(e){this.print(e.id,e),this.print(e.typeParameters,e,!0)}function _interfaceish(e){var t,r,n;(this.print(e.id,e),this.print(e.typeParameters,e),(null===(t=e.extends)||void 0===t?void 0:t.length)&&(this.space(),this.word("extends"),this.space(),this.printList(e.extends,e)),"DeclareClass"===e.type)&&((null===(r=e.mixins)||void 0===r?void 0:r.length)&&(this.space(),this.word("mixins"),this.space(),this.printList(e.mixins,e)),(null===(n=e.implements)||void 0===n?void 0:n.length)&&(this.space(),this.word("implements"),this.space(),this.printList(e.implements,e)));this.space(),this.print(e.body,e)}function _variance(e){var t,r=null===(t=e.variance)||void 0===t?void 0:t.kind;null!=r&&("plus"===r?this.tokenChar(43):"minus"===r&&this.tokenChar(45))}function InterfaceDeclaration(e){this.word("interface"),this.space(),this._interfaceish(e)}function andSeparator(){this.space(),this.tokenChar(38),this.space()}function InterfaceTypeAnnotation(e){var t;this.word("interface"),(null===(t=e.extends)||void 0===t?void 0:t.length)&&(this.space(),this.word("extends"),this.space(),this.printList(e.extends,e)),this.space(),this.print(e.body,e)}function IntersectionTypeAnnotation(e){this.printJoin(e.types,e,{separator:andSeparator})}function MixedTypeAnnotation(){this.word("mixed")}function EmptyTypeAnnotation(){this.word("empty")}function NullableTypeAnnotation(e){this.tokenChar(63),this.print(e.typeAnnotation,e)}function NumberTypeAnnotation(){this.word("number")}function StringTypeAnnotation(){this.word("string")}function ThisTypeAnnotation(){this.word("this")}function TupleTypeAnnotation(e){this.tokenChar(91),this.printList(e.types,e),this.tokenChar(93)}function TypeofTypeAnnotation(e){this.word("typeof"),this.space(),this.print(e.argument,e)}function TypeAlias(e){this.word("type"),this.space(),this.print(e.id,e),this.print(e.typeParameters,e),this.space(),this.tokenChar(61),this.space(),this.print(e.right,e),this.semicolon()}function TypeAnnotation(e){this.tokenChar(58),this.space(),e.optional&&this.tokenChar(63),this.print(e.typeAnnotation,e)}function TypeParameterInstantiation(e){this.tokenChar(60),this.printList(e.params,e,{}),this.tokenChar(62)}function TypeParameter(e){this._variance(e),this.word(e.name),e.bound&&this.print(e.bound,e),e.default&&(this.space(),this.tokenChar(61),this.space(),this.print(e.default,e))}function OpaqueType(e){this.word("opaque"),this.space(),this.word("type"),this.space(),this.print(e.id,e),this.print(e.typeParameters,e),e.supertype&&(this.tokenChar(58),this.space(),this.print(e.supertype,e)),e.impltype&&(this.space(),this.tokenChar(61),this.space(),this.print(e.impltype,e)),this.semicolon()}function ObjectTypeAnnotation(e){var t=this;e.exact?this.token("{|"):this.tokenChar(123);var r=_to_consumable_array(e.properties).concat(_to_consumable_array(e.callProperties||[]),_to_consumable_array(e.indexers||[]),_to_consumable_array(e.internalSlots||[]));r.length&&(this.newline(),this.space(),this.printJoin(r,e,{addNewlines:function(e){if(e&&!r[0])return 1},indent:!0,statement:!0,iterator:function(){(1!==r.length||e.inexact)&&(t.tokenChar(44),t.space())}}),this.space()),e.inexact&&(this.indent(),this.token("..."),r.length&&this.newline(),this.dedent()),e.exact?this.token("|}"):this.tokenChar(125)}function ObjectTypeInternalSlot(e){e.static&&(this.word("static"),this.space()),this.tokenChar(91),this.tokenChar(91),this.print(e.id,e),this.tokenChar(93),this.tokenChar(93),e.optional&&this.tokenChar(63),e.method||(this.tokenChar(58),this.space()),this.print(e.value,e)}function ObjectTypeCallProperty(e){e.static&&(this.word("static"),this.space()),this.print(e.value,e)}function ObjectTypeIndexer(e){e.static&&(this.word("static"),this.space()),this._variance(e),this.tokenChar(91),e.id&&(this.print(e.id,e),this.tokenChar(58),this.space()),this.print(e.key,e),this.tokenChar(93),this.tokenChar(58),this.space(),this.print(e.value,e)}function ObjectTypeProperty(e){e.proto&&(this.word("proto"),this.space()),e.static&&(this.word("static"),this.space()),"get"!==e.kind&&"set"!==e.kind||(this.word(e.kind),this.space()),this._variance(e),this.print(e.key,e),e.optional&&this.tokenChar(63),e.method||(this.tokenChar(58),this.space()),this.print(e.value,e)}function ObjectTypeSpreadProperty(e){this.token("..."),this.print(e.argument,e)}function QualifiedTypeIdentifier(e){this.print(e.qualification,e),this.tokenChar(46),this.print(e.id,e)}function SymbolTypeAnnotation(){this.word("symbol")}function orSeparator(){this.space(),this.tokenChar(124),this.space()}function UnionTypeAnnotation(e){this.printJoin(e.types,e,{separator:orSeparator})}function TypeCastExpression(e){this.tokenChar(40),this.print(e.expression,e),this.print(e.typeAnnotation,e),this.tokenChar(41)}function Variance(e){"plus"===e.kind?this.tokenChar(43):this.tokenChar(45)}function VoidTypeAnnotation(){this.word("void")}function IndexedAccessType(e){this.print(e.objectType,e,!0),this.tokenChar(91),this.print(e.indexType,e),this.tokenChar(93)}function OptionalIndexedAccessType(e){this.print(e.objectType,e),e.optional&&this.token("?."),this.tokenChar(91),this.print(e.indexType,e),this.tokenChar(93)}function File$1(e){e.program&&this.print(e.program.interpreter,e),this.print(e.program,e)}function Program$2(e){var t;this.noIndentInnerCommentsHere(),this.printInnerComments();var r=null===(t=e.directives)||void 0===t?void 0:t.length;if(r){var n,i=e.body.length?2:1;this.printSequence(e.directives,e,{trailingCommentsLineOffset:i}),(null===(n=e.directives[r-1].trailingComments)||void 0===n?void 0:n.length)||this.newline(i)}this.printSequence(e.body,e)}function BlockStatement$3(e){var t;this.tokenChar(123);var r=null===(t=e.directives)||void 0===t?void 0:t.length;if(r){var n,i=e.body.length?2:1;this.printSequence(e.directives,e,{indent:!0,trailingCommentsLineOffset:i}),(null===(n=e.directives[r-1].trailingComments)||void 0===n?void 0:n.length)||this.newline(i)}this.printSequence(e.body,e,{indent:!0}),this.rightBrace(e)}function Directive$1(e){this.print(e.value,e),this.semicolon()}var unescapedSingleQuoteRE=/(?:^|[^\\])(?:\\\\)*'/,unescapedDoubleQuoteRE=/(?:^|[^\\])(?:\\\\)*"/;function DirectiveLiteral$1(e){var t=this.getPossibleRaw(e);if(this.format.minified||void 0===t){var r=e.value;if(unescapedDoubleQuoteRE.test(r)){if(unescapedSingleQuoteRE.test(r))throw new Error("Malformed AST: it is not possible to print a directive containing both unescaped single and double quotes.");this.token("'".concat(r,"'"))}else this.token('"'.concat(r,'"'))}else this.token(t)}function InterpreterDirective(e){this.token("#!".concat(e.value)),this.newline(1,!0)}function Placeholder(e){this.token("%%"),this.print(e.name),this.token("%%"),"Statement"===e.expectedNode&&this.semicolon()}function JSXAttribute$1(e){this.print(e.name,e),e.value&&(this.tokenChar(61),this.print(e.value,e))}function JSXIdentifier(e){this.word(e.name)}function JSXNamespacedName(e){this.print(e.namespace,e),this.tokenChar(58),this.print(e.name,e)}function JSXMemberExpression(e){this.print(e.object,e),this.tokenChar(46),this.print(e.property,e)}function JSXSpreadAttribute(e){this.tokenChar(123),this.token("..."),this.print(e.argument,e),this.tokenChar(125)}function JSXExpressionContainer(e){this.tokenChar(123),this.print(e.expression,e),this.tokenChar(125)}function JSXSpreadChild(e){this.tokenChar(123),this.token("..."),this.print(e.expression,e),this.tokenChar(125)}function JSXText$1(e){var t=this.getPossibleRaw(e);void 0!==t?this.token(t,!0):this.token(e.value,!0)}function JSXElement$1(e){var t=e.openingElement;if(this.print(t,e),!t.selfClosing){this.indent();var r=!0,n=!1,i=void 0;try{for(var a,s=e.children[Symbol.iterator]();!(r=(a=s.next()).done);r=!0){var o=a.value;this.print(o,e)}}catch(e){n=!0,i=e}finally{try{r||null==s.return||s.return()}finally{if(n)throw i}}this.dedent(),this.print(e.closingElement,e)}}function spaceSeparator(){this.space()}function JSXOpeningElement$1(e){this.tokenChar(60),this.print(e.name,e),this.print(e.typeParameters,e),e.attributes.length>0&&(this.space(),this.printJoin(e.attributes,e,{separator:spaceSeparator})),e.selfClosing?(this.space(),this.token("/>")):this.tokenChar(62)}function JSXClosingElement(e){this.token("</"),this.print(e.name,e),this.tokenChar(62)}function JSXEmptyExpression(){this.printInnerComments()}function JSXFragment(e){this.print(e.openingFragment,e),this.indent();var t=!0,r=!1,n=void 0;try{for(var i,a=e.children[Symbol.iterator]();!(t=(i=a.next()).done);t=!0){var s=i.value;this.print(s,e)}}catch(e){r=!0,n=e}finally{try{t||null==a.return||a.return()}finally{if(r)throw n}}this.dedent(),this.print(e.closingFragment,e)}function JSXOpeningFragment(){this.tokenChar(60),this.tokenChar(62)}function JSXClosingFragment(){this.token("</"),this.tokenChar(62)}function TSTypeAnnotation(e){this.tokenChar(58),this.space(),e.optional&&this.tokenChar(63),this.print(e.typeAnnotation,e)}function TSTypeParameterInstantiation(e,t){this.tokenChar(60),this.printList(e.params,e,{}),"ArrowFunctionExpression"===t.type&&1===e.params.length&&this.tokenChar(44),this.tokenChar(62)}function TSTypeParameter$1(e){e.in&&(this.word("in"),this.space()),e.out&&(this.word("out"),this.space()),this.word(e.name.name),e.constraint&&(this.space(),this.word("extends"),this.space(),this.print(e.constraint,e)),e.default&&(this.space(),this.tokenChar(61),this.space(),this.print(e.default,e))}function TSParameterProperty(e){e.accessibility&&(this.word(e.accessibility),this.space()),e.readonly&&(this.word("readonly"),this.space()),this._param(e.parameter)}function TSDeclareFunction$1(e,t){e.declare&&(this.word("declare"),this.space()),this._functionHead(e,t),this.tokenChar(59)}function TSDeclareMethod$1(e){this._classMethodHead(e),this.tokenChar(59)}function TSQualifiedName(e){this.print(e.left,e),this.tokenChar(46),this.print(e.right,e)}function TSCallSignatureDeclaration$1(e){this.tsPrintSignatureDeclarationBase(e),this.tokenChar(59)}function TSConstructSignatureDeclaration$1(e){this.word("new"),this.space(),this.tsPrintSignatureDeclarationBase(e),this.tokenChar(59)}function TSPropertySignature$1(e){e.readonly&&(this.word("readonly"),this.space()),this.tsPrintPropertyOrMethodName(e),this.print(e.typeAnnotation,e),this.tokenChar(59)}function tsPrintPropertyOrMethodName(e){e.computed&&this.tokenChar(91),this.print(e.key,e),e.computed&&this.tokenChar(93),e.optional&&this.tokenChar(63)}function TSMethodSignature$1(e){var t=e.kind;"set"!==t&&"get"!==t||(this.word(t),this.space()),this.tsPrintPropertyOrMethodName(e),this.tsPrintSignatureDeclarationBase(e),this.tokenChar(59)}function TSIndexSignature(e){var t=e.readonly;e.static&&(this.word("static"),this.space()),t&&(this.word("readonly"),this.space()),this.tokenChar(91),this._parameters(e.parameters,e),this.tokenChar(93),this.print(e.typeAnnotation,e),this.tokenChar(59)}function TSAnyKeyword(){this.word("any")}function TSBigIntKeyword(){this.word("bigint")}function TSUnknownKeyword(){this.word("unknown")}function TSNumberKeyword(){this.word("number")}function TSObjectKeyword(){this.word("object")}function TSBooleanKeyword(){this.word("boolean")}function TSStringKeyword(){this.word("string")}function TSSymbolKeyword(){this.word("symbol")}function TSVoidKeyword(){this.word("void")}function TSUndefinedKeyword(){this.word("undefined")}function TSNullKeyword(){this.word("null")}function TSNeverKeyword(){this.word("never")}function TSIntrinsicKeyword(){this.word("intrinsic")}function TSThisType(){this.word("this")}function TSFunctionType$1(e){this.tsPrintFunctionOrConstructorType(e)}function TSConstructorType$1(e){e.abstract&&(this.word("abstract"),this.space()),this.word("new"),this.space(),this.tsPrintFunctionOrConstructorType(e)}function tsPrintFunctionOrConstructorType(e){var t=e.typeParameters,r=e.params;this.print(t,e),this.tokenChar(40),this._parameters(r,e),this.tokenChar(41),this.space(),this.token("=>"),this.space();var n=e.returnType;this.print(n.typeAnnotation,e)}function TSTypeReference(e){this.print(e.typeName,e,!0),this.print(e.typeParameters,e,!0)}function TSTypePredicate(e){e.asserts&&(this.word("asserts"),this.space()),this.print(e.parameterName),e.typeAnnotation&&(this.space(),this.word("is"),this.space(),this.print(e.typeAnnotation.typeAnnotation))}function TSTypeQuery(e){this.word("typeof"),this.space(),this.print(e.exprName),e.typeParameters&&this.print(e.typeParameters,e)}function TSTypeLiteral$1(e){this.tsPrintTypeLiteralOrInterfaceBody(e.members,e)}function tsPrintTypeLiteralOrInterfaceBody(e,t){tsPrintBraced(this,e,t)}function tsPrintBraced(e,t,r){if(e.token("{"),t.length){e.indent(),e.newline();var n=!0,i=!1,a=void 0;try{for(var s,o=t[Symbol.iterator]();!(n=(s=o.next()).done);n=!0){var l=s.value;e.print(l,r),e.newline()}}catch(e){i=!0,a=e}finally{try{n||null==o.return||o.return()}finally{if(i)throw a}}e.dedent()}e.rightBrace(r)}function TSArrayType(e){this.print(e.elementType,e,!0),this.token("[]")}function TSTupleType$1(e){this.tokenChar(91),this.printList(e.elementTypes,e),this.tokenChar(93)}function TSOptionalType(e){this.print(e.typeAnnotation,e),this.tokenChar(63)}function TSRestType(e){this.token("..."),this.print(e.typeAnnotation,e)}function TSNamedTupleMember$1(e){this.print(e.label,e),e.optional&&this.tokenChar(63),this.tokenChar(58),this.space(),this.print(e.elementType,e)}function TSUnionType(e){tsPrintUnionOrIntersectionType(this,e,"|")}function TSIntersectionType$1(e){tsPrintUnionOrIntersectionType(this,e,"&")}function tsPrintUnionOrIntersectionType(e,t,r){e.printJoin(t.types,t,{separator:function(){this.space(),this.token(r),this.space()}})}function TSConditionalType$1(e){this.print(e.checkType),this.space(),this.word("extends"),this.space(),this.print(e.extendsType),this.space(),this.tokenChar(63),this.space(),this.print(e.trueType),this.space(),this.tokenChar(58),this.space(),this.print(e.falseType)}function TSInferType(e){this.token("infer"),this.space(),this.print(e.typeParameter)}function TSParenthesizedType(e){this.tokenChar(40),this.print(e.typeAnnotation,e),this.tokenChar(41)}function TSTypeOperator(e){this.word(e.operator),this.space(),this.print(e.typeAnnotation,e)}function TSIndexedAccessType(e){this.print(e.objectType,e,!0),this.tokenChar(91),this.print(e.indexType,e),this.tokenChar(93)}function TSMappedType$1(e){var t=e.nameType,r=e.optional,n=e.readonly,i=e.typeParameter;this.tokenChar(123),this.space(),n&&(tokenIfPlusMinus(this,n),this.word("readonly"),this.space()),this.tokenChar(91),this.word(i.name.name),this.space(),this.word("in"),this.space(),this.print(i.constraint,i),t&&(this.space(),this.word("as"),this.space(),this.print(t,e)),this.tokenChar(93),r&&(tokenIfPlusMinus(this,r),this.tokenChar(63)),this.tokenChar(58),this.space(),this.print(e.typeAnnotation,e),this.space(),this.tokenChar(125)}function tokenIfPlusMinus(e,t){!0!==t&&e.token(t)}function TSLiteralType(e){this.print(e.literal,e)}function TSExpressionWithTypeArguments(e){this.print(e.expression,e),this.print(e.typeParameters,e)}function TSInterfaceDeclaration$1(e){var t=e.declare,r=e.id,n=e.typeParameters,i=e.extends,a=e.body;t&&(this.word("declare"),this.space()),this.word("interface"),this.space(),this.print(r,e),this.print(n,e),(null==i?void 0:i.length)&&(this.space(),this.word("extends"),this.space(),this.printList(i,e)),this.space(),this.print(a,e)}function TSInterfaceBody$1(e){this.tsPrintTypeLiteralOrInterfaceBody(e.body,e)}function TSTypeAliasDeclaration$1(e){var t=e.declare,r=e.id,n=e.typeParameters,i=e.typeAnnotation;t&&(this.word("declare"),this.space()),this.word("type"),this.space(),this.print(r,e),this.print(n,e),this.space(),this.tokenChar(61),this.space(),this.print(i,e),this.tokenChar(59)}function TSTypeExpression2(e){var t,r=e.type,n=e.expression,i=e.typeAnnotation,a=!!(null===(t=n.trailingComments)||void 0===t?void 0:t.length);this.print(n,e,!0,void 0,a),this.space(),this.word("TSAsExpression"===r?"as":"satisfies"),this.space(),this.print(i,e)}function TSTypeAssertion(e){var t=e.typeAnnotation,r=e.expression;this.tokenChar(60),this.print(t,e),this.tokenChar(62),this.space(),this.print(r,e)}function TSInstantiationExpression(e){this.print(e.expression,e),this.print(e.typeParameters,e)}function TSEnumDeclaration$1(e){var t=e.declare,r=e.const,n=e.id,i=e.members;t&&(this.word("declare"),this.space()),r&&(this.word("const"),this.space()),this.word("enum"),this.space(),this.print(n,e),this.space(),tsPrintBraced(this,i,e)}function TSEnumMember$1(e){var t=e.id,r=e.initializer;this.print(t,e),r&&(this.space(),this.tokenChar(61),this.space(),this.print(r,e)),this.tokenChar(44)}function TSModuleDeclaration$1(e){var t=e.declare,r=e.id;if(t&&(this.word("declare"),this.space()),e.global||(this.word("Identifier"===r.type?"namespace":"module"),this.space()),this.print(r,e),e.body){for(var n=e.body;"TSModuleDeclaration"===n.type;)this.tokenChar(46),this.print(n.id,n),n=n.body;this.space(),this.print(n,e)}else this.tokenChar(59)}function TSModuleBlock$1(e){tsPrintBraced(this,e.body,e)}function TSImportType$1(e){var t=e.argument,r=e.qualifier,n=e.typeParameters;this.word("import"),this.tokenChar(40),this.print(t,e),this.tokenChar(41),r&&(this.tokenChar(46),this.print(r,e)),n&&this.print(n,e)}function TSImportEqualsDeclaration(e){var t=e.isExport,r=e.id,n=e.moduleReference;t&&(this.word("export"),this.space()),this.word("import"),this.space(),this.print(r,e),this.space(),this.tokenChar(61),this.space(),this.print(n,e),this.tokenChar(59)}function TSExternalModuleReference(e){this.token("require("),this.print(e.expression,e),this.tokenChar(41)}function TSNonNullExpression(e){this.print(e.expression,e),this.tokenChar(33)}function TSExportAssignment(e){this.word("export"),this.space(),this.tokenChar(61),this.space(),this.print(e.expression,e),this.tokenChar(59)}function TSNamespaceExportDeclaration(e){this.word("export"),this.space(),this.word("as"),this.space(),this.word("namespace"),this.space(),this.print(e.id,e)}function tsPrintSignatureDeclarationBase(e){var t=e.typeParameters,r=e.params;this.print(t,e),this.tokenChar(40),this._parameters(r,e),this.tokenChar(41);var n=e.returnType;this.print(n,e)}function tsPrintClassMemberModifiers(e){var t="ClassAccessorProperty"===e.type||"ClassProperty"===e.type;t&&e.declare&&(this.word("declare"),this.space()),e.accessibility&&(this.word(e.accessibility),this.space()),e.static&&(this.word("static"),this.space()),e.override&&(this.word("override"),this.space()),e.abstract&&(this.word("abstract"),this.space()),t&&e.readonly&&(this.word("readonly"),this.space())}var generatorFunctions=Object.freeze({__proto__:null,AnyTypeAnnotation:AnyTypeAnnotation,ArgumentPlaceholder:ArgumentPlaceholder,ArrayExpression:ArrayExpression$5,ArrayPattern:ArrayExpression$5,ArrayTypeAnnotation:ArrayTypeAnnotation,ArrowFunctionExpression:ArrowFunctionExpression$2,AssignmentExpression:AssignmentExpression$2,AssignmentPattern:AssignmentPattern$1,AwaitExpression:AwaitExpression$2,BigIntLiteral:BigIntLiteral,BinaryExpression:AssignmentExpression$2,BindExpression:BindExpression,BlockStatement:BlockStatement$3,BooleanLiteral:BooleanLiteral$1,BooleanLiteralTypeAnnotation:BooleanLiteralTypeAnnotation,BooleanTypeAnnotation:BooleanTypeAnnotation,BreakStatement:BreakStatement$1,CallExpression:CallExpression$2,CatchClause:CatchClause,ClassAccessorProperty:ClassAccessorProperty$1,ClassBody:ClassBody,ClassDeclaration:ClassDeclaration$1,ClassExpression:ClassDeclaration$1,ClassImplements:InterfaceExtends,ClassMethod:ClassMethod$2,ClassPrivateMethod:ClassPrivateMethod$1,ClassPrivateProperty:ClassPrivateProperty$1,ClassProperty:ClassProperty$1,ConditionalExpression:ConditionalExpression$2,ContinueStatement:ContinueStatement$1,DebuggerStatement:DebuggerStatement$1,DecimalLiteral:DecimalLiteral,DeclareClass:DeclareClass,DeclareExportAllDeclaration:DeclareExportAllDeclaration,DeclareExportDeclaration:DeclareExportDeclaration,DeclareFunction:DeclareFunction,DeclareInterface:DeclareInterface,DeclareModule:DeclareModule,DeclareModuleExports:DeclareModuleExports,DeclareOpaqueType:DeclareOpaqueType,DeclareTypeAlias:DeclareTypeAlias,DeclareVariable:DeclareVariable,DeclaredPredicate:DeclaredPredicate,Decorator:Decorator,Directive:Directive$1,DirectiveLiteral:DirectiveLiteral$1,DoExpression:DoExpression,DoWhileStatement:DoWhileStatement$1,EmptyStatement:EmptyStatement,EmptyTypeAnnotation:EmptyTypeAnnotation,EnumBooleanBody:EnumBooleanBody,EnumBooleanMember:EnumBooleanMember,EnumDeclaration:EnumDeclaration,EnumDefaultedMember:EnumDefaultedMember,EnumNumberBody:EnumNumberBody,EnumNumberMember:EnumNumberMember,EnumStringBody:EnumStringBody,EnumStringMember:EnumStringMember,EnumSymbolBody:EnumSymbolBody,ExistsTypeAnnotation:ExistsTypeAnnotation,ExportAllDeclaration:ExportAllDeclaration$1,ExportDefaultDeclaration:ExportDefaultDeclaration$1,ExportDefaultSpecifier:ExportDefaultSpecifier,ExportNamedDeclaration:ExportNamedDeclaration,ExportNamespaceSpecifier:ExportNamespaceSpecifier$1,ExportSpecifier:ExportSpecifier$1,ExpressionStatement:ExpressionStatement$5,File:File$1,ForInStatement:ForInStatement$1,ForOfStatement:ForOfStatement$1,ForStatement:ForStatement$1,FunctionDeclaration:FunctionExpression$2,FunctionExpression:FunctionExpression$2,FunctionTypeAnnotation:FunctionTypeAnnotation,FunctionTypeParam:FunctionTypeParam,GenericTypeAnnotation:InterfaceExtends,Identifier:Identifier$4,IfStatement:IfStatement$1,Import:Import,ImportAttribute:ImportAttribute$1,ImportDeclaration:ImportDeclaration,ImportDefaultSpecifier:ImportDefaultSpecifier,ImportExpression:ImportExpression$1,ImportNamespaceSpecifier:ImportNamespaceSpecifier,ImportSpecifier:ImportSpecifier,IndexedAccessType:IndexedAccessType,InferredPredicate:InferredPredicate,InterfaceDeclaration:InterfaceDeclaration,InterfaceExtends:InterfaceExtends,InterfaceTypeAnnotation:InterfaceTypeAnnotation,InterpreterDirective:InterpreterDirective,IntersectionTypeAnnotation:IntersectionTypeAnnotation,JSXAttribute:JSXAttribute$1,JSXClosingElement:JSXClosingElement,JSXClosingFragment:JSXClosingFragment,JSXElement:JSXElement$1,JSXEmptyExpression:JSXEmptyExpression,JSXExpressionContainer:JSXExpressionContainer,JSXFragment:JSXFragment,JSXIdentifier:JSXIdentifier,JSXMemberExpression:JSXMemberExpression,JSXNamespacedName:JSXNamespacedName,JSXOpeningElement:JSXOpeningElement$1,JSXOpeningFragment:JSXOpeningFragment,JSXSpreadAttribute:JSXSpreadAttribute,JSXSpreadChild:JSXSpreadChild,JSXText:JSXText$1,LabeledStatement:LabeledStatement,LogicalExpression:AssignmentExpression$2,MemberExpression:MemberExpression,MetaProperty:MetaProperty,MixedTypeAnnotation:MixedTypeAnnotation,ModuleExpression:ModuleExpression,NewExpression:NewExpression$1,NullLiteral:NullLiteral,NullLiteralTypeAnnotation:NullLiteralTypeAnnotation,NullableTypeAnnotation:NullableTypeAnnotation,NumberLiteralTypeAnnotation:NumericLiteral,NumberTypeAnnotation:NumberTypeAnnotation,NumericLiteral:NumericLiteral,ObjectExpression:ObjectExpression$5,ObjectMethod:ObjectMethod$2,ObjectPattern:ObjectExpression$5,ObjectProperty:ObjectProperty$4,ObjectTypeAnnotation:ObjectTypeAnnotation,ObjectTypeCallProperty:ObjectTypeCallProperty,ObjectTypeIndexer:ObjectTypeIndexer,ObjectTypeInternalSlot:ObjectTypeInternalSlot,ObjectTypeProperty:ObjectTypeProperty,ObjectTypeSpreadProperty:ObjectTypeSpreadProperty,OpaqueType:OpaqueType,OptionalCallExpression:OptionalCallExpression$1,OptionalIndexedAccessType:OptionalIndexedAccessType,OptionalMemberExpression:OptionalMemberExpression,ParenthesizedExpression:ParenthesizedExpression,PipelineBareFunction:PipelineBareFunction,PipelinePrimaryTopicReference:PipelinePrimaryTopicReference,PipelineTopicExpression:PipelineTopicExpression,Placeholder:Placeholder,PrivateName:PrivateName$2,Program:Program$2,QualifiedTypeIdentifier:QualifiedTypeIdentifier,RecordExpression:RecordExpression$1,RegExpLiteral:RegExpLiteral$1,RestElement:RestElement$1,ReturnStatement:ReturnStatement$3,SequenceExpression:SequenceExpression$2,SpreadElement:RestElement$1,StaticBlock:StaticBlock$1,StringLiteral:StringLiteral$7,StringLiteralTypeAnnotation:StringLiteral$7,StringTypeAnnotation:StringTypeAnnotation,Super:Super,SwitchCase:SwitchCase,SwitchStatement:SwitchStatement$1,SymbolTypeAnnotation:SymbolTypeAnnotation,TSAnyKeyword:TSAnyKeyword,TSArrayType:TSArrayType,TSAsExpression:TSTypeExpression2,TSBigIntKeyword:TSBigIntKeyword,TSBooleanKeyword:TSBooleanKeyword,TSCallSignatureDeclaration:TSCallSignatureDeclaration$1,TSConditionalType:TSConditionalType$1,TSConstructSignatureDeclaration:TSConstructSignatureDeclaration$1,TSConstructorType:TSConstructorType$1,TSDeclareFunction:TSDeclareFunction$1,TSDeclareMethod:TSDeclareMethod$1,TSEnumDeclaration:TSEnumDeclaration$1,TSEnumMember:TSEnumMember$1,TSExportAssignment:TSExportAssignment,TSExpressionWithTypeArguments:TSExpressionWithTypeArguments,TSExternalModuleReference:TSExternalModuleReference,TSFunctionType:TSFunctionType$1,TSImportEqualsDeclaration:TSImportEqualsDeclaration,TSImportType:TSImportType$1,TSIndexSignature:TSIndexSignature,TSIndexedAccessType:TSIndexedAccessType,TSInferType:TSInferType,TSInstantiationExpression:TSInstantiationExpression,TSInterfaceBody:TSInterfaceBody$1,TSInterfaceDeclaration:TSInterfaceDeclaration$1,TSIntersectionType:TSIntersectionType$1,TSIntrinsicKeyword:TSIntrinsicKeyword,TSLiteralType:TSLiteralType,TSMappedType:TSMappedType$1,TSMethodSignature:TSMethodSignature$1,TSModuleBlock:TSModuleBlock$1,TSModuleDeclaration:TSModuleDeclaration$1,TSNamedTupleMember:TSNamedTupleMember$1,TSNamespaceExportDeclaration:TSNamespaceExportDeclaration,TSNeverKeyword:TSNeverKeyword,TSNonNullExpression:TSNonNullExpression,TSNullKeyword:TSNullKeyword,TSNumberKeyword:TSNumberKeyword,TSObjectKeyword:TSObjectKeyword,TSOptionalType:TSOptionalType,TSParameterProperty:TSParameterProperty,TSParenthesizedType:TSParenthesizedType,TSPropertySignature:TSPropertySignature$1,TSQualifiedName:TSQualifiedName,TSRestType:TSRestType,TSSatisfiesExpression:TSTypeExpression2,TSStringKeyword:TSStringKeyword,TSSymbolKeyword:TSSymbolKeyword,TSThisType:TSThisType,TSTupleType:TSTupleType$1,TSTypeAliasDeclaration:TSTypeAliasDeclaration$1,TSTypeAnnotation:TSTypeAnnotation,TSTypeAssertion:TSTypeAssertion,TSTypeLiteral:TSTypeLiteral$1,TSTypeOperator:TSTypeOperator,TSTypeParameter:TSTypeParameter$1,TSTypeParameterDeclaration:TSTypeParameterInstantiation,TSTypeParameterInstantiation:TSTypeParameterInstantiation,TSTypePredicate:TSTypePredicate,TSTypeQuery:TSTypeQuery,TSTypeReference:TSTypeReference,TSUndefinedKeyword:TSUndefinedKeyword,TSUnionType:TSUnionType,TSUnknownKeyword:TSUnknownKeyword,TSVoidKeyword:TSVoidKeyword,TaggedTemplateExpression:TaggedTemplateExpression$1,TemplateElement:TemplateElement$1,TemplateLiteral:TemplateLiteral$1,ThisExpression:ThisExpression,ThisTypeAnnotation:ThisTypeAnnotation,ThrowStatement:ThrowStatement$1,TopicReference:TopicReference,TryStatement:TryStatement,TupleExpression:TupleExpression$1,TupleTypeAnnotation:TupleTypeAnnotation,TypeAlias:TypeAlias,TypeAnnotation:TypeAnnotation,TypeCastExpression:TypeCastExpression,TypeParameter:TypeParameter,TypeParameterDeclaration:TypeParameterInstantiation,TypeParameterInstantiation:TypeParameterInstantiation,TypeofTypeAnnotation:TypeofTypeAnnotation,UnaryExpression:UnaryExpression$2,UnionTypeAnnotation:UnionTypeAnnotation,UpdateExpression:UpdateExpression,V8IntrinsicIdentifier:V8IntrinsicIdentifier,VariableDeclaration:VariableDeclaration$1,VariableDeclarator:VariableDeclarator,Variance:Variance,VoidTypeAnnotation:VoidTypeAnnotation,WhileStatement:WhileStatement$1,WithStatement:WithStatement,YieldExpression:YieldExpression,_classMethodHead:_classMethodHead,_functionHead:_functionHead,_interfaceish:_interfaceish,_methodHead:_methodHead,_param:_param,_parameters:_parameters,_params:_params,_predicate:_predicate,_printAttributes:_printAttributes,_shouldPrintDecoratorsBeforeExport:_shouldPrintDecoratorsBeforeExport,_variance:_variance,tsPrintClassMemberModifiers:tsPrintClassMemberModifiers,tsPrintFunctionOrConstructorType:tsPrintFunctionOrConstructorType,tsPrintPropertyOrMethodName:tsPrintPropertyOrMethodName,tsPrintSignatureDeclarationBase:tsPrintSignatureDeclarationBase,tsPrintTypeLiteralOrInterfaceBody:tsPrintTypeLiteralOrInterfaceBody}),isFunction3=lib_exports.isFunction,isStatement3=lib_exports.isStatement,isClassBody2=lib_exports.isClassBody,isTSInterfaceBody2=lib_exports.isTSInterfaceBody,isTSEnumDeclaration2=lib_exports.isTSEnumDeclaration,SCIENTIFIC_NOTATION=/e/i,ZERO_DECIMAL_INTEGER=/\.0+$/,HAS_NEWLINE=/[\n\r\u2028\u2029]/,HAS_NEWLINE_OR_BlOCK_COMMENT_END=/[\n\r\u2028\u2029]|\*\//,needsParens=n.needsParens,Printer=function(){function e(t,r){_class_call_check(this,e),__publicField(this,"inForStatementInitCounter",0),__publicField(this,"_printStack",[]),__publicField(this,"_indent",0),__publicField(this,"_indentRepeat",0),__publicField(this,"_insideAux",!1),__publicField(this,"_parenPushNewlineState",null),__publicField(this,"_noLineTerminator",!1),__publicField(this,"_printAuxAfterOnNextUserNode",!1),__publicField(this,"_printedComments",new Set),__publicField(this,"_endsWithInteger",!1),__publicField(this,"_endsWithWord",!1),__publicField(this,"_lastCommentLine",0),__publicField(this,"_endsWithInnerRaw",!1),__publicField(this,"_indentInnerComments",!0),this.format=t,this._indentRepeat=t.indent.style.length,this._inputMap=null==r?void 0:r._inputMap,this._buf=new Buffer2(r,t.indent.style[0])}return _create_class(e,[{key:"generate",value:function(e){return this.print(e),this._maybeAddAuxComment(),this._buf.get()}},{key:"indent",value:function(){this.format.compact||this.format.concise||this._indent++}},{key:"dedent",value:function(){this.format.compact||this.format.concise||this._indent--}},{key:"semicolon",value:function(){var e=arguments.length>0&&void 0!==arguments[0]&&arguments[0];this._maybeAddAuxComment(),e?this._appendChar(59):this._queue(59),this._noLineTerminator=!1}},{key:"rightBrace",value:function(e){this.format.minified&&this._buf.removeLastSemicolon(),this.sourceWithOffset("end",e.loc,-1),this.tokenChar(125)}},{key:"rightParens",value:function(e){this.sourceWithOffset("end",e.loc,-1),this.tokenChar(41)}},{key:"space",value:function(){var e=arguments.length>0&&void 0!==arguments[0]&&arguments[0];if(!this.format.compact)if(e)this._space();else if(this._buf.hasContent()){var t=this.getLastChar();32!==t&&10!==t&&this._space()}}},{key:"word",value:function(e){var t=arguments.length>1&&void 0!==arguments[1]&&arguments[1];this._maybePrintInnerComments(),(this._endsWithWord||47===e.charCodeAt(0)&&this.endsWith(47))&&this._space(),this._maybeAddAuxComment(),this._append(e,!1),this._endsWithWord=!0,this._noLineTerminator=t}},{key:"number",value:function(e,t){this.word(e),this._endsWithInteger=Number.isInteger(t)&&!function(e){if(e.length>2&&48===e.charCodeAt(0)){var t=e.charCodeAt(1);return 98===t||111===t||120===t}return!1}(e)&&!SCIENTIFIC_NOTATION.test(e)&&!ZERO_DECIMAL_INTEGER.test(e)&&46!==e.charCodeAt(e.length-1)}},{key:"token",value:function(e){var t=arguments.length>1&&void 0!==arguments[1]&&arguments[1];this._maybePrintInnerComments();var r=this.getLastChar(),n=e.charCodeAt(0);(33===r&&("--"===e||61===n)||43===n&&43===r||45===n&&45===r||46===n&&this._endsWithInteger)&&this._space(),this._maybeAddAuxComment(),this._append(e,t),this._noLineTerminator=!1}},{key:"tokenChar",value:function(e){this._maybePrintInnerComments();var t=this.getLastChar();(43===e&&43===t||45===e&&45===t||46===e&&this._endsWithInteger)&&this._space(),this._maybeAddAuxComment(),this._appendChar(e),this._noLineTerminator=!1}},{key:"newline",value:function(){var e=arguments.length>0&&void 0!==arguments[0]?arguments[0]:1;if(!(e<=0)){if(!(arguments.length>1?arguments[1]:void 0)){if(this.format.retainLines||this.format.compact)return;if(this.format.concise)return void this.space()}e>2&&(e=2),e-=this._buf.getNewlineCount();for(var t=0;t<e;t++)this._newline()}}},{key:"endsWith",value:function(e){return this.getLastChar()===e}},{key:"getLastChar",value:function(){return this._buf.getLastChar()}},{key:"endsWithCharAndNewline",value:function(){return this._buf.endsWithCharAndNewline()}},{key:"removeTrailingNewline",value:function(){this._buf.removeTrailingNewline()}},{key:"exactSource",value:function(e,t){e?(this._catchUp("start",e),this._buf.exactSource(e,t)):t()}},{key:"source",value:function(e,t){t&&(this._catchUp(e,t),this._buf.source(e,t))}},{key:"sourceWithOffset",value:function(e,t,r){t&&(this._catchUp(e,t),this._buf.sourceWithOffset(e,t,r))}},{key:"withSource",value:function(e,t,r){t?(this._catchUp(e,t),this._buf.withSource(e,t,r)):r()}},{key:"sourceIdentifierName",value:function(e,t){if(this._buf._canMarkIdName){var r=this._buf._sourcePosition;r.identifierNamePos=t,r.identifierName=e}}},{key:"_space",value:function(){this._queue(32)}},{key:"_newline",value:function(){this._queue(10)}},{key:"_append",value:function(e,t){this._maybeAddParen(e),this._maybeIndent(e.charCodeAt(0)),this._buf.append(e,t),this._endsWithWord=!1,this._endsWithInteger=!1}},{key:"_appendChar",value:function(e){this._maybeAddParenChar(e),this._maybeIndent(e),this._buf.appendChar(e),this._endsWithWord=!1,this._endsWithInteger=!1}},{key:"_queue",value:function(e){this._maybeAddParenChar(e),this._maybeIndent(e),this._buf.queue(e),this._endsWithWord=!1,this._endsWithInteger=!1}},{key:"_maybeIndent",value:function(e){this._indent&&10!==e&&this.endsWith(10)&&this._buf.queueIndentation(this._getIndent())}},{key:"_shouldIndent",value:function(e){if(this._indent&&10!==e&&this.endsWith(10))return!0}},{key:"_maybeAddParenChar",value:function(e){var t=this._parenPushNewlineState;t&&32!==e&&(10===e?(this.tokenChar(40),this.indent(),t.printed=!0):this._parenPushNewlineState=null)}},{key:"_maybeAddParen",value:function(e){var t=this._parenPushNewlineState;if(t){var r,n=e.length;for(r=0;r<n&&32===e.charCodeAt(r);r++)continue;if(r!==n){var i=e.charCodeAt(r);if(10!==i){if(47!==i||r+1===n)return void(this._parenPushNewlineState=null);var a=e.charCodeAt(r+1);if(42===a)return;if(47!==a)return void(this._parenPushNewlineState=null)}this.tokenChar(40),this.indent(),t.printed=!0}}}},{key:"catchUp",value:function(e){if(this.format.retainLines)for(var t=e-this._buf.getCurrentLine(),r=0;r<t;r++)this._newline()}},{key:"_catchUp",value:function(e,t){var r;if(this.format.retainLines){var n=null==t||null===(r=t[e])||void 0===r?void 0:r.line;if(null!=n)for(var i=n-this._buf.getCurrentLine(),a=0;a<i;a++)this._newline()}}},{key:"_getIndent",value:function(){return this._indentRepeat*this._indent}},{key:"printTerminatorless",value:function(e,t,r){if(r)this._noLineTerminator=!0,this.print(e,t);else{var n={printed:!1};this._parenPushNewlineState=n,this.print(e,t),n.printed&&(this.dedent(),this.newline(),this.tokenChar(41))}}},{key:"print",value:function(e,t,r,n,i){var a,s;if(e){this._endsWithInnerRaw=!1;var o=e.type,l=this.format,u=l.concise;e._compact&&(l.concise=!0);var c=this[o];if(void 0===c)throw new ReferenceError("unknown node of type ".concat(JSON.stringify(o)," with constructor ").concat(JSON.stringify(e.constructor.name)));this._printStack.push(e);var p=this._insideAux;this._insideAux=null==e.loc,this._maybeAddAuxComment(this._insideAux&&!p);var d=null===(a=e.extra)||void 0===a?void 0:a.parenthesized,f=i||d&&l.retainFunctionParens&&"FunctionExpression"===o||needsParens(e,t,this._printStack);if(!f&&d&&(null===(s=e.leadingComments)||void 0===s?void 0:s.length)&&"CommentBlock"===e.leadingComments[0].type)switch(null==t?void 0:t.type){case"ExpressionStatement":case"VariableDeclarator":case"AssignmentExpression":case"ReturnStatement":break;case"CallExpression":case"OptionalCallExpression":case"NewExpression":if(t.callee!==e)break;default:f=!0}f&&(this.tokenChar(40),this._endsWithInnerRaw=!1),this._lastCommentLine=0,this._printLeadingComments(e,t);var h="Program"===o||"File"===o?null:e.loc;this.exactSource(h,c.bind(this,e,t)),f?(this._printTrailingComments(e,t),this.tokenChar(41),this._noLineTerminator=r):r&&!this._noLineTerminator?(this._noLineTerminator=!0,this._printTrailingComments(e,t)):this._printTrailingComments(e,t,n),this._printStack.pop(),l.concise=u,this._insideAux=p,this._endsWithInnerRaw=!1}}},{key:"_maybeAddAuxComment",value:function(e){e&&this._printAuxBeforeComment(),this._insideAux||this._printAuxAfterComment()}},{key:"_printAuxBeforeComment",value:function(){if(!this._printAuxAfterOnNextUserNode){this._printAuxAfterOnNextUserNode=!0;var e=this.format.auxiliaryCommentBefore;e&&this._printComment({type:"CommentBlock",value:e},0)}}},{key:"_printAuxAfterComment",value:function(){if(this._printAuxAfterOnNextUserNode){this._printAuxAfterOnNextUserNode=!1;var e=this.format.auxiliaryCommentAfter;e&&this._printComment({type:"CommentBlock",value:e},0)}}},{key:"getPossibleRaw",value:function(e){var t=e.extra;if(null!=(null==t?void 0:t.raw)&&null!=t.rawValue&&e.value===t.rawValue)return t.raw}},{key:"printJoin",value:function(e,t){var r=arguments.length>2&&void 0!==arguments[2]?arguments[2]:{};if(null==e?void 0:e.length){var n=r.indent;if(null==n&&this.format.retainLines){var i,a=null===(i=e[0].loc)||void 0===i?void 0:i.start.line;null!=a&&a!==this._buf.getCurrentLine()&&(n=!0)}n&&this.indent();for(var s={addNewlines:r.addNewlines,nextNodeStartLine:0},o=r.separator?r.separator.bind(this):null,l=e.length,u=0;u<l;u++){var c,p,d=e[u];if(d)if(r.statement&&this._printNewline(0===u,s),this.print(d,t,void 0,r.trailingCommentsLineOffset||0),null===(c=r.iterator)||void 0===c||c.call(r,d,u),u<l-1&&(null==o||o()),r.statement)if((null===(p=d.trailingComments)||void 0===p?void 0:p.length)||(this._lastCommentLine=0),u+1===l)this.newline(1);else{var f,h=e[u+1];s.nextNodeStartLine=(null===(f=h.loc)||void 0===f?void 0:f.start.line)||0,this._printNewline(!0,s)}}n&&this.dedent()}}},{key:"printAndIndentOnComments",value:function(e,t){var r=e.leadingComments&&e.leadingComments.length>0;r&&this.indent(),this.print(e,t),r&&this.dedent()}},{key:"printBlock",value:function(e){var t=e.body;"EmptyStatement"!==t.type&&this.space(),this.print(t,e)}},{key:"_printTrailingComments",value:function(e,t,r){var n=e.innerComments,i=e.trailingComments;(null==n?void 0:n.length)&&this._printComments(2,n,e,t,r),(null==i?void 0:i.length)&&this._printComments(2,i,e,t,r)}},{key:"_printLeadingComments",value:function(e,t){var r=e.leadingComments;(null==r?void 0:r.length)&&this._printComments(0,r,e,t)}},{key:"_maybePrintInnerComments",value:function(){this._endsWithInnerRaw&&this.printInnerComments(),this._endsWithInnerRaw=!0,this._indentInnerComments=!0}},{key:"printInnerComments",value:function(){var e=this._printStack[this._printStack.length-1],t=e.innerComments;if(null==t?void 0:t.length){var r=this.endsWith(32),n=this._indentInnerComments,i=this._printedComments.size;n&&this.indent(),this._printComments(1,t,e),r&&i!==this._printedComments.size&&this.space(),n&&this.dedent()}}},{key:"noIndentInnerCommentsHere",value:function(){this._indentInnerComments=!1}},{key:"printSequence",value:function(e,t){var r,n=arguments.length>2&&void 0!==arguments[2]?arguments[2]:{};n.statement=!0,null!==(r=n.indent)&&void 0!==r||(n.indent=!1),this.printJoin(e,t,n)}},{key:"printList",value:function(e,t){var r=arguments.length>2&&void 0!==arguments[2]?arguments[2]:{};null==r.separator&&(r.separator=commaSeparator),this.printJoin(e,t,r)}},{key:"_printNewline",value:function(e,t){var r=this.format;if(!r.retainLines&&!r.compact)if(r.concise)this.space();else if(e){var n=t.nextNodeStartLine,i=this._lastCommentLine;if(n>0&&i>0){var a=n-i;if(a>=0)return void this.newline(a||1)}this._buf.hasContent()&&this.newline(1)}}},{key:"_shouldPrintComment",value:function(e){return e.ignore||this._printedComments.has(e)?0:this._noLineTerminator&&HAS_NEWLINE_OR_BlOCK_COMMENT_END.test(e.value)?2:(this._printedComments.add(e),this.format.shouldPrintComment(e.value)?1:0)}},{key:"_printComment",value:function(e,t){var r=this._noLineTerminator,n="CommentBlock"===e.type,i=n&&1!==t&&!this._noLineTerminator;i&&this._buf.hasContent()&&2!==t&&this.newline(1);var a,s=this.getLastChar();if(91!==s&&123!==s&&this.space(),n){var o=this._parenPushNewlineState;if(!1===(null==o?void 0:o.printed)&&HAS_NEWLINE.test(e.value)&&(this.tokenChar(40),this.indent(),o.printed=!0),a="/*".concat(e.value,"*/"),this.format.indent.adjustMultilineComment){var l,u=null===(l=e.loc)||void 0===l?void 0:l.start.column;if(u){var c=new RegExp("\\n\\s{1,"+u+"}","g");a=a.replace(c,"\n")}if(this.format.concise)a=a.replace(/\n(?!$)/g,"\n");else{var p=this.format.retainLines?0:this._buf.getCurrentColumn();(this._shouldIndent(47)||this.format.retainLines)&&(p+=this._getIndent()),a=a.replace(/\n(?!$)/g,"\n".concat(" ".repeat(p)))}}}else a=r?"/*".concat(e.value,"*/"):"//".concat(e.value);this.endsWith(47)&&this._space(),this.source("start",e.loc),this._append(a,n),n||r||this.newline(1,!0),i&&3!==t&&this.newline(1)}},{key:"_printComments",value:function(e,t,r,n){for(var i=arguments.length>4&&void 0!==arguments[4]?arguments[4]:0,a=r.loc,s=t.length,o=!!a,l=o?a.start.line:0,u=o?a.end.line:0,c=0,p=0,d=this._noLineTerminator?function(){}:this.newline.bind(this),f=0;f<s;f++){var h=t[f],m=this._shouldPrintComment(h);if(2===m){o=!1;break}if(o&&h.loc&&1===m){var y=h.loc.start.line,g=h.loc.end.line;if(0===e){var v=0;0===f?!this._buf.hasContent()||"CommentLine"!==h.type&&y==g||(v=p=1):v=y-c,c=g,d(v),this._printComment(h,1),f+1===s&&(d(Math.max(l-c,p)),c=l)}else if(1===e){var b=y-(0===f?l:c);c=g,d(b),this._printComment(h,1),f+1===s&&(d(Math.min(1,u-c)),c=u)}else{var S=y-(0===f?u-i:c);c=g,d(S),this._printComment(h,1)}}else{if(o=!1,1!==m)continue;if(1===s){var _=h.loc?h.loc.start.line===h.loc.end.line:!HAS_NEWLINE.test(h.value),T=_&&!isStatement3(r)&&!isClassBody2(n)&&!isTSInterfaceBody2(n)&&!isTSEnumDeclaration2(n);0===e?this._printComment(h,T&&"ObjectExpression"!==r.type||_&&isFunction3(n,{body:r})?1:0):T&&2===e?this._printComment(h,1):this._printComment(h,0)}else 1!==e||"ObjectExpression"===r.type&&r.properties.length>1||"ClassBody"===r.type||"TSInterfaceBody"===r.type?this._printComment(h,0):this._printComment(h,0===f?2:f===s-1?3:0)}}2===e&&o&&c&&(this._lastCommentLine=c)}}]),e}();function commaSeparator(){this.tokenChar(44),this.space()}function normalizeOptions(e,t){var r,n={auxiliaryCommentBefore:t.auxiliaryCommentBefore,auxiliaryCommentAfter:t.auxiliaryCommentAfter,shouldPrintComment:t.shouldPrintComment,retainLines:t.retainLines,retainFunctionParens:t.retainFunctionParens,comments:null==t.comments||t.comments,compact:t.compact,minified:t.minified,concise:t.concise,indent:{adjustMultilineComment:!0,style:" "},jsescOption:Object.assign({quotes:"double",wrap:!0,minimal:!0},t.jsescOption),recordAndTupleSyntaxType:null!==(r=t.recordAndTupleSyntaxType)&&void 0!==r?r:"hash",topicToken:t.topicToken,importAttributesKeyword:t.importAttributesKeyword};n.minified?(n.compact=!0,n.shouldPrintComment=n.shouldPrintComment||function(){return n.comments}):n.shouldPrintComment=n.shouldPrintComment||function(e){return n.comments||e.includes("@license")||e.includes("@preserve")},"auto"===n.compact&&(n.compact="string"==typeof e&&e.length>5e5,n.compact&&console.error("[BABEL] Note: The code generator has deoptimised the styling of ".concat(t.filename," as it exceeds the max of ","500KB","."))),n.compact&&(n.indent.adjustMultilineComment=!1);var i=n.auxiliaryCommentBefore,a=n.auxiliaryCommentAfter,s=n.shouldPrintComment;return i&&!s(i)&&(n.auxiliaryCommentBefore=void 0),a&&!s(a)&&(n.auxiliaryCommentAfter=void 0),n}function generate$9(e){var t=arguments.length>1&&void 0!==arguments[1]?arguments[1]:{},r=arguments.length>2?arguments[2]:void 0,n=normalizeOptions(r,t),i=t.sourceMaps?new SourceMap(t,r):null;return new Printer(n,i).generate(e)}Object.assign(Printer.prototype,generatorFunctions);var import_debug=__toESM(require_src(),1),cloneNode3=lib_exports.cloneNode,exportNamedDeclaration2=lib_exports.exportNamedDeclaration,exportSpecifier2=lib_exports.exportSpecifier,identifier3=lib_exports.identifier,variableDeclaration2=lib_exports.variableDeclaration,variableDeclarator2=lib_exports.variableDeclarator;function splitExportDeclaration(e){if(!e.isExportDeclaration()||e.isExportAllDeclaration())throw new Error("Only default and named export declarations can be split.");if(e.isExportDefaultDeclaration()){var t=e.get("declaration"),r=t.isFunctionDeclaration()||t.isClassDeclaration(),n=t.isFunctionExpression()||t.isClassExpression(),i=t.isScope()?t.scope.parent:t.scope,a=t.node.id,s=!1;a?n&&i.hasBinding(a.name)&&(s=!0,a=i.generateUidIdentifier(a.name)):(s=!0,a=i.generateUidIdentifier("default"),(r||n)&&(t.node.id=cloneNode3(a)));var o=r?t.node:variableDeclaration2("var",[variableDeclarator2(cloneNode3(a),t.node)]),l=exportNamedDeclaration2(null,[exportSpecifier2(cloneNode3(a),identifier3("default"))]);return e.insertAfter(l),e.replaceWith(o),s&&i.registerDeclaration(e),e}if(e.get("specifiers").length>0)throw new Error("It doesn't make sense to split exported specifiers.");var u=e.get("declaration"),c=u.getOuterBindingIdentifiers(),p=Object.keys(c).map((function(e){return exportSpecifier2(identifier3(e),identifier3(e))})),d=exportNamedDeclaration2(null,p);return e.insertAfter(d),e.replaceWith(u.node),e}function requeueComputedKeyAndDecorators(e){var t=e.context,r=e.node;if(r.computed&&t.maybeQueue(e.get("key")),r.decorators){var n=!0,i=!1,a=void 0;try{for(var s,o=e.get("decorators")[Symbol.iterator]();!(n=(s=o.next()).done);n=!0){var l=s.value;t.maybeQueue(l)}}catch(e){i=!0,a=e}finally{try{n||null==o.return||o.return()}finally{if(i)throw a}}}}var visitor={FunctionParent:function(e){e.isArrowFunctionExpression()||(e.skip(),e.isMethod()&&requeueComputedKeyAndDecorators(e))},Property:function(e){e.isObjectProperty()||(e.skip(),requeueComputedKeyAndDecorators(e))}},import_globals=__toESM(require_globals2(),1),assignmentExpression2=lib_exports.assignmentExpression,expressionStatement3=lib_exports.expressionStatement,identifier4=lib_exports.identifier,visitor2={Scope:function(e,t){"let"===t.kind&&e.skip()},FunctionParent:function(e){e.skip()},VariableDeclaration:function(e,t){if(!t.kind||e.node.kind===t.kind){var r,n=[],i=e.get("declarations"),a=!0,s=!1,o=void 0;try{for(var l,u=i[Symbol.iterator]();!(a=(l=u.next()).done);a=!0){var c=l.value;r=c.node.id,c.node.init&&n.push(expressionStatement3(assignmentExpression2("=",c.node.id,c.node.init)));var p=!0,d=!1,f=void 0;try{for(var h,m=Object.keys(c.getBindingIdentifiers())[Symbol.iterator]();!(p=(h=m.next()).done);p=!0){var y=h.value;t.emit(identifier4(y),y,null!==c.node.init)}}catch(e){d=!0,f=e}finally{try{p||null==m.return||m.return()}finally{if(d)throw f}}}}catch(e){s=!0,o=e}finally{try{a||null==u.return||u.return()}finally{if(s)throw o}}e.parentPath.isFor({left:e.node})?e.replaceWith(r):e.replaceWithMultiple(n)}}};function hoistVariables(e,t){var r=arguments.length>2&&void 0!==arguments[2]?arguments[2]:"var";e.traverse(visitor2,{kind:r,emit:t})}var NOT_LOCAL_BINDING2=lib_exports.NOT_LOCAL_BINDING,cloneNode4=lib_exports.cloneNode,identifier5=lib_exports.identifier,isAssignmentExpression3=lib_exports.isAssignmentExpression,isAssignmentPattern3=lib_exports.isAssignmentPattern,isFunction4=lib_exports.isFunction,isIdentifier4=lib_exports.isIdentifier,isLiteral3=lib_exports.isLiteral,isNullLiteral2=lib_exports.isNullLiteral,isObjectMethod2=lib_exports.isObjectMethod,isObjectProperty2=lib_exports.isObjectProperty,isRegExpLiteral2=lib_exports.isRegExpLiteral,isRestElement2=lib_exports.isRestElement,isTemplateLiteral2=lib_exports.isTemplateLiteral,isVariableDeclarator2=lib_exports.isVariableDeclarator,toBindingIdentifierName2=lib_exports.toBindingIdentifierName;function getFunctionArity(e){var t=e.params.findIndex((function(e){return isAssignmentPattern3(e)||isRestElement2(e)}));return-1===t?e.params.length:t}var buildPropertyMethodAssignmentWrapper=index.statement("\n (function (FUNCTION_KEY) {\n function FUNCTION_ID() {\n return FUNCTION_KEY.apply(this, arguments);\n }\n\n FUNCTION_ID.toString = function () {\n return FUNCTION_KEY.toString();\n }\n\n return FUNCTION_ID;\n })(FUNCTION)\n"),buildGeneratorPropertyMethodAssignmentWrapper=index.statement("\n (function (FUNCTION_KEY) {\n function* FUNCTION_ID() {\n return yield* FUNCTION_KEY.apply(this, arguments);\n }\n\n FUNCTION_ID.toString = function () {\n return FUNCTION_KEY.toString();\n };\n\n return FUNCTION_ID;\n })(FUNCTION)\n"),visitor3={"ReferencedIdentifier|BindingIdentifier":function(e,t){e.node.name===t.name&&(e.scope.getBindingIdentifier(t.name)===t.outerDeclar&&(t.selfReference=!0,e.stop()))}};function getNameFromLiteralId(e){return isNullLiteral2(e)?"null":isRegExpLiteral2(e)?"_".concat(e.pattern,"_").concat(e.flags):isTemplateLiteral2(e)?e.quasis.map((function(e){return e.value.raw})).join(""):void 0!==e.value?e.value+"":""}function wrap$4(e,t,r,n){if(e.selfReference){if(!n.hasBinding(r.name)||n.hasGlobal(r.name)){if(!isFunction4(t))return;var i=buildPropertyMethodAssignmentWrapper;t.generator&&(i=buildGeneratorPropertyMethodAssignmentWrapper);for(var a=i({FUNCTION:t,FUNCTION_ID:r,FUNCTION_KEY:n.generateUidIdentifier(r.name)}).expression,s=a.callee.body.body[0].params,o=0,l=getFunctionArity(t);o<l;o++)s.push(n.generateUidIdentifier("x"));return a}n.rename(r.name)}t.id=r,n.getProgramParent().references[r.name]=!0}function visit(e,t,r){var n={selfAssignment:!1,selfReference:!1,outerDeclar:r.getBindingIdentifier(t),name:t},i=r.getOwnBinding(t);return i?"param"===i.kind&&(n.selfReference=!0):(n.outerDeclar||r.hasGlobal(t))&&r.traverse(e,visitor3,n),n}function index2(e){var t=e.node,r=e.parent,n=e.scope,i=e.id,a=arguments.length>1&&void 0!==arguments[1]&&arguments[1],s=arguments.length>2&&void 0!==arguments[2]&&arguments[2];if(!t.id){if(!isObjectProperty2(r)&&!isObjectMethod2(r,{kind:"method"})||r.computed&&!isLiteral3(r.key)){if(isVariableDeclarator2(r)){if(i=r.id,isIdentifier4(i)&&!a){var o=n.parent.getBinding(i.name);if(o&&o.constant&&n.getBinding(i.name)===o)return t.id=cloneNode4(i),void(t.id[NOT_LOCAL_BINDING2]=!0)}}else if(isAssignmentExpression3(r,{operator:"="}))i=r.left;else if(!i)return}else i=r.key;var l;if(i&&isLiteral3(i)?l=getNameFromLiteralId(i):i&&isIdentifier4(i)&&(l=i.name),void 0!==l&&(s||!isFunction4(t)||!/[\uD800-\uDFFF]/.test(l))){l=toBindingIdentifierName2(l);var u=identifier5(l);return u[NOT_LOCAL_BINDING2]=!0,wrap$4(visit(t,l,n),t,u,n)||t}}}var ReferencedIdentifier=["Identifier","JSXIdentifier"],ReferencedMemberExpression=["MemberExpression"],BindingIdentifier=["Identifier"],Statement=["Statement"],Expression=["Expression"],Scope$1=["Scopable","Pattern"],Referenced=null,BlockScoped=null,Var=["VariableDeclaration"],User=null,Generated=null,Pure=null,Flow=["Flow","ImportDeclaration","ExportDeclaration","ImportSpecifier"],RestProperty2=["RestElement"],SpreadProperty2=["RestElement"],ExistentialTypeParam=["ExistsTypeAnnotation"],NumericLiteralTypeAnnotation=["NumberLiteralTypeAnnotation"],ForAwaitStatement=["ForOfStatement"],virtualTypes=Object.freeze({__proto__:null,BindingIdentifier:BindingIdentifier,BlockScoped:BlockScoped,ExistentialTypeParam:ExistentialTypeParam,Expression:Expression,Flow:Flow,ForAwaitStatement:ForAwaitStatement,Generated:Generated,NumericLiteralTypeAnnotation:NumericLiteralTypeAnnotation,Pure:Pure,Referenced:Referenced,ReferencedIdentifier:ReferencedIdentifier,ReferencedMemberExpression:ReferencedMemberExpression,RestProperty:RestProperty2,Scope:Scope$1,SpreadProperty:SpreadProperty2,Statement:Statement,User:User,Var:Var}),isBinding2=lib_exports.isBinding,nodeIsBlockScoped=lib_exports.isBlockScoped,isExportDeclaration$1$1=lib_exports.isExportDeclaration,nodeIsExpression=lib_exports.isExpression,nodeIsFlow=lib_exports.isFlow,isForStatement3=lib_exports.isForStatement,isForXStatement2=lib_exports.isForXStatement,isIdentifier$6$1=lib_exports.isIdentifier,isImportDeclaration$1$1=lib_exports.isImportDeclaration,isImportSpecifier2=lib_exports.isImportSpecifier,isJSXIdentifier3=lib_exports.isJSXIdentifier,isJSXMemberExpression2=lib_exports.isJSXMemberExpression,isMemberExpression3=lib_exports.isMemberExpression,nodeIsRestElement=lib_exports.isRestElement,nodeIsReferenced=lib_exports.isReferenced,nodeIsScope=lib_exports.isScope,nodeIsStatement=lib_exports.isStatement,nodeIsVar=lib_exports.isVar,isVariableDeclaration$2$1=lib_exports.isVariableDeclaration,react$1=lib_exports.react,isForOfStatement3=lib_exports.isForOfStatement,isCompatTag2=react$1.isCompatTag;function isReferencedIdentifier(e){var t=this.node,r=this.parent;if(!isIdentifier$6$1(t,e)&&!isJSXMemberExpression2(r,e)){if(!isJSXIdentifier3(t,e))return!1;if(isCompatTag2(t.name))return!1}return nodeIsReferenced(t,r,this.parentPath.parent)}function isReferencedMemberExpression(){var e=this.node,t=this.parent;return isMemberExpression3(e)&&nodeIsReferenced(e,t)}function isBindingIdentifier(){var e=this.node,t=this.parent,r=this.parentPath.parent;return isIdentifier$6$1(e)&&isBinding2(e,t,r)}function isStatement$13(){var e=this.node,t=this.parent;if(nodeIsStatement(e)){if(isVariableDeclaration$2$1(e)){if(isForXStatement2(t,{left:e}))return!1;if(isForStatement3(t,{init:e}))return!1}return!0}return!1}function isExpression$3$1(){return this.isIdentifier()?this.isReferencedIdentifier():nodeIsExpression(this.node)}function isScope2(){return nodeIsScope(this.node,this.parent)}function isReferenced2(){return nodeIsReferenced(this.node,this.parent)}function isBlockScoped2(){return nodeIsBlockScoped(this.node)}function isVar2(){return nodeIsVar(this.node)}function isUser(){return this.node&&!!this.node.loc}function isGenerated(){return!this.isUser()}function isPure(e){return this.scope.isPure(this.node,e)}function isFlow2(){var e=this.node;return!!nodeIsFlow(e)||(isImportDeclaration$1$1(e)?"type"===e.importKind||"typeof"===e.importKind:isExportDeclaration$1$1(e)?"type"===e.exportKind:!!isImportSpecifier2(e)&&("type"===e.importKind||"typeof"===e.importKind))}function isRestProperty2(){return nodeIsRestElement(this.node)&&this.parentPath&&this.parentPath.isObjectPattern()}function isSpreadProperty2(){return nodeIsRestElement(this.node)&&this.parentPath&&this.parentPath.isObjectExpression()}function isForAwaitStatement(){return isForOfStatement3(this.node,{await:!0})}var NodePath_virtual_types_validator=Object.freeze({__proto__:null,isBindingIdentifier:isBindingIdentifier,isBlockScoped:isBlockScoped2,isExpression:isExpression$3$1,isFlow:isFlow2,isForAwaitStatement:isForAwaitStatement,isGenerated:isGenerated,isPure:isPure,isReferenced:isReferenced2,isReferencedIdentifier:isReferencedIdentifier,isReferencedMemberExpression:isReferencedMemberExpression,isRestProperty:isRestProperty2,isScope:isScope2,isSpreadProperty:isSpreadProperty2,isStatement:isStatement$13,isUser:isUser,isVar:isVar2}),DEPRECATED_KEYS2=lib_exports.DEPRECATED_KEYS,DEPRECATED_ALIASES2=lib_exports.DEPRECATED_ALIASES,FLIPPED_ALIAS_KEYS3=lib_exports.FLIPPED_ALIAS_KEYS,TYPES2=lib_exports.TYPES,deprecationWarning2=lib_exports.__internal__deprecationWarning;function isVirtualType(e){return e in virtualTypes}function isExplodedVisitor(e){return null==e?void 0:e._exploded}function explode(e){if(isExplodedVisitor(e))return e;e._exploded=!0;var t=!0,r=!1,n=void 0;try{for(var i,a=Object.keys(e)[Symbol.iterator]();!(t=(i=a.next()).done);t=!0){var s=i.value;if(!shouldIgnoreKey(s)){var o=s.split("|");if(1!==o.length){var l=e[s];delete e[s];var u=!0,c=!1,p=void 0;try{for(var d,f=o[Symbol.iterator]();!(u=(d=f.next()).done);u=!0){e[d.value]=l}}catch(e){c=!0,p=e}finally{try{u||null==f.return||f.return()}finally{if(c)throw p}}}}}}catch(e){r=!0,n=e}finally{try{t||null==a.return||a.return()}finally{if(r)throw n}}verify(e),delete e.__esModule,ensureEntranceObjects(e),ensureCallbackArrays(e);var h=!0,m=!1,y=void 0;try{for(var g,v=Object.keys(e)[Symbol.iterator]();!(h=(g=v.next()).done);h=!0){var b=g.value;if(!shouldIgnoreKey(b)&&isVirtualType(b)){var S=e[b],_=!0,T=!1,E=void 0;try{for(var x,P=Object.keys(S)[Symbol.iterator]();!(_=(x=P.next()).done);_=!0){var A=x.value;S[A]=wrapCheck(b,S[A])}}catch(e){T=!0,E=e}finally{try{_||null==P.return||P.return()}finally{if(T)throw E}}delete e[b];var $=virtualTypes[b];if(null!==$){var C=!0,w=!1,k=void 0;try{for(var I,N=$[Symbol.iterator]();!(C=(I=N.next()).done);C=!0){var O=I.value;e[O]?mergePair(e[O],S):e[O]=S}}catch(e){w=!0,k=e}finally{try{C||null==N.return||N.return()}finally{if(w)throw k}}}else mergePair(e,S)}}}catch(e){m=!0,y=e}finally{try{h||null==v.return||v.return()}finally{if(m)throw y}}var L=!0,D=!1,F=void 0;try{for(var R,M=Object.keys(e)[Symbol.iterator]();!(L=(R=M.next()).done);L=!0){var B=R.value;if(!shouldIgnoreKey(B)){var j=FLIPPED_ALIAS_KEYS3[B];if(B in DEPRECATED_KEYS2){var q=DEPRECATED_KEYS2[B];deprecationWarning2(B,q,"Visitor "),j=[q]}else if(B in DEPRECATED_ALIASES2){var U=DEPRECATED_ALIASES2[B];deprecationWarning2(B,U,"Visitor "),j=FLIPPED_ALIAS_KEYS3[U]}if(j){var V=e[B];delete e[B];var W=!0,K=!1,J=void 0;try{for(var X,Y=j[Symbol.iterator]();!(W=(X=Y.next()).done);W=!0){var G=X.value,z=e[G];z?mergePair(z,V):e[G]=Object.assign({},V)}}catch(e){K=!0,J=e}finally{try{W||null==Y.return||Y.return()}finally{if(K)throw J}}}}}}catch(e){D=!0,F=e}finally{try{L||null==M.return||M.return()}finally{if(D)throw F}}var H=!0,Q=!1,Z=void 0;try{for(var ee,te=Object.keys(e)[Symbol.iterator]();!(H=(ee=te.next()).done);H=!0){var re=ee.value;shouldIgnoreKey(re)||ensureCallbackArrays(e[re])}}catch(e){Q=!0,Z=e}finally{try{H||null==te.return||te.return()}finally{if(Q)throw Z}}return e}function verify(e){if(!e._verified){if("function"==typeof e)throw new Error("You passed `traverse()` a function when it expected a visitor object, are you sure you didn't mean `{ enter: Function }`?");var t=!0,r=!1,n=void 0;try{for(var i,a=Object.keys(e)[Symbol.iterator]();!(t=(i=a.next()).done);t=!0){var s=i.value;if("enter"!==s&&"exit"!==s||validateVisitorMethods(s,e[s]),!shouldIgnoreKey(s)){if(TYPES2.indexOf(s)<0)throw new Error("You gave us a visitor for the node type ".concat(s," but it's not a valid type"));var o=e[s];if("object"==typeof o){var l=!0,u=!1,c=void 0;try{for(var p,d=Object.keys(o)[Symbol.iterator]();!(l=(p=d.next()).done);l=!0){var f=p.value;if("enter"!==f&&"exit"!==f)throw new Error("You passed `traverse()` a visitor object with the property ".concat(s," that has the invalid property ").concat(f));validateVisitorMethods("".concat(s,".").concat(f),o[f])}}catch(e){u=!0,c=e}finally{try{l||null==d.return||d.return()}finally{if(u)throw c}}}}}}catch(e){r=!0,n=e}finally{try{t||null==a.return||a.return()}finally{if(r)throw n}}e._verified=!0}}function validateVisitorMethods(e,t){var r=[].concat(t),n=!0,i=!1,a=void 0;try{for(var s,o=r[Symbol.iterator]();!(n=(s=o.next()).done);n=!0){var l=s.value;if("function"!=typeof l)throw new TypeError("Non-function found defined in ".concat(e," with type ").concat(void 0===l?"undefined":_type_of(l)))}}catch(e){i=!0,a=e}finally{try{n||null==o.return||o.return()}finally{if(i)throw a}}}function merge2(e){for(var t=arguments.length>1&&void 0!==arguments[1]?arguments[1]:[],r=arguments.length>2?arguments[2]:void 0,n={},i=0;i<e.length;i++){var a=explode(e[i]),s=t[i],o=a;(s||r)&&(o=wrapWithStateOrWrapper(o,s,r)),mergePair(n,o);var l=!0,u=!1,c=void 0;try{for(var p,d=Object.keys(a)[Symbol.iterator]();!(l=(p=d.next()).done);l=!0){var f=p.value;if(!shouldIgnoreKey(f)){var h=a[f];(s||r)&&(h=wrapWithStateOrWrapper(h,s,r)),mergePair(n[f]||(n[f]={}),h)}}}catch(e){u=!0,c=e}finally{try{l||null==d.return||d.return()}finally{if(u)throw c}}}return Object.assign({},n,{_exploded:!0,_verified:!0})}function wrapWithStateOrWrapper(e,t,r){for(var n=function(n,a){var s=a[n],o=e[s];if(!Array.isArray(o))return"continue";o=o.map((function(e){var n=e;return t&&(n=function(r){e.call(t,r,t)}),r&&(n=r(null==t?void 0:t.key,s,n)),n!==e&&(n.toString=function(){return e.toString()}),n})),i[s]=o},i={},a=0,s=["enter","exit"];a<s.length;a++)n(a,s);return i}function ensureEntranceObjects(e){var t=!0,r=!1,n=void 0;try{for(var i,a=Object.keys(e)[Symbol.iterator]();!(t=(i=a.next()).done);t=!0){var s=i.value;if(!shouldIgnoreKey(s)){var o=e[s];"function"==typeof o&&(e[s]={enter:o})}}}catch(e){r=!0,n=e}finally{try{t||null==a.return||a.return()}finally{if(r)throw n}}}function ensureCallbackArrays(e){e.enter&&!Array.isArray(e.enter)&&(e.enter=[e.enter]),e.exit&&!Array.isArray(e.exit)&&(e.exit=[e.exit])}function wrapCheck(e,t){var r="is".concat(e),n=NodePath_virtual_types_validator[r],i=function(e){if(n.call(e))return t.apply(this,arguments)};return i.toString=function(){return t.toString()},i}function shouldIgnoreKey(e){return"_"===e[0]||("enter"===e||"exit"===e||"shouldSkip"===e||("denylist"===e||"noScope"===e||"skipKeys"===e))}function mergePair(e,t){for(var r=0,n=["enter","exit"];r<n.length;r++){var i=n[r];t[i]&&(e[i]=[].concat(e[i]||[],t[i]))}}var visitors$2=Object.freeze({__proto__:null,explode:explode,isExplodedVisitor:isExplodedVisitor,merge:merge2,verify:verify}),pathsCache=new WeakMap,scope$1=new WeakMap;function clear(){clearPath(),clearScope()}function clearPath(){pathsCache=new WeakMap}function clearScope(){scope$1=new WeakMap}var nullHub=Object.freeze({});function getCachedPaths(e,t){var r;return null===(r=pathsCache.get(null!=e?e:nullHub))||void 0===r?void 0:r.get(t)}function getOrCreateCachedPaths(e,t){var r=pathsCache.get(null!=e?e:nullHub);r||pathsCache.set(null!=e?e:nullHub,r=new WeakMap);var n=r.get(t);return n||r.set(t,n=new Map),n}var cache=Object.freeze({__proto__:null,clear:clear,clearPath:clearPath,clearScope:clearScope,getCachedPaths:getCachedPaths,getOrCreateCachedPaths:getOrCreateCachedPaths,get path(){return pathsCache},get scope(){return scope$1}}),renameVisitor={ReferencedIdentifier:function(e,t){var r=e.node;r.name===t.oldName&&(r.name=t.newName)},Scope:function(e,t){e.scope.bindingIdentifierEquals(t.oldName,t.binding.identifier)||(e.skip(),e.isMethod()&&requeueComputedKeyAndDecorators(e))},ObjectProperty:function(e,t){var r,n=e.node,i=e.scope,a=n.key.name;!n.shorthand||a!==t.oldName&&a!==t.newName||i.getBindingIdentifier(a)!==t.binding.identifier||(n.shorthand=!1,(null===(r=n.extra)||void 0===r?void 0:r.shorthand)&&(n.extra.shorthand=!1))},"AssignmentExpression|Declaration|VariableDeclarator":function(e,t){if(!e.isVariableDeclaration()){var r=e.getOuterBindingIdentifiers();for(var n in r)n===t.oldName&&(r[n].name=t.newName)}}},Renamer=function(){function e(t,r,n){_class_call_check(this,e),this.newName=n,this.oldName=r,this.binding=t}return _create_class(e,[{key:"maybeConvertFromExportDeclaration",value:function(e){var t=e.parentPath;if(t.isExportDeclaration()){if(t.isExportDefaultDeclaration()){var r=t.node.declaration;if(isDeclaration(r)&&!r.id)return}t.isExportAllDeclaration()||splitExportDeclaration(t)}}},{key:"maybeConvertFromClassFunctionDeclaration",value:function(e){return e}},{key:"maybeConvertFromClassFunctionExpression",value:function(e){return e}},{key:"rename",value:function(){var e=this,t=e.binding,r=e.oldName,n=e.newName,i=t.scope,a=t.path,s=a.find((function(e){return e.isDeclaration()||e.isFunctionExpression()||e.isClassExpression()}));s&&(s.getOuterBindingIdentifiers()[r]===t.identifier&&this.maybeConvertFromExportDeclaration(s));traverseNode(i.block,explode(renameVisitor),i,this,i.path,{discriminant:!0}),i.removeOwnBinding(r),i.bindings[n]=t,this.binding.identifier.name=n,s&&(this.maybeConvertFromClassFunctionDeclaration(a),this.maybeConvertFromClassFunctionExpression(a))}}]),e}(),Binding=function(){function e(t){var r=t.identifier,n=t.scope,i=t.path,a=t.kind;_class_call_check(this,e),__publicField(this,"identifier"),__publicField(this,"scope"),__publicField(this,"path"),__publicField(this,"kind"),__publicField(this,"constantViolations",[]),__publicField(this,"constant",!0),__publicField(this,"referencePaths",[]),__publicField(this,"referenced",!1),__publicField(this,"references",0),this.identifier=r,this.scope=n,this.path=i,this.kind=a,"var"!==a&&"hoisted"!==a||!isDeclaredInLoop(i)||this.reassign(i),this.clearValue()}return _create_class(e,[{key:"deoptValue",value:function(){this.clearValue(),this.hasDeoptedValue=!0}},{key:"setValue",value:function(e){this.hasDeoptedValue||(this.hasValue=!0,this.value=e)}},{key:"clearValue",value:function(){this.hasDeoptedValue=!1,this.hasValue=!1,this.value=null}},{key:"reassign",value:function(e){this.constant=!1,-1===this.constantViolations.indexOf(e)&&this.constantViolations.push(e)}},{key:"reference",value:function(e){-1===this.referencePaths.indexOf(e)&&(this.referenced=!0,this.references++,this.referencePaths.push(e))}},{key:"dereference",value:function(){this.references--,this.referenced=!!this.references}}]),e}();function isDeclaredInLoop(e){for(var t,r=e.parentPath,n=e.key;r;r=(t=r).parentPath,n=t.key,t){if(r.isFunctionParent())return!1;if(r.isWhile()||r.isForXStatement()||r.isForStatement()&&"body"===n)return!0}return!1}var NOT_LOCAL_BINDING3=lib_exports.NOT_LOCAL_BINDING,callExpression$3=lib_exports.callExpression,cloneNode$3=lib_exports.cloneNode,getBindingIdentifiers$3=lib_exports.getBindingIdentifiers,identifier$3=lib_exports.identifier,isArrayExpression3=lib_exports.isArrayExpression,isBinary3=lib_exports.isBinary,isClass2=lib_exports.isClass,isClassBody3=lib_exports.isClassBody,isClassDeclaration3=lib_exports.isClassDeclaration,isExportAllDeclaration2=lib_exports.isExportAllDeclaration,isExportDefaultDeclaration3=lib_exports.isExportDefaultDeclaration,isExportNamedDeclaration$1=lib_exports.isExportNamedDeclaration,isFunctionDeclaration2=lib_exports.isFunctionDeclaration,isIdentifier$5$1=lib_exports.isIdentifier,isImportDeclaration2=lib_exports.isImportDeclaration,isLiteral$12=lib_exports.isLiteral,isMethod2=lib_exports.isMethod,isModuleSpecifier2=lib_exports.isModuleSpecifier,isNullLiteral3=lib_exports.isNullLiteral,isObjectExpression3=lib_exports.isObjectExpression,isProperty2=lib_exports.isProperty,isPureish2=lib_exports.isPureish,isRegExpLiteral3=lib_exports.isRegExpLiteral,isSuper$1=lib_exports.isSuper,isTaggedTemplateExpression2=lib_exports.isTaggedTemplateExpression,isTemplateLiteral3=lib_exports.isTemplateLiteral,isThisExpression2=lib_exports.isThisExpression,isUnaryExpression2=lib_exports.isUnaryExpression,isVariableDeclaration$1$1=lib_exports.isVariableDeclaration,matchesPattern$1$1=lib_exports.matchesPattern,memberExpression$1=lib_exports.memberExpression,numericLiteral$2=lib_exports.numericLiteral,toIdentifier2=lib_exports.toIdentifier,variableDeclaration$1$1=lib_exports.variableDeclaration,variableDeclarator$1=lib_exports.variableDeclarator,isRecordExpression2=lib_exports.isRecordExpression,isTupleExpression2=lib_exports.isTupleExpression,isObjectProperty3=lib_exports.isObjectProperty,isTopicReference2=lib_exports.isTopicReference,isMetaProperty2=lib_exports.isMetaProperty,isPrivateName2=lib_exports.isPrivateName,isExportDeclaration3=lib_exports.isExportDeclaration,buildUndefinedNode$1=lib_exports.buildUndefinedNode;function gatherNodeParts(e,t){switch(null==e?void 0:e.type){default:var r;if(isImportDeclaration2(e)||isExportDeclaration3(e))if((isExportAllDeclaration2(e)||isExportNamedDeclaration$1(e)||isImportDeclaration2(e))&&e.source)gatherNodeParts(e.source,t);else if((isExportNamedDeclaration$1(e)||isImportDeclaration2(e))&&(null===(r=e.specifiers)||void 0===r?void 0:r.length)){var n=!0,i=!1,a=void 0;try{for(var s,o=e.specifiers[Symbol.iterator]();!(n=(s=o.next()).done);n=!0){gatherNodeParts(s.value,t)}}catch(e){i=!0,a=e}finally{try{n||null==o.return||o.return()}finally{if(i)throw a}}}else(isExportDefaultDeclaration3(e)||isExportNamedDeclaration$1(e))&&e.declaration&&gatherNodeParts(e.declaration,t);else isModuleSpecifier2(e)?gatherNodeParts(e.local,t):!isLiteral$12(e)||isNullLiteral3(e)||isRegExpLiteral3(e)||isTemplateLiteral3(e)||t.push(e.value);break;case"MemberExpression":case"OptionalMemberExpression":case"JSXMemberExpression":gatherNodeParts(e.object,t),gatherNodeParts(e.property,t);break;case"Identifier":case"JSXIdentifier":t.push(e.name);break;case"CallExpression":case"OptionalCallExpression":case"NewExpression":gatherNodeParts(e.callee,t);break;case"ObjectExpression":case"ObjectPattern":var l=!0,u=!1,c=void 0;try{for(var p,d=e.properties[Symbol.iterator]();!(l=(p=d.next()).done);l=!0){gatherNodeParts(p.value,t)}}catch(e){u=!0,c=e}finally{try{l||null==d.return||d.return()}finally{if(u)throw c}}break;case"SpreadElement":case"RestElement":case"UnaryExpression":case"UpdateExpression":gatherNodeParts(e.argument,t);break;case"ObjectProperty":case"ObjectMethod":case"ClassProperty":case"ClassMethod":case"ClassPrivateProperty":case"ClassPrivateMethod":gatherNodeParts(e.key,t);break;case"ThisExpression":t.push("this");break;case"Super":t.push("super");break;case"Import":t.push("import");break;case"DoExpression":t.push("do");break;case"YieldExpression":t.push("yield"),gatherNodeParts(e.argument,t);break;case"AwaitExpression":t.push("await"),gatherNodeParts(e.argument,t);break;case"AssignmentExpression":gatherNodeParts(e.left,t);break;case"VariableDeclarator":case"FunctionExpression":case"FunctionDeclaration":case"ClassExpression":case"ClassDeclaration":case"PrivateName":gatherNodeParts(e.id,t);break;case"ParenthesizedExpression":gatherNodeParts(e.expression,t);break;case"MetaProperty":gatherNodeParts(e.meta,t),gatherNodeParts(e.property,t);break;case"JSXElement":gatherNodeParts(e.openingElement,t);break;case"JSXOpeningElement":gatherNodeParts(e.name,t);break;case"JSXFragment":gatherNodeParts(e.openingFragment,t);break;case"JSXOpeningFragment":t.push("Fragment");break;case"JSXNamespacedName":gatherNodeParts(e.namespace,t),gatherNodeParts(e.name,t)}}var collectorVisitor={ForStatement:function(e){var t=e.get("init");if(t.isVar()){var r=e.scope;(r.getFunctionParent()||r.getProgramParent()).registerBinding("var",t)}},Declaration:function(e){e.isBlockScoped()||(e.isImportDeclaration()||e.isExportDeclaration()||(e.scope.getFunctionParent()||e.scope.getProgramParent()).registerDeclaration(e))},ImportDeclaration:function(e){e.scope.getBlockParent().registerDeclaration(e)},ReferencedIdentifier:function(e,t){t.references.push(e)},ForXStatement:function(e,t){var r=e.get("left");if(r.isPattern()||r.isIdentifier())t.constantViolations.push(e);else if(r.isVar()){var n=e.scope;(n.getFunctionParent()||n.getProgramParent()).registerBinding("var",r)}},ExportDeclaration:{exit:function(e){var t=e.node,r=e.scope;if(!isExportAllDeclaration2(t)){var n=t.declaration;if(isClassDeclaration3(n)||isFunctionDeclaration2(n)){var i=n.id;if(!i)return;var a=r.getBinding(i.name);null==a||a.reference(e)}else if(isVariableDeclaration$1$1(n)){var s=!0,o=!1,l=void 0;try{for(var u,c=n.declarations[Symbol.iterator]();!(s=(u=c.next()).done);s=!0){var p=u.value,d=!0,f=!1,h=void 0;try{for(var m,y=Object.keys(getBindingIdentifiers$3(p))[Symbol.iterator]();!(d=(m=y.next()).done);d=!0){var g=m.value,v=r.getBinding(g);null==v||v.reference(e)}}catch(e){f=!0,h=e}finally{try{d||null==y.return||y.return()}finally{if(f)throw h}}}}catch(e){o=!0,l=e}finally{try{s||null==c.return||c.return()}finally{if(o)throw l}}}}}},LabeledStatement:function(e){e.scope.getBlockParent().registerDeclaration(e)},AssignmentExpression:function(e,t){t.assignments.push(e)},UpdateExpression:function(e,t){t.constantViolations.push(e)},UnaryExpression:function(e,t){"delete"===e.node.operator&&t.constantViolations.push(e)},BlockScoped:function(e){var t=e.scope;if(t.path===e&&(t=t.parent),t.getBlockParent().registerDeclaration(e),e.isClassDeclaration()&&e.node.id){var r=e.node.id.name;e.scope.bindings[r]=e.scope.parent.getBinding(r)}},CatchClause:function(e){e.scope.registerBinding("let",e)},Function:function(e){var t=e.get("params"),r=!0,n=!1,i=void 0;try{for(var a,s=t[Symbol.iterator]();!(r=(a=s.next()).done);r=!0){var o=a.value;e.scope.registerBinding("param",o)}}catch(e){n=!0,i=e}finally{try{r||null==s.return||s.return()}finally{if(n)throw i}}e.isFunctionExpression()&&e.has("id")&&!e.get("id").node[NOT_LOCAL_BINDING3]&&e.scope.registerBinding("local",e.get("id"),e)},ClassExpression:function(e){e.has("id")&&!e.get("id").node[NOT_LOCAL_BINDING3]&&e.scope.registerBinding("local",e)}},uid=0,_Scope=function(){function e(t){_class_call_check(this,e),__publicField(this,"uid"),__publicField(this,"path"),__publicField(this,"block"),__publicField(this,"labels"),__publicField(this,"inited"),__publicField(this,"bindings"),__publicField(this,"references"),__publicField(this,"globals"),__publicField(this,"uids"),__publicField(this,"data"),__publicField(this,"crawling");var r=t.node,n=scope$1.get(r);if((null==n?void 0:n.path)===t)return n;scope$1.set(r,this),this.uid=uid++,this.block=r,this.path=t,this.labels=new Map,this.inited=!1}return _create_class(e,[{key:"parent",get:function(){var e,t=this.path;do{var r="key"===t.key||"decorators"===t.listKey;t=t.parentPath,r&&t.isMethod()&&(t=t.parentPath),t&&t.isScope()&&(e=t)}while(t&&!e);return null==e?void 0:e.scope}},{key:"parentBlock",get:function(){return this.path.parent}},{key:"hub",get:function(){return this.path.hub}},{key:"traverse",value:function(e,t,r){traverse3(e,t,this,r,this.path)}},{key:"generateDeclaredUidIdentifier",value:function(e){var t=this.generateUidIdentifier(e);return this.push({id:t}),cloneNode$3(t)}},{key:"generateUidIdentifier",value:function(e){return identifier$3(this.generateUid(e))}},{key:"generateUid",value:function(){var e,t=arguments.length>0&&void 0!==arguments[0]?arguments[0]:"temp";t=toIdentifier2(t).replace(/^_+/,"").replace(/[0-9]+$/g,"");var r=1;do{e=this._generateUid(t,r),r++}while(this.hasLabel(e)||this.hasBinding(e)||this.hasGlobal(e)||this.hasReference(e));var n=this.getProgramParent();return n.references[e]=!0,n.uids[e]=!0,e}},{key:"_generateUid",value:function(e,t){var r=e;return t>1&&(r+=t),"_".concat(r)}},{key:"generateUidBasedOnNode",value:function(e,t){var r=[];gatherNodeParts(e,r);var n=r.join("$");return n=n.replace(/^_/,"")||t||"ref",this.generateUid(n.slice(0,20))}},{key:"generateUidIdentifierBasedOnNode",value:function(e,t){return identifier$3(this.generateUidBasedOnNode(e,t))}},{key:"isStatic",value:function(e){if(isThisExpression2(e)||isSuper$1(e)||isTopicReference2(e))return!0;if(isIdentifier$5$1(e)){var t=this.getBinding(e.name);return t?t.constant:this.hasBinding(e.name)}return!1}},{key:"maybeGenerateMemoised",value:function(e,t){if(this.isStatic(e))return null;var r=this.generateUidIdentifierBasedOnNode(e);return t?r:(this.push({id:r}),cloneNode$3(r))}},{key:"checkBlockScopedCollisions",value:function(e,t,r,n){if("param"!==t&&("local"!==e.kind&&("let"===t||"let"===e.kind||"const"===e.kind||"module"===e.kind||"param"===e.kind&&"const"===t)))throw this.hub.buildError(n,'Duplicate declaration "'.concat(r,'"'),TypeError)}},{key:"rename",value:function(e,t){var r=this.getBinding(e);r&&(t||(t=this.generateUidIdentifier(e).name),new Renamer(r,e,t).rename())}},{key:"_renameFromMap",value:function(e,t,r,n){e[t]&&(e[r]=n,e[t]=null)}},{key:"dump",value:function(){var e="-".repeat(60);console.log(e);var t=this;do{console.log("#",t.block.type);var r=!0,n=!1,i=void 0;try{for(var a,s=Object.keys(t.bindings)[Symbol.iterator]();!(r=(a=s.next()).done);r=!0){var o=a.value,l=t.bindings[o];console.log(" -",o,{constant:l.constant,references:l.references,violations:l.constantViolations.length,kind:l.kind})}}catch(e){n=!0,i=e}finally{try{r||null==s.return||s.return()}finally{if(n)throw i}}}while(t=t.parent);console.log(e)}},{key:"toArray",value:function(e,t,r){if(isIdentifier$5$1(e)){var n=this.getBinding(e.name);if((null==n?void 0:n.constant)&&n.path.isGenericType("Array"))return e}if(isArrayExpression3(e))return e;if(isIdentifier$5$1(e,{name:"arguments"}))return callExpression$3(memberExpression$1(memberExpression$1(memberExpression$1(identifier$3("Array"),identifier$3("prototype")),identifier$3("slice")),identifier$3("call")),[e]);var i,a=[e];return!0===t?i="toConsumableArray":"number"==typeof t?(a.push(numericLiteral$2(t)),i="slicedToArray"):i="toArray",r&&(a.unshift(this.hub.addHelper(i)),i="maybeArrayLike"),callExpression$3(this.hub.addHelper(i),a)}},{key:"hasLabel",value:function(e){return!!this.getLabel(e)}},{key:"getLabel",value:function(e){return this.labels.get(e)}},{key:"registerLabel",value:function(e){this.labels.set(e.node.label.name,e)}},{key:"registerDeclaration",value:function(e){if(e.isLabeledStatement())this.registerLabel(e);else if(e.isFunctionDeclaration())this.registerBinding("hoisted",e.get("id"),e);else if(e.isVariableDeclaration()){var t=e.get("declarations"),r=e.node.kind,n=!0,i=!1,a=void 0;try{for(var s,o=t[Symbol.iterator]();!(n=(s=o.next()).done);n=!0){var l=s.value;this.registerBinding("using"===r||"await using"===r?"const":r,l)}}catch(e){i=!0,a=e}finally{try{n||null==o.return||o.return()}finally{if(i)throw a}}}else if(e.isClassDeclaration()){if(e.node.declare)return;this.registerBinding("let",e)}else if(e.isImportDeclaration()){var u="type"===e.node.importKind||"typeof"===e.node.importKind,c=e.get("specifiers"),p=!0,d=!1,f=void 0;try{for(var h,m=c[Symbol.iterator]();!(p=(h=m.next()).done);p=!0){var y=h.value,g=u||y.isImportSpecifier()&&("type"===y.node.importKind||"typeof"===y.node.importKind);this.registerBinding(g?"unknown":"module",y)}}catch(e){d=!0,f=e}finally{try{p||null==m.return||m.return()}finally{if(d)throw f}}}else if(e.isExportDeclaration()){var v=e.get("declaration");(v.isClassDeclaration()||v.isFunctionDeclaration()||v.isVariableDeclaration())&&this.registerDeclaration(v)}else this.registerBinding("unknown",e)}},{key:"buildUndefinedNode",value:function(){return buildUndefinedNode$1()}},{key:"registerConstantViolation",value:function(e){var t=e.getBindingIdentifiers(),r=!0,n=!1,i=void 0;try{for(var a,s=Object.keys(t)[Symbol.iterator]();!(r=(a=s.next()).done);r=!0){var o,l=a.value;null===(o=this.getBinding(l))||void 0===o||o.reassign(e)}}catch(e){n=!0,i=e}finally{try{r||null==s.return||s.return()}finally{if(n)throw i}}}},{key:"registerBinding",value:function(e,t){var r=arguments.length>2&&void 0!==arguments[2]?arguments[2]:t;if(!e)throw new ReferenceError("no `kind`");if(t.isVariableDeclaration()){var n=t.get("declarations"),i=!0,a=!1,s=void 0;try{for(var o,l=n[Symbol.iterator]();!(i=(o=l.next()).done);i=!0){var u=o.value;this.registerBinding(e,u)}}catch(e){a=!0,s=e}finally{try{i||null==l.return||l.return()}finally{if(a)throw s}}}else{var c=this.getProgramParent(),p=t.getOuterBindingIdentifiers(!0),d=!0,f=!1,h=void 0;try{for(var m,y=Object.keys(p)[Symbol.iterator]();!(d=(m=y.next()).done);d=!0){var g=m.value;c.references[g]=!0;var v=!0,b=!1,S=void 0;try{for(var _,T=p[g][Symbol.iterator]();!(v=(_=T.next()).done);v=!0){var E=_.value,x=this.getOwnBinding(g);if(x){if(x.identifier===E)continue;this.checkBlockScopedCollisions(x,e,g,E)}x?this.registerConstantViolation(r):this.bindings[g]=new Binding({identifier:E,scope:this,path:r,kind:e})}}catch(e){b=!0,S=e}finally{try{v||null==T.return||T.return()}finally{if(b)throw S}}}}catch(e){f=!0,h=e}finally{try{d||null==y.return||y.return()}finally{if(f)throw h}}}}},{key:"addGlobal",value:function(e){this.globals[e.name]=e}},{key:"hasUid",value:function(e){var t=this;do{if(t.uids[e])return!0}while(t=t.parent);return!1}},{key:"hasGlobal",value:function(e){var t=this;do{if(t.globals[e])return!0}while(t=t.parent);return!1}},{key:"hasReference",value:function(e){return!!this.getProgramParent().references[e]}},{key:"isPure",value:function(e,t){if(isIdentifier$5$1(e)){var r=this.getBinding(e.name);return!!r&&(!t||r.constant)}if(isThisExpression2(e)||isMetaProperty2(e)||isTopicReference2(e)||isPrivateName2(e))return!0;var n,i,a;if(isClass2(e))return!(e.superClass&&!this.isPure(e.superClass,t))&&(!((null===(n=e.decorators)||void 0===n?void 0:n.length)>0)&&this.isPure(e.body,t));if(isClassBody3(e)){var s=!0,o=!1,l=void 0;try{for(var u,c=e.body[Symbol.iterator]();!(s=(u=c.next()).done);s=!0){var p=u.value;if(!this.isPure(p,t))return!1}}catch(e){o=!0,l=e}finally{try{s||null==c.return||c.return()}finally{if(o)throw l}}return!0}if(isBinary3(e))return this.isPure(e.left,t)&&this.isPure(e.right,t);if(isArrayExpression3(e)||isTupleExpression2(e)){var d=!0,f=!1,h=void 0;try{for(var m,y=e.elements[Symbol.iterator]();!(d=(m=y.next()).done);d=!0){var g=m.value;if(null!==g&&!this.isPure(g,t))return!1}}catch(e){f=!0,h=e}finally{try{d||null==y.return||y.return()}finally{if(f)throw h}}return!0}if(isObjectExpression3(e)||isRecordExpression2(e)){var v=!0,b=!1,S=void 0;try{for(var _,T=e.properties[Symbol.iterator]();!(v=(_=T.next()).done);v=!0){var E=_.value;if(!this.isPure(E,t))return!1}}catch(e){b=!0,S=e}finally{try{v||null==T.return||T.return()}finally{if(b)throw S}}return!0}if(isMethod2(e))return!(e.computed&&!this.isPure(e.key,t))&&!((null===(i=e.decorators)||void 0===i?void 0:i.length)>0);if(isProperty2(e))return!(e.computed&&!this.isPure(e.key,t))&&(!((null===(a=e.decorators)||void 0===a?void 0:a.length)>0)&&!((isObjectProperty3(e)||e.static)&&null!==e.value&&!this.isPure(e.value,t)));if(isUnaryExpression2(e))return this.isPure(e.argument,t);if(isTaggedTemplateExpression2(e))return matchesPattern$1$1(e.tag,"String.raw")&&!this.hasBinding("String",!0)&&this.isPure(e.quasi,t);if(isTemplateLiteral3(e)){var x=!0,P=!1,A=void 0;try{for(var $,C=e.expressions[Symbol.iterator]();!(x=($=C.next()).done);x=!0){var w=$.value;if(!this.isPure(w,t))return!1}}catch(e){P=!0,A=e}finally{try{x||null==C.return||C.return()}finally{if(P)throw A}}return!0}return isPureish2(e)}},{key:"setData",value:function(e,t){return this.data[e]=t}},{key:"getData",value:function(e){var t=this;do{var r=t.data[e];if(null!=r)return r}while(t=t.parent)}},{key:"removeData",value:function(e){var t=this;do{null!=t.data[e]&&(t.data[e]=null)}while(t=t.parent)}},{key:"init",value:function(){this.inited||(this.inited=!0,this.crawl())}},{key:"crawl",value:function(){var e=this.path;this.references=Object.create(null),this.bindings=Object.create(null),this.globals=Object.create(null),this.uids=Object.create(null),this.data=Object.create(null);var t=this.getProgramParent();if(!t.crawling){var r={references:[],constantViolations:[],assignments:[]};if(this.crawling=!0,"Program"!==e.type&&isExplodedVisitor(collectorVisitor)){var n=!0,i=!1,a=void 0;try{for(var s,o=collectorVisitor.enter[Symbol.iterator]();!(n=(s=o.next()).done);n=!0){s.value.call(r,e,r)}}catch(e){i=!0,a=e}finally{try{n||null==o.return||o.return()}finally{if(i)throw a}}var l=collectorVisitor[e.type];if(l){var u=!0,c=!1,p=void 0;try{for(var d,f=l.enter[Symbol.iterator]();!(u=(d=f.next()).done);u=!0){d.value.call(r,e,r)}}catch(e){c=!0,p=e}finally{try{u||null==f.return||f.return()}finally{if(c)throw p}}}}e.traverse(collectorVisitor,r),this.crawling=!1;var h=!0,m=!1,y=void 0;try{for(var g,v=r.assignments[Symbol.iterator]();!(h=(g=v.next()).done);h=!0){var b=g.value,S=b.getBindingIdentifiers(),_=!0,T=!1,E=void 0;try{for(var x,P=Object.keys(S)[Symbol.iterator]();!(_=(x=P.next()).done);_=!0){var A=x.value;b.scope.getBinding(A)||t.addGlobal(S[A])}}catch(e){T=!0,E=e}finally{try{_||null==P.return||P.return()}finally{if(T)throw E}}b.scope.registerConstantViolation(b)}}catch(e){m=!0,y=e}finally{try{h||null==v.return||v.return()}finally{if(m)throw y}}var $=!0,C=!1,w=void 0;try{for(var k,I=r.references[Symbol.iterator]();!($=(k=I.next()).done);$=!0){var N=k.value,O=N.scope.getBinding(N.node.name);O?O.reference(N):t.addGlobal(N.node)}}catch(e){C=!0,w=e}finally{try{$||null==I.return||I.return()}finally{if(C)throw w}}var L=!0,D=!1,F=void 0;try{for(var R,M=r.constantViolations[Symbol.iterator]();!(L=(R=M.next()).done);L=!0){var B=R.value;B.scope.registerConstantViolation(B)}}catch(e){D=!0,F=e}finally{try{L||null==M.return||M.return()}finally{if(D)throw F}}}}},{key:"push",value:function(e){var t=this.path;t.isPattern()?t=this.getPatternParent().path:t.isBlockStatement()||t.isProgram()||(t=this.getBlockParent().path),t.isSwitchStatement()&&(t=(this.getFunctionParent()||this.getProgramParent()).path);var r=e.init,n=e.unique,i=e.kind,a=void 0===i?"var":i,s=e.id;if(!r&&!n&&("var"===a||"let"===a)&&t.isFunction()&&!t.node.name&&isCallExpression$5(t.parent,{callee:t.node})&&t.parent.arguments.length<=t.node.params.length&&isIdentifier$r(s))return t.pushContainer("params",s),void t.scope.registerBinding("param",t.get("params")[t.node.params.length-1]);(t.isLoop()||t.isCatchClause()||t.isFunction())&&(t.ensureBlock(),t=t.get("body"));var o=null==e._blockHoist?2:e._blockHoist,l="declaration:".concat(a,":").concat(o),u=!n&&t.getData(l);if(!u){var c=variableDeclaration$1$1(a,[]);c._blockHoist=o,u=_sliced_to_array(t.unshiftContainer("body",[c]),1)[0],n||t.setData(l,u)}var p=variableDeclarator$1(s,r),d=u.node.declarations.push(p);t.scope.registerBinding(a,u.get("declarations")[d-1])}},{key:"getProgramParent",value:function(){var e=this;do{if(e.path.isProgram())return e}while(e=e.parent);throw new Error("Couldn't find a Program")}},{key:"getFunctionParent",value:function(){var e=this;do{if(e.path.isFunctionParent())return e}while(e=e.parent);return null}},{key:"getBlockParent",value:function(){var e=this;do{if(e.path.isBlockParent())return e}while(e=e.parent);throw new Error("We couldn't find a BlockStatement, For, Switch, Function, Loop or Program...")}},{key:"getPatternParent",value:function(){var e=this;do{if(!e.path.isPattern())return e.getBlockParent()}while(e=e.parent.parent);throw new Error("We couldn't find a BlockStatement, For, Switch, Function, Loop or Program...")}},{key:"getAllBindings",value:function(){var e=Object.create(null),t=this;do{var r=!0,n=!1,i=void 0;try{for(var a,s=Object.keys(t.bindings)[Symbol.iterator]();!(r=(a=s.next()).done);r=!0){var o=a.value;o in e==!1&&(e[o]=t.bindings[o])}}catch(e){n=!0,i=e}finally{try{r||null==s.return||s.return()}finally{if(n)throw i}}t=t.parent}while(t);return e}},{key:"getAllBindingsOfKind",value:function(){for(var e=arguments.length,t=new Array(e),r=0;r<e;r++)t[r]=arguments[r];var n=Object.create(null),i=!0,a=!1,s=void 0;try{for(var o,l=t[Symbol.iterator]();!(i=(o=l.next()).done);i=!0){var u=o.value,c=this;do{var p=!0,d=!1,f=void 0;try{for(var h,m=Object.keys(c.bindings)[Symbol.iterator]();!(p=(h=m.next()).done);p=!0){var y=h.value,g=c.bindings[y];g.kind===u&&(n[y]=g)}}catch(e){d=!0,f=e}finally{try{p||null==m.return||m.return()}finally{if(d)throw f}}c=c.parent}while(c)}}catch(e){a=!0,s=e}finally{try{i||null==l.return||l.return()}finally{if(a)throw s}}return n}},{key:"bindingIdentifierEquals",value:function(e,t){return this.getBindingIdentifier(e)===t}},{key:"getBinding",value:function(e){var t,r=this;do{var n=r.getOwnBinding(e);if(n){if(!(null==t?void 0:t.isPattern())||"param"===n.kind||"local"===n.kind)return n}else if(!n&&"arguments"===e&&r.path.isFunction()&&!r.path.isArrowFunctionExpression())break;t=r.path}while(r=r.parent)}},{key:"getOwnBinding",value:function(e){return this.bindings[e]}},{key:"getBindingIdentifier",value:function(e){var t;return null===(t=this.getBinding(e))||void 0===t?void 0:t.identifier}},{key:"getOwnBindingIdentifier",value:function(e){var t=this.bindings[e];return null==t?void 0:t.identifier}},{key:"hasOwnBinding",value:function(e){return!!this.getOwnBinding(e)}},{key:"hasBinding",value:function(t,r){return!!t&&(!!this.hasOwnBinding(t)||("boolean"==typeof r&&(r={noGlobals:r}),!!this.parentHasBinding(t,r)||(!((null==r?void 0:r.noUids)||!this.hasUid(t))||(!((null==r?void 0:r.noGlobals)||!e.globals.includes(t))||!((null==r?void 0:r.noGlobals)||!e.contextVariables.includes(t))))))}},{key:"parentHasBinding",value:function(e,t){var r;return null===(r=this.parent)||void 0===r?void 0:r.hasBinding(e,t)}},{key:"moveBindingTo",value:function(e,t){var r=this.getBinding(e);r&&(r.scope.removeOwnBinding(e),r.scope=t,t.bindings[e]=r)}},{key:"removeOwnBinding",value:function(e){delete this.bindings[e]}},{key:"removeBinding",value:function(e){var t;null===(t=this.getBinding(e))||void 0===t||t.scope.removeOwnBinding(e);var r=this;do{r.uids[e]&&(r.uids[e]=!1)}while(r=r.parent)}}]),e}();__publicField(_Scope,"globals",Object.keys(import_globals.default.builtin)),__publicField(_Scope,"contextVariables",["arguments","undefined","Infinity","NaN"]);var Scope2=_Scope,VISITOR_KEYS$4=lib_exports.VISITOR_KEYS;function findParent$1(e){for(var t=this;t=t.parentPath;)if(e(t))return t;return null}function find(e){var t=this;do{if(e(t))return t}while(t=t.parentPath);return null}function getFunctionParent(){return this.findParent((function(e){return e.isFunction()}))}function getStatementParent(){var e=this;do{if(!e.parentPath||Array.isArray(e.container)&&e.isStatement())break;e=e.parentPath}while(e);if(e&&(e.isProgram()||e.isFile()))throw new Error("File/Program node, we can't possibly find a statement parent to this");return e}function getEarliestCommonAncestorFrom(e){return this.getDeepestCommonAncestorFrom(e,(function(e,t,r){var n,i=VISITOR_KEYS$4[e.type],a=!0,s=!1,o=void 0;try{for(var l,u=r[Symbol.iterator]();!(a=(l=u.next()).done);a=!0){var c=l.value[t+1];if(n)if(c.listKey&&n.listKey===c.listKey&&c.key<n.key)n=c;else i.indexOf(n.parentKey)>i.indexOf(c.parentKey)&&(n=c);else n=c}}catch(e){s=!0,o=e}finally{try{a||null==u.return||u.return()}finally{if(s)throw o}}return n}))}function getDeepestCommonAncestorFrom(e,t){var r=this;if(!e.length)return this;if(1===e.length)return e[0];var n,i,a=1/0,s=e.map((function(e){var t=[];do{t.unshift(e)}while((e=e.parentPath)&&e!==r);return t.length<a&&(a=t.length),t})),o=s[0];e:for(var l=0;l<a;l++){var u=o[l],c=!0,p=!1,d=void 0;try{for(var f,h=s[Symbol.iterator]();!(c=(f=h.next()).done);c=!0){if(f.value[l]!==u)break e}}catch(e){p=!0,d=e}finally{try{c||null==h.return||h.return()}finally{if(p)throw d}}n=l,i=u}if(i)return t?t(i,n,s):i;throw new Error("Couldn't find intersection")}function getAncestry(){var e=this,t=[];do{t.push(e)}while(e=e.parentPath);return t}function isAncestor(e){return e.isDescendant(this)}function isDescendant(e){return!!this.findParent((function(t){return t===e}))}function inType(){for(var e=arguments.length,t=new Array(e),r=0;r<e;r++)t[r]=arguments[r];for(var n=this;n;){var i=!0,a=!1,s=void 0;try{for(var o,l=t[Symbol.iterator]();!(i=(o=l.next()).done);i=!0){var u=o.value;if(n.node.type===u)return!0}}catch(e){a=!0,s=e}finally{try{i||null==l.return||l.return()}finally{if(a)throw s}}n=n.parentPath}return!1}var NodePath_ancestry=Object.freeze({__proto__:null,find:find,findParent:findParent$1,getAncestry:getAncestry,getDeepestCommonAncestorFrom:getDeepestCommonAncestorFrom,getEarliestCommonAncestorFrom:getEarliestCommonAncestorFrom,getFunctionParent:getFunctionParent,getStatementParent:getStatementParent,inType:inType,isAncestor:isAncestor,isDescendant:isDescendant}),createFlowUnionType2=lib_exports.createFlowUnionType,createTSUnionType2=lib_exports.createTSUnionType;lib_exports.createUnionTypeAnnotation;var isFlowType2=lib_exports.isFlowType,isTSType2=lib_exports.isTSType;function createUnionType(e){return e.every((function(e){return isFlowType2(e)}))?createFlowUnionType2(e):e.every((function(e){return isTSType2(e)}))?createTSUnionType2(e):void 0}var BOOLEAN_NUMBER_BINARY_OPERATORS2=lib_exports.BOOLEAN_NUMBER_BINARY_OPERATORS,createTypeAnnotationBasedOnTypeof2=lib_exports.createTypeAnnotationBasedOnTypeof,numberTypeAnnotation$1=lib_exports.numberTypeAnnotation,voidTypeAnnotation$2=lib_exports.voidTypeAnnotation;function infererReference(e){if(this.isReferenced()){var t=this.scope.getBinding(e.name);return t?t.identifier.typeAnnotation?t.identifier.typeAnnotation:getTypeAnnotationBindingConstantViolations(t,this,e.name):"undefined"===e.name?voidTypeAnnotation$2():"NaN"===e.name||"Infinity"===e.name?numberTypeAnnotation$1():void e.name}}function getTypeAnnotationBindingConstantViolations(e,t,r){var n=[],i=[],a=getConstantViolationsBefore(e,t,i),s=getConditionalAnnotation(e,t,r);if(s){var o=getConstantViolationsBefore(e,s.ifStatement);a=a.filter((function(e){return o.indexOf(e)<0})),n.push(s.typeAnnotation)}if(a.length){var l;(l=a).push.apply(l,_to_consumable_array(i));var u=!0,c=!1,p=void 0;try{for(var d,f=a[Symbol.iterator]();!(u=(d=f.next()).done);u=!0){var h=d.value;n.push(h.getTypeAnnotation())}}catch(e){c=!0,p=e}finally{try{u||null==f.return||f.return()}finally{if(c)throw p}}}if(n.length)return createUnionType(n)}function getConstantViolationsBefore(e,t,r){var n=e.constantViolations.slice();return n.unshift(e.path),n.filter((function(e){var n=(e=e.resolve())._guessExecutionStatusRelativeTo(t);return r&&"unknown"===n&&r.push(e),"before"===n}))}function inferAnnotationFromBinaryExpression(e,t){var r,n,i,a=t.node.operator,s=t.get("right").resolve(),o=t.get("left").resolve();if(o.isIdentifier({name:e})?r=s:s.isIdentifier({name:e})&&(r=o),r)return"==="===a?r.getTypeAnnotation():BOOLEAN_NUMBER_BINARY_OPERATORS2.indexOf(a)>=0?numberTypeAnnotation$1():void 0;if(("==="===a||"=="===a)&&(o.isUnaryExpression({operator:"typeof"})?(n=o,i=s):s.isUnaryExpression({operator:"typeof"})&&(n=s,i=o),n&&n.get("argument").isIdentifier({name:e})&&(i=i.resolve()).isLiteral())){var l=i.node.value;if("string"==typeof l)return createTypeAnnotationBasedOnTypeof2(l)}}function getParentConditionalPath(e,t,r){for(var n;n=t.parentPath;){if(n.isIfStatement()||n.isConditionalExpression()){if("test"===t.key)return;return n}if(n.isFunction()&&n.parentPath.scope.getBinding(r)!==e)return;t=n}}function getConditionalAnnotation(e,t,r){var n=getParentConditionalPath(e,t,r);if(n){for(var i=[n.get("test")],a=[],s=0;s<i.length;s++){var o=i[s];if(o.isLogicalExpression())"&&"===o.node.operator&&(i.push(o.get("left")),i.push(o.get("right")));else if(o.isBinaryExpression()){var l=inferAnnotationFromBinaryExpression(r,o);l&&a.push(l)}}return a.length?{typeAnnotation:createUnionType(a),ifStatement:n}:getConditionalAnnotation(e,n,r)}}var BOOLEAN_BINARY_OPERATORS2=lib_exports.BOOLEAN_BINARY_OPERATORS,BOOLEAN_UNARY_OPERATORS2=lib_exports.BOOLEAN_UNARY_OPERATORS,NUMBER_BINARY_OPERATORS2=lib_exports.NUMBER_BINARY_OPERATORS,NUMBER_UNARY_OPERATORS2=lib_exports.NUMBER_UNARY_OPERATORS,STRING_UNARY_OPERATORS2=lib_exports.STRING_UNARY_OPERATORS,anyTypeAnnotation$1=lib_exports.anyTypeAnnotation,arrayTypeAnnotation2=lib_exports.arrayTypeAnnotation,booleanTypeAnnotation2=lib_exports.booleanTypeAnnotation,buildMatchMemberExpression2=lib_exports.buildMatchMemberExpression,genericTypeAnnotation2=lib_exports.genericTypeAnnotation,identifier$2=lib_exports.identifier,nullLiteralTypeAnnotation2=lib_exports.nullLiteralTypeAnnotation,numberTypeAnnotation2=lib_exports.numberTypeAnnotation,stringTypeAnnotation$1=lib_exports.stringTypeAnnotation,tupleTypeAnnotation2=lib_exports.tupleTypeAnnotation,unionTypeAnnotation2=lib_exports.unionTypeAnnotation,voidTypeAnnotation$1=lib_exports.voidTypeAnnotation,isIdentifier$4$1=lib_exports.isIdentifier;function VariableDeclarator2(){if(this.get("id").isIdentifier())return this.get("init").getTypeAnnotation()}function TypeCastExpression2(e){return e.typeAnnotation}function TSAsExpression2(e){return e.typeAnnotation}function TSNonNullExpression2(){return this.get("expression").getTypeAnnotation()}function NewExpression2(e){if("Identifier"===e.callee.type)return genericTypeAnnotation2(e.callee)}function TemplateLiteral2(){return stringTypeAnnotation$1()}function UnaryExpression2(e){var t=e.operator;return"void"===t?voidTypeAnnotation$1():NUMBER_UNARY_OPERATORS2.indexOf(t)>=0?numberTypeAnnotation2():STRING_UNARY_OPERATORS2.indexOf(t)>=0?stringTypeAnnotation$1():BOOLEAN_UNARY_OPERATORS2.indexOf(t)>=0?booleanTypeAnnotation2():void 0}function BinaryExpression2(e){var t=e.operator;if(NUMBER_BINARY_OPERATORS2.indexOf(t)>=0)return numberTypeAnnotation2();if(BOOLEAN_BINARY_OPERATORS2.indexOf(t)>=0)return booleanTypeAnnotation2();if("+"===t){var r=this.get("right"),n=this.get("left");return n.isBaseType("number")&&r.isBaseType("number")?numberTypeAnnotation2():n.isBaseType("string")||r.isBaseType("string")?stringTypeAnnotation$1():unionTypeAnnotation2([stringTypeAnnotation$1(),numberTypeAnnotation2()])}}function LogicalExpression2(){return createUnionType([this.get("left").getTypeAnnotation(),this.get("right").getTypeAnnotation()])}function ConditionalExpression2(){return createUnionType([this.get("consequent").getTypeAnnotation(),this.get("alternate").getTypeAnnotation()])}function SequenceExpression2(){return this.get("expressions").pop().getTypeAnnotation()}function ParenthesizedExpression2(){return this.get("expression").getTypeAnnotation()}function AssignmentExpression2(){return this.get("right").getTypeAnnotation()}function UpdateExpression2(e){var t=e.operator;if("++"===t||"--"===t)return numberTypeAnnotation2()}function StringLiteral2(){return stringTypeAnnotation$1()}function NumericLiteral2(){return numberTypeAnnotation2()}function BooleanLiteral2(){return booleanTypeAnnotation2()}function NullLiteral2(){return nullLiteralTypeAnnotation2()}function RegExpLiteral2(){return genericTypeAnnotation2(identifier$2("RegExp"))}function ObjectExpression2(){return genericTypeAnnotation2(identifier$2("Object"))}function ArrayExpression2(){return genericTypeAnnotation2(identifier$2("Array"))}function RestElement2(){return ArrayExpression2()}function Func(){return genericTypeAnnotation2(identifier$2("Function"))}TypeCastExpression2.validParent=!0,TSAsExpression2.validParent=!0,RestElement2.validParent=!0;var isArrayFrom=buildMatchMemberExpression2("Array.from"),isObjectKeys=buildMatchMemberExpression2("Object.keys"),isObjectValues=buildMatchMemberExpression2("Object.values"),isObjectEntries=buildMatchMemberExpression2("Object.entries");function CallExpression2(){var e=this.node.callee;return isObjectKeys(e)?arrayTypeAnnotation2(stringTypeAnnotation$1()):isArrayFrom(e)||isObjectValues(e)||isIdentifier$4$1(e,{name:"Array"})?arrayTypeAnnotation2(anyTypeAnnotation$1()):isObjectEntries(e)?arrayTypeAnnotation2(tupleTypeAnnotation2([stringTypeAnnotation$1(),anyTypeAnnotation$1()])):resolveCall(this.get("callee"))}function TaggedTemplateExpression2(){return resolveCall(this.get("tag"))}function resolveCall(e){if((e=e.resolve()).isFunction()){var t=e.node;if(t.async)return t.generator?genericTypeAnnotation2(identifier$2("AsyncIterator")):genericTypeAnnotation2(identifier$2("Promise"));if(t.generator)return genericTypeAnnotation2(identifier$2("Iterator"));if(e.node.returnType)return e.node.returnType}}var inferers=Object.freeze({__proto__:null,ArrayExpression:ArrayExpression2,ArrowFunctionExpression:Func,AssignmentExpression:AssignmentExpression2,BinaryExpression:BinaryExpression2,BooleanLiteral:BooleanLiteral2,CallExpression:CallExpression2,ClassDeclaration:Func,ClassExpression:Func,ConditionalExpression:ConditionalExpression2,FunctionDeclaration:Func,FunctionExpression:Func,Identifier:infererReference,LogicalExpression:LogicalExpression2,NewExpression:NewExpression2,NullLiteral:NullLiteral2,NumericLiteral:NumericLiteral2,ObjectExpression:ObjectExpression2,ParenthesizedExpression:ParenthesizedExpression2,RegExpLiteral:RegExpLiteral2,RestElement:RestElement2,SequenceExpression:SequenceExpression2,StringLiteral:StringLiteral2,TSAsExpression:TSAsExpression2,TSNonNullExpression:TSNonNullExpression2,TaggedTemplateExpression:TaggedTemplateExpression2,TemplateLiteral:TemplateLiteral2,TypeCastExpression:TypeCastExpression2,UnaryExpression:UnaryExpression2,UpdateExpression:UpdateExpression2,VariableDeclarator:VariableDeclarator2}),anyTypeAnnotation2=lib_exports.anyTypeAnnotation,isAnyTypeAnnotation2=lib_exports.isAnyTypeAnnotation,isArrayTypeAnnotation3=lib_exports.isArrayTypeAnnotation,isBooleanTypeAnnotation2=lib_exports.isBooleanTypeAnnotation,isEmptyTypeAnnotation2=lib_exports.isEmptyTypeAnnotation,isFlowBaseAnnotation2=lib_exports.isFlowBaseAnnotation,isGenericTypeAnnotation2=lib_exports.isGenericTypeAnnotation,isIdentifier$3$1=lib_exports.isIdentifier,isMixedTypeAnnotation2=lib_exports.isMixedTypeAnnotation,isNumberTypeAnnotation2=lib_exports.isNumberTypeAnnotation,isStringTypeAnnotation2=lib_exports.isStringTypeAnnotation,isTSArrayType2=lib_exports.isTSArrayType,isTSTypeAnnotation2=lib_exports.isTSTypeAnnotation,isTSTypeReference2=lib_exports.isTSTypeReference,isTupleTypeAnnotation2=lib_exports.isTupleTypeAnnotation,isTypeAnnotation2=lib_exports.isTypeAnnotation,isUnionTypeAnnotation2=lib_exports.isUnionTypeAnnotation,isVoidTypeAnnotation2=lib_exports.isVoidTypeAnnotation,stringTypeAnnotation2=lib_exports.stringTypeAnnotation,voidTypeAnnotation2=lib_exports.voidTypeAnnotation;function getTypeAnnotation(){var e=this.getData("typeAnnotation");return null!=e||(e=this._getTypeAnnotation()||anyTypeAnnotation2(),(isTypeAnnotation2(e)||isTSTypeAnnotation2(e))&&(e=e.typeAnnotation),this.setData("typeAnnotation",e)),e}var typeAnnotationInferringNodes=new WeakSet;function _getTypeAnnotation(){var e=this.node;if(e){if(e.typeAnnotation)return e.typeAnnotation;if(!typeAnnotationInferringNodes.has(e)){typeAnnotationInferringNodes.add(e);try{var t=inferers[e.type];if(t)return t.call(this,e);if(null==(t=inferers[this.parentPath.type])?void 0:t.validParent)return this.parentPath.getTypeAnnotation()}finally{typeAnnotationInferringNodes.delete(e)}}}else if("init"===this.key&&this.parentPath.isVariableDeclarator()){var r=this.parentPath.parentPath,n=r.parentPath;return"left"===r.key&&n.isForInStatement()?stringTypeAnnotation2():"left"===r.key&&n.isForOfStatement()?anyTypeAnnotation2():voidTypeAnnotation2()}}function isBaseType(e,t){return _isBaseType(e,this.getTypeAnnotation(),t)}function _isBaseType(e,t,r){if("string"===e)return isStringTypeAnnotation2(t);if("number"===e)return isNumberTypeAnnotation2(t);if("boolean"===e)return isBooleanTypeAnnotation2(t);if("any"===e)return isAnyTypeAnnotation2(t);if("mixed"===e)return isMixedTypeAnnotation2(t);if("empty"===e)return isEmptyTypeAnnotation2(t);if("void"===e)return isVoidTypeAnnotation2(t);if(r)return!1;throw new Error("Unknown base type ".concat(e))}function couldBeBaseType(e){var t=this.getTypeAnnotation();if(isAnyTypeAnnotation2(t))return!0;if(isUnionTypeAnnotation2(t)){var r=!0,n=!1,i=void 0;try{for(var a,s=t.types[Symbol.iterator]();!(r=(a=s.next()).done);r=!0){var o=a.value;if(isAnyTypeAnnotation2(o)||_isBaseType(e,o,!0))return!0}}catch(e){n=!0,i=e}finally{try{r||null==s.return||s.return()}finally{if(n)throw i}}return!1}return _isBaseType(e,t,!0)}function baseTypeStrictlyMatches(e){var t=this.getTypeAnnotation(),r=e.getTypeAnnotation();return!(isAnyTypeAnnotation2(t)||!isFlowBaseAnnotation2(t))&&r.type===t.type}function isGenericType(e){var t=this.getTypeAnnotation();return!("Array"!==e||!(isTSArrayType2(t)||isArrayTypeAnnotation3(t)||isTupleTypeAnnotation2(t)))||(isGenericTypeAnnotation2(t)&&isIdentifier$3$1(t.id,{name:e})||isTSTypeReference2(t)&&isIdentifier$3$1(t.typeName,{name:e}))}var NodePath_inference=Object.freeze({__proto__:null,_getTypeAnnotation:_getTypeAnnotation,baseTypeStrictlyMatches:baseTypeStrictlyMatches,couldBeBaseType:couldBeBaseType,getTypeAnnotation:getTypeAnnotation,isBaseType:isBaseType,isGenericType:isGenericType}),FUNCTION_TYPES2=lib_exports.FUNCTION_TYPES,arrowFunctionExpression$2=lib_exports.arrowFunctionExpression,assignmentExpression$2=lib_exports.assignmentExpression,awaitExpression2=lib_exports.awaitExpression,blockStatement$2=lib_exports.blockStatement,buildUndefinedNode2=lib_exports.buildUndefinedNode,callExpression$2=lib_exports.callExpression,cloneNode$2=lib_exports.cloneNode,conditionalExpression$1$1=lib_exports.conditionalExpression,expressionStatement$2=lib_exports.expressionStatement,getBindingIdentifiers$2=lib_exports.getBindingIdentifiers,identifier$1$1=lib_exports.identifier,inheritLeadingComments2=lib_exports.inheritLeadingComments,inheritTrailingComments2=lib_exports.inheritTrailingComments,inheritsComments2=lib_exports.inheritsComments,isBlockStatement$1$1=lib_exports.isBlockStatement,isEmptyStatement2=lib_exports.isEmptyStatement,isExpression$2$1=lib_exports.isExpression,isExpressionStatement4=lib_exports.isExpressionStatement,isIfStatement3=lib_exports.isIfStatement,isProgram2=lib_exports.isProgram,isStatement4=lib_exports.isStatement,isVariableDeclaration2=lib_exports.isVariableDeclaration,removeComments2=lib_exports.removeComments,returnStatement$1$1=lib_exports.returnStatement,sequenceExpression$1$1=lib_exports.sequenceExpression,validate$13=lib_exports.validate,yieldExpression2=lib_exports.yieldExpression;function replaceWithMultiple$4(e){var t;this.resync(),e=this._verifyNodeList(e),inheritLeadingComments2(e[0],this.node),inheritTrailingComments2(e[e.length-1],this.node),null===(t=getCachedPaths(this.hub,this.parent))||void 0===t||t.delete(this.node),this.node=this.container[this.key]=null;var r=this.insertAfter(e);return this.node?this.requeue():this.remove(),r}function replaceWithSourceString(e){var t;this.resync();try{t=parse$5(e="(".concat(e,")"))}catch(t){var r=t.loc;throw r&&(t.message+=" - make sure this is an expression.\n"+codeFrameColumns$2(e,{start:{line:r.line,column:r.column+1}}),t.code="BABEL_REPLACE_SOURCE_ERROR"),t}var n=t.program.body[0].expression;return traverse3.removeProperties(n),this.replaceWith(n)}function replaceWith$s(e){if(this.resync(),this.removed)throw new Error("You can't replace this node, we've already removed it");var t=_instanceof(e,NodePath$4)?e.node:e;if(!t)throw new Error("You passed `path.replaceWith()` a falsy node, use `path.remove()` instead");if(this.node===t)return[this];if(this.isProgram()&&!isProgram2(t))throw new Error("You can only replace a Program root node with another Program node");if(Array.isArray(t))throw new Error("Don't use `path.replaceWith()` with an array of nodes, use `path.replaceWithMultiple()`");if("string"==typeof t)throw new Error("Don't use `path.replaceWith()` with a source string, use `path.replaceWithSourceString()`");var r="";if(this.isNodeType("Statement")&&isExpression$2$1(t)&&(this.canHaveVariableDeclarationOrExpression()||this.canSwapBetweenExpressionAndStatement(t)||this.parentPath.isExportDefaultDeclaration()||(t=expressionStatement$2(t),r="expression")),this.isNodeType("Expression")&&isStatement4(t)&&!this.canHaveVariableDeclarationOrExpression()&&!this.canSwapBetweenExpressionAndStatement(t))return this.replaceExpressionWithStatements([t]);var n=this.node;return n&&(inheritsComments2(t,n),removeComments2(n)),this._replaceWith(t),this.type=t.type,this.setScope(),this.requeue(),[r?this.get(r):this]}function _replaceWith(e){var t;if(!this.container)throw new ReferenceError("Container is falsy");this.inList?validate$13(this.parent,this.key,[e]):validate$13(this.parent,this.key,e),this.debug("Replace with ".concat(null==e?void 0:e.type)),null===(t=getCachedPaths(this.hub,this.parent))||void 0===t||t.set(e,this).delete(this.node),this.node=this.container[this.key]=e}function replaceExpressionWithStatements(e){var t=this;this.resync();var r=[],n=gatherSequenceExpressions(e,r);if(n){var i=!0,a=!1,s=void 0;try{for(var o,l=r[Symbol.iterator]();!(i=(o=l.next()).done);i=!0){var u=o.value;this.scope.push({id:u})}}catch(e){a=!0,s=e}finally{try{i||null==l.return||l.return()}finally{if(a)throw s}}return this.replaceWith(n)[0].get("expressions")}var c=this.getFunctionParent(),p=null==c?void 0:c.is("async"),d=null==c?void 0:c.is("generator"),f=arrowFunctionExpression$2([],blockStatement$2(e));this.replaceWith(callExpression$2(f,[]));var h=this.get("callee");hoistVariables(h.get("body"),(function(e){t.scope.push({id:e})}),"var");var m=this.get("callee").getCompletionRecords(),y=!0,g=!1,v=void 0;try{for(var b,S=m[Symbol.iterator]();!(y=(b=S.next()).done);y=!0){var _=b.value;if(_.isExpressionStatement()){var T=_.findParent((function(e){return e.isLoop()}));if(T){var E=T.getData("expressionReplacementReturnUid");E?E=identifier$1$1(E.name):(E=h.scope.generateDeclaredUidIdentifier("ret"),h.get("body").pushContainer("body",returnStatement$1$1(cloneNode$2(E))),T.setData("expressionReplacementReturnUid",E)),_.get("expression").replaceWith(assignmentExpression$2("=",cloneNode$2(E),_.node.expression))}else _.replaceWith(returnStatement$1$1(_.node.expression))}}}catch(e){g=!0,v=e}finally{try{y||null==S.return||S.return()}finally{if(g)throw v}}h.arrowFunctionToExpression();var x=h,P=p&&traverse3.hasType(this.get("callee.body").node,"AwaitExpression",FUNCTION_TYPES2),A=d&&traverse3.hasType(this.get("callee.body").node,"YieldExpression",FUNCTION_TYPES2);return P&&(x.set("async",!0),A||this.replaceWith(awaitExpression2(this.node))),A&&(x.set("generator",!0),this.replaceWith(yieldExpression2(this.node,!0))),x.get("body.body")}function gatherSequenceExpressions(e,t){var r=[],n=!0,i=!0,a=!1,s=void 0;try{for(var o,l=e[Symbol.iterator]();!(i=(o=l.next()).done);i=!0){var u=o.value;if(isEmptyStatement2(u)||(n=!1),isExpression$2$1(u))r.push(u);else if(isExpressionStatement4(u))r.push(u.expression);else if(isVariableDeclaration2(u)){if("var"!==u.kind)return;var c=!0,p=!1,d=void 0;try{for(var f,h=u.declarations[Symbol.iterator]();!(c=(f=h.next()).done);c=!0){var m=f.value,y=getBindingIdentifiers$2(m),g=!0,v=!1,b=void 0;try{for(var S,_=Object.keys(y)[Symbol.iterator]();!(g=(S=_.next()).done);g=!0){var T=S.value;t.push(cloneNode$2(y[T]))}}catch(e){v=!0,b=e}finally{try{g||null==_.return||_.return()}finally{if(v)throw b}}m.init&&r.push(assignmentExpression$2("=",m.id,m.init))}}catch(e){p=!0,d=e}finally{try{c||null==h.return||h.return()}finally{if(p)throw d}}n=!0}else if(isIfStatement3(u)){var E=u.consequent?gatherSequenceExpressions([u.consequent],t):buildUndefinedNode2(),x=u.alternate?gatherSequenceExpressions([u.alternate],t):buildUndefinedNode2();if(!E||!x)return;r.push(conditionalExpression$1$1(u.test,E,x))}else if(isBlockStatement$1$1(u)){var P=gatherSequenceExpressions(u.body,t);if(!P)return;r.push(P)}else{if(!isEmptyStatement2(u))return;0===e.indexOf(u)&&(n=!0)}}}catch(e){a=!0,s=e}finally{try{i||null==l.return||l.return()}finally{if(a)throw s}}return n&&r.push(buildUndefinedNode2()),1===r.length?r[0]:sequenceExpression$1$1(r)}function replaceInline(e){if(this.resync(),Array.isArray(e)){if(Array.isArray(this.container)){e=this._verifyNodeList(e);var t=this._containerInsertAfter(e);return this.remove(),t}return this.replaceWithMultiple(e)}return this.replaceWith(e)}var NodePath_replacement=Object.freeze({__proto__:null,_replaceWith:_replaceWith,replaceExpressionWithStatements:replaceExpressionWithStatements,replaceInline:replaceInline,replaceWith:replaceWith$s,replaceWithMultiple:replaceWithMultiple$4,replaceWithSourceString:replaceWithSourceString}),VALID_OBJECT_CALLEES=["Number","String","Math"],VALID_IDENTIFIER_CALLEES=["isFinite","isNaN","parseFloat","parseInt","decodeURI","decodeURIComponent","encodeURI","encodeURIComponent","btoa","atob"],INVALID_METHODS=["random"];function isValidObjectCallee(e){return VALID_OBJECT_CALLEES.includes(e)}function isValidIdentifierCallee(e){return VALID_IDENTIFIER_CALLEES.includes(e)}function isInvalidMethod(e){return INVALID_METHODS.includes(e)}function evaluateTruthy(){var e=this.evaluate();if(e.confident)return!!e.value}function deopt(e,t){t.confident&&(t.deoptPath=e,t.confident=!1)}var Globals=new Map([["undefined",void 0],["Infinity",1/0],["NaN",NaN]]);function evaluateCached(e,t){var r=e.node,n=t.seen;if(n.has(r)){var i=n.get(r);return i.resolved?i.value:void deopt(e,t)}var a={resolved:!1};n.set(r,a);var s=_evaluate(e,t);return t.confident&&(a.resolved=!0,a.value=s),s}function _evaluate(e,t){if(t.confident){if(e.isSequenceExpression()){var r=e.get("expressions");return evaluateCached(r[r.length-1],t)}if(e.isStringLiteral()||e.isNumericLiteral()||e.isBooleanLiteral())return e.node.value;if(e.isNullLiteral())return null;if(e.isTemplateLiteral())return evaluateQuasis(e,e.node.quasis,t);if(e.isTaggedTemplateExpression()&&e.get("tag").isMemberExpression()){var n=e.get("tag.object"),i=n.node.name,a=e.get("tag.property");if(n.isIdentifier()&&"String"===i&&!e.scope.getBinding(i)&&a.isIdentifier()&&"raw"===a.node.name)return evaluateQuasis(e,e.node.quasi.quasis,t,!0)}if(e.isConditionalExpression()){var s=evaluateCached(e.get("test"),t);if(!t.confident)return;return evaluateCached(s?e.get("consequent"):e.get("alternate"),t)}if(e.isExpressionWrapper())return evaluateCached(e.get("expression"),t);if(e.isMemberExpression()&&!e.parentPath.isCallExpression({callee:e.node})){var o=e.get("property"),l=e.get("object");if(l.isLiteral()){var u=l.node.value,c=void 0===u?"undefined":_type_of(u),p=null;if(e.node.computed){if(p=evaluateCached(o,t),!t.confident)return}else o.isIdentifier()&&(p=o.node.name);if(!("number"!==c&&"string"!==c||null==p||"number"!=typeof p&&"string"!=typeof p))return u[p]}}if(e.isReferencedIdentifier()){var d=e.scope.getBinding(e.node.name);if(d){if(d.constantViolations.length>0||e.node.start<d.path.node.end)return void deopt(d.path,t);if(d.hasValue)return d.value}var f=e.node.name;if(Globals.has(f))return d?void deopt(d.path,t):Globals.get(f);var h=e.resolve();return h===e?void deopt(e,t):evaluateCached(h,t)}if(e.isUnaryExpression({prefix:!0})){if("void"===e.node.operator)return;var m=e.get("argument");if("typeof"===e.node.operator&&(m.isFunction()||m.isClass()))return"function";var y=evaluateCached(m,t);if(!t.confident)return;switch(e.node.operator){case"!":return!y;case"+":return+y;case"-":return-y;case"~":return~y;case"typeof":return void 0===y?"undefined":_type_of(y)}}if(e.isArrayExpression()){var g=[],v=e.get("elements"),b=!0,S=!1,_=void 0;try{for(var T,E=v[Symbol.iterator]();!(b=(T=E.next()).done);b=!0){var x=T.value.evaluate();if(!x.confident)return void deopt(x.deopt,t);g.push(x.value)}}catch(e){S=!0,_=e}finally{try{b||null==E.return||E.return()}finally{if(S)throw _}}return g}if(e.isObjectExpression()){var P={},A=e.get("properties"),$=!0,C=!1,w=void 0;try{for(var k,I=A[Symbol.iterator]();!($=(k=I.next()).done);$=!0){var N=k.value;if(N.isObjectMethod()||N.isSpreadElement())return void deopt(N,t);var O=N.get("key"),L=void 0;if(N.node.computed){if(!(L=O.evaluate()).confident)return void deopt(L.deopt,t);L=L.value}else L=O.isIdentifier()?O.node.name:O.node.value;var D=N.get("value").evaluate();if(!D.confident)return void deopt(D.deopt,t);D=D.value,P[L]=D}}catch(e){C=!0,w=e}finally{try{$||null==I.return||I.return()}finally{if(C)throw w}}return P}if(e.isLogicalExpression()){var F=t.confident,R=evaluateCached(e.get("left"),t),M=t.confident;t.confident=F;var B=evaluateCached(e.get("right"),t),j=t.confident;switch(e.node.operator){case"||":if(t.confident=M&&(!!R||j),!t.confident)return;return R||B;case"&&":if(t.confident=M&&(!R||j),!t.confident)return;return R&&B;case"??":if(t.confident=M&&(null!=R||j),!t.confident)return;return null!=R?R:B}}if(e.isBinaryExpression()){var q=evaluateCached(e.get("left"),t);if(!t.confident)return;var U=evaluateCached(e.get("right"),t);if(!t.confident)return;switch(e.node.operator){case"-":return q-U;case"+":return q+U;case"/":return q/U;case"*":return q*U;case"%":return q%U;case"**":return Math.pow(q,U);case"<":return q<U;case">":return q>U;case"<=":return q<=U;case">=":return q>=U;case"==":return q==U;case"!=":return q!=U;case"===":return q===U;case"!==":return q!==U;case"|":return q|U;case"&":return q&U;case"^":return q^U;case"<<":return q<<U;case">>":return q>>U;case">>>":return q>>>U}}if(e.isCallExpression()){var V,W,K=e.get("callee");if(K.isIdentifier()&&!e.scope.getBinding(K.node.name)&&(isValidObjectCallee(K.node.name)||isValidIdentifierCallee(K.node.name))&&(W=commonjsGlobal[K.node.name]),K.isMemberExpression()){var J=K.get("object"),X=K.get("property");if(J.isIdentifier()&&X.isIdentifier()&&isValidObjectCallee(J.node.name)&&!isInvalidMethod(X.node.name)){V=commonjsGlobal[J.node.name];var Y=X.node.name;Object.hasOwn(V,Y)&&(W=V[Y])}if(J.isLiteral()&&X.isIdentifier()){var G=_type_of(J.node.value);"string"!==G&&"number"!==G||(W=(V=J.node.value)[X.node.name])}}if(W){var z=e.get("arguments").map((function(e){return evaluateCached(e,t)}));if(!t.confident)return;return W.apply(V,z)}}deopt(e,t)}}function evaluateQuasis(e,t,r){var n=arguments.length>3&&void 0!==arguments[3]&&arguments[3],i="",a=0,s=e.isTemplateLiteral()?e.get("expressions"):e.get("quasi.expressions"),o=!0,l=!1,u=void 0;try{for(var c,p=t[Symbol.iterator]();!(o=(c=p.next()).done);o=!0){var d=c.value;if(!r.confident)break;i+=n?d.value.raw:d.value.cooked;var f=s[a++];f&&(i+=String(evaluateCached(f,r)))}}catch(e){l=!0,u=e}finally{try{o||null==p.return||p.return()}finally{if(l)throw u}}if(r.confident)return i}function evaluate$2(){var e={confident:!0,deoptPath:null,seen:new Map},t=evaluateCached(this,e);return e.confident||(t=void 0),{confident:e.confident,deopt:e.deoptPath,value:t}}var NodePath_evaluation=Object.freeze({__proto__:null,evaluate:evaluate$2,evaluateTruthy:evaluateTruthy}),arrowFunctionExpression$1$1=lib_exports.arrowFunctionExpression,assignmentExpression$1$1=lib_exports.assignmentExpression,binaryExpression2=lib_exports.binaryExpression,blockStatement$1$1=lib_exports.blockStatement,callExpression$1$1=lib_exports.callExpression,conditionalExpression2=lib_exports.conditionalExpression,expressionStatement$1$1=lib_exports.expressionStatement,identifier6=lib_exports.identifier,isIdentifier$22=lib_exports.isIdentifier,jsxIdentifier2=lib_exports.jsxIdentifier,logicalExpression2=lib_exports.logicalExpression,LOGICAL_OPERATORS2=lib_exports.LOGICAL_OPERATORS,memberExpression2=lib_exports.memberExpression,metaProperty2=lib_exports.metaProperty,numericLiteral$1=lib_exports.numericLiteral,objectExpression2=lib_exports.objectExpression,restElement2=lib_exports.restElement,returnStatement2=lib_exports.returnStatement,sequenceExpression2=lib_exports.sequenceExpression,spreadElement2=lib_exports.spreadElement,stringLiteral3=lib_exports.stringLiteral,_super2=lib_exports.super,thisExpression$1=lib_exports.thisExpression,toExpression2=lib_exports.toExpression,unaryExpression$1$1=lib_exports.unaryExpression;function toComputedKey2(){var e;if(this.isMemberExpression())e=this.node.property;else{if(!this.isProperty()&&!this.isMethod())throw new ReferenceError("todo");e=this.node.key}return this.node.computed||isIdentifier$22(e)&&(e=stringLiteral3(e.name)),e}function ensureBlock2(){var e=this.get("body"),t=e.node;if(Array.isArray(e))throw new Error("Can't convert array path to a block statement");if(!t)throw new Error("Can't convert node without a body");if(e.isBlockStatement())return t;var r,n,i=[],a="body";e.isStatement()?(n="body",r=0,i.push(e.node)):(a+=".body.0",this.isFunction()?(r="argument",i.push(returnStatement2(e.node))):(r="expression",i.push(expressionStatement$1$1(e.node)))),this.node.body=blockStatement$1$1(i);var s=this.get(a);return e.setup(s,n?s.node[n]:s.node,n,r),this.node}function unwrapFunctionEnvironment(){if(!this.isArrowFunctionExpression()&&!this.isFunctionExpression()&&!this.isFunctionDeclaration())throw this.buildCodeFrameError("Can only unwrap the environment of a function.");hoistFunctionEnvironment(this)}function setType(e,t){e.node.type=t}function arrowFunctionToExpression(){var e=arguments.length>0&&void 0!==arguments[0]?arguments[0]:{},t=e.allowInsertArrow,r=void 0===t||t,n=e.allowInsertArrowWithRest,i=void 0===n?r:n,a=e.noNewArrows,s=void 0===a||a;if(!this.isArrowFunctionExpression())throw this.buildCodeFrameError("Cannot convert non-arrow function to a function expression.");var o=hoistFunctionEnvironment(this,s,r,i),l=o.thisBinding,u=o.fnPath;if(u.ensureBlock(),setType(u,"FunctionExpression"),!s){var c=l?null:u.scope.generateUidIdentifier("arrowCheckId");return c&&u.parentPath.scope.push({id:c,init:objectExpression2([])}),u.get("body").unshiftContainer("body",expressionStatement$1$1(callExpression$1$1(this.hub.addHelper("newArrowCheck"),[thisExpression$1(),identifier6(c?c.name:l)]))),u.replaceWith(callExpression$1$1(memberExpression2(index2(this,!0)||u.node,identifier6("bind")),[c?identifier6(c.name):thisExpression$1()])),u.get("callee.object")}return u}var getSuperCallsVisitor=merge2([{CallExpression:function(e,t){var r=t.allSuperCalls;e.get("callee").isSuper()&&r.push(e)}},visitor]);function hoistFunctionEnvironment(e){var t,r=!(arguments.length>1&&void 0!==arguments[1])||arguments[1],n=!(arguments.length>2&&void 0!==arguments[2])||arguments[2],i=!(arguments.length>3&&void 0!==arguments[3])||arguments[3],a=e.findParent((function(e){return e.isArrowFunctionExpression()?(null!=t||(t=e),!1):e.isFunction()||e.isProgram()||e.isClassProperty({static:!1})||e.isClassPrivateProperty({static:!1})})),s=a.isClassMethod({kind:"constructor"});if(a.isClassProperty()||a.isClassPrivateProperty())if(t)a=t;else{if(!n)throw e.buildCodeFrameError("Unable to transform arrow inside class property");e.replaceWith(callExpression$1$1(arrowFunctionExpression$1$1([],toExpression2(e.node)),[])),a=e.get("callee"),e=a.get("body")}var o,l=getScopeInformation(e),u=l.thisPaths,c=l.argumentsPaths,p=l.newTargetPaths,d=l.superProps,f=l.superCalls;if(s&&f.length>0){if(!n)throw f[0].buildCodeFrameError("When using '@babel/plugin-transform-arrow-functions', it's not possible to compile `super()` in an arrow function without compiling classes.\nPlease add '@babel/plugin-transform-classes' to your Babel configuration.");if(!i)throw f[0].buildCodeFrameError("When using '@babel/plugin-transform-parameters', it's not possible to compile `super()` in an arrow function with default or rest parameters without compiling classes.\nPlease add '@babel/plugin-transform-classes' to your Babel configuration.");var h=[];a.traverse(getSuperCallsVisitor,{allSuperCalls:h});var m=getSuperBinding(a);h.forEach((function(e){var t=identifier6(m);t.loc=e.node.callee.loc,e.get("callee").replaceWith(t)}))}if(c.length>0){var y=getBinding$4(a,"arguments",(function(){var e=function(){return identifier6("arguments")};return a.scope.path.isProgram()?conditionalExpression2(binaryExpression2("===",unaryExpression$1$1("typeof",e()),stringLiteral3("undefined")),a.scope.buildUndefinedNode(),e()):e()}));c.forEach((function(e){var t=identifier6(y);t.loc=e.node.loc,e.replaceWith(t)}))}if(p.length>0){var g=getBinding$4(a,"newtarget",(function(){return metaProperty2(identifier6("new"),identifier6("target"))}));p.forEach((function(e){var t=identifier6(g);t.loc=e.node.loc,e.replaceWith(t)}))}if(d.length>0){if(!n)throw d[0].buildCodeFrameError("When using '@babel/plugin-transform-arrow-functions', it's not possible to compile `super.prop` in an arrow function without compiling classes.\nPlease add '@babel/plugin-transform-classes' to your Babel configuration.");d.reduce((function(e,t){return e.concat(standardizeSuperProperty(t))}),[]).forEach((function(e){var t=e.node.computed?"":e.get("property").node.name,r=e.parentPath,n=r.isAssignmentExpression({left:e.node}),i=r.isCallExpression({callee:e.node}),s=r.isTaggedTemplateExpression({tag:e.node}),o=getSuperPropBinding(a,n,t),l=[];if(e.node.computed&&l.push(e.get("property").node),n){var c=r.node.right;l.push(c)}var p=callExpression$1$1(identifier6(o),l);i?(r.unshiftContainer("arguments",thisExpression$1()),e.replaceWith(memberExpression2(p,identifier6("call"))),u.push(r.get("arguments.0"))):n?r.replaceWith(p):s?(e.replaceWith(callExpression$1$1(memberExpression2(p,identifier6("bind"),!1),[thisExpression$1()])),u.push(e.get("arguments.0"))):e.replaceWith(p)}))}return(u.length>0||!r)&&(o=getThisBinding(a,s),(r||s&&hasSuperClass(a))&&(u.forEach((function(e){var t=e.isJSX()?jsxIdentifier2(o):identifier6(o);t.loc=e.node.loc,e.replaceWith(t)})),r||(o=null))),{thisBinding:o,fnPath:e}}function isLogicalOp(e){return LOGICAL_OPERATORS2.includes(e)}function standardizeSuperProperty(e){if(e.parentPath.isAssignmentExpression()&&"="!==e.parentPath.node.operator){var t=e.parentPath,r=t.node.operator.slice(0,-1),n=t.node.right,i=isLogicalOp(r);if(e.node.computed){var a=e.scope.generateDeclaredUidIdentifier("tmp"),s=e.node.object,o=e.node.property;t.get("left").replaceWith(memberExpression2(s,assignmentExpression$1$1("=",a,o),!0)),t.get("right").replaceWith(h(i?"=":r,memberExpression2(s,identifier6(a.name),!0),n))}else{var l=e.node.object,u=e.node.property;t.get("left").replaceWith(memberExpression2(l,u)),t.get("right").replaceWith(h(i?"=":r,memberExpression2(l,identifier6(u.name)),n))}return i?t.replaceWith(logicalExpression2(r,t.node.left,t.node.right)):t.node.operator="=",[t.get("left"),t.get("right").get("left")]}if(e.parentPath.isUpdateExpression()){var c=e.parentPath,p=e.scope.generateDeclaredUidIdentifier("tmp"),d=e.node.computed?e.scope.generateDeclaredUidIdentifier("prop"):null,f=[assignmentExpression$1$1("=",p,memberExpression2(e.node.object,d?assignmentExpression$1$1("=",d,e.node.property):e.node.property,e.node.computed)),assignmentExpression$1$1("=",memberExpression2(e.node.object,d?identifier6(d.name):e.node.property,e.node.computed),binaryExpression2(e.parentPath.node.operator[0],identifier6(p.name),numericLiteral$1(1)))];return e.parentPath.node.prefix||f.push(identifier6(p.name)),c.replaceWith(sequenceExpression2(f)),[c.get("expressions.0.right"),c.get("expressions.1.left")]}return[e];function h(e,t,r){return"="===e?assignmentExpression$1$1("=",t,r):binaryExpression2(e,t,r)}}function hasSuperClass(e){return e.isClassMethod()&&!!e.parentPath.parentPath.node.superClass}var assignSuperThisVisitor=merge2([{CallExpression:function(e,t){var r=t.supers,n=t.thisBinding;e.get("callee").isSuper()&&(r.has(e.node)||(r.add(e.node),e.replaceWithMultiple([e.node,assignmentExpression$1$1("=",identifier6(n),identifier6("this"))])))}},visitor]);function getThisBinding(e,t){return getBinding$4(e,"this",(function(r){if(!t||!hasSuperClass(e))return thisExpression$1();e.traverse(assignSuperThisVisitor,{supers:new WeakSet,thisBinding:r})}))}function getSuperBinding(e){return getBinding$4(e,"supercall",(function(){var t=e.scope.generateUidIdentifier("args");return arrowFunctionExpression$1$1([restElement2(t)],callExpression$1$1(_super2(),[spreadElement2(identifier6(t.name))]))}))}function getSuperPropBinding(e,t,r){return getBinding$4(e,"superprop_".concat(t?"set":"get",":").concat(r||""),(function(){var n,i=[];if(r)n=memberExpression2(_super2(),identifier6(r));else{var a=e.scope.generateUidIdentifier("prop");i.unshift(a),n=memberExpression2(_super2(),identifier6(a.name),!0)}if(t){var s=e.scope.generateUidIdentifier("value");i.push(s),n=assignmentExpression$1$1("=",n,identifier6(s.name))}return arrowFunctionExpression$1$1(i,n)}))}function getBinding$4(e,t,r){var n="binding:"+t,i=e.getData(n);if(!i){var a=e.scope.generateUidIdentifier(t);i=a.name,e.setData(n,i),e.scope.push({id:a,init:r(i)})}return i}var getScopeInformationVisitor=merge2([{ThisExpression:function(e,t){t.thisPaths.push(e)},JSXIdentifier:function(e,t){var r=t.thisPaths;"this"===e.node.name&&(e.parentPath.isJSXMemberExpression({object:e.node})||e.parentPath.isJSXOpeningElement({name:e.node}))&&r.push(e)},CallExpression:function(e,t){var r=t.superCalls;e.get("callee").isSuper()&&r.push(e)},MemberExpression:function(e,t){var r=t.superProps;e.get("object").isSuper()&&r.push(e)},Identifier:function(e,t){var r=t.argumentsPaths;if(e.isReferencedIdentifier({name:"arguments"})){var n=e.scope;do{if(n.hasOwnBinding("arguments"))return void n.rename("arguments");if(n.path.isFunction()&&!n.path.isArrowFunctionExpression())break}while(n=n.parent);r.push(e)}},MetaProperty:function(e,t){var r=t.newTargetPaths;e.get("meta").isIdentifier({name:"new"})&&e.get("property").isIdentifier({name:"target"})&&r.push(e)}},visitor]);function getScopeInformation(e){var t=[],r=[],n=[],i=[],a=[];return e.traverse(getScopeInformationVisitor,{thisPaths:t,argumentsPaths:r,newTargetPaths:n,superProps:i,superCalls:a}),{thisPaths:t,argumentsPaths:r,newTargetPaths:n,superProps:i,superCalls:a}}var NodePath_conversion=Object.freeze({__proto__:null,arrowFunctionToExpression:arrowFunctionToExpression,ensureBlock:ensureBlock2,toComputedKey:toComputedKey2,unwrapFunctionEnvironment:unwrapFunctionEnvironment}),STATEMENT_OR_BLOCK_KEYS2=lib_exports.STATEMENT_OR_BLOCK_KEYS,VISITOR_KEYS$3=lib_exports.VISITOR_KEYS,isBlockStatement3=lib_exports.isBlockStatement,isExpression$1$1=lib_exports.isExpression,isIdentifier$12=lib_exports.isIdentifier,isLiteral4=lib_exports.isLiteral,isStringLiteral4=lib_exports.isStringLiteral,isType3=lib_exports.isType,_matchesPattern=lib_exports.matchesPattern;function matchesPattern2(e,t){return _matchesPattern(this.node,e,t)}function has$1(e){var t=this.node&&this.node[e];return t&&Array.isArray(t)?!!t.length:!!t}function isStatic(){return this.scope.isStatic(this.node)}var is2=has$1;function isnt(e){return!this.has(e)}function equals(e,t){return this.node[e]===t}function isNodeType(e){return isType3(this.type,e)}function canHaveVariableDeclarationOrExpression(){return("init"===this.key||"left"===this.key)&&this.parentPath.isFor()}function canSwapBetweenExpressionAndStatement(e){return!("body"!==this.key||!this.parentPath.isArrowFunctionExpression())&&(this.isExpression()?isBlockStatement3(e):!!this.isBlockStatement()&&isExpression$1$1(e))}function isCompletionRecord(e){var t=this,r=!0;do{var n=t.type,i=t.container;if(!r&&(t.isFunction()||"StaticBlock"===n))return!!e;if(r=!1,Array.isArray(i)&&t.key!==i.length-1)return!1}while((t=t.parentPath)&&!t.isProgram()&&!t.isDoExpression());return!0}function isStatementOrBlock(){return!this.parentPath.isLabeledStatement()&&!isBlockStatement3(this.container)&&STATEMENT_OR_BLOCK_KEYS2.includes(this.key)}function referencesImport(e,t){if(!this.isReferencedIdentifier()){if(this.isJSXMemberExpression()&&this.node.property.name===t||(this.isMemberExpression()||this.isOptionalMemberExpression())&&(this.node.computed?isStringLiteral4(this.node.property,{value:t}):this.node.property.name===t)){var r=this.get("object");return r.isReferencedIdentifier()&&r.referencesImport(e,"*")}return!1}var n=this.scope.getBinding(this.node.name);if(!n||"module"!==n.kind)return!1;var i=n.path,a=i.parentPath;return!!a.isImportDeclaration()&&(a.node.source.value===e&&(!t||(!(!i.isImportDefaultSpecifier()||"default"!==t)||(!(!i.isImportNamespaceSpecifier()||"*"!==t)||!(!i.isImportSpecifier()||!isIdentifier$12(i.node.imported,{name:t}))))))}function getSource(){var e=this.node;if(e.end){var t=this.hub.getCode();if(t)return t.slice(e.start,e.end)}return""}function willIMaybeExecuteBefore(e){return"after"!==this._guessExecutionStatusRelativeTo(e)}function getOuterFunction(e){return e.isProgram()?e:(e.parentPath.scope.getFunctionParent()||e.parentPath.scope.getProgramParent()).path}function isExecutionUncertain(e,t){switch(e){case"LogicalExpression":case"AssignmentPattern":return"right"===t;case"ConditionalExpression":case"IfStatement":return"consequent"===t||"alternate"===t;case"WhileStatement":case"DoWhileStatement":case"ForInStatement":case"ForOfStatement":return"body"===t;case"ForStatement":return"body"===t||"update"===t;case"SwitchStatement":return"cases"===t;case"TryStatement":return"handler"===t;case"OptionalMemberExpression":return"property"===t;case"OptionalCallExpression":return"arguments"===t;default:return!1}}function isExecutionUncertainInList(e,t){for(var r=0;r<t;r++){var n=e[r];if(isExecutionUncertain(n.parent.type,n.parentKey))return!0}return!1}var SYMBOL_CHECKING=Symbol();function _guessExecutionStatusRelativeTo(e){return _guessExecutionStatusRelativeToCached(this,e,new Map)}function _guessExecutionStatusRelativeToCached(e,t,r){var n={this:getOuterFunction(e),target:getOuterFunction(t)};if(n.target.node!==n.this.node)return _guessExecutionStatusRelativeToDifferentFunctionsCached(e,n.target,r);var i,a={target:t.getAncestry(),this:e.getAncestry()};if(a.target.indexOf(e)>=0)return"after";if(a.this.indexOf(t)>=0)return"before";for(var s={target:0,this:0};!i&&s.this<a.this.length;){var o=a.this[s.this];s.target=a.target.indexOf(o),s.target>=0?i=o:s.this++}if(!i)throw new Error("Internal Babel error - The two compared nodes don't appear to belong to the same program.");if(isExecutionUncertainInList(a.this,s.this-1)||isExecutionUncertainInList(a.target,s.target-1))return"unknown";var l={this:a.this[s.this-1],target:a.target[s.target-1]};if(l.target.listKey&&l.this.listKey&&l.target.container===l.this.container)return l.target.key>l.this.key?"before":"after";var u=VISITOR_KEYS$3[i.type],c=u.indexOf(l.this.parentKey);return u.indexOf(l.target.parentKey)>c?"before":"after"}function _guessExecutionStatusRelativeToDifferentFunctionsInternal(e,t,r){if(!t.isFunctionDeclaration())return"before"===_guessExecutionStatusRelativeToCached(e,t,r)?"before":"unknown";if(t.parentPath.isExportDeclaration())return"unknown";var n=t.scope.getBinding(t.node.id.name);if(!n.references)return"before";var i,a=n.referencePaths,s=!0,o=!1,l=void 0;try{for(var u,c=a[Symbol.iterator]();!(s=(u=c.next()).done);s=!0){var p=u.value;if(!!!p.find((function(e){return e.node===t.node}))){if("callee"!==p.key||!p.parentPath.isCallExpression())return"unknown";var d=_guessExecutionStatusRelativeToCached(e,p,r);if(i&&i!==d)return"unknown";i=d}}}catch(e){o=!0,l=e}finally{try{s||null==c.return||c.return()}finally{if(o)throw l}}return i}function _guessExecutionStatusRelativeToDifferentFunctionsCached(e,t,r){var n,i=r.get(e.node);if(i){if(n=i.get(t.node))return n===SYMBOL_CHECKING?"unknown":n}else r.set(e.node,i=new Map);i.set(t.node,SYMBOL_CHECKING);var a=_guessExecutionStatusRelativeToDifferentFunctionsInternal(e,t,r);return i.set(t.node,a),a}function resolve3(e,t){return this._resolve(e,t)||this}function _resolve(e,t){if(!(t&&t.indexOf(this)>=0))if((t=t||[]).push(this),this.isVariableDeclarator()){if(this.get("id").isIdentifier())return this.get("init").resolve(e,t)}else if(this.isReferencedIdentifier()){var r=this.scope.getBinding(this.node.name);if(!r)return;if(!r.constant)return;if("module"===r.kind)return;if(r.path!==this){var n=r.path.resolve(e,t);if(this.find((function(e){return e.node===n.node})))return;return n}}else{if(this.isTypeCastExpression())return this.get("expression").resolve(e,t);if(e&&this.isMemberExpression()){var i=this.toComputedKey();if(!isLiteral4(i))return;var a=i.value,s=this.get("object").resolve(e,t);if(s.isObjectExpression()){var o=s.get("properties"),l=!0,u=!1,c=void 0;try{for(var p,d=o[Symbol.iterator]();!(l=(p=d.next()).done);l=!0){var f=p.value;if(f.isProperty()){var h=f.get("key"),m=f.isnt("computed")&&h.isIdentifier({name:a});if(m=m||h.isLiteral({value:a}))return f.get("value").resolve(e,t)}}}catch(e){u=!0,c=e}finally{try{l||null==d.return||d.return()}finally{if(u)throw c}}}else if(s.isArrayExpression()&&!isNaN(+a)){var y=s.get("elements")[a];if(y)return y.resolve(e,t)}}}}function isConstantExpression(){if(this.isIdentifier()){var e=this.scope.getBinding(this.node.name);return!!e&&e.constant}if(this.isLiteral())return!this.isRegExpLiteral()&&(!this.isTemplateLiteral()||this.get("expressions").every((function(e){return e.isConstantExpression()})));if(this.isUnaryExpression())return"void"===this.node.operator&&this.get("argument").isConstantExpression();if(this.isBinaryExpression()){var t=this.node.operator;return"in"!==t&&"instanceof"!==t&&this.get("left").isConstantExpression()&&this.get("right").isConstantExpression()}return!1}function isInStrictMode(){var e=(this.isProgram()?this:this.parentPath).find((function(e){if(e.isProgram({sourceType:"module"}))return!0;if(e.isClass())return!0;if(e.isArrowFunctionExpression()&&!e.get("body").isBlockStatement())return!1;var t;if(e.isFunction())t=e.node.body;else{if(!e.isProgram())return!1;t=e.node}var r=!0,n=!1,i=void 0;try{for(var a,s=t.directives[Symbol.iterator]();!(r=(a=s.next()).done);r=!0){if("use strict"===a.value.value.value)return!0}}catch(e){n=!0,i=e}finally{try{r||null==s.return||s.return()}finally{if(n)throw i}}}));return!!e}var NodePath_introspection=Object.freeze({__proto__:null,_guessExecutionStatusRelativeTo:_guessExecutionStatusRelativeTo,_resolve:_resolve,canHaveVariableDeclarationOrExpression:canHaveVariableDeclarationOrExpression,canSwapBetweenExpressionAndStatement:canSwapBetweenExpressionAndStatement,equals:equals,getSource:getSource,has:has$1,is:is2,isCompletionRecord:isCompletionRecord,isConstantExpression:isConstantExpression,isInStrictMode:isInStrictMode,isNodeType:isNodeType,isStatementOrBlock:isStatementOrBlock,isStatic:isStatic,isnt:isnt,matchesPattern:matchesPattern2,referencesImport:referencesImport,resolve:resolve3,willIMaybeExecuteBefore:willIMaybeExecuteBefore});function call(e){var t,r=this.opts;return this.debug(e),!(!this.node||!this._call(r[e]))||!!this.node&&this._call(null===(t=r[this.node.type])||void 0===t?void 0:t[e])}function _call(e){if(!e)return!1;var t=!0,r=!1,n=void 0;try{for(var i,a=e[Symbol.iterator]();!(t=(i=a.next()).done);t=!0){var s=i.value;if(s){var o=this.node;if(!o)return!0;var l=s.call(this.state,this,this.state);if(l&&"object"==typeof l&&"function"==typeof l.then)throw new Error("You appear to be using a plugin with an async traversal visitor, which your current version of Babel does not support. If you're using a published plugin, you may need to upgrade your @babel/core version.");if(l)throw new Error("Unexpected return value from visitor method ".concat(s));if(this.node!==o)return!0;if(this._traverseFlags>0)return!0}}}catch(e){r=!0,n=e}finally{try{t||null==a.return||a.return()}finally{if(r)throw n}}return!1}function isDenylisted(){var e,t=null!==(e=this.opts.denylist)&&void 0!==e?e:this.opts.blacklist;return t&&t.indexOf(this.node.type)>-1}function restoreContext(e,t){e.context!==t&&(e.context=t,e.state=t.state,e.opts=t.opts)}function visit2(){var e,t;if(!this.node)return!1;if(this.isDenylisted())return!1;if(null===(e=(t=this.opts).shouldSkip)||void 0===e?void 0:e.call(t,this))return!1;var r=this.context;return this.shouldSkip||this.call("enter")?(this.debug("Skip..."),this.shouldStop):(restoreContext(this,r),this.debug("Recursing into..."),this.shouldStop=traverseNode(this.node,this.opts,this.scope,this.state,this,this.skipKeys),restoreContext(this,r),this.call("exit"),this.shouldStop)}function skip(){this.shouldSkip=!0}function skipKey(e){null==this.skipKeys&&(this.skipKeys={}),this.skipKeys[e]=!0}function stop(){this._traverseFlags|=SHOULD_SKIP|SHOULD_STOP}function setScope(){var e,t;if(!(null===(e=this.opts)||void 0===e?void 0:e.noScope)){var r,n=this.parentPath;for((("key"===this.key||"decorators"===this.listKey)&&n.isMethod()||"discriminant"===this.key&&n.isSwitchStatement())&&(n=n.parentPath);n&&!r;){var i;if(null===(i=n.opts)||void 0===i?void 0:i.noScope)return;r=n.scope,n=n.parentPath}this.scope=this.getScope(r),null===(t=this.scope)||void 0===t||t.init()}}function setContext(e){return null!=this.skipKeys&&(this.skipKeys={}),this._traverseFlags=0,e&&(this.context=e,this.state=e.state,this.opts=e.opts),this.setScope(),this}function resync(){this.removed||(this._resyncParent(),this._resyncList(),this._resyncKey())}function _resyncParent(){this.parentPath&&(this.parent=this.parentPath.node)}function _resyncKey(){if(this.container&&this.node!==this.container[this.key]){if(Array.isArray(this.container)){for(var e=0;e<this.container.length;e++)if(this.container[e]===this.node)return void this.setKey(e)}else{var t=!0,r=!1,n=void 0;try{for(var i,a=Object.keys(this.container)[Symbol.iterator]();!(t=(i=a.next()).done);t=!0){var s=i.value;if(this.container[s]===this.node)return void this.setKey(s)}}catch(e){r=!0,n=e}finally{try{t||null==a.return||a.return()}finally{if(r)throw n}}}this.key=null}}function _resyncList(){if(this.parent&&this.inList){var e=this.parent[this.listKey];this.container!==e&&(this.container=e||null)}}function _resyncRemoved(){null!=this.key&&this.container&&this.container[this.key]===this.node||this._markRemoved()}function popContext(){this.contexts.pop(),this.contexts.length>0?this.setContext(this.contexts[this.contexts.length-1]):this.setContext(void 0)}function pushContext(e){this.contexts.push(e),this.setContext(e)}function setup$1(e,t,r,n){this.listKey=r,this.container=t,this.parentPath=e||this.parentPath,this.setKey(n)}function setKey(e){var t;this.key=e,this.node=this.container[this.key],this.type=null===(t=this.node)||void 0===t?void 0:t.type}function requeue(){var e=arguments.length>0&&void 0!==arguments[0]?arguments[0]:this;if(!e.removed){e.shouldSkip=!1;var t=this.contexts,r=!0,n=!1,i=void 0;try{for(var a,s=t[Symbol.iterator]();!(r=(a=s.next()).done);r=!0){a.value.maybeQueue(e)}}catch(e){n=!0,i=e}finally{try{r||null==s.return||s.return()}finally{if(n)throw i}}}}function _getQueueContexts(){for(var e=this,t=this.contexts;!t.length&&(e=e.parentPath);)t=e.contexts;return t}var NodePath_context=Object.freeze({__proto__:null,_call:_call,_getQueueContexts:_getQueueContexts,_resyncKey:_resyncKey,_resyncList:_resyncList,_resyncParent:_resyncParent,_resyncRemoved:_resyncRemoved,call:call,isBlacklisted:isDenylisted,isDenylisted:isDenylisted,popContext:popContext,pushContext:pushContext,requeue:requeue,resync:resync,setContext:setContext,setKey:setKey,setScope:setScope,setup:setup$1,skip:skip,skipKey:skipKey,stop:stop,visit:visit2}),hooks=[function(e,t){if("test"===e.key&&(t.isWhile()||t.isSwitchCase())||"declaration"===e.key&&t.isExportDeclaration()||"body"===e.key&&t.isLabeledStatement()||"declarations"===e.listKey&&t.isVariableDeclaration()&&1===t.node.declarations.length||"expression"===e.key&&t.isExpressionStatement())return t.remove(),!0},function(e,t){if(t.isSequenceExpression()&&1===t.node.expressions.length)return t.replaceWith(t.node.expressions[0]),!0},function(e,t){if(t.isBinary())return"left"===e.key?t.replaceWith(t.node.right):t.replaceWith(t.node.left),!0},function(e,t){if(t.isIfStatement()&&"consequent"===e.key||"body"===e.key&&(t.isLoop()||t.isArrowFunctionExpression()))return e.replaceWith({type:"BlockStatement",body:[]}),!0}],getBindingIdentifiers$1=lib_exports.getBindingIdentifiers;function remove$w(){var e;this._assertUnremoved(),this.resync(),(null===(e=this.opts)||void 0===e?void 0:e.noScope)||this._removeFromScope(),this._callRemovalHooks()||(this.shareCommentsWithSiblings(),this._remove()),this._markRemoved()}function _removeFromScope(){var e=this,t=getBindingIdentifiers$1(this.node,!1,!1,!0);Object.keys(t).forEach((function(t){return e.scope.removeBinding(t)}))}function _callRemovalHooks(){if(this.parentPath){var e=!0,t=!1,r=void 0;try{for(var n,i=hooks[Symbol.iterator]();!(e=(n=i.next()).done);e=!0){if((0,n.value)(this,this.parentPath))return!0}}catch(e){t=!0,r=e}finally{try{e||null==i.return||i.return()}finally{if(t)throw r}}}}function _remove(){Array.isArray(this.container)?(this.container.splice(this.key,1),this.updateSiblingKeys(this.key,-1)):this._replaceWith(null)}function _markRemoved(){this._traverseFlags|=SHOULD_SKIP|REMOVED,this.parent&&getCachedPaths(this.hub,this.parent).delete(this.node),this.node=null}function _assertUnremoved(){if(this.removed)throw this.buildCodeFrameError("NodePath has been removed so is read-only.")}var NodePath_removal=Object.freeze({__proto__:null,_assertUnremoved:_assertUnremoved,_callRemovalHooks:_callRemovalHooks,_markRemoved:_markRemoved,_remove:_remove,_removeFromScope:_removeFromScope,remove:remove$w}),react2=lib_exports.react,cloneNode$1=lib_exports.cloneNode,jsxExpressionContainer2=lib_exports.jsxExpressionContainer,variableDeclaration3=lib_exports.variableDeclaration,variableDeclarator3=lib_exports.variableDeclarator,referenceVisitor={ReferencedIdentifier:function(e,t){if(!e.isJSXIdentifier()||!react2.isCompatTag(e.node.name)||e.parentPath.isJSXMemberExpression()){if("this"===e.node.name){var r=e.scope;do{if(r.path.isFunction()&&!r.path.isArrowFunctionExpression())break}while(r=r.parent);r&&t.breakOnScopePaths.push(r.path)}var n=e.scope.getBinding(e.node.name);if(n){var i=!0,a=!1,s=void 0;try{for(var o,l=n.constantViolations[Symbol.iterator]();!(i=(o=l.next()).done);i=!0){if(o.value.scope!==n.path.scope)return t.mutableBinding=!0,void e.stop()}}catch(e){a=!0,s=e}finally{try{i||null==l.return||l.return()}finally{if(a)throw s}}n===t.scope.getBinding(e.node.name)&&(t.bindings[e.node.name]=n)}}}},PathHoister=function(){function e(t,r){_class_call_check(this,e),__publicField(this,"breakOnScopePaths"),__publicField(this,"bindings"),__publicField(this,"mutableBinding"),__publicField(this,"scopes"),__publicField(this,"scope"),__publicField(this,"path"),__publicField(this,"attachAfter"),this.breakOnScopePaths=[],this.bindings={},this.mutableBinding=!1,this.scopes=[],this.scope=r,this.path=t,this.attachAfter=!1}return _create_class(e,[{key:"isCompatibleScope",value:function(e){var t=!0,r=!1,n=void 0;try{for(var i,a=Object.keys(this.bindings)[Symbol.iterator]();!(t=(i=a.next()).done);t=!0){var s=i.value,o=this.bindings[s];if(!e.bindingIdentifierEquals(s,o.identifier))return!1}}catch(e){r=!0,n=e}finally{try{t||null==a.return||a.return()}finally{if(r)throw n}}return!0}},{key:"getCompatibleScopes",value:function(){var e=this.path.scope;do{if(!this.isCompatibleScope(e))break;if(this.scopes.push(e),this.breakOnScopePaths.indexOf(e.path)>=0)break}while(e=e.parent)}},{key:"getAttachmentPath",value:function(){var e=this._getAttachmentPath();if(e){var t=e.scope;if(t.path===e&&(t=e.scope.parent),t.path.isProgram()||t.path.isFunction()){var r=!0,n=!1,i=void 0;try{for(var a,s=Object.keys(this.bindings)[Symbol.iterator]();!(r=(a=s.next()).done);r=!0){var o=a.value;if(t.hasOwnBinding(o)){var l=this.bindings[o];if("param"!==l.kind&&"params"!==l.path.parentKey)if(this.getAttachmentParentForPath(l.path).key>=e.key){this.attachAfter=!0,e=l.path;var u=!0,c=!1,p=void 0;try{for(var d,f=l.constantViolations[Symbol.iterator]();!(u=(d=f.next()).done);u=!0){var h=d.value;this.getAttachmentParentForPath(h).key>e.key&&(e=h)}}catch(e){c=!0,p=e}finally{try{u||null==f.return||f.return()}finally{if(c)throw p}}}}}}catch(e){n=!0,i=e}finally{try{r||null==s.return||s.return()}finally{if(n)throw i}}}return e}}},{key:"_getAttachmentPath",value:function(){var e=this.scopes.pop();if(e)if(e.path.isFunction()){if(!this.hasOwnParamBindings(e))return this.getNextScopeAttachmentParent();if(this.scope===e)return;for(var t=e.path.get("body").get("body"),r=0;r<t.length;r++)if(!t[r].node._blockHoist)return t[r]}else if(e.path.isProgram())return this.getNextScopeAttachmentParent()}},{key:"getNextScopeAttachmentParent",value:function(){var e=this.scopes.pop();if(e)return this.getAttachmentParentForPath(e.path)}},{key:"getAttachmentParentForPath",value:function(e){do{if(!e.parentPath||Array.isArray(e.container)&&e.isStatement())return e}while(e=e.parentPath)}},{key:"hasOwnParamBindings",value:function(e){var t=!0,r=!1,n=void 0;try{for(var i,a=Object.keys(this.bindings)[Symbol.iterator]();!(t=(i=a.next()).done);t=!0){var s=i.value;if(e.hasOwnBinding(s)){var o=this.bindings[s];if("param"===o.kind&&o.constant)return!0}}}catch(e){r=!0,n=e}finally{try{t||null==a.return||a.return()}finally{if(r)throw n}}return!1}},{key:"run",value:function(){if(this.path.traverse(referenceVisitor,this),!this.mutableBinding){this.getCompatibleScopes();var e=this.getAttachmentPath();if(e&&e.getFunctionParent()!==this.path.getFunctionParent()){var t=e.scope.generateUidIdentifier("ref"),r=variableDeclarator3(t,this.path.node),n=_sliced_to_array(e[this.attachAfter?"insertAfter":"insertBefore"]([e.isVariableDeclarator()?r:variableDeclaration3("var",[r])]),1)[0],i=this.path.parentPath;return i.isJSXElement()&&this.path.container===i.node.children&&(t=jsxExpressionContainer2(t)),this.path.replaceWith(cloneNode$1(t)),e.isVariableDeclarator()?n.get("init"):n.get("declarations.0.init")}}}}]),e}(),arrowFunctionExpression2=lib_exports.arrowFunctionExpression,assertExpression2=lib_exports.assertExpression,assignmentExpression3=lib_exports.assignmentExpression,blockStatement3=lib_exports.blockStatement,callExpression2=lib_exports.callExpression,cloneNode5=lib_exports.cloneNode,expressionStatement4=lib_exports.expressionStatement,isAssignmentExpression4=lib_exports.isAssignmentExpression,isCallExpression4=lib_exports.isCallExpression,isExportNamedDeclaration3=lib_exports.isExportNamedDeclaration,isExpression2=lib_exports.isExpression,isIdentifier5=lib_exports.isIdentifier,isSequenceExpression2=lib_exports.isSequenceExpression,isSuper2=lib_exports.isSuper,thisExpression2=lib_exports.thisExpression;function insertBefore(e){this._assertUnremoved();var t=this._verifyNodeList(e),r=this.parentPath,n=this.parent;if(r.isExpressionStatement()||r.isLabeledStatement()||isExportNamedDeclaration3(n)||r.isExportDefaultDeclaration()&&this.isDeclaration())return r.insertBefore(t);if(this.isNodeType("Expression")&&!this.isJSXElement()||r.isForStatement()&&"init"===this.key)return this.node&&t.push(this.node),this.replaceExpressionWithStatements(t);if(Array.isArray(this.container))return this._containerInsertBefore(t);if(this.isStatementOrBlock()){var i=this.node,a=i&&(!this.isExpressionStatement()||null!=i.expression);return this.replaceWith(blockStatement3(a?[i]:[])),this.unshiftContainer("body",t)}throw new Error("We don't know what to do with this node type. We were previously a Statement but we can't fit in here?")}function _containerInsert(e,t){var r;this.updateSiblingKeys(e,t.length);var n=[];(r=this.container).splice.apply(r,[e,0].concat(_to_consumable_array(t)));for(var i=0;i<t.length;i++){var a,s=e+i,o=this.getSibling(s);n.push(o),(null===(a=this.context)||void 0===a?void 0:a.queue)&&o.pushContext(this.context)}var l=this._getQueueContexts(),u=!0,c=!1,p=void 0;try{for(var d,f=n[Symbol.iterator]();!(u=(d=f.next()).done);u=!0){var h=d.value;h.setScope(),h.debug("Inserted.");var m=!0,y=!1,g=void 0;try{for(var v,b=l[Symbol.iterator]();!(m=(v=b.next()).done);m=!0){v.value.maybeQueue(h,!0)}}catch(e){y=!0,g=e}finally{try{m||null==b.return||b.return()}finally{if(y)throw g}}}}catch(e){c=!0,p=e}finally{try{u||null==f.return||f.return()}finally{if(c)throw p}}return n}function _containerInsertBefore(e){return this._containerInsert(this.key,e)}function _containerInsertAfter(e){return this._containerInsert(this.key+1,e)}var last=function(e){return e[e.length-1]};function isHiddenInSequenceExpression(e){return isSequenceExpression2(e.parent)&&(last(e.parent.expressions)!==e.node||isHiddenInSequenceExpression(e.parentPath))}function isAlmostConstantAssignment(e,t){if(!isAssignmentExpression4(e)||!isIdentifier5(e.left))return!1;var r=t.getBlockParent();return r.hasOwnBinding(e.left.name)&&r.getOwnBinding(e.left.name).constantViolations.length<=1}function insertAfter$2(e){if(this._assertUnremoved(),this.isSequenceExpression())return last(this.get("expressions")).insertAfter(e);var t=this._verifyNodeList(e),r=this.parentPath,n=this.parent;if(r.isExpressionStatement()||r.isLabeledStatement()||isExportNamedDeclaration3(n)||r.isExportDefaultDeclaration()&&this.isDeclaration())return r.insertAfter(t.map((function(e){return isExpression2(e)?expressionStatement4(e):e})));if(this.isNodeType("Expression")&&!this.isJSXElement()&&!r.isJSXElement()||r.isForStatement()&&"init"===this.key){if(this.node){var i=this.node,a=this.scope;if(a.path.isPattern())return assertExpression2(i),this.replaceWith(callExpression2(arrowFunctionExpression2([],i),[])),this.get("callee.body").insertAfter(t),[this];if(isHiddenInSequenceExpression(this))t.unshift(i);else if(isCallExpression4(i)&&isSuper2(i.callee))t.unshift(i),t.push(thisExpression2());else if(isAlmostConstantAssignment(i,a))t.unshift(i),t.push(cloneNode5(i.left));else if(a.isPure(i,!0))t.push(i);else{r.isMethod({computed:!0,key:i})&&(a=a.parent);var s=a.generateDeclaredUidIdentifier();t.unshift(expressionStatement4(assignmentExpression3("=",cloneNode5(s),i))),t.push(expressionStatement4(cloneNode5(s)))}}return this.replaceExpressionWithStatements(t)}if(Array.isArray(this.container))return this._containerInsertAfter(t);if(this.isStatementOrBlock()){var o=this.node,l=o&&(!this.isExpressionStatement()||null!=o.expression);return this.replaceWith(blockStatement3(l?[o]:[])),this.pushContainer("body",t)}throw new Error("We don't know what to do with this node type. We were previously a Statement but we can't fit in here?")}function updateSiblingKeys(e,t){if(this.parent){var r=getCachedPaths(this.hub,this.parent)||[],n=!0,i=!1,a=void 0;try{for(var s,o=r[Symbol.iterator]();!(n=(s=o.next()).done);n=!0){var l=_sliced_to_array(s.value,2)[1];"number"==typeof l.key&&l.key>=e&&(l.key+=t)}}catch(e){i=!0,a=e}finally{try{n||null==o.return||o.return()}finally{if(i)throw a}}}}function _verifyNodeList(e){if(!e)return[];Array.isArray(e)||(e=[e]);for(var t=0;t<e.length;t++){var r=e[t],n=void 0;if(r?"object"!=typeof r?n="contains a non-object node":r.type?_instanceof(r,NodePath$4)&&(n="has a NodePath when it expected a raw object"):n="without a type":n="has falsy node",n){var i=Array.isArray(r)?"array":void 0===r?"undefined":_type_of(r);throw new Error("Node list ".concat(n," with the index of ").concat(t," and type of ").concat(i))}}return e}function unshiftContainer(e,t){return this._assertUnremoved(),t=this._verifyNodeList(t),NodePath$4.get({parentPath:this,parent:this.node,container:this.node[e],listKey:e,key:0}).setContext(this.context)._containerInsertBefore(t)}function pushContainer(e,t){this._assertUnremoved();var r=this._verifyNodeList(t),n=this.node[e];return NodePath$4.get({parentPath:this,parent:this.node,container:n,listKey:e,key:n.length}).setContext(this.context).replaceWithMultiple(r)}function hoist(){var e=arguments.length>0&&void 0!==arguments[0]?arguments[0]:this.scope;return new PathHoister(this,e).run()}var NodePath_modification=Object.freeze({__proto__:null,_containerInsert:_containerInsert,_containerInsertAfter:_containerInsertAfter,_containerInsertBefore:_containerInsertBefore,_verifyNodeList:_verifyNodeList,hoist:hoist,insertAfter:insertAfter$2,insertBefore:insertBefore,pushContainer:pushContainer,unshiftContainer:unshiftContainer,updateSiblingKeys:updateSiblingKeys}),_getBindingIdentifiers=lib_exports.getBindingIdentifiers,_getOuterBindingIdentifiers=lib_exports.getOuterBindingIdentifiers,isDeclaration2=lib_exports.isDeclaration,numericLiteral2=lib_exports.numericLiteral,unaryExpression2=lib_exports.unaryExpression,NORMAL_COMPLETION=0,BREAK_COMPLETION=1;function NormalCompletion(e){return{type:NORMAL_COMPLETION,path:e}}function BreakCompletion(e){return{type:BREAK_COMPLETION,path:e}}function getOpposite(){return"left"===this.key?this.getSibling("right"):"right"===this.key?this.getSibling("left"):null}function addCompletionRecords(e,t,r){var n;e&&(n=t).push.apply(n,_to_consumable_array(_getCompletionRecords(e,r)));return t}function completionRecordForSwitch(e,t,r){for(var n,i=[],a=0;a<e.length;a++){var s,o=_getCompletionRecords(e[a],r),l=[],u=[],c=!0,p=!1,d=void 0;try{for(var f,h=o[Symbol.iterator]();!(c=(f=h.next()).done);c=!0){var m=f.value;m.type===NORMAL_COMPLETION&&l.push(m),m.type===BREAK_COMPLETION&&u.push(m)}}catch(e){p=!0,d=e}finally{try{c||null==h.return||h.return()}finally{if(p)throw d}}l.length&&(i=l),(s=t).push.apply(s,_to_consumable_array(u))}return(n=t).push.apply(n,_to_consumable_array(i)),t}function normalCompletionToBreak(e){e.forEach((function(e){e.type=BREAK_COMPLETION}))}function replaceBreakStatementInBreakCompletion(e,t){e.forEach((function(e){e.path.isBreakStatement({label:null})&&(t?e.path.replaceWith(unaryExpression2("void",numericLiteral2(0))):e.path.remove())}))}function getStatementListCompletion(e,t){var r=[];if(t.canHaveBreak)for(var n=function(n){var a=e[n],s=Object.assign({},t,{inCaseClause:!1});a.isBlockStatement()&&(t.inCaseClause||t.shouldPopulateBreak)?s.shouldPopulateBreak=!0:s.shouldPopulateBreak=!1;var o=_getCompletionRecords(a,s);if(o.length>0&&o.every((function(e){return e.type===BREAK_COMPLETION}))){if(i.length>0&&o.every((function(e){return e.path.isBreakStatement({label:null})}))){var l,u;if(normalCompletionToBreak(i),(l=r).push.apply(l,_to_consumable_array(i)),i.some((function(e){return e.path.isDeclaration()})))(u=r).push.apply(u,_to_consumable_array(o)),replaceBreakStatementInBreakCompletion(o,!0);replaceBreakStatementInBreakCompletion(o,!1)}else{var c;(c=r).push.apply(c,_to_consumable_array(o)),t.shouldPopulateBreak||replaceBreakStatementInBreakCompletion(o,!0)}return"break"}if(n===e.length-1){var p;(p=r).push.apply(p,_to_consumable_array(o))}else{i=[];for(var d=0;d<o.length;d++){var f=o[d];f.type===BREAK_COMPLETION&&r.push(f),f.type===NORMAL_COMPLETION&&i.push(f)}}},i=[],a=0;a<e.length;a++){if("break"===n(a))break}else if(e.length)for(var s=e.length-1;s>=0;s--){var o=_getCompletionRecords(e[s],t);if(o.length>1||1===o.length&&!o[0].path.isVariableDeclaration()){var l;(l=r).push.apply(l,_to_consumable_array(o));break}}return r}function _getCompletionRecords(e,t){var r=[];if(e.isIfStatement())r=addCompletionRecords(e.get("consequent"),r,t),r=addCompletionRecords(e.get("alternate"),r,t);else{if(e.isDoExpression()||e.isFor()||e.isWhile()||e.isLabeledStatement())return addCompletionRecords(e.get("body"),r,t);if(e.isProgram()||e.isBlockStatement())return getStatementListCompletion(e.get("body"),t);if(e.isFunction())return _getCompletionRecords(e.get("body"),t);if(e.isTryStatement())r=addCompletionRecords(e.get("block"),r,t),r=addCompletionRecords(e.get("handler"),r,t);else{if(e.isCatchClause())return addCompletionRecords(e.get("body"),r,t);if(e.isSwitchStatement())return completionRecordForSwitch(e.get("cases"),r,t);if(e.isSwitchCase())return getStatementListCompletion(e.get("consequent"),{canHaveBreak:!0,shouldPopulateBreak:!1,inCaseClause:!0});e.isBreakStatement()?r.push(BreakCompletion(e)):r.push(NormalCompletion(e))}}return r}function getCompletionRecords(){return _getCompletionRecords(this,{canHaveBreak:!1,shouldPopulateBreak:!1,inCaseClause:!1}).map((function(e){return e.path}))}function getSibling(e){return NodePath$4.get({parentPath:this.parentPath,parent:this.parent,container:this.container,listKey:this.listKey,key:e}).setContext(this.context)}function getPrevSibling$1(){return this.getSibling(this.key-1)}function getNextSibling$1(){return this.getSibling(this.key+1)}function getAllNextSiblings(){for(var e=this.key,t=this.getSibling(++e),r=[];t.node;)r.push(t),t=this.getSibling(++e);return r}function getAllPrevSiblings(){for(var e=this.key,t=this.getSibling(--e),r=[];t.node;)r.push(t),t=this.getSibling(--e);return r}function get2(e){var t=!(arguments.length>1&&void 0!==arguments[1])||arguments[1];!0===t&&(t=this.context);var r=e.split(".");return 1===r.length?this._getKey(e,t):this._getPattern(r,t)}function _getKey(e,t){var r=this,n=this.node,i=n[e];return Array.isArray(i)?i.map((function(a,s){return NodePath$4.get({listKey:e,parentPath:r,parent:n,container:i,key:s}).setContext(t)})):NodePath$4.get({parentPath:this,parent:n,container:n,key:e}).setContext(t)}function _getPattern(e,t){var r=this,n=!0,i=!1,a=void 0;try{for(var s,o=e[Symbol.iterator]();!(n=(s=o.next()).done);n=!0){var l=s.value;r="."===l?r.parentPath:Array.isArray(r)?r[l]:r.get(l,t)}}catch(e){i=!0,a=e}finally{try{n||null==o.return||o.return()}finally{if(i)throw a}}return r}function getBindingIdentifiers2(e){return _getBindingIdentifiers(this.node,e)}function getOuterBindingIdentifiers2(e){return _getOuterBindingIdentifiers(this.node,e)}function getBindingIdentifierPaths(){for(var e=arguments.length>0&&void 0!==arguments[0]&&arguments[0],t=arguments.length>1&&void 0!==arguments[1]&&arguments[1],r=[this],n=Object.create(null);r.length;){var i=r.shift();if(i&&i.node){var a=_getBindingIdentifiers.keys[i.node.type];if(i.isIdentifier())e?(n[i.node.name]=n[i.node.name]||[]).push(i):n[i.node.name]=i;else if(i.isExportDeclaration()){var s=i.get("declaration");isDeclaration2(s)&&r.push(s)}else{if(t){if(i.isFunctionDeclaration()){r.push(i.get("id"));continue}if(i.isFunctionExpression())continue}if(a)for(var o=0;o<a.length;o++){var l,u=a[o],c=i.get(u);if(Array.isArray(c))(l=r).push.apply(l,_to_consumable_array(c));else c.node&&r.push(c)}}}}return n}function getOuterBindingIdentifierPaths(){var e=arguments.length>0&&void 0!==arguments[0]&&arguments[0];return this.getBindingIdentifierPaths(e,!0)}var NodePath_family=Object.freeze({__proto__:null,_getKey:_getKey,_getPattern:_getPattern,get:get2,getAllNextSiblings:getAllNextSiblings,getAllPrevSiblings:getAllPrevSiblings,getBindingIdentifierPaths:getBindingIdentifierPaths,getBindingIdentifiers:getBindingIdentifiers2,getCompletionRecords:getCompletionRecords,getNextSibling:getNextSibling$1,getOpposite:getOpposite,getOuterBindingIdentifierPaths:getOuterBindingIdentifierPaths,getOuterBindingIdentifiers:getOuterBindingIdentifiers2,getPrevSibling:getPrevSibling$1,getSibling:getSibling}),_addComment=lib_exports.addComment,_addComments=lib_exports.addComments;function shareCommentsWithSiblings(){if("string"!=typeof this.key){var e=this.node;if(e){var t=e.trailingComments,r=e.leadingComments;if(t||r){var n=this.getSibling(this.key-1),i=this.getSibling(this.key+1),a=Boolean(n.node),s=Boolean(i.node);a&&(r&&n.addComments("trailing",removeIfExisting(r,n.node.trailingComments)),t&&!s&&n.addComments("trailing",t)),s&&(t&&i.addComments("leading",removeIfExisting(t,i.node.leadingComments)),r&&!a&&i.addComments("leading",r))}}}}function removeIfExisting(e,t){if(!(null==t?void 0:t.length))return e;var r=new Set(t);return e.filter((function(e){return!r.has(e)}))}function addComment2(e,t,r){_addComment(this.node,e,t,r)}function addComments2(e,t){_addComments(this.node,e,t)}var NodePath_comments=Object.freeze({__proto__:null,addComment:addComment2,addComments:addComments2,shareCommentsWithSiblings:shareCommentsWithSiblings}),validate3=lib_exports.validate,debug$6=(0,import_debug.default)("babel"),REMOVED=1,SHOULD_STOP=2,SHOULD_SKIP=4,NodePath$4=function(){function e(t,r){_class_call_check(this,e),__publicField(this,"contexts",[]),__publicField(this,"state",null),__publicField(this,"opts",null),__publicField(this,"_traverseFlags",0),__publicField(this,"skipKeys",null),__publicField(this,"parentPath",null),__publicField(this,"container",null),__publicField(this,"listKey",null),__publicField(this,"key",null),__publicField(this,"node",null),__publicField(this,"type",null),this.parent=r,this.hub=t,this.data=null,this.context=null,this.scope=null}return _create_class(e,[{key:"getScope",value:function(e){return this.isScope()?new Scope2(this):e}},{key:"setData",value:function(e,t){return null==this.data&&(this.data=Object.create(null)),this.data[e]=t}},{key:"getData",value:function(e,t){null==this.data&&(this.data=Object.create(null));var r=this.data[e];return void 0===r&&void 0!==t&&(r=this.data[e]=t),r}},{key:"hasNode",value:function(){return null!=this.node}},{key:"buildCodeFrameError",value:function(e){var t=arguments.length>1&&void 0!==arguments[1]?arguments[1]:SyntaxError;return this.hub.buildError(this.node,e,t)}},{key:"traverse",value:function(e,t){traverse3(this.node,e,this.scope,t,this)}},{key:"set",value:function(e,t){validate3(this.node,e,t),this.node[e]=t}},{key:"getPathLocation",value:function(){var e=[],t=this;do{var r=t.key;t.inList&&(r="".concat(t.listKey,"[").concat(r,"]")),e.unshift(r)}while(t=t.parentPath);return e.join(".")}},{key:"debug",value:function(e){debug$6.enabled&&debug$6("".concat(this.getPathLocation()," ").concat(this.type,": ").concat(e))}},{key:"toString",value:function(){return generate$9(this.node).code}},{key:"inList",get:function(){return!!this.listKey},set:function(e){e||(this.listKey=null)}},{key:"parentKey",get:function(){return this.listKey||this.key}},{key:"shouldSkip",get:function(){return!!(this._traverseFlags&SHOULD_SKIP)},set:function(e){e?this._traverseFlags|=SHOULD_SKIP:this._traverseFlags&=~SHOULD_SKIP}},{key:"shouldStop",get:function(){return!!(this._traverseFlags&SHOULD_STOP)},set:function(e){e?this._traverseFlags|=SHOULD_STOP:this._traverseFlags&=~SHOULD_STOP}},{key:"removed",get:function(){return!!(this._traverseFlags&REMOVED)},set:function(e){e?this._traverseFlags|=REMOVED:this._traverseFlags&=~REMOVED}}],[{key:"get",value:function(t){var r=t.hub,n=t.parentPath,i=t.parent,a=t.container,s=t.listKey,o=t.key;if(!r&&n&&(r=n.hub),!i)throw new Error("To get a node path the parent needs to exist");var l=a[o],u=getOrCreateCachedPaths(r,i),c=u.get(l);return c||(c=new e(r,i),l&&u.set(l,c)),c.setup(n,a,s,o),c}}]),e}();Object.assign(NodePath$4.prototype,NodePath_ancestry,NodePath_inference,NodePath_replacement,NodePath_evaluation,NodePath_conversion,NodePath_introspection,NodePath_context,NodePath_removal,NodePath_modification,NodePath_family,NodePath_comments);var _iteratorNormalCompletion4=!0,_didIteratorError4=!1,_iteratorError4=void 0;try{for(var _step4,_loop2=function(){var e=_step4.value,t="is".concat(e),r=lib_exports[t];NodePath$4.prototype[t]=function(e){return r(this.node,e)},NodePath$4.prototype["assert".concat(e)]=function(t){if(!r(this.node,t))throw new TypeError("Expected node path of type ".concat(e))}},_iterator4=TYPES$3[Symbol.iterator]();!(_iteratorNormalCompletion4=(_step4=_iterator4.next()).done);_iteratorNormalCompletion4=!0)_loop2()}catch(e){_didIteratorError4=!0,_iteratorError4=e}finally{try{_iteratorNormalCompletion4||null==_iterator4.return||_iterator4.return()}finally{if(_didIteratorError4)throw _iteratorError4}}Object.assign(NodePath$4.prototype,NodePath_virtual_types_validator);var _iteratorNormalCompletion5=!0,_didIteratorError5=!1,_iteratorError5=void 0;try{for(var _step5,_iterator5=Object.keys(virtualTypes)[Symbol.iterator]();!(_iteratorNormalCompletion5=(_step5=_iterator5.next()).done);_iteratorNormalCompletion5=!0){var type2=_step5.value;"_"!==type2[0]&&(TYPES$3.includes(type2)||TYPES$3.push(type2))}}catch(e){_didIteratorError5=!0,_iteratorError5=e}finally{try{_iteratorNormalCompletion5||null==_iterator5.return||_iterator5.return()}finally{if(_didIteratorError5)throw _iteratorError5}}var VISITOR_KEYS$2=lib_exports.VISITOR_KEYS,TraversalContext=function(){function e(t,r,n,i){_class_call_check(this,e),__publicField(this,"queue",null),__publicField(this,"priorityQueue",null),this.parentPath=i,this.scope=t,this.state=n,this.opts=r}return _create_class(e,[{key:"shouldVisit",value:function(e){var t=this.opts;if(t.enter||t.exit)return!0;if(t[e.type])return!0;var r=VISITOR_KEYS$2[e.type];if(!(null==r?void 0:r.length))return!1;var n=!0,i=!1,a=void 0;try{for(var s,o=r[Symbol.iterator]();!(n=(s=o.next()).done);n=!0){if(e[s.value])return!0}}catch(e){i=!0,a=e}finally{try{n||null==o.return||o.return()}finally{if(i)throw a}}return!1}},{key:"create",value:function(e,t,r,n){return NodePath$4.get({parentPath:this.parentPath,parent:e,container:t,key:r,listKey:n})}},{key:"maybeQueue",value:function(e,t){this.queue&&(t?this.queue.push(e):this.priorityQueue.push(e))}},{key:"visitMultiple",value:function(e,t,r){if(0===e.length)return!1;for(var n=[],i=0;i<e.length;i++){var a=e[i];a&&this.shouldVisit(a)&&n.push(this.create(t,e,i,r))}return this.visitQueue(n)}},{key:"visitSingle",value:function(e,t){return!!this.shouldVisit(e[t])&&this.visitQueue([this.create(e,e,t)])}},{key:"visitQueue",value:function(e){this.queue=e,this.priorityQueue=[];for(var t=new WeakSet,r=!1,n=0;n<e.length;){var i=e[n];if(n++,i.resync(),0!==i.contexts.length&&i.contexts[i.contexts.length-1]===this||i.pushContext(this),null!==i.key){var a=i.node;if(!t.has(a)){if(a&&t.add(a),i.visit()){r=!0;break}if(this.priorityQueue.length&&(r=this.visitQueue(this.priorityQueue),this.priorityQueue=[],this.queue=e,r))break}}}for(var s=0;s<n;s++)e[s].popContext();return this.queue=null,r}},{key:"visit",value:function(e,t){var r=e[t];return!!r&&(Array.isArray(r)?this.visitMultiple(r,e,t):this.visitSingle(e,t))}}]),e}(),VISITOR_KEYS$1=lib_exports.VISITOR_KEYS;function traverseNode(e,t,r,n,i,a,s){var o=VISITOR_KEYS$1[e.type];if(!o)return!1;var l=new TraversalContext(r,t,n,i);if(s)return!(null==a?void 0:a[i.parentKey])&&l.visitQueue([i]);var u=!0,c=!1,p=void 0;try{for(var d,f=o[Symbol.iterator]();!(u=(d=f.next()).done);u=!0){var h=d.value;if(!(null==a?void 0:a[h])&&l.visit(e,h))return!0}}catch(e){c=!0,p=e}finally{try{u||null==f.return||f.return()}finally{if(c)throw p}}return!1}var VISITOR_KEYS2=lib_exports.VISITOR_KEYS,removeProperties2=lib_exports.removeProperties,traverseFast2=lib_exports.traverseFast;function traverse3(e){var t=arguments.length>1&&void 0!==arguments[1]?arguments[1]:{},r=arguments.length>2?arguments[2]:void 0,n=arguments.length>3?arguments[3]:void 0,i=arguments.length>4?arguments[4]:void 0,a=arguments.length>5?arguments[5]:void 0;if(e){if(!t.noScope&&!r&&"Program"!==e.type&&"File"!==e.type)throw new Error("You must pass a scope and parentPath unless traversing a Program/File. Instead of that you tried to traverse a ".concat(e.type," node without passing scope and parentPath."));if(!i&&a)throw new Error("visitSelf can only be used when providing a NodePath.");VISITOR_KEYS2[e.type]&&(explode(t),traverseNode(e,t,r,n,i,null,a))}}function hasDenylistedType(e,t){e.node.type===t.type&&(t.has=!0,e.stop())}traverse3.visitors=visitors$2,traverse3.verify=verify,traverse3.explode=explode,traverse3.cheap=function(e,t){traverseFast2(e,t)},traverse3.node=function(e,t,r,n,i,a){traverseNode(e,t,r,n,i,a)},traverse3.clearNode=function(e,t){removeProperties2(e,t)},traverse3.removeProperties=function(e,t){return traverseFast2(e,traverse3.clearNode,t),e},traverse3.hasType=function(e,t,r){if(null==r?void 0:r.includes(e.type))return!1;if(e.type===t)return!0;var n={has:!1,type:t};return traverse3(e,{noScope:!0,denylist:r,enter:hasDenylistedType},null,n),n.has},traverse3.cache=cache,bundle.default;var types$1c={TYPES:{TOKEN:"Token",NEWLINE:"Newline",LINEBREAK:"Linebreak",SPLITTER:"Splitter",INDENT:"Indent",DEBUG:"Debug",SPACE:"Space",ROUND_BRACE_OPEN:"RoundBraceOpen",ROUND_BRACE_CLOSE:"RoundBraceClose",QUOTE:"Quote",END_OF_FILE:"EndOfFile"}},functions$1={},arrowFunctionExpression={},is$3={};const{isStringLiteral:isStringLiteral$7,isIdentifier:isIdentifier$q,isIfStatement:isIfStatement$3,isStatement:isStatement$4,isForOfStatement:isForOfStatement,isVariableDeclaration:isVariableDeclaration$2,isMemberExpression:isMemberExpression$5,isArrayExpression:isArrayExpression$6}=bundle.types,isParentProgram$1=e=>e.parentPath?.isProgram(),isParentBlock$3=e=>e.parentPath.isBlockStatement(),isNext$q=e=>{const t=e.getNextSibling();return!!t.node&&!t.isEmptyStatement()},isPrev$1=e=>e.getPrevSibling().node,isNextParent$5=e=>isNext$q(e.parentPath),isLast$d=e=>isParentProgram$1(e)&&!isNext$q(e);function isCoupleLines$a(e){const t=e.node?.loc?.start?.line,r=e.node?.loc?.end?.line;return r!==t}function isStringAndIdentifier$2([e,t]){return isStringLiteral$7(e)&&isIdentifier$q(t)}is$3.isFirst=e=>e.node===e.parentPath.node.body?.[0],is$3.isPrevBody=e=>e.getPrevSibling().isBlockStatement(),is$3.isNext=isNext$q,is$3.isPrev=isPrev$1,is$3.isNextParent=isNextParent$5,is$3.isParentProgram=isParentProgram$1,is$3.isParentBlock=isParentBlock$3,is$3.isLast=isLast$d,is$3.isParentLast=e=>isLast$d(e.parentPath),is$3.isIndented=(e={})=>{const{parentPath:t,node:r}=e;return r.loc?.start.column!==t.node.loc.start.column},is$3.isCoupleLines=isCoupleLines$a,is$3.exists=e=>e.node,is$3.isStringAndIdentifier=isStringAndIdentifier$2,is$3.isIdentifierAndIdentifier=([e,t])=>isIdentifier$q(e)&&isIdentifier$q(t),is$3.isStringAndMember=([e,t])=>isStringLiteral$7(e)&&isMemberExpression$5(t),is$3.isIdentifierAndString=([e,t])=>isIdentifier$q(e)&&isStringLiteral$7(t),is$3.isStringAndArray=([e,t])=>!!isStringLiteral$7(e)&&(!!isArrayExpression$6(t)&&!isStringAndIdentifier$2(t.node.elements));const isIfOrStatement=e=>isIfStatement$3(e)||isStatement$4(e),isForOfOrStatement=e=>isForOfStatement(e)||isStatement$4(e);is$3.isIf=e=>isIfStatement$3(e.find(isIfOrStatement)),is$3.isForOf=e=>{const t=e.find(isForOfOrStatement);return!!isForOfStatement(t)||!!isVariableDeclaration$2(t)&&isForOfStatement(t.parentPath)},is$3.isNewlineBetweenSiblings=e=>{const t=e.node?.loc?.end?.line,r=e.getNextSibling().node?.loc?.start?.line;return!!r&&r-t>1},is$3.satisfy=e=>t=>{for(const r of e)if(r(t))return!0;return!1},is$3.hasTrailingComment=e=>e.node?.trailingComments?.length,is$3.hasLeadingComment=e=>e.node?.leadingComments?.length,is$3.noTrailingComment=e=>!e.node.trailingComments?.length,is$3.noLeadingComment=e=>!e.node.leadingComments?.length;var params={},comment={},parseLeadingComments$4={},mark={};const WATER_MARK_BEFORE="__putout_newline_before",WATER_MARK_AFTER="__putout_newline_after";function markBefore$2(e){e[WATER_MARK_BEFORE]=!0}function markAfter$a(e){e[WATER_MARK_AFTER]=!0}function isMarkedAfter$3(e){return e[WATER_MARK_AFTER]}mark.markBefore=markBefore$2,mark.markAfter=markAfter$a,mark.maybeMarkAfter=(e,t)=>e&&markAfter$a(t),mark.isMarkedAfter=isMarkedAfter$3,mark.hasPrevNewline=e=>isMarkedAfter$3(e.getPrevSibling());var maybeInsideFn$1={maybeInsideFn:(e,{print:t,indent:r})=>{e&&(r.inc(),r.inc(),t.breakline(),r.dec(),r.dec())}};const{types:types$1b}=bundle,{hasTrailingComment:hasTrailingComment$3,satisfy:satisfy$4,isPrev:isPrev}=is$3,{markBefore:markBefore$1}=mark,{maybeInsideFn:maybeInsideFn}=maybeInsideFn$1,{isObjectProperty:isObjectProperty$2,isVariableDeclarator:isVariableDeclarator,isClassProperty:isClassProperty,isTSPropertySignature:isTSPropertySignature,isSpreadElement:isSpreadElement$3}=types$1b,isProperty=satisfy$4([isObjectProperty$2,isVariableDeclarator,isClassProperty,isTSPropertySignature,isSpreadElement$3]);function isCommentOfPrevious(e){const[t]=e.node.leadingComments,{line:r}=t.loc.start;return e.getPrevSibling().node?.loc.start.line===r}function isCommentOnPreviousLine(e){const{loc:t,leadingComments:r}=e.node;if(!isProperty(e))return!1;const[n]=r,{line:i}=n.loc.start;return!isCommentOfPrevious(e)&&i===t.start.line-1}const isFirst$2=e=>e===e.parentPath?.get("properties")[0];parseLeadingComments$4.parseLeadingComments=(e,{print:t,maybe:r,indent:n},i)=>{if(!i.comments)return;const{leadingComments:a}=e.node;if(!a?.length)return;const s=e.isSwitchCase();if(!s&&hasTrailingComment$3(e.getPrevSibling()))return;const o=e.parentPath.isFunction(),l=isProperty(e),u=isFirst$2(e)||!s&&!e.isClassMethod()&&!o&&!l;for(const{type:i,value:c}of a)if(r.indent(u),"CommentLine"!==i)if("CommentBlock"!==i);else{const n=e.isClassMethod(),i=e.isDirective(),a=e.isObjectProperty();a&&t.breakline(),t(`/*${c}*/`),isTSPropertySignature(e)&&!isPrev(e)&&t.breakline(),(e.isStatement()||e.isTSEnumMember()||i||n||a||s)&&(t.newline(),markBefore$1(e),r.indent(n||a||s))}else maybeInsideFn(o,{print:t,indent:n}),isCommentOnPreviousLine(e)?r.print.breakline(!isFirst$2(e)):r.print.space(l&&!e.isClassProperty()),t(`//${c}`),r.print.breakline(l),r.print.newline(!l)};var parseTrailingComments$2={};const{isDecorator:isDecorator,isMemberExpression:isMemberExpression$4}=bundle.types,{isLast:isLast$c,isCoupleLines:isCoupleLines$9,isNext:isNext$p}=is$3,hasBody=e=>e.node.body,isFnParam=e=>{const{parentPath:t}=e;return!!t.isFunction()&&t.get("params").includes(e)};function isSameLine(e,t){return e.node.loc?.start.line===t.start.line||e.node.loc?.end.line===t.end.line}const isTrailingIsLeading=e=>e.node.trailingComments===e.getNextSibling().node?.leadingComments,isNewlineAfter=e=>{const{parentPath:t}=e;return!isMemberExpression$4(t)&&(!isLast$c(e)&&!isDecorator(e))};function isCommentOnNextLine(e){const{node:t,parentPath:r}=e,{loc:n,trailingComments:i}=t;if(r.isMemberExpression())return!1;if(isTrailingIsLeading(e))return!1;if(i.length>1)return!1;const[a]=i,{line:s}=a.loc.start,o=e.getNextSibling();return!(s<o.node?.loc.start.line)&&s===n.start.line+1}parseTrailingComments$2.isTrailingIsLeading=isTrailingIsLeading,parseTrailingComments$2.parseTrailingComments=(e,{write:t,maybe:r},n)=>{if(!n.comments)return;const{trailingComments:i}=e.node;if(!i?.length)return;if(e.isDirective())return;const a=i.length-1;for(const{type:n,value:s,loc:o}of i){const i=isSameLine(e,o),l=isCommentOnNextLine(e);"CommentLine"!==n?"CommentBlock"===n&&(r.write.space(i),r.indent(!i),t(`/*${s}*/`),r.write.newline(!i||!isFnParam(e)&&isCoupleLines$9(e.parentPath))):(r.write.breakline(l),r.write.space(i),r.indent(!i&&!l),hasBody(e)&&(r.write.breakline(!isNext$p(e)),r.write.breakline(!a)),t(`//${s}`),r.write.newline(isNewlineAfter(e)))}};var parseComments$7={};const{isNext:isNext$o}=is$3;parseComments$7.parseComments=(e,{write:t,maybe:r},n)=>{if(!n.comments)return;const i=e.node.comments||e.node.innerComments;if(!i)return;const a=i.length-1,s=e.isProgram();for(const[n,{type:o,value:l}]of i.entries())if("CommentLine"!==o)"CommentBlock"===o&&(t("/*"),t(l),t("*/"));else{if(r.write.breakline(isNext$o(e)||!s),t("//"),t(l),s){r.write.newline(n<a);continue}t.newline()}};const{parseLeadingComments:parseLeadingComments$3}=parseLeadingComments$4,{parseTrailingComments:parseTrailingComments$1}=parseTrailingComments$2,{parseComments:parseComments$6}=parseComments$7;comment.parseLeadingComments=parseLeadingComments$3,comment.parseTrailingComments=parseTrailingComments$1,comment.parseComments=parseComments$6;const{parseComments:parseComments$5}=comment;function parseParams(e){return e.get("params")}function printBraceOpen(e,{print:t,braceOpen:r},n){if(!isOneArgArrow(e)||n.roundBraces)return t(r)}function printBraceClose(e,{print:t,braceClose:r},n){isOneArgArrow(e)&&!n.roundBraces||t(r)}function isOneArgArrow(e){if("ArrowFunctionExpression"!==e.type)return!1;const{params:t}=e.node,[r]=t;return 1===t.length&&"Identifier"===r.type}params.printParams=(e,t,r,n={})=>{const{params:i=parseParams(e),braceOpen:a="(",braceClose:s=")"}=n,{print:o,traverse:l}=t;e.node.typeParameters&&l(e.get("typeParameters")),printBraceOpen(e,{print:o,braceOpen:a},r),parseComments$5(e,t,r);const u=i.length-1;for(let e=0;e<=u;e++){const t=e===u;l(i[e]),t||(o(","),o.space())}printBraceClose(e,{print:o,braceClose:s},r)};var parens$1={maybeParens:e=>({condition:e=>e.node.extra?.parenthesized,before(e,{write:t}){t("(")},print:e,after(e,{write:t}){t(")")}})};const{exists:exists$e}=is$3,{printParams:printParams$c}=params,{maybeParens:maybeParens$6}=parens$1;arrowFunctionExpression.ArrowFunctionExpression=maybeParens$6(((e,t,r)=>{const{print:n,maybe:i,write:a,traverse:s}=t,{async:o}=e.node;i.print(o,"async "),printParams$c(e,t,r);const l=e.get("returnType");exists$e(l)&&(a(":"),a.space(),s(l)),n.space(),n("=>");const u=e.get("body").isJSXElement();i.print.space(!u),n("__body")}));var functionDeclaration={};const{markAfter:markAfter$9}=mark,{isNext:isNext$n,isNextParent:isNextParent$4}=is$3,{printParams:printParams$b}=params;functionDeclaration.FunctionDeclaration={print(e,t,r){const{print:n,maybe:i}=t,{async:a,generator:s,returnType:o}=e.node;i.print(a,"async "),n("function"),s?(n("*"),n.space()):n(" "),n("__id"),printParams$b(e,t,r),o&&(n(": "),n("__returnType")),n.space(),n("__body")},afterSatisfy:()=>[isNext$n,isNextParent$4],after(e,{write:t}){t.newline(),markAfter$9(e)}};var classMethod$1={},maybeDecorators$4={};const isPrevClassProperty=e=>{const t=e.getPrevSibling();return!!t.node&&(t.isClassProperty()||t.isClassAccessorProperty())};maybeDecorators$4.maybeDecorators=e=>(t,r,n,i)=>{const{write:a,traverse:s,maybe:o}=r,{decorators:l}=t.node;if(l)for(const e of t.get("decorators"))o.write.breakline(isPrevClassProperty(t)),s(e),a.breakline();e(t,r,n,i)};const{isNext:isNext$m}=is$3,{printParams:printParams$a}=params,{maybeDecorators:maybeDecorators$3}=maybeDecorators$4,ClassMethod$1={print:maybeDecorators$3(((e,t,r)=>{const{print:n,maybe:i}=t,{node:a}=e,{kind:s,computed:o,generator:l,accessibility:u,returnType:c}=a,p="constructor"===s,d="method"===s,f=/get|set/.test(s);u&&(n(u),n(" ")),a.static&&(n("static"),n(" ")),a.async&&(n("async"),n(" ")),i.print(l,"*"),i.print(p,s),d&&(i.print(o,"["),n("__key"),i.print(o,"]")),f&&(n(s),n(" "),n("__key")),printParams$a(e,t,r),c&&(n(":"),n.space(),n("__returnType")),n.space(),n("__body")})),afterSatisfy:()=>[isNext$m],after(e,{print:t}){t.linebreak()}};classMethod$1.ClassPrivateMethod=ClassMethod$1,classMethod$1.ClassMethod=ClassMethod$1;var objectMethod={};const{isNewlineBetweenSiblings:isNewlineBetweenSiblings$4}=is$3,{printParams:printParams$9}=params;objectMethod.ObjectMethod={beforeIf:e=>e.node.async,before(e,{write:t}){t("async ")},print(e,t,r){const{print:n,maybe:i}=t,{kind:a,generator:s,computed:o}=e.node,l="method"!==a;i.print(l,`${a} `),i.print(s,"*"),i.print(o,"["),n("__key"),i.print(o,"]"),printParams$9(e,t,r),n.space(),n("__body")},afterIf:e=>isNewlineBetweenSiblings$4(e),after(e,{print:t}){t.linebreak()}};var functionExpression={};const{exists:exists$d}=is$3,{printParams:printParams$8}=params,{maybeParens:maybeParens$5}=parens$1;functionExpression.FunctionExpression=maybeParens$5(((e,t,r)=>{const{print:n,maybe:i,write:a,traverse:s}=t,{node:o}=e,{generator:l,async:u}=o;i.write(u,"async "),a("function"),i.write(l,"*");const c=e.get("id");exists$d(c)&&(a(" "),s(c)),printParams$8(e,t,r),n.space(),n("__body")}));const{ArrowFunctionExpression:ArrowFunctionExpression}=arrowFunctionExpression,{FunctionDeclaration:FunctionDeclaration}=functionDeclaration,{ClassMethod:ClassMethod,ClassPrivateMethod:ClassPrivateMethod}=classMethod$1,{ObjectMethod:ObjectMethod$1}=objectMethod,{FunctionExpression:FunctionExpression}=functionExpression;functions$1.FunctionDeclaration=FunctionDeclaration,functions$1.FunctionExpression=FunctionExpression,functions$1.ArrowFunctionExpression=ArrowFunctionExpression,functions$1.ClassMethod=ClassMethod,functions$1.ClassPrivateMethod=ClassPrivateMethod,functions$1.ObjectMethod=ObjectMethod$1;var unaryExpressions$1={};const{isLast:isLast$b,isNext:isNext$l}=is$3,{maybeParens:maybeParens$4}=parens$1,isWord=e=>/^(delete|typeof|void|throw)$/.test(e),unaryExpression=maybeParens$4(((e,t)=>{const{maybe:r,traverse:n}=t,{prefix:i,operator:a}=e.node,s=e.get("argument");r.print(i,a),r.print(isWord(a)," "),n(s),r.print(!i,a)}));function printUnary(e,t,{print:r}){r(`${t} `),r("__argument")}unaryExpressions$1.UnaryExpression=unaryExpression,unaryExpressions$1.UpdateExpression=unaryExpression,unaryExpressions$1.AwaitExpression=(e,{print:t})=>{printUnary(e,"await",{print:t})},unaryExpressions$1.YieldExpression=(e,{print:t,maybe:r})=>{const{delegate:n}=e.node;t("yield"),r.print(n,"*"),t(" "),t("__argument")},unaryExpressions$1.ThrowStatement=(e,{print:t,indent:r,maybe:n})=>{r(),printUnary(e,"throw",{print:t}),t(";"),n.print.newline(!isLast$b(e)),n.print.breakline(isNext$l(e))};var memberExpressions$1={},chain$1={};const{assign:assign$i}=Object;function down(e){const t=[];let r=e.get("object");for(;!r.isIdentifier();){const e=r.isCallExpression(),n=build$1(r);if(e&&(r=r.get("callee")),t.unshift(n),!r.isMemberExpression())break;r=r.get("object")}return t}function up(e){const t=[];for(;e.isMemberExpression()&&((e=e.parentPath).isCallExpression()&&(t.push(build$1(e)),e=e.parentPath),e.isMemberExpression()););return t.push({type:e.type}),t}function build$1(e){const t={type:e.type};return e.isCallExpression()&&assign$i(t,{args:e.node.arguments.length,name:e.node.callee.property?.name||""}),t}chain$1.chain=e=>{const t=[...down(e),...up(e)],r=t.slice(0,-1);return[t.at(-1),r]};const{isUnaryExpression:isUnaryExpression,isArrowFunctionExpression:isArrowFunctionExpression$3,isIfStatement:isIfStatement$2}=bundle.types,{chain:chain}=chain$1,{satisfy:satisfy$3}=is$3,isArgOfCall=e=>e.parentPath.isCallExpression()&&e.parentPath.get("arguments.0")===e;memberExpressions$1.MemberExpression=(e,{print:t,maybe:r,traverse:n})=>{const{computed:i}=e.node,a=e.get("object"),s=a.isAwaitExpression();if(r.print(s,"("),n(a),r.print(s,")"),i)return t("["),t("__property"),void t("]");const o=likeChain$1(e);r.indent.inc(o),o&&t.breakline(),t("."),t("__property"),r.indent.dec(o)},memberExpressions$1.OptionalMemberExpression=(e,{print:t,maybe:r})=>{const{computed:n,optional:i}=e.node;if(t("__object"),r.print(i,"?."),r.print(!i&&!n,"."),n)return t("["),t("__property"),void t("]");t("__property")};const isCall$1=e=>"CallExpression"===e.type,isExcludedFromChain=satisfy$3([isUnaryExpression,isArrowFunctionExpression$3,isIfStatement$2]),isIfUp=e=>{const t=e.find(isIfStatement$2);let r=!1;return t?(t.get("test").traverse({MemberExpression(t){e===t&&(r=!0,e.stop())}}),r):r};function likeChain$1(e){const[t,r]=chain(e);if(isExcludedFromChain(t))return!1;if(e.find(isIfUp))return!1;const n=r.filter(isCall$1),[i]=n;return!(2===n.length&&!i.name)&&(!isArgOfCall(e)&&n.length>1)}memberExpressions$1.likeChain=likeChain$1;var _class={},maybeDeclare$6={maybeDeclare:e=>(t,r,n)=>{const{maybe:i}=r,{declare:a}=t.node;i.print(a,"declare "),e(t,r,n)}};const{isNext:isNext$k}=is$3,{markAfter:markAfter$8}=mark,{maybeDeclare:maybeDeclare$5}=maybeDeclare$6,{parseComments:parseComments$4}=comment,{maybeDecorators:maybeDecorators$2}=maybeDecorators$4,isInsideExport=({parentPath:e})=>e.isExportDeclaration(),classVisitor=maybeDecorators$2(((e,t,r)=>{const{id:n,abstract:i}=e.node,{print:a,indent:s,maybe:o,traverse:l}=t;o.print(i,"abstract "),a("class "),a("__id"),a("__typeParameters");const{node:u}=e;u.implements&&(a(" implements "),e.get("implements").forEach(a)),u.superClass&&(o.print(n&&!u.implements," "),a("extends "),a("__superClass"),a("__superTypeParameters")),a.space(),a("{"),o.print.newline(e.node.body.body.length),s.inc();const c=e.get("body"),p=c.get("body");for(const e of p)s(),l(e);p.length||parseComments$4(c,t,r),s.dec(),o.indent(p.length),a("}")}));_class.ClassExpression=classVisitor,_class.ClassDeclaration={print:maybeDeclare$5(((e,t,r)=>{const{indent:n}=t;n(),classVisitor(e,t,r)})),afterIf:e=>!!isNext$k(e)&&!isInsideExport(e),after(e,{write:t}){t.newline(),e.node.body.body.length&&(t.newline(),markAfter$8(e))}};var callExpression={};const{isArray:isArray$e}=Array,{exists:exists$c}=is$3,parseArgs=e=>{const t=e.get("arguments");return isArray$e(t)?t:[]};function CallExpression$1(e,{indent:t,print:r,maybe:n,traverse:i}){const a=parseArgs(e),s=tooLong$1(a)&&e.parentPath.isCallExpression(),o=e.get("callee"),l=e.get("typeParameters");i(o),exists$c(l)&&i(l),e.node.optional&&r("?."),r("(");const u=a.length-1;n.indent.inc(s);for(const[e,t]of a.entries()){const n=t.isObjectExpression();s&&!n&&u&&r.breakline(),r(t),s&&u?r(","):e<u&&(r(","),r.space())}s&&(t.dec(),n.print.breakline(u)),r(")")}function tooLong$1(e){for(const t of e)if(t.isIdentifier()&&t.node.name.length>10)return!0;return!1}callExpression.OptionalCallExpression=CallExpression$1,callExpression.CallExpression=CallExpression$1;var newExpression={};const{exists:exists$b}=is$3,{isMarkedAfter:isMarkedAfter$2}=mark,isInsideExpressionStatement=({parentPath:e})=>e.isExpressionStatement(),notFirst=({parentPath:e})=>exists$b(e.getPrevSibling()),getPrev=({parentPath:e})=>{const t=e.getPrevSibling();return[t.node,t]};newExpression.NewExpression={beforeIf(e){if(!isInsideExpressionStatement(e))return!1;const[t,r]=getPrev(e);return!!t&&(!isMarkedAfter$2(r)&&(!r.isExpressionStatement()&¬First(e)))},before(e,{print:t}){t.breakline()},print(e,{print:t,maybe:r}){t("new "),t("__callee"),t("__typeParameters");const n=e.get("arguments");t("(");const i=n.length-1;for(const[e,a]of n.entries())t(a),r.print(e<i,", ");t(")")}};var objectExpression={};const{isCoupleLines:isCoupleLines$8,isForOf:isForOf$3,isIf:isIf,noTrailingComment:noTrailingComment$3,isNewlineBetweenSiblings:isNewlineBetweenSiblings$3,noLeadingComment:noLeadingComment,hasLeadingComment:hasLeadingComment,exists:exists$a}=is$3,{parseComments:parseComments$3}=comment,{likeChain:likeChain}=memberExpressions$1,isBodyOfArrow=e=>e.parentPath.node.body===e.node,isLogical=e=>e.get("argument").isLogicalExpression(),isValue=e=>e.get("properties.0.value").node,isParentExpression=e=>e.parentPath.isExpressionStatement(),isMemberExpressionCallee=({parentPath:e})=>{if(!e.isCallExpression())return!1;const t=e.get("callee");return!!t.isMemberExpression()&&likeChain(t)};objectExpression.ObjectExpression=(e,t,r)=>{const{trailingComma:n}=r,{print:i,maybe:a,indent:s}=t;s.inc();const o=e.get("properties"),{length:l}=o,u=isParens$4(e),c=!isOneLine$1(e);a.print(u,"("),i("{"),parseComments$3(e,t,r),a.print.newline(c);const p=o.length-1;a.indent.inc(isMemberExpressionCallee(e));for(const[e,t]of o.entries())if(t.isSpreadElement()){const r=isLogical(t);noLeadingComment(t)&&a.indent(l>1||r||c),i(t),noTrailingComment$3(t)&&(l>1||c)&&(a.print(e!==p||n,","),i.newline())}else a.indent(c&&noLeadingComment(t)),t.isObjectMethod()?i(t):(i(t),noTrailingComment$3(t)&&!hasNextLeadingComment(t)&&(a.print.newline(c),a.print.linebreak(isNewlineBetweenSiblings$3(t))));s.dec(),a.indent(c),i("}"),a.print(u,")"),a.indent.dec(isMemberExpressionCallee(e))};const hasNextLeadingComment=e=>{const t=e.getNextSibling();return!!exists$a(t)&&hasLeadingComment(t)},notLastArgInsideCall=e=>{const{parentPath:t}=e;return!!t.isCallExpression()&&(!isCoupleLines$8(e)&&e!==t.get("arguments").at(-1))},ONE_LINE$2=!0,MANY_LINES=!1;function isOneLine$1(e){const{length:t}=e.get("properties");return!t||(notLastArgInsideCall(e)||isForOf$3(e)||isIf(e)?ONE_LINE$2:isCoupleLines$8(e)?MANY_LINES:!isValue(e))}function isParens$4(e){return!!isBodyOfArrow(e)||isParentExpression(e)}objectExpression.isOneLine=isOneLine$1;var objectProperty={},concatanate$1={};const{isStringLiteral:isStringLiteral$6,isTemplateLiteral:isTemplateLiteral$4,isBinaryExpression:isBinaryExpression$2}=bundle.types,isStringLike=e=>!!isStringLiteral$6(e)||isTemplateLiteral$4(e);concatanate$1.isConcatenation=e=>{const{parentPath:t}=e,{operator:r}=e.node,n=e.node.loc?.start.line,i=e.node.loc?.end.line;if(n===i)return!1;const a=e.get("left"),s=e.get("right");return"+"===r&&(!!(isStringLike(a)&&isStringLike(s)&&isBinaryExpression$2(t))||isBinaryExpression$2(a)&&isStringLike(s))},concatanate$1.concatanate=(e,{print:t,indent:r})=>{e.parentPath.isBinaryExpression()||(r.inc(),t.breakline()),t("__left"),t.space(),t("+"),t.breakline(),t("__right"),e.parentPath.isBinaryExpression()||r.dec()};const{isConcatenation:isConcatenation$2}=concatanate$1,{isOneLine:isOneLine}=objectExpression;objectProperty.ObjectProperty=(e,{maybe:t,traverse:r,write:n},i)=>{const{trailingComma:a}=i,{shorthand:s,computed:o}=e.node,l=e.get("key"),u=e.get("value"),c=e.parentPath.get("properties"),p=e===c.at(-1),d=!isOneLine(e.parentPath);t.write(o,"["),r(l),t.write(o,"]"),s||(n(":"),t.write.space(!isConcatenation$2(u)),r(u)),d?t.write(!p||a,","):!p&&c.length&&n(", ")};var objectPattern={},wrongShortand={wrongShorthand:({computed:e,isAssign:t,keyPath:r,valuePath:n})=>!e&&!t&&r.node.name!==n.node.name},maxPropertiesInOneLine={checkMaxPropertiesInOneLine:(e,{maxPropertiesInOneLine:t})=>{const{parentPath:r}=e;if(r.isObjectProperty())return!1;return t>=e.node.properties.length}},maybeTypeAnnotation$4={};function maybePrintTypeAnnotation$3(e,t){const{typeAnnotation:r}=e.node,{write:n,traverse:i}=t;r&&(n(":"),n.space(),i(e.get("typeAnnotation")))}maybeTypeAnnotation$4.maybePrintTypeAnnotation=maybePrintTypeAnnotation$3,maybeTypeAnnotation$4.maybeTypeAnnotation=e=>(t,r,n)=>{e(t,r,n),maybePrintTypeAnnotation$3(t,r)};const{isIdentifier:isIdentifier$p,isObjectPattern:isObjectPattern$7,isAssignmentPattern:isAssignmentPattern$5}=bundle.types,{wrongShorthand:wrongShorthand}=wrongShortand,{isForOf:isForOf$2,isCoupleLines:isCoupleLines$7,exists:exists$9}=is$3,{checkMaxPropertiesInOneLine:checkMaxPropertiesInOneLine}=maxPropertiesInOneLine,{maybeTypeAnnotation:maybeTypeAnnotation$3}=maybeTypeAnnotation$4,isTwoLevelsDeep=({parentPath:e})=>e.parentPath.parentPath.isObjectProperty(),isOneParentProperty=({parentPath:e})=>1===e.parentPath.node.properties?.length;function checkLength(e){for(const t of e){const{value:e}=t.node;if(isIdentifier$p(e)&&e.name.length>4)return!0}return!1}function hasAssign(e){for(const t of e){const{value:e}=t.node;if(isAssignmentPattern$5(e))return!0}return!1}function hasObjectPattern(e){for(const t of e)if(isObjectPattern$7(t.node.value))return!0;return!1}objectPattern.ObjectPattern={print:maybeTypeAnnotation$3(((e,{indent:t,print:r,maybe:n},i)=>{const{maxPropertiesInOneLine:a}=i;t.inc(),r("{");const s=e.get("properties"),o=s.length-1,l=shouldAddNewline(e,{maxPropertiesInOneLine:a}),u=o&&hasObjectPattern(s);n.print.newline(l);for(const[t,i]of s.entries()){if(i.isRestElement()){const e=l||u;n.indent(e),r(i),n.print.newline(e);continue}const a=i.get("value"),s=i.get("key"),c=a.isAssignmentPattern(),{shorthand:p,computed:d}=i.node,f=isCoupleLines$7(a)&&!exists$9(i.getPrevSibling())&&!e.parentPath.isObjectProperty();n.indent(l),n.print.breakline(f),n.print(d,"["),r(s),n.print(d,"]"),!p||wrongShorthand({computed:d,isAssign:c,keyPath:s,valuePath:a})?(r(":"),r.space(),r(a)):c&&(r(a),n.print(f,","),n.print.newline(f)),l||u?(r(","),r.newline()):t<o&&(r(","),r.space())}t.dec(),n.indent(l),r("}")})),afterIf:e=>!!e.parentPath.isObjectProperty()&&(!isTwoLevelsDeep(e)&&isOneParentProperty(e)),after(e,{print:t}){t.newline()}};const ONE_LINE$1=!1,COUPLE_LINES=!0;function shouldAddNewline(e,{maxPropertiesInOneLine:t}){const{parentPath:r}=e,n=e.get("properties"),i=n.length-1;return checkMaxPropertiesInOneLine(e,{maxPropertiesInOneLine:t})?ONE_LINE$1:!isForOf$2(e)&&!e.parentPath.isFunction()&&i&&checkLength(n)||hasAssign(n)?COUPLE_LINES:r.isObjectProperty()}var classProperty={};const{exists:exists$8}=is$3,{maybePrintTypeAnnotation:maybePrintTypeAnnotation$2}=maybeTypeAnnotation$4,{maybeDecorators:maybeDecorators$1}=maybeDecorators$4,processClassProperty=maybeDecorators$1(((e,t,r,{accessor:n}={})=>{const{node:i}=e,{accessibility:a,declare:s,optional:o}=i,{print:l,maybe:u}=t;u.print(n,"accessor ");const c=e.get("value");u.print(a,`${a} `),u.print(i.static,"static "),u.print(i.readonly,"readonly "),u.print(s,"declare "),l("__key"),u.print(o,"?"),maybePrintTypeAnnotation$2(e,t),exists$8(c)&&(l.space(),l("="),l.space(),l("__value")),l(";"),l.newline()}));classProperty.ClassProperty=processClassProperty,classProperty.ClassPrivateProperty=processClassProperty,classProperty.PrivateName=(e,{print:t})=>{t("#"),t("__id")},classProperty.ClassAccessorProperty=(e,t,r)=>{processClassProperty(e,t,r,{accessor:!0})};var assignmentExpression={},parens={};const isParens$3=e=>e.node.extra?.parenthesized;parens.isParens=isParens$3,parens.maybeParenOpen=(e,{maybe:t})=>{t.write(isParens$3(e),"(")},parens.maybeParenClose=(e,{maybe:t})=>{t.write(isParens$3(e),")")};const{isObjectPattern:isObjectPattern$6}=bundle.types,{isParens:isParens$2}=parens;assignmentExpression.AssignmentExpression={condition:e=>{const{left:t}=e.node;return!!isObjectPattern$6(t)||(!!isParens$2(e)||e.parentPath.isLogicalExpression())},before(e,{write:t}){t("(")},print(e,{print:t}){const{operator:r}=e.node;t("__left"),t.space(),t(r),t.space(),t("__right")},after(e,{write:t}){t(")")}};var arrayExpression={},newline={},operate={},getBinding$3={};const{types:types$1a}=bundle,{isIdentifier:isIdentifier$o,isMemberExpression:isMemberExpression$3}=types$1a,isString$a=e=>"string"==typeof e;function getBinding$2(e,t){const r=parseName$1(t);return e.scope.getAllBindings()[r]}getBinding$3.getBinding=getBinding$2,getBinding$3.getBindingPath=(e,t)=>getBinding$2(e,t)?.path;const parseName$1=e=>isString$a(e)?e:isIdentifier$o(e)?e.name:isMemberExpression$3(e)?parseName$1(e.object):"";var isSimple$4={};const{types:types$19}=bundle,{isOptionalMemberExpression:isOptionalMemberExpression,isMemberExpression:isMemberExpression$2,isIdentifier:isIdentifier$n,isLiteral:isLiteral$5}=types$19;isSimple$4.isSimple=e=>!!isLiteral$5(e)||(!!isIdentifier$n(e)||(!!isMemberExpression$2(e)||isOptionalMemberExpression(e)));var extract$6={};const{types:types$18}=bundle,{isArrayExpression:isArrayExpression$5,isLiteral:isLiteral$4,isIdentifier:isIdentifier$m,isMemberExpression:isMemberExpression$1,isTemplateElement:isTemplateElement$3,isRegExpLiteral:isRegExpLiteral$3,isClassMethod:isClassMethod$1,isTemplateLiteral:isTemplateLiteral$3,isJSXText:isJSXText$2,isJSXAttribute:isJSXAttribute$1,isTSTypeReference:isTSTypeReference$2}=types$18;function extract$5(e){if(e=e.node||e,isIdentifier$m(e))return e.name;if(isRegExpLiteral$3(e))return e.pattern;if(isTemplateLiteral$3(e))return extract$5(e.quasis[0]);if(isLiteral$4(e))return e.value;if(isTemplateElement$3(e))return e.value.raw;if(isMemberExpression$1(e))return`${extract$5(e.object)}.${extract$5(e.property)}`;if(isArrayExpression$5(e))return extractArrayExpression(e);if(isJSXText$2(e))return e.value;if(isJSXAttribute$1(e))return e.name.name;if(isClassMethod$1(e))return extract$5(e.key);if(isTSTypeReference$2(e))return extract$5(e.typeName);throw Error(`"operator.extract(node)" understands only Literals, Identifiers, TemplateLiteral, TemplateElement, RegExpLiteral, ArrayExpression, MemberExpression, JSXAttribute, JSXText and TSTypeReference🤷, found: ${e.type}`)}function extractArrayExpression(e,t=[]){for(const r of e.elements)isArrayExpression$5(r)?extractArrayExpression(r,t):t.push(extract$5(r));return t.join(",")}extract$6.extract=extract$5;var compute$3={};const{getBindingPath:getBindingPath$2}=getBinding$3,{extract:extract$4}=extract$6,NOT_COMPUTED=!1,COMPUTED$1=!0;function compute$2(e){const{node:t}=e;if(!e.evaluate)throw Error("☝️ Looks like argument of 'compute' is not 'path'");const{confident:r,value:n}=e.evaluate();if(r)return[COMPUTED$1,n];if(e.isBinaryExpression())return parseBinaryExpression(e);if(isExtractable(e))return[COMPUTED$1,extract$4(t)];const i=parseBindingPath(e);if(!i)return[NOT_COMPUTED];const a=i.get("init");return a.isObjectExpression()&&e.isMemberExpression()?parseObjectExpression(e,a):[NOT_COMPUTED]}function parseBindingPath(e){const{node:t}=e;return e.isIdentifier()?getBindingPath$2(e,extract$4(t)):isSimpleMemberExpression(e)?getBindingPath$2(e,extract$4(t.object)):null}function parseObjectExpression(e,t){const r=extract$4(e.node.property);for(const e of t.get("properties")){const t=e.get("key");if(!isExtractable(t))return[NOT_COMPUTED];if(extract$4(t)!==r)continue;const[n,i]=compute$2(e.get("value"));if(!n)break;return[COMPUTED$1,i]}return[NOT_COMPUTED]}function isExtractable(e){const{parentPath:t}=e;return!(!e.isIdentifier()&&!e.isLiteral())&&(!!t.isObjectProperty({computed:!1})&&!usedInAssignment(e))}function isSimpleMemberExpression(e){const t=e.get("object");return!!e.isMemberExpression()&&(!e.node.computed&&t.isIdentifier())}compute$3.compute=compute$2;const binary={init:(e,t)=>binary[e]=t};function parseBinaryExpression(e){const{operator:t}=e.node,r=e.get("left"),n=e.get("right"),[i,a]=compute$2(r);if(!i)return[NOT_COMPUTED];const[s,o]=compute$2(n);if(!s)return[NOT_COMPUTED];const l=`return a ${t} b`,u=binary[t]||binary.init(t,Function("a","op","b",l));return[COMPUTED$1,u(a,t,o)]}function usedInAssignment(e){const[t]=Object.keys(e.scope.references),r=e.scope.bindings[t];if(!r)return!1;const{referencePaths:n}=r;for(const e of n)if(e.parentPath.parentPath?.isAssignmentExpression())return!0;return!1}var remove$v={};const{entries:entries$e}=Object,isOneDeclaration=({node:e})=>1===e.declarations.length;remove$v.remove=e=>{const t=e.scope.getProgramParent().block,r=getPrevSibling(e);if(e.scope.block!==t||r.node||(t.comments=getComments(e)),!e.parentPath.isArrayPattern())return void e.remove();const n=e.parentPath.get("elements"),i=n.length-1;for(const[t,r]of entries$e(n))if(r===e){if(!Number(t)&&i){e.parentPath.node.elements[t]=null;break}e.remove();break}};const getComments=e=>{const{comments:t}=e.node;if(t?.length)return t;const{parentPath:r}=e;return e.isVariableDeclarator()&&isOneDeclaration(r)?r.node.comments:[]},getPrevSibling=e=>e.isVariableDeclarator()?e.parentPath.getPrevSibling():e.getPrevSibling();var getExportDefault$1={getExportDefault:e=>{const t=e.scope.getProgramParent().path;for(const e of t.get("body"))if(e.isExportDefaultDeclaration())return e;return null}},rename$a={},renameProperty$2={renameProperty:(e,t,r)=>{e.traverse({ObjectProperty(e){const{node:n}=e,{key:i,value:a}=n;i.name===a.name&&i.name===t&&(i.name=r,a.name=r,n.shorthand=!0,e.stop())}})}};const{renameProperty:renameProperty$1}=renameProperty$2;rename$a.rename=(e,t,r)=>{const n=e.scope.getAllBindings()[t];if(!n)return;const i=n.path;renameProperty$1(i,t,r),i.scope.rename(t,r)};var setLiteralValue$2={setLiteralValue:(e,t)=>{const r=e.node||e,{raw:n,extra:i,value:a}=r;r.value=a.replace(a,t),'""'!==n?n?r.raw=n.replace(a,t):i&&(r.raw=i.raw.replace(a,t),r.extra.rawValue=a):r.raw=n.replace(n,`"${t}"`)}},properties={},traverseProperties$4={};const{traverse:traverse$l,types:types$17}=bundle,{extract:extract$3}=extract$6,{isObjectExpression:isObjectExpression$6}=types$17,nodeOrPath=e=>e.node||e;function getNode$1(e){return isObjectExpression$6(e)?e.parentPath?e.parentPath.node:{type:"ExpressionStatement",expression:nodeOrPath(e)}:nodeOrPath(e)}traverseProperties$4.traverseProperties=(e,t,{firstLevel:r=!1}={})=>{const n=[],i=getNode$1(e),a=collect({name:t,collector:n});return r?(a(e),n):(traverse$l(i,{noScope:!0,ObjectExpression:a}),n)};const collect=({name:e,collector:t})=>r=>{for(const n of r.get("properties")){if(n.isSpreadElement())continue;const r=n.get("key"),i=extract$3(r);e===i&&t.push(n)}},{extract:extract$2}=extract$6,{traverseProperties:traverseProperties$3}=traverseProperties$4;properties.traverseProperties=traverseProperties$3,properties.getProperties=(e,t)=>{const r={};for(const n of e.get("properties")){if(n.isSpreadElement())continue;const e=n.get("key"),i=extract$2(e);if(t.includes(i)){r[`${i}Path`]=n}else;}return r},properties.getProperty=(e,t)=>{const r=e.get("properties");for(const e of r){const r=e.get("key");if(extract$2(r)===t)return e}return null};const{types:types$16}=bundle,{getBinding:getBinding$1,getBindingPath:getBindingPath$1}=getBinding$3,{isSimple:isSimple$3}=isSimple$4,{extract:extract$1}=extract$6,{compute:compute$1}=compute$3,{remove:remove$u}=remove$v,{getExportDefault:getExportDefault}=getExportDefault$1,{rename:rename$9}=rename$a,{renameProperty:renameProperty}=renameProperty$2,{setLiteralValue:setLiteralValue$1}=setLiteralValue$2,{getProperty:getProperty$3,getProperties:getProperties,traverseProperties:traverseProperties$2}=properties,{ExpressionStatement:ExpressionStatement$4,toStatement:toStatement,matchesPattern:matchesPattern,isBlockStatement:isBlockStatement$d,isImportDeclaration:isImportDeclaration$2,isExportDeclaration:isExportDeclaration$4,isExpression:isExpression$3,isStatement:isStatement$3,BlockStatement:BlockStatement$2}=types$16,{assign:assign$h}=Object;function toExpression$1(e){const{type:t}=e;return["ObjectProperty"].includes(t)?e:isExpression$3(e)?ExpressionStatement$4(e):toStatement(e)}function replaceWith$r(e,t){e?.parentPath?.isExpressionStatement()&&!e.parentPath.isProgram()&&(e=e.parentPath);const{comments:r,loc:n}=e.node,{currentPath:i}=maybeBody(e,t);return i.replaceWith(t),assign$h(i.node,{comments:r,loc:n}),i}operate.getBinding=getBinding$1,operate.getBindingPath=getBindingPath$1,operate.extract=extract$1,operate.compute=compute$1,operate.replaceWith=replaceWith$r,operate.getExportDefault=getExportDefault,operate.toExpression=toExpression$1,operate.isSimple=isSimple$3,operate.rename=rename$9,operate.renameProperty=renameProperty,operate.setLiteralValue=setLiteralValue$1,operate.getProperty=getProperty$3,operate.getProperties=getProperties,operate.traverseProperties=traverseProperties$2,operate.replaceWithMultiple=(e,t)=>{const r=e.parentPath.node.comments,{comments:n}=e.node,i=t.filter(Boolean).map(toExpression$1),{currentPath:a}=maybeBody(e),s=a.replaceWithMultiple(i);return s.length?(s[0].node.comments=n||r,s):s},operate.insertBefore=(e,t)=>{e.insertBefore(t)},operate.insertAfter=(e,t)=>{const{comments:r}=e.node;e.node.trailingComments?.length&&e.getNextSibling()?.node?.leadingComments&&delete e.node.trailingComments,t.trailingComments&&delete t.trailingComments,e.insertAfter(t),e.node.comments=r},operate.isModuleExports=e=>matchesPattern(e.node||e,"module.exports");const isBinding=e=>t=>t.scope.bindings[e];function maybeBody(e,t){const{parentPath:r}=e;return t&&!isStatement$3(t)||isBlockStatement$d(t)||!r?.isArrowFunctionExpression?.()?{currentPath:e}:(r.node.body=BlockStatement$2([ExpressionStatement$4(e.node)]),{currentPath:r.get("body.body.0")})}operate.findBinding=(e,t)=>{const r=e.findParent(isBinding(t));return r?r.scope.bindings[t]:null},operate.remove=remove$u,operate.getPathAfterImports=e=>{const t=e.length;let r=0;for(;r<t-1&&isImportDeclaration$2(e[r]);)++r;return e[r]},operate.isESM=e=>{const t=e.scope.getProgramParent().path;for(const e of t.node.body){if(isImportDeclaration$2(e))return!0;if(isExportDeclaration$4(e))return!0}return!1};const{isSimple:isSimple$2}=operate,{isObjectExpression:isObjectExpression$5,isArrayExpression:isArrayExpression$4,isObjectProperty:isObjectProperty$1,isCallExpression:isCallExpression$4,isAwaitExpression:isAwaitExpression,isBooleanLiteral:isBooleanLiteral$1,isNullLiteral:isNullLiteral$1,isStringLiteral:isStringLiteral$5,isSpreadElement:isSpreadElement$2}=bundle.types,{isStringAndMember:isStringAndMember,isStringAndIdentifier:isStringAndIdentifier$1,isIdentifierAndString:isIdentifierAndString,isCoupleLines:isCoupleLines$6,isStringAndArray:isStringAndArray$1,isIdentifierAndIdentifier:isIdentifierAndIdentifier$1}=is$3,{round:round$1}=Math,isOneSpread=e=>{if(e.length>1)return!1;const[t]=e;return isSpreadElement$2(t)},isSimpleAndCall=([e,t])=>{if(isSimple$2(e))return isCallExpression$4(t)||isAwaitExpression(t)},isBooleanAndSimple=([e,t])=>isBooleanLiteral$1(e)&&isSimple$2(t),isNullAndSimple=([e,t])=>isNullLiteral$1(e)&&isSimple$2(t),isSimpleAndObject=([e,t])=>isSimple$2(e)&&isObjectExpression$5(t),ONE_LINE=!1,MULTI_LINE=!0,isSiblingIsArray=e=>!!e.getNextSibling().isArrayExpression()||e.getPrevSibling().isArrayExpression();newline.isMultiLine=(e,{elements:t,maxElementsInOneLine:r})=>t.length>3&&!isObjectExpression$5(t[0])||!isOneSimple(e)&&(!isOneSpread(t)&&((2!==t.length||!isIdentifierAndIdentifier$1(t))&&(!isCallInsideArrow(e)&&(!isIncreaseIndent$1(e)&&(!isInsideLoop(e)&&(!isBooleanAndSimple(t)&&(!isNullAndSimple(t)&&(!isSimpleAndCall(t)&&(!isShortTwoSimplesInsideCall(e,r)&&(!isTwoStringsDifferentLength(t)&&(!isTwoSimplesInsideObjectProperty(e)&&(!(isStringAndArray$1(t)&&t.length<3)&&(!isStringAndMember(t)&&(!isStringAndIdentifier$1(t)&&(!isIdentifierAndString(t)&&(!isSimpleAndObject(t)&&(!(isStringAndString(t)&&e.parentPath.isArrayExpression()&&isArrayExpression$4(e.parentPath.node.elements[0]))&&(!isSiblingIsArray(e)&&!(!tooLong(e)&&!isCoupleLines$6(e)&&(isNumbers(t)||isForOf$1(e)||!isLastArg(e)||isParentProperty(e)))))))))))))))))))));const isForOf$1=({parentPath:e})=>e.isForOfStatement(),isStringAndString=([e,t])=>isStringLiteral$5(e)&&isStringLiteral$5(t),isShortTwoSimplesInsideCall=(e,t)=>{const{node:r,parentPath:n}=e,{elements:i}=r,{length:a}=i,[s,o]=i;return!!n.isCallExpression()&&(!(!isStringLiteral$5(s)||!isStringLiteral$5(o))&&a<t)},isTwoSimplesInsideObjectProperty=e=>{const{node:t,parentPath:r}=e,{elements:n}=t,{length:i}=n,[a,s]=n;return!(i>2)&&(!!r.isObjectProperty()&&(!(!isStringLiteral$5(a)||!isStringLiteral$5(s))&&!isCoupleLines$6(e)))};function isOneSimple(e){const t=e.get("elements");if(1!==t.length)return!1;const[r]=t;return!!(r.isIdentifier()&&r.node.name.length<15)||!(r.isStringLiteral()&&r.node.value.length>10)&&(!(r.isIdentifier()||!isSimple$2(r))||!r.isCallExpression()&&r.isMemberExpression())}function isTwoStringsDifferentLength(e){const[t,r]=e;if(e.length>2)return!1;if(!t?.isStringLiteral()||!r?.isStringLiteral())return!1;const n=t.node.value.length,i=r.node.value.length;return round$1(i/n)>2}function isInsideLoop(e){return e.parentPath.isForOfStatement()}function tooLong(e){if(e.get("elements").length<2)return!1;for(const t of e.get("elements"))if(t.isStringLiteral()&&t.node.value.length>4)return!0;return!1}function isCallInsideArrow(e){const{parentPath:t}=e;return!!t.isCallExpression()&&(!!t.parentPath.isFunction()&&e.node.elements.length<4)}function isNumbers(e){for(const t of e)if(t.isNumericLiteral())return!0;return!1}function isLastArg({parentPath:e}){return!e.isCallExpression()}function isParentProperty(e){return e.find(isObjectProperty$1)}function isIncreaseIndent$1(e){const t=e.get("elements");return!!t.length&&(!isInsideCallLoop(e)&&(!!t[0].isObjectExpression()||!isSpreadElement$2(t[1])&&isStringAndObject(t)))}function isInsideCallLoop(e){return!!e.parentPath.isCallExpression()&&e.parentPath.parentPath.isForOfStatement()}newline.isIncreaseIndent=isIncreaseIndent$1;const isStringAndObject=e=>{const t=e.at(0),r=e.at(-1);return isStringLiteral$5(t)&&isObjectExpression$5(r)};newline.isCurrentNewLine=e=>!!e.isSpreadElement()||!e.isObjectExpression();var indent={};const{types:types$15}=bundle,{isIndented:isIndented}=is$3,{isStringLiteral:isStringLiteral$4,isArrayExpression:isArrayExpression$3}=types$15,isInsideArray$1=e=>e.parentPath.isArrayExpression();function isArrayInsideArray$1(e){if(!e.isArrayExpression()||!e.parentPath.isArrayExpression())return!1;const t=e.parentPath.node.elements,r=t.filter(isArrayExpression$3).length,n=!isArrayExpression$3(t.at(-1));return(!r||!n)&&t.length<=3}indent.isInsideArray=isInsideArray$1,indent.isArrayIndented=e=>{const t=e.get("elements");if(isArrayInsideArray$1(e))return!1;const[r]=t;return!isTwoLongStrings(t)||!isInsideArray$1(e)&&isIndented(r)},indent.isArrayInsideArray=isArrayInsideArray$1;const isTwoLongStrings=([e,t])=>!(!isStringLiteral$4(e)||!isStringLiteral$4(t))&&e.node.value.length>20,{types:types$14}=bundle,{isCoupleLines:isCoupleLines$5,isStringAndIdentifier:isStringAndIdentifier,isIdentifierAndIdentifier:isIdentifierAndIdentifier,isStringAndArray:isStringAndArray}=is$3,{isIncreaseIndent:isIncreaseIndent,isCurrentNewLine:isCurrentNewLine,isMultiLine:isMultiLine}=newline,{isInsideArray:isInsideArray,isArrayInsideArray:isArrayInsideArray,isArrayIndented:isArrayIndented}=indent,{isObjectExpression:isObjectExpression$4,isSpreadElement:isSpreadElement$1,isStringLiteral:isStringLiteral$3}=types$14,isNextString=e=>isStringLiteral$3(e.getNextSibling()),isPrevString=e=>isStringLiteral$3(e.getPrevSibling()),isAroundStrings=e=>isNextString(e)||isPrevString(e),isNextObject=e=>e.getNextSibling().isObjectExpression(),isPrevObject=e=>e.getPrevSibling().isObjectExpression(),isObjectAfterSpread=e=>isSpreadElement$1(e)&&isNextObject(e)&&!isPrevObject(e),isInsideOneElementArray=({parentPath:e})=>1===e.node.elements.length;arrayExpression.ArrayExpression={beforeIf(e){const{parentPath:t}=e,{elements:r}=e.node;return!!t.isArrayExpression()&&(!isCoupleLines$5(t)&&(!(!isStringAndIdentifier(r)||!isInsideOneElementArray(e))||isIdentifierAndIdentifier(r)))},before(e,{print:t}){t.breakline()},print(e,{print:t,maybe:r},n){const{maxElementsInOneLine:i,trailingComma:a}=n,s=e.get("elements"),o=!isIncreaseIndent(e);t("[");const l=isArrayIndented(e);l&&r.indent.inc(o);const u=isMultiLine(e,{elements:s,maxElementsInOneLine:i}),c=s.length-1;r.print.newline(u&&s.length);for(const[e,n]of s.entries()){const i=u&&isCurrentNewLine(n);r.indent(i),t(n),(e<c||a)&&r.print(i,","),r.print.newline(i&&!isNextObject(n)),r.print.space(isObjectAfterSpread(n)),!i&&e<c&&(t(","),t.space())}l&&r.indent.dec(o);const p=e.parentPath.get("elements");if(isInsideArray(e)&&isStringAndArray(p)){const t=2===p.length,n=!isAroundStrings(e)||t;r.indent.dec(n),r.indent(s.length&&u),r.indent.inc(n)}else isArrayInsideArray(e)||isObjectExpression$4(s.at(-1))||r.indent(s.length&&u);t("]")},afterIf(e){const{parentPath:t}=e,{elements:r}=e.node;return!!t.isArrayExpression()&&(!isCoupleLines$5(t)&&(!(!isStringAndIdentifier(r)||!isInsideOneElementArray(e))||isIdentifierAndIdentifier(r)))},after(e,{print:t,indent:r}){r.dec(),t.breakline(),r.inc()}};var arrayPattern={};const{maybeTypeAnnotation:maybeTypeAnnotation$2}=maybeTypeAnnotation$4,isForOf=({parentPath:e})=>e.parentPath.parentPath?.isForOfStatement();arrayPattern.ArrayPattern=maybeTypeAnnotation$2(((e,{indent:t,maybe:r,print:n},i)=>{const{maxElementsInOneLine:a}=i;n("[");const s=e.get("elements");t.inc();const o=!isForOf(e)&&s.length>a,l=s.length-1;r.print(o&&s.length,"\n");for(const[e,t]of s.entries())r.indent(o),n(t),o?n(",\n"):e<l&&(n(","),n.space());t.dec(),r.indent(s.length&&o),n("]")}));var assignmentPattern={};const isArg=e=>e.parentPath.isFunction();function shouldPrint(e){const{parentPath:t}=e;return!(!t.isObjectProperty()||t.node.shorthand)||(!!isArg(e)||(!!t.isTSParameterProperty()||t.isArrayPattern()))}assignmentPattern.AssignmentPattern={print(e,{print:t,maybe:r}){r.print(shouldPrint(e),"__left"),t.space(),t("="),t.space(),t("__right")}};var restElement={};const{maybeTypeAnnotation:maybeTypeAnnotation$1}=maybeTypeAnnotation$4;restElement.RestElement=maybeTypeAnnotation$1(((e,{print:t})=>{t("..."),t("__argument")}));var spreadElement={};const{hasTrailingComment:hasTrailingComment$2}=is$3;spreadElement.SpreadElement=(e,t)=>{const{print:r}=t;r("..."),r("__argument"),hasTrailingComment$2(e)&&r(",")};var sequenceExpression={SequenceExpression:(e,{maybe:t,write:r,traverse:n})=>{const i=e.get("expressions"),a=i.length-1;r("(");for(const[e,r]of i.entries())n(r),t.write(e<a,","),t.write.space(e<a);r(")")}},taggedTemplateExpression={TaggedTemplateExpression:(e,{print:t})=>{t("__tag"),t("__quasi")}},binaryExpression={},maybeSpace$1={maybeSpace:(e,{print:t})=>{const{right:r}=e.node;return"UnaryExpression"===r.type&&"+"===r.operator?t(" "):t.space()}};const{concatanate:concatanate,isConcatenation:isConcatenation$1}=concatanate$1,{maybeSpace:maybeSpace}=maybeSpace$1,{isParens:isParens$1}=parens,BinaryExpression$1={condition:e=>!!isParens$1(e)||e.parentPath.isAwaitExpression(),before(e,{print:t}){t("(")},print(e,{print:t,indent:r,maybe:n}){const{operator:i}=e.node;return"instanceof"===i?(t("__left"),t(" instanceof "),void t("__right")):"in"===i?(t("__left"),t(" in "),void t("__right")):isConcatenation$1(e)?concatanate(e,{print:t,indent:r,maybe:n}):(t("__left"),t.space(),t(e.node.operator),maybeSpace(e,{print:t}),void t("__right"))},after(e,{print:t}){t(")")}};binaryExpression.BinaryExpression=BinaryExpression$1,binaryExpression.LogicalExpression=BinaryExpression$1;var conditionalExpression={};const{isParens:isParens}=parens;conditionalExpression.ConditionalExpression={condition:isParens,before(e,{print:t}){t("(")},print(e,{print:t}){t("__test"),t.space(),t("?"),t.space(),t("__consequent"),t.space(),t(":"),t.space(),t("__alternate")},after(e,{print:t}){t(")")}};var staticBlock$2={StaticBlock:(e,{print:t,traverse:r})=>{t("static "),t("{"),t.breakline();for(const t of e.get("body"))r(t);t.indent(),t("}"),t.newline()}},recordExpression={};const{ObjectExpression:ObjectExpression$4}=objectExpression;recordExpression.RecordExpression=(e,t,r)=>{const{write:n}=t;n("#"),ObjectExpression$4(e,t,r)};var tupleExpression={},maybe={};const isString$9=e=>"string"==typeof e,constant=e=>()=>e,{keys:keys$7}=Object;var rendy$1=(e,t,r)=>{check$h(e,t);let n=e;const i=r?e.match(/{{(.*?)}}/g):keys$7(t);for(const e of i){const[i,a]=parseValue$1(e,t,r),s=constant(a);for(;n.includes(i);)n=n.replace(i,s)}return n.includes("{{")&&(n=n.replace(/{{.*?}}/g,"")),n};function check$h(e,t){if(!isString$9(e))throw Error("template should be a string!");if("object"!=typeof t)throw Error("values should be an object!")}function parseValue$1(e,t,r){if(!r)return[`{{ ${e} }}`,t[e]];const n=e.replaceAll("{{","").replaceAll("}}","").replaceAll(" ",""),i=t[n]||"";if(!n.includes("|"))return[e,i];const[a,s]=n.split("|"),o=r[s],l=t[a];return o?[e,o(l)]:[e,l]}const{satisfy:satisfy$2}=is$3;var satisfy_1=e=>{if(!e.afterSatisfy&&!e.beforeSatisfy&&!e.satisfy)return e;const{satisfy:t,afterSatisfy:r=t,beforeSatisfy:n=t}=e;return{afterIf:createIf(r),beforeIf:createIf(n),...e}};const createIf=e=>{const t=e?.()||[];return satisfy$2(t)},rendy=rendy$1,maybeSatisfy=satisfy_1,{isProgram:isProgram$3,isFile:isFile$1,File:File,ExpressionStatement:ExpressionStatement$3,Program:Program$1,isStatement:isStatement$2}=bundle.types,isFn$6=e=>"function"==typeof e;maybe.maybeThrow=(e,t,r)=>{if(e)throw Error(rendy(r,{path:t,type:t.type}))};const maybeStatement=e=>isStatement$2(e)?e:ExpressionStatement$3(e),maybeProgram=e=>isProgram$3(e)?e:Program$1([maybeStatement(e)]);function objectPlugin(e,t,r,n){const{print:i,split:a,condition:s,before:o=a,beforeIf:l=s,after:u=a,afterIf:c=s}=maybeSatisfy(e);l?.(t,r)&&o(t,r),i(t,r,n),c?.(t,r)&&u(t,r)}maybe.maybeFile=e=>isFile$1(e)?e:File(maybeProgram(e)),maybe.maybeVisitor=(e,t,r,n)=>isFn$6(e)?e(t,r,n):objectPlugin(e,t,r,n);const{ArrayExpression:ArrayExpression$4}=arrayExpression,{maybeVisitor:maybeVisitor$2}=maybe;tupleExpression.TupleExpression=(e,t,r)=>{const{write:n}=t;n("#"),maybeVisitor$2(ArrayExpression$4,e,t,r)};var importExpression={};function createImportExpression$1(e,t,r,{source:n="source"}={}){const{print:i,maybe:a}=t,{options:s}=e.node;i("import("),i(`__${n}`),a.print(s,","),a.print.space(s),i("__options"),i(")")}importExpression.ImportExpression=createImportExpression$1,importExpression.createImportExpression=createImportExpression$1;const functions=functions$1,unaryExpressions=unaryExpressions$1,memberExpressions=memberExpressions$1,{ClassExpression:ClassExpression,ClassDeclaration:ClassDeclaration}=_class,{CallExpression:CallExpression,OptionalCallExpression:OptionalCallExpression}=callExpression,{NewExpression:NewExpression}=newExpression,{ObjectExpression:ObjectExpression$3}=objectExpression,{ObjectProperty:ObjectProperty$3}=objectProperty,{ObjectPattern:ObjectPattern$1}=objectPattern,{ClassProperty:ClassProperty,ClassAccessorProperty:ClassAccessorProperty,ClassPrivateProperty:ClassPrivateProperty,PrivateName:PrivateName$1}=classProperty,{AssignmentExpression:AssignmentExpression}=assignmentExpression,{ArrayExpression:ArrayExpression$3}=arrayExpression,{ArrayPattern:ArrayPattern}=arrayPattern,{AssignmentPattern:AssignmentPattern}=assignmentPattern,{RestElement:RestElement}=restElement,{SpreadElement:SpreadElement$1}=spreadElement,{SequenceExpression:SequenceExpression$1}=sequenceExpression,{TaggedTemplateExpression:TaggedTemplateExpression}=taggedTemplateExpression,{BinaryExpression:BinaryExpression,LogicalExpression:LogicalExpression$3}=binaryExpression,{ConditionalExpression:ConditionalExpression$1}=conditionalExpression,{StaticBlock:StaticBlock}=staticBlock$2,{RecordExpression:RecordExpression}=recordExpression,{TupleExpression:TupleExpression}=tupleExpression,{ImportExpression:ImportExpression}=importExpression;var expressions$1={...functions,...unaryExpressions,...memberExpressions,ArrayPattern:ArrayPattern,ArrayExpression:ArrayExpression$3,AssignmentExpression:AssignmentExpression,AssignmentPattern:AssignmentPattern,BinaryExpression:BinaryExpression,CallExpression:CallExpression,ClassExpression:ClassExpression,ClassProperty:ClassProperty,ClassAccessorProperty:ClassAccessorProperty,ClassPrivateProperty:ClassPrivateProperty,ClassDeclaration:ClassDeclaration,ConditionalExpression:ConditionalExpression$1,NewExpression:NewExpression,LogicalExpression:LogicalExpression$3,OptionalCallExpression:OptionalCallExpression,ObjectExpression:ObjectExpression$3,ObjectProperty:ObjectProperty$3,ObjectPattern:ObjectPattern$1,PrivateName:PrivateName$1,RestElement:RestElement,ImportExpression:ImportExpression,SpreadElement:SpreadElement$1,SequenceExpression:SequenceExpression$1,StaticBlock:StaticBlock,TaggedTemplateExpression:TaggedTemplateExpression,ThisExpression(e,{write:t}){t("this")},RecordExpression:RecordExpression,TupleExpression:TupleExpression},expressionStatement={};const{isNext:isNext$j,isLast:isLast$a,isParentBlock:isParentBlock$2,isParentLast:isParentLast,isNewlineBetweenSiblings:isNewlineBetweenSiblings$2,satisfy:satisfy$1,noTrailingComment:noTrailingComment$2,hasTrailingComment:hasTrailingComment$1,isCoupleLines:isCoupleLines$4}=is$3,isBeforeElse=e=>!!e.parentPath.isIfStatement()&&(e===e.parentPath.get("consequent")&&Boolean(e.parentPath.node.alternate)),satisfyAfter=satisfy$1([isNotLastOrParentLast,isParentBlock$2,isNext$j,isNextUp]),shouldBreakline=satisfy$1([isNewlineBetweenSiblings$2,isNotLastBody,isStrictMode]);function isNotLastBody(e){return e.parentPath.get("body")===e}function isNotLastOrParentLast(e){return!(isLast$a(e)||isParentLast(e))}function isNextUp(e){return e.findParent(isNext$j)}function isStrictMode(e){if(!e.get("expression").isStringLiteral())return!1;const{value:t}=e.node.expression;return"use strict"===t}expressionStatement.ExpressionStatement={print(e,{indent:t,print:r,maybe:n,store:i}){t(),r("__expression"),r(";"),isNext$j(e)&&shouldBreakline(e)&&(r.newline(),n.indent(isNext$j(e)&&noTrailingComment$2(e)),i(!0))},afterIf:e=>!!satisfyAfter(e)||(!(!hasTrailingComment$1(e)||!isLast$a(e))||isBeforeElse(e)),after(e,{print:t,maybe:r,store:n}){hasTrailingComment$1(e)&&isLast$a(e)&&isCoupleLines$4(e)&&t.breakline(),hasTrailingComment$1(e)&&!isCoupleLines$4(e)||(t.newline(),r.markAfter(n(),e))}};var variableDeclaration={},maybeSpaceAfterKeyword$3={maybeSpaceAfterKeyword:(e,{write:t})=>{const{declarations:r}=e.node,{id:n}=r[0];if("ArrayPattern"===n.type||"ObjectPattern"===n.type)return t.space();t(" ")}};const{isNext:isNext$i,isCoupleLines:isCoupleLines$3,isNewlineBetweenSiblings:isNewlineBetweenSiblings$1,exists:exists$7,noTrailingComment:noTrailingComment$1}=is$3,{hasPrevNewline:hasPrevNewline$2}=mark,{isExportDeclaration:isExportDeclaration$3}=bundle.types,{maybeSpaceAfterKeyword:maybeSpaceAfterKeyword$2}=maybeSpaceAfterKeyword$3,{isConcatenation:isConcatenation}=concatanate$1,{parseLeadingComments:parseLeadingComments$2}=comment,{maybeDeclare:maybeDeclare$4}=maybeDeclare$6,isParentTSModuleBlock=e=>e.parentPath.isTSModuleBlock(),isParentBlock$1=e=>/Program|BlockStatement|Export/.test(e.parentPath.type),isInsideBlock$2=e=>/^(Program|BlockStatement|TSModuleBlock|SwitchCase)$/.test(e.parentPath.type),isParentSwitchCase=e=>e.parentPath.isSwitchCase(),isFirstInSwitch=e=>e.parentPath.get("consequent.0")===e,isParentIf=e=>e.parentPath.isIfStatement();function noNextParentBlock(e){return!isNext$i(e)&&e.parentPath.isBlockStatement()}function notLastParentExport(e){return!isLast$9(e.parentPath)&&e.parentPath.isExportDeclaration()}function notLastCoupleLines(e){return!isLast$9(e)&&isCoupleLines$3(e)}function notLastPrevVarNotNextVar(e){const t=e.getPrevSibling(),r=e.getNextSibling();return!!exists$7(t.getPrevSibling())&&(e.node.loc?.start.line!==t.node?.loc?.start.line+2&&(!isLast$9(e)&&t.isVariableDeclaration()&&!r.isVariableDeclaration()))}function isNextCoupleLines(e){const t=e.getNextSibling(),r=e.getPrevSibling();return!(!exists$7(r.getPrevSibling())&&t.isVariableDeclaration())&&(e.node.loc?.start.line!==r.node?.loc?.start.line+2&&isCoupleLines$3(t))}variableDeclaration.VariableDeclaration={beforeIf:shouldAddNewlineBefore,before(e,{print:t}){t.breakline()},print:maybeDeclare$4(((e,{maybe:t,store:r,write:n,traverse:i,print:a,indent:s},o)=>{const{maxVariablesInOneLine:l}=o;t.indent(isInsideBlock$2(e)),n(e.node.kind),maybeSpaceAfterKeyword$2(e,{write:n});const u=e.get("declarations"),c=u.length-1;t.indent.inc(c);for(const[e,r]of u.entries()){const p=r.get("id"),d=r.get("init"),f=e===c;if(i(p),exists$7(d)&&(n.space(),n("="),t.write.space(!isConcatenation(d)),i(d)),!f){const r=u[e+1];if(n(","),!r.node.leadingComments){t.write.breakline(c>l),t.write.space(c<=l);continue}parseLeadingComments$2(r,{print:a,maybe:t,indent:s},o)}}t.indent.dec(c),(isParentBlock$1(e)||isParentSwitchCase(e)||isParentTSModuleBlock(e)||isParentIf(e))&&n(";");let p=!1;isParentSwitchCase(e)&&!isFirstInSwitch(e)?(n.newline(),p=!0):isParentSwitchCase(e)&&n.newline(),isParentBlock$1(e)&&isNext$i(e)&&(noTrailingComment$1(e)||isNewlineBetweenSiblings$1(e))&&(n.newline(),p=!0),r(p)})),afterSatisfy:()=>[noNextParentBlock,notLastCoupleLines,isNextAssign,isNextCoupleLines,notLastPrevVarNotNextVar,isNewlineBetweenSiblings$1,notLastParentExport,isParentTSModuleBlock],after(e,{maybe:t,store:r}){const n=r();if(isLast$9(e.parentPath)&&!e.parentPath.isBlockStatement()||!isParentBlock$1(e)&&!isParentTSModuleBlock(e))return!1;t.print.linebreak(n),t.print.newline(!n),t.markAfter(n,e)}};const isLast$9=e=>e.parentPath?.isProgram()&&!isNext$i(e);function shouldAddNewlineBefore(e){if(isFirst$1(e))return!1;if(hasPrevNewline$2(e))return!1;if(hasPrevNewline$2(e.parentPath))return!1;const t=e.getPrevSibling();return!(t.isStatement()&&!t.isExpressionStatement()&&!t.isBlockStatement())&&(!isExportDeclaration$3(e.parentPath)&&isCoupleLines$3(e))}function isFirst$1(e){return e.node===e.parentPath.node.body?.[0]}const isNextAssign=e=>{const t=e.getNextSibling();if(!t.isExpressionStatement())return!1;const{parentPath:r}=e;return!(r.isBlockStatement()&&r.node.body.length<3)&&t.get("expression").isAssignmentExpression()};var ifStatement={};const{markAfter:markAfter$7}=mark,{exists:exists$6,isNext:isNext$h}=is$3,isInside=({parentPath:e})=>!e.parentPath.isProgram(),isEmptyConsequent=e=>e.get("consequent").isEmptyStatement(),isInsideNestedBody=({parentPath:e})=>"BlockStatement"===e.type&&"BlockStatement"===e.parentPath.type,isInsideIf$1=e=>e.parentPath.parentPath?.isIfStatement(),isEmptyBody=e=>!e.node.body.length;ifStatement.IfStatement={print:(e,{indent:t,print:r,maybe:n,write:i,traverse:a})=>{const s=e.parentPath.get("alternate");e!==s&&t(),r("if"),r.space(),r("("),r("__test"),r(")");const o=e.get("consequent"),l=e.get("alternate"),u=o.isBlockStatement(),c=o.isVariableDeclaration();if(u)r.space(),r(o),(isInsideIf$1(e)||isInsideNestedBody(e))&&n.print.newline(isEmptyBody(o));else{const t=!isEmptyConsequent(e);n.print.newline(t),n.indent.inc(t),n.indent(c),r(o),n.indent.dec(t)}l.isBlockStatement()?(i.space(),i("else"),i.space(),a(l)):l.isIfStatement()?(i(" else "),a(l)):exists$6(l)&&(n.write.newline(c),n.indent(!u),n.write.space(u),i("else"),i.splitter(),t.inc(),a(l),t.dec()),e===s&&isInside(e)&&r.newline()},afterSatisfy:()=>[isNext$h],after:(e,{print:t})=>{t.linebreak(),markAfter$7(e)}};var forOfStatement={};const{hasPrevNewline:hasPrevNewline$1,markAfter:markAfter$6,markBefore:markBefore,isMarkedAfter:isMarkedAfter$1}=mark,{isFirst:isFirst,isNext:isNext$g,isLast:isLast$8}=is$3;forOfStatement.ForOfStatement={beforeIf(e){const{parentPath:t}=e;return!(!t.isBlockStatement()&&t.isStatement())&&(!isFirst(e)&&!hasPrevNewline$1(e))},before(e,{print:t}){t.linebreak(),markBefore(e)},print(e,{indent:t,print:r,maybe:n,traverse:i}){const{node:a}=e;t(),r("for"),n.print(a.await," await"),r.space(),r("("),r("__left"),r(" of "),r("__right"),r(")");const s=e.get("body");if(s.isBlockStatement()){r.space(),r("__body");const{length:t}=s.node.body;n.print.newline(!t&&!isLast$8(e)&&!isNext$g(e))}else t.inc(),r.newline(),i(s),t.dec(),n.markAfter(isMarkedAfter$1(s),e)},afterIf:isNext$g,after(e,{print:t}){t.linebreak(),markAfter$6(e)}};var blockStatement={},insideIfWithNoBody$1={};const{exists:exists$5}=is$3;insideIfWithNoBody$1.insideIfWithNoBody=e=>{if(!e.parentPath.isIfStatement())return!1;if(!e.parentPath.parentPath.isIfStatement())return!1;const t=e.parentPath?.parentPath.getNextSibling();return!exists$5(t)};var getDirectives$2={getDirectives:e=>e.node.directives?e.get("directives"):[]};const{isNext:isNext$f,isParentProgram:isParentProgram,isLast:isLast$7,exists:exists$4,satisfy:satisfy}=is$3,{isArrowFunctionExpression:isArrowFunctionExpression$2,isObjectMethod:isObjectMethod$1,isFunctionDeclaration:isFunctionDeclaration$4,isExportDeclaration:isExportDeclaration$2,isDoWhileStatement:isDoWhileStatement,isBlockStatement:isBlockStatement$c}=bundle.types,{markAfter:markAfter$5}=mark,{parseComments:parseComments$2}=comment,{insideIfWithNoBody:insideIfWithNoBody}=insideIfWithNoBody$1,{getDirectives:getDirectives$1}=getDirectives$2,isFirstStatement=e=>e.node.body[0],isFirstDirective=e=>e.node.directives?.[0],isMethodOrArrow=e=>isArrowFunctionExpression$2(e)||isObjectMethod$1(e),parentIfWithoutElse=({parentPath:e})=>!!e.isIfStatement()&&!e.node.alternate;blockStatement.BlockStatement={print(e,t,r){const{indent:n,maybe:i,write:a,traverse:s}=t,o=e.get("body"),l=getDirectives$1(e);e.parentPath.isBlockStatement()&&n(),n.inc(),a("{"),(isFirstStatement(e)||isFirstDirective(e))&&a.newline();for(const e of l)s(e);for(const e of o)s(e);parseComments$2(e,t,r),n.dec(),i.indent(o.length),a("}"),e.parentPath.isObjectMethod()&&a(",")},afterIf:e=>shouldAddNewlineAfter(e),after(e,{write:t}){t.newline(),markAfter$5(e.parentPath)}};const isTopLevelWithNoNext=e=>!isNext$f(e)&&(!isNext$f(e.parentPath)&&isParentProgram(e.parentPath)),isInsideIfWithoutElseInsideFn=e=>parentIfWithoutElse(e)&&e.find(isMethodOrArrow),isEmptyBodyNoNext=e=>{const{parentPath:t}=e;return t.isStatement()&&!e.node.body.length&&!isNext$f(t)},isLooksLikeInsideFn=({parentPath:e})=>/FunctionExpression/.test(e.type),NEWLINE=!0,NO_NEWLINE=!1,isInsideDoWhile=({parentPath:e})=>isDoWhileStatement(e),isInsideBlock$1=({parentPath:e})=>isBlockStatement$c(e),isNoNewline=satisfy([isInsideDoWhile,isTopLevelWithNoNext,insideIfWithNoBody]);function shouldAddNewlineAfter(e){return isInsideBlock$1(e)?NEWLINE:isNoNewline(e)?NO_NEWLINE:isInsideIfWithoutElseInsideFn(e)?NEWLINE:isEmptyBodyNoNext(e)||isTry(e)||isLooksLikeInsideFn(e)||isLast$7(e)||isExportFunction(e)?NO_NEWLINE:!isNextIfAlternate(e)}function isExportFunction(e){return!!isFunctionDeclaration$4(e.parentPath)&&(!!isExportDeclaration$2(e.parentPath?.parentPath)&&!isNext$f(e.parentPath?.parentPath))}function isNextIfAlternate(e){const{parentPath:t}=e;if(!t.isIfStatement())return!1;const r=t.get("alternate");return e!==r&&exists$4(r)}function isTry({parentPath:e}){return!!e.isTryStatement()||e.parentPath?.isTryStatement()}var returnStatement={},maybeSpaceAfterKeyword$1={maybeSpaceAfterKeyword:(e,{print:t},r)=>{const{argument:n}=e.node;if(!n)return;const{type:i}=n;return"StringLiteral"===i||"TemplateLiteral"===i||"ArrayExpression"===i||"ObjectExpression"===i||"UnaryExpression"===i&&"!"===n.operator||"ArrowFunctionExpression"===i&&r.roundBraces?t.space():void t(" ")}};const{isJSXElement:isJSXElement$2}=bundle.types,{isPrevBody:isPrevBody,noTrailingComment:noTrailingComment,isLast:isLast$6}=is$3,{hasPrevNewline:hasPrevNewline}=mark,{maybeSpaceAfterKeyword:maybeSpaceAfterKeyword}=maybeSpaceAfterKeyword$1,isBodyLength=({parentPath:e})=>e.node?.body?.length>2;function isJSXWithComment(e){const t=e.node.argument;if(!t)return;const{leadingComments:r}=t;return isJSXElement$2(t)&&r?.length}returnStatement.ReturnStatement={beforeIf:e=>!hasPrevNewline(e)&&isBodyLength(e)||isPrevBody(e),before(e,{print:t}){t.linebreak()},print(e,t,r){const{indent:n,print:i}=t;if(n(),i("return"),maybeSpaceAfterKeyword(e,t,r),isJSXWithComment(e))return i("("),i.breakline(),i("__argument"),void i(");");i("__argument"),i(";")},afterIf:e=>!isLast$6(e)&&(!isLast$6(e.parentPath)&&noTrailingComment(e)),after(e,{print:t}){t.newline()}};var tryStatements={};const{isNext:isNext$e}=is$3;tryStatements.TryStatement={print(e,{print:t}){const r=e.get("finalizer");t.indent(),t("try "),t("__block"),t("__handler"),r.node&&(t(" "),t("finally"),t(" "),t(r),t.newline())},afterSatisfy:()=>[isNext$e],after(e,{maybe:t,print:r}){t.print.newline(!e.node.finalizer),r.breakline()}},tryStatements.CatchClause=(e,{print:t})=>{const r=e.get("param"),n=e.get("body");t(" "),t("catch "),r.node&&(t("("),t(r),t(") ")),t(n)};var debuggerStatement={};const{isNext:isNext$d}=is$3,isInsideBlock=e=>e.parentPath.isBlockStatement(),isInsideIf=e=>e.parentPath.isIfStatement();debuggerStatement.DebuggerStatement={print(e,{print:t,indent:r}){r(),t("debugger;")},afterSatisfy:()=>[isNext$d,isInsideBlock,isInsideIf],after(e,{print:t}){t.newline()}};var forStatement={};const{exists:exists$3}=is$3,{markAfter:markAfter$4}=mark;forStatement.ForStatement={print(e,{print:t,maybe:r,indent:n}){const{test:i,update:a,body:s}=e.node;if(n(),t("for"),t.space(),t("("),t("__init"),t(";"),r.print.space(i),t("__test"),t(";"),r.print.space(a),t("__update"),t(")"),s.body)t.space(),t("__body");else{const n=!e.get("body").isEmptyStatement();r.print.newline(n),r.indent.inc(n),t("__body"),r.indent.dec(n)}},afterIf:e=>exists$3(e.getNextSibling()),after(e,{print:t}){t.linebreak(),markAfter$4(e)}};var importDeclaration={},parseImportSpecifiers$1={parseImportSpecifiers:e=>{const t=[],r=[],n=[];for(const i of e)"ImportDefaultSpecifier"!==i.type?"ImportNamespaceSpecifier"!==i.type?"ImportSpecifier"!==i.type||n.push(i):r.push(i):t.push(i);return{defaults:t,namespaces:r,imports:n}}},importAttribute={ImportAttribute:(e,{print:t})=>{t("__key"),t(":"),t.space(),t("__value")},maybePrintAttributes:(e,{write:t,traverse:r})=>{if(isAssertions(e))return printAttributes(e,{write:t,traverse:r,keyword:"assert"});printAttributes(e,{write:t,traverse:r,keyword:"with"})}};const isAssertions=e=>e.node.extra?.deprecatedAssertSyntax;function printAttributes(e,{write:t,traverse:r,keyword:n}){const i=e.get("attributes");if(i.length){t(` ${n}`),t.space(),t("{"),t.space();for(const e of i)r(e);t.space(),t("}")}}const{parseImportSpecifiers:parseImportSpecifiers}=parseImportSpecifiers$1,{markAfter:markAfter$3}=mark,{isLast:isLast$5,isNext:isNext$c}=is$3,{maybePrintAttributes:maybePrintAttributes,ImportAttribute:ImportAttribute}=importAttribute;importDeclaration.ImportAttribute=ImportAttribute,importDeclaration.ImportDeclaration={print(e,{print:t,maybe:r,write:n,traverse:i,indent:a},s){const{phase:o}=e.node,l="type"===e.node.importKind,u=e.get("specifiers"),{maxSpecifiersInOneLine:c}=s;a(),n("import"),r.write(l," type"),r.write(o,` ${o}`);let p=!1;const d=u.length-1,{defaults:f,namespaces:h,imports:m}=parseImportSpecifiers(u);r.write(u.length," ");for(const e of f)i(e.get("local")),r.write(d,","),r.write.space(d);for(const e of h)n("* as "),i(e.get("local"));const y=m.length-1;for(const[e,t]of m.entries()){const i=e===y,s=!i,{imported:o,local:l}=t.node;if(a.inc(),r.write(!p,"{"),r.write.breakline(y>c),p=!0,n(o.name),o.name!==l.name&&(n(" as "),n(t.node.local.name)),y<=c&&s&&(r.write(d,","),r.write.space(d)),y>c){r.write(d,",");const t=e===d,n=e===d-1;r.write.newline(n&&f.length),r.write.newline(t)}a.dec(),r.write(i,"}")}r.write(u.length," from"),t.space(),t("__source"),maybePrintAttributes(e,{write:n,traverse:i}),t(";"),isNext$c(e)&&t.newline()},afterIf:e=>!isLast$5(e)&&!e.getNextSibling().isImportDeclaration(),after(e,{print:t}){t.newline(),markAfter$3(e)}};var exportDeclaration={};const{isNewlineBetweenSiblings:isNewlineBetweenSiblings,exists:exists$2,isNext:isNext$b,isLast:isLast$4}=is$3,{markAfter:markAfter$2,isMarkedAfter:isMarkedAfter}=mark,{isExportNamespaceSpecifier:isExportNamespaceSpecifier}=bundle.types,isDeclarationNewline=e=>isMarkedAfter(e.get("declaration")),isInsideNamespace=e=>e.parentPath.isTSModuleBlock(),options$4={exports:{maxOneLineSpecifiers:2}};exportDeclaration.ExportSpecifier=(e,{print:t})=>{const{local:r,exported:n}=e.node;t("__local"),n.name!==r.name&&(t(" as "),t("__exported"))},exportDeclaration.ExportNamespaceSpecifier=(e,{print:t})=>{t("* as "),t("__exported")},exportDeclaration.ExportNamedDeclaration={print(e,{print:t,traverse:r,write:n,indent:i,maybe:a}){const{exportKind:s}=e.node,o=e.get("specifiers"),{maxOneLineSpecifiers:l}=options$4.exports,u=e.get("source");if(i(),n("export"),"type"===s&&o.length&&t(" type"),isExportNamespaceSpecifier(o[0]))return t(" "),t(o[0]),t(" from "),t("__source"),t(";"),void a.print.newline(!isLast$4(e));const c=o.length,p=!exists$2(u)||c>l;if(o.length){t.space(),n("{"),i.inc(),a.write.newline(p);const s=c-1;for(const[e,t]of o.entries()){const i="type"===t.node.exportKind;a.indent(p),a.write(i,"type "),r(t),e<s&&!p&&n(", "),a.write(p,","),a.write.newline(p)}i.dec(),i(),n("}");const l=e.get("source");return exists$2(l)&&(n(" from "),r(l)),n(";"),void a.write.newline(isNext$b(e)||isInsideNamespace(e))}t(" "),t("__declaration")},afterIf:e=>!isLast$4(e)&&(!isDeclarationNewline(e)&&isNewlineBetweenSiblings(e)),after(e,{print:t}){t.newline(),markAfter$2(e)}};var exportAllDeclaration={ExportAllDeclaration:(e,{print:t})=>{const{exportKind:r}=e.node;t("export "),"type"===r&&t("type "),t("* from "),t("__source"),t(";"),t.newline()}},whileStatement={};const{isNext:isNext$a}=is$3,{markAfter:markAfter$1}=mark;whileStatement.WhileStatement={print(e,{print:t,indent:r}){r(),t("while ("),t("__test"),t(")"),e.node.body.body?(t(" "),t("__body")):(r.inc(),t.newline(),t("__body"),r.dec())},afterIf:e=>isNext$a(e),after(e,{print:t}){t.linebreak(),markAfter$1(e)}};var switchStatement={};const{isNext:isNext$9,exists:exists$1,isLast:isLast$3}=is$3,{parseLeadingComments:parseLeadingComments$1}=comment;switchStatement.SwitchStatement={print(e,t,r){const{print:n,maybe:i,indent:a,write:s,traverse:o}=t;a(),n("switch"),n("("),n("__discriminant"),n(") {"),n.newline();const l=e.get("cases"),u=l.length-1;for(const[e,c]of l.entries()){const l=c.get("test");a(),parseLeadingComments$1(c,t,r),exists$1(l)?(s("case "),o(l)):s("default"),n(":");const p=c.get("consequent"),d=c.get("consequent.0")?.isBlockStatement();i.indent.inc(!d),i.print.newline(!d&&p.length);for(const e of p)e.isBlockStatement()?(n.space(),n(e)):n(e);i.indent.dec(!d),i.write.linebreak(e<u)}n.indent(),n("}"),isNext$9(e)||isLast$3(e)||n.newline()},afterSatisfy:()=>[isNext$9],after(e,{print:t}){t.breakline(),t.newline()}};var forInStatement={ForInStatement:(e,{print:t})=>{t("for"),t.space(),t("("),t("__left"),t(" in "),t("__right"),t(")"),e.get("body").isBlockStatement()&&t.space(),t("__body")}},exportDefaultDeclaration={};const{isNext:isNext$8}=is$3,notClass=e=>!!isNext$8(e)&&!e.get("declaration").isClass();function shouldAddSemi(e){return!e.isClassDeclaration()&&!e.isFunctionDeclaration()}exportDefaultDeclaration.ExportDefaultDeclaration={print(e,{print:t,traverse:r,maybe:n}){const i=e.get("declaration");t("export default "),r(i),n.print(shouldAddSemi(i),";")},afterSatisfy:()=>[notClass],after(e,{print:t}){t.newline(),t.newline()}};var breakStatement={};const{isParentBlock:isParentBlock,isNextParent:isNextParent$3}=is$3,insideCase=e=>e.parentPath.isSwitchCase();breakStatement.BreakStatement={split(e,{print:t}){t.newline()},print(e,{print:t,indent:r}){r(),t("break;")},afterSatisfy:()=>[isParentBlock,isNextParent$3,insideCase]};var doWhileStatement={};const{isLast:isLast$2}=is$3,notLast=e=>!isLast$2(e);doWhileStatement.DoWhileStatement={print(e,{print:t,indent:r}){r(),t("do"),t.space(),t("__body"),t.space(),t("while "),t("("),t("__test"),t(")")},afterSatisfy:()=>[notLast],after(e,{print:t}){t.newline()}};var program={};const{parseComments:parseComments$1}=comment,{getDirectives:getDirectives}=getDirectives$2;program.Program=(e,t,r)=>{const{body:n}=e.node,{traverse:i,maybe:a,write:s}=t;i(e.get("interpreter")),parseComments$1(e,t,r);const o=getDirectives(e);for(const e of o)i(e),a.write.newline(n.length);e.get("body").forEach(i),o.length&&!n.length||s.endOfFile()};const{ExpressionStatement:ExpressionStatement$2}=expressionStatement,{VariableDeclaration:VariableDeclaration}=variableDeclaration,{IfStatement:IfStatement}=ifStatement,{ForOfStatement:ForOfStatement}=forOfStatement,{BlockStatement:BlockStatement$1}=blockStatement,{ReturnStatement:ReturnStatement$2}=returnStatement,TryStatements=tryStatements,{DebuggerStatement:DebuggerStatement}=debuggerStatement,{ForStatement:ForStatement}=forStatement,importDeclarations=importDeclaration,exportDeclarations=exportDeclaration,{ExportAllDeclaration:ExportAllDeclaration}=exportAllDeclaration,{WhileStatement:WhileStatement}=whileStatement,{SwitchStatement:SwitchStatement}=switchStatement,{ForInStatement:ForInStatement}=forInStatement,{ExportDefaultDeclaration:ExportDefaultDeclaration}=exportDefaultDeclaration,{BreakStatement:BreakStatement}=breakStatement,{DoWhileStatement:DoWhileStatement}=doWhileStatement,{Program:Program}=program,{ExportNamespaceSpecifier:ExportNamespaceSpecifier,ExportSpecifier:ExportSpecifier}=exportDeclarations;var statements$1={...importDeclarations,...exportDeclarations,BlockStatement:BlockStatement$1,DoWhileStatement:DoWhileStatement,ExpressionStatement:ExpressionStatement$2,ExportSpecifier:ExportSpecifier,ExportNamespaceSpecifier:ExportNamespaceSpecifier,ExportDefaultDeclaration:ExportDefaultDeclaration,ExportAllDeclaration:ExportAllDeclaration,VariableDeclaration:VariableDeclaration,IfStatement:IfStatement,ForStatement:ForStatement,ForInStatement:ForInStatement,ForOfStatement:ForOfStatement,ReturnStatement:ReturnStatement$2,DebuggerStatement:DebuggerStatement,LabeledStatement(e,{print:t}){t("__label"),t(":"),t.space(),t("__body")},Program:Program,EmptyStatement(e,{write:t}){t(";")},InterpreterDirective(e,{print:t}){t(`#!${e.node.value}\n`),t.newline()},SwitchStatement:SwitchStatement,...TryStatements,BreakStatement:BreakStatement,ContinueStatement(e,{indent:t,print:r}){t(),r("continue;"),r.newline()},WhileStatement:WhileStatement},templateLiteral={TemplateLiteral:(e,{write:t,traverse:r})=>{t("`");let n=0;const i=e.get("expressions");for(const a of e.node.quasis){t(a.value.raw);const e=i[n++];e&&(t("${"),r(e),t("}"))}t("`")}},identifier={},maybeGet={maybeDecorators:e=>e.node.decorators?e.get("decorators"):[]};const{maybeDecorators:maybeDecorators}=maybeGet,{maybeParens:maybeParens$3}=parens$1,{maybeTypeAnnotation:maybeTypeAnnotation}=maybeTypeAnnotation$4;identifier.Identifier=maybeParens$3(maybeTypeAnnotation(((e,t)=>{const{write:r,maybe:n,traverse:i,print:a}=t,{node:s}=e,{name:o,optional:l}=s;for(const t of maybeDecorators(e))i(t),a(" ");r(o),n.write(l,"?")})));const{TemplateLiteral:TemplateLiteral}=templateLiteral,{Identifier:Identifier$3}=identifier,maybeEncode=(e,{encodeDoubleQuote:t,encodeSingleQuote:r})=>r&&!e.includes("\\")?e.replaceAll("'","\\'"):t&&!e.includes('\\"')?e.replaceAll('"','\\"'):e;var literals$1={Identifier:Identifier$3,TemplateLiteral:TemplateLiteral,BigIntLiteral(e,{write:t}){t(e.node.raw)},Decorator(e,{print:t}){t("@"),t("__expression")},NumericLiteral(e,{write:t}){const{raw:r,extra:n,value:i}=e.node;t(r||n?.raw||i)},Directive(e,{print:t,maybe:r}){r.print.breakline(e.node.leadingComments?.length),t("__value")},DirectiveLiteral(e,{write:t}){t.indent(),t(e.node.raw),t(";"),t.newline()},BooleanLiteral(e,{write:t}){t(e.node.value)},StringLiteral(e,{write:t},r){const{raw:n,value:i}=e.node;if(n&&e.parentPath.isJSXAttribute())t(n);else{if(n){const e=n.slice(1,-1);return t.quote(),t(maybeEncode(e,r)),void t.quote()}t.quote(),t(i),t.quote()}},RegExpLiteral(e,{print:t}){const{raw:r,pattern:n}=e.node;t(r||`/${n}/`)},NullLiteral(e,{write:t}){t("null")},MetaProperty(e,{write:t}){t("import.meta")},Super(e,{write:t}){t("super")}},tsTypeLiteral={};function isNewline(e){const t=e.get("members");return t.length&&t[0].node.typeAnnotation}tsTypeLiteral.TSTypeLiteral=(e,{indent:t,traverse:r,write:n})=>{const i=e.get("members");n("{");const a=isNewline(e);a&&(n.newline(),t.inc());for(const e of i)t(),r(e);a&&(t.dec(),n.indent()),n("}")};var tsTypeAliasDeclaration={};const{isLast:isLast$1,isNext:isNext$7,isNextParent:isNextParent$2}=is$3,{markAfter:markAfter}=mark,{maybeDeclare:maybeDeclare$3}=maybeDeclare$6,isNextType=e=>e.getNextSibling().isTSTypeAliasDeclaration();tsTypeAliasDeclaration.TSTypeAliasDeclaration={print:maybeDeclare$3(((e,{print:t,maybe:r,store:n})=>{const i=e.get("typeAnnotation").isTSConditionalType();t("type "),t("__id"),t("__typeParameters"),t.space(),t("="),r.print.space(!i),t("__typeAnnotation"),t(";");const a=n(isLast$1(e)||isLast$1(e.parentPath));r.print.newline(!a)})),afterIf:(e,{store:t})=>!t()&&(!(!isNext$7(e)&&!isNextParent$2(e))&&!isNextType(e)),after(e,{print:t}){t.newline(),markAfter(e)}};var tsMappedType={};const{types:types$13}=bundle,{isTSConditionalType:isTSConditionalType}=types$13;tsMappedType.TSMappedType=(e,{print:t,indent:r,maybe:n})=>{const{readonly:i,optional:a,nameType:s}=e.node;t("{"),t.newline(),r.inc(),r(),i&&(n.print("-"===i,"-"),t("readonly ")),t("["),t("__typeParameter"),s&&(t(" as"),n.space(!isTSConditionalType(s)),t("__nameType")),t("]"),a&&(n.print("+"===a,"+"),n.print("-"===a,"-"),t("?")),t(":"),t.space(),t("__typeAnnotation"),t(";"),r.dec(),t.breakline(),t("}")};var tsConditionalType={TSConditionalType:(e,{print:t,indent:r})=>{r.inc(),t.breakline(),t("__checkType"),t(" extends "),t("__extendsType"),r.inc(),t.breakline(),t("? "),t("__trueType"),t.breakline(),t(": "),t("__falseType"),r.dec(),r.dec()}},tsTypeParameter={};const{exists:exists}=is$3;tsTypeParameter.TSTypeParameter=(e,{write:t,traverse:r})=>{const n=e.get("constraint");e.node.in?t("in "):e.node.out?t("out "):e.node.const&&t("const "),t(e.node.name.name),exists(n)&&(n.isTSTypeOperator()||e.parentPath.isTSMappedType()?t(" in "):t(" extends "),r(n))};var tsDeclareFunction={};const{printParams:printParams$7}=params,{isNext:isNext$6}=is$3,{maybeDeclare:maybeDeclare$2}=maybeDeclare$6,isInsideDefaultExport=e=>e.parentPath.isExportDefaultDeclaration(),isInsideNamedExport=e=>e.parentPath.isExportNamedDeclaration();tsDeclareFunction.TSDeclareFunction={beforeIf:e=>!isInsideNamedExport(e),before:(e,{indent:t})=>{t()},print:maybeDeclare$2(((e,t,r)=>{const{print:n}=t;n("function "),n("__id"),printParams$7(e,t,r),n(":"),n.space(),n("__returnType")})),afterIf:e=>!isInsideDefaultExport(e),after:(e,{print:t})=>{t(";"),(isNext$6(e)||isNext$6(e.parentPath)||isInsideNamedExport(e))&&t.newline()}};var tsDeclareMethod={};const{printParams:printParams$6}=params;tsDeclareMethod.TSDeclareMethod=(e,t,r)=>{const{print:n}=t,{accessibility:i,abstract:a,returnType:s}=e.node;i&&(n(i),n(" ")),a&&(n("abstract"),n(" ")),n("__key"),printParams$6(e,t,r),s&&(n(":"),n.space(),n("__returnType")),n(";"),n.newline()};var tsModuleDeclaration={};const{isNext:isNext$5}=is$3,{maybeDeclare:maybeDeclare$1}=maybeDeclare$6;tsModuleDeclaration.TSModuleDeclaration={print:maybeDeclare$1(((e,{print:t})=>{e.get("id").isStringLiteral()?t("module "):t("namespace "),t("__id"),t.space(),t("__body")})),afterSatisfy:()=>[isNext$5],after(e,{print:t}){t.newline(),t.newline()}},tsModuleDeclaration.TSModuleBlock=(e,{print:t,traverse:r,indent:n})=>{t("{"),t.breakline(),n.inc();for(const t of e.get("body"))r(t);n.dec(),t("}")};var tsInterfaceDeclaration={};const{isTSTypeAliasDeclaration:isTSTypeAliasDeclaration,isExportDeclaration:isExportDeclaration$1}=bundle.types,{isNext:isNext$4,isNextParent:isNextParent$1}=is$3,{maybeDeclare:maybeDeclare}=maybeDeclare$6;tsInterfaceDeclaration.TSInterfaceDeclaration={print:maybeDeclare(((e,{print:t,maybe:r})=>{const{node:n,parentPath:i}=e;r.indent(!isExportDeclaration$1(i)),t("interface "),t("__id"),n.extends&&(t(" extends "),e.get("extends").map(t)),t("__typeParameters"),t("__body")})),afterSatisfy:()=>[isNext$4,isNextParent$1],after(e,{print:t}){t.breakline();const r=e.parentPath.getNextSibling();isTSTypeAliasDeclaration(r)||isExportDeclaration$1(r)||t.breakline()}};var tsAsExpression={};const{maybeParens:maybeParens$2}=parens$1;tsAsExpression.TSAsExpression=maybeParens$2(((e,{print:t})=>{t("__expression"),t(" as "),t("__typeAnnotation")}));var tsInterfaceBody={};function findTSModuleBlock(e){return!!e.parentPath.parentPath.isTSModuleBlock()||e.parentPath.parentPath.parentPath?.isTSModuleBlock()}tsInterfaceBody.TSInterfaceBody=(e,{traverse:t,write:r,indent:n,maybe:i})=>{const a=e.get("body");r.space(),r("{"),i.write.newline(a.length),n.inc();for(const e of a)n(),t(e);n.dec(),n(),r("}"),i.write.newline(findTSModuleBlock(e))};var tsIntersectionType={TSIntersectionType:(e,{traverse:t,write:r})=>{const n=e.get("types"),i=n.length-1;for(const[e,a]of n.entries()){const n=e===i;t(a),n||(r.space(),r("&"),r.space())}}},tsPropertySignature={};const{maybePrintTypeAnnotation:maybePrintTypeAnnotation$1}=maybeTypeAnnotation$4,{hasTrailingComment:hasTrailingComment,isNext:isNext$3}=is$3;tsPropertySignature.TSPropertySignature=(e,t)=>{const{print:r,maybe:n,write:i}=t,{optional:a,readonly:s}=e.node;n.print(s,"readonly "),r("__key"),n.print(a,"?"),maybePrintTypeAnnotation$1(e,t),e.parentPath.parentPath.isTSTypeParameterInstantiation()||(i(";"),i.newline()),isNext$3(e)&&hasTrailingComment(e)&&i.newline()};var tsFunctionType={},printReturnType$5={hasReturnType:e=>e.node.returnType,printReturnType:(e,{traverse:t})=>{t(e.get("returnType"))}};const{printParams:printParams$5}=params,{printReturnType:printReturnType$4}=printReturnType$5,{maybeParens:maybeParens$1}=parens$1;tsFunctionType.TSFunctionType=maybeParens$1(((e,t,r)=>{const{print:n}=t;printParams$5(e,t,r),n.space(),n("=>"),n.space(),printReturnType$4(e,t)}));var tsEnumDeclaration={};const{isNext:isNext$2,isNextParent:isNextParent}=is$3;tsEnumDeclaration.TSEnumDeclaration={beforeIf:e=>e.node.const,before(e,{print:t}){t("const ")},print(e,{print:t,traverse:r,indent:n}){t("enum "),t("__id"),t(" "),t("{"),n.inc(),t.newline();for(const n of e.get("members"))r(n),t(","),t.newline();n.dec(),t("}")},afterSatisfy:()=>[isNext$2,isNextParent],after(e,{print:t}){t.breakline()}};var tsEnumMember={TSEnumMember:(e,{print:t,indent:r})=>{const{initializer:n}=e.node;r(),t("__id"),n&&(t.space(),t("="),t.space(),t("__initializer"))}},tsTupleType={TSTupleType:(e,{write:t,traverse:r,indent:n,maybe:i})=>{const a=e.get("elementTypes");t("["),n.inc(),i.write.newline(a.length);for(const e of a)n(),r(e),t(","),t.newline();n.dec(),n(),t("]")}},tsNamedTupleMember={TSNamedTupleMember:(e,{print:t})=>{t("__label"),t(":"),t.space(),t("__elementType")}},tsConstructorType={};const{printParams:printParams$4}=params,{printReturnType:printReturnType$3}=printReturnType$5;tsConstructorType.TSConstructorType=(e,t,r)=>{const{print:n}=t;n("new"),n(" "),printParams$4(e,t,r),n.space(),n("=>"),n.space(),printReturnType$3(e,t)};var tsCallSignatureDeclaration={};const{printReturnType:printReturnType$2}=printReturnType$5,{printParams:printParams$3}=params;tsCallSignatureDeclaration.TSCallSignatureDeclaration=(e,t,r)=>{const{print:n}=t;printParams$3(e,t,r),n(":"),n.space(),printReturnType$2(e,t),n(";"),n.newline()};var tsConstructSignatureDeclaration={};const{printParams:printParams$2}=params,{hasReturnType:hasReturnType$1,printReturnType:printReturnType$1}=printReturnType$5;tsConstructSignatureDeclaration.TSConstructSignatureDeclaration=(e,t,r)=>{const{write:n}=t;n("new"),printParams$2(e,t,r),hasReturnType$1(e)&&(n(":"),n.space(),printReturnType$1(e,t)),n(";"),n.newline()};var tsMethodSignature={};const{printParams:printParams$1}=params,{hasReturnType:hasReturnType,printReturnType:printReturnType}=printReturnType$5;tsMethodSignature.TSMethodSignature=(e,t,r)=>{const{traverse:n,write:i}=t;n(e.get("key")),printParams$1(e,t,r),hasReturnType(e)&&(i(":"),i.space(),printReturnType(e,t)),i(";"),i.newline()};var tsImportType={};const{createImportExpression:createImportExpression}=importExpression;tsImportType.TSImportType=(e,t,r)=>{createImportExpression(e,t,r,{source:"argument"})};const{isNext:isNext$1}=is$3,{TSTypeLiteral:TSTypeLiteral}=tsTypeLiteral,{TSTypeAliasDeclaration:TSTypeAliasDeclaration}=tsTypeAliasDeclaration,{TSMappedType:TSMappedType}=tsMappedType,{TSConditionalType:TSConditionalType}=tsConditionalType,{TSTypeParameter:TSTypeParameter}=tsTypeParameter,{TSDeclareFunction:TSDeclareFunction}=tsDeclareFunction,{TSDeclareMethod:TSDeclareMethod}=tsDeclareMethod,{TSModuleDeclaration:TSModuleDeclaration,TSModuleBlock:TSModuleBlock}=tsModuleDeclaration,{TSInterfaceDeclaration:TSInterfaceDeclaration}=tsInterfaceDeclaration,{TSAsExpression:TSAsExpression}=tsAsExpression,{TSInterfaceBody:TSInterfaceBody}=tsInterfaceBody,{TSIntersectionType:TSIntersectionType}=tsIntersectionType,{TSPropertySignature:TSPropertySignature}=tsPropertySignature,{TSFunctionType:TSFunctionType}=tsFunctionType,{printParams:printParams}=params,{TSEnumDeclaration:TSEnumDeclaration}=tsEnumDeclaration,{TSEnumMember:TSEnumMember}=tsEnumMember,{TSTupleType:TSTupleType}=tsTupleType,{TSNamedTupleMember:TSNamedTupleMember}=tsNamedTupleMember,{TSConstructorType:TSConstructorType}=tsConstructorType,{TSCallSignatureDeclaration:TSCallSignatureDeclaration}=tsCallSignatureDeclaration,{TSConstructSignatureDeclaration:TSConstructSignatureDeclaration}=tsConstructSignatureDeclaration,{TSMethodSignature:TSMethodSignature}=tsMethodSignature,{maybeParenOpen:maybeParenOpen,maybeParenClose:maybeParenClose}=parens,{maybePrintTypeAnnotation:maybePrintTypeAnnotation}=maybeTypeAnnotation$4,{TSImportType:TSImportType}=tsImportType;var typescript$4={TSAsExpression:TSAsExpression,TSTypeLiteral:TSTypeLiteral,TSTypeAliasDeclaration:TSTypeAliasDeclaration,TSTypeParameter:TSTypeParameter,TSMappedType:TSMappedType,TSConditionalType:TSConditionalType,TSDeclareFunction:TSDeclareFunction,TSModuleDeclaration:TSModuleDeclaration,TSModuleBlock:TSModuleBlock,TSIntersectionType:TSIntersectionType,TSImportType:TSImportType,TSBigIntKeyword(e,{write:t}){t("bigint")},TSNullKeyword(e,{write:t}){t("null")},TSSymbolKeyword(e,{write:t}){t("symbol")},TSTypeQuery(e,{print:t}){t("typeof "),t("__exprName")},TSNeverKeyword(e,{write:t}){t("never")},TSUnknownKeyword(e,{write:t}){t("unknown")},TSObjectKeyword(e,{write:t}){t("object")},TSLiteralType(e,{print:t}){t("__literal")},TSTupleType:TSTupleType,TSInferType(e,{print:t}){t("infer "),t("__typeParameter")},TSRestType(e,{print:t}){t("..."),t("__typeAnnotation")},TSTypeParameterDeclaration(e,t,r){printParams(e,t,r,{braceOpen:"<",braceClose:">"})},TSTypeParameterInstantiation(e,t,r){printParams(e,t,r,{braceOpen:"<",braceClose:">"})},TSTypeReference(e,{print:t}){t("__typeName"),t("__typeParameters")},TSArrayType(e,{print:t}){t("__elementType"),t("[]")},TSTypeOperator(e,{write:t,print:r}){const{operator:n}=e.node;t(`${n} `),r("__typeAnnotation")},TSInterfaceDeclaration:TSInterfaceDeclaration,TSInterfaceBody:TSInterfaceBody,TSTypeAssertion(e,{print:t}){t("<"),t("__typeAnnotation"),t(">"),t("__expression")},TSUndefinedKeyword(e,{write:t}){t("undefined")},TSBooleanKeyword(e,{write:t}){t("boolean")},TSSatisfiesExpression(e,{print:t}){t("__expression"),t(" satisfies "),t("__typeAnnotation")},TSUnionType(e,t){const{traverse:r,write:n}=t,i=e.get("types"),a=i.length-1;maybeParenOpen(e,t);for(const[e,t]of i.entries())r(t),e<a&&(n.space(),n("|"),n.space());maybeParenClose(e,t)},TSNumberKeyword(e,{write:t}){t("number")},TSIndexedAccessType(e,{print:t}){t("__objectType"),t("["),t("__indexType"),t("]")},TSStringKeyword(e,{write:t}){t("string")},TSInstantiationExpression(e,{print:t}){t("__expression"),t("__typeParameters")},TSAnyKeyword(e,{write:t}){t("any")},TSVoidKeyword(e,{write:t}){t("void")},TSQualifiedName(e,{print:t}){t("__left"),t("."),t("__right")},TSParameterProperty(e,{write:t,print:r}){t(e.node.accessibility),t.space(),r("__parameter")},TSTypeAnnotation(e,{print:t}){t("__typeAnnotation")},TSConstructSignatureDeclaration:TSConstructSignatureDeclaration,TSIndexSignature(e,t){const{print:r}=t;r("["),r("__parameters.0"),r("]"),maybePrintTypeAnnotation(e,t),r(";"),r.newline()},TSExpressionWithTypeArguments(e,{print:t}){t("__expression"),t("__typeParameters")},TSPropertySignature:TSPropertySignature,TSFunctionType:TSFunctionType,TSTypePredicate(e,{print:t}){t("__parameterName"),t(" is "),t("__typeAnnotation")},TSNonNullExpression(e,{print:t}){t("__expression"),t("!")},TSEnumDeclaration:TSEnumDeclaration,TSEnumMember:TSEnumMember,TSImportEqualsDeclaration(e,{print:t,maybe:r}){r.print(e.node.isExport,"export "),t("import "),t("__id"),t.space(),t("="),t.space(),t("__moduleReference"),t(";"),r.print.newline(isNext$1(e))},TSExternalModuleReference(e,{print:t}){t("require("),t("__expression"),t(")")},TSDeclareMethod:TSDeclareMethod,TSNamedTupleMember:TSNamedTupleMember,TSConstructorType:TSConstructorType,TSMethodSignature:TSMethodSignature,TSCallSignatureDeclaration:TSCallSignatureDeclaration,TSThisType(e,{print:t}){t("this")}},jsxElement={};const{isJSXElement:isJSXElement$1}=bundle.types,isInsideArrow=({parentPath:e})=>e.isArrowFunctionExpression();function condition$1(e){return!!e.parentPath.isReturnStatement()||(!!e.node.extra?.parenthesized||(!!e.parentPath.isArrowFunctionExpression()||e.parentPath.isVariableDeclarator()))}jsxElement.JSXElement={condition:condition$1,before(e,{write:t,indent:r,maybe:n}){const{leadingComments:i}=e.node;n.write.space(!i&&isInsideArrow(e)),r.inc(),i?.length||(t("("),t.newline())},print(e,{print:t,traverse:r,indent:n}){const i=e.parentPath.isArrowFunctionExpression(),a=e.parentPath.parentPath.isCallExpression();i&&a&&n.inc(),t("__openingElement"),e.get("children").map(r),t("__closingElement"),i&&a&&n.dec()},after(e,{write:t,indent:r,maybe:n}){const{leadingComments:i}=e.node;isJSXElement$1(e.parentPath.parentPath?.parentPath?.parentPath)?(t.breakline(),r.dec()):(r.dec(),t.breakline()),n.write(!i?.length,")")}};var jsxAttribute={};const{isCoupleLines:isCoupleLines$2}=is$3;jsxAttribute.JSXAttribute={condition:e=>isCoupleLines$2(e.parentPath),before(e,{print:t,indent:r}){r.inc(),t.breakline()},print(e,{print:t,maybe:r}){const{value:n}=e.node;t("__name"),r.print(n,"="),t("__value")},after(e,{indent:t}){t.dec()}};var jsxOpeningElement={};const{isCoupleLines:isCoupleLines$1}=is$3,isNotJSX=({parentPath:e})=>!e.parentPath.isJSXElement()&&(!e.parentPath.isJSXExpressionContainer()&&(!e.parentPath.isJSXFragment()&&!e.parentPath.isLogicalExpression()));jsxOpeningElement.JSXOpeningElement={print(e,{print:t,maybe:r}){r.indent(isNotJSX(e)),t("<"),t("__name");const n=isCoupleLines$1(e),i=!n,a=n&&e.parentPath.parentPath.isJSXElement();r.indent.inc(a);for(const n of e.get("attributes"))r.print.space(i),t(n);isCoupleLines$1(e)&&t.breakline(),e.node.selfClosing&&t("/"),t(">"),r.indent.dec(a)}};var jsxFragment={};function condition(e){return!!e.parentPath.isReturnStatement()||e.parentPath.isVariableDeclarator()}jsxFragment.JSXFragment={condition:condition,before(e,{write:t,indent:r}){t("("),r.inc(),t.breakline()},print(e,{print:t,traverse:r}){t("__openingFragment"),e.get("children").map(r),t("__closingFragment")},after(e,{write:t,indent:r}){r.dec(),t.breakline(),t(")")}},jsxFragment.JSXOpeningFragment=(e,{write:t})=>{t("<>")},jsxFragment.JSXClosingFragment=(e,{write:t})=>{t("</>")};var jsxText={};const{isNext:isNext}=is$3;jsxText.JSXText=(e,{write:t,indent:r})=>{const{node:n}=e,{value:i,extra:a}=n,s=/^\s+$/.test(i),o=isNext(e);return a?.raw.startsWith("&")?t(a.raw):s&&o?(r.inc(),t.breakline(),void r.dec()):void(s?t.breakline():t(i))};const{JSXElement:JSXElement}=jsxElement,{JSXAttribute:JSXAttribute}=jsxAttribute,{isCoupleLines:isCoupleLines}=is$3,{JSXOpeningElement:JSXOpeningElement}=jsxOpeningElement,fragments=jsxFragment,{JSXText:JSXText}=jsxText,{parseComments:parseComments}=comment;var jsx$4={...fragments,JSXElement:JSXElement,JSXAttribute:JSXAttribute,JSXOpeningElement:JSXOpeningElement,JSXText:JSXText,JSXEmptyExpression(e,t,r){parseComments(e,t,r)},JSXExpressionContainer(e,{print:t}){t("{"),t("__expression"),t("}")},JSXIdentifier(e,{write:t}){t(e.node.name)},JSXMemberExpression(e,{print:t}){t("__object"),t("."),t("__property")},JSXSpreadAttribute(e,{print:t,maybe:r}){const n=isCoupleLines(e.parentPath);r.indent.inc(n),r.print.breakline(n),t("{"),t("..."),t("__argument"),t("}"),r.indent.dec(n)},JSXClosingElement(e,{print:t}){t("</"),t("__name"),t(">")}};const expressions=expressions$1,statements=statements$1,literals=literals$1,typescript$3=typescript$4,jsx$3=jsx$4;var visitors$1={...expressions,...statements,...literals,...typescript$3,...jsx$3};visitors$1.default;var debug$5={},justSnakeCase=snakeCase,wordSeparators=/[\s\u2000-\u206F\u2E00-\u2E7F\\'!"#$%&()*+,\-.\/:;<=>?@\[\]^_`{|}~]+/,capitals=/[A-Z\u00C0-\u00D6\u00D9-\u00DD]/g;function snakeCase(e){return e=e.replace(capitals,(function(e){return" "+(e.toLowerCase()||e)})),e.trim().split(wordSeparators).join("_")}const{stringify:stringify$8}=JSON,{TYPES:TYPES$2}=types$1c,toSnakeCase=justSnakeCase,{codeFrameColumns:codeFrameColumns$1}=bundle,{LOG:LOG,LOG_ALL:LOG_ALL,LOG_TOKENS:LOG_TOKENS,LOG_TERM:LOG_TERM,DEBUG:DEBUG}={};function createStore$1(){let e=[];return(...t)=>{const[r]=t;if(t.length)return void e.push(r);const n=e.join("");return e=[],n}}debug$5.createDebug=e=>t=>{DEBUG&&e.push({type:TYPES$2.DEBUG,value:`/*__${toSnakeCase(t)}*/`})},debug$5.createLog=({newline:e="\n",store:t=createStore$1()}={})=>({type:r,value:n})=>{if(LOG_TOKENS)console.log(codeFrameColumns$1(stringify$8({type:r,value:n}),{},{highlightCode:!0}));else if(LOG_ALL)console.log(codeFrameColumns$1(n,{},{highlightCode:!0}));else{if(LOG){if(n===e)return void console.log(codeFrameColumns$1(t(),{},{highlightCode:!0}));t(n)}LOG_TERM&&browser$1$1.stdout.write(n)}};var overrides={};function initFormat(e){return{indent:" ",newline:"\n",space:" ",splitter:"\n",quote:"'",endOfFile:"\n",...e}}function initSemantics(e={}){return{comments:!0,maxPropertiesInOneLine:2,maxSpecifiersInOneLine:2,maxElementsInOneLine:5,maxVariablesInOneLine:4,trailingComma:!0,encodeSingleQuote:!0,encodeDoubleQuote:!1,roundBraces:!0,...e}}overrides.parseOverrides=(e={})=>{const{format:t,semantics:r,visitors:n}=e;return{format:initFormat(t),semantics:initSemantics(r),visitors:n}};const{round:round}=Math,fullstore$3=fullstore$4,isObject$4=e=>e&&"object"==typeof e,babelTraverse$2=bundle.traverse,{TYPES:TYPES$1}=types$1c,baseVisitors=visitors$1,{maybeFile:maybeFile,maybeVisitor:maybeVisitor$1,maybeThrow:maybeThrow}=maybe,{createDebug:createDebug,createLog:createLog}=debug$5,{maybeMarkAfter:maybeMarkAfter}=mark,{parseLeadingComments:parseLeadingComments,parseTrailingComments:parseTrailingComments}=comment,{parseOverrides:parseOverrides}=overrides,isString$8=e=>"string"==typeof e,{assign:assign$g,freeze:freeze$1}=Object,GET="__",get=(e,t)=>e.get(t.replace(GET,"")),createAddToken=e=>{const t=createLog();return r=>{t(r),e.push(r)}};function printIndent(e,t){let r="";for(++e;--e>0;)r+=t;return r}tokenize$2.tokenize=(e,t)=>{const{visitors:r,format:n,semantics:i}=parseOverrides(t),a=[],s=createAddToken(a),o=createDebug(a),l=e=>{s({type:TYPES$1.TOKEN,value:e})},u=e=>e&&S(),c=e=>e&&v(),p=e=>e&&y(),d=(e,t)=>e&&l(t),f=e=>e&&g();let h=0;const m=()=>{s({type:TYPES$1.INDENT,value:printIndent(h,n.indent)})};assign$g(m,{inc:()=>++h,dec:()=>--h});const y=()=>{m(),S()},g=()=>{s({type:TYPES$1.SPACE,value:n.space})},v=()=>{S(),m()},b=()=>{s({type:TYPES$1.QUOTE,value:n.quote})},S=()=>{s({type:TYPES$1.NEWLINE,value:n.newline})};assign$g(l,{indent:m,newline:S,linebreak:y,breakline:v,space:g,splitter:()=>{s({type:TYPES$1.SPLITTER,value:n.splitter})},quote:b,endOfFile:()=>{s({type:TYPES$1.END_OF_FILE,value:n.endOfFile})}}),assign$g(d,{newline:u,breakline:c,linebreak:p,space:f});const _={indent:e=>e&&m(),markAfter:maybeMarkAfter,write:d,space:f};assign$g(_.indent,{inc:e=>e&&m.inc(),dec:e=>e&&m.dec()});const T=freeze$1({indent:m,write:l,debug:o,traverse:x,maybe:_,quote:b,store:fullstore$3()}),E={...baseVisitors,...r};function x(e){const{type:t}=e,r=E[t];if(!e.node)return;const n=createPrint(e,{write:l,traverse:x});assign$g(n,l,{space:g,round:round});const a={...T,print:n},s=(e,t)=>e&&n(t);assign$g(s,{newline:u,breakline:c,linebreak:p,space:f}),assign$g(a.maybe,{print:s}),maybeThrow(!r,e,"☝️ Node type '{{ type }}' is not supported yet by @putout/printer: '{{ path }}'");const d=h;parseLeadingComments(e,a,i),maybeVisitor$1(r,e,a,i),parseTrailingComments(e,a,i),maybeThrow(h!==d,e,"☝️Looks like indent level changed after token visitor: '{{ type }}', for code: '{{ path }}'"),o(e.type)}return e.parentPath?pathTraverse(e,x):babelTraverse$2(maybeFile(e),{Program(e){x(e),e.stop()}}),a};const createPrint=(e,{traverse:t,write:r})=>n=>{if(n===e)return null;const i=computePath(e,n);return isObject$4(i)?t(i):r(i)},computePath=(e,t)=>isString$8(t)&&t.startsWith(GET)?get(e,t):(isObject$4(t),t);function pathTraverse(e,t){e.parentPath.traverse({enter(r){r===e&&(t(r),r.stop())}})}var printTokens$1={},cook$1={cook:e=>{const t=[];for(const{value:r}of e)t.push(r);return t}};const{cook:cook}=cook$1;printTokens$1.printTokens=e=>cook(e).join("");var json$1={},json={},blankLines=new RegExp(/(^[ \t]*\n)/,"gm"),removeBlankLines$1=function(e){return e.replace(blankLines,"")},lib$g=removeBlankLines$1;const removeBlankLines=lib$g,cut$2=e=>e.slice(0,e.indexOf("(")),createPrefix=e=>e.includes("(")?`${cut$2(e)}(`:`${e}(`,createSuffix=()=>");\n",maybeNewline$1=e=>"\n"===e.at(-1)?e:`${e}\n`,__json_name="__putout_processor_json",__yaml_name="__putout_processor_yaml",__filesystem_name$3="__putout_processor_filesystem",__ignore_name="__putout_processor_ignore",__json=`${__json_name}(__object)`,__yaml=`${__yaml_name}(__object)`,__filesystem=`${__filesystem_name$3}(__object)`,__ignore=`${__ignore_name}(__array)`,TYPES=[__json_name,__yaml_name,__filesystem_name$3,__ignore_name];json.__json=__json,json.__yaml=__yaml,json.__filesystem=__filesystem,json.__ignore=__ignore,json.__json_name=__json_name,json.__yaml_name=__yaml_name,json.__filesystem_name=__filesystem_name$3,json.__ignore_name=__ignore_name,json.toJS=(e,t=__json)=>`${createPrefix(t)}${e}${createSuffix()}`,json.fromJS=(e,t=__json)=>{const r=cut$2(t);e=e.slice(e.indexOf(r));const n=createPrefix(t),i=createSuffix(),a=e.length-i.length,s=e.slice(n.length,a);return maybeNewline$1(removeBlankLines(s))},json.isJSON=e=>{for(const t of TYPES)if(!e.indexOf(t))return!0;return!1};const{isCallExpression:isCallExpression$3,isIdentifier:isIdentifier$l}=bundle.types,{isJSON:isJSON}=json;function isASTJSON(e){const{program:t}=e;if(!t)return!1;const{body:r}=e.program;if(!r.length)return!1;const{expression:n}=e.program.body[0];if(!isCallExpression$3(n))return!1;const{callee:i}=n;return!!isIdentifier$l(i)&&isJSON(i.name)}json$1.maybeJSON=(e,t)=>isASTJSON(e)?{...t,format:{...t?.format,quote:'"'},semantics:{...t?.semantics,trailingComma:!1,encodeSingleQuote:!1,encodeDoubleQuote:!0}}:t;const{tokenize:tokenize}=tokenize$2,{printTokens:printTokens}=printTokens$1,{maybeJSON:maybeJSON}=json$1,{maybeVisitor:maybeVisitor}=maybe,visitors=visitors$1;var print$5=printer$1.print=(e,t={})=>{const r=maybeJSON(e,t),n=tokenize(e,r);return printTokens(n)};printer$1.visitors=visitors,printer$1.maybeVisitor=maybeVisitor;var putout={exports:{}},parser$6={},main$1={},extendStatics=function(e,t){return extendStatics=Object.setPrototypeOf||{__proto__:[]}instanceof Array&&function(e,t){e.__proto__=t}||function(e,t){for(var r in t)Object.prototype.hasOwnProperty.call(t,r)&&(e[r]=t[r])},extendStatics(e,t)};function __extends(e,t){if("function"!=typeof t&&null!==t)throw new TypeError("Class extends value "+String(t)+" is not a constructor or null");function r(){this.constructor=e}extendStatics(e,t),e.prototype=null===t?Object.create(t):(r.prototype=t.prototype,new r)}var __assign=function(){return __assign=Object.assign||function(e){for(var t,r=1,n=arguments.length;r<n;r++)for(var i in t=arguments[r])Object.prototype.hasOwnProperty.call(t,i)&&(e[i]=t[i]);return e},__assign.apply(this,arguments)};function __rest(e,t){var r={};for(var n in e)Object.prototype.hasOwnProperty.call(e,n)&&t.indexOf(n)<0&&(r[n]=e[n]);if(null!=e&&"function"==typeof Object.getOwnPropertySymbols){var i=0;for(n=Object.getOwnPropertySymbols(e);i<n.length;i++)t.indexOf(n[i])<0&&Object.prototype.propertyIsEnumerable.call(e,n[i])&&(r[n[i]]=e[n[i]])}return r}function __decorate(e,t,r,n){var i,a=arguments.length,s=a<3?t:null===n?n=Object.getOwnPropertyDescriptor(t,r):n;if("object"==typeof Reflect&&"function"==typeof Reflect.decorate)s=Reflect.decorate(e,t,r,n);else for(var o=e.length-1;o>=0;o--)(i=e[o])&&(s=(a<3?i(s):a>3?i(t,r,s):i(t,r))||s);return a>3&&s&&Object.defineProperty(t,r,s),s}function __param(e,t){return function(r,n){t(r,n,e)}}function __esDecorate(e,t,r,n,i,a){function s(e){if(void 0!==e&&"function"!=typeof e)throw new TypeError("Function expected");return e}for(var o,l=n.kind,u="getter"===l?"get":"setter"===l?"set":"value",c=!t&&e?n.static?e:e.prototype:null,p=t||(c?Object.getOwnPropertyDescriptor(c,n.name):{}),d=!1,f=r.length-1;f>=0;f--){var h={};for(var m in n)h[m]="access"===m?{}:n[m];for(var m in n.access)h.access[m]=n.access[m];h.addInitializer=function(e){if(d)throw new TypeError("Cannot add initializers after decoration has completed");a.push(s(e||null))};var y=(0,r[f])("accessor"===l?{get:p.get,set:p.set}:p[u],h);if("accessor"===l){if(void 0===y)continue;if(null===y||"object"!=typeof y)throw new TypeError("Object expected");(o=s(y.get))&&(p.get=o),(o=s(y.set))&&(p.set=o),(o=s(y.init))&&i.unshift(o)}else(o=s(y))&&("field"===l?i.unshift(o):p[u]=o)}c&&Object.defineProperty(c,n.name,p),d=!0}function __runInitializers(e,t,r){for(var n=arguments.length>2,i=0;i<t.length;i++)r=n?t[i].call(e,r):t[i].call(e);return n?r:void 0}function __propKey(e){return"symbol"==typeof e?e:"".concat(e)}function __setFunctionName(e,t,r){return"symbol"==typeof t&&(t=t.description?"[".concat(t.description,"]"):""),Object.defineProperty(e,"name",{configurable:!0,value:r?"".concat(r," ",t):t})}function __metadata(e,t){if("object"==typeof Reflect&&"function"==typeof Reflect.metadata)return Reflect.metadata(e,t)}function __awaiter(e,t,r,n){return new(r||(r=Promise))((function(i,a){function s(e){try{l(n.next(e))}catch(e){a(e)}}function o(e){try{l(n.throw(e))}catch(e){a(e)}}function l(e){e.done?i(e.value):function(e){return e instanceof r?e:new r((function(t){t(e)}))}(e.value).then(s,o)}l((n=n.apply(e,t||[])).next())}))}function __generator(e,t){var r,n,i,a,s={label:0,sent:function(){if(1&i[0])throw i[1];return i[1]},trys:[],ops:[]};return a={next:o(0),throw:o(1),return:o(2)},"function"==typeof Symbol&&(a[Symbol.iterator]=function(){return this}),a;function o(o){return function(l){return function(o){if(r)throw new TypeError("Generator is already executing.");for(;a&&(a=0,o[0]&&(s=0)),s;)try{if(r=1,n&&(i=2&o[0]?n.return:o[0]?n.throw||((i=n.return)&&i.call(n),0):n.next)&&!(i=i.call(n,o[1])).done)return i;switch(n=0,i&&(o=[2&o[0],i.value]),o[0]){case 0:case 1:i=o;break;case 4:return s.label++,{value:o[1],done:!1};case 5:s.label++,n=o[1],o=[0];continue;case 7:o=s.ops.pop(),s.trys.pop();continue;default:if(!(i=s.trys,(i=i.length>0&&i[i.length-1])||6!==o[0]&&2!==o[0])){s=0;continue}if(3===o[0]&&(!i||o[1]>i[0]&&o[1]<i[3])){s.label=o[1];break}if(6===o[0]&&s.label<i[1]){s.label=i[1],i=o;break}if(i&&s.label<i[2]){s.label=i[2],s.ops.push(o);break}i[2]&&s.ops.pop(),s.trys.pop();continue}o=t.call(e,s)}catch(e){o=[6,e],n=0}finally{r=i=0}if(5&o[0])throw o[1];return{value:o[0]?o[1]:void 0,done:!0}}([o,l])}}}var __createBinding=Object.create?function(e,t,r,n){void 0===n&&(n=r);var i=Object.getOwnPropertyDescriptor(t,r);i&&!("get"in i?!t.__esModule:i.writable||i.configurable)||(i={enumerable:!0,get:function(){return t[r]}}),Object.defineProperty(e,n,i)}:function(e,t,r,n){void 0===n&&(n=r),e[n]=t[r]};function __exportStar(e,t){for(var r in e)"default"===r||Object.prototype.hasOwnProperty.call(t,r)||__createBinding(t,e,r)}function __values(e){var t="function"==typeof Symbol&&Symbol.iterator,r=t&&e[t],n=0;if(r)return r.call(e);if(e&&"number"==typeof e.length)return{next:function(){return e&&n>=e.length&&(e=void 0),{value:e&&e[n++],done:!e}}};throw new TypeError(t?"Object is not iterable.":"Symbol.iterator is not defined.")}function __read(e,t){var r="function"==typeof Symbol&&e[Symbol.iterator];if(!r)return e;var n,i,a=r.call(e),s=[];try{for(;(void 0===t||t-- >0)&&!(n=a.next()).done;)s.push(n.value)}catch(e){i={error:e}}finally{try{n&&!n.done&&(r=a.return)&&r.call(a)}finally{if(i)throw i.error}}return s}function __spread(){for(var e=[],t=0;t<arguments.length;t++)e=e.concat(__read(arguments[t]));return e}function __spreadArrays(){for(var e=0,t=0,r=arguments.length;t<r;t++)e+=arguments[t].length;var n=Array(e),i=0;for(t=0;t<r;t++)for(var a=arguments[t],s=0,o=a.length;s<o;s++,i++)n[i]=a[s];return n}function __spreadArray(e,t,r){if(r||2===arguments.length)for(var n,i=0,a=t.length;i<a;i++)!n&&i in t||(n||(n=Array.prototype.slice.call(t,0,i)),n[i]=t[i]);return e.concat(n||Array.prototype.slice.call(t))}function __await(e){return this instanceof __await?(this.v=e,this):new __await(e)}function __asyncGenerator(e,t,r){if(!Symbol.asyncIterator)throw new TypeError("Symbol.asyncIterator is not defined.");var n,i=r.apply(e,t||[]),a=[];return n={},s("next"),s("throw"),s("return"),n[Symbol.asyncIterator]=function(){return this},n;function s(e){i[e]&&(n[e]=function(t){return new Promise((function(r,n){a.push([e,t,r,n])>1||o(e,t)}))})}function o(e,t){try{(r=i[e](t)).value instanceof __await?Promise.resolve(r.value.v).then(l,u):c(a[0][2],r)}catch(e){c(a[0][3],e)}var r}function l(e){o("next",e)}function u(e){o("throw",e)}function c(e,t){e(t),a.shift(),a.length&&o(a[0][0],a[0][1])}}function __asyncDelegator(e){var t,r;return t={},n("next"),n("throw",(function(e){throw e})),n("return"),t[Symbol.iterator]=function(){return this},t;function n(n,i){t[n]=e[n]?function(t){return(r=!r)?{value:__await(e[n](t)),done:!1}:i?i(t):t}:i}}function __asyncValues(e){if(!Symbol.asyncIterator)throw new TypeError("Symbol.asyncIterator is not defined.");var t,r=e[Symbol.asyncIterator];return r?r.call(e):(e="function"==typeof __values?__values(e):e[Symbol.iterator](),t={},n("next"),n("throw"),n("return"),t[Symbol.asyncIterator]=function(){return this},t);function n(r){t[r]=e[r]&&function(t){return new Promise((function(n,i){(function(e,t,r,n){Promise.resolve(n).then((function(t){e({value:t,done:r})}),t)})(n,i,(t=e[r](t)).done,t.value)}))}}}function __makeTemplateObject(e,t){return Object.defineProperty?Object.defineProperty(e,"raw",{value:t}):e.raw=t,e}var __setModuleDefault=Object.create?function(e,t){Object.defineProperty(e,"default",{enumerable:!0,value:t})}:function(e,t){e.default=t};function __importStar(e){if(e&&e.__esModule)return e;var t={};if(null!=e)for(var r in e)"default"!==r&&Object.prototype.hasOwnProperty.call(e,r)&&__createBinding(t,e,r);return __setModuleDefault(t,e),t}function __importDefault(e){return e&&e.__esModule?e:{default:e}}function __classPrivateFieldGet(e,t,r,n){if("a"===r&&!n)throw new TypeError("Private accessor was defined without a getter");if("function"==typeof t?e!==t||!n:!t.has(e))throw new TypeError("Cannot read private member from an object whose class did not declare it");return"m"===r?n:"a"===r?n.call(e):n?n.value:t.get(e)}function __classPrivateFieldSet(e,t,r,n,i){if("m"===n)throw new TypeError("Private method is not writable");if("a"===n&&!i)throw new TypeError("Private accessor was defined without a setter");if("function"==typeof t?e!==t||!i:!t.has(e))throw new TypeError("Cannot write private member to an object whose class did not declare it");return"a"===n?i.call(e,r):i?i.value=r:t.set(e,r),r}function __classPrivateFieldIn(e,t){if(null===t||"object"!=typeof t&&"function"!=typeof t)throw new TypeError("Cannot use 'in' operator on non-object");return"function"==typeof e?t===e:e.has(t)}function __addDisposableResource(e,t,r){if(null!=t){if("object"!=typeof t&&"function"!=typeof t)throw new TypeError("Object expected.");var n;if(r){if(!Symbol.asyncDispose)throw new TypeError("Symbol.asyncDispose is not defined.");n=t[Symbol.asyncDispose]}if(void 0===n){if(!Symbol.dispose)throw new TypeError("Symbol.dispose is not defined.");n=t[Symbol.dispose]}if("function"!=typeof n)throw new TypeError("Object not disposable.");e.stack.push({value:t,dispose:n,async:r})}else r&&e.stack.push({async:!0});return t}var _SuppressedError="function"==typeof SuppressedError?SuppressedError:function(e,t,r){var n=new Error(r);return n.name="SuppressedError",n.error=e,n.suppressed=t,n};function __disposeResources(e){function t(t){e.error=e.hasError?new _SuppressedError(t,e.error,"An error was suppressed during disposal."):t,e.hasError=!0}return function r(){for(;e.stack.length;){var n=e.stack.pop();try{var i=n.dispose&&n.dispose.call(n.value);if(n.async)return Promise.resolve(i).then(r,(function(e){return t(e),r()}))}catch(e){t(e)}}if(e.hasError)throw e.error}()}var hasRequiredShared,hasRequiredTypes,tslib_es6={__extends:__extends,__assign:__assign,__rest:__rest,__decorate:__decorate,__param:__param,__metadata:__metadata,__awaiter:__awaiter,__generator:__generator,__createBinding:__createBinding,__exportStar:__exportStar,__values:__values,__read:__read,__spread:__spread,__spreadArrays:__spreadArrays,__spreadArray:__spreadArray,__await:__await,__asyncGenerator:__asyncGenerator,__asyncDelegator:__asyncDelegator,__asyncValues:__asyncValues,__makeTemplateObject:__makeTemplateObject,__importStar:__importStar,__importDefault:__importDefault,__classPrivateFieldGet:__classPrivateFieldGet,__classPrivateFieldSet:__classPrivateFieldSet,__classPrivateFieldIn:__classPrivateFieldIn,__addDisposableResource:__addDisposableResource,__disposeResources:__disposeResources},tslib_es6$1=Object.freeze({__proto__:null,__addDisposableResource:__addDisposableResource,get __assign(){return __assign},__asyncDelegator:__asyncDelegator,__asyncGenerator:__asyncGenerator,__asyncValues:__asyncValues,__await:__await,__awaiter:__awaiter,__classPrivateFieldGet:__classPrivateFieldGet,__classPrivateFieldIn:__classPrivateFieldIn,__classPrivateFieldSet:__classPrivateFieldSet,__createBinding:__createBinding,__decorate:__decorate,__disposeResources:__disposeResources,__esDecorate:__esDecorate,__exportStar:__exportStar,__extends:__extends,__generator:__generator,__importDefault:__importDefault,__importStar:__importStar,__makeTemplateObject:__makeTemplateObject,__metadata:__metadata,__param:__param,__propKey:__propKey,__read:__read,__rest:__rest,__runInitializers:__runInitializers,__setFunctionName:__setFunctionName,__spread:__spread,__spreadArray:__spreadArray,__spreadArrays:__spreadArrays,__values:__values,default:tslib_es6}),require$$0$4=getAugmentedNamespace(tslib_es6$1),_polyfillNode_fs={},_polyfillNode_fs$1=Object.freeze({__proto__:null,default:_polyfillNode_fs}),require$$1$2=getAugmentedNamespace(_polyfillNode_fs$1),main={},fork={exports:{}},types$12={exports:{}},shared={};function requireShared(){if(hasRequiredShared)return shared;hasRequiredShared=1,Object.defineProperty(shared,"__esModule",{value:!0}),shared.maybeSetModuleExports=void 0;var e=require$$0$4.__importDefault(requireTypes());return shared.default=function(t){var r=t.use(e.default),n=r.Type,i=r.builtInTypes,a=i.number,s=n.or(i.string,i.number,i.boolean,i.null,i.undefined),o=n.from((function(e){if(null===e)return!0;var t=typeof e;return"object"!==t&&"function"!==t}),s.toString());return{geq:function(e){return n.from((function(t){return a.check(t)&&t>=e}),a+" >= "+e)},defaults:{null:function(){return null},emptyArray:function(){return[]},false:function(){return!1},true:function(){return!0},undefined:function(){},"use strict":function(){return"use strict"}},isPrimitive:o}},shared.maybeSetModuleExports=function(e){try{var t=e(),r=t.exports,n=r.default}catch(e){return}n&&n!==r&&"object"==typeof r&&(Object.assign(n,r,{default:n}),r.__esModule&&Object.defineProperty(n,"__esModule",{value:!0}),t.exports=n)},shared}function requireTypes(){return hasRequiredTypes||(hasRequiredTypes=1,function(e,t){Object.defineProperty(t,"__esModule",{value:!0}),t.Def=void 0;var r=require$$0$4,n=requireShared(),i=Object.prototype,a=i.toString,s=i.hasOwnProperty,o=function(){function e(){}return e.prototype.assert=function(e,t){if(!this.check(e,t)){var r=m(e);throw new Error(r+" does not match type "+this)}return!0},e.prototype.arrayOf=function(){return new l(this)},e}(),l=function(e){function t(t){var r=e.call(this)||this;return r.elemType=t,r.kind="ArrayType",r}return r.__extends(t,e),t.prototype.toString=function(){return"["+this.elemType+"]"},t.prototype.check=function(e,t){var r=this;return Array.isArray(e)&&e.every((function(e){return r.elemType.check(e,t)}))},t}(o),u=function(e){function t(t){var r=e.call(this)||this;return r.value=t,r.kind="IdentityType",r}return r.__extends(t,e),t.prototype.toString=function(){return String(this.value)},t.prototype.check=function(e,t){var r=e===this.value;return r||"function"!=typeof t||t(this,e),r},t}(o),c=function(e){function t(t){var r=e.call(this)||this;return r.fields=t,r.kind="ObjectType",r}return r.__extends(t,e),t.prototype.toString=function(){return"{ "+this.fields.join(", ")+" }"},t.prototype.check=function(e,t){return a.call(e)===a.call({})&&this.fields.every((function(r){return r.type.check(e[r.name],t)}))},t}(o),p=function(e){function t(t){var r=e.call(this)||this;return r.types=t,r.kind="OrType",r}return r.__extends(t,e),t.prototype.toString=function(){return this.types.join(" | ")},t.prototype.check=function(e,t){return!!this.types.some((function(r){return r.check(e,!!t)}))||("function"==typeof t&&t(this,e),!1)},t}(o),d=function(e){function t(t,r){var n=e.call(this)||this;return n.name=t,n.predicate=r,n.kind="PredicateType",n}return r.__extends(t,e),t.prototype.toString=function(){return this.name},t.prototype.check=function(e,t){var r=this.predicate(e,t);return r||"function"!=typeof t||t(this,e),r},t}(o),f=function(){function e(e,t){this.type=e,this.typeName=t,this.baseNames=[],this.ownFields=Object.create(null),this.allSupertypes=Object.create(null),this.supertypeList=[],this.allFields=Object.create(null),this.fieldNames=[],this.finalized=!1,this.buildable=!1,this.buildParams=[]}return e.prototype.isSupertypeOf=function(t){if(t instanceof e){if(!0!==this.finalized||!0!==t.finalized)throw new Error("");return s.call(t.allSupertypes,this.typeName)}throw new Error(t+" is not a Def")},e.prototype.checkAllFields=function(e,t){var r=this.allFields;if(!0!==this.finalized)throw new Error(""+this.typeName);return null!==e&&"object"==typeof e&&Object.keys(r).every((function(n){var i=r[n],a=i.type,s=i.getValue(e);return a.check(s,t)}))},e.prototype.bases=function(){for(var e=[],t=0;t<arguments.length;t++)e[t]=arguments[t];var r=this.baseNames;if(this.finalized){if(e.length!==r.length)throw new Error("");for(var n=0;n<e.length;n++)if(e[n]!==r[n])throw new Error("");return this}return e.forEach((function(e){r.indexOf(e)<0&&r.push(e)})),this},e}();t.Def=f;var h=function(){function e(e,t,r,n){this.name=e,this.type=t,this.defaultFn=r,this.hidden=!!n}return e.prototype.toString=function(){return JSON.stringify(this.name)+": "+this.type},e.prototype.getValue=function(e){var t=e[this.name];return void 0!==t||"function"==typeof this.defaultFn&&(t=this.defaultFn.call(e)),t},e}();function m(e){return Array.isArray(e)?"["+e.map(m).join(", ")+"]":e&&"object"==typeof e?"{ "+Object.keys(e).map((function(t){return t+": "+e[t]})).join(", ")+" }":JSON.stringify(e)}t.default=function(e){var t={or:function(){for(var e=[],r=0;r<arguments.length;r++)e[r]=arguments[r];return new p(e.map((function(e){return t.from(e)})))},from:function(e,r){if(e instanceof l||e instanceof u||e instanceof c||e instanceof p||e instanceof d)return e;if(e instanceof f)return e.type;if(v.check(e)){if(1!==e.length)throw new Error("only one element type is permitted for typed arrays");return new l(t.from(e[0]))}if(b.check(e))return new c(Object.keys(e).map((function(r){return new h(r,t.from(e[r],r))})));if("function"==typeof e){var a=n.indexOf(e);if(a>=0)return i[a];if("string"!=typeof r)throw new Error("missing name");return new d(r,e)}return new u(e)},def:function(e){return s.call(C,e)?C[e]:C[e]=new k(e)},hasDef:function(e){return s.call(C,e)}},n=[],i=[];function o(e,t){var r=a.call(t),s=new d(e,(function(e){return a.call(e)===r}));return t&&"function"==typeof t.constructor&&(n.push(t.constructor),i.push(s)),s}var y=o("string","truthy"),g=o("function",(function(){})),v=o("array",[]),b=o("object",{}),S=o("RegExp",/./),_=o("Date",new Date),T=o("number",3),E=o("boolean",!0),x=o("null",null),P=o("undefined",void 0),A="function"==typeof BigInt?o("BigInt",BigInt(1234)):new d("BigInt",(function(){return!1})),$={string:y,function:g,array:v,object:b,RegExp:S,Date:_,number:T,boolean:E,null:x,undefined:P,BigInt:A},C=Object.create(null);function w(e){if(e&&"object"==typeof e){var t=e.type;if("string"==typeof t&&s.call(C,t)){var r=C[t];if(r.finalized)return r}}return null}var k=function(e){function n(t){var r=e.call(this,new d(t,(function(e,t){return r.check(e,t)})),t)||this;return r}return r.__extends(n,e),n.prototype.check=function(e,t){if(!0!==this.finalized)throw new Error("prematurely checking unfinalized type "+this.typeName);if(null===e||"object"!=typeof e)return!1;var r=w(e);return r?t&&r===this?this.checkAllFields(e,t):!!this.isSupertypeOf(r)&&(!t||r.checkAllFields(e,t)&&this.checkAllFields(e,!1)):("SourceLocation"===this.typeName||"Position"===this.typeName)&&this.checkAllFields(e,t)},n.prototype.build=function(){for(var e=this,t=[],r=0;r<arguments.length;r++)t[r]=arguments[r];if(this.buildParams=t,this.buildable)return this;this.field("type",String,(function(){return e.typeName})),this.buildable=!0;var n=function(t,r,n,i){if(!s.call(t,r)){var a=e.allFields;if(!s.call(a,r))throw new Error(""+r);var o,l=a[r],u=l.type;if(i)o=n;else{if(!l.defaultFn){var c="no value or default function given for field "+JSON.stringify(r)+" of "+e.typeName+"("+e.buildParams.map((function(e){return a[e]})).join(", ")+")";throw new Error(c)}o=l.defaultFn.call(t)}if(!u.check(o))throw new Error(m(o)+" does not match field "+l+" of type "+e.typeName);t[r]=o}},i=function(){for(var t=[],r=0;r<arguments.length;r++)t[r]=arguments[r];var i=t.length;if(!e.finalized)throw new Error("attempting to instantiate unfinalized type "+e.typeName);var a=Object.create(N);if(e.buildParams.forEach((function(e,r){r<i?n(a,e,t[r],!0):n(a,e,null,!1)})),Object.keys(e.allFields).forEach((function(e){n(a,e,null,!1)})),a.type!==e.typeName)throw new Error("");return a};return i.from=function(t){if(!e.finalized)throw new Error("attempting to instantiate unfinalized type "+e.typeName);var r=Object.create(N);if(Object.keys(e.allFields).forEach((function(e){s.call(t,e)?n(r,e,t[e],!0):n(r,e,null,!1)})),r.type!==e.typeName)throw new Error("");return r},Object.defineProperty(I,O(this.typeName),{enumerable:!0,value:i}),this},n.prototype.field=function(e,r,n,i){return this.finalized?(console.error("Ignoring attempt to redefine field "+JSON.stringify(e)+" of finalized type "+JSON.stringify(this.typeName)),this):(this.ownFields[e]=new h(e,t.from(r),n,i),this)},n.prototype.finalize=function(){var e=this;if(!this.finalized){var t=this.allFields,r=this.allSupertypes;for(var n in this.baseNames.forEach((function(n){var i=C[n];if(!(i instanceof f)){var a="unknown supertype name "+JSON.stringify(n)+" for subtype "+JSON.stringify(e.typeName);throw new Error(a)}i.finalize(),M(t,i.allFields),M(r,i.allSupertypes)})),M(t,this.ownFields),r[this.typeName]=this,this.fieldNames.length=0,t)s.call(t,n)&&!t[n].hidden&&this.fieldNames.push(n);Object.defineProperty(D,this.typeName,{enumerable:!0,value:this.type}),this.finalized=!0,function(e,t){t.length=0,t.push(e);for(var r=Object.create(null),n=0;n<t.length;++n){e=t[n];var i=C[e];if(!0!==i.finalized)throw new Error("");s.call(r,e)&&delete t[r[e]],r[e]=n,t.push.apply(t,i.baseNames)}for(var a=0,o=a,l=t.length;o<l;++o)s.call(t,o)&&(t[a++]=t[o]);t.length=a}(this.typeName,this.supertypeList),this.buildable&&this.supertypeList.lastIndexOf("Expression")>=0&&function(e){var t=L(e);if(I[t])return;var r=I[O(e)];if(!r)return;var n=function(){for(var e=[],t=0;t<arguments.length;t++)e[t]=arguments[t];return I.expressionStatement(r.apply(I,e))};n.from=function(){for(var e=[],t=0;t<arguments.length;t++)e[t]=arguments[t];return I.expressionStatement(r.from.apply(I,e))},I[t]=n}(this.typeName)}},n}(f),I=Object.create(null),N={};function O(e){return e.replace(/^[A-Z]+/,(function(e){var t=e.length;switch(t){case 0:return"";case 1:return e.toLowerCase();default:return e.slice(0,t-1).toLowerCase()+e.charAt(t-1)}}))}function L(e){return(e=O(e)).replace(/(Expression)?$/,"Statement")}var D={};function F(e){var t=w(e);if(t)return t.fieldNames.slice(0);if("type"in e)throw new Error("did not recognize object of type "+JSON.stringify(e.type));return Object.keys(e)}function R(e,t){var r=w(e);if(r){var n=r.allFields[t];if(n)return n.getValue(e)}return e&&e[t]}function M(e,t){return Object.keys(t).forEach((function(r){e[r]=t[r]})),e}return{Type:t,builtInTypes:$,getSupertypeNames:function(e){if(!s.call(C,e))throw new Error("");var t=C[e];if(!0!==t.finalized)throw new Error("");return t.supertypeList.slice(1)},computeSupertypeLookupTable:function(e){for(var t={},r=Object.keys(C),n=r.length,i=0;i<n;++i){var a=r[i],o=C[a];if(!0!==o.finalized)throw new Error(""+a);for(var l=0;l<o.supertypeList.length;++l){var u=o.supertypeList[l];if(s.call(e,u)){t[a]=u;break}}}return t},builders:I,defineMethod:function(e,t){var r=N[e];return P.check(t)?delete N[e]:(g.assert(t),Object.defineProperty(N,e,{enumerable:!0,configurable:!0,value:t})),r},getBuilderName:O,getStatementBuilderName:L,namedTypes:D,getFieldNames:F,getFieldValue:R,eachField:function(e,t,r){F(e).forEach((function(r){t.call(this,r,R(e,r))}),r)},someField:function(e,t,r){return F(e).some((function(r){return t.call(this,r,R(e,r))}),r)},finalize:function(){Object.keys(C).forEach((function(e){C[e].finalize()}))}}},(0,n.maybeSetModuleExports)((function(){return e}))}(types$12,types$12.exports)),types$12.exports}types$12.exports;var hasRequiredPath,pathVisitor={exports:{}},nodePath$1={exports:{}},path={exports:{}};function requirePath(){return hasRequiredPath||(hasRequiredPath=1,function(e,t){Object.defineProperty(t,"__esModule",{value:!0});var r=require$$0$4,n=requireShared(),i=r.__importDefault(requireTypes()),a=Object.prototype.hasOwnProperty;t.default=function(e){var t=e.use(i.default),r=t.builtInTypes.array,n=t.builtInTypes.number,s=function e(t,r,n){if(!(this instanceof e))throw new Error("Path constructor cannot be invoked without 'new'");if(r){if(!(r instanceof e))throw new Error("")}else r=null,n=null;this.value=t,this.parentPath=r,this.name=n,this.__childCache=null},o=s.prototype;function l(e){return e.__childCache||(e.__childCache=Object.create(null))}function u(e,t){var r=l(e),n=e.getValueProperty(t),i=r[t];return a.call(r,t)&&i.value===n||(i=r[t]=new e.constructor(n,e,t)),i}function c(){}function p(e,t,i,s){if(r.assert(e.value),0===t)return c;var o=e.value.length;if(o<1)return c;var u=arguments.length;2===u?(i=0,s=o):3===u?(i=Math.max(i,0),s=o):(i=Math.max(i,0),s=Math.min(s,o)),n.assert(i),n.assert(s);for(var p=Object.create(null),d=l(e),f=i;f<s;++f)if(a.call(e.value,f)){var h=e.get(f);if(h.name!==f)throw new Error("");var m=f+t;h.name=m,p[m]=h,delete d[f]}return delete d.length,function(){for(var t in p){var r=p[t];if(r.name!==+t)throw new Error("");d[t]=r,e.value[t]=r.value}}}return o.getValueProperty=function(e){return this.value[e]},o.get=function(){for(var e=[],t=0;t<arguments.length;t++)e[t]=arguments[t];for(var r=this,n=e.length,i=0;i<n;++i)r=u(r,e[i]);return r},o.each=function(e,t){var r=[],n=this.value.length,i=0;for(i=0;i<n;++i)a.call(this.value,i)&&(r[i]=this.get(i));for(t=t||this,i=0;i<n;++i)a.call(r,i)&&e.call(t,r[i])},o.map=function(e,t){var r=[];return this.each((function(t){r.push(e.call(this,t))}),t),r},o.filter=function(e,t){var r=[];return this.each((function(t){e.call(this,t)&&r.push(t)}),t),r},o.shift=function(){var e=p(this,-1),t=this.value.shift();return e(),t},o.unshift=function(){for(var e=[],t=0;t<arguments.length;t++)e[t]=arguments[t];var r=p(this,e.length),n=this.value.unshift.apply(this.value,e);return r(),n},o.push=function(){for(var e=[],t=0;t<arguments.length;t++)e[t]=arguments[t];return r.assert(this.value),delete l(this).length,this.value.push.apply(this.value,e)},o.pop=function(){r.assert(this.value);var e=l(this);return delete e[this.value.length-1],delete e.length,this.value.pop()},o.insertAt=function(e){var t=arguments.length,r=p(this,t-1,e);if(r===c&&t<=1)return this;e=Math.max(e,0);for(var n=1;n<t;++n)this.value[e+n-1]=arguments[n];return r(),this},o.insertBefore=function(){for(var e=[],t=0;t<arguments.length;t++)e[t]=arguments[t];for(var r=this.parentPath,n=e.length,i=[this.name],a=0;a<n;++a)i.push(e[a]);return r.insertAt.apply(r,i)},o.insertAfter=function(){for(var e=[],t=0;t<arguments.length;t++)e[t]=arguments[t];for(var r=this.parentPath,n=e.length,i=[this.name+1],a=0;a<n;++a)i.push(e[a]);return r.insertAt.apply(r,i)},o.replace=function(e){var t=[],n=this.parentPath.value,i=l(this.parentPath),a=arguments.length;if(function(e){if(!(e instanceof s))throw new Error("");var t=e.parentPath;if(!t)return e;var n=t.value,i=l(t);if(n[e.name]===e.value)i[e.name]=e;else if(r.check(n)){var a=n.indexOf(e.value);a>=0&&(i[e.name=a]=e)}else n[e.name]=e.value,i[e.name]=e;if(n[e.name]!==e.value)throw new Error("");if(e.parentPath.get(e.name)!==e)throw new Error("")}(this),r.check(n)){for(var o=n.length,u=p(this.parentPath,a-1,this.name+1),c=[this.name,1],d=0;d<a;++d)c.push(arguments[d]);if(n.splice.apply(n,c)[0]!==this.value)throw new Error("");if(n.length!==o-1+a)throw new Error("");if(u(),0===a)delete this.value,delete i[this.name],this.__childCache=null;else{if(n[this.name]!==e)throw new Error("");for(this.value!==e&&(this.value=e,this.__childCache=null),d=0;d<a;++d)t.push(this.parentPath.get(this.name+d));if(t[0]!==this)throw new Error("")}}else if(1===a)this.value!==e&&(this.__childCache=null),this.value=n[this.name]=e,t.push(this);else{if(0!==a)throw new Error("Could not replace path");delete n[this.name],delete this.value,this.__childCache=null}return t},s},(0,n.maybeSetModuleExports)((function(){return e}))}(path,path.exports)),path.exports}path.exports;var hasRequiredScope,hasRequiredNodePath,hasRequiredPathVisitor,scope={exports:{}};function requireScope(){return hasRequiredScope||(hasRequiredScope=1,function(e,t){Object.defineProperty(t,"__esModule",{value:!0});var r=require$$0$4,n=requireShared(),i=r.__importDefault(requireTypes()),a=Object.prototype.hasOwnProperty;t.default=function(e){var t=e.use(i.default),r=t.Type,n=t.namedTypes,s=n.Node,o=n.Expression,l=t.builtInTypes.array,u=t.builders,c=function e(t,r){if(!(this instanceof e))throw new Error("Scope constructor cannot be invoked without 'new'");var n;if(d.check(t.value)||p.assert(t.value),r){if(!(r instanceof e))throw new Error("");n=r.depth+1}else r=null,n=0;Object.defineProperties(this,{path:{value:t},node:{value:t.value},isGlobal:{value:!r,enumerable:!0},depth:{value:n},parent:{value:r},bindings:{value:{}},types:{value:{}}})},p=r.or(n.Program,n.Function,n.CatchClause),d=r.or(n.Function,n.ClassDeclaration,n.ClassExpression,n.InterfaceDeclaration,n.TSInterfaceDeclaration,n.TypeAlias,n.TSTypeAliasDeclaration),f=r.or(n.TypeParameter,n.TSTypeParameter);c.isEstablishedBy=function(e){return p.check(e)||d.check(e)};var h=c.prototype;function m(e,r,i){var a=e.value;e.parent&&n.FunctionExpression.check(e.parent.node)&&e.parent.node.id&&g(e.parent.get("id"),r),a&&(l.check(a)?e.each((function(e){y(e,r,i)})):n.Function.check(a)?(e.get("params").each((function(e){g(e,r)})),y(e.get("body"),r,i),m(e.get("typeParameters"),r,i)):n.TypeAlias&&n.TypeAlias.check(a)||n.InterfaceDeclaration&&n.InterfaceDeclaration.check(a)||n.TSTypeAliasDeclaration&&n.TSTypeAliasDeclaration.check(a)||n.TSInterfaceDeclaration&&n.TSInterfaceDeclaration.check(a)?v(e.get("id"),i):n.VariableDeclarator.check(a)?(g(e.get("id"),r),y(e.get("init"),r,i)):"ImportSpecifier"===a.type||"ImportNamespaceSpecifier"===a.type||"ImportDefaultSpecifier"===a.type?g(e.get(a.local?"local":a.name?"name":"id"),r):s.check(a)&&!o.check(a)&&t.eachField(a,(function(t,n){var a=e.get(t);if(!function(e,t){if(e.value===t)return!0;if(Array.isArray(e.value)&&0===e.value.length&&Array.isArray(t)&&0===t.length)return!0;return!1}(a,n))throw new Error("");y(a,r,i)})))}function y(e,t,r){var i=e.value;if(!i||o.check(i));else if(n.FunctionDeclaration.check(i)&&null!==i.id)g(e.get("id"),t);else if(n.ClassDeclaration&&n.ClassDeclaration.check(i)&&null!==i.id)g(e.get("id"),t),m(e.get("typeParameters"),t,r);else if(n.InterfaceDeclaration&&n.InterfaceDeclaration.check(i)||n.TSInterfaceDeclaration&&n.TSInterfaceDeclaration.check(i))v(e.get("id"),r);else if(p.check(i)){if(n.CatchClause.check(i)&&n.Identifier.check(i.param)){var s=i.param.name,l=a.call(t,s);m(e.get("body"),t,r),l||delete t[s]}}else m(e,t,r)}function g(e,t){var r=e.value;n.Pattern.assert(r),n.Identifier.check(r)?a.call(t,r.name)?t[r.name].push(e):t[r.name]=[e]:n.AssignmentPattern&&n.AssignmentPattern.check(r)?g(e.get("left"),t):n.ObjectPattern&&n.ObjectPattern.check(r)?e.get("properties").each((function(e){var r=e.value;n.Pattern.check(r)?g(e,t):n.Property.check(r)||n.ObjectProperty&&n.ObjectProperty.check(r)?g(e.get("value"),t):n.SpreadProperty&&n.SpreadProperty.check(r)&&g(e.get("argument"),t)})):n.ArrayPattern&&n.ArrayPattern.check(r)?e.get("elements").each((function(e){var r=e.value;n.Pattern.check(r)?g(e,t):n.SpreadElement&&n.SpreadElement.check(r)&&g(e.get("argument"),t)})):n.PropertyPattern&&n.PropertyPattern.check(r)?g(e.get("pattern"),t):(n.SpreadElementPattern&&n.SpreadElementPattern.check(r)||n.RestElement&&n.RestElement.check(r)||n.SpreadPropertyPattern&&n.SpreadPropertyPattern.check(r))&&g(e.get("argument"),t)}function v(e,t){var r=e.value;n.Pattern.assert(r),n.Identifier.check(r)&&(a.call(t,r.name)?t[r.name].push(e):t[r.name]=[e])}return h.didScan=!1,h.declares=function(e){return this.scan(),a.call(this.bindings,e)},h.declaresType=function(e){return this.scan(),a.call(this.types,e)},h.declareTemporary=function(e){if(e){if(!/^[a-z$_]/i.test(e))throw new Error("")}else e="t$";e+=this.depth.toString(36)+"$",this.scan();for(var r=0;this.declares(e+r);)++r;var n=e+r;return this.bindings[n]=t.builders.identifier(n)},h.injectTemporary=function(e,t){e||(e=this.declareTemporary());var r=this.path.get("body");return n.BlockStatement.check(r.value)&&(r=r.get("body")),r.unshift(u.variableDeclaration("var",[u.variableDeclarator(e,t||null)])),e},h.scan=function(e){if(e||!this.didScan){for(var t in this.bindings)delete this.bindings[t];for(var t in this.types)delete this.types[t];!function(e,t,r){var i=e.value;if(d.check(i)){var s=e.get("typeParameters","params");l.check(s.value)&&s.each((function(e){!function(e,t){var r=e.value;f.assert(r),a.call(t,r.name)?t[r.name].push(e):t[r.name]=[e]}(e,r)}))}p.check(i)&&(n.CatchClause.check(i)?g(e.get("param"),t):m(e,t,r))}(this.path,this.bindings,this.types),this.didScan=!0}},h.getBindings=function(){return this.scan(),this.bindings},h.getTypes=function(){return this.scan(),this.types},h.lookup=function(e){for(var t=this;t&&!t.declares(e);t=t.parent);return t},h.lookupType=function(e){for(var t=this;t&&!t.declaresType(e);t=t.parent);return t},h.getGlobalScope=function(){for(var e=this;!e.isGlobal;)e=e.parent;return e},c},(0,n.maybeSetModuleExports)((function(){return e}))}(scope,scope.exports)),scope.exports}function requireNodePath(){return hasRequiredNodePath||(hasRequiredNodePath=1,function(e,t){Object.defineProperty(t,"__esModule",{value:!0});var r=require$$0$4,n=r.__importDefault(requireTypes()),i=r.__importDefault(requirePath()),a=r.__importDefault(requireScope()),s=requireShared();t.default=function(e){var t=e.use(n.default),r=t.namedTypes,s=t.builders,o=t.builtInTypes.number,l=t.builtInTypes.array,u=e.use(i.default),c=e.use(a.default),p=function e(t,r,n){if(!(this instanceof e))throw new Error("NodePath constructor cannot be invoked without 'new'");u.call(this,t,r,n)},d=p.prototype=Object.create(u.prototype,{constructor:{value:p,enumerable:!1,writable:!0,configurable:!0}});function f(e){return r.BinaryExpression.check(e)||r.LogicalExpression.check(e)}Object.defineProperties(d,{node:{get:function(){return Object.defineProperty(this,"node",{configurable:!0,value:this._computeNode()}),this.node}},parent:{get:function(){return Object.defineProperty(this,"parent",{configurable:!0,value:this._computeParent()}),this.parent}},scope:{get:function(){return Object.defineProperty(this,"scope",{configurable:!0,value:this._computeScope()}),this.scope}}}),d.replace=function(){return delete this.node,delete this.parent,delete this.scope,u.prototype.replace.apply(this,arguments)},d.prune=function(){var e=this.parent;return this.replace(),function(e){if(r.VariableDeclaration.check(e.node)){var t=e.get("declarations").value;if(!t||0===t.length)return e.prune()}else if(r.ExpressionStatement.check(e.node)){if(!e.get("expression").value)return e.prune()}else r.IfStatement.check(e.node)&&function(e){var t=e.get("test").value,n=e.get("alternate").value,i=e.get("consequent").value;if(i||n){if(!i&&n){var a=s.unaryExpression("!",t,!0);r.UnaryExpression.check(t)&&"!"===t.operator&&(a=t.argument),e.get("test").replace(a),e.get("consequent").replace(n),e.get("alternate").replace()}}else{var o=s.expressionStatement(t);e.replace(o)}}(e);return e}(e)},d._computeNode=function(){var e=this.value;if(r.Node.check(e))return e;var t=this.parentPath;return t&&t.node||null},d._computeParent=function(){var e=this.value,t=this.parentPath;if(!r.Node.check(e)){for(;t&&!r.Node.check(t.value);)t=t.parentPath;t&&(t=t.parentPath)}for(;t&&!r.Node.check(t.value);)t=t.parentPath;return t||null},d._computeScope=function(){var e=this.value,t=this.parentPath,n=t&&t.scope;return r.Node.check(e)&&c.isEstablishedBy(e)&&(n=new c(this,n)),n||null},d.getValueProperty=function(e){return t.getFieldValue(this.value,e)},d.needsParens=function(e){var t=this.parentPath;if(!t)return!1;var n=this.value;if(!r.Expression.check(n))return!1;if("Identifier"===n.type)return!1;for(;!r.Node.check(t.value);)if(!(t=t.parentPath))return!1;var i=t.value;switch(n.type){case"UnaryExpression":case"SpreadElement":case"SpreadProperty":return"MemberExpression"===i.type&&"object"===this.name&&i.object===n;case"BinaryExpression":case"LogicalExpression":switch(i.type){case"CallExpression":return"callee"===this.name&&i.callee===n;case"UnaryExpression":case"SpreadElement":case"SpreadProperty":return!0;case"MemberExpression":return"object"===this.name&&i.object===n;case"BinaryExpression":case"LogicalExpression":var a=n,s=i.operator,l=h[s],u=a.operator,c=h[u];if(l>c)return!0;if(l===c&&"right"===this.name){if(i.right!==a)throw new Error("Nodes must be equal");return!0}default:return!1}case"SequenceExpression":switch(i.type){case"ForStatement":return!1;case"ExpressionStatement":return"expression"!==this.name;default:return!0}case"YieldExpression":switch(i.type){case"BinaryExpression":case"LogicalExpression":case"UnaryExpression":case"SpreadElement":case"SpreadProperty":case"CallExpression":case"MemberExpression":case"NewExpression":case"ConditionalExpression":case"YieldExpression":return!0;default:return!1}case"Literal":return"MemberExpression"===i.type&&o.check(n.value)&&"object"===this.name&&i.object===n;case"AssignmentExpression":case"ConditionalExpression":switch(i.type){case"UnaryExpression":case"SpreadElement":case"SpreadProperty":case"BinaryExpression":case"LogicalExpression":return!0;case"CallExpression":return"callee"===this.name&&i.callee===n;case"ConditionalExpression":return"test"===this.name&&i.test===n;case"MemberExpression":return"object"===this.name&&i.object===n;default:return!1}default:if("NewExpression"===i.type&&"callee"===this.name&&i.callee===n)return m(n)}return!(!0===e||this.canBeFirstInStatement()||!this.firstInStatement())};var h={};function m(e){return!!r.CallExpression.check(e)||(l.check(e)?e.some(m):!!r.Node.check(e)&&t.someField(e,(function(e,t){return m(t)})))}return[["||"],["&&"],["|"],["^"],["&"],["==","===","!=","!=="],["<",">","<=",">=","in","instanceof"],[">>","<<",">>>"],["+","-"],["*","/","%"]].forEach((function(e,t){e.forEach((function(e){h[e]=t}))})),d.canBeFirstInStatement=function(){var e=this.node;return!r.FunctionExpression.check(e)&&!r.ObjectExpression.check(e)},d.firstInStatement=function(){return function(e){for(var t,n;e.parent;e=e.parent){if(t=e.node,n=e.parent.node,r.BlockStatement.check(n)&&"body"===e.parent.name&&0===e.name){if(n.body[0]!==t)throw new Error("Nodes must be equal");return!0}if(r.ExpressionStatement.check(n)&&"expression"===e.name){if(n.expression!==t)throw new Error("Nodes must be equal");return!0}if(r.SequenceExpression.check(n)&&"expressions"===e.parent.name&&0===e.name){if(n.expressions[0]!==t)throw new Error("Nodes must be equal")}else if(r.CallExpression.check(n)&&"callee"===e.name){if(n.callee!==t)throw new Error("Nodes must be equal")}else if(r.MemberExpression.check(n)&&"object"===e.name){if(n.object!==t)throw new Error("Nodes must be equal")}else if(r.ConditionalExpression.check(n)&&"test"===e.name){if(n.test!==t)throw new Error("Nodes must be equal")}else if(f(n)&&"left"===e.name){if(n.left!==t)throw new Error("Nodes must be equal")}else{if(!r.UnaryExpression.check(n)||n.prefix||"argument"!==e.name)return!1;if(n.argument!==t)throw new Error("Nodes must be equal")}}return!0}(this)},p},(0,s.maybeSetModuleExports)((function(){return e}))}(nodePath$1,nodePath$1.exports)),nodePath$1.exports}function requirePathVisitor(){return hasRequiredPathVisitor||(hasRequiredPathVisitor=1,function(e,t){Object.defineProperty(t,"__esModule",{value:!0});var r=require$$0$4,n=r.__importDefault(requireTypes()),i=r.__importDefault(requireNodePath()),a=requireShared(),s=Object.prototype.hasOwnProperty;t.default=function(e){var t=e.use(n.default),r=e.use(i.default),a=t.builtInTypes.array,o=t.builtInTypes.object,l=t.builtInTypes.function,u=function e(){if(!(this instanceof e))throw new Error("PathVisitor constructor cannot be invoked without 'new'");this._reusableContextStack=[],this._methodNameTable=function(e){var r=Object.create(null);for(var n in e)/^visit[A-Z]/.test(n)&&(r[n.slice(5)]=!0);for(var i=t.computeSupertypeLookupTable(r),a=Object.create(null),s=Object.keys(i),o=s.length,u=0;u<o;++u){var c=s[u];n="visit"+i[c],l.check(e[n])&&(a[c]=n)}return a}(this),this._shouldVisitComments=s.call(this._methodNameTable,"Block")||s.call(this._methodNameTable,"Line"),this.Context=f(this),this._visiting=!1,this._changeReported=!1};function c(e,t){for(var r in t)s.call(t,r)&&(e[r]=t[r]);return e}u.fromMethodsObject=function(e){if(e instanceof u)return e;if(!o.check(e))return new u;var t=function e(){if(!(this instanceof e))throw new Error("Visitor constructor cannot be invoked without 'new'");u.call(this)},r=t.prototype=Object.create(p);return r.constructor=t,c(r,e),c(t,u),l.assert(t.fromMethodsObject),l.assert(t.visit),new t},u.visit=function(e,t){return u.fromMethodsObject(t).visit(e)};var p=u.prototype;function d(e,n){if(!(e instanceof r))throw new Error("");if(!(n instanceof u))throw new Error("");var i=e.value;if(a.check(i))e.each(n.visitWithoutReset,n);else if(o.check(i)){var l=t.getFieldNames(i);n._shouldVisitComments&&i.comments&&l.indexOf("comments")<0&&l.push("comments");for(var c=l.length,p=[],d=0;d<c;++d){var f=l[d];s.call(i,f)||(i[f]=t.getFieldValue(i,f)),p.push(e.get(f))}for(d=0;d<c;++d)n.visitWithoutReset(p[d])}else;return e.value}function f(e){function t(n){if(!(this instanceof t))throw new Error("");if(!(this instanceof u))throw new Error("");if(!(n instanceof r))throw new Error("");Object.defineProperty(this,"visitor",{value:e,writable:!1,enumerable:!0,configurable:!1}),this.currentPath=n,this.needToCallTraverse=!0,Object.seal(this)}if(!(e instanceof u))throw new Error("");var n=t.prototype=Object.create(e);return n.constructor=t,c(n,h),t}p.visit=function(){if(this._visiting)throw new Error("Recursively calling visitor.visit(path) resets visitor state. Try this.visit(path) or this.traverse(path) instead.");this._visiting=!0,this._changeReported=!1,this._abortRequested=!1;for(var e,t=arguments.length,n=new Array(t),i=0;i<t;++i)n[i]=arguments[i];n[0]instanceof r||(n[0]=new r({root:n[0]}).get("root")),this.reset.apply(this,n);try{var a=this.visitWithoutReset(n[0]);e=!0}finally{if(this._visiting=!1,!e&&this._abortRequested)return n[0].value}return a},p.AbortRequest=function(){},p.abort=function(){var e=this;e._abortRequested=!0;var t=new e.AbortRequest;throw t.cancel=function(){e._abortRequested=!1},t},p.reset=function(e){},p.visitWithoutReset=function(e){if(this instanceof this.Context)return this.visitor.visitWithoutReset(e);if(!(e instanceof r))throw new Error("");var t=e.value,n=t&&"object"==typeof t&&"string"==typeof t.type&&this._methodNameTable[t.type];if(!n)return d(e,this);var i=this.acquireContext(e);try{return i.invokeVisitorMethod(n)}finally{this.releaseContext(i)}},p.acquireContext=function(e){return 0===this._reusableContextStack.length?new this.Context(e):this._reusableContextStack.pop().reset(e)},p.releaseContext=function(e){if(!(e instanceof this.Context))throw new Error("");this._reusableContextStack.push(e),e.currentPath=null},p.reportChanged=function(){this._changeReported=!0},p.wasChangeReported=function(){return this._changeReported};var h=Object.create(null);return h.reset=function(e){if(!(this instanceof this.Context))throw new Error("");if(!(e instanceof r))throw new Error("");return this.currentPath=e,this.needToCallTraverse=!0,this},h.invokeVisitorMethod=function(e){if(!(this instanceof this.Context))throw new Error("");if(!(this.currentPath instanceof r))throw new Error("");var t=this.visitor[e].call(this,this.currentPath);if(!1===t?this.needToCallTraverse=!1:undefined!==t&&(this.currentPath=this.currentPath.replace(t)[0],this.needToCallTraverse&&this.traverse(this.currentPath)),!1!==this.needToCallTraverse)throw new Error("Must either call this.traverse or return false in "+e);var n=this.currentPath;return n&&n.value},h.traverse=function(e,t){if(!(this instanceof this.Context))throw new Error("");if(!(e instanceof r))throw new Error("");if(!(this.currentPath instanceof r))throw new Error("");return this.needToCallTraverse=!1,d(e,u.fromMethodsObject(t||this.visitor))},h.visit=function(e,t){if(!(this instanceof this.Context))throw new Error("");if(!(e instanceof r))throw new Error("");if(!(this.currentPath instanceof r))throw new Error("");return this.needToCallTraverse=!1,u.fromMethodsObject(t||this.visitor).visitWithoutReset(e)},h.reportChanged=function(){this.visitor.reportChanged()},h.abort=function(){this.needToCallTraverse=!1,this.visitor.abort()},u},(0,a.maybeSetModuleExports)((function(){return e}))}(pathVisitor,pathVisitor.exports)),pathVisitor.exports}scope.exports,nodePath$1.exports,pathVisitor.exports;var hasRequiredEquiv,hasRequiredFork,equiv={exports:{}};function requireEquiv(){return hasRequiredEquiv||(hasRequiredEquiv=1,function(e,t){Object.defineProperty(t,"__esModule",{value:!0});var r=require$$0$4,n=requireShared(),i=r.__importDefault(requireTypes());t.default=function(e){var t=e.use(i.default),r=t.getFieldNames,n=t.getFieldValue,a=t.builtInTypes.array,s=t.builtInTypes.object,o=t.builtInTypes.Date,l=t.builtInTypes.RegExp,u=Object.prototype.hasOwnProperty;function c(e,t,r){return a.check(r)?r.length=0:r=null,d(e,t,r)}function p(e){return/[_$a-z][_$a-z0-9]*/i.test(e)?"."+e:"["+JSON.stringify(e)+"]"}function d(e,t,i){return e===t||(a.check(e)?function(e,t,r){a.assert(e);var n=e.length;if(!a.check(t)||t.length!==n)return r&&r.push("length"),!1;for(var i=0;i<n;++i){if(r&&r.push(i),i in e!=i in t)return!1;if(!d(e[i],t[i],r))return!1;if(r){var s=r.pop();if(s!==i)throw new Error(""+s)}}return!0}(e,t,i):s.check(e)?function(e,t,i){if(s.assert(e),!s.check(t))return!1;if(e.type!==t.type)return i&&i.push("type"),!1;var a=r(e),o=a.length,l=r(t),c=l.length;if(o===c){for(var p=0;p<o;++p){var f=a[p],h=n(e,f),m=n(t,f);if(i&&i.push(f),!d(h,m,i))return!1;if(i){var y=i.pop();if(y!==f)throw new Error(""+y)}}return!0}if(!i)return!1;var g=Object.create(null);for(p=0;p<o;++p)g[a[p]]=!0;for(p=0;p<c;++p){if(f=l[p],!u.call(g,f))return i.push(f),!1;delete g[f]}for(f in g){i.push(f);break}return!1}(e,t,i):o.check(e)?o.check(t)&&+e==+t:l.check(e)?l.check(t)&&e.source===t.source&&e.global===t.global&&e.multiline===t.multiline&&e.ignoreCase===t.ignoreCase:e==t)}return c.assert=function(e,t){var r=[];if(!c(e,t,r)){if(0!==r.length)throw new Error("Nodes differ in the following path: "+r.map(p).join(""));if(e!==t)throw new Error("Nodes must be equal")}},c},(0,n.maybeSetModuleExports)((function(){return e}))}(equiv,equiv.exports)),equiv.exports}function requireFork(){return hasRequiredFork||(hasRequiredFork=1,function(e,t){Object.defineProperty(t,"__esModule",{value:!0});var r=require$$0$4,n=r.__importDefault(requireTypes()),i=r.__importDefault(requirePathVisitor()),a=r.__importDefault(requireEquiv()),s=r.__importDefault(requirePath()),o=r.__importDefault(requireNodePath()),l=requireShared();t.default=function(e){var t=function(){var e=[],t=[];function r(r){var i=e.indexOf(r);return-1===i&&(i=e.length,e.push(r),t[i]=r(n)),t[i]}var n={use:r};return n}(),r=t.use(n.default);e.forEach(t.use),r.finalize();var l=t.use(i.default);return{Type:r.Type,builtInTypes:r.builtInTypes,namedTypes:r.namedTypes,builders:r.builders,defineMethod:r.defineMethod,getFieldNames:r.getFieldNames,getFieldValue:r.getFieldValue,eachField:r.eachField,someField:r.someField,getSupertypeNames:r.getSupertypeNames,getBuilderName:r.getBuilderName,astNodesAreEquivalent:t.use(a.default),finalize:r.finalize,Path:t.use(s.default),NodePath:t.use(o.default),PathVisitor:l,use:t.use,visit:l.visit}},(0,l.maybeSetModuleExports)((function(){return e}))}(fork,fork.exports)),fork.exports}equiv.exports,fork.exports;var hasRequiredCore$1,hasRequiredEs2016$1,hasRequiredEs2020$1,hasRequiredEs2021$1,esProposals={exports:{}},es2022={exports:{}},es2021$1={exports:{}},es2021={exports:{}},es2020$1={exports:{}},es2016$1={exports:{}},core$1={exports:{}};function requireCore$1(){return hasRequiredCore$1||(hasRequiredCore$1=1,function(e,t){Object.defineProperty(t,"__esModule",{value:!0});var r=requireShared();t.default=function(){return{BinaryOperators:["==","!=","===","!==","<","<=",">",">=","<<",">>",">>>","+","-","*","/","%","&","|","^","in","instanceof"],AssignmentOperators:["=","+=","-=","*=","/=","%=","<<=",">>=",">>>=","|=","^=","&="],LogicalOperators:["||","&&"]}},(0,r.maybeSetModuleExports)((function(){return e}))}(core$1,core$1.exports)),core$1.exports}function requireEs2016$1(){return hasRequiredEs2016$1||(hasRequiredEs2016$1=1,function(e,t){Object.defineProperty(t,"__esModule",{value:!0});var r=require$$0$4,n=requireShared(),i=r.__importDefault(requireCore$1());t.default=function(e){var t=e.use(i.default);return t.BinaryOperators.indexOf("**")<0&&t.BinaryOperators.push("**"),t.AssignmentOperators.indexOf("**=")<0&&t.AssignmentOperators.push("**="),t},(0,n.maybeSetModuleExports)((function(){return e}))}(es2016$1,es2016$1.exports)),es2016$1.exports}function requireEs2020$1(){return hasRequiredEs2020$1||(hasRequiredEs2020$1=1,function(e,t){Object.defineProperty(t,"__esModule",{value:!0});var r=require$$0$4,n=requireShared(),i=r.__importDefault(requireEs2016$1());t.default=function(e){var t=e.use(i.default);return t.LogicalOperators.indexOf("??")<0&&t.LogicalOperators.push("??"),t},(0,n.maybeSetModuleExports)((function(){return e}))}(es2020$1,es2020$1.exports)),es2020$1.exports}function requireEs2021$1(){return hasRequiredEs2021$1||(hasRequiredEs2021$1=1,function(e,t){Object.defineProperty(t,"__esModule",{value:!0});var r=require$$0$4,n=requireShared(),i=r.__importDefault(requireEs2020$1());t.default=function(e){var t=e.use(i.default);return t.LogicalOperators.forEach((function(e){var r=e+"=";t.AssignmentOperators.indexOf(r)<0&&t.AssignmentOperators.push(r)})),t},(0,n.maybeSetModuleExports)((function(){return e}))}(es2021,es2021.exports)),es2021.exports}core$1.exports,es2016$1.exports,es2020$1.exports,es2021.exports;var hasRequiredCore,hasRequiredEs6,hasRequiredEs2016,hasRequiredEs2017,hasRequiredEs2018,hasRequiredEs2019,hasRequiredEs2020,hasRequiredEs2021,hasRequiredEs2022,hasRequiredEsProposals,es2020={exports:{}},es2019={exports:{}},es2018={exports:{}},es2017={exports:{}},es2016={exports:{}},es6={exports:{}},core={exports:{}};function requireCore(){return hasRequiredCore||(hasRequiredCore=1,function(e,t){Object.defineProperty(t,"__esModule",{value:!0});var r=require$$0$4,n=r.__importDefault(requireCore$1()),i=r.__importDefault(requireTypes()),a=r.__importStar(requireShared());t.default=function(e){var t=e.use(i.default).Type,r=t.def,s=t.or,o=e.use(a.default),l=o.defaults,u=o.geq,c=e.use(n.default),p=c.BinaryOperators,d=c.AssignmentOperators,f=c.LogicalOperators;r("Printable").field("loc",s(r("SourceLocation"),null),l.null,!0),r("Node").bases("Printable").field("type",String).field("comments",s([r("Comment")],null),l.null,!0),r("SourceLocation").field("start",r("Position")).field("end",r("Position")).field("source",s(String,null),l.null),r("Position").field("line",u(1)).field("column",u(0)),r("File").bases("Node").build("program","name").field("program",r("Program")).field("name",s(String,null),l.null),r("Program").bases("Node").build("body").field("body",[r("Statement")]),r("Function").bases("Node").field("id",s(r("Identifier"),null),l.null).field("params",[r("Pattern")]).field("body",r("BlockStatement")).field("generator",Boolean,l.false).field("async",Boolean,l.false),r("Statement").bases("Node"),r("EmptyStatement").bases("Statement").build(),r("BlockStatement").bases("Statement").build("body").field("body",[r("Statement")]),r("ExpressionStatement").bases("Statement").build("expression").field("expression",r("Expression")),r("IfStatement").bases("Statement").build("test","consequent","alternate").field("test",r("Expression")).field("consequent",r("Statement")).field("alternate",s(r("Statement"),null),l.null),r("LabeledStatement").bases("Statement").build("label","body").field("label",r("Identifier")).field("body",r("Statement")),r("BreakStatement").bases("Statement").build("label").field("label",s(r("Identifier"),null),l.null),r("ContinueStatement").bases("Statement").build("label").field("label",s(r("Identifier"),null),l.null),r("WithStatement").bases("Statement").build("object","body").field("object",r("Expression")).field("body",r("Statement")),r("SwitchStatement").bases("Statement").build("discriminant","cases","lexical").field("discriminant",r("Expression")).field("cases",[r("SwitchCase")]).field("lexical",Boolean,l.false),r("ReturnStatement").bases("Statement").build("argument").field("argument",s(r("Expression"),null)),r("ThrowStatement").bases("Statement").build("argument").field("argument",r("Expression")),r("TryStatement").bases("Statement").build("block","handler","finalizer").field("block",r("BlockStatement")).field("handler",s(r("CatchClause"),null),(function(){return this.handlers&&this.handlers[0]||null})).field("handlers",[r("CatchClause")],(function(){return this.handler?[this.handler]:[]}),!0).field("guardedHandlers",[r("CatchClause")],l.emptyArray).field("finalizer",s(r("BlockStatement"),null),l.null),r("CatchClause").bases("Node").build("param","guard","body").field("param",r("Pattern")).field("guard",s(r("Expression"),null),l.null).field("body",r("BlockStatement")),r("WhileStatement").bases("Statement").build("test","body").field("test",r("Expression")).field("body",r("Statement")),r("DoWhileStatement").bases("Statement").build("body","test").field("body",r("Statement")).field("test",r("Expression")),r("ForStatement").bases("Statement").build("init","test","update","body").field("init",s(r("VariableDeclaration"),r("Expression"),null)).field("test",s(r("Expression"),null)).field("update",s(r("Expression"),null)).field("body",r("Statement")),r("ForInStatement").bases("Statement").build("left","right","body").field("left",s(r("VariableDeclaration"),r("Expression"))).field("right",r("Expression")).field("body",r("Statement")),r("DebuggerStatement").bases("Statement").build(),r("Declaration").bases("Statement"),r("FunctionDeclaration").bases("Function","Declaration").build("id","params","body").field("id",r("Identifier")),r("FunctionExpression").bases("Function","Expression").build("id","params","body"),r("VariableDeclaration").bases("Declaration").build("kind","declarations").field("kind",s("var","let","const")).field("declarations",[r("VariableDeclarator")]),r("VariableDeclarator").bases("Node").build("id","init").field("id",r("Pattern")).field("init",s(r("Expression"),null),l.null),r("Expression").bases("Node"),r("ThisExpression").bases("Expression").build(),r("ArrayExpression").bases("Expression").build("elements").field("elements",[s(r("Expression"),null)]),r("ObjectExpression").bases("Expression").build("properties").field("properties",[r("Property")]),r("Property").bases("Node").build("kind","key","value").field("kind",s("init","get","set")).field("key",s(r("Literal"),r("Identifier"))).field("value",r("Expression")),r("SequenceExpression").bases("Expression").build("expressions").field("expressions",[r("Expression")]);var h=s("-","+","!","~","typeof","void","delete");r("UnaryExpression").bases("Expression").build("operator","argument","prefix").field("operator",h).field("argument",r("Expression")).field("prefix",Boolean,l.true);var m=s.apply(void 0,p);r("BinaryExpression").bases("Expression").build("operator","left","right").field("operator",m).field("left",r("Expression")).field("right",r("Expression"));var y=s.apply(void 0,d);r("AssignmentExpression").bases("Expression").build("operator","left","right").field("operator",y).field("left",s(r("Pattern"),r("MemberExpression"))).field("right",r("Expression"));var g=s("++","--");r("UpdateExpression").bases("Expression").build("operator","argument","prefix").field("operator",g).field("argument",r("Expression")).field("prefix",Boolean);var v=s.apply(void 0,f);r("LogicalExpression").bases("Expression").build("operator","left","right").field("operator",v).field("left",r("Expression")).field("right",r("Expression")),r("ConditionalExpression").bases("Expression").build("test","consequent","alternate").field("test",r("Expression")).field("consequent",r("Expression")).field("alternate",r("Expression")),r("NewExpression").bases("Expression").build("callee","arguments").field("callee",r("Expression")).field("arguments",[r("Expression")]),r("CallExpression").bases("Expression").build("callee","arguments").field("callee",r("Expression")).field("arguments",[r("Expression")]),r("MemberExpression").bases("Expression").build("object","property","computed").field("object",r("Expression")).field("property",s(r("Identifier"),r("Expression"))).field("computed",Boolean,(function(){var e=this.property.type;return"Literal"===e||"MemberExpression"===e||"BinaryExpression"===e})),r("Pattern").bases("Node"),r("SwitchCase").bases("Node").build("test","consequent").field("test",s(r("Expression"),null)).field("consequent",[r("Statement")]),r("Identifier").bases("Expression","Pattern").build("name").field("name",String).field("optional",Boolean,l.false),r("Literal").bases("Expression").build("value").field("value",s(String,Boolean,null,Number,RegExp,BigInt)),r("Comment").bases("Printable").field("value",String).field("leading",Boolean,l.true).field("trailing",Boolean,l.false)},(0,a.maybeSetModuleExports)((function(){return e}))}(core,core.exports)),core.exports}function requireEs6(){return hasRequiredEs6||(hasRequiredEs6=1,function(e,t){Object.defineProperty(t,"__esModule",{value:!0});var r=require$$0$4,n=r.__importDefault(requireCore()),i=r.__importDefault(requireTypes()),a=r.__importStar(requireShared());t.default=function(e){e.use(n.default);var t=e.use(i.default),r=t.Type.def,s=t.Type.or,o=e.use(a.default).defaults;r("Function").field("generator",Boolean,o.false).field("expression",Boolean,o.false).field("defaults",[s(r("Expression"),null)],o.emptyArray).field("rest",s(r("Identifier"),null),o.null),r("RestElement").bases("Pattern").build("argument").field("argument",r("Pattern")).field("typeAnnotation",s(r("TypeAnnotation"),r("TSTypeAnnotation"),null),o.null),r("SpreadElementPattern").bases("Pattern").build("argument").field("argument",r("Pattern")),r("FunctionDeclaration").build("id","params","body","generator","expression").field("id",s(r("Identifier"),null)),r("FunctionExpression").build("id","params","body","generator","expression"),r("ArrowFunctionExpression").bases("Function","Expression").build("params","body","expression").field("id",null,o.null).field("body",s(r("BlockStatement"),r("Expression"))).field("generator",!1,o.false),r("ForOfStatement").bases("Statement").build("left","right","body").field("left",s(r("VariableDeclaration"),r("Pattern"))).field("right",r("Expression")).field("body",r("Statement")),r("YieldExpression").bases("Expression").build("argument","delegate").field("argument",s(r("Expression"),null)).field("delegate",Boolean,o.false),r("GeneratorExpression").bases("Expression").build("body","blocks","filter").field("body",r("Expression")).field("blocks",[r("ComprehensionBlock")]).field("filter",s(r("Expression"),null)),r("ComprehensionExpression").bases("Expression").build("body","blocks","filter").field("body",r("Expression")).field("blocks",[r("ComprehensionBlock")]).field("filter",s(r("Expression"),null)),r("ComprehensionBlock").bases("Node").build("left","right","each").field("left",r("Pattern")).field("right",r("Expression")).field("each",Boolean),r("Property").field("key",s(r("Literal"),r("Identifier"),r("Expression"))).field("value",s(r("Expression"),r("Pattern"))).field("method",Boolean,o.false).field("shorthand",Boolean,o.false).field("computed",Boolean,o.false),r("ObjectProperty").field("shorthand",Boolean,o.false),r("PropertyPattern").bases("Pattern").build("key","pattern").field("key",s(r("Literal"),r("Identifier"),r("Expression"))).field("pattern",r("Pattern")).field("computed",Boolean,o.false),r("ObjectPattern").bases("Pattern").build("properties").field("properties",[s(r("PropertyPattern"),r("Property"))]),r("ArrayPattern").bases("Pattern").build("elements").field("elements",[s(r("Pattern"),null)]),r("SpreadElement").bases("Node").build("argument").field("argument",r("Expression")),r("ArrayExpression").field("elements",[s(r("Expression"),r("SpreadElement"),r("RestElement"),null)]),r("NewExpression").field("arguments",[s(r("Expression"),r("SpreadElement"))]),r("CallExpression").field("arguments",[s(r("Expression"),r("SpreadElement"))]),r("AssignmentPattern").bases("Pattern").build("left","right").field("left",r("Pattern")).field("right",r("Expression")),r("MethodDefinition").bases("Declaration").build("kind","key","value","static").field("kind",s("constructor","method","get","set")).field("key",r("Expression")).field("value",r("Function")).field("computed",Boolean,o.false).field("static",Boolean,o.false);var l=s(r("MethodDefinition"),r("VariableDeclarator"),r("ClassPropertyDefinition"),r("ClassProperty"),r("StaticBlock"));r("ClassProperty").bases("Declaration").build("key").field("key",s(r("Literal"),r("Identifier"),r("Expression"))).field("computed",Boolean,o.false),r("ClassPropertyDefinition").bases("Declaration").build("definition").field("definition",l),r("ClassBody").bases("Declaration").build("body").field("body",[l]),r("ClassDeclaration").bases("Declaration").build("id","body","superClass").field("id",s(r("Identifier"),null)).field("body",r("ClassBody")).field("superClass",s(r("Expression"),null),o.null),r("ClassExpression").bases("Expression").build("id","body","superClass").field("id",s(r("Identifier"),null),o.null).field("body",r("ClassBody")).field("superClass",s(r("Expression"),null),o.null),r("Super").bases("Expression").build(),r("Specifier").bases("Node"),r("ModuleSpecifier").bases("Specifier").field("local",s(r("Identifier"),null),o.null).field("id",s(r("Identifier"),null),o.null).field("name",s(r("Identifier"),null),o.null),r("ImportSpecifier").bases("ModuleSpecifier").build("imported","local").field("imported",r("Identifier")),r("ImportDefaultSpecifier").bases("ModuleSpecifier").build("local"),r("ImportNamespaceSpecifier").bases("ModuleSpecifier").build("local"),r("ImportDeclaration").bases("Declaration").build("specifiers","source","importKind").field("specifiers",[s(r("ImportSpecifier"),r("ImportNamespaceSpecifier"),r("ImportDefaultSpecifier"))],o.emptyArray).field("source",r("Literal")).field("importKind",s("value","type"),(function(){return"value"})),r("ExportNamedDeclaration").bases("Declaration").build("declaration","specifiers","source").field("declaration",s(r("Declaration"),null)).field("specifiers",[r("ExportSpecifier")],o.emptyArray).field("source",s(r("Literal"),null),o.null),r("ExportSpecifier").bases("ModuleSpecifier").build("local","exported").field("exported",r("Identifier")),r("ExportDefaultDeclaration").bases("Declaration").build("declaration").field("declaration",s(r("Declaration"),r("Expression"))),r("ExportAllDeclaration").bases("Declaration").build("source").field("source",r("Literal")),r("TaggedTemplateExpression").bases("Expression").build("tag","quasi").field("tag",r("Expression")).field("quasi",r("TemplateLiteral")),r("TemplateLiteral").bases("Expression").build("quasis","expressions").field("quasis",[r("TemplateElement")]).field("expressions",[r("Expression")]),r("TemplateElement").bases("Node").build("value","tail").field("value",{cooked:String,raw:String}).field("tail",Boolean),r("MetaProperty").bases("Expression").build("meta","property").field("meta",r("Identifier")).field("property",r("Identifier"))},(0,a.maybeSetModuleExports)((function(){return e}))}(es6,es6.exports)),es6.exports}function requireEs2016(){return hasRequiredEs2016||(hasRequiredEs2016=1,function(e,t){Object.defineProperty(t,"__esModule",{value:!0});var r=require$$0$4,n=r.__importDefault(requireEs2016$1()),i=r.__importDefault(requireEs6()),a=requireShared();t.default=function(e){e.use(n.default),e.use(i.default)},(0,a.maybeSetModuleExports)((function(){return e}))}(es2016,es2016.exports)),es2016.exports}function requireEs2017(){return hasRequiredEs2017||(hasRequiredEs2017=1,function(e,t){Object.defineProperty(t,"__esModule",{value:!0});var r=require$$0$4,n=r.__importDefault(requireEs2016()),i=r.__importDefault(requireTypes()),a=r.__importStar(requireShared());t.default=function(e){e.use(n.default);var t=e.use(i.default).Type.def,r=e.use(a.default).defaults;t("Function").field("async",Boolean,r.false),t("AwaitExpression").bases("Expression").build("argument").field("argument",t("Expression"))},(0,a.maybeSetModuleExports)((function(){return e}))}(es2017,es2017.exports)),es2017.exports}function requireEs2018(){return hasRequiredEs2018||(hasRequiredEs2018=1,function(e,t){Object.defineProperty(t,"__esModule",{value:!0});var r=require$$0$4,n=r.__importDefault(requireEs2017()),i=r.__importDefault(requireTypes()),a=r.__importStar(requireShared());t.default=function(e){e.use(n.default);var t=e.use(i.default),r=t.Type.def,s=t.Type.or,o=e.use(a.default).defaults;r("ForOfStatement").field("await",Boolean,o.false),r("SpreadProperty").bases("Node").build("argument").field("argument",r("Expression")),r("ObjectExpression").field("properties",[s(r("Property"),r("SpreadProperty"),r("SpreadElement"))]),r("TemplateElement").field("value",{cooked:s(String,null),raw:String}),r("SpreadPropertyPattern").bases("Pattern").build("argument").field("argument",r("Pattern")),r("ObjectPattern").field("properties",[s(r("PropertyPattern"),r("Property"),r("RestElement"),r("SpreadPropertyPattern"))])},(0,a.maybeSetModuleExports)((function(){return e}))}(es2018,es2018.exports)),es2018.exports}function requireEs2019(){return hasRequiredEs2019||(hasRequiredEs2019=1,function(e,t){Object.defineProperty(t,"__esModule",{value:!0});var r=require$$0$4,n=r.__importDefault(requireEs2018()),i=r.__importDefault(requireTypes()),a=r.__importStar(requireShared());t.default=function(e){e.use(n.default);var t=e.use(i.default),r=t.Type.def,s=t.Type.or,o=e.use(a.default).defaults;r("CatchClause").field("param",s(r("Pattern"),null),o.null)},(0,a.maybeSetModuleExports)((function(){return e}))}(es2019,es2019.exports)),es2019.exports}function requireEs2020(){return hasRequiredEs2020||(hasRequiredEs2020=1,function(e,t){Object.defineProperty(t,"__esModule",{value:!0});var r=require$$0$4,n=r.__importDefault(requireEs2020$1()),i=r.__importDefault(requireEs2019()),a=r.__importDefault(requireTypes()),s=r.__importStar(requireShared());t.default=function(e){e.use(n.default),e.use(i.default);var t=e.use(a.default),r=t.Type.def,o=t.Type.or,l=e.use(s.default).defaults;r("ImportExpression").bases("Expression").build("source").field("source",r("Expression")),r("ExportAllDeclaration").bases("Declaration").build("source","exported").field("source",r("Literal")).field("exported",o(r("Identifier"),null,void 0),l.null),r("ChainElement").bases("Node").field("optional",Boolean,l.false),r("CallExpression").bases("Expression","ChainElement"),r("MemberExpression").bases("Expression","ChainElement"),r("ChainExpression").bases("Expression").build("expression").field("expression",r("ChainElement")),r("OptionalCallExpression").bases("CallExpression").build("callee","arguments","optional").field("optional",Boolean,l.true),r("OptionalMemberExpression").bases("MemberExpression").build("object","property","computed","optional").field("optional",Boolean,l.true)},(0,s.maybeSetModuleExports)((function(){return e}))}(es2020,es2020.exports)),es2020.exports}function requireEs2021(){return hasRequiredEs2021||(hasRequiredEs2021=1,function(e,t){Object.defineProperty(t,"__esModule",{value:!0});var r=require$$0$4,n=r.__importDefault(requireEs2021$1()),i=r.__importDefault(requireEs2020()),a=requireShared();t.default=function(e){e.use(n.default),e.use(i.default)},(0,a.maybeSetModuleExports)((function(){return e}))}(es2021$1,es2021$1.exports)),es2021$1.exports}function requireEs2022(){return hasRequiredEs2022||(hasRequiredEs2022=1,function(e,t){Object.defineProperty(t,"__esModule",{value:!0});var r=require$$0$4,n=r.__importDefault(requireEs2021()),i=r.__importDefault(requireTypes()),a=requireShared();t.default=function(e){e.use(n.default);var t=e.use(i.default).Type.def;t("StaticBlock").bases("Declaration").build("body").field("body",[t("Statement")])},(0,a.maybeSetModuleExports)((function(){return e}))}(es2022,es2022.exports)),es2022.exports}function requireEsProposals(){return hasRequiredEsProposals||(hasRequiredEsProposals=1,function(e,t){Object.defineProperty(t,"__esModule",{value:!0});var r=require$$0$4,n=r.__importDefault(requireTypes()),i=r.__importStar(requireShared()),a=r.__importDefault(requireEs2022());t.default=function(e){e.use(a.default);var t=e.use(n.default),r=t.Type,s=t.Type.def,o=r.or,l=e.use(i.default).defaults;s("AwaitExpression").build("argument","all").field("argument",o(s("Expression"),null)).field("all",Boolean,l.false),s("Decorator").bases("Node").build("expression").field("expression",s("Expression")),s("Property").field("decorators",o([s("Decorator")],null),l.null),s("MethodDefinition").field("decorators",o([s("Decorator")],null),l.null),s("PrivateName").bases("Expression","Pattern").build("id").field("id",s("Identifier")),s("ClassPrivateProperty").bases("ClassProperty").build("key","value").field("key",s("PrivateName")).field("value",o(s("Expression"),null),l.null),s("ImportAttribute").bases("Node").build("key","value").field("key",o(s("Identifier"),s("Literal"))).field("value",s("Expression")),["ImportDeclaration","ExportAllDeclaration","ExportNamedDeclaration"].forEach((function(e){s(e).field("assertions",[s("ImportAttribute")],l.emptyArray)})),s("RecordExpression").bases("Expression").build("properties").field("properties",[o(s("ObjectProperty"),s("ObjectMethod"),s("SpreadElement"))]),s("TupleExpression").bases("Expression").build("elements").field("elements",[o(s("Expression"),s("SpreadElement"),null)]),s("ModuleExpression").bases("Node").build("body").field("body",s("Program"))},(0,i.maybeSetModuleExports)((function(){return e}))}(esProposals,esProposals.exports)),esProposals.exports}core.exports,es6.exports,es2016.exports,es2017.exports,es2018.exports,es2019.exports,es2020.exports,es2021$1.exports,es2022.exports,esProposals.exports;var hasRequiredJsx,jsx$2={exports:{}};function requireJsx(){return hasRequiredJsx||(hasRequiredJsx=1,function(e,t){Object.defineProperty(t,"__esModule",{value:!0});var r=require$$0$4,n=r.__importDefault(requireEsProposals()),i=r.__importDefault(requireTypes()),a=r.__importStar(requireShared());t.default=function(e){e.use(n.default);var t=e.use(i.default),r=t.Type.def,s=t.Type.or,o=e.use(a.default).defaults;r("JSXAttribute").bases("Node").build("name","value").field("name",s(r("JSXIdentifier"),r("JSXNamespacedName"))).field("value",s(r("Literal"),r("JSXExpressionContainer"),r("JSXElement"),r("JSXFragment"),null),o.null),r("JSXIdentifier").bases("Identifier").build("name").field("name",String),r("JSXNamespacedName").bases("Node").build("namespace","name").field("namespace",r("JSXIdentifier")).field("name",r("JSXIdentifier")),r("JSXMemberExpression").bases("MemberExpression").build("object","property").field("object",s(r("JSXIdentifier"),r("JSXMemberExpression"))).field("property",r("JSXIdentifier")).field("computed",Boolean,o.false);var l=s(r("JSXIdentifier"),r("JSXNamespacedName"),r("JSXMemberExpression"));r("JSXSpreadAttribute").bases("Node").build("argument").field("argument",r("Expression"));var u=[s(r("JSXAttribute"),r("JSXSpreadAttribute"))];r("JSXExpressionContainer").bases("Expression").build("expression").field("expression",s(r("Expression"),r("JSXEmptyExpression")));var c=[s(r("JSXText"),r("JSXExpressionContainer"),r("JSXSpreadChild"),r("JSXElement"),r("JSXFragment"),r("Literal"))];r("JSXElement").bases("Expression").build("openingElement","closingElement","children").field("openingElement",r("JSXOpeningElement")).field("closingElement",s(r("JSXClosingElement"),null),o.null).field("children",c,o.emptyArray).field("name",l,(function(){return this.openingElement.name}),!0).field("selfClosing",Boolean,(function(){return this.openingElement.selfClosing}),!0).field("attributes",u,(function(){return this.openingElement.attributes}),!0),r("JSXOpeningElement").bases("Node").build("name","attributes","selfClosing").field("name",l).field("attributes",u,o.emptyArray).field("selfClosing",Boolean,o.false),r("JSXClosingElement").bases("Node").build("name").field("name",l),r("JSXFragment").bases("Expression").build("openingFragment","closingFragment","children").field("openingFragment",r("JSXOpeningFragment")).field("closingFragment",r("JSXClosingFragment")).field("children",c,o.emptyArray),r("JSXOpeningFragment").bases("Node").build(),r("JSXClosingFragment").bases("Node").build(),r("JSXText").bases("Literal").build("value","raw").field("value",String).field("raw",String,(function(){return this.value})),r("JSXEmptyExpression").bases("Node").build(),r("JSXSpreadChild").bases("Node").build("expression").field("expression",r("Expression"))},(0,a.maybeSetModuleExports)((function(){return e}))}(jsx$2,jsx$2.exports)),jsx$2.exports}jsx$2.exports;var hasRequiredTypeAnnotations,hasRequiredFlow,flow$2={exports:{}},typeAnnotations={exports:{}};function requireTypeAnnotations(){return hasRequiredTypeAnnotations||(hasRequiredTypeAnnotations=1,function(e,t){Object.defineProperty(t,"__esModule",{value:!0});var r=require$$0$4,n=r.__importDefault(requireTypes()),i=r.__importStar(requireShared());t.default=function(e){var t=e.use(n.default),r=t.Type.def,a=t.Type.or,s=e.use(i.default).defaults,o=a(r("TypeAnnotation"),r("TSTypeAnnotation"),null),l=a(r("TypeParameterDeclaration"),r("TSTypeParameterDeclaration"),null);r("Identifier").field("typeAnnotation",o,s.null),r("ObjectPattern").field("typeAnnotation",o,s.null),r("Function").field("returnType",o,s.null).field("typeParameters",l,s.null),r("ClassProperty").build("key","value","typeAnnotation","static").field("value",a(r("Expression"),null)).field("static",Boolean,s.false).field("typeAnnotation",o,s.null),["ClassDeclaration","ClassExpression"].forEach((function(e){r(e).field("typeParameters",l,s.null).field("superTypeParameters",a(r("TypeParameterInstantiation"),r("TSTypeParameterInstantiation"),null),s.null).field("implements",a([r("ClassImplements")],[r("TSExpressionWithTypeArguments")]),s.emptyArray)}))},(0,i.maybeSetModuleExports)((function(){return e}))}(typeAnnotations,typeAnnotations.exports)),typeAnnotations.exports}function requireFlow(){return hasRequiredFlow||(hasRequiredFlow=1,function(e,t){Object.defineProperty(t,"__esModule",{value:!0});var r=require$$0$4,n=r.__importDefault(requireEsProposals()),i=r.__importDefault(requireTypeAnnotations()),a=r.__importDefault(requireTypes()),s=r.__importStar(requireShared());t.default=function(e){e.use(n.default),e.use(i.default);var t=e.use(a.default),r=t.Type.def,o=t.Type.or,l=e.use(s.default).defaults;r("Flow").bases("Node"),r("FlowType").bases("Flow"),r("AnyTypeAnnotation").bases("FlowType").build(),r("EmptyTypeAnnotation").bases("FlowType").build(),r("MixedTypeAnnotation").bases("FlowType").build(),r("VoidTypeAnnotation").bases("FlowType").build(),r("SymbolTypeAnnotation").bases("FlowType").build(),r("NumberTypeAnnotation").bases("FlowType").build(),r("BigIntTypeAnnotation").bases("FlowType").build(),r("NumberLiteralTypeAnnotation").bases("FlowType").build("value","raw").field("value",Number).field("raw",String),r("NumericLiteralTypeAnnotation").bases("FlowType").build("value","raw").field("value",Number).field("raw",String),r("BigIntLiteralTypeAnnotation").bases("FlowType").build("value","raw").field("value",null).field("raw",String),r("StringTypeAnnotation").bases("FlowType").build(),r("StringLiteralTypeAnnotation").bases("FlowType").build("value","raw").field("value",String).field("raw",String),r("BooleanTypeAnnotation").bases("FlowType").build(),r("BooleanLiteralTypeAnnotation").bases("FlowType").build("value","raw").field("value",Boolean).field("raw",String),r("TypeAnnotation").bases("Node").build("typeAnnotation").field("typeAnnotation",r("FlowType")),r("NullableTypeAnnotation").bases("FlowType").build("typeAnnotation").field("typeAnnotation",r("FlowType")),r("NullLiteralTypeAnnotation").bases("FlowType").build(),r("NullTypeAnnotation").bases("FlowType").build(),r("ThisTypeAnnotation").bases("FlowType").build(),r("ExistsTypeAnnotation").bases("FlowType").build(),r("ExistentialTypeParam").bases("FlowType").build(),r("FunctionTypeAnnotation").bases("FlowType").build("params","returnType","rest","typeParameters").field("params",[r("FunctionTypeParam")]).field("returnType",r("FlowType")).field("rest",o(r("FunctionTypeParam"),null)).field("typeParameters",o(r("TypeParameterDeclaration"),null)),r("FunctionTypeParam").bases("Node").build("name","typeAnnotation","optional").field("name",o(r("Identifier"),null)).field("typeAnnotation",r("FlowType")).field("optional",Boolean),r("ArrayTypeAnnotation").bases("FlowType").build("elementType").field("elementType",r("FlowType")),r("ObjectTypeAnnotation").bases("FlowType").build("properties","indexers","callProperties").field("properties",[o(r("ObjectTypeProperty"),r("ObjectTypeSpreadProperty"))]).field("indexers",[r("ObjectTypeIndexer")],l.emptyArray).field("callProperties",[r("ObjectTypeCallProperty")],l.emptyArray).field("inexact",o(Boolean,void 0),l[void 0]).field("exact",Boolean,l.false).field("internalSlots",[r("ObjectTypeInternalSlot")],l.emptyArray),r("Variance").bases("Node").build("kind").field("kind",o("plus","minus"));var u=o(r("Variance"),"plus","minus",null);r("ObjectTypeProperty").bases("Node").build("key","value","optional").field("key",o(r("Literal"),r("Identifier"))).field("value",r("FlowType")).field("optional",Boolean).field("variance",u,l.null),r("ObjectTypeIndexer").bases("Node").build("id","key","value").field("id",r("Identifier")).field("key",r("FlowType")).field("value",r("FlowType")).field("variance",u,l.null).field("static",Boolean,l.false),r("ObjectTypeCallProperty").bases("Node").build("value").field("value",r("FunctionTypeAnnotation")).field("static",Boolean,l.false),r("QualifiedTypeIdentifier").bases("Node").build("qualification","id").field("qualification",o(r("Identifier"),r("QualifiedTypeIdentifier"))).field("id",r("Identifier")),r("GenericTypeAnnotation").bases("FlowType").build("id","typeParameters").field("id",o(r("Identifier"),r("QualifiedTypeIdentifier"))).field("typeParameters",o(r("TypeParameterInstantiation"),null)),r("MemberTypeAnnotation").bases("FlowType").build("object","property").field("object",r("Identifier")).field("property",o(r("MemberTypeAnnotation"),r("GenericTypeAnnotation"))),r("IndexedAccessType").bases("FlowType").build("objectType","indexType").field("objectType",r("FlowType")).field("indexType",r("FlowType")),r("OptionalIndexedAccessType").bases("FlowType").build("objectType","indexType","optional").field("objectType",r("FlowType")).field("indexType",r("FlowType")).field("optional",Boolean),r("UnionTypeAnnotation").bases("FlowType").build("types").field("types",[r("FlowType")]),r("IntersectionTypeAnnotation").bases("FlowType").build("types").field("types",[r("FlowType")]),r("TypeofTypeAnnotation").bases("FlowType").build("argument").field("argument",r("FlowType")),r("ObjectTypeSpreadProperty").bases("Node").build("argument").field("argument",r("FlowType")),r("ObjectTypeInternalSlot").bases("Node").build("id","value","optional","static","method").field("id",r("Identifier")).field("value",r("FlowType")).field("optional",Boolean).field("static",Boolean).field("method",Boolean),r("TypeParameterDeclaration").bases("Node").build("params").field("params",[r("TypeParameter")]),r("TypeParameterInstantiation").bases("Node").build("params").field("params",[r("FlowType")]),r("TypeParameter").bases("FlowType").build("name","variance","bound","default").field("name",String).field("variance",u,l.null).field("bound",o(r("TypeAnnotation"),null),l.null).field("default",o(r("FlowType"),null),l.null),r("ClassProperty").field("variance",u,l.null),r("ClassImplements").bases("Node").build("id").field("id",r("Identifier")).field("superClass",o(r("Expression"),null),l.null).field("typeParameters",o(r("TypeParameterInstantiation"),null),l.null),r("InterfaceTypeAnnotation").bases("FlowType").build("body","extends").field("body",r("ObjectTypeAnnotation")).field("extends",o([r("InterfaceExtends")],null),l.null),r("InterfaceDeclaration").bases("Declaration").build("id","body","extends").field("id",r("Identifier")).field("typeParameters",o(r("TypeParameterDeclaration"),null),l.null).field("body",r("ObjectTypeAnnotation")).field("extends",[r("InterfaceExtends")]),r("DeclareInterface").bases("InterfaceDeclaration").build("id","body","extends"),r("InterfaceExtends").bases("Node").build("id").field("id",r("Identifier")).field("typeParameters",o(r("TypeParameterInstantiation"),null),l.null),r("TypeAlias").bases("Declaration").build("id","typeParameters","right").field("id",r("Identifier")).field("typeParameters",o(r("TypeParameterDeclaration"),null)).field("right",r("FlowType")),r("DeclareTypeAlias").bases("TypeAlias").build("id","typeParameters","right"),r("OpaqueType").bases("Declaration").build("id","typeParameters","impltype","supertype").field("id",r("Identifier")).field("typeParameters",o(r("TypeParameterDeclaration"),null)).field("impltype",r("FlowType")).field("supertype",o(r("FlowType"),null)),r("DeclareOpaqueType").bases("OpaqueType").build("id","typeParameters","supertype").field("impltype",o(r("FlowType"),null)),r("TypeCastExpression").bases("Expression").build("expression","typeAnnotation").field("expression",r("Expression")).field("typeAnnotation",r("TypeAnnotation")),r("TupleTypeAnnotation").bases("FlowType").build("types").field("types",[r("FlowType")]),r("DeclareVariable").bases("Statement").build("id").field("id",r("Identifier")),r("DeclareFunction").bases("Statement").build("id").field("id",r("Identifier")).field("predicate",o(r("FlowPredicate"),null),l.null),r("DeclareClass").bases("InterfaceDeclaration").build("id"),r("DeclareModule").bases("Statement").build("id","body").field("id",o(r("Identifier"),r("Literal"))).field("body",r("BlockStatement")),r("DeclareModuleExports").bases("Statement").build("typeAnnotation").field("typeAnnotation",r("TypeAnnotation")),r("DeclareExportDeclaration").bases("Declaration").build("default","declaration","specifiers","source").field("default",Boolean).field("declaration",o(r("DeclareVariable"),r("DeclareFunction"),r("DeclareClass"),r("FlowType"),r("TypeAlias"),r("DeclareOpaqueType"),r("InterfaceDeclaration"),null)).field("specifiers",[o(r("ExportSpecifier"),r("ExportBatchSpecifier"))],l.emptyArray).field("source",o(r("Literal"),null),l.null),r("DeclareExportAllDeclaration").bases("Declaration").build("source").field("source",o(r("Literal"),null),l.null),r("ImportDeclaration").field("importKind",o("value","type","typeof"),(function(){return"value"})),r("FlowPredicate").bases("Flow"),r("InferredPredicate").bases("FlowPredicate").build(),r("DeclaredPredicate").bases("FlowPredicate").build("value").field("value",r("Expression")),r("Function").field("predicate",o(r("FlowPredicate"),null),l.null),r("CallExpression").field("typeArguments",o(null,r("TypeParameterInstantiation")),l.null),r("NewExpression").field("typeArguments",o(null,r("TypeParameterInstantiation")),l.null),r("EnumDeclaration").bases("Declaration").build("id","body").field("id",r("Identifier")).field("body",o(r("EnumBooleanBody"),r("EnumNumberBody"),r("EnumStringBody"),r("EnumSymbolBody"))),r("EnumBooleanBody").build("members","explicitType").field("members",[r("EnumBooleanMember")]).field("explicitType",Boolean),r("EnumNumberBody").build("members","explicitType").field("members",[r("EnumNumberMember")]).field("explicitType",Boolean),r("EnumStringBody").build("members","explicitType").field("members",o([r("EnumStringMember")],[r("EnumDefaultedMember")])).field("explicitType",Boolean),r("EnumSymbolBody").build("members").field("members",[r("EnumDefaultedMember")]),r("EnumBooleanMember").build("id","init").field("id",r("Identifier")).field("init",o(r("Literal"),Boolean)),r("EnumNumberMember").build("id","init").field("id",r("Identifier")).field("init",r("Literal")),r("EnumStringMember").build("id","init").field("id",r("Identifier")).field("init",r("Literal")),r("EnumDefaultedMember").build("id").field("id",r("Identifier"))},(0,s.maybeSetModuleExports)((function(){return e}))}(flow$2,flow$2.exports)),flow$2.exports}typeAnnotations.exports,flow$2.exports;var hasRequiredEsprima$1,esprima$3={exports:{}};function requireEsprima$1(){return hasRequiredEsprima$1||(hasRequiredEsprima$1=1,function(e,t){Object.defineProperty(t,"__esModule",{value:!0});var r=require$$0$4,n=r.__importDefault(requireEsProposals()),i=r.__importDefault(requireTypes()),a=r.__importStar(requireShared());t.default=function(e){e.use(n.default);var t=e.use(i.default),r=e.use(a.default).defaults,s=t.Type.def,o=t.Type.or;s("VariableDeclaration").field("declarations",[o(s("VariableDeclarator"),s("Identifier"))]),s("Property").field("value",o(s("Expression"),s("Pattern"))),s("ArrayPattern").field("elements",[o(s("Pattern"),s("SpreadElement"),null)]),s("ObjectPattern").field("properties",[o(s("Property"),s("PropertyPattern"),s("SpreadPropertyPattern"),s("SpreadProperty"))]),s("ExportSpecifier").bases("ModuleSpecifier").build("id","name"),s("ExportBatchSpecifier").bases("Specifier").build(),s("ExportDeclaration").bases("Declaration").build("default","declaration","specifiers","source").field("default",Boolean).field("declaration",o(s("Declaration"),s("Expression"),null)).field("specifiers",[o(s("ExportSpecifier"),s("ExportBatchSpecifier"))],r.emptyArray).field("source",o(s("Literal"),null),r.null),s("Block").bases("Comment").build("value","leading","trailing"),s("Line").bases("Comment").build("value","leading","trailing")},(0,a.maybeSetModuleExports)((function(){return e}))}(esprima$3,esprima$3.exports)),esprima$3.exports}esprima$3.exports;var hasRequiredBabelCore,hasRequiredBabel,babel$2={exports:{}},babelCore={exports:{}};function requireBabelCore(){return hasRequiredBabelCore||(hasRequiredBabelCore=1,function(e,t){Object.defineProperty(t,"__esModule",{value:!0});var r=require$$0$4,n=r.__importDefault(requireEsProposals()),i=r.__importDefault(requireTypes()),a=r.__importStar(requireShared());t.default=function(e){var t,r,s,o,l;e.use(n.default);var u=e.use(i.default),c=e.use(a.default).defaults,p=u.Type.def,d=u.Type.or,f=u.builtInTypes.undefined;function h(e,t){return void 0===e&&(e=String),["extra",{rawValue:e,raw:String},function(){var e=u.getFieldValue(this,"value");return{rawValue:e,raw:t?t(e):String(e)}}]}p("Noop").bases("Statement").build(),p("DoExpression").bases("Expression").build("body").field("body",[p("Statement")]),p("BindExpression").bases("Expression").build("object","callee").field("object",d(p("Expression"),null)).field("callee",p("Expression")),p("ParenthesizedExpression").bases("Expression").build("expression").field("expression",p("Expression")),p("ExportNamespaceSpecifier").bases("Specifier").build("exported").field("exported",p("Identifier")),p("ExportDefaultSpecifier").bases("Specifier").build("exported").field("exported",p("Identifier")),p("CommentBlock").bases("Comment").build("value","leading","trailing"),p("CommentLine").bases("Comment").build("value","leading","trailing"),p("Directive").bases("Node").build("value").field("value",p("DirectiveLiteral")),p("DirectiveLiteral").bases("Node","Expression").build("value").field("value",String,c["use strict"]),p("InterpreterDirective").bases("Node").build("value").field("value",String),p("BlockStatement").bases("Statement").build("body").field("body",[p("Statement")]).field("directives",[p("Directive")],c.emptyArray),p("Program").bases("Node").build("body").field("body",[p("Statement")]).field("directives",[p("Directive")],c.emptyArray).field("interpreter",d(p("InterpreterDirective"),null),c.null),(t=p("StringLiteral").bases("Literal").build("value").field("value",String)).field.apply(t,h(String,(function(e){return JSON.stringify(e)}))),(r=p("NumericLiteral").bases("Literal").build("value").field("value",Number).field("raw",d(String,null),c.null)).field.apply(r,h(Number)),(s=p("BigIntLiteral").bases("Literal").build("value").field("value",d(String,Number))).field.apply(s,h(String,(function(e){return e+"n"}))),(o=p("DecimalLiteral").bases("Literal").build("value").field("value",String)).field.apply(o,h(String,(function(e){return e+"m"}))),p("NullLiteral").bases("Literal").build().field("value",null,c.null),p("BooleanLiteral").bases("Literal").build("value").field("value",Boolean),(l=p("RegExpLiteral").bases("Literal").build("pattern","flags").field("pattern",String).field("flags",String).field("value",RegExp,(function(){return new RegExp(this.pattern,this.flags)}))).field.apply(l,h(d(RegExp,f),(function(e){return"/".concat(e.pattern,"/").concat(e.flags||"")}))).field("regex",{pattern:String,flags:String},(function(){return{pattern:this.pattern,flags:this.flags}}));var m=d(p("Property"),p("ObjectMethod"),p("ObjectProperty"),p("SpreadProperty"),p("SpreadElement"));p("ObjectExpression").bases("Expression").build("properties").field("properties",[m]),p("ObjectMethod").bases("Node","Function").build("kind","key","params","body","computed").field("kind",d("method","get","set")).field("key",d(p("Literal"),p("Identifier"),p("Expression"))).field("params",[p("Pattern")]).field("body",p("BlockStatement")).field("computed",Boolean,c.false).field("generator",Boolean,c.false).field("async",Boolean,c.false).field("accessibility",d(p("Literal"),null),c.null).field("decorators",d([p("Decorator")],null),c.null),p("ObjectProperty").bases("Node").build("key","value").field("key",d(p("Literal"),p("Identifier"),p("Expression"))).field("value",d(p("Expression"),p("Pattern"))).field("accessibility",d(p("Literal"),null),c.null).field("computed",Boolean,c.false);var y=d(p("MethodDefinition"),p("VariableDeclarator"),p("ClassPropertyDefinition"),p("ClassProperty"),p("ClassPrivateProperty"),p("ClassMethod"),p("ClassPrivateMethod"),p("ClassAccessorProperty"),p("StaticBlock"));p("ClassBody").bases("Declaration").build("body").field("body",[y]),p("ClassMethod").bases("Declaration","Function").build("kind","key","params","body","computed","static").field("key",d(p("Literal"),p("Identifier"),p("Expression"))),p("ClassPrivateMethod").bases("Declaration","Function").build("key","params","body","kind","computed","static").field("key",p("PrivateName")),p("ClassAccessorProperty").bases("Declaration").build("key","value","decorators","computed","static").field("key",d(p("Literal"),p("Identifier"),p("PrivateName"),p("Expression"))).field("value",d(p("Expression"),null),c.null),["ClassMethod","ClassPrivateMethod"].forEach((function(e){p(e).field("kind",d("get","set","method","constructor"),(function(){return"method"})).field("body",p("BlockStatement")).field("access",d("public","private","protected",null),c.null)})),["ClassMethod","ClassPrivateMethod","ClassAccessorProperty"].forEach((function(e){p(e).field("computed",Boolean,c.false).field("static",Boolean,c.false).field("abstract",Boolean,c.false).field("accessibility",d("public","private","protected",null),c.null).field("decorators",d([p("Decorator")],null),c.null).field("definite",Boolean,c.false).field("optional",Boolean,c.false).field("override",Boolean,c.false).field("readonly",Boolean,c.false)}));var g=d(p("Property"),p("PropertyPattern"),p("SpreadPropertyPattern"),p("SpreadProperty"),p("ObjectProperty"),p("RestProperty"),p("RestElement"));p("ObjectPattern").bases("Pattern").build("properties").field("properties",[g]).field("decorators",d([p("Decorator")],null),c.null),p("SpreadProperty").bases("Node").build("argument").field("argument",p("Expression")),p("RestProperty").bases("Node").build("argument").field("argument",p("Expression")),p("ForAwaitStatement").bases("Statement").build("left","right","body").field("left",d(p("VariableDeclaration"),p("Expression"))).field("right",p("Expression")).field("body",p("Statement")),p("Import").bases("Expression").build()},(0,a.maybeSetModuleExports)((function(){return e}))}(babelCore,babelCore.exports)),babelCore.exports}function requireBabel(){return hasRequiredBabel||(hasRequiredBabel=1,function(e,t){Object.defineProperty(t,"__esModule",{value:!0});var r=require$$0$4,n=r.__importDefault(requireTypes()),i=r.__importDefault(requireBabelCore()),a=r.__importDefault(requireFlow()),s=requireShared();t.default=function(e){var t=e.use(n.default).Type.def;e.use(i.default),e.use(a.default),t("V8IntrinsicIdentifier").bases("Expression").build("name").field("name",String),t("TopicReference").bases("Expression").build()},(0,s.maybeSetModuleExports)((function(){return e}))}(babel$2,babel$2.exports)),babel$2.exports}babelCore.exports,babel$2.exports;var hasRequiredTypescript,typescript$2={exports:{}};function requireTypescript(){return hasRequiredTypescript||(hasRequiredTypescript=1,function(e,t){Object.defineProperty(t,"__esModule",{value:!0});var r=require$$0$4,n=r.__importDefault(requireBabelCore()),i=r.__importDefault(requireTypeAnnotations()),a=r.__importDefault(requireTypes()),s=r.__importStar(requireShared());t.default=function(e){e.use(n.default),e.use(i.default);var t=e.use(a.default),r=t.namedTypes,o=t.Type.def,l=t.Type.or,u=e.use(s.default).defaults,c=t.Type.from((function(e,t){return!(!r.StringLiteral||!r.StringLiteral.check(e,t))||!(!r.Literal||!r.Literal.check(e,t)||"string"!=typeof e.value)}),"StringLiteral");o("TSType").bases("Node");var p=l(o("Identifier"),o("TSQualifiedName"));o("TSTypeReference").bases("TSType","TSHasOptionalTypeParameterInstantiation").build("typeName","typeParameters").field("typeName",p),o("TSHasOptionalTypeParameterInstantiation").field("typeParameters",l(o("TSTypeParameterInstantiation"),null),u.null),o("TSHasOptionalTypeParameters").field("typeParameters",l(o("TSTypeParameterDeclaration"),null,void 0),u.null),o("TSHasOptionalTypeAnnotation").field("typeAnnotation",l(o("TSTypeAnnotation"),null),u.null),o("TSQualifiedName").bases("Node").build("left","right").field("left",p).field("right",p),o("TSAsExpression").bases("Expression","Pattern").build("expression","typeAnnotation").field("expression",o("Expression")).field("typeAnnotation",o("TSType")).field("extra",l({parenthesized:Boolean},null),u.null),o("TSTypeCastExpression").bases("Expression").build("expression","typeAnnotation").field("expression",o("Expression")).field("typeAnnotation",o("TSType")),o("TSSatisfiesExpression").bases("Expression","Pattern").build("expression","typeAnnotation").field("expression",o("Expression")).field("typeAnnotation",o("TSType")),o("TSNonNullExpression").bases("Expression","Pattern").build("expression").field("expression",o("Expression")),["TSAnyKeyword","TSBigIntKeyword","TSBooleanKeyword","TSNeverKeyword","TSNullKeyword","TSNumberKeyword","TSObjectKeyword","TSStringKeyword","TSSymbolKeyword","TSUndefinedKeyword","TSUnknownKeyword","TSVoidKeyword","TSIntrinsicKeyword","TSThisType"].forEach((function(e){o(e).bases("TSType").build()})),o("TSArrayType").bases("TSType").build("elementType").field("elementType",o("TSType")),o("TSLiteralType").bases("TSType").build("literal").field("literal",l(o("NumericLiteral"),o("StringLiteral"),o("BooleanLiteral"),o("TemplateLiteral"),o("UnaryExpression"),o("BigIntLiteral"))),o("TemplateLiteral").field("expressions",l([o("Expression")],[o("TSType")])),["TSUnionType","TSIntersectionType"].forEach((function(e){o(e).bases("TSType").build("types").field("types",[o("TSType")])})),o("TSConditionalType").bases("TSType").build("checkType","extendsType","trueType","falseType").field("checkType",o("TSType")).field("extendsType",o("TSType")).field("trueType",o("TSType")).field("falseType",o("TSType")),o("TSInferType").bases("TSType").build("typeParameter").field("typeParameter",o("TSTypeParameter")),o("TSParenthesizedType").bases("TSType").build("typeAnnotation").field("typeAnnotation",o("TSType"));var d=[l(o("Identifier"),o("RestElement"),o("ArrayPattern"),o("ObjectPattern"))];["TSFunctionType","TSConstructorType"].forEach((function(e){o(e).bases("TSType","TSHasOptionalTypeParameters","TSHasOptionalTypeAnnotation").build("parameters").field("parameters",d)})),o("TSDeclareFunction").bases("Declaration","TSHasOptionalTypeParameters").build("id","params","returnType").field("declare",Boolean,u.false).field("async",Boolean,u.false).field("generator",Boolean,u.false).field("id",l(o("Identifier"),null),u.null).field("params",[o("Pattern")]).field("returnType",l(o("TSTypeAnnotation"),o("Noop"),null),u.null),o("TSDeclareMethod").bases("Declaration","TSHasOptionalTypeParameters").build("key","params","returnType").field("async",Boolean,u.false).field("generator",Boolean,u.false).field("params",[o("Pattern")]).field("abstract",Boolean,u.false).field("accessibility",l("public","private","protected",void 0),u[void 0]).field("static",Boolean,u.false).field("computed",Boolean,u.false).field("optional",Boolean,u.false).field("key",l(o("Identifier"),o("StringLiteral"),o("NumericLiteral"),o("Expression"))).field("kind",l("get","set","method","constructor"),(function(){return"method"})).field("access",l("public","private","protected",void 0),u[void 0]).field("decorators",l([o("Decorator")],null),u.null).field("returnType",l(o("TSTypeAnnotation"),o("Noop"),null),u.null),o("TSMappedType").bases("TSType").build("typeParameter","typeAnnotation").field("readonly",l(Boolean,"+","-"),u.false).field("typeParameter",o("TSTypeParameter")).field("optional",l(Boolean,"+","-"),u.false).field("typeAnnotation",l(o("TSType"),null),u.null),o("TSTupleType").bases("TSType").build("elementTypes").field("elementTypes",[l(o("TSType"),o("TSNamedTupleMember"))]),o("TSNamedTupleMember").bases("TSType").build("label","elementType","optional").field("label",o("Identifier")).field("optional",Boolean,u.false).field("elementType",o("TSType")),o("TSRestType").bases("TSType").build("typeAnnotation").field("typeAnnotation",o("TSType")),o("TSOptionalType").bases("TSType").build("typeAnnotation").field("typeAnnotation",o("TSType")),o("TSIndexedAccessType").bases("TSType").build("objectType","indexType").field("objectType",o("TSType")).field("indexType",o("TSType")),o("TSTypeOperator").bases("TSType").build("operator").field("operator",String).field("typeAnnotation",o("TSType")),o("TSTypeAnnotation").bases("Node").build("typeAnnotation").field("typeAnnotation",l(o("TSType"),o("TSTypeAnnotation"))),o("TSIndexSignature").bases("Declaration","TSHasOptionalTypeAnnotation").build("parameters","typeAnnotation").field("parameters",[o("Identifier")]).field("readonly",Boolean,u.false),o("TSPropertySignature").bases("Declaration","TSHasOptionalTypeAnnotation").build("key","typeAnnotation","optional").field("key",o("Expression")).field("computed",Boolean,u.false).field("readonly",Boolean,u.false).field("optional",Boolean,u.false).field("initializer",l(o("Expression"),null),u.null),o("TSMethodSignature").bases("Declaration","TSHasOptionalTypeParameters","TSHasOptionalTypeAnnotation").build("key","parameters","typeAnnotation").field("key",o("Expression")).field("computed",Boolean,u.false).field("optional",Boolean,u.false).field("parameters",d),o("TSTypePredicate").bases("TSTypeAnnotation","TSType").build("parameterName","typeAnnotation","asserts").field("parameterName",l(o("Identifier"),o("TSThisType"))).field("typeAnnotation",l(o("TSTypeAnnotation"),null),u.null).field("asserts",Boolean,u.false),["TSCallSignatureDeclaration","TSConstructSignatureDeclaration"].forEach((function(e){o(e).bases("Declaration","TSHasOptionalTypeParameters","TSHasOptionalTypeAnnotation").build("parameters","typeAnnotation").field("parameters",d)})),o("TSEnumMember").bases("Node").build("id","initializer").field("id",l(o("Identifier"),c)).field("initializer",l(o("Expression"),null),u.null),o("TSTypeQuery").bases("TSType").build("exprName").field("exprName",l(p,o("TSImportType")));var f=l(o("TSCallSignatureDeclaration"),o("TSConstructSignatureDeclaration"),o("TSIndexSignature"),o("TSMethodSignature"),o("TSPropertySignature"));o("TSTypeLiteral").bases("TSType").build("members").field("members",[f]),o("TSTypeParameter").bases("Identifier").build("name","constraint","default").field("name",l(o("Identifier"),String)).field("constraint",l(o("TSType"),void 0),u[void 0]).field("default",l(o("TSType"),void 0),u[void 0]),o("TSTypeAssertion").bases("Expression","Pattern").build("typeAnnotation","expression").field("typeAnnotation",o("TSType")).field("expression",o("Expression")).field("extra",l({parenthesized:Boolean},null),u.null),o("TSTypeParameterDeclaration").bases("Declaration").build("params").field("params",[o("TSTypeParameter")]),o("TSInstantiationExpression").bases("Expression","TSHasOptionalTypeParameterInstantiation").build("expression","typeParameters").field("expression",o("Expression")),o("TSTypeParameterInstantiation").bases("Node").build("params").field("params",[o("TSType")]),o("TSEnumDeclaration").bases("Declaration").build("id","members").field("id",o("Identifier")).field("const",Boolean,u.false).field("declare",Boolean,u.false).field("members",[o("TSEnumMember")]).field("initializer",l(o("Expression"),null),u.null),o("TSTypeAliasDeclaration").bases("Declaration","TSHasOptionalTypeParameters").build("id","typeAnnotation").field("id",o("Identifier")).field("declare",Boolean,u.false).field("typeAnnotation",o("TSType")),o("TSModuleBlock").bases("Node").build("body").field("body",[o("Statement")]),o("TSModuleDeclaration").bases("Declaration").build("id","body").field("id",l(c,p)).field("declare",Boolean,u.false).field("global",Boolean,u.false).field("body",l(o("TSModuleBlock"),o("TSModuleDeclaration"),null),u.null),o("TSImportType").bases("TSType","TSHasOptionalTypeParameterInstantiation").build("argument","qualifier","typeParameters").field("argument",c).field("qualifier",l(p,void 0),u[void 0]),o("TSImportEqualsDeclaration").bases("Declaration").build("id","moduleReference").field("id",o("Identifier")).field("isExport",Boolean,u.false).field("moduleReference",l(p,o("TSExternalModuleReference"))),o("TSExternalModuleReference").bases("Declaration").build("expression").field("expression",c),o("TSExportAssignment").bases("Statement").build("expression").field("expression",o("Expression")),o("TSNamespaceExportDeclaration").bases("Declaration").build("id").field("id",o("Identifier")),o("TSInterfaceBody").bases("Node").build("body").field("body",[f]),o("TSExpressionWithTypeArguments").bases("TSType","TSHasOptionalTypeParameterInstantiation").build("expression","typeParameters").field("expression",p),o("TSInterfaceDeclaration").bases("Declaration","TSHasOptionalTypeParameters").build("id","body").field("id",p).field("declare",Boolean,u.false).field("extends",l([o("TSExpressionWithTypeArguments")],null),u.null).field("body",o("TSInterfaceBody")),o("TSParameterProperty").bases("Pattern").build("parameter").field("accessibility",l("public","private","protected",void 0),u[void 0]).field("readonly",Boolean,u.false).field("parameter",l(o("Identifier"),o("AssignmentPattern"))),o("ClassProperty").field("access",l("public","private","protected",void 0),u[void 0]),o("ClassAccessorProperty").bases("Declaration","TSHasOptionalTypeAnnotation"),o("ClassBody").field("body",[l(o("MethodDefinition"),o("VariableDeclarator"),o("ClassPropertyDefinition"),o("ClassProperty"),o("ClassPrivateProperty"),o("ClassAccessorProperty"),o("ClassMethod"),o("ClassPrivateMethod"),o("StaticBlock"),o("TSDeclareMethod"),f)])},(0,s.maybeSetModuleExports)((function(){return e}))}(typescript$2,typescript$2.exports)),typescript$2.exports}typescript$2.exports;var hasRequiredNamedTypes,hasRequiredMain,namedTypes={};function requireNamedTypes(){return hasRequiredNamedTypes||(hasRequiredNamedTypes=1,e=namedTypes,Object.defineProperty(e,"__esModule",{value:!0}),e.namedTypes=void 0,e.namedTypes||(e.namedTypes={})),namedTypes;var e}function requireMain(){return hasRequiredMain||(hasRequiredMain=1,function(e){Object.defineProperty(e,"__esModule",{value:!0}),e.visit=e.use=e.Type=e.someField=e.PathVisitor=e.Path=e.NodePath=e.namedTypes=e.getSupertypeNames=e.getFieldValue=e.getFieldNames=e.getBuilderName=e.finalize=e.eachField=e.defineMethod=e.builtInTypes=e.builders=e.astNodesAreEquivalent=void 0;var t=require$$0$4,r=t.__importDefault(requireFork()),n=t.__importDefault(requireEsProposals()),i=t.__importDefault(requireJsx()),a=t.__importDefault(requireFlow()),s=t.__importDefault(requireEsprima$1()),o=t.__importDefault(requireBabel()),l=t.__importDefault(requireTypescript()),u=requireNamedTypes();Object.defineProperty(e,"namedTypes",{enumerable:!0,get:function(){return u.namedTypes}});var c=(0,r.default)([n.default,i.default,a.default,s.default,o.default,l.default]),p=c.astNodesAreEquivalent,d=c.builders,f=c.builtInTypes,h=c.defineMethod,m=c.eachField,y=c.finalize,g=c.getBuilderName,v=c.getFieldNames,b=c.getFieldValue,S=c.getSupertypeNames,_=c.namedTypes,T=c.NodePath,E=c.Path,x=c.PathVisitor,P=c.someField,A=c.Type,$=c.use,C=c.visit;e.astNodesAreEquivalent=p,e.builders=d,e.builtInTypes=f,e.defineMethod=h,e.eachField=m,e.finalize=y,e.getBuilderName=g,e.getFieldNames=v,e.getFieldValue=b,e.getSupertypeNames=S,e.NodePath=T,e.Path=E,e.PathVisitor=x,e.someField=P,e.Type=A,e.use=$,e.visit=C,Object.assign(u.namedTypes,_)}(main)),main}var parser$5={};function compare$n(e,t){if(e===t)return 0;for(var r=e.length,n=t.length,i=0,a=Math.min(r,n);i<a;++i)if(e[i]!==t[i]){r=e[i],n=t[i];break}return r<n?-1:n<r?1:0}var _functionsHaveNames,hasOwn=Object.prototype.hasOwnProperty,objectKeys=Object.keys||function(e){var t=[];for(var r in e)hasOwn.call(e,r)&&t.push(r);return t},pSlice=Array.prototype.slice;function functionsHaveNames(){return void 0!==_functionsHaveNames?_functionsHaveNames:_functionsHaveNames="foo"===function(){}.name}function pToString(e){return Object.prototype.toString.call(e)}function isView(e){return!isBuffer$1(e)&&("function"==typeof global$1.ArrayBuffer&&("function"==typeof ArrayBuffer.isView?ArrayBuffer.isView(e):!!e&&(e instanceof DataView||!!(e.buffer&&e.buffer instanceof ArrayBuffer))))}function assert(e,t){e||fail(e,!0,t,"==",ok)}var regex=/\s*function\s+([^\(\s]*)\s*/;function getName(e){if(isFunction$7(e)){if(functionsHaveNames())return e.name;var t=e.toString().match(regex);return t&&t[1]}}function AssertionError(e){this.name="AssertionError",this.actual=e.actual,this.expected=e.expected,this.operator=e.operator,e.message?(this.message=e.message,this.generatedMessage=!1):(this.message=getMessage(this),this.generatedMessage=!0);var t=e.stackStartFunction||fail;if(Error.captureStackTrace)Error.captureStackTrace(this,t);else{var r=new Error;if(r.stack){var n=r.stack,i=getName(t),a=n.indexOf("\n"+i);if(a>=0){var s=n.indexOf("\n",a+1);n=n.substring(s+1)}this.stack=n}}}function truncate(e,t){return"string"==typeof e?e.length<t?e:e.slice(0,t):e}function inspect(e){if(functionsHaveNames()||!isFunction$7(e))return inspect$1(e);var t=getName(e);return"[Function"+(t?": "+t:"")+"]"}function getMessage(e){return truncate(inspect(e.actual),128)+" "+e.operator+" "+truncate(inspect(e.expected),128)}function fail(e,t,r,n,i){throw new AssertionError({message:r,actual:e,expected:t,operator:n,stackStartFunction:i})}function ok(e,t){e||fail(e,!0,t,"==",ok)}function equal(e,t,r){e!=t&&fail(e,t,r,"==",equal)}function notEqual(e,t,r){e==t&&fail(e,t,r,"!=",notEqual)}function deepEqual(e,t,r){_deepEqual(e,t,!1)||fail(e,t,r,"deepEqual",deepEqual)}function deepStrictEqual(e,t,r){_deepEqual(e,t,!0)||fail(e,t,r,"deepStrictEqual",deepStrictEqual)}function _deepEqual(e,t,r,n){if(e===t)return!0;if(isBuffer$1(e)&&isBuffer$1(t))return 0===compare$n(e,t);if(isDate(e)&&isDate(t))return e.getTime()===t.getTime();if(isRegExp$1(e)&&isRegExp$1(t))return e.source===t.source&&e.global===t.global&&e.multiline===t.multiline&&e.lastIndex===t.lastIndex&&e.ignoreCase===t.ignoreCase;if(null!==e&&"object"==typeof e||null!==t&&"object"==typeof t){if(isView(e)&&isView(t)&&pToString(e)===pToString(t)&&!(e instanceof Float32Array||e instanceof Float64Array))return 0===compare$n(new Uint8Array(e.buffer),new Uint8Array(t.buffer));if(isBuffer$1(e)!==isBuffer$1(t))return!1;var i=(n=n||{actual:[],expected:[]}).actual.indexOf(e);return-1!==i&&i===n.expected.indexOf(t)||(n.actual.push(e),n.expected.push(t),objEquiv(e,t,r,n))}return r?e===t:e==t}function isArguments(e){return"[object Arguments]"==Object.prototype.toString.call(e)}function objEquiv(e,t,r,n){if(null==e||null==t)return!1;if(isPrimitive$1(e)||isPrimitive$1(t))return e===t;if(r&&Object.getPrototypeOf(e)!==Object.getPrototypeOf(t))return!1;var i=isArguments(e),a=isArguments(t);if(i&&!a||!i&&a)return!1;if(i)return _deepEqual(e=pSlice.call(e),t=pSlice.call(t),r);var s,o,l=objectKeys(e),u=objectKeys(t);if(l.length!==u.length)return!1;for(l.sort(),u.sort(),o=l.length-1;o>=0;o--)if(l[o]!==u[o])return!1;for(o=l.length-1;o>=0;o--)if(!_deepEqual(e[s=l[o]],t[s],r,n))return!1;return!0}function notDeepEqual(e,t,r){_deepEqual(e,t,!1)&&fail(e,t,r,"notDeepEqual",notDeepEqual)}function notDeepStrictEqual(e,t,r){_deepEqual(e,t,!0)&&fail(e,t,r,"notDeepStrictEqual",notDeepStrictEqual)}function strictEqual(e,t,r){e!==t&&fail(e,t,r,"===",strictEqual)}function notStrictEqual(e,t,r){e===t&&fail(e,t,r,"!==",notStrictEqual)}function expectedException(e,t){if(!e||!t)return!1;if("[object RegExp]"==Object.prototype.toString.call(t))return t.test(e);try{if(e instanceof t)return!0}catch(e){}return!Error.isPrototypeOf(t)&&!0===t.call({},e)}function _tryBlock(e){var t;try{e()}catch(e){t=e}return t}function _throws(e,t,r,n){var i;if("function"!=typeof t)throw new TypeError('"block" argument must be a function');"string"==typeof r&&(n=r,r=null),i=_tryBlock(t),n=(r&&r.name?" ("+r.name+").":".")+(n?" "+n:"."),e&&!i&&fail(i,r,"Missing expected exception"+n);var a="string"==typeof n,s=!e&&i&&!r;if((!e&&isError(i)&&a&&expectedException(i,r)||s)&&fail(i,r,"Got unwanted exception"+n),e&&i&&r&&!expectedException(i,r)||!e&&i)throw i}function throws(e,t,r){_throws(!0,e,t,r)}function doesNotThrow(e,t,r){_throws(!1,e,t,r)}function ifError(e){if(e)throw e}assert.AssertionError=AssertionError,inherits$2(AssertionError,Error),assert.fail=fail,assert.ok=ok,assert.equal=equal,assert.notEqual=notEqual,assert.deepEqual=deepEqual,assert.deepStrictEqual=deepStrictEqual,assert.notDeepEqual=notDeepEqual,assert.notDeepStrictEqual=notDeepStrictEqual,assert.strictEqual=strictEqual,assert.notStrictEqual=notStrictEqual,assert.throws=throws,assert.doesNotThrow=doesNotThrow,assert.ifError=ifError;var hasRequiredBase64,hasRequiredBase64Vlq,_polyfillNode_assert=Object.freeze({__proto__:null,AssertionError:AssertionError,assert:ok,deepEqual:deepEqual,deepStrictEqual:deepStrictEqual,default:assert,doesNotThrow:doesNotThrow,equal:equal,fail:fail,ifError:ifError,notDeepEqual:notDeepEqual,notDeepStrictEqual:notDeepStrictEqual,notEqual:notEqual,notStrictEqual:notStrictEqual,ok:ok,strictEqual:strictEqual,throws:throws}),require$$1$1=getAugmentedNamespace(_polyfillNode_assert),options$3={},util$1={},sourceMap={},sourceMapGenerator={},base64Vlq={},base64={};function requireBase64(){if(hasRequiredBase64)return base64;hasRequiredBase64=1;var e="ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789+/".split("");return base64.encode=function(t){if(0<=t&&t<e.length)return e[t];throw new TypeError("Must be between 0 and 63: "+t)},base64.decode=function(e){return 65<=e&&e<=90?e-65:97<=e&&e<=122?e-97+26:48<=e&&e<=57?e-48+52:43==e?62:47==e?63:-1},base64}function requireBase64Vlq(){if(hasRequiredBase64Vlq)return base64Vlq;hasRequiredBase64Vlq=1;var e=requireBase64();return base64Vlq.encode=function(t){var r,n="",i=function(e){return e<0?1+(-e<<1):0+(e<<1)}(t);do{r=31&i,(i>>>=5)>0&&(r|=32),n+=e.encode(r)}while(i>0);return n},base64Vlq.decode=function(t,r,n){var i,a,s,o,l=t.length,u=0,c=0;do{if(r>=l)throw new Error("Expected more digits in base 64 VLQ value.");if(-1===(a=e.decode(t.charCodeAt(r++))))throw new Error("Invalid base64 digit: "+t.charAt(r-1));i=!!(32&a),u+=(a&=31)<<c,c+=5}while(i);n.value=(o=(s=u)>>1,1==(1&s)?-o:o),n.rest=r},base64Vlq}var hasRequiredUtil$1,util={};function requireUtil$1(){return hasRequiredUtil$1||(hasRequiredUtil$1=1,function(e){e.getArg=function(e,t,r){if(t in e)return e[t];if(3===arguments.length)return r;throw new Error('"'+t+'" is a required argument.')};var t=/^(?:([\w+\-.]+):)?\/\/(?:(\w+:\w+)@)?([\w.-]*)(?::(\d+))?(.*)$/,r=/^data:.+\,.+$/;function n(e){var r=e.match(t);return r?{scheme:r[1],auth:r[2],host:r[3],port:r[4],path:r[5]}:null}function i(e){var t="";return e.scheme&&(t+=e.scheme+":"),t+="//",e.auth&&(t+=e.auth+"@"),e.host&&(t+=e.host),e.port&&(t+=":"+e.port),e.path&&(t+=e.path),t}function a(t){var r=t,a=n(t);if(a){if(!a.path)return t;r=a.path}for(var s,o=e.isAbsolute(r),l=r.split(/\/+/),u=0,c=l.length-1;c>=0;c--)"."===(s=l[c])?l.splice(c,1):".."===s?u++:u>0&&(""===s?(l.splice(c+1,u),u=0):(l.splice(c,2),u--));return""===(r=l.join("/"))&&(r=o?"/":"."),a?(a.path=r,i(a)):r}function s(e,t){""===e&&(e="."),""===t&&(t=".");var s=n(t),o=n(e);if(o&&(e=o.path||"/"),s&&!s.scheme)return o&&(s.scheme=o.scheme),i(s);if(s||t.match(r))return t;if(o&&!o.host&&!o.path)return o.host=t,i(o);var l="/"===t.charAt(0)?t:a(e.replace(/\/+$/,"")+"/"+t);return o?(o.path=l,i(o)):l}e.urlParse=n,e.urlGenerate=i,e.normalize=a,e.join=s,e.isAbsolute=function(e){return"/"===e.charAt(0)||t.test(e)},e.relative=function(e,t){""===e&&(e="."),e=e.replace(/\/$/,"");for(var r=0;0!==t.indexOf(e+"/");){var n=e.lastIndexOf("/");if(n<0)return t;if((e=e.slice(0,n)).match(/^([^\/]+:\/)?\/*$/))return t;++r}return Array(r+1).join("../")+t.substr(e.length+1)};var o=!("__proto__"in Object.create(null));function l(e){return e}function u(e){if(!e)return!1;var t=e.length;if(t<9)return!1;if(95!==e.charCodeAt(t-1)||95!==e.charCodeAt(t-2)||111!==e.charCodeAt(t-3)||116!==e.charCodeAt(t-4)||111!==e.charCodeAt(t-5)||114!==e.charCodeAt(t-6)||112!==e.charCodeAt(t-7)||95!==e.charCodeAt(t-8)||95!==e.charCodeAt(t-9))return!1;for(var r=t-10;r>=0;r--)if(36!==e.charCodeAt(r))return!1;return!0}function c(e,t){return e===t?0:null===e?1:null===t?-1:e>t?1:-1}e.toSetString=o?l:function(e){return u(e)?"$"+e:e},e.fromSetString=o?l:function(e){return u(e)?e.slice(1):e},e.compareByOriginalPositions=function(e,t,r){var n=c(e.source,t.source);return 0!==n||0!==(n=e.originalLine-t.originalLine)||0!==(n=e.originalColumn-t.originalColumn)||r||0!==(n=e.generatedColumn-t.generatedColumn)||0!==(n=e.generatedLine-t.generatedLine)?n:c(e.name,t.name)},e.compareByGeneratedPositionsDeflated=function(e,t,r){var n=e.generatedLine-t.generatedLine;return 0!==n||0!==(n=e.generatedColumn-t.generatedColumn)||r||0!==(n=c(e.source,t.source))||0!==(n=e.originalLine-t.originalLine)||0!==(n=e.originalColumn-t.originalColumn)?n:c(e.name,t.name)},e.compareByGeneratedPositionsInflated=function(e,t){var r=e.generatedLine-t.generatedLine;return 0!==r||0!==(r=e.generatedColumn-t.generatedColumn)||0!==(r=c(e.source,t.source))||0!==(r=e.originalLine-t.originalLine)||0!==(r=e.originalColumn-t.originalColumn)?r:c(e.name,t.name)},e.parseSourceMapInput=function(e){return JSON.parse(e.replace(/^\)]}'[^\n]*\n/,""))},e.computeSourceURL=function(e,t,r){if(t=t||"",e&&("/"!==e[e.length-1]&&"/"!==t[0]&&(e+="/"),t=e+t),r){var o=n(r);if(!o)throw new Error("sourceMapURL could not be parsed");if(o.path){var l=o.path.lastIndexOf("/");l>=0&&(o.path=o.path.substring(0,l+1))}t=s(i(o),t)}return a(t)}}(util)),util}var hasRequiredArraySet,arraySet={};function requireArraySet(){if(hasRequiredArraySet)return arraySet;hasRequiredArraySet=1;var e=requireUtil$1(),t=Object.prototype.hasOwnProperty,r="undefined"!=typeof Map;function n(){this._array=[],this._set=r?new Map:Object.create(null)}return n.fromArray=function(e,t){for(var r=new n,i=0,a=e.length;i<a;i++)r.add(e[i],t);return r},n.prototype.size=function(){return r?this._set.size:Object.getOwnPropertyNames(this._set).length},n.prototype.add=function(n,i){var a=r?n:e.toSetString(n),s=r?this.has(n):t.call(this._set,a),o=this._array.length;s&&!i||this._array.push(n),s||(r?this._set.set(n,o):this._set[a]=o)},n.prototype.has=function(n){if(r)return this._set.has(n);var i=e.toSetString(n);return t.call(this._set,i)},n.prototype.indexOf=function(n){if(r){var i=this._set.get(n);if(i>=0)return i}else{var a=e.toSetString(n);if(t.call(this._set,a))return this._set[a]}throw new Error('"'+n+'" is not in the set.')},n.prototype.at=function(e){if(e>=0&&e<this._array.length)return this._array[e];throw new Error("No element indexed by "+e)},n.prototype.toArray=function(){return this._array.slice()},arraySet.ArraySet=n,arraySet}var hasRequiredMappingList,hasRequiredSourceMapGenerator,mappingList={};function requireMappingList(){if(hasRequiredMappingList)return mappingList;hasRequiredMappingList=1;var e=requireUtil$1();function t(){this._array=[],this._sorted=!0,this._last={generatedLine:-1,generatedColumn:0}}return t.prototype.unsortedForEach=function(e,t){this._array.forEach(e,t)},t.prototype.add=function(t){var r,n,i,a,s,o;r=this._last,n=t,i=r.generatedLine,a=n.generatedLine,s=r.generatedColumn,o=n.generatedColumn,a>i||a==i&&o>=s||e.compareByGeneratedPositionsInflated(r,n)<=0?(this._last=t,this._array.push(t)):(this._sorted=!1,this._array.push(t))},t.prototype.toArray=function(){return this._sorted||(this._array.sort(e.compareByGeneratedPositionsInflated),this._sorted=!0),this._array},mappingList.MappingList=t,mappingList}function requireSourceMapGenerator(){if(hasRequiredSourceMapGenerator)return sourceMapGenerator;hasRequiredSourceMapGenerator=1;var e=requireBase64Vlq(),t=requireUtil$1(),r=requireArraySet().ArraySet,n=requireMappingList().MappingList;function i(e){e||(e={}),this._file=t.getArg(e,"file",null),this._sourceRoot=t.getArg(e,"sourceRoot",null),this._skipValidation=t.getArg(e,"skipValidation",!1),this._sources=new r,this._names=new r,this._mappings=new n,this._sourcesContents=null}return i.prototype._version=3,i.fromSourceMap=function(e){var r=e.sourceRoot,n=new i({file:e.file,sourceRoot:r});return e.eachMapping((function(e){var i={generated:{line:e.generatedLine,column:e.generatedColumn}};null!=e.source&&(i.source=e.source,null!=r&&(i.source=t.relative(r,i.source)),i.original={line:e.originalLine,column:e.originalColumn},null!=e.name&&(i.name=e.name)),n.addMapping(i)})),e.sources.forEach((function(i){var a=i;null!==r&&(a=t.relative(r,i)),n._sources.has(a)||n._sources.add(a);var s=e.sourceContentFor(i);null!=s&&n.setSourceContent(i,s)})),n},i.prototype.addMapping=function(e){var r=t.getArg(e,"generated"),n=t.getArg(e,"original",null),i=t.getArg(e,"source",null),a=t.getArg(e,"name",null);this._skipValidation||this._validateMapping(r,n,i,a),null!=i&&(i=String(i),this._sources.has(i)||this._sources.add(i)),null!=a&&(a=String(a),this._names.has(a)||this._names.add(a)),this._mappings.add({generatedLine:r.line,generatedColumn:r.column,originalLine:null!=n&&n.line,originalColumn:null!=n&&n.column,source:i,name:a})},i.prototype.setSourceContent=function(e,r){var n=e;null!=this._sourceRoot&&(n=t.relative(this._sourceRoot,n)),null!=r?(this._sourcesContents||(this._sourcesContents=Object.create(null)),this._sourcesContents[t.toSetString(n)]=r):this._sourcesContents&&(delete this._sourcesContents[t.toSetString(n)],0===Object.keys(this._sourcesContents).length&&(this._sourcesContents=null))},i.prototype.applySourceMap=function(e,n,i){var a=n;if(null==n){if(null==e.file)throw new Error('SourceMapGenerator.prototype.applySourceMap requires either an explicit source file, or the source map\'s "file" property. Both were omitted.');a=e.file}var s=this._sourceRoot;null!=s&&(a=t.relative(s,a));var o=new r,l=new r;this._mappings.unsortedForEach((function(r){if(r.source===a&&null!=r.originalLine){var n=e.originalPositionFor({line:r.originalLine,column:r.originalColumn});null!=n.source&&(r.source=n.source,null!=i&&(r.source=t.join(i,r.source)),null!=s&&(r.source=t.relative(s,r.source)),r.originalLine=n.line,r.originalColumn=n.column,null!=n.name&&(r.name=n.name))}var u=r.source;null==u||o.has(u)||o.add(u);var c=r.name;null==c||l.has(c)||l.add(c)}),this),this._sources=o,this._names=l,e.sources.forEach((function(r){var n=e.sourceContentFor(r);null!=n&&(null!=i&&(r=t.join(i,r)),null!=s&&(r=t.relative(s,r)),this.setSourceContent(r,n))}),this)},i.prototype._validateMapping=function(e,t,r,n){if(t&&"number"!=typeof t.line&&"number"!=typeof t.column)throw new Error("original.line and original.column are not numbers -- you probably meant to omit the original mapping entirely and only map the generated position. If so, pass null for the original mapping instead of an object with empty or null values.");if((!(e&&"line"in e&&"column"in e&&e.line>0&&e.column>=0)||t||r||n)&&!(e&&"line"in e&&"column"in e&&t&&"line"in t&&"column"in t&&e.line>0&&e.column>=0&&t.line>0&&t.column>=0&&r))throw new Error("Invalid mapping: "+JSON.stringify({generated:e,source:r,original:t,name:n}))},i.prototype._serializeMappings=function(){for(var r,n,i,a,s=0,o=1,l=0,u=0,c=0,p=0,d="",f=this._mappings.toArray(),h=0,m=f.length;h<m;h++){if(r="",(n=f[h]).generatedLine!==o)for(s=0;n.generatedLine!==o;)r+=";",o++;else if(h>0){if(!t.compareByGeneratedPositionsInflated(n,f[h-1]))continue;r+=","}r+=e.encode(n.generatedColumn-s),s=n.generatedColumn,null!=n.source&&(a=this._sources.indexOf(n.source),r+=e.encode(a-p),p=a,r+=e.encode(n.originalLine-1-u),u=n.originalLine-1,r+=e.encode(n.originalColumn-l),l=n.originalColumn,null!=n.name&&(i=this._names.indexOf(n.name),r+=e.encode(i-c),c=i)),d+=r}return d},i.prototype._generateSourcesContent=function(e,r){return e.map((function(e){if(!this._sourcesContents)return null;null!=r&&(e=t.relative(r,e));var n=t.toSetString(e);return Object.prototype.hasOwnProperty.call(this._sourcesContents,n)?this._sourcesContents[n]:null}),this)},i.prototype.toJSON=function(){var e={version:this._version,sources:this._sources.toArray(),names:this._names.toArray(),mappings:this._serializeMappings()};return null!=this._file&&(e.file=this._file),null!=this._sourceRoot&&(e.sourceRoot=this._sourceRoot),this._sourcesContents&&(e.sourcesContent=this._generateSourcesContent(e.sources,e.sourceRoot)),e},i.prototype.toString=function(){return JSON.stringify(this.toJSON())},sourceMapGenerator.SourceMapGenerator=i,sourceMapGenerator}var hasRequiredBinarySearch,sourceMapConsumer={},binarySearch={};function requireBinarySearch(){return hasRequiredBinarySearch||(hasRequiredBinarySearch=1,function(e){function t(r,n,i,a,s,o){var l=Math.floor((n-r)/2)+r,u=s(i,a[l],!0);return 0===u?l:u>0?n-l>1?t(l,n,i,a,s,o):o==e.LEAST_UPPER_BOUND?n<a.length?n:-1:l:l-r>1?t(r,l,i,a,s,o):o==e.LEAST_UPPER_BOUND?l:r<0?-1:r}e.GREATEST_LOWER_BOUND=1,e.LEAST_UPPER_BOUND=2,e.search=function(r,n,i,a){if(0===n.length)return-1;var s=t(-1,n.length,r,n,i,a||e.GREATEST_LOWER_BOUND);if(s<0)return-1;for(;s-1>=0&&0===i(n[s],n[s-1],!0);)--s;return s}}(binarySearch)),binarySearch}var hasRequiredQuickSort,hasRequiredSourceMapConsumer,quickSort={};function requireQuickSort(){if(hasRequiredQuickSort)return quickSort;function e(e,t,r){var n=e[t];e[t]=e[r],e[r]=n}function t(r,n,i,a){if(i<a){var s=i-1;e(r,(c=i,p=a,Math.round(c+Math.random()*(p-c))),a);for(var o=r[a],l=i;l<a;l++)n(r[l],o)<=0&&e(r,s+=1,l);e(r,s+1,l);var u=s+1;t(r,n,i,u-1),t(r,n,u+1,a)}var c,p}return hasRequiredQuickSort=1,quickSort.quickSort=function(e,r){t(e,r,0,e.length-1)},quickSort}function requireSourceMapConsumer(){if(hasRequiredSourceMapConsumer)return sourceMapConsumer;hasRequiredSourceMapConsumer=1;var e=requireUtil$1(),t=requireBinarySearch(),r=requireArraySet().ArraySet,n=requireBase64Vlq(),i=requireQuickSort().quickSort;function a(t,r){var n=t;return"string"==typeof t&&(n=e.parseSourceMapInput(t)),null!=n.sections?new l(n,r):new s(n,r)}function s(t,n){var i=t;"string"==typeof t&&(i=e.parseSourceMapInput(t));var a=e.getArg(i,"version"),s=e.getArg(i,"sources"),o=e.getArg(i,"names",[]),l=e.getArg(i,"sourceRoot",null),u=e.getArg(i,"sourcesContent",null),c=e.getArg(i,"mappings"),p=e.getArg(i,"file",null);if(a!=this._version)throw new Error("Unsupported version: "+a);l&&(l=e.normalize(l)),s=s.map(String).map(e.normalize).map((function(t){return l&&e.isAbsolute(l)&&e.isAbsolute(t)?e.relative(l,t):t})),this._names=r.fromArray(o.map(String),!0),this._sources=r.fromArray(s,!0),this._absoluteSources=this._sources.toArray().map((function(t){return e.computeSourceURL(l,t,n)})),this.sourceRoot=l,this.sourcesContent=u,this._mappings=c,this._sourceMapURL=n,this.file=p}function o(){this.generatedLine=0,this.generatedColumn=0,this.source=null,this.originalLine=null,this.originalColumn=null,this.name=null}function l(t,n){var i=t;"string"==typeof t&&(i=e.parseSourceMapInput(t));var s=e.getArg(i,"version"),o=e.getArg(i,"sections");if(s!=this._version)throw new Error("Unsupported version: "+s);this._sources=new r,this._names=new r;var l={line:-1,column:0};this._sections=o.map((function(t){if(t.url)throw new Error("Support for url field in sections not implemented.");var r=e.getArg(t,"offset"),i=e.getArg(r,"line"),s=e.getArg(r,"column");if(i<l.line||i===l.line&&s<l.column)throw new Error("Section offsets must be ordered and non-overlapping.");return l=r,{generatedOffset:{generatedLine:i+1,generatedColumn:s+1},consumer:new a(e.getArg(t,"map"),n)}}))}return a.fromSourceMap=function(e,t){return s.fromSourceMap(e,t)},a.prototype._version=3,a.prototype.__generatedMappings=null,Object.defineProperty(a.prototype,"_generatedMappings",{configurable:!0,enumerable:!0,get:function(){return this.__generatedMappings||this._parseMappings(this._mappings,this.sourceRoot),this.__generatedMappings}}),a.prototype.__originalMappings=null,Object.defineProperty(a.prototype,"_originalMappings",{configurable:!0,enumerable:!0,get:function(){return this.__originalMappings||this._parseMappings(this._mappings,this.sourceRoot),this.__originalMappings}}),a.prototype._charIsMappingSeparator=function(e,t){var r=e.charAt(t);return";"===r||","===r},a.prototype._parseMappings=function(e,t){throw new Error("Subclasses must implement _parseMappings")},a.GENERATED_ORDER=1,a.ORIGINAL_ORDER=2,a.GREATEST_LOWER_BOUND=1,a.LEAST_UPPER_BOUND=2,a.prototype.eachMapping=function(t,r,n){var i,s=r||null;switch(n||a.GENERATED_ORDER){case a.GENERATED_ORDER:i=this._generatedMappings;break;case a.ORIGINAL_ORDER:i=this._originalMappings;break;default:throw new Error("Unknown order of iteration.")}var o=this.sourceRoot;i.map((function(t){var r=null===t.source?null:this._sources.at(t.source);return{source:r=e.computeSourceURL(o,r,this._sourceMapURL),generatedLine:t.generatedLine,generatedColumn:t.generatedColumn,originalLine:t.originalLine,originalColumn:t.originalColumn,name:null===t.name?null:this._names.at(t.name)}}),this).forEach(t,s)},a.prototype.allGeneratedPositionsFor=function(r){var n=e.getArg(r,"line"),i={source:e.getArg(r,"source"),originalLine:n,originalColumn:e.getArg(r,"column",0)};if(i.source=this._findSourceIndex(i.source),i.source<0)return[];var a=[],s=this._findMapping(i,this._originalMappings,"originalLine","originalColumn",e.compareByOriginalPositions,t.LEAST_UPPER_BOUND);if(s>=0){var o=this._originalMappings[s];if(void 0===r.column)for(var l=o.originalLine;o&&o.originalLine===l;)a.push({line:e.getArg(o,"generatedLine",null),column:e.getArg(o,"generatedColumn",null),lastColumn:e.getArg(o,"lastGeneratedColumn",null)}),o=this._originalMappings[++s];else for(var u=o.originalColumn;o&&o.originalLine===n&&o.originalColumn==u;)a.push({line:e.getArg(o,"generatedLine",null),column:e.getArg(o,"generatedColumn",null),lastColumn:e.getArg(o,"lastGeneratedColumn",null)}),o=this._originalMappings[++s]}return a},sourceMapConsumer.SourceMapConsumer=a,s.prototype=Object.create(a.prototype),s.prototype.consumer=a,s.prototype._findSourceIndex=function(t){var r,n=t;if(null!=this.sourceRoot&&(n=e.relative(this.sourceRoot,n)),this._sources.has(n))return this._sources.indexOf(n);for(r=0;r<this._absoluteSources.length;++r)if(this._absoluteSources[r]==t)return r;return-1},s.fromSourceMap=function(t,n){var a=Object.create(s.prototype),l=a._names=r.fromArray(t._names.toArray(),!0),u=a._sources=r.fromArray(t._sources.toArray(),!0);a.sourceRoot=t._sourceRoot,a.sourcesContent=t._generateSourcesContent(a._sources.toArray(),a.sourceRoot),a.file=t._file,a._sourceMapURL=n,a._absoluteSources=a._sources.toArray().map((function(t){return e.computeSourceURL(a.sourceRoot,t,n)}));for(var c=t._mappings.toArray().slice(),p=a.__generatedMappings=[],d=a.__originalMappings=[],f=0,h=c.length;f<h;f++){var m=c[f],y=new o;y.generatedLine=m.generatedLine,y.generatedColumn=m.generatedColumn,m.source&&(y.source=u.indexOf(m.source),y.originalLine=m.originalLine,y.originalColumn=m.originalColumn,m.name&&(y.name=l.indexOf(m.name)),d.push(y)),p.push(y)}return i(a.__originalMappings,e.compareByOriginalPositions),a},s.prototype._version=3,Object.defineProperty(s.prototype,"sources",{get:function(){return this._absoluteSources.slice()}}),s.prototype._parseMappings=function(t,r){for(var a,s,l,u,c,p=1,d=0,f=0,h=0,m=0,y=0,g=t.length,v=0,b={},S={},_=[],T=[];v<g;)if(";"===t.charAt(v))p++,v++,d=0;else if(","===t.charAt(v))v++;else{for((a=new o).generatedLine=p,u=v;u<g&&!this._charIsMappingSeparator(t,u);u++);if(l=b[s=t.slice(v,u)])v+=s.length;else{for(l=[];v<u;)n.decode(t,v,S),c=S.value,v=S.rest,l.push(c);if(2===l.length)throw new Error("Found a source, but no line and column");if(3===l.length)throw new Error("Found a source and line, but no column");b[s]=l}a.generatedColumn=d+l[0],d=a.generatedColumn,l.length>1&&(a.source=m+l[1],m+=l[1],a.originalLine=f+l[2],f=a.originalLine,a.originalLine+=1,a.originalColumn=h+l[3],h=a.originalColumn,l.length>4&&(a.name=y+l[4],y+=l[4])),T.push(a),"number"==typeof a.originalLine&&_.push(a)}i(T,e.compareByGeneratedPositionsDeflated),this.__generatedMappings=T,i(_,e.compareByOriginalPositions),this.__originalMappings=_},s.prototype._findMapping=function(e,r,n,i,a,s){if(e[n]<=0)throw new TypeError("Line must be greater than or equal to 1, got "+e[n]);if(e[i]<0)throw new TypeError("Column must be greater than or equal to 0, got "+e[i]);return t.search(e,r,a,s)},s.prototype.computeColumnSpans=function(){for(var e=0;e<this._generatedMappings.length;++e){var t=this._generatedMappings[e];if(e+1<this._generatedMappings.length){var r=this._generatedMappings[e+1];if(t.generatedLine===r.generatedLine){t.lastGeneratedColumn=r.generatedColumn-1;continue}}t.lastGeneratedColumn=1/0}},s.prototype.originalPositionFor=function(t){var r={generatedLine:e.getArg(t,"line"),generatedColumn:e.getArg(t,"column")},n=this._findMapping(r,this._generatedMappings,"generatedLine","generatedColumn",e.compareByGeneratedPositionsDeflated,e.getArg(t,"bias",a.GREATEST_LOWER_BOUND));if(n>=0){var i=this._generatedMappings[n];if(i.generatedLine===r.generatedLine){var s=e.getArg(i,"source",null);null!==s&&(s=this._sources.at(s),s=e.computeSourceURL(this.sourceRoot,s,this._sourceMapURL));var o=e.getArg(i,"name",null);return null!==o&&(o=this._names.at(o)),{source:s,line:e.getArg(i,"originalLine",null),column:e.getArg(i,"originalColumn",null),name:o}}}return{source:null,line:null,column:null,name:null}},s.prototype.hasContentsOfAllSources=function(){return!!this.sourcesContent&&(this.sourcesContent.length>=this._sources.size()&&!this.sourcesContent.some((function(e){return null==e})))},s.prototype.sourceContentFor=function(t,r){if(!this.sourcesContent)return null;var n=this._findSourceIndex(t);if(n>=0)return this.sourcesContent[n];var i,a=t;if(null!=this.sourceRoot&&(a=e.relative(this.sourceRoot,a)),null!=this.sourceRoot&&(i=e.urlParse(this.sourceRoot))){var s=a.replace(/^file:\/\//,"");if("file"==i.scheme&&this._sources.has(s))return this.sourcesContent[this._sources.indexOf(s)];if((!i.path||"/"==i.path)&&this._sources.has("/"+a))return this.sourcesContent[this._sources.indexOf("/"+a)]}if(r)return null;throw new Error('"'+a+'" is not in the SourceMap.')},s.prototype.generatedPositionFor=function(t){var r=e.getArg(t,"source");if((r=this._findSourceIndex(r))<0)return{line:null,column:null,lastColumn:null};var n={source:r,originalLine:e.getArg(t,"line"),originalColumn:e.getArg(t,"column")},i=this._findMapping(n,this._originalMappings,"originalLine","originalColumn",e.compareByOriginalPositions,e.getArg(t,"bias",a.GREATEST_LOWER_BOUND));if(i>=0){var s=this._originalMappings[i];if(s.source===n.source)return{line:e.getArg(s,"generatedLine",null),column:e.getArg(s,"generatedColumn",null),lastColumn:e.getArg(s,"lastGeneratedColumn",null)}}return{line:null,column:null,lastColumn:null}},sourceMapConsumer.BasicSourceMapConsumer=s,l.prototype=Object.create(a.prototype),l.prototype.constructor=a,l.prototype._version=3,Object.defineProperty(l.prototype,"sources",{get:function(){for(var e=[],t=0;t<this._sections.length;t++)for(var r=0;r<this._sections[t].consumer.sources.length;r++)e.push(this._sections[t].consumer.sources[r]);return e}}),l.prototype.originalPositionFor=function(r){var n={generatedLine:e.getArg(r,"line"),generatedColumn:e.getArg(r,"column")},i=t.search(n,this._sections,(function(e,t){var r=e.generatedLine-t.generatedOffset.generatedLine;return r||e.generatedColumn-t.generatedOffset.generatedColumn})),a=this._sections[i];return a?a.consumer.originalPositionFor({line:n.generatedLine-(a.generatedOffset.generatedLine-1),column:n.generatedColumn-(a.generatedOffset.generatedLine===n.generatedLine?a.generatedOffset.generatedColumn-1:0),bias:r.bias}):{source:null,line:null,column:null,name:null}},l.prototype.hasContentsOfAllSources=function(){return this._sections.every((function(e){return e.consumer.hasContentsOfAllSources()}))},l.prototype.sourceContentFor=function(e,t){for(var r=0;r<this._sections.length;r++){var n=this._sections[r].consumer.sourceContentFor(e,!0);if(n)return n}if(t)return null;throw new Error('"'+e+'" is not in the SourceMap.')},l.prototype.generatedPositionFor=function(t){for(var r=0;r<this._sections.length;r++){var n=this._sections[r];if(-1!==n.consumer._findSourceIndex(e.getArg(t,"source"))){var i=n.consumer.generatedPositionFor(t);if(i)return{line:i.line+(n.generatedOffset.generatedLine-1),column:i.column+(n.generatedOffset.generatedLine===i.line?n.generatedOffset.generatedColumn-1:0)}}}return{line:null,column:null}},l.prototype._parseMappings=function(t,r){this.__generatedMappings=[],this.__originalMappings=[];for(var n=0;n<this._sections.length;n++)for(var a=this._sections[n],s=a.consumer._generatedMappings,o=0;o<s.length;o++){var l=s[o],u=a.consumer._sources.at(l.source);u=e.computeSourceURL(a.consumer.sourceRoot,u,this._sourceMapURL),this._sources.add(u),u=this._sources.indexOf(u);var c=null;l.name&&(c=a.consumer._names.at(l.name),this._names.add(c),c=this._names.indexOf(c));var p={source:u,generatedLine:l.generatedLine+(a.generatedOffset.generatedLine-1),generatedColumn:l.generatedColumn+(a.generatedOffset.generatedLine===l.generatedLine?a.generatedOffset.generatedColumn-1:0),originalLine:l.originalLine,originalColumn:l.originalColumn,name:c};this.__generatedMappings.push(p),"number"==typeof p.originalLine&&this.__originalMappings.push(p)}i(this.__generatedMappings,e.compareByGeneratedPositionsDeflated),i(this.__originalMappings,e.compareByOriginalPositions)},sourceMapConsumer.IndexedSourceMapConsumer=l,sourceMapConsumer}var hasRequiredSourceNode,hasRequiredSourceMap,hasRequiredUtil,sourceNode={};function requireSourceNode(){if(hasRequiredSourceNode)return sourceNode;hasRequiredSourceNode=1;var e=requireSourceMapGenerator().SourceMapGenerator,t=requireUtil$1(),r=/(\r?\n)/,n="$$$isSourceNode$$$";function i(e,t,r,i,a){this.children=[],this.sourceContents={},this.line=null==e?null:e,this.column=null==t?null:t,this.source=null==r?null:r,this.name=null==a?null:a,this[n]=!0,null!=i&&this.add(i)}return i.fromStringWithSourceMap=function(e,n,a){var s=new i,o=e.split(r),l=0,u=function(){return e()+(e()||"");function e(){return l<o.length?o[l++]:void 0}},c=1,p=0,d=null;return n.eachMapping((function(e){if(null!==d){if(!(c<e.generatedLine)){var t=(r=o[l]||"").substr(0,e.generatedColumn-p);return o[l]=r.substr(e.generatedColumn-p),p=e.generatedColumn,f(d,t),void(d=e)}f(d,u()),c++,p=0}for(;c<e.generatedLine;)s.add(u()),c++;if(p<e.generatedColumn){var r=o[l]||"";s.add(r.substr(0,e.generatedColumn)),o[l]=r.substr(e.generatedColumn),p=e.generatedColumn}d=e}),this),l<o.length&&(d&&f(d,u()),s.add(o.splice(l).join(""))),n.sources.forEach((function(e){var r=n.sourceContentFor(e);null!=r&&(null!=a&&(e=t.join(a,e)),s.setSourceContent(e,r))})),s;function f(e,r){if(null===e||void 0===e.source)s.add(r);else{var n=a?t.join(a,e.source):e.source;s.add(new i(e.originalLine,e.originalColumn,n,r,e.name))}}},i.prototype.add=function(e){if(Array.isArray(e))e.forEach((function(e){this.add(e)}),this);else{if(!e[n]&&"string"!=typeof e)throw new TypeError("Expected a SourceNode, string, or an array of SourceNodes and strings. Got "+e);e&&this.children.push(e)}return this},i.prototype.prepend=function(e){if(Array.isArray(e))for(var t=e.length-1;t>=0;t--)this.prepend(e[t]);else{if(!e[n]&&"string"!=typeof e)throw new TypeError("Expected a SourceNode, string, or an array of SourceNodes and strings. Got "+e);this.children.unshift(e)}return this},i.prototype.walk=function(e){for(var t,r=0,i=this.children.length;r<i;r++)(t=this.children[r])[n]?t.walk(e):""!==t&&e(t,{source:this.source,line:this.line,column:this.column,name:this.name})},i.prototype.join=function(e){var t,r,n=this.children.length;if(n>0){for(t=[],r=0;r<n-1;r++)t.push(this.children[r]),t.push(e);t.push(this.children[r]),this.children=t}return this},i.prototype.replaceRight=function(e,t){var r=this.children[this.children.length-1];return r[n]?r.replaceRight(e,t):"string"==typeof r?this.children[this.children.length-1]=r.replace(e,t):this.children.push("".replace(e,t)),this},i.prototype.setSourceContent=function(e,r){this.sourceContents[t.toSetString(e)]=r},i.prototype.walkSourceContents=function(e){for(var r=0,i=this.children.length;r<i;r++)this.children[r][n]&&this.children[r].walkSourceContents(e);var a=Object.keys(this.sourceContents);for(r=0,i=a.length;r<i;r++)e(t.fromSetString(a[r]),this.sourceContents[a[r]])},i.prototype.toString=function(){var e="";return this.walk((function(t){e+=t})),e},i.prototype.toStringWithSourceMap=function(t){var r={code:"",line:1,column:0},n=new e(t),i=!1,a=null,s=null,o=null,l=null;return this.walk((function(e,t){r.code+=e,null!==t.source&&null!==t.line&&null!==t.column?(a===t.source&&s===t.line&&o===t.column&&l===t.name||n.addMapping({source:t.source,original:{line:t.line,column:t.column},generated:{line:r.line,column:r.column},name:t.name}),a=t.source,s=t.line,o=t.column,l=t.name,i=!0):i&&(n.addMapping({generated:{line:r.line,column:r.column}}),a=null,i=!1);for(var u=0,c=e.length;u<c;u++)10===e.charCodeAt(u)?(r.line++,r.column=0,u+1===c?(a=null,i=!1):i&&n.addMapping({source:t.source,original:{line:t.line,column:t.column},generated:{line:r.line,column:r.column},name:t.name})):r.column++})),this.walkSourceContents((function(e,t){n.setSourceContent(e,t)})),{code:r.code,map:n}},sourceNode.SourceNode=i,sourceNode}function requireSourceMap(){return hasRequiredSourceMap||(hasRequiredSourceMap=1,sourceMap.SourceMapGenerator=requireSourceMapGenerator().SourceMapGenerator,sourceMap.SourceMapConsumer=requireSourceMapConsumer().SourceMapConsumer,sourceMap.SourceNode=requireSourceNode().SourceNode),sourceMap}function requireUtil(){if(hasRequiredUtil)return util$1;hasRequiredUtil=1,Object.defineProperty(util$1,"__esModule",{value:!0}),util$1.isTrailingCommaEnabled=util$1.getParentExportDeclaration=util$1.isExportDeclaration=util$1.fixFaultyLocations=util$1.getTrueLoc=util$1.composeSourceMaps=util$1.copyPos=util$1.comparePos=util$1.getUnionOfKeys=util$1.getOption=util$1.isBrowser=util$1.getLineTerminator=void 0;var e=require$$0$4,t=e.__importDefault(require$$1$1),r=e.__importStar(requireMain()).namedTypes,n=e.__importDefault(requireSourceMap()),i=n.default.SourceMapConsumer,a=n.default.SourceMapGenerator,s=Object.prototype.hasOwnProperty;function o(){return"undefined"!=typeof window&&void 0!==window.document}function l(e,t){return e.line-t.line||e.column-t.column}function u(e){return{line:e.line,column:e.column}}function c(e,t){e&&t&&(l(t.start,e.start)<0&&(e.start=t.start),l(e.end,t.end)<0&&(e.end=t.end))}function p(e){if(e)switch(e.type){case"ExportDeclaration":case"ExportDefaultDeclaration":case"ExportDefaultSpecifier":case"DeclareExportDeclaration":case"ExportNamedDeclaration":case"ExportAllDeclaration":return!0}return!1}return util$1.getLineTerminator=function(){return o()?"\n":require$$4.EOL||"\n"},util$1.isBrowser=o,util$1.getOption=function(e,t,r){return e&&s.call(e,t)?e[t]:r},util$1.getUnionOfKeys=function(){for(var e=[],t=0;t<arguments.length;t++)e[t]=arguments[t];for(var r={},n=e.length,i=0;i<n;++i)for(var a=Object.keys(e[i]),s=a.length,o=0;o<s;++o)r[a[o]]=!0;return r},util$1.comparePos=l,util$1.copyPos=u,util$1.composeSourceMaps=function(e,t){if(!e)return t||null;if(!t)return e;var r=new i(e),n=new i(t),o=new a({file:t.file,sourceRoot:t.sourceRoot}),l={};return n.eachMapping((function(e){var t=r.originalPositionFor({line:e.originalLine,column:e.originalColumn}),n=t.source;if(null!==n){o.addMapping({source:n,original:u(t),generated:{line:e.generatedLine,column:e.generatedColumn},name:e.name});var i=r.sourceContentFor(n);i&&!s.call(l,n)&&(l[n]=i,o.setSourceContent(n,i))}})),o.toJSON()},util$1.getTrueLoc=function(e,t){if(!e.loc)return null;var r={start:e.loc.start,end:e.loc.end};function n(e){c(r,e.loc)}return e.declaration&&e.declaration.decorators&&p(e)&&e.declaration.decorators.forEach(n),l(r.start,r.end)<0&&(r.start=u(r.start),t.skipSpaces(r.start,!1,!0),l(r.start,r.end)<0&&(r.end=u(r.end),t.skipSpaces(r.end,!0,!0))),e.comments&&e.comments.forEach(n),r},util$1.fixFaultyLocations=function(e,n){var i=e.loc;if(i&&(i.start.line<1&&(i.start.line=1),i.end.line<1&&(i.end.line=1)),"File"===e.type&&(i.start=n.firstPos(),i.end=n.lastPos()),function(e,t){if("ForStatement"!==e.type)return;function r(e){for(var r=e&&e.loc,n=r&&r.start,i=r&&u(r.end);n&&i&&l(n,i)<0&&(t.prevPos(i),";"===t.charAt(i));)r.end.line=i.line,r.end.column=i.column}r(e.init),r(e.test),r(e.update)}(e,n),function(e,r){if("TemplateLiteral"!==e.type)return;if(0===e.quasis.length)return;if(e.loc){var n=u(e.loc.start);t.default.strictEqual(r.charAt(n),"`"),t.default.ok(r.nextPos(n));var i=e.quasis[0];l(i.loc.start,n)<0&&(i.loc.start=n);var a=u(e.loc.end);t.default.ok(r.prevPos(a)),t.default.strictEqual(r.charAt(a),"`");var s=e.quasis[e.quasis.length-1];l(a,s.loc.end)<0&&(s.loc.end=a)}e.expressions.forEach((function(n,i){var a=r.skipSpaces(n.loc.start,!0,!1);if(r.prevPos(a)&&"{"===r.charAt(a)&&r.prevPos(a)&&"$"===r.charAt(a)){var s=e.quasis[i];l(a,s.loc.end)<0&&(s.loc.end=a)}var o=r.skipSpaces(n.loc.end,!1,!1);if("}"===r.charAt(o)){t.default.ok(r.nextPos(o));var u=e.quasis[i+1];l(u.loc.start,o)<0&&(u.loc.start=o)}}))}(e,n),i&&e.decorators)e.decorators.forEach((function(e){c(i,e.loc)}));else if(e.declaration&&p(e)){e.declaration.loc=null;var a=e.declaration.decorators;a&&a.forEach((function(e){c(i,e.loc)}))}else if(r.MethodDefinition&&r.MethodDefinition.check(e)||r.Property.check(e)&&(e.method||e.shorthand))e.value.loc=null,r.FunctionExpression.check(e.value)&&(e.value.id=null);else if("ObjectTypeProperty"===e.type){var s=e.loc,o=s&&s.end;o&&(o=u(o),n.prevPos(o)&&","===n.charAt(o)&&(o=n.skipSpaces(o,!0,!0))&&(s.end=o))}},util$1.isExportDeclaration=p,util$1.getParentExportDeclaration=function(e){var t=e.getParentNode();return"declaration"===e.getName()&&p(t)?t:null},util$1.isTrailingCommaEnabled=function(e,t){var r=e.trailingComma;return"object"==typeof r?!!r[t]:!!r},util$1}var hasRequiredEsprima,hasRequiredOptions,esprima$2={};function requireEsprima(){if(hasRequiredEsprima)return esprima$2;hasRequiredEsprima=1,Object.defineProperty(esprima$2,"__esModule",{value:!0}),esprima$2.parse=void 0;var e=requireUtil();return esprima$2.parse=function(t,r){var n=[],i=require("esprima").parse(t,{loc:!0,locations:!0,comment:!0,onComment:n,range:(0,e.getOption)(r,"range",!1),tolerant:(0,e.getOption)(r,"tolerant",!0),tokens:!0,jsx:(0,e.getOption)(r,"jsx",!1),sourceType:(0,e.getOption)(r,"sourceType","module")});return Array.isArray(i.comments)||(i.comments=n),i},esprima$2}function requireOptions(){if(hasRequiredOptions)return options$3;hasRequiredOptions=1,Object.defineProperty(options$3,"__esModule",{value:!0}),options$3.normalize=void 0;var e=requireUtil(),t={parser:requireEsprima(),tabWidth:4,useTabs:!1,reuseWhitespace:!0,lineTerminator:(0,e.getLineTerminator)(),wrapColumn:74,sourceFileName:null,sourceMapName:null,sourceRoot:null,inputSourceMap:null,range:!1,tolerant:!0,quote:null,trailingComma:!1,arrayBracketSpacing:!1,objectCurlySpacing:!0,arrowParensAlways:!1,flowObjectCommas:!0,tokens:!0},r=t.hasOwnProperty;return options$3.normalize=function(e){var n=e||t;function i(e){return r.call(n,e)?n[e]:t[e]}return{tabWidth:+i("tabWidth"),useTabs:!!i("useTabs"),reuseWhitespace:!!i("reuseWhitespace"),lineTerminator:i("lineTerminator"),wrapColumn:Math.max(i("wrapColumn"),0),sourceFileName:i("sourceFileName"),sourceMapName:i("sourceMapName"),sourceRoot:i("sourceRoot"),inputSourceMap:i("inputSourceMap"),parser:i("esprima")||i("parser"),range:i("range"),tolerant:i("tolerant"),quote:i("quote"),trailingComma:i("trailingComma"),arrayBracketSpacing:i("arrayBracketSpacing"),objectCurlySpacing:i("objectCurlySpacing"),arrowParensAlways:i("arrowParensAlways"),flowObjectCommas:i("flowObjectCommas"),tokens:!!i("tokens")}},options$3}var hasRequiredMapping,hasRequiredLines,lines={},mapping={};function requireMapping(){if(hasRequiredMapping)return mapping;hasRequiredMapping=1,Object.defineProperty(mapping,"__esModule",{value:!0});var e=require$$0$4.__importDefault(require$$1$1),t=requireUtil(),r=function(){function r(e,t,r){void 0===r&&(r=t),this.sourceLines=e,this.sourceLoc=t,this.targetLoc=r}return r.prototype.slice=function(n,a,s){void 0===s&&(s=n.lastPos());var o=this.sourceLines,l=this.sourceLoc,u=this.targetLoc;function c(r){var i=l[r],c=u[r],p=a;return"end"===r?p=s:e.default.strictEqual(r,"start"),function(r,n,i,a,s){var o,l,u=(0,t.comparePos)(a,s);if(0===u)return n;if(u<0){o=r.skipSpaces(n)||r.lastPos(),l=i.skipSpaces(a)||i.lastPos();var c=s.line-l.line;for(o.line+=c,l.line+=c,c>0?(o.column=0,l.column=0):e.default.strictEqual(c,0);(0,t.comparePos)(l,s)<0&&i.nextPos(l,!0);)e.default.ok(r.nextPos(o,!0)),e.default.strictEqual(r.charAt(o),i.charAt(l))}else{o=r.skipSpaces(n,!0)||r.firstPos(),l=i.skipSpaces(a,!0)||i.firstPos();c=s.line-l.line;for(o.line+=c,l.line+=c,c<0?(o.column=r.getLineLength(o.line),l.column=i.getLineLength(l.line)):e.default.strictEqual(c,0);(0,t.comparePos)(s,l)<0&&i.prevPos(l,!0);)e.default.ok(r.prevPos(o,!0)),e.default.strictEqual(r.charAt(o),i.charAt(l))}return o}(o,i,n,c,p)}if((0,t.comparePos)(a,u.start)<=0)if((0,t.comparePos)(u.end,s)<=0)u={start:i(u.start,a.line,a.column),end:i(u.end,a.line,a.column)};else{if((0,t.comparePos)(s,u.start)<=0)return null;l={start:l.start,end:c("end")},u={start:i(u.start,a.line,a.column),end:i(s,a.line,a.column)}}else{if((0,t.comparePos)(u.end,a)<=0)return null;(0,t.comparePos)(u.end,s)<=0?(l={start:c("start"),end:l.end},u={start:{line:1,column:0},end:i(u.end,a.line,a.column)}):(l={start:c("start"),end:c("end")},u={start:{line:1,column:0},end:i(s,a.line,a.column)})}return new r(this.sourceLines,l,u)},r.prototype.add=function(e,t){return new r(this.sourceLines,this.sourceLoc,{start:n(this.targetLoc.start,e,t),end:n(this.targetLoc.end,e,t)})},r.prototype.subtract=function(e,t){return new r(this.sourceLines,this.sourceLoc,{start:i(this.targetLoc.start,e,t),end:i(this.targetLoc.end,e,t)})},r.prototype.indent=function(e,t,n){if(void 0===t&&(t=!1),void 0===n&&(n=!1),0===e)return this;var i=this.targetLoc,a=i.start.line,s=i.end.line;if(t&&1===a&&1===s)return this;if(i={start:i.start,end:i.end},!t||a>1){var o=i.start.column+e;i.start={line:a,column:n?Math.max(0,o):o}}if(!t||s>1){var l=i.end.column+e;i.end={line:s,column:n?Math.max(0,l):l}}return new r(this.sourceLines,this.sourceLoc,i)},r}();function n(e,t,r){return{line:e.line+t-1,column:1===e.line?e.column+r:e.column}}function i(e,t,r){return{line:e.line-t+1,column:e.line===t?e.column-r:e.column}}return mapping.default=r,mapping}function requireLines(){if(hasRequiredLines)return lines;hasRequiredLines=1,Object.defineProperty(lines,"__esModule",{value:!0}),lines.concat=lines.fromString=lines.countSpaces=lines.Lines=void 0;var e=require$$0$4,t=e.__importDefault(require$$1$1),r=e.__importDefault(requireSourceMap()),n=requireOptions(),i=requireUtil(),a=e.__importDefault(requireMapping()),s=function(){function s(e,r){void 0===r&&(r=null),this.infos=e,this.mappings=[],this.cachedSourceMap=null,this.cachedTabWidth=void 0,t.default.ok(e.length>0),this.length=e.length,this.name=r||null,this.name&&this.mappings.push(new a.default(this,{start:this.firstPos(),end:this.lastPos()}))}return s.prototype.toString=function(e){return this.sliceString(this.firstPos(),this.lastPos(),e)},s.prototype.getSourceMap=function(e,n){if(!e)return null;var a=this;function s(t){return(t=t||{}).file=e,n&&(t.sourceRoot=n),t}if(a.cachedSourceMap)return s(a.cachedSourceMap.toJSON());var o=new r.default.SourceMapGenerator(s()),u={};return a.mappings.forEach((function(e){for(var r=e.sourceLines.skipSpaces(e.sourceLoc.start)||e.sourceLines.lastPos(),n=a.skipSpaces(e.targetLoc.start)||a.lastPos();(0,i.comparePos)(r,e.sourceLoc.end)<0&&(0,i.comparePos)(n,e.targetLoc.end)<0;){var s=e.sourceLines.charAt(r),c=a.charAt(n);t.default.strictEqual(s,c);var p=e.sourceLines.name;if(o.addMapping({source:p,original:{line:r.line,column:r.column},generated:{line:n.line,column:n.column}}),!l.call(u,p)){var d=e.sourceLines.toString();o.setSourceContent(p,d),u[p]=d}a.nextPos(n,!0),e.sourceLines.nextPos(r,!0)}})),a.cachedSourceMap=o,o.toJSON()},s.prototype.bootstrapCharAt=function(e){t.default.strictEqual(typeof e,"object"),t.default.strictEqual(typeof e.line,"number"),t.default.strictEqual(typeof e.column,"number");var r=e.line,n=e.column,i=this.toString().split(d),a=i[r-1];return void 0===a?"":n===a.length&&r<i.length?"\n":n>=a.length?"":a.charAt(n)},s.prototype.charAt=function(e){t.default.strictEqual(typeof e,"object"),t.default.strictEqual(typeof e.line,"number"),t.default.strictEqual(typeof e.column,"number");var r=e.line,n=e.column,i=this.infos[r-1],a=n;if(void 0===i||a<0)return"";var s=this.getIndentAt(r);return a<s?" ":(a+=i.sliceStart-s)===i.sliceEnd&&r<this.length?"\n":a>=i.sliceEnd?"":i.line.charAt(a)},s.prototype.stripMargin=function(r,n){if(0===r)return this;if(t.default.ok(r>0,"negative margin: "+r),n&&1===this.length)return this;var i=new s(this.infos.map((function(t,i){return t.line&&(i>0||!n)&&(t=e.__assign(e.__assign({},t),{indent:Math.max(0,t.indent-r)})),t})));if(this.mappings.length>0){var a=i.mappings;t.default.strictEqual(a.length,0),this.mappings.forEach((function(e){a.push(e.indent(r,n,!0))}))}return i},s.prototype.indent=function(r){if(0===r)return this;var n=new s(this.infos.map((function(t){return t.line&&!t.locked&&(t=e.__assign(e.__assign({},t),{indent:t.indent+r})),t})));if(this.mappings.length>0){var i=n.mappings;t.default.strictEqual(i.length,0),this.mappings.forEach((function(e){i.push(e.indent(r))}))}return n},s.prototype.indentTail=function(r){if(0===r)return this;if(this.length<2)return this;var n=new s(this.infos.map((function(t,n){return n>0&&t.line&&!t.locked&&(t=e.__assign(e.__assign({},t),{indent:t.indent+r})),t})));if(this.mappings.length>0){var i=n.mappings;t.default.strictEqual(i.length,0),this.mappings.forEach((function(e){i.push(e.indent(r,!0))}))}return n},s.prototype.lockIndentTail=function(){return this.length<2?this:new s(this.infos.map((function(t,r){return e.__assign(e.__assign({},t),{locked:r>0})})))},s.prototype.getIndentAt=function(e){return t.default.ok(e>=1,"no line "+e+" (line numbers start from 1)"),Math.max(this.infos[e-1].indent,0)},s.prototype.guessTabWidth=function(){if("number"==typeof this.cachedTabWidth)return this.cachedTabWidth;for(var e=[],t=0,r=1,n=this.length;r<=n;++r){var i=this.infos[r-1];if(!h(i.line.slice(i.sliceStart,i.sliceEnd))){var a=Math.abs(i.indent-t);e[a]=1+~~e[a],t=i.indent}}for(var s=-1,o=2,u=1;u<e.length;u+=1)l.call(e,u)&&e[u]>s&&(s=e[u],o=u);return this.cachedTabWidth=o},s.prototype.startsWithComment=function(){if(0===this.infos.length)return!1;var e=this.infos[0],t=e.sliceStart,r=e.sliceEnd,n=e.line.slice(t,r).trim();return 0===n.length||"//"===n.slice(0,2)||"/*"===n.slice(0,2)},s.prototype.isOnlyWhitespace=function(){return h(this.toString())},s.prototype.isPrecededOnlyByWhitespace=function(e){var t=this.infos[e.line-1],r=Math.max(t.indent,0),n=e.column-r;if(n<=0)return!0;var i=t.sliceStart,a=Math.min(i+n,t.sliceEnd);return h(t.line.slice(i,a))},s.prototype.getLineLength=function(e){var t=this.infos[e-1];return this.getIndentAt(e)+t.sliceEnd-t.sliceStart},s.prototype.nextPos=function(e,t){void 0===t&&(t=!1);var r=Math.max(e.line,0);return Math.max(e.column,0)<this.getLineLength(r)?(e.column+=1,!t||!!this.skipSpaces(e,!1,!0)):r<this.length&&(e.line+=1,e.column=0,!t||!!this.skipSpaces(e,!1,!0))},s.prototype.prevPos=function(e,t){void 0===t&&(t=!1);var r=e.line,n=e.column;if(n<1){if((r-=1)<1)return!1;n=this.getLineLength(r)}else n=Math.min(n-1,this.getLineLength(r));return e.line=r,e.column=n,!t||!!this.skipSpaces(e,!0,!0)},s.prototype.firstPos=function(){return{line:1,column:0}},s.prototype.lastPos=function(){return{line:this.length,column:this.getLineLength(this.length)}},s.prototype.skipSpaces=function(e,t,r){if(void 0===t&&(t=!1),void 0===r&&(r=!1),e=e?r?e:{line:e.line,column:e.column}:t?this.lastPos():this.firstPos(),t){for(;this.prevPos(e);)if(!h(this.charAt(e))&&this.nextPos(e))return e;return null}for(;h(this.charAt(e));)if(!this.nextPos(e))return null;return e},s.prototype.trimLeft=function(){var e=this.skipSpaces(this.firstPos(),!1,!0);return e?this.slice(e):y},s.prototype.trimRight=function(){var e=this.skipSpaces(this.lastPos(),!0,!0);return e?this.slice(this.firstPos(),e):y},s.prototype.trim=function(){var e=this.skipSpaces(this.firstPos(),!1,!0);if(null===e)return y;var t=this.skipSpaces(this.lastPos(),!0,!0);return null===t?y:this.slice(e,t)},s.prototype.eachPos=function(e,t,r){void 0===t&&(t=this.firstPos()),void 0===r&&(r=!1);var n=this.firstPos();if(t&&(n.line=t.line,n.column=t.column),!r||this.skipSpaces(n,!1,!0))do{e.call(this,n)}while(this.nextPos(n,r))},s.prototype.bootstrapSlice=function(e,t){var r=this.toString().split(d).slice(e.line-1,t.line);return r.length>0&&(r.push(r.pop().slice(0,t.column)),r[0]=r[0].slice(e.column)),f(r.join("\n"))},s.prototype.slice=function(e,r){if(!r){if(!e)return this;r=this.lastPos()}if(!e)throw new Error("cannot slice with end but not start");var n=this.infos.slice(e.line-1,r.line);e.line===r.line?n[0]=m(n[0],e.column,r.column):(t.default.ok(e.line<r.line),n[0]=m(n[0],e.column),n.push(m(n.pop(),0,r.column)));var i=new s(n);if(this.mappings.length>0){var a=i.mappings;t.default.strictEqual(a.length,0),this.mappings.forEach((function(t){var n=t.slice(this,e,r);n&&a.push(n)}),this)}return i},s.prototype.bootstrapSliceString=function(e,t,r){return this.slice(e,t).toString(r)},s.prototype.sliceString=function(e,t,r){void 0===e&&(e=this.firstPos()),void 0===t&&(t=this.lastPos());for(var i=(0,n.normalize)(r),a=i.tabWidth,s=i.useTabs,o=i.reuseWhitespace,l=i.lineTerminator,u=[],p=e.line;p<=t.line;++p){var d=this.infos[p-1];p===e.line?d=p===t.line?m(d,e.column,t.column):m(d,e.column):p===t.line&&(d=m(d,0,t.column));var f=Math.max(d.indent,0),y=d.line.slice(0,d.sliceStart);if(o&&h(y)&&c(y,a)===f)u.push(d.line.slice(0,d.sliceEnd));else{var g=0,v=f;s&&(v-=(g=Math.floor(f/a))*a);var b="";g>0&&(b+=new Array(g+1).join("\t")),v>0&&(b+=new Array(v+1).join(" ")),b+=d.line.slice(d.sliceStart,d.sliceEnd),u.push(b)}}return u.join(l)},s.prototype.isEmpty=function(){return this.length<2&&this.getLineLength(1)<1},s.prototype.join=function(t){var r,n=this,i=[],a=[];function o(t){if(null!==t){if(r){var n=t.infos[0],s=new Array(n.indent+1).join(" "),o=i.length,l=Math.max(r.indent,0)+r.sliceEnd-r.sliceStart;r.line=r.line.slice(0,r.sliceEnd)+s+n.line.slice(n.sliceStart,n.sliceEnd),r.locked=r.locked||n.locked,r.sliceEnd=r.line.length,t.mappings.length>0&&t.mappings.forEach((function(e){a.push(e.add(o,l))}))}else t.mappings.length>0&&a.push.apply(a,t.mappings);t.infos.forEach((function(t,n){(!r||n>0)&&(r=e.__assign({},t),i.push(r))}))}}if(t.map((function(e){var t=f(e);return t.isEmpty()?null:t})).forEach((function(e,t){n.isEmpty()?o(e):function(e,t){t>0&&o(n),o(e)}(e,t)})),i.length<1)return y;var l=new s(i);return l.mappings=a,l},s.prototype.concat=function(){for(var e=[],r=0;r<arguments.length;r++)e[r]=arguments[r];var n=[this];return n.push.apply(n,e),t.default.strictEqual(n.length,e.length+1),y.join(n)},s}();lines.Lines=s;var o={},l=o.hasOwnProperty,u=10;function c(e,r){for(var n=0,i=e.length,a=0;a<i;++a)switch(e.charCodeAt(a)){case 9:t.default.strictEqual(typeof r,"number"),t.default.ok(r>0);var s=Math.ceil(n/r)*r;s===n?n+=r:n=s;break;case 11:case 12:case 13:case 65279:break;default:n+=1}return n}lines.countSpaces=c;var p=/^\s*/,d=/\u000D\u000A|\u000D(?!\u000A)|\u000A|\u2028|\u2029/;function f(e,r){if(e instanceof s)return e;e+="";var i=r&&r.tabWidth,a=e.indexOf("\t")<0,f=!r&&a&&e.length<=u;if(t.default.ok(i||a,"No tab width specified but encountered tabs in string\n"+e),f&&l.call(o,e))return o[e];var h=new s(e.split(d).map((function(e){var t=p.exec(e)[0];return{line:e,indent:c(t,i),locked:!1,sliceStart:t.length,sliceEnd:e.length}})),(0,n.normalize)(r).sourceFileName);return f&&(o[e]=h),h}function h(e){return!/\S/.test(e)}function m(e,r,n){var i=e.sliceStart,a=e.sliceEnd,s=Math.max(e.indent,0),o=s+a-i;return void 0===n&&(n=o),r=Math.max(r,0),n=Math.min(n,o),(n=Math.max(n,r))<s?(s=n,a=i):a-=o-n,o=n,o-=r,r<s?s-=r:(r-=s,s=0,i+=r),t.default.ok(s>=0),t.default.ok(i<=a),t.default.strictEqual(o,s+a-i),e.indent===s&&e.sliceStart===i&&e.sliceEnd===a?e:{line:e.line,indent:s,locked:!1,sliceStart:i,sliceEnd:a}}lines.fromString=f,lines.concat=function(e){return y.join(e)};var y=f("");return lines}var hasRequiredComments,hasRequiredParser,comments$1={};function requireComments(){if(hasRequiredComments)return comments$1;hasRequiredComments=1,Object.defineProperty(comments$1,"__esModule",{value:!0}),comments$1.printComments=comments$1.attach=void 0;var e=require$$0$4,t=e.__importDefault(require$$1$1),r=e.__importStar(requireMain()),n=r.namedTypes,i=r.builtInTypes.array,a=r.builtInTypes.object,s=requireLines(),o=requireUtil(),l=new WeakMap;function u(e,t,s){if(!e)return s;if((0,o.fixFaultyLocations)(e,t),s){if(n.Node.check(e)&&n.SourceLocation.check(e.loc)){for(var c=s.length-1;c>=0;--c){var p=s[c];if(p&&p.loc&&(0,o.comparePos)(p.loc.end,e.loc.start)<=0)break}return s.splice(c+1,0,e),s}}else{var d=l.get(e);if(d)return d}var f;if(i.check(e))f=Object.keys(e);else{if(!a.check(e))return s;f=r.getFieldNames(e)}s||l.set(e,s=[]);c=0;for(var h=f.length;c<h;++c)u(e[f[c]],t,s);return s}function c(e,t,r){for(var n,i,a=u(e,r),s=0,l=a&&a.length;"number"==typeof l&&s<l;){var p=s+l>>1,d=a[p];if((0,o.comparePos)(d.loc.start,t.loc.start)<=0&&(0,o.comparePos)(t.loc.end,d.loc.end)<=0)return void c(t.enclosingNode=d,t,r);if((0,o.comparePos)(d.loc.end,t.loc.start)<=0)n=d,s=p+1;else{if(!((0,o.comparePos)(t.loc.end,d.loc.start)<=0))throw new Error("Comment location overlaps with node location");i=d,l=p}}n&&(t.precedingNode=n),i&&(t.followingNode=i)}function p(e,r){var n=e.length;if(0!==n){for(var i,a=e[0].precedingNode,s=e[0].followingNode,o=s.loc.start,l=n;l>0;--l){i=e[l-1],t.default.strictEqual(i.precedingNode,a),t.default.strictEqual(i.followingNode,s);var u=r.sliceString(i.loc.end,o);if(/\S/.test(u))break;o=i.loc.start}for(;l<=n&&(i=e[l])&&("Line"===i.type||"CommentLine"===i.type)&&i.loc.start.column>s.loc.start.column;)++l;if(l){var c=e[l-1].enclosingNode;"CallExpression"===(null==c?void 0:c.type)&&--l}e.forEach((function(e,t){t<l?h(a,e):f(s,e)})),e.length=0}}function d(e,t){(e.comments||(e.comments=[])).push(t)}function f(e,t){t.leading=!0,t.trailing=!1,d(e,t)}function h(e,t){t.leading=!1,t.trailing=!0,d(e,t)}return comments$1.attach=function(e,r,n){if(i.check(e)){var a=[];e.forEach((function(e){e.loc.lines=n,c(r,e,n);var i=e.precedingNode,s=e.enclosingNode,o=e.followingNode;if(i&&o){var l=a.length;if(l>0){var u=a[l-1];t.default.strictEqual(u.precedingNode===e.precedingNode,u.followingNode===e.followingNode),u.followingNode!==e.followingNode&&p(a,n)}a.push(e)}else if(i)p(a,n),h(i,e);else if(o)p(a,n),f(o,e);else{if(!s)throw new Error("AST contains no nodes at all?");p(a,n),function(e,t){t.leading=!1,t.trailing=!1,d(e,t)}(s,e)}})),p(a,n),e.forEach((function(e){delete e.precedingNode,delete e.enclosingNode,delete e.followingNode}))}},comments$1.printComments=function(e,t){var i=e.getValue(),a=t(e),o=n.Node.check(i)&&r.getFieldValue(i,"comments");if(!o||0===o.length)return a;var l=[],u=[a];return e.each((function(e){var a=e.getValue(),o=r.getFieldValue(a,"leading"),c=r.getFieldValue(a,"trailing");o||c&&!n.Statement.check(i)&&"Block"!==a.type&&"CommentBlock"!==a.type?l.push(function(e,t){var r=e.getValue();n.Comment.assert(r);var i=r.loc,a=i&&i.lines,o=[t(e)];if(r.trailing)o.push("\n");else if(a instanceof s.Lines){var l=a.slice(i.end,a.skipSpaces(i.end)||a.lastPos());1===l.length?o.push(l):o.push(new Array(l.length).join("\n"))}else o.push("\n");return(0,s.concat)(o)}(e,t)):c&&u.push(function(e,t){var r=e.getValue(e);n.Comment.assert(r);var i=r.loc,a=i&&i.lines,o=[];if(a instanceof s.Lines){var l=a.skipSpaces(i.start,!0)||a.firstPos(),u=a.slice(l,i.start);1===u.length?o.push(u):o.push(new Array(u.length).join("\n"))}return o.push(t(e)),(0,s.concat)(o)}(e,t))}),"comments"),l.push.apply(l,u),(0,s.concat)(l)},comments$1}function requireParser(){if(hasRequiredParser)return parser$5;hasRequiredParser=1,Object.defineProperty(parser$5,"__esModule",{value:!0}),parser$5.parse=void 0;var e=require$$0$4,t=e.__importDefault(require$$1$1),r=e.__importStar(requireMain()),n=r.builders,i=r.builtInTypes.object,a=r.builtInTypes.array,s=requireOptions(),o=requireLines(),l=requireComments(),u=e.__importStar(requireUtil());parser$5.parse=function(e,t){t=(0,s.normalize)(t);var r,i,a=(0,o.fromString)(e,t),p=a.toString({tabWidth:t.tabWidth,reuseWhitespace:!1,useTabs:!1}),d=[],f=t.parser.parse(p,{jsx:!0,loc:!0,locations:!0,range:t.range,comment:!0,onComment:d,tolerant:u.getOption(t,"tolerant",!0),ecmaVersion:6,sourceType:u.getOption(t,"sourceType","module")}),h=Array.isArray(f.tokens)?f.tokens:require("esprima").tokenize(p,{loc:!0});delete f.tokens,h.forEach((function(e){"string"!=typeof e.value&&(e.value=a.sliceString(e.loc.start,e.loc.end))})),Array.isArray(f.comments)&&(d=f.comments,delete f.comments),f.loc?u.fixFaultyLocations(f,a):f.loc={start:a.firstPos(),end:a.lastPos()},f.loc.lines=a,f.loc.indent=0,"Program"===f.type?(i=f,(r=n.file(f,t.sourceFileName||null)).loc={start:a.firstPos(),end:a.lastPos(),lines:a,indent:0}):"File"===f.type&&(i=(r=f).program),t.tokens&&(r.tokens=h);var m=u.getTrueLoc({type:i.type,loc:i.loc,body:[],comments:d},a);return i.loc.start=m.start,i.loc.end=m.end,(0,l.attach)(d,i.body.length?r.program:r,a),new c(a,h).copy(r)};var c=function e(r,n){t.default.ok(this instanceof e),this.lines=r,this.tokens=n,this.startTokenIndex=0,this.endTokenIndex=n.length,this.indent=0,this.seen=new Map},p=c.prototype;return p.copy=function(e){if(this.seen.has(e))return this.seen.get(e);if(a.check(e)){var t=new Array(e.length);return this.seen.set(e,t),e.forEach((function(e,r){t[r]=this.copy(e)}),this),t}if(!i.check(e))return e;u.fixFaultyLocations(e,this.lines);var r=Object.create(Object.getPrototypeOf(e),{original:{value:e,configurable:!1,enumerable:!1,writable:!0}});this.seen.set(e,r);var n=e.loc,s=this.indent,o=s,l=this.startTokenIndex,c=this.endTokenIndex;n&&(("Block"===e.type||"Line"===e.type||"CommentBlock"===e.type||"CommentLine"===e.type||this.lines.isPrecededOnlyByWhitespace(n.start))&&(o=this.indent=n.start.column),n.lines=this.lines,n.tokens=this.tokens,n.indent=o,this.findTokenRange(n));for(var p=Object.keys(e),d=p.length,f=0;f<d;++f){var h=p[f];"loc"===h||"tokens"===h&&"File"===e.type?r[h]=e[h]:r[h]=this.copy(e[h])}return this.indent=s,this.startTokenIndex=l,this.endTokenIndex=c,r},p.findTokenRange=function(e){for(;this.startTokenIndex>0;){var t=e.tokens[this.startTokenIndex];if(!(u.comparePos(e.start,t.loc.start)<0))break;--this.startTokenIndex}for(;this.endTokenIndex<e.tokens.length;){t=e.tokens[this.endTokenIndex];if(!(u.comparePos(t.loc.end,e.end)<0))break;++this.endTokenIndex}for(;this.startTokenIndex<this.endTokenIndex;){t=e.tokens[this.startTokenIndex];if(!(u.comparePos(t.loc.start,e.start)<0))break;++this.startTokenIndex}for(e.start.token=this.startTokenIndex;this.endTokenIndex>this.startTokenIndex;){t=e.tokens[this.endTokenIndex-1];if(!(u.comparePos(e.end,t.loc.end)<0))break;--this.endTokenIndex}e.end.token=this.endTokenIndex},parser$5}var hasRequiredFastPath,printer={},fastPath={};function requireFastPath(){if(hasRequiredFastPath)return fastPath;hasRequiredFastPath=1,Object.defineProperty(fastPath,"__esModule",{value:!0});var e=require$$0$4,t=e.__importDefault(require$$1$1),r=e.__importStar(requireMain()),n=e.__importStar(requireUtil()),i=r.namedTypes,a=r.builtInTypes.array,s=r.builtInTypes.number,o={};[["??"],["||"],["&&"],["|"],["^"],["&"],["==","===","!=","!=="],["<",">","<=",">=","in","instanceof"],[">>","<<",">>>"],["+","-"],["*","/","%"],["**"]].forEach((function(e,t){e.forEach((function(e){o[e]=t}))}));var l=function e(r){t.default.ok(this instanceof e),this.stack=[r]},u=l.prototype;function c(e,t){for(var r=e.stack,n=r.length-1;n>=0;n-=2){var a=r[n];if(i.Node.check(a)&&--t<0)return a}return null}function p(e){return i.BinaryExpression.check(e)||i.LogicalExpression.check(e)}function d(e){return!!i.CallExpression.check(e)||(a.check(e)?e.some(d):!!i.Node.check(e)&&r.someField(e,(function(e,t){return d(t)})))}return l.from=function(e){if(e instanceof l)return e.copy();if(e instanceof r.NodePath){for(var t=Object.create(l.prototype),n=[e.value],i=void 0;i=e.parentPath;e=i)n.push(e.name,i.value);return t.stack=n.reverse(),t}return new l(e)},u.copy=function(){var e=Object.create(l.prototype);return e.stack=this.stack.slice(0),e},u.getName=function(){var e=this.stack,t=e.length;return t>1?e[t-2]:null},u.getValue=function(){var e=this.stack;return e[e.length-1]},u.valueIsDuplicate=function(){var e=this.stack,t=e.length-1;return e.lastIndexOf(e[t],t-1)>=0},u.getNode=function(e){return void 0===e&&(e=0),c(this,~~e)},u.getParentNode=function(e){return void 0===e&&(e=0),c(this,1+~~e)},u.getRootValue=function(){var e=this.stack;return e.length%2==0?e[1]:e[0]},u.call=function(e){for(var t=this.stack,r=t.length,n=t[r-1],i=arguments.length,a=1;a<i;++a){var s=arguments[a];n=n[s],t.push(s,n)}var o=e(this);return t.length=r,o},u.each=function(e){for(var t=this.stack,r=t.length,n=t[r-1],i=arguments.length,a=1;a<i;++a){var s=arguments[a];n=n[s],t.push(s,n)}for(a=0;a<n.length;++a)a in n&&(t.push(a,n[a]),e(this),t.length-=2);t.length=r},u.map=function(e){for(var t=this.stack,r=t.length,n=t[r-1],i=arguments.length,a=1;a<i;++a){var s=arguments[a];n=n[s],t.push(s,n)}var o=new Array(n.length);for(a=0;a<n.length;++a)a in n&&(t.push(a,n[a]),o[a]=e(this,a),t.length-=2);return t.length=r,o},u.hasParens=function(){var e=this.getNode(),t=this.getPrevToken(e);if(!t)return!1;var r=this.getNextToken(e);if(!r)return!1;if("("===t.value){if(")"===r.value)return!0;if(!this.canBeFirstInStatement()&&this.firstInStatement()&&!this.needsParens(!0))return!0}return!1},u.getPrevToken=function(e){var t=(e=e||this.getNode())&&e.loc,r=t&&t.tokens;if(r&&t.start.token>0){var i=r[t.start.token-1];if(i){var a=this.getRootValue().loc;if(n.comparePos(a.start,i.loc.start)<=0)return i}}return null},u.getNextToken=function(e){var t=(e=e||this.getNode())&&e.loc,r=t&&t.tokens;if(r&&t.end.token<r.length){var i=r[t.end.token];if(i){var a=this.getRootValue().loc;if(n.comparePos(i.loc.end,a.end)<=0)return i}}return null},u.needsParens=function(e){var r=this.getNode();if("AssignmentExpression"===r.type&&"ObjectPattern"===r.left.type)return!0;var n=this.getParentNode(),a=this.getName();if(this.getValue()!==r)return!1;if(i.Statement.check(r))return!1;if("Identifier"===r.type)return!1;if(n&&"ParenthesizedExpression"===n.type)return!1;if(r.extra&&r.extra.parenthesized)return!0;if(!n)return!1;if("UnaryExpression"===r.type&&"BinaryExpression"===n.type&&"left"===a&&n.left===r&&"**"===n.operator)return!0;switch(r.type){case"UnaryExpression":case"SpreadElement":case"SpreadProperty":return"MemberExpression"===n.type&&"object"===a&&n.object===r;case"BinaryExpression":case"LogicalExpression":switch(n.type){case"CallExpression":return"callee"===a&&n.callee===r;case"UnaryExpression":case"SpreadElement":case"SpreadProperty":return!0;case"MemberExpression":return"object"===a&&n.object===r;case"BinaryExpression":case"LogicalExpression":var l=n.operator,u=o[l],c=r.operator,f=o[c];if(u>f)return!0;if(u===f&&"right"===a)return t.default.strictEqual(n.right,r),!0;break;default:return!1}break;case"SequenceExpression":switch(n.type){case"ReturnStatement":case"ForStatement":return!1;case"ExpressionStatement":return"expression"!==a;default:return!0}case"OptionalIndexedAccessType":return r.optional&&"IndexedAccessType"===n.type;case"IntersectionTypeAnnotation":case"UnionTypeAnnotation":return"NullableTypeAnnotation"===n.type;case"Literal":return"MemberExpression"===n.type&&s.check(r.value)&&"object"===a&&n.object===r;case"NumericLiteral":return"MemberExpression"===n.type&&"object"===a&&n.object===r;case"YieldExpression":case"AwaitExpression":case"AssignmentExpression":case"ConditionalExpression":switch(n.type){case"UnaryExpression":case"SpreadElement":case"SpreadProperty":case"BinaryExpression":case"LogicalExpression":return!0;case"CallExpression":case"NewExpression":return"callee"===a&&n.callee===r;case"ConditionalExpression":return"test"===a&&n.test===r;case"MemberExpression":return"object"===a&&n.object===r;default:return!1}case"ArrowFunctionExpression":return!(!i.CallExpression.check(n)||"callee"!==a||n.callee!==r)||(!(!i.MemberExpression.check(n)||"object"!==a||n.object!==r)||(!(!i.TSAsExpression||!i.TSAsExpression.check(n)||"expression"!==a||n.expression!==r)||p(n)));case"ObjectExpression":if("ArrowFunctionExpression"===n.type&&"body"===a&&n.body===r)return!0;break;case"TSAsExpression":if("ArrowFunctionExpression"===n.type&&"body"===a&&n.body===r&&"ObjectExpression"===r.expression.type)return!0;break;case"CallExpression":if("declaration"===a&&i.ExportDefaultDeclaration.check(n)&&i.FunctionExpression.check(r.callee))return!0}return"NewExpression"===n.type&&"callee"===a&&n.callee===r?d(r):!(!0===e||this.canBeFirstInStatement()||!this.firstInStatement())},u.canBeFirstInStatement=function(){var e=this.getNode();return!i.FunctionExpression.check(e)&&(!i.ObjectExpression.check(e)&&!i.ClassExpression.check(e))},u.firstInStatement=function(){for(var e,r,n,a,s=this.stack,o=s.length-1;o>=0;o-=2)if(i.Node.check(s[o])&&(n=e,a=r,e=s[o-1],r=s[o]),r&&a){if(i.BlockStatement.check(r)&&"body"===e&&0===n)return t.default.strictEqual(r.body[0],a),!0;if(i.ExpressionStatement.check(r)&&"expression"===n)return t.default.strictEqual(r.expression,a),!0;if(i.AssignmentExpression.check(r)&&"left"===n)return t.default.strictEqual(r.left,a),!0;if(i.ArrowFunctionExpression.check(r)&&"body"===n)return t.default.strictEqual(r.body,a),!0;if(i.SequenceExpression.check(r)&&"expressions"===s[o+1]&&0===n)t.default.strictEqual(r.expressions[0],a);else if(i.CallExpression.check(r)&&"callee"===n)t.default.strictEqual(r.callee,a);else if(i.MemberExpression.check(r)&&"object"===n)t.default.strictEqual(r.object,a);else if(i.ConditionalExpression.check(r)&&"test"===n)t.default.strictEqual(r.test,a);else if(p(r)&&"left"===n)t.default.strictEqual(r.left,a);else{if(!i.UnaryExpression.check(r)||r.prefix||"argument"!==n)return!1;t.default.strictEqual(r.argument,a)}}return!0},fastPath.default=l,fastPath}var hasRequiredPatcher,hasRequiredPrinter,patcher={};function requirePatcher(){if(hasRequiredPatcher)return patcher;hasRequiredPatcher=1,Object.defineProperty(patcher,"__esModule",{value:!0}),patcher.getReprinter=patcher.Patcher=void 0;var e=require$$0$4,t=e.__importDefault(require$$1$1),r=e.__importStar(requireLines()),n=e.__importStar(requireMain()),i=n.namedTypes.Printable,a=n.namedTypes.Expression,s=n.namedTypes.ReturnStatement,o=n.namedTypes.SourceLocation,l=requireUtil(),u=e.__importDefault(requireFastPath()),c=n.builtInTypes.object,p=n.builtInTypes.array,d=n.builtInTypes.string,f=/[0-9a-z_$]/i,h=function e(n){t.default.ok(this instanceof e),t.default.ok(n instanceof r.Lines);var i=[];this.replace=function(e,t){d.check(t)&&(t=r.fromString(t)),i.push({lines:t,start:e.start,end:e.end})},this.get=function(e){var a=(e=e||{start:{line:1,column:0},end:{line:n.length,column:n.getLineLength(n.length)}}).start,s=[];function o(e,r){t.default.ok((0,l.comparePos)(e,r)<=0),s.push(n.slice(e,r))}return i.sort((function(e,t){return(0,l.comparePos)(e.start,t.start)})).forEach((function(e){(0,l.comparePos)(a,e.start)>0||(o(a,e.start),s.push(e.lines),a=e.end)})),o(a,e.end),r.concat(s)}};patcher.Patcher=h;var m=h.prototype;function y(e){var t=[];return e.comments&&e.comments.length>0&&e.comments.forEach((function(e){(e.leading||e.trailing)&&t.push(e)})),t}function g(e,t,r){var n=e.getValue();return n===t.getValue()||(p.check(n)?v(e,t,r):!!c.check(n)&&function(e,t,r){var n=e.getValue();if(c.assert(n),null===n.original)return!1;var s=t.getValue();if(!c.check(s))return!1;if(n===s||e.valueIsDuplicate()||t.valueIsDuplicate())return!0;if(i.check(n)){if(!i.check(s))return!1;var o=e.getParentNode(),l=t.getParentNode();if(null!==l&&"FunctionTypeAnnotation"===l.type&&null!==o&&"FunctionTypeAnnotation"===o.type){var u=1!==l.params.length||!!l.params[0].name,p=1!==o.params.length||!!o.params[0].name;if(!u&&p)return!1}if(n.type===s.type){var d=[];if(b(e,t,d))r.push.apply(r,d);else{if(!s.loc)return!1;r.push({oldPath:t.copy(),newPath:e.copy()})}return!0}return!!(a.check(n)&&a.check(s)&&s.loc)&&(r.push({oldPath:t.copy(),newPath:e.copy()}),!0)}return b(e,t,r)}(e,t,r))}function v(e,t,r){var n=e.getValue(),i=t.getValue();if(n===i||e.valueIsDuplicate()||t.valueIsDuplicate())return!0;p.assert(n);var a=n.length;if(!p.check(i)||i.length!==a)return!1;for(var s=0;s<a;++s){e.stack.push(s,n[s]),t.stack.push(s,i[s]);var o=g(e,t,r);if(e.stack.length-=2,t.stack.length-=2,!o)return!1}return!0}function b(e,t,r){var i=e.getValue(),a=t.getValue();if(c.assert(i),c.assert(a),null===i.original)return!1;if(e.needsParens()&&!t.hasParens())return!1;var o=(0,l.getUnionOfKeys)(a,i);"File"!==a.type&&"File"!==i.type||delete o.tokens,delete o.loc;var u=r.length;for(var p in o)if("_"!==p.charAt(0)){e.stack.push(p,n.getFieldValue(i,p)),t.stack.push(p,n.getFieldValue(a,p));var d=g(e,t,r);if(e.stack.length-=2,t.stack.length-=2,!d)return!1}return!(s.check(e.getNode())&&r.length>u)}return m.tryToReprintComments=function(e,r,n){var i=this;if(!e.comments&&!r.comments)return!0;var a=u.default.from(e),s=u.default.from(r);a.stack.push("comments",y(e)),s.stack.push("comments",y(r));var o=[],l=v(a,s,o);return l&&o.length>0&&o.forEach((function(e){var r=e.oldPath.getValue();t.default.ok(r.leading||r.trailing),i.replace(r.loc,n(e.newPath).indentTail(r.loc.indent))})),l},m.deleteComments=function(e){if(e.comments){var t=this;e.comments.forEach((function(r){r.leading?t.replace({start:r.loc.start,end:e.loc.lines.skipSpaces(r.loc.end,!1,!1)},""):r.trailing&&t.replace({start:e.loc.lines.skipSpaces(r.loc.start,!0,!1),end:r.loc.end},"")}))}},patcher.getReprinter=function(e){t.default.ok(e instanceof u.default);var n=e.getValue();if(i.check(n)){var a=n.original,s=a&&a.loc,c=s&&s.lines,p=[];if(c&&function(e,r){var n=e.getValue();i.assert(n);var a=n.original;if(i.assert(a),t.default.deepEqual(r,[]),n.type!==a.type)return!1;var s=new u.default(a),o=b(e,s,r);o||(r.length=0);return o}(e,p))return function(t){var n=new h(c);p.forEach((function(e){var i=e.newPath.getValue(),a=e.oldPath.getValue();o.assert(a.loc,!0);var s=!n.tryToReprintComments(i,a,t);s&&n.deleteComments(a);var u=t(e.newPath,{includeComments:s,avoidRootParens:a.type===i.type&&e.oldPath.hasParens()}).indentTail(a.loc.indent),p=function(e,t,r){var n=(0,l.copyPos)(t.start),i=e.prevPos(n)&&e.charAt(n),a=r.charAt(r.firstPos());return i&&f.test(i)&&a&&f.test(a)}(c,a.loc,u),d=function(e,t,r){var n=e.charAt(t.end),i=r.lastPos(),a=r.prevPos(i)&&r.charAt(i);return a&&f.test(a)&&n&&f.test(n)}(c,a.loc,u);if(p||d){var h=[];p&&h.push(" "),h.push(u),d&&h.push(" "),u=r.concat(h)}n.replace(a.loc,u)}));var i=n.get(s).indentTail(-a.loc.indent);return e.needsParens()?r.concat(["(",i,")"]):i}}},patcher}function requirePrinter(){if(hasRequiredPrinter)return printer;hasRequiredPrinter=1,Object.defineProperty(printer,"__esModule",{value:!0}),printer.Printer=void 0;var e=require$$0$4,t=e.__importDefault(require$$1$1),r=e.__importStar(requireMain()),n=requireComments(),i=e.__importDefault(requireFastPath()),a=requireLines(),s=requireOptions(),o=requirePatcher(),l=e.__importStar(requireUtil()),u=r.namedTypes,c=r.builtInTypes.string,p=r.builtInTypes.object,d=function e(r,n){t.default.ok(this instanceof e),c.assert(r),this.code=r,n&&(p.assert(n),this.map=n)},f=!1;d.prototype.toString=function(){return f||(console.warn("Deprecation warning: recast.print now returns an object with a .code property. You appear to be treating the object as a string, which might still work but is strongly discouraged."),f=!0),this.code};var h=new d("");function m(n,s,o,c){t.default.ok(n instanceof i.default);var p=n.getValue(),d=[],f=function(n,i,s){var o=n.getValue();if(!o)return(0,a.fromString)("");if("string"==typeof o)return(0,a.fromString)(o,i);u.Printable.assert(o);var c=[];switch(o.type){case"File":return n.call(s,"program");case"Program":return o.directives&&n.each((function(e){c.push(s(e),";\n")}),"directives"),o.interpreter&&c.push(n.call(s,"interpreter")),c.push(n.call((function(e){return y(e,i,s)}),"body")),(0,a.concat)(c);case"Noop":case"EmptyStatement":return(0,a.fromString)("");case"ExpressionStatement":return(0,a.concat)([n.call(s,"expression"),";"]);case"ParenthesizedExpression":return(0,a.concat)(["(",n.call(s,"expression"),")"]);case"BinaryExpression":case"LogicalExpression":case"AssignmentExpression":return(0,a.fromString)(" ").join([n.call(s,"left"),o.operator,n.call(s,"right")]);case"AssignmentPattern":return(0,a.concat)([n.call(s,"left")," = ",n.call(s,"right")]);case"MemberExpression":case"OptionalMemberExpression":c.push(n.call(s,"object"));var p=n.call(s,"property"),d=r.getFieldValue(o,"optional");return o.computed?c.push(d?"?.[":"[",p,"]"):c.push(d?"?.":".",p),(0,a.concat)(c);case"ChainExpression":return n.call(s,"expression");case"MetaProperty":return(0,a.concat)([n.call(s,"meta"),".",n.call(s,"property")]);case"BindExpression":return o.object&&c.push(n.call(s,"object")),c.push("::",n.call(s,"callee")),(0,a.concat)(c);case"Path":return(0,a.fromString)(".").join(o.body);case"Identifier":return(0,a.concat)([(0,a.fromString)(o.name,i),o.optional?"?":"",n.call(s,"typeAnnotation")]);case"SpreadElement":case"SpreadElementPattern":case"RestProperty":case"SpreadProperty":case"SpreadPropertyPattern":case"ObjectTypeSpreadProperty":case"RestElement":return(0,a.concat)(["...",n.call(s,"argument"),n.call(s,"typeAnnotation")]);case"FunctionDeclaration":case"FunctionExpression":case"TSDeclareFunction":return o.declare&&c.push("declare "),o.async&&c.push("async "),c.push("function"),o.generator&&c.push("*"),o.id?c.push(" ",n.call(s,"id"),n.call(s,"typeParameters")):o.typeParameters&&c.push(n.call(s,"typeParameters")),c.push("(",S(n,i,s),")",n.call(s,"returnType")),o.body&&c.push(" ",n.call(s,"body")),(0,a.concat)(c);case"ArrowFunctionExpression":return o.async&&c.push("async "),o.typeParameters&&c.push(n.call(s,"typeParameters")),i.arrowParensAlways||1!==o.params.length||o.rest||"Identifier"!==o.params[0].type||o.params[0].typeAnnotation||o.returnType?c.push("(",S(n,i,s),")",n.call(s,"returnType")):c.push(n.call(s,"params",0)),c.push(" => ",n.call(s,"body")),(0,a.concat)(c);case"MethodDefinition":return v(n,i,s);case"YieldExpression":return c.push("yield"),o.delegate&&c.push("*"),o.argument&&c.push(" ",n.call(s,"argument")),(0,a.concat)(c);case"AwaitExpression":return c.push("await"),o.all&&c.push("*"),o.argument&&c.push(" ",n.call(s,"argument")),(0,a.concat)(c);case"ModuleExpression":return(0,a.concat)(["module {\n",n.call(s,"body").indent(i.tabWidth),"\n}"]);case"ModuleDeclaration":return c.push("module",n.call(s,"id")),o.source?(t.default.ok(!o.body),c.push("from",n.call(s,"source"))):c.push(n.call(s,"body")),(0,a.fromString)(" ").join(c);case"ImportSpecifier":return o.importKind&&"value"!==o.importKind&&c.push(o.importKind+" "),o.imported?(c.push(n.call(s,"imported")),o.local&&o.local.name!==o.imported.name&&c.push(" as ",n.call(s,"local"))):o.id&&(c.push(n.call(s,"id")),o.name&&c.push(" as ",n.call(s,"name"))),(0,a.concat)(c);case"ExportSpecifier":return o.exportKind&&"value"!==o.exportKind&&c.push(o.exportKind+" "),o.local?(c.push(n.call(s,"local")),o.exported&&o.exported.name!==o.local.name&&c.push(" as ",n.call(s,"exported"))):o.id&&(c.push(n.call(s,"id")),o.name&&c.push(" as ",n.call(s,"name"))),(0,a.concat)(c);case"ExportBatchSpecifier":return(0,a.fromString)("*");case"ImportNamespaceSpecifier":return c.push("* as "),o.local?c.push(n.call(s,"local")):o.id&&c.push(n.call(s,"id")),(0,a.concat)(c);case"ImportDefaultSpecifier":return o.local?n.call(s,"local"):n.call(s,"id");case"TSExportAssignment":return(0,a.concat)(["export = ",n.call(s,"expression")]);case"ExportDeclaration":case"ExportDefaultDeclaration":case"ExportNamedDeclaration":return T(n,i,s);case"ExportAllDeclaration":return c.push("export *"),o.exported&&c.push(" as ",n.call(s,"exported")),c.push(" from ",n.call(s,"source"),";"),(0,a.concat)(c);case"TSNamespaceExportDeclaration":return c.push("export as namespace ",n.call(s,"id")),N((0,a.concat)(c));case"ExportNamespaceSpecifier":return(0,a.concat)(["* as ",n.call(s,"exported")]);case"ExportDefaultSpecifier":return n.call(s,"exported");case"Import":return(0,a.fromString)("import",i);case"ImportExpression":return(0,a.concat)(["import(",n.call(s,"source"),")"]);case"ImportDeclaration":if(c.push("import "),o.importKind&&"value"!==o.importKind&&c.push(o.importKind+" "),o.specifiers&&o.specifiers.length>0){var f=[],h=[];if(n.each((function(e){var t=e.getValue();"ImportSpecifier"===t.type?h.push(s(e)):"ImportDefaultSpecifier"!==t.type&&"ImportNamespaceSpecifier"!==t.type||f.push(s(e))}),"specifiers"),f.forEach((function(e,t){t>0&&c.push(", "),c.push(e)})),h.length>0)($e=(0,a.fromString)(", ").join(h)).getLineLength(1)>i.wrapColumn&&($e=(0,a.concat)([(0,a.fromString)(",\n").join(h).indent(i.tabWidth),","])),f.length>0&&c.push(", "),$e.length>1?c.push("{\n",$e,"\n}"):i.objectCurlySpacing?c.push("{ ",$e," }"):c.push("{",$e,"}");c.push(" from ")}return c.push(n.call(s,"source"),_(n,i,s),";"),(0,a.concat)(c);case"ImportAttribute":return(0,a.concat)([n.call(s,"key"),": ",n.call(s,"value")]);case"StaticBlock":c.push("static ");case"BlockStatement":var m=n.call((function(e){return y(e,i,s)}),"body");return!m.isEmpty()||o.directives&&0!==o.directives.length?(c.push("{\n"),o.directives&&n.each((function(e){c.push(N(s(e).indent(i.tabWidth)),o.directives.length>1||!m.isEmpty()?"\n":"")}),"directives"),c.push(m.indent(i.tabWidth)),c.push("\n}"),(0,a.concat)(c)):(c.push("{}"),(0,a.concat)(c));case"ReturnStatement":if(c.push("return"),o.argument){var C=n.call(s,"argument");C.startsWithComment()||C.length>1&&u.JSXElement&&u.JSXElement.check(o.argument)?c.push(" (\n",C.indent(i.tabWidth),"\n)"):c.push(" ",C)}return c.push(";"),(0,a.concat)(c);case"CallExpression":case"OptionalCallExpression":return c.push(n.call(s,"callee")),o.typeParameters&&c.push(n.call(s,"typeParameters")),o.typeArguments&&c.push(n.call(s,"typeArguments")),r.getFieldValue(o,"optional")&&c.push("?."),c.push(b(n,i,s)),(0,a.concat)(c);case"RecordExpression":c.push("#");case"ObjectExpression":case"ObjectPattern":case"ObjectTypeAnnotation":var k="ObjectTypeAnnotation"===o.type,O=i.flowObjectCommas?",":k?";":",",L=[],D=!1;k&&(L.push("indexers","callProperties"),null!=o.internalSlots&&L.push("internalSlots")),L.push("properties");var F=0;L.forEach((function(e){F+=o[e].length}));var R=k&&1===F||0===F,M=o.exact?"{|":"{",B=o.exact?"|}":"}";c.push(R?M:M+"\n");var j=c.length-1,q=0;if(L.forEach((function(e){n.each((function(e){var t=s(e);R||(t=t.indent(i.tabWidth));var r=!k&&t.length>1;r&&D&&c.push("\n"),c.push(t),q<F-1?(c.push(O+(r?"\n\n":"\n")),D=!r):(1!==F&&k||!R&&l.isTrailingCommaEnabled(i,"objects")&&"RestElement"!==e.getValue().type)&&c.push(O),q++}),e)})),o.inexact){var U=(0,a.fromString)("...",i);R?(F>0&&c.push(O," "),c.push(U)):c.push("\n",U.indent(i.tabWidth))}return c.push(R?B:"\n"+B),0!==q&&R&&i.objectCurlySpacing&&(c[j]=M+" ",c[c.length-1]=" "+B),o.typeAnnotation&&c.push(n.call(s,"typeAnnotation")),(0,a.concat)(c);case"PropertyPattern":return(0,a.concat)([n.call(s,"key"),": ",n.call(s,"pattern")]);case"ObjectProperty":case"Property":if(o.method||"get"===o.kind||"set"===o.kind)return v(n,i,s);if(o.shorthand&&"AssignmentPattern"===o.value.type)return n.call(s,"value");var V=n.call(s,"key");return o.computed?c.push("[",V,"]"):c.push(V),o.shorthand&&o.key.name===o.value.name||c.push(": ",n.call(s,"value")),(0,a.concat)(c);case"ClassMethod":case"ObjectMethod":case"ClassPrivateMethod":case"TSDeclareMethod":return v(n,i,s);case"PrivateName":return(0,a.concat)(["#",n.call(s,"id")]);case"Decorator":return(0,a.concat)(["@",n.call(s,"expression")]);case"TupleExpression":c.push("#");case"ArrayExpression":case"ArrayPattern":var W=o.elements.length,K=n.map(s,"elements"),J=(0,a.fromString)(", ").join(K).getLineLength(1)<=i.wrapColumn;return J?i.arrayBracketSpacing?c.push("[ "):c.push("["):c.push("[\n"),n.each((function(e){var t=e.getName();if(e.getValue()){var r=K[t];J?t>0&&c.push(" "):r=r.indent(i.tabWidth),c.push(r),(t<W-1||!J&&l.isTrailingCommaEnabled(i,"arrays"))&&c.push(","),J||c.push("\n")}else c.push(",")}),"elements"),J&&i.arrayBracketSpacing?c.push(" ]"):c.push("]"),o.typeAnnotation&&c.push(n.call(s,"typeAnnotation")),(0,a.concat)(c);case"SequenceExpression":return(0,a.fromString)(", ").join(n.map(s,"expressions"));case"ThisExpression":return(0,a.fromString)("this");case"Super":return(0,a.fromString)("super");case"NullLiteral":return(0,a.fromString)("null");case"RegExpLiteral":return(0,a.fromString)(w(o)||"/".concat(o.pattern,"/").concat(o.flags||""),i);case"BigIntLiteral":return(0,a.fromString)(w(o)||o.value+"n",i);case"NumericLiteral":return(0,a.fromString)(w(o)||o.value,i);case"DecimalLiteral":return(0,a.fromString)(w(o)||o.value+"m",i);case"StringLiteral":return(0,a.fromString)(I(o.value,i));case"BooleanLiteral":case"Literal":return(0,a.fromString)(w(o)||("string"==typeof o.value?I(o.value,i):o.value),i);case"Directive":return n.call(s,"value");case"DirectiveLiteral":return(0,a.fromString)(w(o)||I(o.value,i),i);case"InterpreterDirective":return(0,a.fromString)("#!".concat(o.value,"\n"),i);case"ModuleSpecifier":if(o.local)throw new Error("The ESTree ModuleSpecifier type should be abstract");return(0,a.fromString)(I(o.value,i),i);case"UnaryExpression":c.push(o.operator);var X=(_e="LogicalExpression"===n.getValue().argument.type)?"(":"",Y=_e?")":"";return/[a-z]$/.test(o.operator)&&c.push(" "),c.push(X,n.call(s,"argument"),Y),(0,a.concat)(c);case"UpdateExpression":return c.push(n.call(s,"argument"),o.operator),o.prefix&&c.reverse(),(0,a.concat)(c);case"ConditionalExpression":return(0,a.concat)([n.call(s,"test")," ? ",n.call(s,"consequent")," : ",n.call(s,"alternate")]);case"NewExpression":return c.push("new ",n.call(s,"callee")),o.typeParameters&&c.push(n.call(s,"typeParameters")),o.typeArguments&&c.push(n.call(s,"typeArguments")),o.arguments&&c.push(b(n,i,s)),(0,a.concat)(c);case"VariableDeclaration":o.declare&&c.push("declare "),c.push(o.kind," ");var G=0,z=n.map((function(e){var t=s(e);return G=Math.max(t.length,G),t}),"declarations");1===G?c.push((0,a.fromString)(", ").join(z)):z.length>1?c.push((0,a.fromString)(",\n").join(z).indentTail(o.kind.length+1)):c.push(z[0]);var H=n.getParentNode();return u.ForStatement.check(H)||u.ForInStatement.check(H)||u.ForOfStatement&&u.ForOfStatement.check(H)||u.ForAwaitStatement&&u.ForAwaitStatement.check(H)||c.push(";"),(0,a.concat)(c);case"VariableDeclarator":return o.init?(0,a.fromString)(" = ").join([n.call(s,"id"),n.call(s,"init")]):n.call(s,"id");case"WithStatement":return(0,a.concat)(["with (",n.call(s,"object"),") ",n.call(s,"body")]);case"IfStatement":var Q=P(n.call(s,"consequent"),i);return c.push("if (",n.call(s,"test"),")",Q),o.alternate&&c.push($(Q)?" else":"\nelse",P(n.call(s,"alternate"),i)),(0,a.concat)(c);case"ForStatement":var Z=n.call(s,"init"),ee=Z.length>1?";\n":"; ",te="for (",re=(0,a.fromString)(ee).join([Z,n.call(s,"test"),n.call(s,"update")]).indentTail(te.length),ne=(0,a.concat)([te,re,")"]),ie=P(n.call(s,"body"),i);return c.push(ne),ne.length>1&&(c.push("\n"),ie=ie.trimLeft()),c.push(ie),(0,a.concat)(c);case"WhileStatement":return(0,a.concat)(["while (",n.call(s,"test"),")",P(n.call(s,"body"),i)]);case"ForInStatement":return(0,a.concat)([o.each?"for each (":"for (",n.call(s,"left")," in ",n.call(s,"right"),")",P(n.call(s,"body"),i)]);case"ForOfStatement":case"ForAwaitStatement":return c.push("for "),(o.await||"ForAwaitStatement"===o.type)&&c.push("await "),c.push("(",n.call(s,"left")," of ",n.call(s,"right"),")",P(n.call(s,"body"),i)),(0,a.concat)(c);case"DoWhileStatement":var ae=(0,a.concat)(["do",P(n.call(s,"body"),i)]);return c.push(ae),$(ae)?c.push(" while"):c.push("\nwhile"),c.push(" (",n.call(s,"test"),");"),(0,a.concat)(c);case"DoExpression":var se=n.call((function(e){return y(e,i,s)}),"body");return(0,a.concat)(["do {\n",se.indent(i.tabWidth),"\n}"]);case"BreakStatement":return c.push("break"),o.label&&c.push(" ",n.call(s,"label")),c.push(";"),(0,a.concat)(c);case"ContinueStatement":return c.push("continue"),o.label&&c.push(" ",n.call(s,"label")),c.push(";"),(0,a.concat)(c);case"LabeledStatement":return(0,a.concat)([n.call(s,"label"),":\n",n.call(s,"body")]);case"TryStatement":return c.push("try ",n.call(s,"block")),o.handler?c.push(" ",n.call(s,"handler")):o.handlers&&n.each((function(e){c.push(" ",s(e))}),"handlers"),o.finalizer&&c.push(" finally ",n.call(s,"finalizer")),(0,a.concat)(c);case"CatchClause":return c.push("catch "),o.param&&c.push("(",n.call(s,"param")),o.guard&&c.push(" if ",n.call(s,"guard")),o.param&&c.push(") "),c.push(n.call(s,"body")),(0,a.concat)(c);case"ThrowStatement":return(0,a.concat)(["throw ",n.call(s,"argument"),";"]);case"SwitchStatement":return(0,a.concat)(["switch (",n.call(s,"discriminant"),") {\n",(0,a.fromString)("\n").join(n.map(s,"cases")),"\n}"]);case"SwitchCase":return o.test?c.push("case ",n.call(s,"test"),":"):c.push("default:"),o.consequent.length>0&&c.push("\n",n.call((function(e){return y(e,i,s)}),"consequent").indent(i.tabWidth)),(0,a.concat)(c);case"DebuggerStatement":return(0,a.fromString)("debugger;");case"JSXAttribute":return c.push(n.call(s,"name")),o.value&&c.push("=",n.call(s,"value")),(0,a.concat)(c);case"JSXIdentifier":return(0,a.fromString)(o.name,i);case"JSXNamespacedName":return(0,a.fromString)(":").join([n.call(s,"namespace"),n.call(s,"name")]);case"JSXMemberExpression":return(0,a.fromString)(".").join([n.call(s,"object"),n.call(s,"property")]);case"JSXSpreadAttribute":return(0,a.concat)(["{...",n.call(s,"argument"),"}"]);case"JSXSpreadChild":return(0,a.concat)(["{...",n.call(s,"expression"),"}"]);case"JSXExpressionContainer":return(0,a.concat)(["{",n.call(s,"expression"),"}"]);case"JSXElement":case"JSXFragment":var oe="opening"+("JSXElement"===o.type?"Element":"Fragment"),le="closing"+("JSXElement"===o.type?"Element":"Fragment"),ue=n.call(s,oe);if(o[oe].selfClosing)return t.default.ok(!o[le],"unexpected "+le+" element in self-closing "+o.type),ue;var ce=(0,a.concat)(n.map((function(e){var t=e.getValue();if(u.Literal.check(t)&&"string"==typeof t.value){if(/\S/.test(t.value))return t.value.replace(/^\s+/g,"");if(/\n/.test(t.value))return"\n"}return s(e)}),"children")).indentTail(i.tabWidth),pe=n.call(s,le);return(0,a.concat)([ue,ce,pe]);case"JSXOpeningElement":c.push("<",n.call(s,"name"));var de=[];n.each((function(e){de.push(" ",s(e))}),"attributes");var fe=(0,a.concat)(de);return(fe.length>1||fe.getLineLength(1)>i.wrapColumn)&&(de.forEach((function(e,r){" "===e&&(t.default.strictEqual(r%2,0),de[r]="\n")})),fe=(0,a.concat)(de).indentTail(i.tabWidth)),c.push(fe,o.selfClosing?" />":">"),(0,a.concat)(c);case"JSXClosingElement":return(0,a.concat)(["</",n.call(s,"name"),">"]);case"JSXOpeningFragment":return(0,a.fromString)("<>");case"JSXClosingFragment":return(0,a.fromString)("</>");case"JSXText":return(0,a.fromString)(o.value,i);case"JSXEmptyExpression":return(0,a.fromString)("");case"TypeAnnotatedIdentifier":return(0,a.concat)([n.call(s,"annotation")," ",n.call(s,"identifier")]);case"ClassBody":return 0===o.body.length?(0,a.fromString)("{}"):(0,a.concat)(["{\n",n.call((function(e){return y(e,i,s)}),"body").indent(i.tabWidth),"\n}"]);case"ClassPropertyDefinition":return c.push("static ",n.call(s,"definition")),u.MethodDefinition.check(o.definition)||c.push(";"),(0,a.concat)(c);case"ClassProperty":o.declare&&c.push("declare ");var he=o.accessibility||o.access;"string"==typeof he&&c.push(he," "),o.static&&c.push("static "),o.abstract&&c.push("abstract "),o.readonly&&c.push("readonly ");V=n.call(s,"key");return o.computed&&(V=(0,a.concat)(["[",V,"]"])),o.variance&&(V=(0,a.concat)([x(n,s),V])),c.push(V),o.optional&&c.push("?"),o.definite&&c.push("!"),o.typeAnnotation&&c.push(n.call(s,"typeAnnotation")),o.value&&c.push(" = ",n.call(s,"value")),c.push(";"),(0,a.concat)(c);case"ClassPrivateProperty":return o.static&&c.push("static "),c.push(n.call(s,"key")),o.typeAnnotation&&c.push(n.call(s,"typeAnnotation")),o.value&&c.push(" = ",n.call(s,"value")),c.push(";"),(0,a.concat)(c);case"ClassAccessorProperty":return c.push.apply(c,e.__spreadArray(e.__spreadArray([],g(o),!1),["accessor "],!1)),o.computed?c.push("[",n.call(s,"key"),"]"):c.push(n.call(s,"key")),o.optional&&c.push("?"),o.definite&&c.push("!"),o.typeAnnotation&&c.push(n.call(s,"typeAnnotation")),o.value&&c.push(" = ",n.call(s,"value")),c.push(";"),(0,a.concat)(c);case"ClassDeclaration":case"ClassExpression":case"DeclareClass":return o.declare&&c.push("declare "),o.abstract&&c.push("abstract "),c.push("class"),o.id&&c.push(" ",n.call(s,"id")),o.typeParameters&&c.push(n.call(s,"typeParameters")),o.superClass&&c.push(" extends ",n.call(s,"superClass"),n.call(s,"superTypeParameters")),o.extends&&o.extends.length>0&&c.push(" extends ",(0,a.fromString)(", ").join(n.map(s,"extends"))),o.implements&&o.implements.length>0&&c.push(" implements ",(0,a.fromString)(", ").join(n.map(s,"implements"))),c.push(" ",n.call(s,"body")),"DeclareClass"===o.type?E(n,c):(0,a.concat)(c);case"TemplateElement":return(0,a.fromString)(o.value.raw,i).lockIndentTail();case"TemplateLiteral":var me=n.map(s,"expressions");return c.push("`"),n.each((function(e){var t=e.getName();c.push(s(e)),t<me.length&&c.push("${",me[t],"}")}),"quasis"),c.push("`"),(0,a.concat)(c).lockIndentTail();case"TaggedTemplateExpression":return(0,a.concat)([n.call(s,"tag"),n.call(s,"quasi")]);case"Node":case"Printable":case"SourceLocation":case"Position":case"Statement":case"Function":case"Pattern":case"Expression":case"Declaration":case"Specifier":case"NamedSpecifier":case"Comment":case"Flow":case"FlowType":case"FlowPredicate":case"MemberTypeAnnotation":case"Type":case"TSHasOptionalTypeParameterInstantiation":case"TSHasOptionalTypeParameters":case"TSHasOptionalTypeAnnotation":case"ChainElement":throw new Error("unprintable type: "+JSON.stringify(o.type));case"CommentBlock":case"Block":return(0,a.concat)(["/*",(0,a.fromString)(o.value,i),"*/"]);case"CommentLine":case"Line":return(0,a.concat)(["//",(0,a.fromString)(o.value,i)]);case"TypeAnnotation":return o.typeAnnotation?("FunctionTypeAnnotation"!==o.typeAnnotation.type&&c.push(": "),c.push(n.call(s,"typeAnnotation")),(0,a.concat)(c)):(0,a.fromString)("");case"ExistentialTypeParam":case"ExistsTypeAnnotation":return(0,a.fromString)("*",i);case"EmptyTypeAnnotation":return(0,a.fromString)("empty",i);case"AnyTypeAnnotation":return(0,a.fromString)("any",i);case"MixedTypeAnnotation":return(0,a.fromString)("mixed",i);case"ArrayTypeAnnotation":return(0,a.concat)([n.call(s,"elementType"),"[]"]);case"TupleTypeAnnotation":var ye=n.map(s,"types"),ge=(0,a.fromString)(", ").join(ye).getLineLength(1)<=i.wrapColumn;return ge?i.arrayBracketSpacing?c.push("[ "):c.push("["):c.push("[\n"),n.each((function(e){var t=e.getName();if(e.getValue()){var r=ye[t];ge?t>0&&c.push(" "):r=r.indent(i.tabWidth),c.push(r),(t<o.types.length-1||!ge&&l.isTrailingCommaEnabled(i,"arrays"))&&c.push(","),ge||c.push("\n")}else c.push(",")}),"types"),ge&&i.arrayBracketSpacing?c.push(" ]"):c.push("]"),(0,a.concat)(c);case"BooleanTypeAnnotation":return(0,a.fromString)("boolean",i);case"BooleanLiteralTypeAnnotation":return t.default.strictEqual(typeof o.value,"boolean"),(0,a.fromString)(""+o.value,i);case"InterfaceTypeAnnotation":return c.push("interface"),o.extends&&o.extends.length>0&&c.push(" extends ",(0,a.fromString)(", ").join(n.map(s,"extends"))),c.push(" ",n.call(s,"body")),(0,a.concat)(c);case"DeclareFunction":return E(n,["function ",n.call(s,"id"),";"]);case"DeclareModule":return E(n,["module ",n.call(s,"id")," ",n.call(s,"body")]);case"DeclareModuleExports":return E(n,["module.exports",n.call(s,"typeAnnotation")]);case"DeclareVariable":return E(n,["var ",n.call(s,"id"),";"]);case"DeclareExportDeclaration":case"DeclareExportAllDeclaration":return(0,a.concat)(["declare ",T(n,i,s)]);case"EnumDeclaration":return(0,a.concat)(["enum ",n.call(s,"id"),n.call(s,"body")]);case"EnumBooleanBody":case"EnumNumberBody":case"EnumStringBody":case"EnumSymbolBody":return("EnumSymbolBody"===o.type||o.explicitType)&&c.push(" of ",o.type.slice(4,-4).toLowerCase()),c.push(" {\n",(0,a.fromString)("\n").join(n.map(s,"members")).indent(i.tabWidth),"\n}"),(0,a.concat)(c);case"EnumDefaultedMember":return(0,a.concat)([n.call(s,"id"),","]);case"EnumBooleanMember":case"EnumNumberMember":case"EnumStringMember":return(0,a.concat)([n.call(s,"id")," = ",n.call(s,"init"),","]);case"InferredPredicate":return(0,a.fromString)("%checks",i);case"DeclaredPredicate":return(0,a.concat)(["%checks(",n.call(s,"value"),")"]);case"FunctionTypeAnnotation":var ve=n.getParentNode(0),be=!(u.ObjectTypeCallProperty.check(ve)||u.ObjectTypeInternalSlot.check(ve)&&ve.method||u.DeclareFunction.check(n.getParentNode(2)));be&&!u.FunctionTypeParam.check(ve)&&!u.TypeAlias.check(ve)&&c.push(": ");var Se=!!o.typeParameters,_e=Se||1!==o.params.length||o.params[0].name;return c.push(Se?n.call(s,"typeParameters"):"",_e?"(":"",S(n,i,s),_e?")":""),o.returnType&&c.push(be?" => ":": ",n.call(s,"returnType")),(0,a.concat)(c);case"FunctionTypeParam":var Te=n.call(s,"name");return c.push(Te),o.optional&&c.push("?"),Te.infos[0].line&&c.push(": "),c.push(n.call(s,"typeAnnotation")),(0,a.concat)(c);case"GenericTypeAnnotation":return(0,a.concat)([n.call(s,"id"),n.call(s,"typeParameters")]);case"DeclareInterface":c.push("declare ");case"InterfaceDeclaration":case"TSInterfaceDeclaration":return o.declare&&c.push("declare "),c.push("interface ",n.call(s,"id"),n.call(s,"typeParameters")," "),o.extends&&o.extends.length>0&&c.push("extends ",(0,a.fromString)(", ").join(n.map(s,"extends"))," "),o.body&&c.push(n.call(s,"body")),(0,a.concat)(c);case"ClassImplements":case"InterfaceExtends":return(0,a.concat)([n.call(s,"id"),n.call(s,"typeParameters")]);case"IntersectionTypeAnnotation":return(0,a.fromString)(" & ").join(n.map(s,"types"));case"NullableTypeAnnotation":return(0,a.concat)(["?",n.call(s,"typeAnnotation")]);case"NullLiteralTypeAnnotation":return(0,a.fromString)("null",i);case"ThisTypeAnnotation":return(0,a.fromString)("this",i);case"NumberTypeAnnotation":return(0,a.fromString)("number",i);case"ObjectTypeCallProperty":return n.call(s,"value");case"ObjectTypeIndexer":return o.static&&c.push("static "),c.push(x(n,s),"["),o.id&&c.push(n.call(s,"id"),": "),c.push(n.call(s,"key"),"]: ",n.call(s,"value")),(0,a.concat)(c);case"ObjectTypeProperty":return(0,a.concat)([x(n,s),n.call(s,"key"),o.optional?"?":"",": ",n.call(s,"value")]);case"ObjectTypeInternalSlot":return(0,a.concat)([o.static?"static ":"","[[",n.call(s,"id"),"]]",o.optional?"?":"","FunctionTypeAnnotation"!==o.value.type?": ":"",n.call(s,"value")]);case"QualifiedTypeIdentifier":return(0,a.concat)([n.call(s,"qualification"),".",n.call(s,"id")]);case"StringLiteralTypeAnnotation":return(0,a.fromString)(I(o.value,i),i);case"NumberLiteralTypeAnnotation":case"NumericLiteralTypeAnnotation":return t.default.strictEqual(typeof o.value,"number"),(0,a.fromString)(JSON.stringify(o.value),i);case"BigIntLiteralTypeAnnotation":return(0,a.fromString)(o.raw,i);case"StringTypeAnnotation":return(0,a.fromString)("string",i);case"DeclareTypeAlias":c.push("declare ");case"TypeAlias":return(0,a.concat)(["type ",n.call(s,"id"),n.call(s,"typeParameters")," = ",n.call(s,"right"),";"]);case"DeclareOpaqueType":c.push("declare ");case"OpaqueType":return c.push("opaque type ",n.call(s,"id"),n.call(s,"typeParameters")),o.supertype&&c.push(": ",n.call(s,"supertype")),o.impltype&&c.push(" = ",n.call(s,"impltype")),c.push(";"),(0,a.concat)(c);case"TypeCastExpression":return(0,a.concat)(["(",n.call(s,"expression"),n.call(s,"typeAnnotation"),")"]);case"TypeParameterDeclaration":case"TypeParameterInstantiation":return(0,a.concat)(["<",(0,a.fromString)(", ").join(n.map(s,"params")),">"]);case"Variance":return"plus"===o.kind?(0,a.fromString)("+"):"minus"===o.kind?(0,a.fromString)("-"):(0,a.fromString)("");case"TypeParameter":return o.variance&&c.push(x(n,s)),c.push(n.call(s,"name")),o.bound&&c.push(n.call(s,"bound")),o.default&&c.push("=",n.call(s,"default")),(0,a.concat)(c);case"TypeofTypeAnnotation":return(0,a.concat)([(0,a.fromString)("typeof ",i),n.call(s,"argument")]);case"IndexedAccessType":case"OptionalIndexedAccessType":return(0,a.concat)([n.call(s,"objectType"),o.optional?"?.":"","[",n.call(s,"indexType"),"]"]);case"UnionTypeAnnotation":return(0,a.fromString)(" | ").join(n.map(s,"types"));case"VoidTypeAnnotation":return(0,a.fromString)("void",i);case"NullTypeAnnotation":return(0,a.fromString)("null",i);case"SymbolTypeAnnotation":return(0,a.fromString)("symbol",i);case"BigIntTypeAnnotation":return(0,a.fromString)("bigint",i);case"TSType":throw new Error("unprintable type: "+JSON.stringify(o.type));case"TSNumberKeyword":return(0,a.fromString)("number",i);case"TSBigIntKeyword":return(0,a.fromString)("bigint",i);case"TSObjectKeyword":return(0,a.fromString)("object",i);case"TSBooleanKeyword":return(0,a.fromString)("boolean",i);case"TSStringKeyword":return(0,a.fromString)("string",i);case"TSSymbolKeyword":return(0,a.fromString)("symbol",i);case"TSAnyKeyword":return(0,a.fromString)("any",i);case"TSVoidKeyword":return(0,a.fromString)("void",i);case"TSIntrinsicKeyword":return(0,a.fromString)("intrinsic",i);case"TSThisType":return(0,a.fromString)("this",i);case"TSNullKeyword":return(0,a.fromString)("null",i);case"TSUndefinedKeyword":return(0,a.fromString)("undefined",i);case"TSUnknownKeyword":return(0,a.fromString)("unknown",i);case"TSNeverKeyword":return(0,a.fromString)("never",i);case"TSArrayType":return(0,a.concat)([n.call(s,"elementType"),"[]"]);case"TSLiteralType":return n.call(s,"literal");case"TSUnionType":return(0,a.fromString)(" | ").join(n.map(s,"types"));case"TSIntersectionType":return(0,a.fromString)(" & ").join(n.map(s,"types"));case"TSConditionalType":return c.push(n.call(s,"checkType")," extends ",n.call(s,"extendsType")," ? ",n.call(s,"trueType")," : ",n.call(s,"falseType")),(0,a.concat)(c);case"TSInferType":return c.push("infer ",n.call(s,"typeParameter")),(0,a.concat)(c);case"TSParenthesizedType":return(0,a.concat)(["(",n.call(s,"typeAnnotation"),")"]);case"TSFunctionType":return(0,a.concat)([n.call(s,"typeParameters"),"(",S(n,i,s),") => ",n.call(s,"typeAnnotation","typeAnnotation")]);case"TSConstructorType":return(0,a.concat)(["new ",n.call(s,"typeParameters"),"(",S(n,i,s),") => ",n.call(s,"typeAnnotation","typeAnnotation")]);case"TSMappedType":return c.push(o.readonly?"readonly ":"","[",n.call(s,"typeParameter"),"]",o.optional?"?":""),o.typeAnnotation&&c.push(": ",n.call(s,"typeAnnotation"),";"),(0,a.concat)(["{\n",(0,a.concat)(c).indent(i.tabWidth),"\n}"]);case"TSTupleType":return(0,a.concat)(["[",(0,a.fromString)(", ").join(n.map(s,"elementTypes")),"]"]);case"TSNamedTupleMember":return c.push(n.call(s,"label")),o.optional&&c.push("?"),c.push(": ",n.call(s,"elementType")),(0,a.concat)(c);case"TSRestType":return(0,a.concat)(["...",n.call(s,"typeAnnotation")]);case"TSOptionalType":return(0,a.concat)([n.call(s,"typeAnnotation"),"?"]);case"TSIndexedAccessType":return(0,a.concat)([n.call(s,"objectType"),"[",n.call(s,"indexType"),"]"]);case"TSTypeOperator":return(0,a.concat)([n.call(s,"operator")," ",n.call(s,"typeAnnotation")]);case"TSTypeLiteral":var Ee=(0,a.fromString)("\n").join(n.map(s,"members").map((function(e){return";"!==A(e)?e.concat(";"):e})));return Ee.isEmpty()?(0,a.fromString)("{}",i):(c.push("{\n",Ee.indent(i.tabWidth),"\n}"),(0,a.concat)(c));case"TSEnumMember":return c.push(n.call(s,"id")),o.initializer&&c.push(" = ",n.call(s,"initializer")),(0,a.concat)(c);case"TSTypeQuery":return(0,a.concat)(["typeof ",n.call(s,"exprName")]);case"TSParameterProperty":return o.accessibility&&c.push(o.accessibility," "),o.export&&c.push("export "),o.static&&c.push("static "),o.readonly&&c.push("readonly "),c.push(n.call(s,"parameter")),(0,a.concat)(c);case"TSTypeReference":return(0,a.concat)([n.call(s,"typeName"),n.call(s,"typeParameters")]);case"TSQualifiedName":return(0,a.concat)([n.call(s,"left"),".",n.call(s,"right")]);case"TSAsExpression":case"TSSatisfiesExpression":var xe=n.call(s,"expression");return c.push(xe,"TSSatisfiesExpression"===o.type?" satisfies ":" as ",n.call(s,"typeAnnotation")),(0,a.concat)(c);case"TSTypeCastExpression":return(0,a.concat)([n.call(s,"expression"),n.call(s,"typeAnnotation")]);case"TSNonNullExpression":return(0,a.concat)([n.call(s,"expression"),"!"]);case"TSTypeAnnotation":return(0,a.concat)([": ",n.call(s,"typeAnnotation")]);case"TSIndexSignature":return(0,a.concat)([o.readonly?"readonly ":"","[",n.map(s,"parameters"),"]",n.call(s,"typeAnnotation")]);case"TSPropertySignature":return c.push(x(n,s),o.readonly?"readonly ":""),o.computed?c.push("[",n.call(s,"key"),"]"):c.push(n.call(s,"key")),c.push(o.optional?"?":"",n.call(s,"typeAnnotation")),(0,a.concat)(c);case"TSMethodSignature":return o.computed?c.push("[",n.call(s,"key"),"]"):c.push(n.call(s,"key")),o.optional&&c.push("?"),c.push(n.call(s,"typeParameters"),"(",S(n,i,s),")",n.call(s,"typeAnnotation")),(0,a.concat)(c);case"TSTypePredicate":return o.asserts&&c.push("asserts "),c.push(n.call(s,"parameterName")),o.typeAnnotation&&c.push(" is ",n.call(s,"typeAnnotation","typeAnnotation")),(0,a.concat)(c);case"TSCallSignatureDeclaration":return(0,a.concat)([n.call(s,"typeParameters"),"(",S(n,i,s),")",n.call(s,"typeAnnotation")]);case"TSConstructSignatureDeclaration":return o.typeParameters?c.push("new",n.call(s,"typeParameters")):c.push("new "),c.push("(",S(n,i,s),")",n.call(s,"typeAnnotation")),(0,a.concat)(c);case"TSTypeAliasDeclaration":return(0,a.concat)([o.declare?"declare ":"","type ",n.call(s,"id"),n.call(s,"typeParameters")," = ",n.call(s,"typeAnnotation"),";"]);case"TSTypeParameter":c.push(n.call(s,"name"));ve=n.getParentNode(0);var Pe=u.TSMappedType.check(ve);return o.constraint&&c.push(Pe?" in ":" extends ",n.call(s,"constraint")),o.default&&c.push(" = ",n.call(s,"default")),(0,a.concat)(c);case"TSTypeAssertion":return c.push("<",n.call(s,"typeAnnotation"),"> ",n.call(s,"expression")),(0,a.concat)(c);case"TSTypeParameterDeclaration":case"TSTypeParameterInstantiation":return(0,a.concat)(["<",(0,a.fromString)(", ").join(n.map(s,"params")),">"]);case"TSEnumDeclaration":c.push(o.declare?"declare ":"",o.const?"const ":"","enum ",n.call(s,"id"));var Ae=(0,a.fromString)(",\n").join(n.map(s,"members"));return Ae.isEmpty()?c.push(" {}"):c.push(" {\n",Ae.indent(i.tabWidth),"\n}"),(0,a.concat)(c);case"TSExpressionWithTypeArguments":return(0,a.concat)([n.call(s,"expression"),n.call(s,"typeParameters")]);case"TSInterfaceBody":var $e;return($e=(0,a.fromString)("\n").join(n.map(s,"body").map((function(e){return";"!==A(e)?e.concat(";"):e})))).isEmpty()?(0,a.fromString)("{}",i):(0,a.concat)(["{\n",$e.indent(i.tabWidth),"\n}"]);case"TSImportType":return c.push("import(",n.call(s,"argument"),")"),o.qualifier&&c.push(".",n.call(s,"qualifier")),o.typeParameters&&c.push(n.call(s,"typeParameters")),(0,a.concat)(c);case"TSImportEqualsDeclaration":return o.isExport&&c.push("export "),c.push("import ",n.call(s,"id")," = ",n.call(s,"moduleReference")),N((0,a.concat)(c));case"TSExternalModuleReference":return(0,a.concat)(["require(",n.call(s,"expression"),")"]);case"TSModuleDeclaration":if("TSModuleDeclaration"===(ve=n.getParentNode()).type)c.push(".");else if(o.declare&&c.push("declare "),!o.global)if("StringLiteral"===o.id.type||"Literal"===o.id.type&&"string"==typeof o.id.value)c.push("module ");else if(o.loc&&o.loc.lines&&o.id.loc){o.loc.lines.sliceString(o.loc.start,o.id.loc.start).indexOf("module")>=0?c.push("module "):c.push("namespace ")}else c.push("namespace ");return c.push(n.call(s,"id")),o.body&&(c.push(" "),c.push(n.call(s,"body"))),(0,a.concat)(c);case"TSModuleBlock":var Ce=n.call((function(e){return y(e,i,s)}),"body");return Ce.isEmpty()?c.push("{}"):c.push("{\n",Ce.indent(i.tabWidth),"\n}"),(0,a.concat)(c);case"TSInstantiationExpression":return c.push(n.call(s,"expression"),n.call(s,"typeParameters")),(0,a.concat)(c);case"V8IntrinsicIdentifier":return(0,a.concat)(["%",n.call(s,"name")]);case"TopicReference":return(0,a.fromString)("#");default:throw new Error("unknown type: "+JSON.stringify(o.type))}}(n,s,c);if(!p||f.isEmpty())return f;var h=!1,m=function(e,t){var r=[],n=e.getValue();n.decorators&&n.decorators.length>0&&!l.getParentExportDeclaration(e)?e.each((function(e){r.push(t(e),"\n")}),"decorators"):l.isExportDeclaration(n)&&n.declaration&&n.declaration.decorators&&e.each((function(e){r.push(t(e),"\n")}),"declaration","decorators");return(0,a.concat)(r)}(n,c);return m.isEmpty()?o.avoidRootParens||(h=n.needsParens()):d.push(m),h&&d.unshift("("),d.push(f),h&&d.push(")"),(0,a.concat)(d)}function y(e,r,n){var i=[],s=!1,o=!1;e.each((function(e){var t=e.getValue();t&&("EmptyStatement"!==t.type||t.comments&&t.comments.length>0)&&(u.Comment.check(t)?s=!0:u.Statement.check(t)?o=!0:c.assert(t),i.push({node:t,printed:n(e)}))})),s&&t.default.strictEqual(o,!1,"Comments may appear as statements in otherwise empty statement lists, but may not coexist with non-Comment nodes.");var p=null,d=i.length,f=[];return i.forEach((function(e,t){var n,i,s=e.printed,o=e.node,u=s.length>1,c=t>0,h=t<d-1,m=o&&o.loc&&o.loc.lines,y=m&&r.reuseWhitespace&&l.getTrueLoc(o,m);if(c)if(y){var g=m.skipSpaces(y.start,!0),v=g?g.line:1,b=y.start.line-v;n=Array(b+1).join("\n")}else n=u?"\n\n":"\n";else n="";if(h)if(y){var S=m.skipSpaces(y.end),_=(S?S.line:m.length)-y.end.line;i=Array(_+1).join("\n")}else i=u?"\n\n":"\n";else i="";f.push(function(e,t){if(!e&&!t)return(0,a.fromString)("");if(!e)return(0,a.fromString)(t);if(!t)return(0,a.fromString)(e);var r=(0,a.fromString)(e),n=(0,a.fromString)(t);if(n.length>r.length)return n;return r}(p,n),s),h?p=i:i&&f.push(i)})),(0,a.concat)(f)}function g(e){var t=[];e.declare&&t.push("declare ");var r=e.accessibility||e.access;return"string"==typeof r&&t.push(r," "),e.static&&t.push("static "),e.override&&t.push("override "),e.abstract&&t.push("abstract "),e.readonly&&t.push("readonly "),t}function v(e,t,r){var n=e.getNode(),i=n.kind,s=[],o=n.value;u.FunctionExpression.check(o)||(o=n),s.push.apply(s,g(n)),o.async&&s.push("async "),o.generator&&s.push("*"),"get"!==i&&"set"!==i||s.push(i," ");var l=e.call(r,"key");return n.computed&&(l=(0,a.concat)(["[",l,"]"])),s.push(l),n.optional&&s.push("?"),n===o?(s.push(e.call(r,"typeParameters"),"(",S(e,t,r),")",e.call(r,"returnType")),n.body?s.push(" ",e.call(r,"body")):s.push(";")):(s.push(e.call(r,"value","typeParameters"),"(",e.call((function(e){return S(e,t,r)}),"value"),")",e.call(r,"value","returnType")),o.body?s.push(" ",e.call(r,"value","body")):s.push(";")),(0,a.concat)(s)}function b(e,t,r){var n=e.map(r,"arguments"),i=l.isTrailingCommaEnabled(t,"parameters"),s=(0,a.fromString)(", ").join(n);return s.getLineLength(1)>t.wrapColumn?(s=(0,a.fromString)(",\n").join(n),(0,a.concat)(["(\n",s.indent(t.tabWidth),i?",\n)":"\n)"])):(0,a.concat)(["(",s,")"])}function S(e,t,r){var n,i=e.getValue(),s=[];i.params?(n=i.params,s=e.map(r,"params")):i.parameters&&(n=i.parameters,s=e.map(r,"parameters")),i.defaults&&e.each((function(e){var t=e.getName(),n=s[t];n&&e.getValue()&&(s[t]=(0,a.concat)([n," = ",r(e)]))}),"defaults"),i.rest&&s.push((0,a.concat)(["...",e.call(r,"rest")]));var o=(0,a.fromString)(", ").join(s);return o.length>1||o.getLineLength(1)>t.wrapColumn?(o=(0,a.fromString)(",\n").join(s),o=l.isTrailingCommaEnabled(t,"parameters")&&!i.rest&&"RestElement"!==n[n.length-1].type?(0,a.concat)([o,",\n"]):(0,a.concat)([o,"\n"]),(0,a.concat)(["\n",o.indent(t.tabWidth)])):o}function _(e,t,r){var n=e.getValue();if(n.assertions&&n.assertions.length>0){var i=[" assert {"],s=e.map(r,"assertions"),o=(0,a.fromString)(", ").join(s);return o.length>1||o.getLineLength(1)>t.wrapColumn?i.push("\n",(0,a.fromString)(",\n").join(s).indent(t.tabWidth),"\n}"):i.push(" ",o," }"),(0,a.concat)(i)}return(0,a.fromString)("")}function T(e,t,r){var n=e.getValue(),i=["export "];n.exportKind&&"type"===n.exportKind&&(n.declaration||i.push("type "));var s=t.objectCurlySpacing;if(u.Declaration.assert(n),(n.default||"ExportDefaultDeclaration"===n.type)&&i.push("default "),n.declaration)i.push(e.call(r,"declaration"));else if(n.specifiers){if(1===n.specifiers.length&&"ExportBatchSpecifier"===n.specifiers[0].type)i.push("*");else if(0===n.specifiers.length)i.push("{}");else if(/^Export(Default|Namespace)Specifier$/.test(n.specifiers[0].type)){var o=[],l=[];if(e.each((function(e){var t=e.getValue();/^Export(Namespace|Default)Specifier$/.test(t.type)?o.push(r(e)):l.push(r(e))}),"specifiers"),o.forEach((function(e,t){t>0&&i.push(", "),i.push(e)})),l.length>0){var c=(0,a.fromString)(", ").join(l);c.getLineLength(1)>t.wrapColumn&&(c=(0,a.concat)([(0,a.fromString)(",\n").join(l).indent(t.tabWidth),","])),o.length>0&&i.push(", "),c.length>1?i.push("{\n",c,"\n}"):t.objectCurlySpacing?i.push("{ ",c," }"):i.push("{",c,"}")}}else i.push(s?"{ ":"{",(0,a.fromString)(", ").join(e.map(r,"specifiers")),s?" }":"}");n.source&&i.push(" from ",e.call(r,"source"),_(e,t,r))}var p=(0,a.concat)(i);return";"===A(p)||n.declaration&&("FunctionDeclaration"===n.declaration.type||"ClassDeclaration"===n.declaration.type||"TSModuleDeclaration"===n.declaration.type||"TSInterfaceDeclaration"===n.declaration.type||"TSEnumDeclaration"===n.declaration.type)||(p=(0,a.concat)([p,";"])),p}function E(e,r){var n=l.getParentExportDeclaration(e);return n?t.default.strictEqual(n.type,"DeclareExportDeclaration"):r.unshift("declare "),(0,a.concat)(r)}function x(e,t){return e.call((function(e){var r=e.getValue();return r?"plus"===r?(0,a.fromString)("+"):"minus"===r?(0,a.fromString)("-"):t(e):(0,a.fromString)("")}),"variance")}function P(e,t){return e.length>1?(0,a.concat)([" ",e]):(0,a.concat)(["\n",N(e).indent(t.tabWidth)])}function A(e){var t=e.lastPos();do{var r=e.charAt(t);if(/\S/.test(r))return r}while(e.prevPos(t))}function $(e){return"}"===A(e)}function C(e){return e.replace(/['"]/g,(function(e){return'"'===e?"'":'"'}))}function w(e){var t=r.getFieldValue(e,"value"),n=r.getFieldValue(e,"extra");if(n&&"string"==typeof n.raw&&t==n.rawValue)return n.raw;if("Literal"===e.type){var i=e.raw;if("string"==typeof i&&t==i)return i}}function k(e){return JSON.stringify(e).replace(/[\u2028\u2029]/g,(function(e){return"\\u"+e.charCodeAt(0).toString(16)}))}function I(e,t){switch(c.assert(e),t.quote){case"auto":var r=k(e),n=C(k(C(e)));return r.length>n.length?n:r;case"single":return C(k(C(e)));default:return k(e)}}function N(e){var t=A(e);return!t||"\n};".indexOf(t)<0?(0,a.concat)([e,";"]):e}return printer.Printer=function e(r){t.default.ok(this instanceof e);var a=r&&r.tabWidth;function u(e,t){return e=Object.assign({},e,t),function(t){return c(t,e)}}function c(e,s){if(t.default.ok(e instanceof i.default),(s=s||{}).includeComments)return(0,n.printComments)(e,u(s,{includeComments:!1}));var l=r.tabWidth;if(!a){var p=e.getNode().loc;p&&p.lines&&p.lines.guessTabWidth&&(r.tabWidth=p.lines.guessTabWidth())}var d=(0,o.getReprinter)(e),f=d?d(c):m(e,r,s,u(s,{includeComments:!0,avoidRootParens:!1}));return r.tabWidth=l,f}(r=(0,s.normalize)(r)).sourceFileName=null,this.print=function(e){if(!e)return h;var t=c(i.default.from(e),{includeComments:!0,avoidRootParens:!1});return new d(t.toString(r),l.composeSourceMaps(r.inputSourceMap,t.getSourceMap(r.sourceMapName,r.sourceRoot)))},this.printGenerically=function(e){if(!e)return h;var t=i.default.from(e),a=r.reuseWhitespace;r.reuseWhitespace=!1;var s=new d(function e(t){return(0,n.printComments)(t,(function(t){return m(t,r,{includeComments:!0,avoidRootParens:!1},e)}))}(t).toString(r));return r.reuseWhitespace=a,s}},printer}!function(e){Object.defineProperty(e,"__esModule",{value:!0}),e.run=e.prettyPrint=e.print=e.visit=e.types=e.parse=void 0;var t=require$$0$4,r=t.__importDefault(require$$1$2),n=t.__importStar(requireMain());e.types=n;var i=requireParser();Object.defineProperty(e,"parse",{enumerable:!0,get:function(){return i.parse}});var a=requirePrinter(),s=requireMain();function o(e,t){return new a.Printer(t).print(e)}function l(e){browser$1$1.stdout.write(e)}Object.defineProperty(e,"visit",{enumerable:!0,get:function(){return s.visit}}),e.print=o,e.prettyPrint=function(e,t){return new a.Printer(t).printGenerically(e)},e.run=function(e,t){return function(e,t,n){r.default.readFile(e,"utf-8",(function(e,r){e?console.error(e):function(e,t,r){var n=r&&r.writeback||l;t((0,i.parse)(e,r),(function(e){n(o(e,r).code)}))}(r,t,n)}))}(browser$1$1.argv[2],e,t)}}(main$1),main$1.default;const recast$1=main$1,putoutPrinter=printer$1,{generate:generate$8}=bundle,{stringify:stringify$7}=JSON,{isArray:isArray$d}=Array,maybeArray$7=e=>isArray$d(e)?e:[e,{}],btoa$1=e=>Buffer.from(e,"binary").toString("base64"),addSourceMap=(e,{code:t,map:r})=>e?`${t}\n//# sourceMappingURL=data:application/json;charset=utf-8;base64,${btoa$1(stringify$7(r))}\n`:t,fixStrictMode=e=>e.replace("\n\n\n'use strict'","\n\n'use strict'");var print$4=(e,t={})=>{const{sourceMapName:r}=t,[n="putout",i]=maybeArray$7(t.printer);if("recast"===n){const n={quote:"single",objectCurlySpacing:!1,wrapColumn:1/0,...t,...i},a=recast$1.print(e,n),{map:s}=a,o=fixStrictMode(a.code);return addSourceMap(r,{code:o,map:s})}return"babel"===n?babelPrint(e):putoutPrinter.print(e,i)};function babelPrint(e){const{code:t}=generate$8(e,{indent:{style:" "}});return`${t}\n`}print$4.default;const{isFunctionExpression:isFunctionExpression$1,ObjectMethod:ObjectMethod}=bundle.types,{assign:assign$f}=Object;var traverseObjectExpression$3=e=>{for(const t of e){const{computed:e,key:r,method:n,value:i}=t.node;n&&isFunctionExpression$1(i)&&(t.replaceWith(ObjectMethod("method",r,i.params,i.body,e)),assign$f(t.node,{id:null,method:!0,generator:i.generator,loc:getObjectMethodLoc(r,i),async:i.async,type:"ObjectMethod"}))}};function getObjectMethodLoc(e,t){return e.loc&&t.loc?{start:e.loc.start,end:t.loc.end}:null}const{classPrivateMethod:classPrivateMethod,classMethod:classMethod,PrivateName:PrivateName,Identifier:Identifier$2}=bundle.types,{assign:assign$e}=Object;var setClassMethod$1=e=>{const{node:t}=e,{key:r,kind:n,computed:i,loc:a}=t,{body:s,params:o,expression:l,generator:u}=t.value,c=getClassMethod({kind:n,key:r,params:o,body:s,computed:i,nodeStatic:t.static});e.replaceWith(c),assign$e(e.node,{loc:a,expression:l,generator:u})};const isPrivateIdentifier=({type:e})=>"PrivateIdentifier"===e;function getClassMethod({kind:e,key:t,params:r,body:n,computed:i,nodeStatic:a}){if(isPrivateIdentifier(t)){const a=convertPrivateIdentifier$1(t);return classPrivateMethod(e,a,r,n,i)}return classMethod(e,t,r,n,i,a)}function convertPrivateIdentifier$1(e){return PrivateName(Identifier$2(e.name))}var setClassPrivateProperty$1=e=>{e.node.type="ClassPrivateProperty"};const{Identifier:Identifier$1}=bundle.types;var setClassPrivateName$1=({node:e})=>{e.name&&(e.id=Identifier$1(e.name),e.id.loc={start:{line:e.loc.start.line,column:e.loc.start.column+1},end:e.loc.end},delete e.name)};const{Directive:Directive,DirectiveLiteral:DirectiveLiteral}=bundle.types;var setDirectives$1=e=>{const{node:t}=e;if(!t.directives){t.directives=[];for(const r of e.get("body")){if("ExpressionStatement"!==r.type)continue;const e=r.node;if(!("directive"in e))continue;if(!e.directive)continue;const n=DirectiveLiteral(e.directive),i=Directive(n);t.directives.push(i),r.remove()}}},convertChainExpression$1=e=>{const t=e.get("expression"),{expression:r}=e.node;t.isCallExpression()?r.type="OptionalCallExpression":r.type="OptionalMemberExpression",e.replaceWith(r)},convertImportDeclaration$1=e=>{const{attributes:t=[]}=e.node;e.node.attributes=t};const{assign:assign$d}=Object;var convertExportDeclaration$1=e=>{const{attributes:t=[]}=e.node;assign$d(e.node,{attributes:t})},ts={};function createPrivateName(e){return{type:"PrivateName",id:{...e,type:"Identifier"},loc:e.loc}}ts.convertTSClassImplements=e=>{e.node.type="TSExpressionWithTypeArguments"},ts.convertPropertyDefinition=e=>{const{node:t}=e;if("PrivateIdentifier"===t.key.type){const{key:e}=t;return t.type="ClassPrivateProperty",void(t.key=createPrivateName(e))}e.node.type="ClassProperty"},ts.convertTSInterfaceHeritage=e=>{e.node.type="TSExpressionWithTypeArguments";let{expression:t}=e.node;for(;"MemberExpression"===t.type;){const{object:e,property:r}=t;t.type="TSQualifiedName",t.left=e,t.right=r,delete t.object,delete t.property,t=e}},ts.convertPrivateIdentifier=e=>{e.replaceWith(createPrivateName(e.node))},ts.convertTSAbstractMethodDefinition=e=>{const{node:t}=e,{generator:r,async:n,params:i,id:a,returnType:s}=t.value,o={...t,abstract:!0,generator:r,async:n,params:i,id:a,returnType:s,type:"TSDeclareMethod"};delete o.value,e.replaceWith(o)};var comments={};function getCommentType({type:e}){return`Comment${e}`}function getCommentGroup({trailing:e,leading:t}){return e?"trailingComments":t?"leadingComments":"innerComments"}comments.convertNodeComments=e=>{const{comments:t}=e;if(t){delete e.comments,e.leadingComments=void 0,e.trailingComments=void 0,e.innerComments=void 0;for(const r of t){const t=getCommentGroup(r);e[t]||(e[t]=[]),delete r.leading,delete r.trailing,r.type=getCommentType(r),e[t].push(r)}}},comments.convertProgramComments=e=>{for(const t of e)t.type=getCommentType(t);return e};const isString$7=e=>"string"==typeof e,isNumber$1=e=>"number"==typeof e,isNull$1=e=>null===e,isBool$3=e=>"boolean"==typeof e;var setLiteral$1=e=>{const{type:t,value:r}=e;"Literal"===t&&(isNull$1(r)?e.type="NullLiteral":isString$7(r)?e.type="StringLiteral":isNumber$1(r)?e.type="NumericLiteral":isBool$3(r)?e.type="BooleanLiteral":e.regex&&transformRegExp(e))};function transformRegExp(e){e.type="RegExpLiteral";for(const t of Object.keys(e.regex))e[t]=e.regex[t];delete e.regex}const{convertProgramComments:convertProgramComments}=comments;var getAst=e=>{if("File"===e.type)return e;const{comments:t=[],tokens:r,...n}=e;return{type:"File",program:{...n,directives:[]},comments:convertProgramComments(t),tokens:r}};const{traverse:traverse$k,types:types$11}=bundle,traverseObjectExpression$2=traverseObjectExpression$3,setClassMethod=setClassMethod$1,setClassPrivateProperty=setClassPrivateProperty$1,setClassPrivateName=setClassPrivateName$1,setDirectives=setDirectives$1,convertChainExpression=convertChainExpression$1,convertImportDeclaration=convertImportDeclaration$1,convertExportDeclaration=convertExportDeclaration$1,{convertTSClassImplements:convertTSClassImplements,convertTSInterfaceHeritage:convertTSInterfaceHeritage,convertTSAbstractMethodDefinition:convertTSAbstractMethodDefinition,convertPropertyDefinition:convertPropertyDefinition,convertPrivateIdentifier:convertPrivateIdentifier}=ts,{convertNodeComments:convertNodeComments}=comments,setLiteral=setLiteral$1,getAST=getAst,{isObjectExpression:isObjectExpression$3,isExportDeclaration:isExportDeclaration}=types$11;var estreeToBabel=e=>{const t=getAST(e);return traverse$k(t,{noScope:!0,enter(e){const{node:t}=e,{type:r}=t;return r.endsWith("Literal")?(setLiteral(t),setEsprimaRaw(t)):"BlockStatement"===r||"Program"===r?setDirectives(e):"Property"===r?setObjectProperty(t):"MethodDefinition"===r?setClassMethod(e):"FieldDefinition"===r?setClassPrivateProperty(e):"PrivateName"===r?setClassPrivateName(e):"ImportDeclaration"===r?convertImportDeclaration(e):isExportDeclaration(e)?convertExportDeclaration(e):"ChainExpression"===r?convertChainExpression(e):"TSAbstractMethodDefinition"===r?convertTSAbstractMethodDefinition(e):"TSInterfaceHeritage"===r?convertTSInterfaceHeritage(e):"PropertyDefinition"===r?convertPropertyDefinition(e):"PrivateIdentifier"===r?convertPrivateIdentifier(e):"TSClassImplements"===r?convertTSClassImplements(e):void 0},exit(e){const{node:t}=e;if(convertNodeComments(t),isObjectExpression$3(t))return traverseObjectExpression$2(e.get("properties"))}}),t};function setObjectProperty(e){e.type="ObjectProperty"}function setEsprimaRaw(e){const{raw:t}=e;e.raw=t||e.extra?.raw,e.extra=e.extra||{raw:t}}function commonjsRequire(e){throw new Error('Could not dynamically require "'+e+'". Please configure the dynamicRequireTargets or/and ignoreDynamicRequires option of @rollup/plugin-commonjs appropriately for this require call to work.')}var acorn$1={},once$9={exports:{}},wrappy_1=wrappy$1;function wrappy$1(e,t){if(e&&t)return wrappy$1(e)(t);if("function"!=typeof e)throw new TypeError("need wrapper function");return Object.keys(e).forEach((function(t){r[t]=e[t]})),r;function r(){for(var t=new Array(arguments.length),r=0;r<t.length;r++)t[r]=arguments[r];var n=e.apply(this,t),i=t[t.length-1];return"function"==typeof n&&n!==i&&Object.keys(i).forEach((function(e){n[e]=i[e]})),n}}var wrappy=wrappy_1;function once$8(e){var t=function(){return t.called?t.value:(t.called=!0,t.value=e.apply(this,arguments))};return t.called=!1,t}function onceStrict(e){var t=function(){if(t.called)throw new Error(t.onceError);return t.called=!0,t.value=e.apply(this,arguments)},r=e.name||"Function wrapped with `once`";return t.onceError=r+" shouldn't be called more than once",t.called=!1,t}once$9.exports=wrappy(once$8),once$9.exports.strict=wrappy(onceStrict),once$8.proto=once$8((function(){Object.defineProperty(Function.prototype,"once",{value:function(){return once$8(this)},configurable:!0}),Object.defineProperty(Function.prototype,"onceStrict",{value:function(){return onceStrict(this)},configurable:!0})}));var xhtml,hasRequiredXhtml,hasRequiredAcornJsx,onceExports=once$9.exports,acornJsx={exports:{}};function requireXhtml(){return hasRequiredXhtml?xhtml:(hasRequiredXhtml=1,xhtml={quot:'"',amp:"&",apos:"'",lt:"<",gt:">",nbsp:" ",iexcl:"¡",cent:"¢",pound:"£",curren:"¤",yen:"¥",brvbar:"¦",sect:"§",uml:"¨",copy:"©",ordf:"ª",laquo:"«",not:"¬",shy:"",reg:"®",macr:"¯",deg:"°",plusmn:"±",sup2:"²",sup3:"³",acute:"´",micro:"µ",para:"¶",middot:"·",cedil:"¸",sup1:"¹",ordm:"º",raquo:"»",frac14:"¼",frac12:"½",frac34:"¾",iquest:"¿",Agrave:"À",Aacute:"Á",Acirc:"Â",Atilde:"Ã",Auml:"Ä",Aring:"Å",AElig:"Æ",Ccedil:"Ç",Egrave:"È",Eacute:"É",Ecirc:"Ê",Euml:"Ë",Igrave:"Ì",Iacute:"Í",Icirc:"Î",Iuml:"Ï",ETH:"Ð",Ntilde:"Ñ",Ograve:"Ò",Oacute:"Ó",Ocirc:"Ô",Otilde:"Õ",Ouml:"Ö",times:"×",Oslash:"Ø",Ugrave:"Ù",Uacute:"Ú",Ucirc:"Û",Uuml:"Ü",Yacute:"Ý",THORN:"Þ",szlig:"ß",agrave:"à",aacute:"á",acirc:"â",atilde:"ã",auml:"ä",aring:"å",aelig:"æ",ccedil:"ç",egrave:"è",eacute:"é",ecirc:"ê",euml:"ë",igrave:"ì",iacute:"í",icirc:"î",iuml:"ï",eth:"ð",ntilde:"ñ",ograve:"ò",oacute:"ó",ocirc:"ô",otilde:"õ",ouml:"ö",divide:"÷",oslash:"ø",ugrave:"ù",uacute:"ú",ucirc:"û",uuml:"ü",yacute:"ý",thorn:"þ",yuml:"ÿ",OElig:"Œ",oelig:"œ",Scaron:"Š",scaron:"š",Yuml:"Ÿ",fnof:"ƒ",circ:"ˆ",tilde:"˜",Alpha:"Α",Beta:"Β",Gamma:"Γ",Delta:"Δ",Epsilon:"Ε",Zeta:"Ζ",Eta:"Η",Theta:"Θ",Iota:"Ι",Kappa:"Κ",Lambda:"Λ",Mu:"Μ",Nu:"Ν",Xi:"Ξ",Omicron:"Ο",Pi:"Π",Rho:"Ρ",Sigma:"Σ",Tau:"Τ",Upsilon:"Υ",Phi:"Φ",Chi:"Χ",Psi:"Ψ",Omega:"Ω",alpha:"α",beta:"β",gamma:"γ",delta:"δ",epsilon:"ε",zeta:"ζ",eta:"η",theta:"θ",iota:"ι",kappa:"κ",lambda:"λ",mu:"μ",nu:"ν",xi:"ξ",omicron:"ο",pi:"π",rho:"ρ",sigmaf:"ς",sigma:"σ",tau:"τ",upsilon:"υ",phi:"φ",chi:"χ",psi:"ψ",omega:"ω",thetasym:"ϑ",upsih:"ϒ",piv:"ϖ",ensp:" ",emsp:" ",thinsp:" ",zwnj:"",zwj:"",lrm:"",rlm:"",ndash:"–",mdash:"—",lsquo:"‘",rsquo:"’",sbquo:"‚",ldquo:"“",rdquo:"”",bdquo:"„",dagger:"†",Dagger:"‡",bull:"•",hellip:"…",permil:"‰",prime:"′",Prime:"″",lsaquo:"‹",rsaquo:"›",oline:"‾",frasl:"⁄",euro:"€",image:"ℑ",weierp:"℘",real:"ℜ",trade:"™",alefsym:"ℵ",larr:"←",uarr:"↑",rarr:"→",darr:"↓",harr:"↔",crarr:"↵",lArr:"⇐",uArr:"⇑",rArr:"⇒",dArr:"⇓",hArr:"⇔",forall:"∀",part:"∂",exist:"∃",empty:"∅",nabla:"∇",isin:"∈",notin:"∉",ni:"∋",prod:"∏",sum:"∑",minus:"−",lowast:"∗",radic:"√",prop:"∝",infin:"∞",ang:"∠",and:"∧",or:"∨",cap:"∩",cup:"∪",int:"∫",there4:"∴",sim:"∼",cong:"≅",asymp:"≈",ne:"≠",equiv:"≡",le:"≤",ge:"≥",sub:"⊂",sup:"⊃",nsub:"⊄",sube:"⊆",supe:"⊇",oplus:"⊕",otimes:"⊗",perp:"⊥",sdot:"⋅",lceil:"⌈",rceil:"⌉",lfloor:"⌊",rfloor:"⌋",lang:"〈",rang:"〉",loz:"◊",spades:"♠",clubs:"♣",hearts:"♥",diams:"♦"})}function requireAcornJsx(){return hasRequiredAcornJsx||(hasRequiredAcornJsx=1,function(e){const t=requireXhtml(),r=/^[\da-fA-F]+$/,n=/^\d+$/,i=new WeakMap;function a(e){e=e.Parser.acorn||e;let t=i.get(e);if(!t){const r=e.tokTypes,n=e.TokContext,a=e.TokenType,s=new n("<tag",!1),o=new n("</tag",!1),l=new n("<tag>...</tag>",!0,!0),u={tc_oTag:s,tc_cTag:o,tc_expr:l},c={jsxName:new a("jsxName"),jsxText:new a("jsxText",{beforeExpr:!0}),jsxTagStart:new a("jsxTagStart",{startsExpr:!0}),jsxTagEnd:new a("jsxTagEnd")};c.jsxTagStart.updateContext=function(){this.context.push(l),this.context.push(s),this.exprAllowed=!1},c.jsxTagEnd.updateContext=function(e){let t=this.context.pop();t===s&&e===r.slash||t===o?(this.context.pop(),this.exprAllowed=this.curContext()===l):this.exprAllowed=!0},t={tokContexts:u,tokTypes:c},i.set(e,t)}return t}function s(e){return e?"JSXIdentifier"===e.type?e.name:"JSXNamespacedName"===e.type?e.namespace.name+":"+e.name.name:"JSXMemberExpression"===e.type?s(e.object)+"."+s(e.property):void 0:e}e.exports=function(e){return e=e||{},function(i){return function(e,i){const o=i.acorn||require("acorn"),l=a(o),u=o.tokTypes,c=l.tokTypes,p=o.tokContexts,d=l.tokContexts.tc_oTag,f=l.tokContexts.tc_cTag,h=l.tokContexts.tc_expr,m=o.isNewLine,y=o.isIdentifierStart,g=o.isIdentifierChar;return class extends i{static get acornJsx(){return l}jsx_readToken(){let e="",t=this.pos;for(;;){this.pos>=this.input.length&&this.raise(this.start,"Unterminated JSX contents");let r=this.input.charCodeAt(this.pos);switch(r){case 60:case 123:return this.pos===this.start?60===r&&this.exprAllowed?(++this.pos,this.finishToken(c.jsxTagStart)):this.getTokenFromCode(r):(e+=this.input.slice(t,this.pos),this.finishToken(c.jsxText,e));case 38:e+=this.input.slice(t,this.pos),e+=this.jsx_readEntity(),t=this.pos;break;case 62:case 125:this.raise(this.pos,"Unexpected token `"+this.input[this.pos]+"`. Did you mean `"+(62===r?">":"}")+'` or `{"'+this.input[this.pos]+'"}`?');default:m(r)?(e+=this.input.slice(t,this.pos),e+=this.jsx_readNewLine(!0),t=this.pos):++this.pos}}}jsx_readNewLine(e){let t,r=this.input.charCodeAt(this.pos);return++this.pos,13===r&&10===this.input.charCodeAt(this.pos)?(++this.pos,t=e?"\n":"\r\n"):t=String.fromCharCode(r),this.options.locations&&(++this.curLine,this.lineStart=this.pos),t}jsx_readString(e){let t="",r=++this.pos;for(;;){this.pos>=this.input.length&&this.raise(this.start,"Unterminated string constant");let n=this.input.charCodeAt(this.pos);if(n===e)break;38===n?(t+=this.input.slice(r,this.pos),t+=this.jsx_readEntity(),r=this.pos):m(n)?(t+=this.input.slice(r,this.pos),t+=this.jsx_readNewLine(!1),r=this.pos):++this.pos}return t+=this.input.slice(r,this.pos++),this.finishToken(u.string,t)}jsx_readEntity(){let e,i="",a=0,s=this.input[this.pos];"&"!==s&&this.raise(this.pos,"Entity must start with an ampersand");let o=++this.pos;for(;this.pos<this.input.length&&a++<10;){if(s=this.input[this.pos++],";"===s){"#"===i[0]?"x"===i[1]?(i=i.substr(2),r.test(i)&&(e=String.fromCharCode(parseInt(i,16)))):(i=i.substr(1),n.test(i)&&(e=String.fromCharCode(parseInt(i,10)))):e=t[i];break}i+=s}return e||(this.pos=o,"&")}jsx_readWord(){let e,t=this.pos;do{e=this.input.charCodeAt(++this.pos)}while(g(e)||45===e);return this.finishToken(c.jsxName,this.input.slice(t,this.pos))}jsx_parseIdentifier(){let e=this.startNode();return this.type===c.jsxName?e.name=this.value:this.type.keyword?e.name=this.type.keyword:this.unexpected(),this.next(),this.finishNode(e,"JSXIdentifier")}jsx_parseNamespacedName(){let t=this.start,r=this.startLoc,n=this.jsx_parseIdentifier();if(!e.allowNamespaces||!this.eat(u.colon))return n;var i=this.startNodeAt(t,r);return i.namespace=n,i.name=this.jsx_parseIdentifier(),this.finishNode(i,"JSXNamespacedName")}jsx_parseElementName(){if(this.type===c.jsxTagEnd)return"";let t=this.start,r=this.startLoc,n=this.jsx_parseNamespacedName();for(this.type!==u.dot||"JSXNamespacedName"!==n.type||e.allowNamespacedObjects||this.unexpected();this.eat(u.dot);){let e=this.startNodeAt(t,r);e.object=n,e.property=this.jsx_parseIdentifier(),n=this.finishNode(e,"JSXMemberExpression")}return n}jsx_parseAttributeValue(){switch(this.type){case u.braceL:let e=this.jsx_parseExpressionContainer();return"JSXEmptyExpression"===e.expression.type&&this.raise(e.start,"JSX attributes must only be assigned a non-empty expression"),e;case c.jsxTagStart:case u.string:return this.parseExprAtom();default:this.raise(this.start,"JSX value should be either an expression or a quoted JSX text")}}jsx_parseEmptyExpression(){let e=this.startNodeAt(this.lastTokEnd,this.lastTokEndLoc);return this.finishNodeAt(e,"JSXEmptyExpression",this.start,this.startLoc)}jsx_parseExpressionContainer(){let e=this.startNode();return this.next(),e.expression=this.type===u.braceR?this.jsx_parseEmptyExpression():this.parseExpression(),this.expect(u.braceR),this.finishNode(e,"JSXExpressionContainer")}jsx_parseAttribute(){let e=this.startNode();return this.eat(u.braceL)?(this.expect(u.ellipsis),e.argument=this.parseMaybeAssign(),this.expect(u.braceR),this.finishNode(e,"JSXSpreadAttribute")):(e.name=this.jsx_parseNamespacedName(),e.value=this.eat(u.eq)?this.jsx_parseAttributeValue():null,this.finishNode(e,"JSXAttribute"))}jsx_parseOpeningElementAt(e,t){let r=this.startNodeAt(e,t);r.attributes=[];let n=this.jsx_parseElementName();for(n&&(r.name=n);this.type!==u.slash&&this.type!==c.jsxTagEnd;)r.attributes.push(this.jsx_parseAttribute());return r.selfClosing=this.eat(u.slash),this.expect(c.jsxTagEnd),this.finishNode(r,n?"JSXOpeningElement":"JSXOpeningFragment")}jsx_parseClosingElementAt(e,t){let r=this.startNodeAt(e,t),n=this.jsx_parseElementName();return n&&(r.name=n),this.expect(c.jsxTagEnd),this.finishNode(r,n?"JSXClosingElement":"JSXClosingFragment")}jsx_parseElementAt(e,t){let r=this.startNodeAt(e,t),n=[],i=this.jsx_parseOpeningElementAt(e,t),a=null;if(!i.selfClosing){e:for(;;)switch(this.type){case c.jsxTagStart:if(e=this.start,t=this.startLoc,this.next(),this.eat(u.slash)){a=this.jsx_parseClosingElementAt(e,t);break e}n.push(this.jsx_parseElementAt(e,t));break;case c.jsxText:n.push(this.parseExprAtom());break;case u.braceL:n.push(this.jsx_parseExpressionContainer());break;default:this.unexpected()}s(a.name)!==s(i.name)&&this.raise(a.start,"Expected corresponding JSX closing tag for <"+s(i.name)+">")}let o=i.name?"Element":"Fragment";return r["opening"+o]=i,r["closing"+o]=a,r.children=n,this.type===u.relational&&"<"===this.value&&this.raise(this.start,"Adjacent JSX elements must be wrapped in an enclosing tag"),this.finishNode(r,"JSX"+o)}jsx_parseText(){let e=this.parseLiteral(this.value);return e.type="JSXText",e}jsx_parseElement(){let e=this.start,t=this.startLoc;return this.next(),this.jsx_parseElementAt(e,t)}parseExprAtom(e){return this.type===c.jsxText?this.jsx_parseText():this.type===c.jsxTagStart?this.jsx_parseElement():super.parseExprAtom(e)}readToken(e){let t=this.curContext();if(t===h)return this.jsx_readToken();if(t===d||t===f){if(y(e))return this.jsx_readWord();if(62==e)return++this.pos,this.finishToken(c.jsxTagEnd);if((34===e||39===e)&&t==d)return this.jsx_readString(e)}return 60===e&&this.exprAllowed&&33!==this.input.charCodeAt(this.pos+1)?(++this.pos,this.finishToken(c.jsxTagStart)):super.readToken(e)}updateContext(e){if(this.type==u.braceL){var t=this.curContext();t==d?this.context.push(p.b_expr):t==h?this.context.push(p.b_tmpl):super.updateContext(e),this.exprAllowed=!0}else{if(this.type!==u.slash||e!==c.jsxTagStart)return super.updateContext(e);this.context.length-=2,this.context.push(f),this.exprAllowed=!1}}}}({allowNamespaces:!1!==e.allowNamespaces,allowNamespacedObjects:!!e.allowNamespacedObjects},i)}},Object.defineProperty(e.exports,"tokTypes",{get:function(){return a(require("acorn")).tokTypes},configurable:!0,enumerable:!0})}(acornJsx)),acornJsx.exports}var acornStage3={},acornStage3$1=Object.freeze({__proto__:null,default:acornStage3}),require$$2=getAugmentedNamespace(acornStage3$1);const once$7=onceExports,initAcorn=once$7((()=>{const{Parser:e}=require("acorn"),t=requireAcornJsx(),r=require$$2;return e.extend(r,t())}));acorn$1.parse=function(e){const t=initAcorn(),r={locations:!0,comment:!0,ecmaVersion:2023,sourceType:"module",allowAwaitOutsideFunction:!0,allowReturnOutsideFunction:!0,allowImportExportEverywhere:!0},n=Array.from(t.tokenizer(e,r));return{...t.parse(e,r),tokens:n}};var babel$1={},plugins$1=["importMeta",["importAttributes",{deprecatedAssertSyntax:!0}],"dynamicImport","bigInt","classProperties","decorators-legacy","decoratorAutoAccessors","destructuringPrivate","exportDefaultFrom","throwExpressions",["recordAndTuple",{syntaxType:"hash"}],"explicitResourceManagement","deferredImportEvaluation","sourcePhaseImports",["optionalChainingAssign",{version:"2023-07"}]],options$2={allowReturnOutsideFunction:!0,allowUndeclaredExports:!0,allowImportExportEverywhere:!0};const once$6=onceExports,plugins=plugins$1,options$1=options$2,getFlow=e=>!e.indexOf("// @flow"),clean=e=>e.filter(Boolean),initBabel=once$6((()=>bundle)),{assign:assign$c}=Object;function getBabelLangExts({isTS:e,isFlow:t,isJSX:r}){const n=[r&&"jsx"];return e?n.concat(["typescript"]):t?n.concat(["flow","flowComments"]):n}babel$1.parse=function(e,{sourceFilename:t,isTS:r,isJSX:n=!0,isFlow:i=getFlow(e)}){const{parse:a}=initBabel(),s={sourceType:"module",tokens:!0,...options$1,plugins:clean([...plugins,...getBabelLangExts({isTS:r,isFlow:i,isJSX:n})])};return t&&assign$c(s,{sourceFilename:t}),a(e,s)};var espree$1={};const once$5=onceExports,initEspree=once$5((()=>require("espree")));espree$1.parse=function(e){const{parse:t}=initEspree();return t(e,{loc:!0,tokens:!0,comment:!0,ecmaVersion:2023,sourceType:"module",ecmaFeatures:{jsx:!0}})};var esprima$1={};const once$4=onceExports,initEsprima=once$4((()=>require("esprima")));esprima$1.parse=function(e){const{parse:t}=initEsprima();return t(e,{loc:!0,tokens:!0,comment:!0,sourceType:"module",jsx:!0})};var tenko$1={};const once$3=onceExports,initTenko=once$3((()=>require("tenko")));tenko$1.parse=e=>{const{Tenko:t}=initTenko(),{ast:r}=t(e,{goalMode:"module",allowGlobalReturn:!0,exposeScopes:!0});return r};var hermes$1={};const once$2=onceExports,initHermes=once$2((()=>require("hermes-parser")));hermes$1.parse=function(e){return initHermes().parse(e,{babel:!0,allowReturnOutsideFunction:!0,flow:"detect",locations:!0,tokens:!0})};var tryCatch$6=(e,...t)=>{try{return[null,e(...t)]}catch(e){return[e]}};const tryCatch$5=tryCatch$6;var secondChance$1=(e,t,r,n)=>{const[i,a]=tryCatch$5(e,t,r);if(!i)return a;const[s,o]=tryCatch$5(e,t,n);if(!s)return o;throw i};const acorn=acorn$1,babel=babel$1,espree=espree$1,esprima=esprima$1,tenko=tenko$1,hermes=hermes$1,secondChance=secondChance$1,isObject$3=e=>"object"==typeof e;var customParser$1=(e,t,{isTS:r,isFlow:n,isJSX:i})=>{const a={parser:t,isTS:r,isFlow:n,isJSX:i};return secondChance(customParse,e,a,{...a,isJSX:!1})};function customParse(e,{parser:t,isTS:r,isFlow:n,isJSX:i}){return"babel"===t?babel.parse(e,{isTS:r,isFlow:n,isJSX:i}):isObject$3(t)?t.parse(e,{isJSX:i,isTS:r}):"espree"===t?espree.parse(e):"acorn"===t?acorn.parse(e):"esprima"===t?esprima.parse(e):"tenko"===t?tenko.parse(e):"hermes"===t?hermes.parse(e):commonjsRequire(t).parse(e)}const{types:types$10}=bundle,{StringLiteral:StringLiteral$6,ExpressionStatement:ExpressionStatement$1}=types$10,{assign:assign$b}=Object;var moveOutDirectives$1=e=>{const{body:t,directives:r}=e.program;if(!r.length)return e;e.program.directives=[];for(const e of r){const{leadingComments:r}=e,{value:n}=e.value,i=assign$b(ExpressionStatement$1(StringLiteral$6(n)),{leadingComments:r});t.unshift(i)}return e};const recast=main$1,toBabel=estreeToBabel,customParser=customParser$1,moveOutDirectives=moveOutDirectives$1;var parse$4=(e,t)=>{const{parser:r,printer:n="putout",isTS:i,isFlow:a,isJSX:s,sourceFileName:o}=t||{},l=getParser({printer:n,parser:r,isTS:i,isFlow:a,isJSX:s,sourceFileName:o});return"recast"!==n?l.parse(e):recast.parse(e,{sourceFileName:o,parser:l})};function getParser({parser:e="babel",isTS:t,isFlow:r,isJSX:n,printer:i}){return{parse(a){const s=toBabel(customParser(a,e,{isTS:t,isFlow:r,isJSX:n}));return"recast"===i&&moveOutDirectives(s),s}}}parse$4.default;const{generate:generate$7}=bundle;var generate_1=(e,t,r)=>generate$7(e,{comments:!1,recordAndTupleSyntaxType:"hash",...t},r);generate_1.default;var template$g={exports:{}};function $cf838c15c8b009ba$var$vrgs(e){var t=e+"",r=t.indexOf("...");return r>=0&&(r<t.indexOf(")")||t.indexOf("arguments")>=0)}function $cf838c15c8b009ba$export$22f15dd4e5be7e52(e,t){t||(t={});var r,n,i,a=t.vargs||$cf838c15c8b009ba$var$vrgs(e),s=[],o=new Map,l=t.maxAge>0&&t.maxAge<1/0?function(e){return n=setTimeout((function(){r?o.delete(e):s.splice(e,1)}),t.maxAge)}:0,u=t.equals?t.equals:0,c=t.maxArgs,p=t.serializer;return 1!==e.length||t.equals||a?i=u?function(){for(var t=c||arguments.length,r=s.length,n=-1;++n<r;)if(s[n].length===t){for(var i=-1;++i<t&&u(arguments[i],s[n][i]););if(i===t)return s[n].val}return s[n]=arguments,!l||l(n),arguments.val=e.apply(this,s[n])}:function(){for(var t=c||arguments.length,r=s.length,n=-1;++n<r;)if(s[n].length===t){for(var i=-1;++i<t&&arguments[i]===s[n][i];);if(i===t)return s[n].val}return s[n]=arguments,!l||l(n),arguments.val=e.apply(this,s[n])}:(i=function(t){var r;return p&&(t=p(t)),o.get(t)||(!l||l(t),o.set(t,r=e.call(this,t)),r)},r=1),i.clear=function(){n&&clearTimeout(n),o.clear(),s=[]},i.keys=function(){return r?[...o.keys()]:s.slice()},i.values=function(){return r?[...o.values()]:s.map((e=>e.val))},i}var nanoMemoize=Object.freeze({__proto__:null,default:$cf838c15c8b009ba$export$22f15dd4e5be7e52,nanomemoize:$cf838c15c8b009ba$export$22f15dd4e5be7e52}),require$$0$3=getAugmentedNamespace(nanoMemoize);!function(e){const{template:t}=bundle,{nanomemoize:r}=require$$0$3,n=plugins$1,i={...options$2,plugins:[...n,"typescript","jsx"]};e.exports=r(((e,r)=>{const n=t(e,{...i,...r});return(...e)=>{const t=n(...e);return t.expression||t}})),e.exports.ast=r(((e,r)=>{const n=t.ast(e,{...i,...r});return n.expression||n})),e.exports.program=r(((e,r)=>t.program(e,{...i,...r}))),e.exports.program.ast=r(((e,r)=>t.program.ast(e,{...i,...r}))),e.exports.ast.fresh=(e,r)=>{const n=t.ast(e,{...i,...r});return n.expression||n}}(template$g);var templateExports$1=template$g.exports;templateExports$1.default;const print$3=print$4,parse$3=parse$4,generate$6=generate_1,template$f=templateExports$1;parser$6.print=print$3,parser$6.parse=parse$3,parser$6.generate=generate$6,parser$6.template=template$f;var shebang={};const maybeNewline=e=>"\n"===e[0]?e:`\n${e}`;shebang.mergeShebang=(e,t)=>e?e+maybeNewline(t):t,shebang.cutShebang=e=>{if(e.indexOf("#"))return[e,""];const t=e.split("\n"),r=t.slice(1).join("\n"),[n]=t;return[r,`${n}\n`]};var defaultOptions$4={},lib$f={},load$1={},_polyfillNode_module={},_polyfillNode_module$1=Object.freeze({__proto__:null,default:_polyfillNode_module}),require$$1=getAugmentedNamespace(_polyfillNode_module$1);const{createRequire:createRequire}=require$$1,tryCatch$4=tryCatch$6,once$1=onceExports,{assign:assign$a}=Object,bigFirst=e=>`${e[0].toUpperCase()}${e.slice(1)}`,load=e=>({name:t,namespace:r})=>{const[n,i]=getPath$3(r,e,t);if(!n)throw Error(`${bigFirst(e)} "${r}-${e}-${t}" could not be found!`);const[a,s]=tryCatch$4(i,n);if("ERR_REQUIRE_ESM"===a?.code&&assign$a(a,{message:`☝️ Looks like '${t}' is ESM, use 'await putoutAsync()' instead`,name:t}),a)throw a;return s};function getPath$3(e,t,r){if(r.startsWith("import:"))return getModulePath(r.replace("import:",""));let[n,i]=getModulePath(`@${e}/${t}-${r}`);return n||([n,i]=getModulePath(`${e}-${t}-${r}`)),n||([n,i]=getModulePath(r)),[n,i]}load$1.loadPlugin=load("plugin"),load$1.loadProcessor=load("processor");const{PUTOUT_YARN_PNP:PUTOUT_YARN_PNP="putout"}={},createCustomRequire=once$1((()=>createRequire(require.resolve(PUTOUT_YARN_PNP)))),createPutoutRequire=once$1((()=>createRequire(require.resolve("putout"))));function getModulePath(e){let t;const r=createCustomRequire(),n=createPutoutRequire();return[,t]=tryCatch$4(n.resolve,e),t?[t,n]:([,t]=tryCatch$4(r.resolve,e),[t,r])}var asyncLoader={},tryToCatch$1=async(e,...t)=>{check$g(e);try{return[null,await e(...t)]}catch(e){return[e]}};function check$g(e){if("function"!=typeof e)throw Error("fn should be a function!")}var simpleImport$1={simpleImport:async e=>{const t=await import(e);return t.default||t}};const{nanomemoize:nanomemoize$1}=require$$0$3,tryToCatch=tryToCatch$1,{simpleImport:simpleImport}=simpleImport$1,{assign:assign$9}=Object,stub$2=()=>()=>{};async function cleverLoad(e,t=simpleImport){let r,n;for(const i of e){if([r,n]=await tryToCatch(t,i),!r)return n;if("ERR_MODULE_NOT_FOUND"!==r.code)throw assign$9(r,{message:`${i}: ${r.message}`}),r}throw assign$9(r,{message:r.message.replace(/\simported.*/,"")}),r}asyncLoader.createAsyncLoader=e=>nanomemoize$1((async(t,r)=>{if("none"===t)return stub$2();if(t.startsWith("import:")){const e=t.replace("import:","");return await cleverLoad([require.resolve(e)],r)}return await cleverLoad([`@putout/${e}-${t}`,`putout-${e}-${t}`],r)}));var parsePluginNames$2={};const isStr$4=e=>"string"==typeof e,{isArray:isArray$c}=Array,{entries:entries$d}=Object;parsePluginNames$2.parsePluginNames=e=>{const t=[];for(const r of e)if(isStr$4(r))t.push([r]);else if(isArray$c(r)){const[e,n]=r;t.push([e,n])}else t.push(...entries$d(r));return t};const isStr$3=e=>"string"==typeof e,{isArray:isArray$b}=Array,isOn=e=>"on"===e,isOff=e=>"off"===e;var parseProcessorNames$1=e=>{const t=[];for(const r of e)if(isStr$3(r))t.push([r]);else if(isArray$b(r)){const[e,n]=r;if(isOff(n))continue;if(isOn(n)){t.push([e]);continue}t.push([e,n])}else;return t};const supportedKeys=["find","traverse","replace","include","exclude","rules","declare","scan"];var validatePlugin$2=({plugin:e,rule:t})=>{const r=Object.keys(e);for(const e of supportedKeys)if(r.includes(e))return;throw Error(`☝️ Cannot determine type of plugin '${t}'. Here is list of supported plugins: https://git.io/JqcMn`)},loadPluginsAsync$1={};function normalizeArray(e,t){for(var r=0,n=e.length-1;n>=0;n--){var i=e[n];"."===i?e.splice(n,1):".."===i?(e.splice(n,1),r++):r&&(e.splice(n,1),r--)}if(t)for(;r--;r)e.unshift("..");return e}var splitPathRe=/^(\/?|)([\s\S]*?)((?:\.{1,2}|[^\/]+?|)(\.[^.\/]*|))(?:[\/]*)$/,splitPath=function(e){return splitPathRe.exec(e).slice(1)};function resolve(){for(var e="",t=!1,r=arguments.length-1;r>=-1&&!t;r--){var n=r>=0?arguments[r]:"/";if("string"!=typeof n)throw new TypeError("Arguments to path.resolve must be strings");n&&(e=n+"/"+e,t="/"===n.charAt(0))}return(t?"/":"")+(e=normalizeArray(filter$2(e.split("/"),(function(e){return!!e})),!t).join("/"))||"."}function normalize(e){var t=isAbsolute(e),r="/"===substr(e,-1);return(e=normalizeArray(filter$2(e.split("/"),(function(e){return!!e})),!t).join("/"))||t||(e="."),e&&r&&(e+="/"),(t?"/":"")+e}function isAbsolute(e){return"/"===e.charAt(0)}function join$3(){return normalize(filter$2(Array.prototype.slice.call(arguments,0),(function(e,t){if("string"!=typeof e)throw new TypeError("Arguments to path.join must be strings");return e})).join("/"))}function relative$1(e,t){function r(e){for(var t=0;t<e.length&&""===e[t];t++);for(var r=e.length-1;r>=0&&""===e[r];r--);return t>r?[]:e.slice(t,r-t+1)}e=resolve(e).substr(1),t=resolve(t).substr(1);for(var n=r(e.split("/")),i=r(t.split("/")),a=Math.min(n.length,i.length),s=a,o=0;o<a;o++)if(n[o]!==i[o]){s=o;break}var l=[];for(o=s;o<n.length;o++)l.push("..");return(l=l.concat(i.slice(s))).join("/")}var sep="/",delimiter=":";function dirname$1(e){var t=splitPath(e),r=t[0],n=t[1];return r||n?(n&&(n=n.substr(0,n.length-1)),r+n):"."}function basename$3(e,t){var r=splitPath(e)[2];return t&&r.substr(-1*t.length)===t&&(r=r.substr(0,r.length-t.length)),r}function extname(e){return splitPath(e)[3]}var _polyfillNode_path={extname:extname,basename:basename$3,dirname:dirname$1,sep:sep,delimiter:delimiter,relative:relative$1,join:join$3,isAbsolute:isAbsolute,normalize:normalize,resolve:resolve};function filter$2(e,t){if(e.filter)return e.filter(t);for(var r=[],n=0;n<e.length;n++)t(e[n],n,e)&&r.push(e[n]);return r}var substr="b"==="ab".substr(-1)?function(e,t,r){return e.substr(t,r)}:function(e,t,r){return t<0&&(t=e.length+t),e.substr(t,r)},_polyfillNode_path$1=Object.freeze({__proto__:null,basename:basename$3,default:_polyfillNode_path,delimiter:delimiter,dirname:dirname$1,extname:extname,isAbsolute:isAbsolute,join:join$3,normalize:normalize,relative:relative$1,resolve:resolve,sep:sep}),require$$0$2=getAugmentedNamespace(_polyfillNode_path$1),parseRules$3={};const{isArray:isArray$a}=Array,isBool$2=e=>"boolean"==typeof e,isStr$2=e=>"string"==typeof e,isObj$1=e=>"object"==typeof e,{entries:entries$c}=Object,{stringify:stringify$6}=JSON,notSupportedError=e=>Error(`☝️ Rule format not supported ${e}: ${typeof e}`),rulesUsedInsteadOfMatchError=e=>Error(`☝️ Looks like you need to change "rules" to "match" for ${stringify$6(e)}`),stateOptionError=({rule:e,value:t})=>Error(`☝️ ${e}: state option can be "on" or "off" only, when used as string, received: "${t}"`),defaultOptions$3=()=>Object.create(null),parseState=(e,t)=>(validateState(e,t),"on"===t||"off"!==t&&t);function parseArray(e,t){const[r]=t,n=parseState(e,r);if(3===t.length){const[,r,i]=t;return{rule:e,state:n,plugin:null,msg:r,options:i}}const[,i=""]=t;return{rule:e,state:n,plugin:null,msg:"",options:i}}function validateState(e,t){if(isBool$2(t))return!0;if(/^(on|off)$/.test(t))return!0;if(isObj$1(t))return!0;throw stateOptionError({rule:e,value:t})}parseRules$3.parseRules=e=>{e=parseSubrules(e);const t=[];for(const[r,n]of entries$c(e)){if(isStr$2(n)){t.push({rule:r,state:parseState(r,n),plugin:null,msg:"",options:defaultOptions$3()});continue}if(isBool$2(n)){t.push({rule:r,state:n,plugin:null,msg:"",options:defaultOptions$3()});continue}if(!(isArray$a(n)&&n.length)){if(isObj$1(n))throw rulesUsedInsteadOfMatchError(n);throw notSupportedError(n)}t.push(parseArray(r,n))}return t};const cut$1=e=>e.split("/")[0];function parseSubrules(e){const t={};for(const[r,n]of entries$c(e))r.includes("/")&&parseState(r,n)&&(t[cut$1(r)]="on"),t[r]=n;return t}var mergeRules$2={};const defaultOptions$2=()=>Object.create(null);mergeRules$2.mergeRules=([e,t],r)=>{for(const n of r){if(n.rule!==e)continue;const{msg:r,options:i}=n;return{rule:e,plugin:t,msg:r,options:i}}return{rule:e,plugin:t,msg:"",options:defaultOptions$2()}};var validateRules$3={};const parseSlashes=e=>e.includes("/")?e.split("/").shift():e,parsePluginName=e=>e.replace("import:@putout/plugin-","").replace("@putout/plugin-","");validateRules$3.validateRules=({items:e,rules:t})=>{const r=Object.keys(t);for(const t of r){let r=!1,n=!1;for(const[i,a={}]of e){const e=parsePluginName(i);if(r=e===t,n=e===parseSlashes(t),r&&a.rules)throw Error(`Rule "${t}" cannot be applied to nested plugin "${i}"`);if(r||n)break}if(!r&&!n)throw Error(`No plugin found for a rule: "${t}"`)}};var isEnabled$4={isEnabled:(e,t)=>{for(const{rule:r,state:n}of t)if(r.includes("/")&&RegExp(`^${r}`).test(e))return n;for(const{rule:r,state:n}of t)if(r===e)return n;for(const{rule:r,state:n}of t)if(RegExp(`^${r}`).test(e))return n;return!0}},getLoadedRules$3={getLoadedRules:e=>{const t=[];for(const r of e){const{rule:e}=r;e.includes("/")||t.push(r)}return t}};const{parseRules:parseRules$2}=parseRules$3,{mergeRules:mergeRules$1}=mergeRules$2,{validateRules:validateRules$2}=validateRules$3,{isEnabled:isEnabled$3}=isEnabled$4,{getLoadedRules:getLoadedRules$2}=getLoadedRules$3;var rules$1={parseRules:parseRules$2,mergeRules:mergeRules$1,validateRules:validateRules$2,isEnabled:isEnabled$3,getLoadedRules:getLoadedRules$2},filterEnabledPlugins$2={};const{isEnabled:isEnabled$2,mergeRules:mergeRules}=rules$1,{isArray:isArray$9}=Array,maybeTuple=e=>isArray$9(e)?e:["on",e];function isExectRuleEnabled(e,t,r){if("on"===t)return!0;for(const{rule:t,state:n}of r)if(t.includes("/")&&RegExp(`^${t}`).test(e))return n;return!1}filterEnabledPlugins$2.filterEnabledPlugins=({plugins:e,cookedRules:t})=>{const r=[];for(const[n,i]of e){if(!isEnabled$2(n,t))continue;const[e,a]=maybeTuple(i);isExectRuleEnabled(n,e,t)&&r.push(mergeRules([n,a],t))}return r};var check$f={};const isString$6=e=>"string"==typeof e;check$f.check=e=>{if(!e||"object"!=typeof e)throw Error("options should be an object!")},check$f.checkRule=e=>{if(!isString$6(e))throw Error(`☝️ Looks like plugin name type is not 'string', but: '${typeof e}'`)};const{basename:basename$2}=require$$0$2,{parseRules:parseRules$1,validateRules:validateRules$1,isEnabled:isEnabled$1,getLoadedRules:getLoadedRules$1}=rules$1,{createAsyncLoader:createAsyncLoader$1}=asyncLoader,{parsePluginNames:parsePluginNames$1}=parsePluginNames$2,validatePlugin$1=validatePlugin$2,{filterEnabledPlugins:filterEnabledPlugins$1}=filterEnabledPlugins$2,{check:check$e,checkRule:checkRule$1}=check$f,loadPluginAsync=createAsyncLoader$1("plugin");function splitRule$1(e){return[e,"putout"]}async function loadPlugins$1({items:e,loadedRules:t}){const r=[],n=[];for(const[i,a]of e){if(!isEnabled$1(i,t))continue;checkRule$1(i);const[e]=splitRule$1(i),s=a||loadPluginAsync(e);n.push(parseRuleName(i)),r.push(s)}const i=await Promise.all(r),a=[];for(const[e,t]of n.entries()){const r=i[e];validatePlugin$1({plugin:r,rule:t});const{rules:n}=r;n?a.push(...extendRules$1(t,n)):a.push([t,r])}return a}function extendRules$1(e,t){const r=[],n=Object.entries(t);for(const[t,i]of n)r.push([`${e}/${t}`,i]);return r}function parseRuleName(e){if(e.startsWith("import:")){return basename$2(e.replace("import:","")).replace("plugin-","")}return e}loadPluginsAsync$1.loadPluginsAsync=async e=>{check$e(e);const{pluginNames:t=[],rules:r={}}=e,n=parseRules$1(r),i=getLoadedRules$1(n),a=parsePluginNames$1(t),s=await loadPlugins$1({items:a,loadedRules:i});return validateRules$1({rules:r,items:a}),filterEnabledPlugins$1({plugins:s,cookedRules:n})};const{nanomemoize:nanomemoize}=require$$0$3,{loadPlugin:loadPlugin}=load$1,{createAsyncLoader:createAsyncLoader}=asyncLoader,{parsePluginNames:parsePluginNames}=parsePluginNames$2,parseProcessorNames=parseProcessorNames$1,validatePlugin=validatePlugin$2,{loadPluginsAsync:loadPluginsAsync}=loadPluginsAsync$1,{parseRules:parseRules,validateRules:validateRules,isEnabled:isEnabled,getLoadedRules:getLoadedRules}=rules$1,{filterEnabledPlugins:filterEnabledPlugins}=filterEnabledPlugins$2,{check:check$d,checkRule:checkRule}=check$f,{isArray:isArray$8}=Array;function splitRule(e){return[e,"putout"]}function parseRule(e){return e.replace("import:@putout/plugin-","").replace("@putout/plugin-","")}lib$f.loadPluginsAsync=loadPluginsAsync,lib$f.loadProcessorsAsync=nanomemoize((async(e,t)=>{check$d(e);const{processors:r=[]}=e,n=parseProcessorNames(r),i=createAsyncLoader("processor"),a=[];for(const[e,r]of n)r?a.push(r):a.push(i(e,t));return await Promise.all(a)})),lib$f.createAsyncLoader=createAsyncLoader,lib$f.loadPlugins=e=>{check$d(e);const{pluginNames:t=[],rules:r={}}=e,n=parseRules(r),i=getLoadedRules(n),a=parsePluginNames(t),s=loadPlugins({items:a,loadedRules:i});return validateRules({rules:r,items:a}),filterEnabledPlugins({plugins:s,cookedRules:n})};const maybeFromTuple=e=>isArray$8(e)?e[1]:e;function loadPlugins({items:e,loadedRules:t}){const r=[];for(const[n,i]of e){if(!isEnabled(n,t))continue;checkRule(n);const e=parseRule(n),[a,s]=splitRule(n),o=maybeFromTuple(i)||loadPlugin({name:a,namespace:s});validatePlugin({plugin:o,rule:n});const{rules:l}=o;l?r.push(...extendRules(e,l)):r.push([e,o])}return r}function extendRules(e,t){const r=[],n=Object.entries(t);for(const[t,i]of n)r.push([`${e}/${t}`,i]);return r}var ms,hasRequiredMs,lib$e={},browser={exports:{}};function requireMs(){if(hasRequiredMs)return ms;hasRequiredMs=1;var e=1e3,t=60*e,r=60*t,n=24*r,i=7*n,a=365.25*n;function s(e,t,r,n){var i=t>=1.5*r;return Math.round(e/r)+" "+n+(i?"s":"")}return ms=function(o,l){l=l||{};var u=typeof o;if("string"===u&&o.length>0)return function(s){if((s=String(s)).length>100)return;var o=/^(-?(?:\d+)?\.?\d+) *(milliseconds?|msecs?|ms|seconds?|secs?|s|minutes?|mins?|m|hours?|hrs?|h|days?|d|weeks?|w|years?|yrs?|y)?$/i.exec(s);if(!o)return;var l=parseFloat(o[1]);switch((o[2]||"ms").toLowerCase()){case"years":case"year":case"yrs":case"yr":case"y":return l*a;case"weeks":case"week":case"w":return l*i;case"days":case"day":case"d":return l*n;case"hours":case"hour":case"hrs":case"hr":case"h":return l*r;case"minutes":case"minute":case"mins":case"min":case"m":return l*t;case"seconds":case"second":case"secs":case"sec":case"s":return l*e;case"milliseconds":case"millisecond":case"msecs":case"msec":case"ms":return l;default:return}}(o);if("number"===u&&isFinite(o))return l.long?function(i){var a=Math.abs(i);if(a>=n)return s(i,a,n,"day");if(a>=r)return s(i,a,r,"hour");if(a>=t)return s(i,a,t,"minute");if(a>=e)return s(i,a,e,"second");return i+" ms"}(o):function(i){var a=Math.abs(i);if(a>=n)return Math.round(i/n)+"d";if(a>=r)return Math.round(i/r)+"h";if(a>=t)return Math.round(i/t)+"m";if(a>=e)return Math.round(i/e)+"s";return i+"ms"}(o);throw new Error("val is not a non-empty string or a valid number. val="+JSON.stringify(o))},ms}function setup(e){function t(e){let n,i,a,s=null;function o(...e){if(!o.enabled)return;const r=o,i=Number(new Date),a=i-(n||i);r.diff=a,r.prev=n,r.curr=i,n=i,e[0]=t.coerce(e[0]),"string"!=typeof e[0]&&e.unshift("%O");let s=0;e[0]=e[0].replace(/%([a-zA-Z%])/g,((n,i)=>{if("%%"===n)return"%";s++;const a=t.formatters[i];if("function"==typeof a){const t=e[s];n=a.call(r,t),e.splice(s,1),s--}return n})),t.formatArgs.call(r,e);(r.log||t.log).apply(r,e)}return o.namespace=e,o.useColors=t.useColors(),o.color=t.selectColor(e),o.extend=r,o.destroy=t.destroy,Object.defineProperty(o,"enabled",{enumerable:!0,configurable:!1,get:()=>null!==s?s:(i!==t.namespaces&&(i=t.namespaces,a=t.enabled(e)),a),set:e=>{s=e}}),"function"==typeof t.init&&t.init(o),o}function r(e,r){const n=t(this.namespace+(void 0===r?":":r)+e);return n.log=this.log,n}function n(e){return e.toString().substring(2,e.toString().length-2).replace(/\.\*\?$/,"*")}return t.debug=t,t.default=t,t.coerce=function(e){if(e instanceof Error)return e.stack||e.message;return e},t.disable=function(){const e=[...t.names.map(n),...t.skips.map(n).map((e=>"-"+e))].join(",");return t.enable(""),e},t.enable=function(e){let r;t.save(e),t.namespaces=e,t.names=[],t.skips=[];const n=("string"==typeof e?e:"").split(/[\s,]+/),i=n.length;for(r=0;r<i;r++)n[r]&&("-"===(e=n[r].replace(/\*/g,".*?"))[0]?t.skips.push(new RegExp("^"+e.slice(1)+"$")):t.names.push(new RegExp("^"+e+"$")))},t.enabled=function(e){if("*"===e[e.length-1])return!0;let r,n;for(r=0,n=t.skips.length;r<n;r++)if(t.skips[r].test(e))return!1;for(r=0,n=t.names.length;r<n;r++)if(t.names[r].test(e))return!0;return!1},t.humanize=requireMs(),t.destroy=function(){console.warn("Instance method `debug.destroy()` is deprecated and no longer does anything. It will be removed in the next major version of `debug`.")},Object.keys(e).forEach((r=>{t[r]=e[r]})),t.names=[],t.skips=[],t.formatters={},t.selectColor=function(e){let r=0;for(let t=0;t<e.length;t++)r=(r<<5)-r+e.charCodeAt(t),r|=0;return t.colors[Math.abs(r)%t.colors.length]},t.enable(t.load()),t}var common=setup;!function(e,t){t.formatArgs=function(t){if(t[0]=(this.useColors?"%c":"")+this.namespace+(this.useColors?" %c":" ")+t[0]+(this.useColors?"%c ":" ")+"+"+e.exports.humanize(this.diff),!this.useColors)return;const r="color: "+this.color;t.splice(1,0,r,"color: inherit");let n=0,i=0;t[0].replace(/%[a-zA-Z%]/g,(e=>{"%%"!==e&&(n++,"%c"===e&&(i=n))})),t.splice(i,0,r)},t.save=function(e){try{e?t.storage.setItem("debug",e):t.storage.removeItem("debug")}catch(e){}},t.load=function(){let e;try{e=t.storage.getItem("debug")}catch(e){}!e&&void 0!==browser$1$1&&"env"in browser$1$1&&(e=browser$1$1.env.DEBUG);return e},t.useColors=function(){if("undefined"!=typeof window&&window.process&&("renderer"===window.process.type||window.process.__nwjs))return!0;if("undefined"!=typeof navigator&&navigator.userAgent&&navigator.userAgent.toLowerCase().match(/(edge|trident)\/(\d+)/))return!1;return"undefined"!=typeof document&&document.documentElement&&document.documentElement.style&&document.documentElement.style.WebkitAppearance||"undefined"!=typeof window&&window.console&&(window.console.firebug||window.console.exception&&window.console.table)||"undefined"!=typeof navigator&&navigator.userAgent&&navigator.userAgent.toLowerCase().match(/firefox\/(\d+)/)&&parseInt(RegExp.$1,10)>=31||"undefined"!=typeof navigator&&navigator.userAgent&&navigator.userAgent.toLowerCase().match(/applewebkit\/(\d+)/)},t.storage=function(){try{return localStorage}catch(e){}}(),t.destroy=(()=>{let e=!1;return()=>{e||(e=!0,console.warn("Instance method `debug.destroy()` is deprecated and no longer does anything. It will be removed in the next major version of `debug`."))}})(),t.colors=["#0000CC","#0000FF","#0033CC","#0033FF","#0066CC","#0066FF","#0099CC","#0099FF","#00CC00","#00CC33","#00CC66","#00CC99","#00CCCC","#00CCFF","#3300CC","#3300FF","#3333CC","#3333FF","#3366CC","#3366FF","#3399CC","#3399FF","#33CC00","#33CC33","#33CC66","#33CC99","#33CCCC","#33CCFF","#6600CC","#6600FF","#6633CC","#6633FF","#66CC00","#66CC33","#9900CC","#9900FF","#9933CC","#9933FF","#99CC00","#99CC33","#CC0000","#CC0033","#CC0066","#CC0099","#CC00CC","#CC00FF","#CC3300","#CC3333","#CC3366","#CC3399","#CC33CC","#CC33FF","#CC6600","#CC6633","#CC9900","#CC9933","#CCCC00","#CCCC33","#FF0000","#FF0033","#FF0066","#FF0099","#FF00CC","#FF00FF","#FF3300","#FF3333","#FF3366","#FF3399","#FF33CC","#FF33FF","#FF6600","#FF6633","#FF9900","#FF9933","#FFCC00","#FFCC33"],t.log=console.debug||console.log||(()=>{}),e.exports=common(t);const{formatters:r}=e.exports;r.j=function(e){try{return JSON.stringify(e)}catch(e){return"[UnexpectedJSONParseError]: "+e.message}}}(browser,browser.exports);var browserExports=browser.exports;browserExports.default;const tryCatch$3=tryCatch$6,debug$4=browserExports("putout:runner:fix"),{enabled:enabled}=debug$4,{stringify:stringify$5}=JSON,isFn$5=e=>"function"==typeof e,getPath$2=e=>e.path||e,chooseFixArgs=({path:e,pathOptions:t,options:r})=>t?[e,t,{options:r}]:[e,{options:r}],tryToFix=(e,{path:t,pathOptions:r,position:n,options:i})=>{const[a]=tryCatch$3(e,...chooseFixArgs({path:t,pathOptions:r,options:i})),{scope:s}=t.path||t;if(!a&&s&&s.getProgramParent().crawl(),a)throw a.loc=a.loc||n,a};var runFix$3=(e,t,{path:r,pathOptions:n,rule:i,position:a,options:s})=>{e&&(enabled&&debug$4(`fix: ${i}`,a,getPath$2(r).toString()),validate$1("fix",t),tryToFix(t,{path:r,pathOptions:n,position:a,options:s}))};function validate$1(e,t){if(!isFn$5(t))throw Error(`☝️ Looks like '${e}' is not a 'function' but '${typeof t}' with value: '${stringify$5(t)}'. More on writing 🐊Putout Plugins: https://git.io/JqcMn`)}var getPosition$2={};const getPath$1=e=>e.path||e[0]||e;function validatePath(e){if(!e.node)throw Error("☝️ Looks like 'push' called without a 'path' argument.")}getPosition$2.getPath=getPath$1,getPosition$2.getPosition=(e,t)=>{const r=getPath$1(e);validatePath(r);const{node:n}=r,{loc:i}=n;if(!i)return{line:0,column:0};const{line:a,column:s}=n.loc.start;return{line:t?a+1:a,column:s}};const{isArray:isArray$7}=Array,maybeArray$6=e=>isArray$7(e)?e:[e];var maybeArray_1=e=>e?maybeArray$6(e):[],store={};const{values:values$2,entries:entries$b,assign:assign$8}=Object,toArray=e=>Array.from(e),isNotRemoved=e=>e.node,notRemoved=e=>toArray(e).filter(isNotRemoved),id=e=>e;function createStore({set:e,get:t}){return(r={})=>{const n=(...n)=>{if(!n.length)return t(r);const[i,a]=n;if(1===n.length)return r[i];e(r,i,a)};return n.clear=()=>{r={}},n.entries=()=>entries$b(r),n}}function createListStore(e=id){return(t=new Set)=>{const r=(...r)=>{if(!r.length)return e(toArray(t));const[n]=r;t.add(n)};return r.clear=()=>{const r=t;return t=new Set,e(toArray(r))},r}}store.listStore=createListStore(),store.pathStore=createListStore(notRemoved),store.mapStore=createStore({get:e=>values$2(e),set(e,t,r){e[t]=r}}),store.upStore=createStore({get:e=>values$2(e),set(e,t,r){e[t]=e[t]||{},assign$8(e[t],r)}}),store.upListStore=createStore({get:e=>values$2(e).map(notRemoved),set(e,t,r){e[t]=e[t]||new Set,e[t].add(r)}});const{traverse:traverse$j}=bundle,{generate:generate$5}=parser$6,runFix$2=runFix$3,{getPosition:getPosition$1}=getPosition$2,maybeArray$5=maybeArray_1,{listStore:listStore,mapStore:mapStore,upStore:upStore,upListStore:upListStore,pathStore:pathStore}=store,shouldSkip=e=>!e.parent,{merge:merge$2}=traverse$j.visitors,{assign:assign$7}=Object,parse$2=(e,t,r)=>{const n=[];return t[e]&&n.push(...maybeArray$5(t[e]())),r[e]&&n.push(...maybeArray$5(r[e])),n};var mergeVisitors$1=(e,{fix:t,shebang:r,template:n})=>{const i=[],a={};for(const{rule:s,plugin:o,msg:l,options:u}of e){const{push:e,pull:c,store:p,upstore:d,listStore:f,pathStore:h,uplist:m}=getStore(o,{fix:t,rule:s,shebang:r,msg:l,options:u});a[s]=c;const y=o.traverse({push:e,store:p,listStore:f,pathStore:h,upstore:d,uplist:m,generate:generate$5,options:u});if(!y)throw Error(`☝️ Visitors cannot be empty in "${s}"`);assign$7(u,{include:parse$2("include",o,u),exclude:parse$2("exclude",o,u)}),i.push(...n({rule:s,visitor:y,options:u}))}return{entries:Object.entries(a),visitor:{shouldSkip:shouldSkip,...merge$2(i)}}};function getStore(e,{fix:t,rule:r,shebang:n,msg:i,options:a}){const s=mapStore(),o=listStore(),l=upStore(),u=listStore(),c=upListStore(),p=pathStore();return{push:(s,o)=>{const l=getPosition$1(s,n),c=i||e.report(s,o);u({message:c,position:l}),runFix$2(t,e.fix,{path:s,pathOptions:o,rule:r,position:l,options:a})},pull:()=>(s.clear(),o.clear(),l.clear(),c.clear(),p.clear(),u.clear()),store:s,listStore:o,upstore:l,uplist:c,pathStore:p}}mergeVisitors$1.default;const{traverse:babelTraverse$1,types:types$$}=bundle,{generate:generate$4}=parser$6,{merge:merge$1}=babelTraverse$1.visitors;var superFind$1=function({rule:e,find:t,ast:r,options:n,template:i}){const a=[],s=t(r,{traverse:traverse$i({rule:e,options:n,template:i}),generate:generate$4,types:types$$,push:e=>{a.push(e)},options:n});return[...a,...s||[]]};function traverse$i({rule:e,options:t,template:r}){return(n,i)=>{const a=merge$1(r({rule:e,visitor:i,options:t}));return babelTraverse$1(n,a)}}const log$5=browserExports("putout:runner:include"),maybeArray$4=maybeArray_1,{stringify:stringify$4}=JSON,stub$1=()=>[],good=()=>!0,isFn$4=e=>"function"==typeof e;var include$3=({rule:e,plugin:t,msg:r,options:n})=>{const{fix:i,report:a,include:s,exclude:o=stub$1,filter:l=good}=t;validate("include",s),validate("report",a);const u=getTraverse$1(s(),l,e);return{rule:e,msg:r,options:{...n,exclude:[...o(),...maybeArray$4(n.exclude)]},plugin:{report:a,fix:i,traverse:u}}};const prePush=({rule:e,filter:t,push:r,options:n})=>i=>{log$5(e),t(i,{options:n})&&r(i)},getTraverse$1=(e,t,r)=>({push:n,options:i})=>{const a={},s=prePush({rule:r,filter:t,push:n,options:i});for(const t of e)a[t]=s;return a};function validate(e,t){if(!isFn$4(t))throw Error(`☝️ Looks like '${e}' is not a 'function' but '${typeof t}' with value: '${stringify$4(t)}'. More on using Includer: https://git.io/JqcMn`)}var replace$d={exports:{}},compare$m={},vars={};const empty=e=>!Object.keys(e).length;var jessy$1=(e,t,r)=>{if(r||(r=t,t="."),check$c(e,r),!e)return r;if(empty(r))return;const n=e.split(t);return n.some(((e,i)=>{const a=n.slice(i).join(t);return void 0!==r[a]?(r=r[a],!0):r[e]?!(r=r[e]):(r=void 0,!0)})),r};function check$c(e,t){if("string"!=typeof e)throw Error("selector should be string!");if("object"!=typeof t)throw Error("obj should be object!")}const notSecure=e=>/__proto__|prototype/.test(e);var nessy$1=(e,t,r,n)=>{n||(n=r||{},r=".");const i=n;check$b(e);const a=e.split(r);for(let e=0;e<a.length;e++){const r=a[e];notSecure(r)||(e===a.length-1?n[r]=t:n[r]||(n[r]={}),n=n[r])}return i};function check$b(e){if("string"!=typeof e)throw Error("selector should be string!")}var is$2={};const{template:template$e}=parser$6,{types:types$_}=bundle,{isBlockStatement:isBlockStatement$b,isBooleanLiteral:isBooleanLiteral,isIdentifier:isIdentifier$k,isLiteral:isLiteral$3,isTemplateElement:isTemplateElement$2,isFunction:isFunction$5,isImportDefaultSpecifier:isImportDefaultSpecifier$2,isExportSpecifier:isExportSpecifier,isRegExpLiteral:isRegExpLiteral$2,isTSTypeParameter:isTSTypeParameter,isJSXText:isJSXText$1,isJSXIdentifier:isJSXIdentifier$1,isJSXAttribute:isJSXAttribute,isTSTypeReference:isTSTypeReference$1}=types$_,isStr$1=e=>"string"==typeof e,ANY_OBJECT="__object",ANY_ARRAY="__array",ARGS="__args",IMPORTS="__imports",EXPORTS="__exports",BODY="__body",JSX_CHILDREN="__jsx_children",JSX_ATTRIBUTES="__jsx_attributes",NOP="__nop",ANY="__",ID="__identifier",BOOL="__bool",LINKED_NODE=/^__[a-z]$/,LINKED_ARGS=/__args__[a-z]$/,LINKED_ID=/^__identifier__[a-z]$/,LINKED_BOOL=/^__bool__[a-z]$/,ALL=["__object","__array",ARGS,BOOL,JSX_CHILDREN,JSX_ATTRIBUTES,IMPORTS,EXPORTS,BODY,ANY,ID,LINKED_NODE,LINKED_ARGS,LINKED_ID,LINKED_BOOL];function check$a(e,t){return isStr$1(t)?e===t:t.test(e)}is$2.isTemplate=e=>/[(;={.\s]/.test(e)||!/^[A-Z]/.test(e),is$2.is=(e,t=ALL)=>{for(const r of t)if(check$a(e,r))return!0;return!1},is$2.isNameStr=e=>LINKED_NODE.test(e),is$2.isImportsStr=e=>e===IMPORTS,is$2.isExportsStr=e=>e===EXPORTS,is$2.isArgsStr=e=>e===ARGS||LINKED_ARGS.test(e),is$2.isJSXChildrenStr=e=>e===JSX_CHILDREN,is$2.isJSXAttributesStr=e=>e===JSX_ATTRIBUTES,is$2.isObjectStr=e=>"__object"===e,is$2.isArrayStr=e=>"__array"===e,is$2.isAnyStr=e=>e===ANY;const isBody=e=>isIdentifier$k(e,{name:BODY}),isNop=e=>isIdentifier$k(e,{name:NOP}),isAnyObject=e=>isIdentifier$k(e,{name:"__object"}),isAnyArray=e=>isIdentifier$k(e,{name:"__array"}),isId$1=(e,t)=>!!isIdentifier$k(t,{name:ID})&&isIdentifier$k(e),isBool$1=(e,t)=>!!isIdentifier$k(t,{name:BOOL})&&isBooleanLiteral(e),isEqualType$1=(e,t)=>e.type===t.type,{isArray:isArray$6}=Array;is$2.isId=isId$1,is$2.isBool=isBool$1,is$2.isEqualType=isEqualType$1,is$2.isStr=e=>"string"==typeof e,is$2.isAny=e=>!!isIdentifier$k(e,{name:ANY})||isJSXText$1(e,{value:ANY}),is$2.isAnyLiteral=(e,t)=>!!isLiteral$3(t,{value:ANY})&&isEqualType$1(e,t),is$2.isArgs=e=>{const t=isArray$6(e)?e[0]:e;return isIdentifier$k(t,{name:ARGS})},is$2.isLinkedArgs=e=>{const t=isArray$6(e)?e[0]:e;return isIdentifier$k(t)&&LINKED_ARGS.test(t.name)},is$2.isJSXChildren=e=>{const t=isArray$6(e)?e[0]:e;return isJSXText$1(t,{value:JSX_CHILDREN})},is$2.isJSXAttributes=e=>{const t=isArray$6(e)?e[0]:e;return!!isJSXAttribute(t)&&isJSXIdentifier$1(t.name,{name:JSX_ATTRIBUTES})},is$2.isLinkedId=(e,t)=>!(!isIdentifier$k(t)||!LINKED_ID.test(t.name))&&isIdentifier$k(e),is$2.isLinkedBool=(e,t)=>!(!isIdentifier$k(t)||!LINKED_BOOL.test(t.name))&&isBooleanLiteral(e),is$2.isLinkedRegExp=(e,t)=>!(!isRegExpLiteral$2(t)||!LINKED_NODE.test(t.pattern))&&isRegExpLiteral$2(e),is$2.isPath=e=>Boolean(e.node),is$2.isArray=isArray$6,is$2.isObject=e=>!!e&&(!isArray$6(e)&&"object"==typeof e),is$2.isArrays=(e,t)=>!(!isArray$6(e)||!isArray$6(t))&&e.length===t.length,is$2.isImports=e=>{const t=isArray$6(e)?e[0]:e;return!!isImportDefaultSpecifier$2(t)&&isIdentifier$k(t.local,{name:IMPORTS})},is$2.isExports=e=>{const t=isArray$6(e)?e[0]:e;return!!isExportSpecifier(t)&&isIdentifier$k(t.local,{name:EXPORTS})};const __OBJECT_TYPE="ObjectPattern|ObjectExpression",__ARRAY_TYPE="ArrayPattern|ArrayExpression";is$2.isEqualAnyArray=(e,t)=>{if(!isAnyArray(t))return!1;const{type:r}=e;return __ARRAY_TYPE.includes(r)},is$2.isEqualAnyObject=(e,t)=>{if(!isAnyObject(t))return!1;const{type:r}=e;return __OBJECT_TYPE.includes(r)},is$2.isEqualBody=(e,t)=>!!e&&(!!isBody(t)&&"BlockStatement"===e.type),is$2.isEqualNop=(e,t)=>{if(!isNop(t))return!1;if(!isFunction$5(e))return!1;const{body:r}=e;return!!isBlockStatement$b(r)&&!r.body.length},is$2.isLinkedNode=e=>!(!isIdentifier$k(e)||!LINKED_NODE.test(e.name))||(!(!isLiteral$3(e)||!LINKED_NODE.test(e.value))||(!(!isJSXText$1(e)||!LINKED_NODE.test(e.value))||(!(!isJSXIdentifier$1(e)||!LINKED_NODE.test(e.name))||(!(!isTemplateElement$2(e)||!LINKED_NODE.test(e.value.raw))||(!(!isTSTypeReference$1(e)||!LINKED_NODE.test(e.typeName.name))||isTSTypeParameter(e)&&LINKED_NODE.test(e.name)))))),is$2.parseTemplate=(e,{program:t}={})=>{const r=(t?template$e.program.ast:template$e.ast)(e)||template$e.ast.fresh(e);if("__object"===e)return[r,__OBJECT_TYPE];if("__array"===e)return[r,__ARRAY_TYPE];const{type:n}=r;return[r,n]},is$2.isInsideTypeReference=e=>e.isIdentifier()&&e.parentPath?.isTSTypeReference();const jessy=jessy$1,nessy=nessy$1,{traverse:traverse$h,types:types$Z}=bundle,{template:template$d}=parser$6,{replaceWith:replaceWith$q,extract:extract}=operate,{is:is$1,isArgsStr:isArgsStr,isJSXChildrenStr:isJSXChildrenStr,isJSXAttributesStr:isJSXAttributesStr,isImportsStr:isImportsStr,isExportsStr:isExportsStr,isInsideTypeReference:isInsideTypeReference}=is$2,{isIdentifier:isIdentifier$j,isStatement:isStatement$1,isJSXElement:isJSXElement,isLiteral:isLiteral$2,isTemplateLiteral:isTemplateLiteral$2,TemplateElement:TemplateElement}=types$Z,{entries:entries$a}=Object,isNumber=e=>"number"==typeof e,isString$5=e=>"string"==typeof e,parseExpression$1=e=>e?.expression||e,parseNode$1=e=>e.node||e,{stringify:stringify$3}=JSON;function findVarsWays$2(e){if(isIdentifier$j(e)&&is$1(e.name))return{[e.name]:[""]};const t={};return traverse$h(e,{noScope:!0,"Identifier|BooleanLiteral|StringLiteral|TemplateElement|RegExpLiteral|JSXText|JSXAttribute|TSTypeReference"(e){if(isInsideTypeReference(e))return;const{node:r}=e,n=[],i=extract(r);is$1(i)&&(e.find((({key:e,listKey:t})=>{isNumber(e)?n.unshift(`${t}.${e}`):n.unshift(e)})),t[i]=t[i]||[],t[i].push(n.join(".")))}}),t}function getValues$2({waysFrom:e,node:t}){const r={};for(const[n,i]of entries$a(e))for(let e of i)isImportsStr(n)||isExportsStr(n)?e=e.replace(/\.0.local$/,""):(isArgsStr(n)||isJSXChildrenStr(n)||isJSXAttributesStr(n))&&(e=e.replace(/\.0$/,"")),isJSXElement(t)||(e=e.replace(/\.expression$/,"")),r[n]=r[n]||parseExpression$1(jessy(e,t));return r}vars.getTemplateValues=(e,t)=>{if(!isString$5(t))throw Error(`☝️ Looks like argument 'template' of 'getTemplateValues(node, template)': is not a string, but '${stringify$3(t)}'`);return getValues$2({node:e=parseNode$1(e),waysFrom:findVarsWays$2(template$d.ast(t))})},vars.findVarsWays=findVarsWays$2,vars.getValues=getValues$2;const makeRaw=e=>e.replace("`","\\`");function setValues$2({waysTo:e,values:t,path:r}){const n=parseExpression$1(r.node);for(const[i,a]of entries$a(e))for(let e of a){if(!e){replaceWith$q(r,t[i]);continue}if((isArgsStr(i)||isJSXChildrenStr(i)||isJSXAttributesStr(i))&&(e=e.replace(/\.0$/,"")),isStatement$1(t[i])&&(e=e.replace(/\.expression$/,"")),isLiteral$2(t[i])&&isTemplateLiteral$2(n)){const{value:r}=t[i],a=TemplateElement({raw:makeRaw(r)});nessy(e,a,n);continue}const{extra:a}=jessy(e,n),s=t[i].extra;t[i].extra={...a,...s},nessy(e,t[i],n)}}vars.setValues=setValues$2;var comparators$2={},log$4={exports:{}};const debug$3=browserExports("putout:compare"),{isArray:isArray$5}=Array,isObject$2=e=>e&&"object"==typeof e;function parseValue(e){if(isArray$5(e)&&e[0]){const[{type:t,name:r,value:n}]=e;return`${t}: ["${r||n}"]`}if(isObject$2(e)){const{type:t,name:r,value:n}=e;return`${t}: "${r||n}"`}return`${typeof e}: "${e}"`}log$4.exports=(e,t)=>{if(!debug$3.enabled)return;const r=parseValue(e),n=parseValue(t);return debug$3(`${r} = ${n}`)},log$4.exports._parseValue=parseValue;var logExports=log$4.exports;const{types:types$Y}=bundle,{isIdentifier:isIdentifier$i,isLiteral:isLiteral$1,isStringLiteral:isStringLiteral$2,isTemplateElement:isTemplateElement$1,isTSTypeReference:isTSTypeReference}=types$Y,parseName=e=>{e=e[0]||e;const{name:t,value:r}=e;return isIdentifier$i(e)?t:isLiteral$1(e)?r:isTemplateElement$1(e)?e.value.cooked:isTSTypeReference(e)?e.typeName.name:void 0};var link$1=({add:e,value:t,nodeValue:r,templateStore:n})=>{const i=parseName(t);return!(isStringLiteral$2(t)&&!isStringLiteral$2(r))&&(n[i]?(isTSTypeReference(n[i])&&isIdentifier$i(r)||e(n[i],r),!0):(n[i]=r,!0))};const log$3=logExports,link=link$1,{is:is,isId:isId,isBool:isBool,isObject:isObject$1,isArrays:isArrays,isAny:isAny,isAnyLiteral:isAnyLiteral,isArgs:isArgs$1,isJSXChildren:isJSXChildren,isJSXAttributes:isJSXAttributes,isLinkedArgs:isLinkedArgs,isLinkedId:isLinkedId$1,isLinkedBool:isLinkedBool,isImports:isImports,isExports:isExports,isEqualAnyObject:isEqualAnyObject$1,isEqualAnyArray:isEqualAnyArray$1,isEqualBody:isEqualBody$1,isEqualNop:isEqualNop$1,isLinkedNode:isLinkedNode$1,isLinkedRegExp:isLinkedRegExp$1}=is$2,{types:types$X}=bundle,{isClassBody:isClassBody,isBlock:isBlock$1,isJSXText:isJSXText,isTemplateElement:isTemplateElement}=types$X,isEmptyBlock=e=>isBlock$1(e)&&!e.body.length,isPrimitive=e=>"object"!=typeof e||null===e,second=e=>(t,r)=>e(r),comparators$1=[compareTemplateElements,compareJSXTexts,compareAny$3,comparePrimitives,second(isClassBody),second(isEmptyBlock),second(isAny),isId,isBool,isEqualAnyArray$1,isEqualAnyObject$1,isEqualBody$1,isEqualNop$1,isLinkedRegExp$1,linkNodes,isAnyLiteral,second(isImports),second(isExports),second(isArgs$1),second(isJSXChildren),second(isJSXAttributes),addObject,compareArrays];function compareAny$3(e,t){return"__"===t}function comparePrimitives(e,t){return isPrimitive(t)&&!is(t)&&t===e}function compareArrays(e,t,{add:r}){const n=isArrays(e,t);return n&&r(e,t),n}function compareTemplateElements(e,t){if(!isTemplateElement(e)||!isTemplateElement(t))return!1;const r=e.value.raw===t.value.raw,n=e.value.cooked===t.value.cooked,i=e.tail===t.tail;return r&&n&&i}function linkNodes(e,t,{add:r,templateStore:n}){return!!(e&&isLinkedNode$1(t)||isLinkedArgs(t)||isLinkedId$1(e,t)||isLinkedBool(e,t))&&link({add:r,value:t,nodeValue:e,templateStore:n})}function addObject(e,t,{add:r}){const n=isObject$1(t);return n&&r(e,t),n}function compareJSXTexts(e,t){return!(!isJSXText(e)||!isJSXText(t))&&(/^\s+$/.test(t.value)&&/^\s+$/.test(e.value))}comparators$2.runComparators=(e,t,{add:r,templateStore:n})=>{let i=-1;const a=comparators$1.length;for(log$3(t,e);++i<a;){if((0,comparators$1[i])(e,t,{add:r,templateStore:n}))return!0}return!1};var topLevelComparators={};const{types:types$W}=bundle,{isEqualBody:isEqualBody,isEqualAnyObject:isEqualAnyObject,isEqualAnyArray:isEqualAnyArray,isLinkedNode:isLinkedNode,isLinkedId:isLinkedId,isLinkedRegExp:isLinkedRegExp,isEqualNop:isEqualNop}=is$2,{isIdentifier:isIdentifier$h,isStringLiteral:isStringLiteral$1}=types$W,comparators=[isEqualAnyObject,isEqualAnyArray,isEqualNop,isLinkedAndIdentifier,isLinkedAndStringLiteral,isLinkedId,isLinkedRegExp,isEqualBody];function isLinkedAndIdentifier(e,t){return isIdentifier$h(e)&&isLinkedNode(t)}function isLinkedAndStringLiteral(e,t){return isStringLiteral$1(e)&&isLinkedNode(t)}topLevelComparators.runTopLevelComparators=(e,t)=>{let r=-1;const n=comparators.length;for(;++r<n;){if((0,comparators[r])(e,t))return!0}return!1};const{template:template$c}=parser$6,{types:types$V}=bundle,{findVarsWays:findVarsWays$1,getValues:getValues$1,setValues:setValues$1,getTemplateValues:getTemplateValues$a}=vars,{runComparators:runComparators}=comparators$2,{runTopLevelComparators:runTopLevelComparators}=topLevelComparators,{isStr:isStr,isPath:isPath$1,isEqualType:isEqualType,isTemplate:isTemplate$2,parseTemplate:parseTemplate$2}=is$2,{isExpressionStatement:isExpressionStatement$2}=types$V,{keys:keys$6}=Object,{isArray:isArray$4}=Array,noop$2=()=>{},isEmptyArray=e=>isArray$4(e)&&!e.length,compareType=e=>t=>t.type===e,extractExpression=e=>isExpressionStatement$2(e)?e.expression:e,superPush=e=>(t,r)=>e.push([t,r]),maybeArray$3=e=>isArray$4(e)?e:[e],findParent=(e,t)=>{const r=e.findParent(compareType(t));return r?r.node:null};function parseNode(e){return isStr(e)?template$c.ast(e):e.node?e.node:e}function compare$l(e,t,r={},n=noop$2){const{findUp:i=!0}=r;if(!e&&!t)return!0;if(!e)return!1;if(!t)return!1;const a=extractExpression(parseNode(e)),s=extractExpression(parseNode(t));if(n(a,s),a.type===t)return!0;if(runTopLevelComparators(a,s))return!0;if(i&&isPath$1(e)&&!isEqualType(a,s)){const{type:t}=s;return superCompareIterate(findParent(e,t),s)}return superCompareIterate(a,s)}compare$m.compare=compare$l,compare$m.parseTemplate=parseTemplate$2,compare$m.isTemplate=isTemplate$2,compare$m.findVarsWays=findVarsWays$1,compare$m.getValues=getValues$1,compare$m.setValues=setValues$1,compare$m.getTemplateValues=getTemplateValues$a,compare$m.compareAny=(e,t,r)=>{t=maybeArray$3(t);for(const n of t)if(compare$l(e,n,r))return!0;return!1},compare$m.compareAll=(e,t,r)=>{t=maybeArray$3(t);for(const n of t)if(!compare$l(e,n,r))return!1;return!0};const ignore$2=["loc","start","end","directives","extra","raw","comments","leadingComments","innerComments","parent","phase","range","trailingComments","importKind","exportKind"];function superCompareIterate(e,t){let r=[e,t];const n=[r],i={},a=superPush(n);for(;r=n.pop();){const[e,t]=r;if(!e||isEmptyArray(e)&&!isEmptyArray(t))return!1;for(const r of keys$6(t)){if(ignore$2.includes(r))continue;const n=extractExpression(e[r]),s=extractExpression(t[r]);if(!runComparators(n,s,{add:a,templateStore:i}))return!1}}return!0}var watermark$1={exports:{}};const wrap$3=e=>(...t)=>(...r)=>e(...t,...r);var wraptile$1=(e,...t)=>(check$9(e),t.length?wrap$3(e)(...t):wrap$3(e));function check$9(e){if("function"!=typeof e)throw Error("fn should be a function!")}const{entries:entries$9}=Object,{isArray:isArray$3}=Array;var findPath$1=e=>{let t={parentPath:e};const r=[];for(;t=t.parentPath;)r.unshift(findKey(t,t.parent));return r.join(".")};function findKey(e,t){const{node:r}=e;for(const[e,n]of entries$9(t))if(isArray$3(n)){const t=n.indexOf(r);if(t>=0)return`${e}.${t}`}else if(n===r)return e}const wraptile=wraptile$1,findPath=findPath$1,{types:types$U}=bundle,{isProgram:isProgram$2}=types$U,name="__putout_runner_replace",hasWatermark=e=>t=>t.node?.[name]?.has(e);function create(e,t,r){const n=`${e} -> ${t}`;return{watermark:n,highWatermark:`${findPath(r)}: ${n}`}}function init$1({path:e,program:t}){e.node&&(e.node[name]=e.node[name]||new Set),t.node[name]=t.node[name]||new Set}function add$1({path:e,program:t,watermark:r,highWatermark:n}){init$1({path:e,program:t}),e?.node[name].add(r),t.node[name].add(n)}function has({path:e,program:t,watermark:r,highWatermark:n}){return!(!e.node?.[name].has(r)&&!e.findParent(hasWatermark(r)))||t.node[name].has(n)}watermark$1.exports=(e,t,r)=>{const{watermark:n,highWatermark:i}=create(e,t,r),a={watermark:n,highWatermark:i,program:r.findParent(isProgram$2)||r,path:r};return{init:wraptile(init$1,a),has:wraptile(has,a),add:wraptile(add$1,a)}},watermark$1.exports.REPLACE_WATERMARK=name,watermark$1.exports.create=create,watermark$1.exports.init=init$1,watermark$1.exports.add=add$1,watermark$1.exports.has=has;var watermarkExports=watermark$1.exports;const{template:template$b,print:print$2}=parser$6,{remove:remove$t,replaceWith:replaceWith$p}=operate,{types:types$T}=bundle,{compare:compare$k,findVarsWays:findVarsWays,getValues:getValues,setValues:setValues}=compare$m,debug$2=browserExports("putout:runner:replace"),maybeArray$2=maybeArray_1,watermark=watermarkExports,{isExpression:isExpression$2,isStatement:isStatement,isExpressionStatement:isExpressionStatement$1}=types$T,PRINT_OPTIONS={printer:["putout",{format:{newline:"",indent:"",splitter:" ",endOfFile:""}}]},isString$4=e=>"string"==typeof e,log$2=(e,t)=>{debug$2.enabled&&debug$2(`${e} -> ${t}\n`)},{keys:keys$5,entries:entries$8}=Object,{stringify:stringify$2}=JSON,stub=()=>[],stubMatch=()=>({}),packKeys=e=>()=>keys$5(e),isObj=e=>"object"==typeof e;replace$d.exports=({rule:e,plugin:t,msg:r,options:n})=>{const{report:i,exclude:a=stub,replace:s,filter:o=getFilter(t.match,n)}=t,l=s({options:n}),u=getFix(l),c=packKeys(l);return{rule:e,msg:r,options:{...n,exclude:[...a(),...maybeArray$2(n.exclude)]},plugin:{report:i,fix:u,filter:o,include:c}}},replace$d.exports.clearWatermark=e=>{delete e.program[watermark.REPLACE_WATERMARK]};const isFn$3=e=>"function"==typeof e,fix$9=(e,t,r)=>{const n=template$b.ast(e),i=watermark(e,t,r);if(i.init(),i.has())return;if(!compare$k(r,n,{findUp:!1}))return;const a=findVarsWays(n),{node:s}=r,o=getValues({waysFrom:a,node:s}),l=parseTo(t,o,r);if(!l)return log$2(e,"''"),remove$t(r);checkExpressionStatement(n,l,r);const u=findVarsWays(l),c=replaceWith$p(r,l);validateTemplateValues(u,a),setValues({waysTo:u,values:o,path:c}),i.add(),r.scope.getBlockParent().crawl(),log$2(e,c)},getFix=e=>t=>{for(const[r,n]of entries$8(e))fix$9(r,n,t)},getFilter=(e=stubMatch,t)=>r=>{const n=entries$8(e({options:t}));for(const[e,t]of n){const n=template$b.ast(e);if(!compare$k(r.node,n))continue;const i=findVarsWays(n),{node:a}=r,s=getValues({waysFrom:i,node:a});return validateMatchProperty(t),t(s,r)}return!0};function parseTo(e,t,r){const n=isFn$3(e)?e(t,r):e;if(!n)return null;if(isObj(n)&&n.type)return n;if(!isString$4(n))throw Error(`☝️ Looks like you passed 'replace' value with a wrong type. Allowed: 'string', 'node' and 'path'. Received: '${typeof n}' with value '${n}'.`);return template$b.ast.fresh(n)}function validateMatchProperty(e){if(!isFn$3(e))throw Error(`☝️ Looks like 'match' property value is not a 'function', but '${typeof e}' with value '${e}'.`)}const validateTemplateValues=(e,t)=>{for(const r of keys$5(e))if(!t[r])throw Error(`☝️ Looks like template values not linked: ${stringify$2(keys$5(t))} -> ${stringify$2(keys$5(e))}`)};function checkExpressionStatement(e,t,r){if(isExpression$2(e)&&isStatement(t)&&!isExpressionStatement$1(t)&&!isExpressionStatement$1(r)&&!isExpressionStatement$1(r.parentPath))throw Error(`☝️ Looks like a try to put Statement in place of Expression, use 'match' to filter out such cases: '${print$2(e,PRINT_OPTIONS)} -> ${print$2(t,PRINT_OPTIONS)}'. For code: '${r}'`)}var replaceExports=replace$d.exports,declare$4={},record={};const prefix="__putout_declare_undefined_variables",getProgramParentPath=e=>e.scope.getProgramParent().path,maybeInit=(e,t)=>t[e]=t[e]||{};record.checkDeclarationForESLint=(e,t)=>{const r=getProgramParentPath(t);return maybeInit(prefix,r),r[prefix][e]},record.addDeclarationForESLint=(e,t)=>{const r=getProgramParentPath(t);return maybeInit(prefix,r),r[prefix][e]=!0},record.setModuleType=(e,t)=>{const r=getProgramParentPath(t);return maybeInit(prefix,r),r[prefix].__putout_module_type=e,e},record.getModuleType=e=>{const t=getProgramParentPath(e);return maybeInit(prefix,t),t[prefix].__putout_module_type};const{template:template$a}=parser$6,{isESM:isESM,insertAfter:insertAfter$1}=operate,{compare:compare$j}=compare$m,{addDeclarationForESLint:addDeclarationForESLint,checkDeclarationForESLint:checkDeclarationForESLint,getModuleType:getModuleType,setModuleType:setModuleType}=record,{types:types$S}=bundle,{isImportDeclaration:isImportDeclaration$1,isVariableDeclaration:isVariableDeclaration$1}=types$S,{keys:keys$4}=Object,isString$3=e=>"string"==typeof e,getLastVarPath=e=>e.filter(isVariableDeclaration$1).pop(),isLast=(e,t)=>t.at(-1)===e,isLocalImport=e=>e.node.source.value.includes("."),cutName=e=>e.split(".").shift(),parseType=e=>isESM(e)?"esm":"commonjs",TS_EXCLUDE=["TSMethodSignature","TSParameterProperty","TSFunctionType","TSDeclareMethod","TSDeclareFunction","TSTypeAliasDeclaration"];declare$4.declare=e=>({report:report$j,include:include$2,fix:fix$8(e),filter:filter$1(e)});const report$j=e=>{const{name:t}=e.node;return`Declare '${cutName(t)}', it referenced but not defined`},include$2=()=>["ReferencedIdentifier"],filter$1=e=>(t,{options:r})=>{if(TS_EXCLUDE.includes(t.parentPath.type))return!1;const{dismiss:n=[]}=r,i={...e,...r.declarations},a=keys$4(i),{scope:s,node:o}=t,{name:l}=o,u=getModuleType(t)||setModuleType(parseType(t),t);return!s.hasBinding(l)&&!checkDeclarationForESLint(l,t)&&(!!a.includes(l)&&(!n.includes(l)&&parseCode(u,i[l])))},fix$8=e=>(t,{options:r})=>{const n=getModuleType(t),i={...e,...r.declarations},{name:a}=t.node,s=parseCode(n,i[a]),o=t.scope.getProgramParent().path.get("body");insert(template$a.ast.fresh(s),o),addDeclarationForESLint(a,t)};function isUseStrict(e){if(!e.isExpressionStatement())return!1;return e.get("expression").isStringLiteral({value:"use strict"})}const parseCode=(e,t)=>isString$3(t)?t:t[e];function getInsertionPath(e,t){const r=getLastImportPath(t),n=getLastVarPath(t);return isVariableDeclaration$1(e)&&r||(isImportDeclaration$1(e)||isRequire(e))&&r?r:isVariableDeclaration$1(e)&&n&&!isLast(n,t)?n:null}const isRequire=e=>compare$j(e,"const __a = require(__b)");function insert(e,t){const r=getInsertionPath(e,t),[n]=t;return isVariableDeclaration$1(e)&&isImportDeclaration$1(r)||isRequire(r)?insertAfter$1(r,e):isVariableDeclaration$1(e)?n.insertBefore(e):!r&&isUseStrict(n)?insertAfter$1(n,e):r||isUseStrict(n)?r.isImportDeclaration()&&isLocalImport(r)?r.insertBefore(e):insertAfter$1(r,e):n.insertBefore(e)}const getLastImportPath=e=>{const t=[],r=[];for(const n of e)n.isImportDeclaration()&&(isLocalImport(n)?r.push(n):t.push(n));return t.pop()||r.pop()},{declare:declare$3}=declare$4,{stringify:stringify$1}=JSON,isFn$2=e=>"function"==typeof e;var declare_1=({rule:e,plugin:t,msg:r,options:n})=>(validateDeclare(t.declare),{rule:e,plugin:declare$3(t.declare()),msg:r,options:n});function validateDeclare(e){if(!isFn$2(e))throw Error(`☝️ Looks like 'declare' property value is not a 'function', but '${typeof e}' with value '${stringify$1(e)}'.`)}var filesystem={},maybeFs={};const fullstore$2=fullstore$4,driverStore=fullstore$2(),{assign:assign$6}=Object,noop$1=()=>{},returns=e=>()=>e,defaultFS={renameFile:noop$1,removeFile:noop$1,createDirectory:noop$1,readFileContent:returns(""),writeFileContent:noop$1,copyFile:noop$1},maybeFS$1=assign$6({},defaultFS);function init(e){assign$6(maybeFS$1,e)}function deinit(){assign$6(maybeFS$1,defaultFS)}maybeFs.renameFile=(e,t)=>{maybeFS$1.renameFile(e,t)},maybeFs.removeFile=e=>{maybeFS$1.removeFile(e)},maybeFs.copyFile=(e,t)=>{maybeFS$1.copyFile(e,t)},maybeFs.createDirectory=e=>{maybeFS$1.createDirectory(e)},maybeFs.readFileContent=e=>maybeFS$1.readFileContent(e),maybeFs.writeFileContent=(e,t)=>{maybeFS$1.writeFileContent(e,t)},maybeFs.init=init,maybeFs.pause=()=>{driverStore(maybeFS$1),deinit()},maybeFs.start=()=>{init(driverStore())},maybeFs.deinit=deinit;const{join:join$2,basename:basename$1}=require$$0$6,tryCatch$2=tryCatch$6,{types:types$R}=bundle,{setLiteralValue:setLiteralValue,getProperty:getProperty$2,traverseProperties:traverseProperties$1}=operate,maybeFS=maybeFs,isString$2=e=>"string"==typeof e,{isArray:isArray$2}=Array,maybeArray$1=e=>isArray$2(e)?e:[e],toBase64=e=>{const[t,r]=tryCatch$2(btoa,e);return t?btoa(encodeURI(e)):r},fromBase64=e=>{const[t,r]=tryCatch$2(atob,e);return t?e:decodeURI(r)},{ObjectExpression:ObjectExpression$2,ArrayExpression:ArrayExpression$2,StringLiteral:StringLiteral$5,ObjectProperty:ObjectProperty$2,isProgram:isProgram$1}=types$R,getRegExp=e=>{const t=e.replace(/\./g,"\\.").replace(/\*/g,".*").replace("?",".?");return RegExp(`^${t}$`)};function findFile$4(e,t){checkName(t);const r=[],n=maybeArray$1(t);for(const t of traverseProperties$1(e,"filename")){const{value:e}=t.node.value,i=basename$1(e);for(const a of n)(e===a||getRegExp(a).test(i))&&r.push(t.parentPath)}return r}function checkName(e){if(!isString$2(e)&&!isArray$2(e))throw Error("☝️ Looks like you forget to pass the 'name' of a file to 'findFile(filePath: Path|FilePath, name: string | string[]): FilePath'")}function getFilenamePath(e){return getProperty$2(e,"filename").get("value")}function getFilename$3(e){const{value:t}=getFilenamePath(e).node;return t}function getFileType$2(e){return getProperty$2(e,"type").node.value.value}function getFileContent(e){const t=getProperty$2(e,"content");return[Boolean(t),t?.node.value.value]}function maybeRemoveFile(e,t){const r=getFileType$2(e);if("directory"!==r){const t=getFilename$3(e);throw Error(`☝️ Looks like '${t}' is not a directory, but: '${r}'. Rename to '${t}/'`)}const n=getProperty$2(e,"files"),[i]=findFile$4(n,t);i&&i.remove()}filesystem.getParentDirectory=e=>{const{parentPath:t}=e.parentPath.parentPath;return isProgram$1(t)?null:t},filesystem.findFile=findFile$4,filesystem.getFileType=getFileType$2,filesystem.getFileContent=getFileContent,filesystem.getFilename=getFilename$3,filesystem.renameFile=(e,t)=>{const r=getFilename$3(e),n=getFilenamePath(e),i=r.split("/").pop(),a=t.split("/").pop(),s=r.replace(i,a);setLiteralValue(n,s),maybeFS.renameFile(r,s)},filesystem.removeFile=e=>{const t=getFilename$3(e);e.remove(),maybeFS.removeFile(t)},filesystem.moveFile=(e,t)=>{if(e===t)return;const r=getFilename$3(t),n=getFilename$3(e),i=getProperty$2(t,"files"),a=getProperty$2(e,"filename"),s=n.split("/").pop(),o=join$2(r,s);maybeRemoveFile(t,o),setLiteralValue(a.get("value"),o),i.node.value.elements.push(e.node),e.remove(),maybeFS.renameFile(n,o)},filesystem.copyFile=(e,t)=>{const r=getFilename$3(t),n=getFilename$3(e),i=n.split("/").pop(),a=join$2(r,i),[s,o]=getFileContent(e),l=ObjectExpression$2([createTypeProperty("file"),createFilenameProperty(a),s&&createContentProperty(o)].filter(Boolean));maybeRemoveFile(t,a);getFiles$1(t).node.value.elements.push(l),maybeFS.copyFile(n,a)};const createTypeProperty=e=>ObjectProperty$2(StringLiteral$5("type"),StringLiteral$5(e));filesystem.createTypeProperty=createTypeProperty;const createFilesProperty=e=>ObjectProperty$2(StringLiteral$5("files"),ArrayExpression$2(e));filesystem.createFilesProperty=createFilesProperty;const createFilenameProperty=e=>ObjectProperty$2(StringLiteral$5("filename"),StringLiteral$5(e));filesystem.createFilenameProperty=createFilenameProperty;const createContentProperty=e=>ObjectProperty$2(StringLiteral$5("content"),StringLiteral$5(e));function getFiles$1(e){return getProperty$2(e,"files")}function writeFileContent$1(e,t){if("directory"===getFileType$2(e))return;const r=getFilename$3(e);maybeFS.writeFileContent(r,t);const n=getProperty$2(e,"content");if(n)return void setLiteralValue(n.node.value,toBase64(t));const i=createContentProperty(toBase64(t));e.node.properties.push(i)}filesystem.createContentProperty=createContentProperty,filesystem.createFile=(e,t,r)=>{maybeRemoveFile(e,t);const n=getFiles$1(e),i=getFilename$3(e),a=join$2(i,t),s=[createTypeProperty("file"),createFilenameProperty(a),r&&createContentProperty(r)].filter(Boolean);n.node.value.elements.push(ObjectExpression$2(s));const o=n.get("value.elements").at(-1);return isString$2(r)&&writeFileContent$1(o,r),o},filesystem.createDirectory=(e,t)=>{const r=getFiles$1(e),n=getFilename$3(e),i=join$2(n,t),a=createTypeProperty("directory"),s=createFilesProperty([]),o=createFilenameProperty(i);return r.node.value.elements.push(ObjectExpression$2([a,o,s])),maybeFS.createDirectory(i),r.get("value.elements").at(-1)},filesystem.readFileContent=e=>{if("directory"===getFileType$2(e))return"";const[t,r]=getFileContent(e);if(t)return fromBase64(r);const n=getFilename$3(e),i=maybeFS.readFileContent(n),a=createContentProperty(toBase64(i));return e.node.properties.push(a),i},filesystem.writeFileContent=writeFileContent$1,filesystem.init=maybeFS.init,filesystem.deinit=maybeFS.deinit,filesystem.pause=maybeFS.pause,filesystem.start=maybeFS.start;var convertSimpleFilesystemToFilesystem={};const{types:types$Q}=bundle,{basename:basename,dirname:dirname}=require$$0$2,{createDirectory:createDirectory,getFileType:getFileType$1,getFilename:getFilename$2,findFile:findFile$3}=filesystem,{__filesystem_name:__filesystem_name$2}=json,{replaceWith:replaceWith$o,getProperty:getProperty$1}=operate,{ObjectExpression:ObjectExpression$1,isArrayExpression:isArrayExpression$2,ArrayExpression:ArrayExpression$1,StringLiteral:StringLiteral$4,ObjectProperty:ObjectProperty$1}=types$Q;convertSimpleFilesystemToFilesystem.report=()=>"Convert Simple Filesystem to Filesystem";const isDirectory=e=>e.endsWith("/"),getType$1=e=>{const t=isDirectory(e)?"directory":"file";return ObjectProperty$1(StringLiteral$4("type"),StringLiteral$4(t))},createFilename=e=>ObjectProperty$1(StringLiteral$4("filename"),StringLiteral$4(e)),getFiles=e=>isDirectory(e)?ObjectProperty$1(StringLiteral$4("files"),ArrayExpression$1([])):null,getContent=e=>ObjectProperty$1(StringLiteral$4("content"),StringLiteral$4(e));convertSimpleFilesystemToFilesystem.fix=e=>{const t=ArrayExpression$1([]);for(const r of e.get("elements")){if(isArrayExpression$2(r)){const[e,n]=r.node.elements,{value:i}=e,a=n.value;t.elements.push(ObjectExpression$1([getType$1(i),createFilename(i),getContent(a)]));continue}const{value:e}=r.node;t.elements.push(ObjectExpression$1([getType$1(e),createFilename(noTrailingSlash(e)),getFiles(e)].filter(Boolean)))}buildTree(e,t)},convertSimpleFilesystemToFilesystem.traverse=({push:e})=>({[`${__filesystem_name$2}(__array)`]:t=>{const r=t.get("arguments.0");e(r)}});const noTrailingSlash=e=>"/"===e?e:e.endsWith("/")?e.slice(0,-1):e;function buildTree(e,t){const[r,...n]=findFile$3(t,"*");for(const e of n){const t=getFilename$2(e);check$8(t);const n=getFileType$1(e),i=dirname(t),a=basename(t),[s]=findFile$3(r,i);if(!s)throw Error(`☝️ Looks like directory '${i}/' is missing`);if("directory"===n){createDirectory(s,a);continue}getProperty$1(s,"files").node.value.elements.push(e.node)}replaceWith$o(e,r)}function check$8(e){if(!e.includes("/"))throw Error(`☝️ Looks like directory path is missing: '${e}'`)}var convertFilesystemToSimpleFilesystem={};const{types:types$P}=bundle,{replaceWith:replaceWith$n,getProperty:getProperty}=operate,{__filesystem_name:__filesystem_name$1}=json,{findFile:findFile$2,getFilename:getFilename$1,getFileType:getFileType}=filesystem,{StringLiteral:StringLiteral$3,ArrayExpression:ArrayExpression}=types$P,{isArray:isArray$1}=Array,maybeAddSlash=e=>"/"===e?e:`${e}/`;convertFilesystemToSimpleFilesystem.report=()=>"Convert Filesystem to Simple Filesystem",convertFilesystemToSimpleFilesystem.fix=(e,{files:t})=>{const r=[];for(const e of t){const t=getFilename$1(e),n=getFileType(e),i=getProperty(e,"content"),a=i?.node?.value;a?r.push([t,a.value]):"directory"!==n?r.push(t):r.push(maybeAddSlash(t))}const n=[];for(const e of r)isArray$1(e)?n.push(ArrayExpression([StringLiteral$3(e[0]),StringLiteral$3(e[1])])):n.push(StringLiteral$3(e));replaceWith$n(e,ArrayExpression(n))},convertFilesystemToSimpleFilesystem.traverse=({push:e})=>({[`${__filesystem_name$1}(__object)`]:t=>{const r=t.get("arguments.0"),n=findFile$2(r,"*");e(r,{files:n})}});const fullstore$1=fullstore$4,{compare:compare$i}=compare$m,{__filesystem_name:__filesystem_name}=json,{findFile:findFile$1,pause:pause,start:start}=filesystem,log$1=browserExports("putout:runner:scanner"),fromSimple=convertSimpleFilesystemToFilesystem,toSimple=convertFilesystemToSimpleFilesystem;var scanner$1=({rule:e,plugin:t,msg:r,options:n},{progress:i})=>{const{scan:a,report:s,fix:o}=t;i.inc();return{rule:e,msg:r,options:n,plugin:{report:s,fix:o,traverse:getTraverse({scan:a,rule:e,progress:i})}}};const watchPush=({push:e,rule:t,progress:r})=>(...n)=>{r.push(t),e(...n)},createFileProgress=({rule:e,progress:t})=>({i:r,n:n})=>{++r;const i=`${Math.round(r/n*100)}%`;t.file({i:r,n:n,percent:i,rule:e})},createTrackFile=e=>function*(...t){const r=findFile$1(...t),n=r.length;for(const[t,i]of r.entries())e({i:t,n:n}),yield i},getTraverse=({scan:e,rule:t,progress:r})=>({push:n,options:i})=>({"__putout_processor_filesystem(__)"(a){log$1(t),r.start(t);const s=a.get("arguments.0"),o=fullstore$1(!1),l=createFileProgress({rule:t,progress:r}),u=createTrackFile(l);runSimple(fromSimple,{path:a,rootPath:s,isSimple:o}),e(s,{push:watchPush({push:n,rule:t,progress:r}),progress:l,trackFile:u,options:i}),runSimple(toSimple,{condition:o(),path:a,rootPath:s,isSimple:o}),r.end(t)}}),runFix$1=({fix:e,isSimple:t})=>(...r)=>(t(!0),e(...r));function runSimple(e,{path:t,isSimple:r,condition:n=!0}){const{traverse:i,fix:a}=e;if(!n)return;const s=i({push:runFix$1({fix:a,isSimple:r})}),[o,l]=parseVisitor(s);compare$i(t,l)&&(pause(),o(t),start())}function parseVisitor(e){const t=e[`${__filesystem_name}(__object)`],r=e[`${__filesystem_name}(__array)`];return t?[t,`${__filesystem_name}(__object)`]:[r,`${__filesystem_name}(__array)`]}var template$9={exports:{}};const tryCatch$1=tryCatch$6,{compareAny:compareAny$2,compareAll:compareAll,parseTemplate:parseTemplate$1,isTemplate:isTemplate$1}=compare$m,maybeArray=maybeArray_1,debug$1=browserExports("putout:runner:template"),{entries:entries$7}=Object,isFn$1=e=>"function"==typeof e,log=(e,t)=>{debug$1.enabled&&debug$1(e,t.toString())},{stringify:stringify}=JSON;template$9.exports._log=log;const exclude=({rule:e,tmpl:t,fn:r,nodesExclude:n})=>{if(!isFn$1(r)||!n.length)return{[t]:r};return{[t]:wrapWithCheck({rule:e,fn:r,nodesExclude:n,nodesInclude:[]})}};function wrapWithCheck({rule:e,nodesInclude:t,nodesExclude:r,fn:n}){return i=>{if(log(e,i),r.length&&compareAny$2(i,r))return;if(t.length&&!compareAll(i,t))return;if(!isFn$1(n))throw Error(`☝️ Looks like provided visitor is not a function: ${stringify(n)}. More on using Traverser: https://git.io/JqcMn`);const[a]=tryCatch$1(n,i);if(a)throw a.rule=e,a}}template$9.exports=({rule:e,visitor:t,options:r})=>{const n=[],i=maybeArray(r.exclude),a=maybeArray(r.include);for(const[r,s]of entries$7(t)){if(!r)continue;if(!isTemplate$1(r)){n.push(exclude({rule:e,tmpl:r,fn:s,nodesExclude:i}));continue}const[t,o]=parseTemplate$1(r),l=wrapWithCheck({rule:e,fn:s,nodesExclude:i,nodesInclude:[t,...a]});n.push({[o]:l})}return n},template$9.exports._log=log;var domain,templateExports=template$9.exports,progress={};function EventHandlers(){}function EventEmitter$1(){EventEmitter$1.init.call(this)}function $getMaxListeners(e){return void 0===e._maxListeners?EventEmitter$1.defaultMaxListeners:e._maxListeners}function emitNone(e,t,r){if(t)e.call(r);else for(var n=e.length,i=arrayClone(e,n),a=0;a<n;++a)i[a].call(r)}function emitOne(e,t,r,n){if(t)e.call(r,n);else for(var i=e.length,a=arrayClone(e,i),s=0;s<i;++s)a[s].call(r,n)}function emitTwo(e,t,r,n,i){if(t)e.call(r,n,i);else for(var a=e.length,s=arrayClone(e,a),o=0;o<a;++o)s[o].call(r,n,i)}function emitThree(e,t,r,n,i,a){if(t)e.call(r,n,i,a);else for(var s=e.length,o=arrayClone(e,s),l=0;l<s;++l)o[l].call(r,n,i,a)}function emitMany(e,t,r,n){if(t)e.apply(r,n);else for(var i=e.length,a=arrayClone(e,i),s=0;s<i;++s)a[s].apply(r,n)}function _addListener(e,t,r,n){var i,a,s;if("function"!=typeof r)throw new TypeError('"listener" argument must be a function');if((a=e._events)?(a.newListener&&(e.emit("newListener",t,r.listener?r.listener:r),a=e._events),s=a[t]):(a=e._events=new EventHandlers,e._eventsCount=0),s){if("function"==typeof s?s=a[t]=n?[r,s]:[s,r]:n?s.unshift(r):s.push(r),!s.warned&&(i=$getMaxListeners(e))&&i>0&&s.length>i){s.warned=!0;var o=new Error("Possible EventEmitter memory leak detected. "+s.length+" "+t+" listeners added. Use emitter.setMaxListeners() to increase limit");o.name="MaxListenersExceededWarning",o.emitter=e,o.type=t,o.count=s.length,emitWarning(o)}}else s=a[t]=r,++e._eventsCount;return e}function emitWarning(e){"function"==typeof console.warn?console.warn(e):console.log(e)}function _onceWrap(e,t,r){var n=!1;function i(){e.removeListener(t,i),n||(n=!0,r.apply(e,arguments))}return i.listener=r,i}function listenerCount(e){var t=this._events;if(t){var r=t[e];if("function"==typeof r)return 1;if(r)return r.length}return 0}function spliceOne(e,t){for(var r=t,n=r+1,i=e.length;n<i;r+=1,n+=1)e[r]=e[n];e.pop()}function arrayClone(e,t){for(var r=new Array(t);t--;)r[t]=e[t];return r}function unwrapListeners(e){for(var t=new Array(e.length),r=0;r<t.length;++r)t[r]=e[r].listener||e[r];return t}EventHandlers.prototype=Object.create(null),EventEmitter$1.EventEmitter=EventEmitter$1,EventEmitter$1.usingDomains=!1,EventEmitter$1.prototype.domain=void 0,EventEmitter$1.prototype._events=void 0,EventEmitter$1.prototype._maxListeners=void 0,EventEmitter$1.defaultMaxListeners=10,EventEmitter$1.init=function(){this.domain=null,EventEmitter$1.usingDomains&&domain.active,this._events&&this._events!==Object.getPrototypeOf(this)._events||(this._events=new EventHandlers,this._eventsCount=0),this._maxListeners=this._maxListeners||void 0},EventEmitter$1.prototype.setMaxListeners=function(e){if("number"!=typeof e||e<0||isNaN(e))throw new TypeError('"n" argument must be a positive number');return this._maxListeners=e,this},EventEmitter$1.prototype.getMaxListeners=function(){return $getMaxListeners(this)},EventEmitter$1.prototype.emit=function(e){var t,r,n,i,a,s,o,l="error"===e;if(s=this._events)l=l&&null==s.error;else if(!l)return!1;if(o=this.domain,l){if(t=arguments[1],!o){if(t instanceof Error)throw t;var u=new Error('Uncaught, unspecified "error" event. ('+t+")");throw u.context=t,u}return t||(t=new Error('Uncaught, unspecified "error" event')),t.domainEmitter=this,t.domain=o,t.domainThrown=!1,o.emit("error",t),!1}if(!(r=s[e]))return!1;var c="function"==typeof r;switch(n=arguments.length){case 1:emitNone(r,c,this);break;case 2:emitOne(r,c,this,arguments[1]);break;case 3:emitTwo(r,c,this,arguments[1],arguments[2]);break;case 4:emitThree(r,c,this,arguments[1],arguments[2],arguments[3]);break;default:for(i=new Array(n-1),a=1;a<n;a++)i[a-1]=arguments[a];emitMany(r,c,this,i)}return!0},EventEmitter$1.prototype.addListener=function(e,t){return _addListener(this,e,t,!1)},EventEmitter$1.prototype.on=EventEmitter$1.prototype.addListener,EventEmitter$1.prototype.prependListener=function(e,t){return _addListener(this,e,t,!0)},EventEmitter$1.prototype.once=function(e,t){if("function"!=typeof t)throw new TypeError('"listener" argument must be a function');return this.on(e,_onceWrap(this,e,t)),this},EventEmitter$1.prototype.prependOnceListener=function(e,t){if("function"!=typeof t)throw new TypeError('"listener" argument must be a function');return this.prependListener(e,_onceWrap(this,e,t)),this},EventEmitter$1.prototype.removeListener=function(e,t){var r,n,i,a,s;if("function"!=typeof t)throw new TypeError('"listener" argument must be a function');if(!(n=this._events))return this;if(!(r=n[e]))return this;if(r===t||r.listener&&r.listener===t)0==--this._eventsCount?this._events=new EventHandlers:(delete n[e],n.removeListener&&this.emit("removeListener",e,r.listener||t));else if("function"!=typeof r){for(i=-1,a=r.length;a-- >0;)if(r[a]===t||r[a].listener&&r[a].listener===t){s=r[a].listener,i=a;break}if(i<0)return this;if(1===r.length){if(r[0]=void 0,0==--this._eventsCount)return this._events=new EventHandlers,this;delete n[e]}else spliceOne(r,i);n.removeListener&&this.emit("removeListener",e,s||t)}return this},EventEmitter$1.prototype.off=function(e,t){return this.removeListener(e,t)},EventEmitter$1.prototype.removeAllListeners=function(e){var t,r;if(!(r=this._events))return this;if(!r.removeListener)return 0===arguments.length?(this._events=new EventHandlers,this._eventsCount=0):r[e]&&(0==--this._eventsCount?this._events=new EventHandlers:delete r[e]),this;if(0===arguments.length){for(var n,i=Object.keys(r),a=0;a<i.length;++a)"removeListener"!==(n=i[a])&&this.removeAllListeners(n);return this.removeAllListeners("removeListener"),this._events=new EventHandlers,this._eventsCount=0,this}if("function"==typeof(t=r[e]))this.removeListener(e,t);else if(t)do{this.removeListener(e,t[t.length-1])}while(t[0]);return this},EventEmitter$1.prototype.listeners=function(e){var t,r=this._events;return r&&(t=r[e])?"function"==typeof t?[t.listener||t]:unwrapListeners(t):[]},EventEmitter$1.listenerCount=function(e,t){return"function"==typeof e.listenerCount?e.listenerCount(t):listenerCount.call(e,t)},EventEmitter$1.prototype.listenerCount=listenerCount,EventEmitter$1.prototype.eventNames=function(){return this._eventsCount>0?Reflect.ownKeys(this._events):[]};var _polyfillNode_events=Object.freeze({__proto__:null,EventEmitter:EventEmitter$1,default:EventEmitter$1}),require$$0$1=getAugmentedNamespace(_polyfillNode_events);const{EventEmitter:EventEmitter}=require$$0$1;progress.createProgress=()=>{let e=0,t=0;const r=new EventEmitter;return r.reset=()=>{t=0,e=0},r.file=({i:e,n:t,percent:n,rule:i})=>{r.emit("file",{i:e,n:t,rule:i,percent:n})},r.inc=()=>{++e},r.start=n=>{++t,r.emit("start",{pluginsIndex:t,pluginsCount:e,rule:n})},r.push=n=>{r.emit("push",{pluginsIndex:t,pluginsCount:e,rule:n})},r.end=n=>{r.emit("end",{rule:n,pluginsIndex:t,pluginsCount:e})},r};const{traverse:traverse$g}=bundle,once=onceExports,debug=browserExports("putout:runner:find"),runFix=runFix$3,mergeVisitors=mergeVisitors$1,superFind=superFind$1,include$1=include$3,replace$c=replaceExports,declare$2=declare_1,scanner=scanner$1,template$8=templateExports,{createProgress:createProgress$1}=progress,{getPath:getPath,getPosition:getPosition}=getPosition$2,isRemoved=e=>e?.removed;function run({ast:e,fix:t,shebang:r,pluginsFind:n,pluginsTraverse:i,template:a,merge:s}){return[...runWithoutMerge({ast:e,fix:t,shebang:r,template:a,pluginsFind:n}),...runWithMerge({ast:e,fix:t,shebang:r,template:a,pluginsTraverse:i,merge:s})]}function runWithMerge({ast:e,fix:t,shebang:r,template:n,pluginsTraverse:i,merge:a}){const{entries:s,visitor:o}=a(i,{fix:t,shebang:r,template:n});traverse$g(e,o);const l=[];for(const[e,t]of s){const r=t();for(const{message:t,position:n}of r)l.push({rule:e,message:t,position:n})}return l}function runWithoutMerge({ast:e,fix:t,shebang:r,template:n,pluginsFind:i}){const a=[];for(const{rule:s,plugin:o,msg:l,options:u}of i){debug(`find: ${s}`);const{report:i,find:c}=o,p=superFind({rule:s,find:c,ast:e,options:u,fix:t,shebang:r,template:n});if(p.length)for(const e of p){const n=l||i(e),{parentPath:c}=getPath(e),p=getPosition(e,r);a.push({rule:s,message:n,position:p}),isRemoved(c)||runFix(t,o.fix,{path:e,rule:s,position:p,options:u})}}return a}function splitPlugins(e,{progress:t}){const r=[],n=[];for(const i of e){const{plugin:e}=i;e.find?r.push(i):e.traverse?n.push(i):e.replace?n.push(include$1(replace$c(i))):e.declare?n.push(include$1(declare$2(i))):e.include?n.push(include$1(i)):e.scan&&n.push(scanner(i,{progress:t}))}return{pluginsFind:r,pluginsTraverse:n}}lib$e.runPlugins=({ast:e,shebang:t,fix:r,fixCount:n,plugins:i,progress:a=createProgress$1()})=>{let s=[];const o=once(mergeVisitors),{pluginsFind:l,pluginsTraverse:u}=splitPlugins(i,{progress:a});for(let i=0;i<n;i++){if(s=run({ast:e,fix:r,shebang:t,pluginsFind:l,pluginsTraverse:u,merge:o,template:template$8}),a.reset(),!r||!s.length)return s;replace$c.clearWatermark(e)}return s},lib$e.getPosition=getPosition;const loader=lib$f,runner=lib$e,{createProgress:createProgress}=progress;defaultOptions$4.defaultOptions=(e={})=>{const{parser:t="babel",printer:r=e.printer||"putout",fix:n=!0,fixCount:i=2,loadPlugins:a=loader.loadPlugins,loadPluginsAsync:s=loader.loadPluginsAsync,runPlugins:o=runner.runPlugins,progress:l=createProgress()}=e;return{...e,parser:t,printer:r,fix:n,fixCount:i,loadPlugins:a,loadPluginsAsync:s,runPlugins:o,progress:l}};var transform$7={};const{defaultOptions:defaultOptions$1}=defaultOptions$4,{cutShebang:cutShebang$1}=shebang;transform$7.transform=(e,t,r)=>{r=defaultOptions$1(r);const{plugins:n,cache:i,rules:a,fix:s,fixCount:o,loadPlugins:l,runPlugins:u,progress:c}=r,[,p]=cutShebang$1(t);return u({ast:e,shebang:p,fix:s,fixCount:o,plugins:l({pluginNames:n,cache:i,rules:a}),progress:c})},transform$7.transformAsync=async(e,t,r)=>{r=defaultOptions$1(r);const{plugins:n,cache:i,rules:a,fix:s,fixCount:o,loadPluginsAsync:l,runPlugins:u,progress:c}=r,[,p]=cutShebang$1(t);return u({ast:e,shebang:p,fix:s,fixCount:o,plugins:await l({pluginNames:n,cache:i,rules:a}),progress:c})};var findPlaces$2={};const{transform:transform$6,transformAsync:transformAsync$1}=transform$7;findPlaces$2.findPlaces=(e,t,r)=>transform$6(e,t,{...r,fix:!1}),findPlaces$2.findPlacesAsync=async(e,t,r)=>await transformAsync$1(e,t,{...r,fix:!1});const{isArray:isArray}=Array,noop=()=>{};var report$i=()=>{let e=0,t=0;return async(r,n)=>{const{name:i,rule:a,source:s,places:o,index:l=0,count:u=1,trace:c=noop,formatterOptions:p={}}=n;if(!isArray(o))throw Error(`☝️ Looks like for 'places: Places[]' you passed the wrong type: '${typeof o}'`);return o.length&&++e,t+=o.length,c("progress",{rule:a,name:i,options:p,source:s,places:o,index:l,count:u,filesCount:e,errorsCount:t}),await r({rule:a,name:i,options:p,source:s,places:o,index:l,count:u,filesCount:e,errorsCount:t})}};report$i.default;var traverse$f={};const{types:types$O,traverse:babelTraverse}=bundle,{compare:compare$h,parseTemplate:parseTemplate,isTemplate:isTemplate,getTemplateValues:getTemplateValues$9}=compare$m,{isFile:isFile,isProgram:isProgram}=types$O,{merge:merge}=babelTraverse.visitors,{entries:entries$6}=Object;traverse$f.traverse=traverse$e;const isPath=e=>Boolean(e.node),createTraverse=e=>{if(isPath(e))return e.traverse.bind(e);const t=!isFile(e)&&!isProgram(e);return r=>{babelTraverse(e,{noScope:t,...r})}},getTemplate=([e])=>e;function traverse$e(e,t){const r=createTraverse(e),n=[],i=entries$6(t);if(!i.map(getTemplate).find(isTemplate))return r(t);for(const[e,t]of i){if(!isTemplate(e)){n.push({[e]:t});continue}const[r,i]=parseTemplate(e),a=getVisit({fn:t,node:r,tmpl:e});n.push({[i]:a})}r(merge(n))}const getVisit=({fn:e,node:t,tmpl:r})=>n=>{compare$h(n,t)&&e(n,getTemplateValues$9(n.node,r))};traverse$f.contains=(e,t)=>{let r=!1;const n=e=>{r=!0,e.stop()},i={};for(const e of t)i[e]=n;return traverse$e(e,i),r};var compatDotallSTransform={_hasUFlag:!1,shouldRun:function(e){var t=e.flags.includes("s");return!!t&&(e.flags=e.flags.replace("s",""),this._hasUFlag=e.flags.includes("u"),!0)},Char:function(e){var t=e.node;if("meta"===t.kind&&"."===t.value){var r="\\uFFFF",n="";this._hasUFlag&&(r="\\u{10FFFF}",n=""),e.replace({type:"CharacterClass",expressions:[{type:"ClassRange",from:{type:"Char",value:"\\0",kind:"decimal",symbol:"\0"},to:{type:"Char",value:r,kind:"unicode",symbol:n}}]})}}};compatDotallSTransform.default;var compatNamedCapturingGroupsTransform={_groupNames:{},init:function(){this._groupNames={}},getExtra:function(){return this._groupNames},Group:function(e){var t=e.node;t.name&&(this._groupNames[t.name]=t.number,delete t.name,delete t.nameRaw)},Backreference:function(e){var t=e.node;"name"===t.kind&&(t.kind="number",t.reference=t.number,delete t.referenceRaw)}};compatNamedCapturingGroupsTransform.default;var compatXFlagTransform={RegExp:function(e){var t=e.node;t.flags.includes("x")&&(t.flags=t.flags.replace("x",""))}};compatXFlagTransform.default;var transforms$1={dotAll:compatDotallSTransform,namedCapturingGroups:compatNamedCapturingGroupsTransform,xFlag:compatXFlagTransform};function gen$1(e){return e?generator$3[e.type](e):""}var generator$3={RegExp:function(e){return"/"+gen$1(e.body)+"/"+e.flags},Alternative:function(e){return(e.expressions||[]).map(gen$1).join("")},Disjunction:function(e){return gen$1(e.left)+"|"+gen$1(e.right)},Group:function(e){var t=gen$1(e.expression);return e.capturing?e.name?"(?<"+(e.nameRaw||e.name)+">"+t+")":"("+t+")":"(?:"+t+")"},Backreference:function(e){switch(e.kind){case"number":return"\\"+e.reference;case"name":return"\\k<"+(e.referenceRaw||e.reference)+">";default:throw new TypeError("Unknown Backreference kind: "+e.kind)}},Assertion:function(e){switch(e.kind){case"^":case"$":case"\\b":case"\\B":return e.kind;case"Lookahead":var t=gen$1(e.assertion);return e.negative?"(?!"+t+")":"(?="+t+")";case"Lookbehind":var r=gen$1(e.assertion);return e.negative?"(?<!"+r+")":"(?<="+r+")";default:throw new TypeError("Unknown Assertion kind: "+e.kind)}},CharacterClass:function(e){var t=e.expressions.map(gen$1).join("");return e.negative?"[^"+t+"]":"["+t+"]"},ClassRange:function(e){return gen$1(e.from)+"-"+gen$1(e.to)},Repetition:function(e){return""+gen$1(e.expression)+gen$1(e.quantifier)},Quantifier:function(e){var t=void 0,r=e.greedy?"":"?";switch(e.kind){case"+":case"?":case"*":t=e.kind;break;case"Range":t=e.from===e.to?"{"+e.from+"}":e.to?"{"+e.from+","+e.to+"}":"{"+e.from+",}";break;default:throw new TypeError("Unknown Quantifier kind: "+e.kind)}return""+t+r},Char:function(e){var t=e.value;switch(e.kind){case"simple":return e.escaped?"\\"+t:t;case"hex":case"unicode":case"oct":case"decimal":case"control":case"meta":return t;default:throw new TypeError("Unknown Char kind: "+e.kind)}},UnicodeProperty:function(e){return"\\"+(e.negative?"P":"p")+"{"+(e.shorthand||e.binary?"":e.name+"=")+e.value+"}"}},generator_1={generate:gen$1},NON_BINARY_PROP_NAMES_TO_ALIASES={General_Category:"gc",Script:"sc",Script_Extensions:"scx"},NON_BINARY_ALIASES_TO_PROP_NAMES=inverseMap(NON_BINARY_PROP_NAMES_TO_ALIASES),BINARY_PROP_NAMES_TO_ALIASES={ASCII:"ASCII",ASCII_Hex_Digit:"AHex",Alphabetic:"Alpha",Any:"Any",Assigned:"Assigned",Bidi_Control:"Bidi_C",Bidi_Mirrored:"Bidi_M",Case_Ignorable:"CI",Cased:"Cased",Changes_When_Casefolded:"CWCF",Changes_When_Casemapped:"CWCM",Changes_When_Lowercased:"CWL",Changes_When_NFKC_Casefolded:"CWKCF",Changes_When_Titlecased:"CWT",Changes_When_Uppercased:"CWU",Dash:"Dash",Default_Ignorable_Code_Point:"DI",Deprecated:"Dep",Diacritic:"Dia",Emoji:"Emoji",Emoji_Component:"Emoji_Component",Emoji_Modifier:"Emoji_Modifier",Emoji_Modifier_Base:"Emoji_Modifier_Base",Emoji_Presentation:"Emoji_Presentation",Extended_Pictographic:"Extended_Pictographic",Extender:"Ext",Grapheme_Base:"Gr_Base",Grapheme_Extend:"Gr_Ext",Hex_Digit:"Hex",IDS_Binary_Operator:"IDSB",IDS_Trinary_Operator:"IDST",ID_Continue:"IDC",ID_Start:"IDS",Ideographic:"Ideo",Join_Control:"Join_C",Logical_Order_Exception:"LOE",Lowercase:"Lower",Math:"Math",Noncharacter_Code_Point:"NChar",Pattern_Syntax:"Pat_Syn",Pattern_White_Space:"Pat_WS",Quotation_Mark:"QMark",Radical:"Radical",Regional_Indicator:"RI",Sentence_Terminal:"STerm",Soft_Dotted:"SD",Terminal_Punctuation:"Term",Unified_Ideograph:"UIdeo",Uppercase:"Upper",Variation_Selector:"VS",White_Space:"space",XID_Continue:"XIDC",XID_Start:"XIDS"},BINARY_ALIASES_TO_PROP_NAMES=inverseMap(BINARY_PROP_NAMES_TO_ALIASES),GENERAL_CATEGORY_VALUE_TO_ALIASES={Cased_Letter:"LC",Close_Punctuation:"Pe",Connector_Punctuation:"Pc",Control:["Cc","cntrl"],Currency_Symbol:"Sc",Dash_Punctuation:"Pd",Decimal_Number:["Nd","digit"],Enclosing_Mark:"Me",Final_Punctuation:"Pf",Format:"Cf",Initial_Punctuation:"Pi",Letter:"L",Letter_Number:"Nl",Line_Separator:"Zl",Lowercase_Letter:"Ll",Mark:["M","Combining_Mark"],Math_Symbol:"Sm",Modifier_Letter:"Lm",Modifier_Symbol:"Sk",Nonspacing_Mark:"Mn",Number:"N",Open_Punctuation:"Ps",Other:"C",Other_Letter:"Lo",Other_Number:"No",Other_Punctuation:"Po",Other_Symbol:"So",Paragraph_Separator:"Zp",Private_Use:"Co",Punctuation:["P","punct"],Separator:"Z",Space_Separator:"Zs",Spacing_Mark:"Mc",Surrogate:"Cs",Symbol:"S",Titlecase_Letter:"Lt",Unassigned:"Cn",Uppercase_Letter:"Lu"},GENERAL_CATEGORY_VALUE_ALIASES_TO_VALUES=inverseMap(GENERAL_CATEGORY_VALUE_TO_ALIASES),SCRIPT_VALUE_TO_ALIASES={Adlam:"Adlm",Ahom:"Ahom",Anatolian_Hieroglyphs:"Hluw",Arabic:"Arab",Armenian:"Armn",Avestan:"Avst",Balinese:"Bali",Bamum:"Bamu",Bassa_Vah:"Bass",Batak:"Batk",Bengali:"Beng",Bhaiksuki:"Bhks",Bopomofo:"Bopo",Brahmi:"Brah",Braille:"Brai",Buginese:"Bugi",Buhid:"Buhd",Canadian_Aboriginal:"Cans",Carian:"Cari",Caucasian_Albanian:"Aghb",Chakma:"Cakm",Cham:"Cham",Cherokee:"Cher",Common:"Zyyy",Coptic:["Copt","Qaac"],Cuneiform:"Xsux",Cypriot:"Cprt",Cyrillic:"Cyrl",Deseret:"Dsrt",Devanagari:"Deva",Dogra:"Dogr",Duployan:"Dupl",Egyptian_Hieroglyphs:"Egyp",Elbasan:"Elba",Ethiopic:"Ethi",Georgian:"Geor",Glagolitic:"Glag",Gothic:"Goth",Grantha:"Gran",Greek:"Grek",Gujarati:"Gujr",Gunjala_Gondi:"Gong",Gurmukhi:"Guru",Han:"Hani",Hangul:"Hang",Hanifi_Rohingya:"Rohg",Hanunoo:"Hano",Hatran:"Hatr",Hebrew:"Hebr",Hiragana:"Hira",Imperial_Aramaic:"Armi",Inherited:["Zinh","Qaai"],Inscriptional_Pahlavi:"Phli",Inscriptional_Parthian:"Prti",Javanese:"Java",Kaithi:"Kthi",Kannada:"Knda",Katakana:"Kana",Kayah_Li:"Kali",Kharoshthi:"Khar",Khmer:"Khmr",Khojki:"Khoj",Khudawadi:"Sind",Lao:"Laoo",Latin:"Latn",Lepcha:"Lepc",Limbu:"Limb",Linear_A:"Lina",Linear_B:"Linb",Lisu:"Lisu",Lycian:"Lyci",Lydian:"Lydi",Mahajani:"Mahj",Makasar:"Maka",Malayalam:"Mlym",Mandaic:"Mand",Manichaean:"Mani",Marchen:"Marc",Medefaidrin:"Medf",Masaram_Gondi:"Gonm",Meetei_Mayek:"Mtei",Mende_Kikakui:"Mend",Meroitic_Cursive:"Merc",Meroitic_Hieroglyphs:"Mero",Miao:"Plrd",Modi:"Modi",Mongolian:"Mong",Mro:"Mroo",Multani:"Mult",Myanmar:"Mymr",Nabataean:"Nbat",New_Tai_Lue:"Talu",Newa:"Newa",Nko:"Nkoo",Nushu:"Nshu",Ogham:"Ogam",Ol_Chiki:"Olck",Old_Hungarian:"Hung",Old_Italic:"Ital",Old_North_Arabian:"Narb",Old_Permic:"Perm",Old_Persian:"Xpeo",Old_Sogdian:"Sogo",Old_South_Arabian:"Sarb",Old_Turkic:"Orkh",Oriya:"Orya",Osage:"Osge",Osmanya:"Osma",Pahawh_Hmong:"Hmng",Palmyrene:"Palm",Pau_Cin_Hau:"Pauc",Phags_Pa:"Phag",Phoenician:"Phnx",Psalter_Pahlavi:"Phlp",Rejang:"Rjng",Runic:"Runr",Samaritan:"Samr",Saurashtra:"Saur",Sharada:"Shrd",Shavian:"Shaw",Siddham:"Sidd",SignWriting:"Sgnw",Sinhala:"Sinh",Sogdian:"Sogd",Sora_Sompeng:"Sora",Soyombo:"Soyo",Sundanese:"Sund",Syloti_Nagri:"Sylo",Syriac:"Syrc",Tagalog:"Tglg",Tagbanwa:"Tagb",Tai_Le:"Tale",Tai_Tham:"Lana",Tai_Viet:"Tavt",Takri:"Takr",Tamil:"Taml",Tangut:"Tang",Telugu:"Telu",Thaana:"Thaa",Thai:"Thai",Tibetan:"Tibt",Tifinagh:"Tfng",Tirhuta:"Tirh",Ugaritic:"Ugar",Vai:"Vaii",Warang_Citi:"Wara",Yi:"Yiii",Zanabazar_Square:"Zanb"},SCRIPT_VALUE_ALIASES_TO_VALUE=inverseMap(SCRIPT_VALUE_TO_ALIASES);function inverseMap(e){var t={};for(var r in e)if(e.hasOwnProperty(r)){var n=e[r];if(Array.isArray(n))for(var i=0;i<n.length;i++)t[n[i]]=r;else t[n]=r}return t}function isValidName(e){return NON_BINARY_PROP_NAMES_TO_ALIASES.hasOwnProperty(e)||NON_BINARY_ALIASES_TO_PROP_NAMES.hasOwnProperty(e)||BINARY_PROP_NAMES_TO_ALIASES.hasOwnProperty(e)||BINARY_ALIASES_TO_PROP_NAMES.hasOwnProperty(e)}function isValidValue(e,t){return isGeneralCategoryName(e)?isGeneralCategoryValue(t):!!isScriptCategoryName(e)&&isScriptCategoryValue(t)}function isAlias(e){return NON_BINARY_ALIASES_TO_PROP_NAMES.hasOwnProperty(e)||BINARY_ALIASES_TO_PROP_NAMES.hasOwnProperty(e)}function isGeneralCategoryName(e){return"General_Category"===e||"gc"==e}function isScriptCategoryName(e){return"Script"===e||"Script_Extensions"===e||"sc"===e||"scx"===e}function isGeneralCategoryValue(e){return GENERAL_CATEGORY_VALUE_TO_ALIASES.hasOwnProperty(e)||GENERAL_CATEGORY_VALUE_ALIASES_TO_VALUES.hasOwnProperty(e)}function isScriptCategoryValue(e){return SCRIPT_VALUE_TO_ALIASES.hasOwnProperty(e)||SCRIPT_VALUE_ALIASES_TO_VALUE.hasOwnProperty(e)}function isBinaryPropertyName(e){return BINARY_PROP_NAMES_TO_ALIASES.hasOwnProperty(e)||BINARY_ALIASES_TO_PROP_NAMES.hasOwnProperty(e)}function getCanonicalName(e){return NON_BINARY_ALIASES_TO_PROP_NAMES.hasOwnProperty(e)?NON_BINARY_ALIASES_TO_PROP_NAMES[e]:BINARY_ALIASES_TO_PROP_NAMES.hasOwnProperty(e)?BINARY_ALIASES_TO_PROP_NAMES[e]:null}function getCanonicalValue(e){return GENERAL_CATEGORY_VALUE_ALIASES_TO_VALUES.hasOwnProperty(e)?GENERAL_CATEGORY_VALUE_ALIASES_TO_VALUES[e]:SCRIPT_VALUE_ALIASES_TO_VALUE.hasOwnProperty(e)?SCRIPT_VALUE_ALIASES_TO_VALUE[e]:BINARY_ALIASES_TO_PROP_NAMES.hasOwnProperty(e)?BINARY_ALIASES_TO_PROP_NAMES[e]:null}var parserUnicodeProperties={isAlias:isAlias,isValidName:isValidName,isValidValue:isValidValue,isGeneralCategoryValue:isGeneralCategoryValue,isScriptCategoryValue:isScriptCategoryValue,isBinaryPropertyName:isBinaryPropertyName,getCanonicalName:getCanonicalName,getCanonicalValue:getCanonicalValue,NON_BINARY_PROP_NAMES_TO_ALIASES:NON_BINARY_PROP_NAMES_TO_ALIASES,NON_BINARY_ALIASES_TO_PROP_NAMES:NON_BINARY_ALIASES_TO_PROP_NAMES,BINARY_PROP_NAMES_TO_ALIASES:BINARY_PROP_NAMES_TO_ALIASES,BINARY_ALIASES_TO_PROP_NAMES:BINARY_ALIASES_TO_PROP_NAMES,GENERAL_CATEGORY_VALUE_TO_ALIASES:GENERAL_CATEGORY_VALUE_TO_ALIASES,GENERAL_CATEGORY_VALUE_ALIASES_TO_VALUES:GENERAL_CATEGORY_VALUE_ALIASES_TO_VALUES,SCRIPT_VALUE_TO_ALIASES:SCRIPT_VALUE_TO_ALIASES,SCRIPT_VALUE_ALIASES_TO_VALUE:SCRIPT_VALUE_ALIASES_TO_VALUE},_slicedToArray$2=function(e,t){if(Array.isArray(e))return e;if(Symbol.iterator in Object(e))return function(e,t){var r=[],n=!0,i=!1,a=void 0;try{for(var s,o=e[Symbol.iterator]();!(n=(s=o.next()).done)&&(r.push(s.value),!t||r.length!==t);n=!0);}catch(e){i=!0,a=e}finally{try{!n&&o.return&&o.return()}finally{if(i)throw a}}return r}(e,t);throw new TypeError("Invalid attempt to destructure non-iterable instance")};function _toConsumableArray$8(e){if(Array.isArray(e)){for(var t=0,r=Array(e.length);t<e.length;t++)r[t]=e[t];return r}return Array.from(e)}var yytext=void 0,yy={},__=void 0,__loc=void 0;function yyloc(e,t){return yy.options.captureLocations?e&&t?{startOffset:e.startOffset,endOffset:t.endOffset,startLine:e.startLine,endLine:t.endLine,startColumn:e.startColumn,endColumn:t.endColumn}:e||t:null}var EOF="$",productions=[[-1,1,function(e,t){__loc=yyloc(t,t),__=e}],[0,4,function(e,t,r,n,i,a,s,o){__loc=yyloc(i,o),__=Node({type:"RegExp",body:t,flags:checkFlags(n)},loc(i,o||s))}],[1,1,function(e,t){__loc=yyloc(t,t),__=e}],[1,0,function(){__loc=null,__=""}],[2,1,function(e,t){__loc=yyloc(t,t),__=e}],[2,2,function(e,t,r,n){__loc=yyloc(r,n),__=e+t}],[3,1,function(e,t){__loc=yyloc(t,t),__=e}],[4,1,function(e,t){__loc=yyloc(t,t),__=e}],[4,3,function(e,t,r,n,i,a){__loc=yyloc(n,a);var s=null;i&&(s=loc(n||i,a||i)),__=Node({type:"Disjunction",left:e,right:r},s)}],[5,1,function(e,t){__loc=yyloc(t,t),__=0!==e.length?1===e.length?Node(e[0],__loc):Node({type:"Alternative",expressions:e},__loc):null}],[6,0,function(){__loc=null,__=[]}],[6,2,function(e,t,r,n){__loc=yyloc(r,n),__=e.concat(t)}],[7,1,function(e,t){__loc=yyloc(t,t),__=Node(Object.assign({type:"Assertion"},e),__loc)}],[7,2,function(e,t,r,n){__loc=yyloc(r,n),__=e,t&&(__=Node({type:"Repetition",expression:e,quantifier:t},__loc))}],[8,1,function(e,t){__loc=yyloc(t,t),__={kind:"^"}}],[8,1,function(e,t){__loc=yyloc(t,t),__={kind:"$"}}],[8,1,function(e,t){__loc=yyloc(t,t),__={kind:"\\b"}}],[8,1,function(e,t){__loc=yyloc(t,t),__={kind:"\\B"}}],[8,3,function(e,t,r,n,i,a){__loc=yyloc(n,a),__={kind:"Lookahead",assertion:t}}],[8,3,function(e,t,r,n,i,a){__loc=yyloc(n,a),__={kind:"Lookahead",negative:!0,assertion:t}}],[8,3,function(e,t,r,n,i,a){__loc=yyloc(n,a),__={kind:"Lookbehind",assertion:t}}],[8,3,function(e,t,r,n,i,a){__loc=yyloc(n,a),__={kind:"Lookbehind",negative:!0,assertion:t}}],[9,1,function(e,t){__loc=yyloc(t,t),__=e}],[9,1,function(e,t){__loc=yyloc(t,t),__=e}],[9,1,function(e,t){__loc=yyloc(t,t),__=e}],[10,1,function(e,t){__loc=yyloc(t,t),__=Char(e,"simple",__loc)}],[10,1,function(e,t){__loc=yyloc(t,t),(__=Char(e.slice(1),"simple",__loc)).escaped=!0}],[10,1,function(e,t){__loc=yyloc(t,t),(__=Char(e,"unicode",__loc)).isSurrogatePair=!0}],[10,1,function(e,t){__loc=yyloc(t,t),__=Char(e,"unicode",__loc)}],[10,1,function(e,t){__loc=yyloc(t,t),__=UnicodeProperty(e,__loc)}],[10,1,function(e,t){__loc=yyloc(t,t),__=Char(e,"control",__loc)}],[10,1,function(e,t){__loc=yyloc(t,t),__=Char(e,"hex",__loc)}],[10,1,function(e,t){__loc=yyloc(t,t),__=Char(e,"oct",__loc)}],[10,1,function(e,t){__loc=yyloc(t,t),__=GroupRefOrDecChar(e,__loc)}],[10,1,function(e,t){__loc=yyloc(t,t),__=Char(e,"meta",__loc)}],[10,1,function(e,t){__loc=yyloc(t,t),__=Char(e,"meta",__loc)}],[10,1,function(e,t){__loc=yyloc(t,t),__=NamedGroupRefOrChars(e,t)}],[11,1,function(e,t){__loc=yyloc(t,t),__=e}],[11,0],[12,1,function(e,t){__loc=yyloc(t,t),__=e}],[12,2,function(e,t,r,n){__loc=yyloc(r,n),e.greedy=!1,__=e}],[13,1,function(e,t){__loc=yyloc(t,t),__=Node({type:"Quantifier",kind:e,greedy:!0},__loc)}],[13,1,function(e,t){__loc=yyloc(t,t),__=Node({type:"Quantifier",kind:e,greedy:!0},__loc)}],[13,1,function(e,t){__loc=yyloc(t,t),__=Node({type:"Quantifier",kind:e,greedy:!0},__loc)}],[13,1,function(e,t){__loc=yyloc(t,t);var r=getRange(e);__=Node({type:"Quantifier",kind:"Range",from:r[0],to:r[0],greedy:!0},__loc)}],[13,1,function(e,t){__loc=yyloc(t,t),__=Node({type:"Quantifier",kind:"Range",from:getRange(e)[0],greedy:!0},__loc)}],[13,1,function(e,t){__loc=yyloc(t,t);var r=getRange(e);__=Node({type:"Quantifier",kind:"Range",from:r[0],to:r[1],greedy:!0},__loc)}],[14,1,function(e,t){__loc=yyloc(t,t),__=e}],[14,1,function(e,t){__loc=yyloc(t,t),__=e}],[15,3,function(e,t,r,n,i,a){__loc=yyloc(n,a);var s=String(e),o=decodeUnicodeGroupName(s);if(!yy.options.allowGroupNameDuplicates&&namedGroups.hasOwnProperty(o))throw new SyntaxError('Duplicate of the named group "'+o+'".');namedGroups[o]=e.groupNumber,__=Node({type:"Group",capturing:!0,name:o,nameRaw:s,number:e.groupNumber,expression:t},__loc)}],[15,3,function(e,t,r,n,i,a){__loc=yyloc(n,a),__=Node({type:"Group",capturing:!0,number:e.groupNumber,expression:t},__loc)}],[16,3,function(e,t,r,n,i,a){__loc=yyloc(n,a),__=Node({type:"Group",capturing:!1,expression:t},__loc)}],[17,3,function(e,t,r,n,i,a){__loc=yyloc(n,a),__=Node({type:"CharacterClass",negative:!0,expressions:t},__loc)}],[17,3,function(e,t,r,n,i,a){__loc=yyloc(n,a),__=Node({type:"CharacterClass",expressions:t},__loc)}],[18,0,function(){__loc=null,__=[]}],[18,1,function(e,t){__loc=yyloc(t,t),__=e}],[19,1,function(e,t){__loc=yyloc(t,t),__=[e]}],[19,2,function(e,t,r,n){__loc=yyloc(r,n),__=[e].concat(t)}],[19,4,function(e,t,r,n,i,a,s,o){__loc=yyloc(i,o),checkClassRange(e,r),__=[Node({type:"ClassRange",from:e,to:r},loc(i,s))],n&&(__=__.concat(n))}],[20,1,function(e,t){__loc=yyloc(t,t),__=e}],[20,2,function(e,t,r,n){__loc=yyloc(r,n),__=[e].concat(t)}],[20,4,function(e,t,r,n,i,a,s,o){__loc=yyloc(i,o),checkClassRange(e,r),__=[Node({type:"ClassRange",from:e,to:r},loc(i,s))],n&&(__=__.concat(n))}],[21,1,function(e,t){__loc=yyloc(t,t),__=Char(e,"simple",__loc)}],[21,1,function(e,t){__loc=yyloc(t,t),__=e}],[22,1,function(e,t){__loc=yyloc(t,t),__=e}],[22,1,function(e,t){__loc=yyloc(t,t),__=Char(e,"meta",__loc)}]],tokens={SLASH:"23",CHAR:"24",BAR:"25",BOS:"26",EOS:"27",ESC_b:"28",ESC_B:"29",POS_LA_ASSERT:"30",R_PAREN:"31",NEG_LA_ASSERT:"32",POS_LB_ASSERT:"33",NEG_LB_ASSERT:"34",ESC_CHAR:"35",U_CODE_SURROGATE:"36",U_CODE:"37",U_PROP_VALUE_EXP:"38",CTRL_CH:"39",HEX_CODE:"40",OCT_CODE:"41",DEC_CODE:"42",META_CHAR:"43",ANY:"44",NAMED_GROUP_REF:"45",Q_MARK:"46",STAR:"47",PLUS:"48",RANGE_EXACT:"49",RANGE_OPEN:"50",RANGE_CLOSED:"51",NAMED_CAPTURE_GROUP:"52",L_PAREN:"53",NON_CAPTURE_GROUP:"54",NEG_CLASS:"55",R_BRACKET:"56",L_BRACKET:"57",DASH:"58",$:"59"},table=[{0:1,23:"s2"},{59:"acc"},{3:3,4:4,5:5,6:6,23:"r10",24:"r10",25:"r10",26:"r10",27:"r10",28:"r10",29:"r10",30:"r10",32:"r10",33:"r10",34:"r10",35:"r10",36:"r10",37:"r10",38:"r10",39:"r10",40:"r10",41:"r10",42:"r10",43:"r10",44:"r10",45:"r10",52:"r10",53:"r10",54:"r10",55:"r10",57:"r10"},{23:"s7"},{23:"r6",25:"s12"},{23:"r7",25:"r7",31:"r7"},{7:14,8:15,9:16,10:25,14:27,15:42,16:43,17:26,23:"r9",24:"s28",25:"r9",26:"s17",27:"s18",28:"s19",29:"s20",30:"s21",31:"r9",32:"s22",33:"s23",34:"s24",35:"s29",36:"s30",37:"s31",38:"s32",39:"s33",40:"s34",41:"s35",42:"s36",43:"s37",44:"s38",45:"s39",52:"s44",53:"s45",54:"s46",55:"s40",57:"s41"},{1:8,2:9,24:"s10",59:"r3"},{59:"r1"},{24:"s11",59:"r2"},{24:"r4",59:"r4"},{24:"r5",59:"r5"},{5:13,6:6,23:"r10",24:"r10",25:"r10",26:"r10",27:"r10",28:"r10",29:"r10",30:"r10",31:"r10",32:"r10",33:"r10",34:"r10",35:"r10",36:"r10",37:"r10",38:"r10",39:"r10",40:"r10",41:"r10",42:"r10",43:"r10",44:"r10",45:"r10",52:"r10",53:"r10",54:"r10",55:"r10",57:"r10"},{23:"r8",25:"r8",31:"r8"},{23:"r11",24:"r11",25:"r11",26:"r11",27:"r11",28:"r11",29:"r11",30:"r11",31:"r11",32:"r11",33:"r11",34:"r11",35:"r11",36:"r11",37:"r11",38:"r11",39:"r11",40:"r11",41:"r11",42:"r11",43:"r11",44:"r11",45:"r11",52:"r11",53:"r11",54:"r11",55:"r11",57:"r11"},{23:"r12",24:"r12",25:"r12",26:"r12",27:"r12",28:"r12",29:"r12",30:"r12",31:"r12",32:"r12",33:"r12",34:"r12",35:"r12",36:"r12",37:"r12",38:"r12",39:"r12",40:"r12",41:"r12",42:"r12",43:"r12",44:"r12",45:"r12",52:"r12",53:"r12",54:"r12",55:"r12",57:"r12"},{11:47,12:48,13:49,23:"r38",24:"r38",25:"r38",26:"r38",27:"r38",28:"r38",29:"r38",30:"r38",31:"r38",32:"r38",33:"r38",34:"r38",35:"r38",36:"r38",37:"r38",38:"r38",39:"r38",40:"r38",41:"r38",42:"r38",43:"r38",44:"r38",45:"r38",46:"s52",47:"s50",48:"s51",49:"s53",50:"s54",51:"s55",52:"r38",53:"r38",54:"r38",55:"r38",57:"r38"},{23:"r14",24:"r14",25:"r14",26:"r14",27:"r14",28:"r14",29:"r14",30:"r14",31:"r14",32:"r14",33:"r14",34:"r14",35:"r14",36:"r14",37:"r14",38:"r14",39:"r14",40:"r14",41:"r14",42:"r14",43:"r14",44:"r14",45:"r14",52:"r14",53:"r14",54:"r14",55:"r14",57:"r14"},{23:"r15",24:"r15",25:"r15",26:"r15",27:"r15",28:"r15",29:"r15",30:"r15",31:"r15",32:"r15",33:"r15",34:"r15",35:"r15",36:"r15",37:"r15",38:"r15",39:"r15",40:"r15",41:"r15",42:"r15",43:"r15",44:"r15",45:"r15",52:"r15",53:"r15",54:"r15",55:"r15",57:"r15"},{23:"r16",24:"r16",25:"r16",26:"r16",27:"r16",28:"r16",29:"r16",30:"r16",31:"r16",32:"r16",33:"r16",34:"r16",35:"r16",36:"r16",37:"r16",38:"r16",39:"r16",40:"r16",41:"r16",42:"r16",43:"r16",44:"r16",45:"r16",52:"r16",53:"r16",54:"r16",55:"r16",57:"r16"},{23:"r17",24:"r17",25:"r17",26:"r17",27:"r17",28:"r17",29:"r17",30:"r17",31:"r17",32:"r17",33:"r17",34:"r17",35:"r17",36:"r17",37:"r17",38:"r17",39:"r17",40:"r17",41:"r17",42:"r17",43:"r17",44:"r17",45:"r17",52:"r17",53:"r17",54:"r17",55:"r17",57:"r17"},{4:57,5:5,6:6,24:"r10",25:"r10",26:"r10",27:"r10",28:"r10",29:"r10",30:"r10",31:"r10",32:"r10",33:"r10",34:"r10",35:"r10",36:"r10",37:"r10",38:"r10",39:"r10",40:"r10",41:"r10",42:"r10",43:"r10",44:"r10",45:"r10",52:"r10",53:"r10",54:"r10",55:"r10",57:"r10"},{4:59,5:5,6:6,24:"r10",25:"r10",26:"r10",27:"r10",28:"r10",29:"r10",30:"r10",31:"r10",32:"r10",33:"r10",34:"r10",35:"r10",36:"r10",37:"r10",38:"r10",39:"r10",40:"r10",41:"r10",42:"r10",43:"r10",44:"r10",45:"r10",52:"r10",53:"r10",54:"r10",55:"r10",57:"r10"},{4:61,5:5,6:6,24:"r10",25:"r10",26:"r10",27:"r10",28:"r10",29:"r10",30:"r10",31:"r10",32:"r10",33:"r10",34:"r10",35:"r10",36:"r10",37:"r10",38:"r10",39:"r10",40:"r10",41:"r10",42:"r10",43:"r10",44:"r10",45:"r10",52:"r10",53:"r10",54:"r10",55:"r10",57:"r10"},{4:63,5:5,6:6,24:"r10",25:"r10",26:"r10",27:"r10",28:"r10",29:"r10",30:"r10",31:"r10",32:"r10",33:"r10",34:"r10",35:"r10",36:"r10",37:"r10",38:"r10",39:"r10",40:"r10",41:"r10",42:"r10",43:"r10",44:"r10",45:"r10",52:"r10",53:"r10",54:"r10",55:"r10",57:"r10"},{23:"r22",24:"r22",25:"r22",26:"r22",27:"r22",28:"r22",29:"r22",30:"r22",31:"r22",32:"r22",33:"r22",34:"r22",35:"r22",36:"r22",37:"r22",38:"r22",39:"r22",40:"r22",41:"r22",42:"r22",43:"r22",44:"r22",45:"r22",46:"r22",47:"r22",48:"r22",49:"r22",50:"r22",51:"r22",52:"r22",53:"r22",54:"r22",55:"r22",57:"r22"},{23:"r23",24:"r23",25:"r23",26:"r23",27:"r23",28:"r23",29:"r23",30:"r23",31:"r23",32:"r23",33:"r23",34:"r23",35:"r23",36:"r23",37:"r23",38:"r23",39:"r23",40:"r23",41:"r23",42:"r23",43:"r23",44:"r23",45:"r23",46:"r23",47:"r23",48:"r23",49:"r23",50:"r23",51:"r23",52:"r23",53:"r23",54:"r23",55:"r23",57:"r23"},{23:"r24",24:"r24",25:"r24",26:"r24",27:"r24",28:"r24",29:"r24",30:"r24",31:"r24",32:"r24",33:"r24",34:"r24",35:"r24",36:"r24",37:"r24",38:"r24",39:"r24",40:"r24",41:"r24",42:"r24",43:"r24",44:"r24",45:"r24",46:"r24",47:"r24",48:"r24",49:"r24",50:"r24",51:"r24",52:"r24",53:"r24",54:"r24",55:"r24",57:"r24"},{23:"r25",24:"r25",25:"r25",26:"r25",27:"r25",28:"r25",29:"r25",30:"r25",31:"r25",32:"r25",33:"r25",34:"r25",35:"r25",36:"r25",37:"r25",38:"r25",39:"r25",40:"r25",41:"r25",42:"r25",43:"r25",44:"r25",45:"r25",46:"r25",47:"r25",48:"r25",49:"r25",50:"r25",51:"r25",52:"r25",53:"r25",54:"r25",55:"r25",56:"r25",57:"r25",58:"r25"},{23:"r26",24:"r26",25:"r26",26:"r26",27:"r26",28:"r26",29:"r26",30:"r26",31:"r26",32:"r26",33:"r26",34:"r26",35:"r26",36:"r26",37:"r26",38:"r26",39:"r26",40:"r26",41:"r26",42:"r26",43:"r26",44:"r26",45:"r26",46:"r26",47:"r26",48:"r26",49:"r26",50:"r26",51:"r26",52:"r26",53:"r26",54:"r26",55:"r26",56:"r26",57:"r26",58:"r26"},{23:"r27",24:"r27",25:"r27",26:"r27",27:"r27",28:"r27",29:"r27",30:"r27",31:"r27",32:"r27",33:"r27",34:"r27",35:"r27",36:"r27",37:"r27",38:"r27",39:"r27",40:"r27",41:"r27",42:"r27",43:"r27",44:"r27",45:"r27",46:"r27",47:"r27",48:"r27",49:"r27",50:"r27",51:"r27",52:"r27",53:"r27",54:"r27",55:"r27",56:"r27",57:"r27",58:"r27"},{23:"r28",24:"r28",25:"r28",26:"r28",27:"r28",28:"r28",29:"r28",30:"r28",31:"r28",32:"r28",33:"r28",34:"r28",35:"r28",36:"r28",37:"r28",38:"r28",39:"r28",40:"r28",41:"r28",42:"r28",43:"r28",44:"r28",45:"r28",46:"r28",47:"r28",48:"r28",49:"r28",50:"r28",51:"r28",52:"r28",53:"r28",54:"r28",55:"r28",56:"r28",57:"r28",58:"r28"},{23:"r29",24:"r29",25:"r29",26:"r29",27:"r29",28:"r29",29:"r29",30:"r29",31:"r29",32:"r29",33:"r29",34:"r29",35:"r29",36:"r29",37:"r29",38:"r29",39:"r29",40:"r29",41:"r29",42:"r29",43:"r29",44:"r29",45:"r29",46:"r29",47:"r29",48:"r29",49:"r29",50:"r29",51:"r29",52:"r29",53:"r29",54:"r29",55:"r29",56:"r29",57:"r29",58:"r29"},{23:"r30",24:"r30",25:"r30",26:"r30",27:"r30",28:"r30",29:"r30",30:"r30",31:"r30",32:"r30",33:"r30",34:"r30",35:"r30",36:"r30",37:"r30",38:"r30",39:"r30",40:"r30",41:"r30",42:"r30",43:"r30",44:"r30",45:"r30",46:"r30",47:"r30",48:"r30",49:"r30",50:"r30",51:"r30",52:"r30",53:"r30",54:"r30",55:"r30",56:"r30",57:"r30",58:"r30"},{23:"r31",24:"r31",25:"r31",26:"r31",27:"r31",28:"r31",29:"r31",30:"r31",31:"r31",32:"r31",33:"r31",34:"r31",35:"r31",36:"r31",37:"r31",38:"r31",39:"r31",40:"r31",41:"r31",42:"r31",43:"r31",44:"r31",45:"r31",46:"r31",47:"r31",48:"r31",49:"r31",50:"r31",51:"r31",52:"r31",53:"r31",54:"r31",55:"r31",56:"r31",57:"r31",58:"r31"},{23:"r32",24:"r32",25:"r32",26:"r32",27:"r32",28:"r32",29:"r32",30:"r32",31:"r32",32:"r32",33:"r32",34:"r32",35:"r32",36:"r32",37:"r32",38:"r32",39:"r32",40:"r32",41:"r32",42:"r32",43:"r32",44:"r32",45:"r32",46:"r32",47:"r32",48:"r32",49:"r32",50:"r32",51:"r32",52:"r32",53:"r32",54:"r32",55:"r32",56:"r32",57:"r32",58:"r32"},{23:"r33",24:"r33",25:"r33",26:"r33",27:"r33",28:"r33",29:"r33",30:"r33",31:"r33",32:"r33",33:"r33",34:"r33",35:"r33",36:"r33",37:"r33",38:"r33",39:"r33",40:"r33",41:"r33",42:"r33",43:"r33",44:"r33",45:"r33",46:"r33",47:"r33",48:"r33",49:"r33",50:"r33",51:"r33",52:"r33",53:"r33",54:"r33",55:"r33",56:"r33",57:"r33",58:"r33"},{23:"r34",24:"r34",25:"r34",26:"r34",27:"r34",28:"r34",29:"r34",30:"r34",31:"r34",32:"r34",33:"r34",34:"r34",35:"r34",36:"r34",37:"r34",38:"r34",39:"r34",40:"r34",41:"r34",42:"r34",43:"r34",44:"r34",45:"r34",46:"r34",47:"r34",48:"r34",49:"r34",50:"r34",51:"r34",52:"r34",53:"r34",54:"r34",55:"r34",56:"r34",57:"r34",58:"r34"},{23:"r35",24:"r35",25:"r35",26:"r35",27:"r35",28:"r35",29:"r35",30:"r35",31:"r35",32:"r35",33:"r35",34:"r35",35:"r35",36:"r35",37:"r35",38:"r35",39:"r35",40:"r35",41:"r35",42:"r35",43:"r35",44:"r35",45:"r35",46:"r35",47:"r35",48:"r35",49:"r35",50:"r35",51:"r35",52:"r35",53:"r35",54:"r35",55:"r35",56:"r35",57:"r35",58:"r35"},{23:"r36",24:"r36",25:"r36",26:"r36",27:"r36",28:"r36",29:"r36",30:"r36",31:"r36",32:"r36",33:"r36",34:"r36",35:"r36",36:"r36",37:"r36",38:"r36",39:"r36",40:"r36",41:"r36",42:"r36",43:"r36",44:"r36",45:"r36",46:"r36",47:"r36",48:"r36",49:"r36",50:"r36",51:"r36",52:"r36",53:"r36",54:"r36",55:"r36",56:"r36",57:"r36",58:"r36"},{10:70,18:65,19:66,21:67,22:69,24:"s28",28:"s71",35:"s29",36:"s30",37:"s31",38:"s32",39:"s33",40:"s34",41:"s35",42:"s36",43:"s37",44:"s38",45:"s39",56:"r54",58:"s68"},{10:70,18:83,19:66,21:67,22:69,24:"s28",28:"s71",35:"s29",36:"s30",37:"s31",38:"s32",39:"s33",40:"s34",41:"s35",42:"s36",43:"s37",44:"s38",45:"s39",56:"r54",58:"s68"},{23:"r47",24:"r47",25:"r47",26:"r47",27:"r47",28:"r47",29:"r47",30:"r47",31:"r47",32:"r47",33:"r47",34:"r47",35:"r47",36:"r47",37:"r47",38:"r47",39:"r47",40:"r47",41:"r47",42:"r47",43:"r47",44:"r47",45:"r47",46:"r47",47:"r47",48:"r47",49:"r47",50:"r47",51:"r47",52:"r47",53:"r47",54:"r47",55:"r47",57:"r47"},{23:"r48",24:"r48",25:"r48",26:"r48",27:"r48",28:"r48",29:"r48",30:"r48",31:"r48",32:"r48",33:"r48",34:"r48",35:"r48",36:"r48",37:"r48",38:"r48",39:"r48",40:"r48",41:"r48",42:"r48",43:"r48",44:"r48",45:"r48",46:"r48",47:"r48",48:"r48",49:"r48",50:"r48",51:"r48",52:"r48",53:"r48",54:"r48",55:"r48",57:"r48"},{4:85,5:5,6:6,24:"r10",25:"r10",26:"r10",27:"r10",28:"r10",29:"r10",30:"r10",31:"r10",32:"r10",33:"r10",34:"r10",35:"r10",36:"r10",37:"r10",38:"r10",39:"r10",40:"r10",41:"r10",42:"r10",43:"r10",44:"r10",45:"r10",52:"r10",53:"r10",54:"r10",55:"r10",57:"r10"},{4:87,5:5,6:6,24:"r10",25:"r10",26:"r10",27:"r10",28:"r10",29:"r10",30:"r10",31:"r10",32:"r10",33:"r10",34:"r10",35:"r10",36:"r10",37:"r10",38:"r10",39:"r10",40:"r10",41:"r10",42:"r10",43:"r10",44:"r10",45:"r10",52:"r10",53:"r10",54:"r10",55:"r10",57:"r10"},{4:89,5:5,6:6,24:"r10",25:"r10",26:"r10",27:"r10",28:"r10",29:"r10",30:"r10",31:"r10",32:"r10",33:"r10",34:"r10",35:"r10",36:"r10",37:"r10",38:"r10",39:"r10",40:"r10",41:"r10",42:"r10",43:"r10",44:"r10",45:"r10",52:"r10",53:"r10",54:"r10",55:"r10",57:"r10"},{23:"r13",24:"r13",25:"r13",26:"r13",27:"r13",28:"r13",29:"r13",30:"r13",31:"r13",32:"r13",33:"r13",34:"r13",35:"r13",36:"r13",37:"r13",38:"r13",39:"r13",40:"r13",41:"r13",42:"r13",43:"r13",44:"r13",45:"r13",52:"r13",53:"r13",54:"r13",55:"r13",57:"r13"},{23:"r37",24:"r37",25:"r37",26:"r37",27:"r37",28:"r37",29:"r37",30:"r37",31:"r37",32:"r37",33:"r37",34:"r37",35:"r37",36:"r37",37:"r37",38:"r37",39:"r37",40:"r37",41:"r37",42:"r37",43:"r37",44:"r37",45:"r37",52:"r37",53:"r37",54:"r37",55:"r37",57:"r37"},{23:"r39",24:"r39",25:"r39",26:"r39",27:"r39",28:"r39",29:"r39",30:"r39",31:"r39",32:"r39",33:"r39",34:"r39",35:"r39",36:"r39",37:"r39",38:"r39",39:"r39",40:"r39",41:"r39",42:"r39",43:"r39",44:"r39",45:"r39",46:"s56",52:"r39",53:"r39",54:"r39",55:"r39",57:"r39"},{23:"r41",24:"r41",25:"r41",26:"r41",27:"r41",28:"r41",29:"r41",30:"r41",31:"r41",32:"r41",33:"r41",34:"r41",35:"r41",36:"r41",37:"r41",38:"r41",39:"r41",40:"r41",41:"r41",42:"r41",43:"r41",44:"r41",45:"r41",46:"r41",52:"r41",53:"r41",54:"r41",55:"r41",57:"r41"},{23:"r42",24:"r42",25:"r42",26:"r42",27:"r42",28:"r42",29:"r42",30:"r42",31:"r42",32:"r42",33:"r42",34:"r42",35:"r42",36:"r42",37:"r42",38:"r42",39:"r42",40:"r42",41:"r42",42:"r42",43:"r42",44:"r42",45:"r42",46:"r42",52:"r42",53:"r42",54:"r42",55:"r42",57:"r42"},{23:"r43",24:"r43",25:"r43",26:"r43",27:"r43",28:"r43",29:"r43",30:"r43",31:"r43",32:"r43",33:"r43",34:"r43",35:"r43",36:"r43",37:"r43",38:"r43",39:"r43",40:"r43",41:"r43",42:"r43",43:"r43",44:"r43",45:"r43",46:"r43",52:"r43",53:"r43",54:"r43",55:"r43",57:"r43"},{23:"r44",24:"r44",25:"r44",26:"r44",27:"r44",28:"r44",29:"r44",30:"r44",31:"r44",32:"r44",33:"r44",34:"r44",35:"r44",36:"r44",37:"r44",38:"r44",39:"r44",40:"r44",41:"r44",42:"r44",43:"r44",44:"r44",45:"r44",46:"r44",52:"r44",53:"r44",54:"r44",55:"r44",57:"r44"},{23:"r45",24:"r45",25:"r45",26:"r45",27:"r45",28:"r45",29:"r45",30:"r45",31:"r45",32:"r45",33:"r45",34:"r45",35:"r45",36:"r45",37:"r45",38:"r45",39:"r45",40:"r45",41:"r45",42:"r45",43:"r45",44:"r45",45:"r45",46:"r45",52:"r45",53:"r45",54:"r45",55:"r45",57:"r45"},{23:"r46",24:"r46",25:"r46",26:"r46",27:"r46",28:"r46",29:"r46",30:"r46",31:"r46",32:"r46",33:"r46",34:"r46",35:"r46",36:"r46",37:"r46",38:"r46",39:"r46",40:"r46",41:"r46",42:"r46",43:"r46",44:"r46",45:"r46",46:"r46",52:"r46",53:"r46",54:"r46",55:"r46",57:"r46"},{23:"r40",24:"r40",25:"r40",26:"r40",27:"r40",28:"r40",29:"r40",30:"r40",31:"r40",32:"r40",33:"r40",34:"r40",35:"r40",36:"r40",37:"r40",38:"r40",39:"r40",40:"r40",41:"r40",42:"r40",43:"r40",44:"r40",45:"r40",52:"r40",53:"r40",54:"r40",55:"r40",57:"r40"},{25:"s12",31:"s58"},{23:"r18",24:"r18",25:"r18",26:"r18",27:"r18",28:"r18",29:"r18",30:"r18",31:"r18",32:"r18",33:"r18",34:"r18",35:"r18",36:"r18",37:"r18",38:"r18",39:"r18",40:"r18",41:"r18",42:"r18",43:"r18",44:"r18",45:"r18",52:"r18",53:"r18",54:"r18",55:"r18",57:"r18"},{25:"s12",31:"s60"},{23:"r19",24:"r19",25:"r19",26:"r19",27:"r19",28:"r19",29:"r19",30:"r19",31:"r19",32:"r19",33:"r19",34:"r19",35:"r19",36:"r19",37:"r19",38:"r19",39:"r19",40:"r19",41:"r19",42:"r19",43:"r19",44:"r19",45:"r19",52:"r19",53:"r19",54:"r19",55:"r19",57:"r19"},{25:"s12",31:"s62"},{23:"r20",24:"r20",25:"r20",26:"r20",27:"r20",28:"r20",29:"r20",30:"r20",31:"r20",32:"r20",33:"r20",34:"r20",35:"r20",36:"r20",37:"r20",38:"r20",39:"r20",40:"r20",41:"r20",42:"r20",43:"r20",44:"r20",45:"r20",52:"r20",53:"r20",54:"r20",55:"r20",57:"r20"},{25:"s12",31:"s64"},{23:"r21",24:"r21",25:"r21",26:"r21",27:"r21",28:"r21",29:"r21",30:"r21",31:"r21",32:"r21",33:"r21",34:"r21",35:"r21",36:"r21",37:"r21",38:"r21",39:"r21",40:"r21",41:"r21",42:"r21",43:"r21",44:"r21",45:"r21",52:"r21",53:"r21",54:"r21",55:"r21",57:"r21"},{56:"s72"},{56:"r55"},{10:70,20:73,21:75,22:76,24:"s28",28:"s71",35:"s29",36:"s30",37:"s31",38:"s32",39:"s33",40:"s34",41:"s35",42:"s36",43:"s37",44:"s38",45:"s39",56:"r56",58:"s74"},{24:"r62",28:"r62",35:"r62",36:"r62",37:"r62",38:"r62",39:"r62",40:"r62",41:"r62",42:"r62",43:"r62",44:"r62",45:"r62",56:"r62",58:"r62"},{24:"r63",28:"r63",35:"r63",36:"r63",37:"r63",38:"r63",39:"r63",40:"r63",41:"r63",42:"r63",43:"r63",44:"r63",45:"r63",56:"r63",58:"r63"},{24:"r64",28:"r64",35:"r64",36:"r64",37:"r64",38:"r64",39:"r64",40:"r64",41:"r64",42:"r64",43:"r64",44:"r64",45:"r64",56:"r64",58:"r64"},{24:"r65",28:"r65",35:"r65",36:"r65",37:"r65",38:"r65",39:"r65",40:"r65",41:"r65",42:"r65",43:"r65",44:"r65",45:"r65",56:"r65",58:"r65"},{23:"r52",24:"r52",25:"r52",26:"r52",27:"r52",28:"r52",29:"r52",30:"r52",31:"r52",32:"r52",33:"r52",34:"r52",35:"r52",36:"r52",37:"r52",38:"r52",39:"r52",40:"r52",41:"r52",42:"r52",43:"r52",44:"r52",45:"r52",46:"r52",47:"r52",48:"r52",49:"r52",50:"r52",51:"r52",52:"r52",53:"r52",54:"r52",55:"r52",57:"r52"},{56:"r57"},{10:70,21:77,22:69,24:"s28",28:"s71",35:"s29",36:"s30",37:"s31",38:"s32",39:"s33",40:"s34",41:"s35",42:"s36",43:"s37",44:"s38",45:"s39",56:"r62",58:"s68"},{56:"r59"},{10:70,20:79,21:75,22:76,24:"s28",28:"s71",35:"s29",36:"s30",37:"s31",38:"s32",39:"s33",40:"s34",41:"s35",42:"s36",43:"s37",44:"s38",45:"s39",56:"r63",58:"s80"},{10:70,18:78,19:66,21:67,22:69,24:"s28",28:"s71",35:"s29",36:"s30",37:"s31",38:"s32",39:"s33",40:"s34",41:"s35",42:"s36",43:"s37",44:"s38",45:"s39",56:"r54",58:"s68"},{56:"r58"},{56:"r60"},{10:70,21:81,22:69,24:"s28",28:"s71",35:"s29",36:"s30",37:"s31",38:"s32",39:"s33",40:"s34",41:"s35",42:"s36",43:"s37",44:"s38",45:"s39",56:"r62",58:"s68"},{10:70,18:82,19:66,21:67,22:69,24:"s28",28:"s71",35:"s29",36:"s30",37:"s31",38:"s32",39:"s33",40:"s34",41:"s35",42:"s36",43:"s37",44:"s38",45:"s39",56:"r54",58:"s68"},{56:"r61"},{56:"s84"},{23:"r53",24:"r53",25:"r53",26:"r53",27:"r53",28:"r53",29:"r53",30:"r53",31:"r53",32:"r53",33:"r53",34:"r53",35:"r53",36:"r53",37:"r53",38:"r53",39:"r53",40:"r53",41:"r53",42:"r53",43:"r53",44:"r53",45:"r53",46:"r53",47:"r53",48:"r53",49:"r53",50:"r53",51:"r53",52:"r53",53:"r53",54:"r53",55:"r53",57:"r53"},{25:"s12",31:"s86"},{23:"r49",24:"r49",25:"r49",26:"r49",27:"r49",28:"r49",29:"r49",30:"r49",31:"r49",32:"r49",33:"r49",34:"r49",35:"r49",36:"r49",37:"r49",38:"r49",39:"r49",40:"r49",41:"r49",42:"r49",43:"r49",44:"r49",45:"r49",46:"r49",47:"r49",48:"r49",49:"r49",50:"r49",51:"r49",52:"r49",53:"r49",54:"r49",55:"r49",57:"r49"},{25:"s12",31:"s88"},{23:"r50",24:"r50",25:"r50",26:"r50",27:"r50",28:"r50",29:"r50",30:"r50",31:"r50",32:"r50",33:"r50",34:"r50",35:"r50",36:"r50",37:"r50",38:"r50",39:"r50",40:"r50",41:"r50",42:"r50",43:"r50",44:"r50",45:"r50",46:"r50",47:"r50",48:"r50",49:"r50",50:"r50",51:"r50",52:"r50",53:"r50",54:"r50",55:"r50",57:"r50"},{25:"s12",31:"s90"},{23:"r51",24:"r51",25:"r51",26:"r51",27:"r51",28:"r51",29:"r51",30:"r51",31:"r51",32:"r51",33:"r51",34:"r51",35:"r51",36:"r51",37:"r51",38:"r51",39:"r51",40:"r51",41:"r51",42:"r51",43:"r51",44:"r51",45:"r51",46:"r51",47:"r51",48:"r51",49:"r51",50:"r51",51:"r51",52:"r51",53:"r51",54:"r51",55:"r51",57:"r51"}],stack=[],tokenizer=void 0,lexRules=[[/^#[^\n]+/,function(){}],[/^\s+/,function(){}],[/^-/,function(){return"DASH"}],[/^\//,function(){return"CHAR"}],[/^#/,function(){return"CHAR"}],[/^\|/,function(){return"CHAR"}],[/^\./,function(){return"CHAR"}],[/^\{/,function(){return"CHAR"}],[/^\{\d+\}/,function(){return"RANGE_EXACT"}],[/^\{\d+,\}/,function(){return"RANGE_OPEN"}],[/^\{\d+,\d+\}/,function(){return"RANGE_CLOSED"}],[/^\\k<(([\u0041-\u005a\u0061-\u007a\u00aa\u00b5\u00ba\u00c0-\u00d6\u00d8-\u00f6\u00f8-\u02c1\u02c6-\u02d1\u02e0-\u02e4\u02ec\u02ee\u0370-\u0374\u0376-\u0377\u037a-\u037d\u037f\u0386\u0388-\u038a\u038c\u038e-\u03a1\u03a3-\u03f5\u03f7-\u0481\u048a-\u052f\u0531-\u0556\u0559\u0560-\u0588\u05d0-\u05ea\u05ef-\u05f2\u0620-\u064a\u066e-\u066f\u0671-\u06d3\u06d5\u06e5-\u06e6\u06ee-\u06ef\u06fa-\u06fc\u06ff\u0710\u0712-\u072f\u074d-\u07a5\u07b1\u07ca-\u07ea\u07f4-\u07f5\u07fa\u0800-\u0815\u081a\u0824\u0828\u0840-\u0858\u0860-\u086a\u08a0-\u08b4\u08b6-\u08bd\u0904-\u0939\u093d\u0950\u0958-\u0961\u0971-\u0980\u0985-\u098c\u098f-\u0990\u0993-\u09a8\u09aa-\u09b0\u09b2\u09b6-\u09b9\u09bd\u09ce\u09dc-\u09dd\u09df-\u09e1\u09f0-\u09f1\u09fc\u0a05-\u0a0a\u0a0f-\u0a10\u0a13-\u0a28\u0a2a-\u0a30\u0a32-\u0a33\u0a35-\u0a36\u0a38-\u0a39\u0a59-\u0a5c\u0a5e\u0a72-\u0a74\u0a85-\u0a8d\u0a8f-\u0a91\u0a93-\u0aa8\u0aaa-\u0ab0\u0ab2-\u0ab3\u0ab5-\u0ab9\u0abd\u0ad0\u0ae0-\u0ae1\u0af9\u0b05-\u0b0c\u0b0f-\u0b10\u0b13-\u0b28\u0b2a-\u0b30\u0b32-\u0b33\u0b35-\u0b39\u0b3d\u0b5c-\u0b5d\u0b5f-\u0b61\u0b71\u0b83\u0b85-\u0b8a\u0b8e-\u0b90\u0b92-\u0b95\u0b99-\u0b9a\u0b9c\u0b9e-\u0b9f\u0ba3-\u0ba4\u0ba8-\u0baa\u0bae-\u0bb9\u0bd0\u0c05-\u0c0c\u0c0e-\u0c10\u0c12-\u0c28\u0c2a-\u0c39\u0c3d\u0c58-\u0c5a\u0c60-\u0c61\u0c80\u0c85-\u0c8c\u0c8e-\u0c90\u0c92-\u0ca8\u0caa-\u0cb3\u0cb5-\u0cb9\u0cbd\u0cde\u0ce0-\u0ce1\u0cf1-\u0cf2\u0d05-\u0d0c\u0d0e-\u0d10\u0d12-\u0d3a\u0d3d\u0d4e\u0d54-\u0d56\u0d5f-\u0d61\u0d7a-\u0d7f\u0d85-\u0d96\u0d9a-\u0db1\u0db3-\u0dbb\u0dbd\u0dc0-\u0dc6\u0e01-\u0e30\u0e32-\u0e33\u0e40-\u0e46\u0e81-\u0e82\u0e84\u0e86-\u0e8a\u0e8c-\u0ea3\u0ea5\u0ea7-\u0eb0\u0eb2-\u0eb3\u0ebd\u0ec0-\u0ec4\u0ec6\u0edc-\u0edf\u0f00\u0f40-\u0f47\u0f49-\u0f6c\u0f88-\u0f8c\u1000-\u102a\u103f\u1050-\u1055\u105a-\u105d\u1061\u1065-\u1066\u106e-\u1070\u1075-\u1081\u108e\u10a0-\u10c5\u10c7\u10cd\u10d0-\u10fa\u10fc-\u1248\u124a-\u124d\u1250-\u1256\u1258\u125a-\u125d\u1260-\u1288\u128a-\u128d\u1290-\u12b0\u12b2-\u12b5\u12b8-\u12be\u12c0\u12c2-\u12c5\u12c8-\u12d6\u12d8-\u1310\u1312-\u1315\u1318-\u135a\u1380-\u138f\u13a0-\u13f5\u13f8-\u13fd\u1401-\u166c\u166f-\u167f\u1681-\u169a\u16a0-\u16ea\u16ee-\u16f8\u1700-\u170c\u170e-\u1711\u1720-\u1731\u1740-\u1751\u1760-\u176c\u176e-\u1770\u1780-\u17b3\u17d7\u17dc\u1820-\u1878\u1880-\u18a8\u18aa\u18b0-\u18f5\u1900-\u191e\u1950-\u196d\u1970-\u1974\u1980-\u19ab\u19b0-\u19c9\u1a00-\u1a16\u1a20-\u1a54\u1aa7\u1b05-\u1b33\u1b45-\u1b4b\u1b83-\u1ba0\u1bae-\u1baf\u1bba-\u1be5\u1c00-\u1c23\u1c4d-\u1c4f\u1c5a-\u1c7d\u1c80-\u1c88\u1c90-\u1cba\u1cbd-\u1cbf\u1ce9-\u1cec\u1cee-\u1cf3\u1cf5-\u1cf6\u1cfa\u1d00-\u1dbf\u1e00-\u1f15\u1f18-\u1f1d\u1f20-\u1f45\u1f48-\u1f4d\u1f50-\u1f57\u1f59\u1f5b\u1f5d\u1f5f-\u1f7d\u1f80-\u1fb4\u1fb6-\u1fbc\u1fbe\u1fc2-\u1fc4\u1fc6-\u1fcc\u1fd0-\u1fd3\u1fd6-\u1fdb\u1fe0-\u1fec\u1ff2-\u1ff4\u1ff6-\u1ffc\u2071\u207f\u2090-\u209c\u2102\u2107\u210a-\u2113\u2115\u2118-\u211d\u2124\u2126\u2128\u212a-\u2139\u213c-\u213f\u2145-\u2149\u214e\u2160-\u2188\u2c00-\u2c2e\u2c30-\u2c5e\u2c60-\u2ce4\u2ceb-\u2cee\u2cf2-\u2cf3\u2d00-\u2d25\u2d27\u2d2d\u2d30-\u2d67\u2d6f\u2d80-\u2d96\u2da0-\u2da6\u2da8-\u2dae\u2db0-\u2db6\u2db8-\u2dbe\u2dc0-\u2dc6\u2dc8-\u2dce\u2dd0-\u2dd6\u2dd8-\u2dde\u3005-\u3007\u3021-\u3029\u3031-\u3035\u3038-\u303c\u3041-\u3096\u309b-\u309f\u30a1-\u30fa\u30fc-\u30ff\u3105-\u312f\u3131-\u318e\u31a0-\u31ba\u31f0-\u31ff\u3400-\u4db5\u4e00-\u9fef\ua000-\ua48c\ua4d0-\ua4fd\ua500-\ua60c\ua610-\ua61f\ua62a-\ua62b\ua640-\ua66e\ua67f-\ua69d\ua6a0-\ua6ef\ua717-\ua71f\ua722-\ua788\ua78b-\ua7bf\ua7c2-\ua7c6\ua7f7-\ua801\ua803-\ua805\ua807-\ua80a\ua80c-\ua822\ua840-\ua873\ua882-\ua8b3\ua8f2-\ua8f7\ua8fb\ua8fd-\ua8fe\ua90a-\ua925\ua930-\ua946\ua960-\ua97c\ua984-\ua9b2\ua9cf\ua9e0-\ua9e4\ua9e6-\ua9ef\ua9fa-\ua9fe\uaa00-\uaa28\uaa40-\uaa42\uaa44-\uaa4b\uaa60-\uaa76\uaa7a\uaa7e-\uaaaf\uaab1\uaab5-\uaab6\uaab9-\uaabd\uaac0\uaac2\uaadb-\uaadd\uaae0-\uaaea\uaaf2-\uaaf4\uab01-\uab06\uab09-\uab0e\uab11-\uab16\uab20-\uab26\uab28-\uab2e\uab30-\uab5a\uab5c-\uab67\uab70-\uabe2\uac00-\ud7a3\ud7b0-\ud7c6\ud7cb-\ud7fb\uf900-\ufa6d\ufa70-\ufad9\ufb00-\ufb06\ufb13-\ufb17\ufb1d\ufb1f-\ufb28\ufb2a-\ufb36\ufb38-\ufb3c\ufb3e\ufb40-\ufb41\ufb43-\ufb44\ufb46-\ufbb1\ufbd3-\ufd3d\ufd50-\ufd8f\ufd92-\ufdc7\ufdf0-\ufdfb\ufe70-\ufe74\ufe76-\ufefc\uff21-\uff3a\uff41-\uff5a\uff66-\uffbe\uffc2-\uffc7\uffca-\uffcf\uffd2-\uffd7\uffda-\uffdc]|\ud800[\udc00-\udc0b\udc0d-\udc26\udc28-\udc3a\udc3c-\udc3d\udc3f-\udc4d\udc50-\udc5d\udc80-\udcfa\udd40-\udd74\ude80-\ude9c\udea0-\uded0\udf00-\udf1f\udf2d-\udf4a\udf50-\udf75\udf80-\udf9d\udfa0-\udfc3\udfc8-\udfcf\udfd1-\udfd5]|\ud801[\udc00-\udc9d\udcb0-\udcd3\udcd8-\udcfb\udd00-\udd27\udd30-\udd63\ude00-\udf36\udf40-\udf55\udf60-\udf67]|\ud802[\udc00-\udc05\udc08\udc0a-\udc35\udc37-\udc38\udc3c\udc3f-\udc55\udc60-\udc76\udc80-\udc9e\udce0-\udcf2\udcf4-\udcf5\udd00-\udd15\udd20-\udd39\udd80-\uddb7\uddbe-\uddbf\ude00\ude10-\ude13\ude15-\ude17\ude19-\ude35\ude60-\ude7c\ude80-\ude9c\udec0-\udec7\udec9-\udee4\udf00-\udf35\udf40-\udf55\udf60-\udf72\udf80-\udf91]|\ud803[\udc00-\udc48\udc80-\udcb2\udcc0-\udcf2\udd00-\udd23\udf00-\udf1c\udf27\udf30-\udf45\udfe0-\udff6]|\ud804[\udc03-\udc37\udc83-\udcaf\udcd0-\udce8\udd03-\udd26\udd44\udd50-\udd72\udd76\udd83-\uddb2\uddc1-\uddc4\uddda\udddc\ude00-\ude11\ude13-\ude2b\ude80-\ude86\ude88\ude8a-\ude8d\ude8f-\ude9d\ude9f-\udea8\udeb0-\udede\udf05-\udf0c\udf0f-\udf10\udf13-\udf28\udf2a-\udf30\udf32-\udf33\udf35-\udf39\udf3d\udf50\udf5d-\udf61]|\ud805[\udc00-\udc34\udc47-\udc4a\udc5f\udc80-\udcaf\udcc4-\udcc5\udcc7\udd80-\uddae\uddd8-\udddb\ude00-\ude2f\ude44\ude80-\udeaa\udeb8\udf00-\udf1a]|\ud806[\udc00-\udc2b\udca0-\udcdf\udcff\udda0-\udda7\uddaa-\uddd0\udde1\udde3\ude00\ude0b-\ude32\ude3a\ude50\ude5c-\ude89\ude9d\udec0-\udef8]|\ud807[\udc00-\udc08\udc0a-\udc2e\udc40\udc72-\udc8f\udd00-\udd06\udd08-\udd09\udd0b-\udd30\udd46\udd60-\udd65\udd67-\udd68\udd6a-\udd89\udd98\udee0-\udef2]|\ud808[\udc00-\udf99]|\ud809[\udc00-\udc6e\udc80-\udd43]|\ud80c[\udc00-\udfff]|\ud80d[\udc00-\udc2e]|\ud811[\udc00-\ude46]|\ud81a[\udc00-\ude38\ude40-\ude5e\uded0-\udeed\udf00-\udf2f\udf40-\udf43\udf63-\udf77\udf7d-\udf8f]|\ud81b[\ude40-\ude7f\udf00-\udf4a\udf50\udf93-\udf9f\udfe0-\udfe1\udfe3]|\ud81c[\udc00-\udfff]|\ud81d[\udc00-\udfff]|\ud81e[\udc00-\udfff]|\ud81f[\udc00-\udfff]|\ud820[\udc00-\udfff]|\ud821[\udc00-\udff7]|\ud822[\udc00-\udef2]|\ud82c[\udc00-\udd1e\udd50-\udd52\udd64-\udd67\udd70-\udefb]|\ud82f[\udc00-\udc6a\udc70-\udc7c\udc80-\udc88\udc90-\udc99]|\ud835[\udc00-\udc54\udc56-\udc9c\udc9e-\udc9f\udca2\udca5-\udca6\udca9-\udcac\udcae-\udcb9\udcbb\udcbd-\udcc3\udcc5-\udd05\udd07-\udd0a\udd0d-\udd14\udd16-\udd1c\udd1e-\udd39\udd3b-\udd3e\udd40-\udd44\udd46\udd4a-\udd50\udd52-\udea5\udea8-\udec0\udec2-\udeda\udedc-\udefa\udefc-\udf14\udf16-\udf34\udf36-\udf4e\udf50-\udf6e\udf70-\udf88\udf8a-\udfa8\udfaa-\udfc2\udfc4-\udfcb]|\ud838[\udd00-\udd2c\udd37-\udd3d\udd4e\udec0-\udeeb]|\ud83a[\udc00-\udcc4\udd00-\udd43\udd4b]|\ud83b[\ude00-\ude03\ude05-\ude1f\ude21-\ude22\ude24\ude27\ude29-\ude32\ude34-\ude37\ude39\ude3b\ude42\ude47\ude49\ude4b\ude4d-\ude4f\ude51-\ude52\ude54\ude57\ude59\ude5b\ude5d\ude5f\ude61-\ude62\ude64\ude67-\ude6a\ude6c-\ude72\ude74-\ude77\ude79-\ude7c\ude7e\ude80-\ude89\ude8b-\ude9b\udea1-\udea3\udea5-\udea9\udeab-\udebb]|\ud840[\udc00-\udfff]|\ud841[\udc00-\udfff]|\ud842[\udc00-\udfff]|\ud843[\udc00-\udfff]|\ud844[\udc00-\udfff]|\ud845[\udc00-\udfff]|\ud846[\udc00-\udfff]|\ud847[\udc00-\udfff]|\ud848[\udc00-\udfff]|\ud849[\udc00-\udfff]|\ud84a[\udc00-\udfff]|\ud84b[\udc00-\udfff]|\ud84c[\udc00-\udfff]|\ud84d[\udc00-\udfff]|\ud84e[\udc00-\udfff]|\ud84f[\udc00-\udfff]|\ud850[\udc00-\udfff]|\ud851[\udc00-\udfff]|\ud852[\udc00-\udfff]|\ud853[\udc00-\udfff]|\ud854[\udc00-\udfff]|\ud855[\udc00-\udfff]|\ud856[\udc00-\udfff]|\ud857[\udc00-\udfff]|\ud858[\udc00-\udfff]|\ud859[\udc00-\udfff]|\ud85a[\udc00-\udfff]|\ud85b[\udc00-\udfff]|\ud85c[\udc00-\udfff]|\ud85d[\udc00-\udfff]|\ud85e[\udc00-\udfff]|\ud85f[\udc00-\udfff]|\ud860[\udc00-\udfff]|\ud861[\udc00-\udfff]|\ud862[\udc00-\udfff]|\ud863[\udc00-\udfff]|\ud864[\udc00-\udfff]|\ud865[\udc00-\udfff]|\ud866[\udc00-\udfff]|\ud867[\udc00-\udfff]|\ud868[\udc00-\udfff]|\ud869[\udc00-\uded6\udf00-\udfff]|\ud86a[\udc00-\udfff]|\ud86b[\udc00-\udfff]|\ud86c[\udc00-\udfff]|\ud86d[\udc00-\udf34\udf40-\udfff]|\ud86e[\udc00-\udc1d\udc20-\udfff]|\ud86f[\udc00-\udfff]|\ud870[\udc00-\udfff]|\ud871[\udc00-\udfff]|\ud872[\udc00-\udfff]|\ud873[\udc00-\udea1\udeb0-\udfff]|\ud874[\udc00-\udfff]|\ud875[\udc00-\udfff]|\ud876[\udc00-\udfff]|\ud877[\udc00-\udfff]|\ud878[\udc00-\udfff]|\ud879[\udc00-\udfff]|\ud87a[\udc00-\udfe0]|\ud87e[\udc00-\ude1d])|[$_]|(\\u[0-9a-fA-F]{4}|\\u\{[0-9a-fA-F]{1,}\}))(([\u0030-\u0039\u0041-\u005a\u005f\u0061-\u007a\u00aa\u00b5\u00b7\u00ba\u00c0-\u00d6\u00d8-\u00f6\u00f8-\u02c1\u02c6-\u02d1\u02e0-\u02e4\u02ec\u02ee\u0300-\u0374\u0376-\u0377\u037a-\u037d\u037f\u0386-\u038a\u038c\u038e-\u03a1\u03a3-\u03f5\u03f7-\u0481\u0483-\u0487\u048a-\u052f\u0531-\u0556\u0559\u0560-\u0588\u0591-\u05bd\u05bf\u05c1-\u05c2\u05c4-\u05c5\u05c7\u05d0-\u05ea\u05ef-\u05f2\u0610-\u061a\u0620-\u0669\u066e-\u06d3\u06d5-\u06dc\u06df-\u06e8\u06ea-\u06fc\u06ff\u0710-\u074a\u074d-\u07b1\u07c0-\u07f5\u07fa\u07fd\u0800-\u082d\u0840-\u085b\u0860-\u086a\u08a0-\u08b4\u08b6-\u08bd\u08d3-\u08e1\u08e3-\u0963\u0966-\u096f\u0971-\u0983\u0985-\u098c\u098f-\u0990\u0993-\u09a8\u09aa-\u09b0\u09b2\u09b6-\u09b9\u09bc-\u09c4\u09c7-\u09c8\u09cb-\u09ce\u09d7\u09dc-\u09dd\u09df-\u09e3\u09e6-\u09f1\u09fc\u09fe\u0a01-\u0a03\u0a05-\u0a0a\u0a0f-\u0a10\u0a13-\u0a28\u0a2a-\u0a30\u0a32-\u0a33\u0a35-\u0a36\u0a38-\u0a39\u0a3c\u0a3e-\u0a42\u0a47-\u0a48\u0a4b-\u0a4d\u0a51\u0a59-\u0a5c\u0a5e\u0a66-\u0a75\u0a81-\u0a83\u0a85-\u0a8d\u0a8f-\u0a91\u0a93-\u0aa8\u0aaa-\u0ab0\u0ab2-\u0ab3\u0ab5-\u0ab9\u0abc-\u0ac5\u0ac7-\u0ac9\u0acb-\u0acd\u0ad0\u0ae0-\u0ae3\u0ae6-\u0aef\u0af9-\u0aff\u0b01-\u0b03\u0b05-\u0b0c\u0b0f-\u0b10\u0b13-\u0b28\u0b2a-\u0b30\u0b32-\u0b33\u0b35-\u0b39\u0b3c-\u0b44\u0b47-\u0b48\u0b4b-\u0b4d\u0b56-\u0b57\u0b5c-\u0b5d\u0b5f-\u0b63\u0b66-\u0b6f\u0b71\u0b82-\u0b83\u0b85-\u0b8a\u0b8e-\u0b90\u0b92-\u0b95\u0b99-\u0b9a\u0b9c\u0b9e-\u0b9f\u0ba3-\u0ba4\u0ba8-\u0baa\u0bae-\u0bb9\u0bbe-\u0bc2\u0bc6-\u0bc8\u0bca-\u0bcd\u0bd0\u0bd7\u0be6-\u0bef\u0c00-\u0c0c\u0c0e-\u0c10\u0c12-\u0c28\u0c2a-\u0c39\u0c3d-\u0c44\u0c46-\u0c48\u0c4a-\u0c4d\u0c55-\u0c56\u0c58-\u0c5a\u0c60-\u0c63\u0c66-\u0c6f\u0c80-\u0c83\u0c85-\u0c8c\u0c8e-\u0c90\u0c92-\u0ca8\u0caa-\u0cb3\u0cb5-\u0cb9\u0cbc-\u0cc4\u0cc6-\u0cc8\u0cca-\u0ccd\u0cd5-\u0cd6\u0cde\u0ce0-\u0ce3\u0ce6-\u0cef\u0cf1-\u0cf2\u0d00-\u0d03\u0d05-\u0d0c\u0d0e-\u0d10\u0d12-\u0d44\u0d46-\u0d48\u0d4a-\u0d4e\u0d54-\u0d57\u0d5f-\u0d63\u0d66-\u0d6f\u0d7a-\u0d7f\u0d82-\u0d83\u0d85-\u0d96\u0d9a-\u0db1\u0db3-\u0dbb\u0dbd\u0dc0-\u0dc6\u0dca\u0dcf-\u0dd4\u0dd6\u0dd8-\u0ddf\u0de6-\u0def\u0df2-\u0df3\u0e01-\u0e3a\u0e40-\u0e4e\u0e50-\u0e59\u0e81-\u0e82\u0e84\u0e86-\u0e8a\u0e8c-\u0ea3\u0ea5\u0ea7-\u0ebd\u0ec0-\u0ec4\u0ec6\u0ec8-\u0ecd\u0ed0-\u0ed9\u0edc-\u0edf\u0f00\u0f18-\u0f19\u0f20-\u0f29\u0f35\u0f37\u0f39\u0f3e-\u0f47\u0f49-\u0f6c\u0f71-\u0f84\u0f86-\u0f97\u0f99-\u0fbc\u0fc6\u1000-\u1049\u1050-\u109d\u10a0-\u10c5\u10c7\u10cd\u10d0-\u10fa\u10fc-\u1248\u124a-\u124d\u1250-\u1256\u1258\u125a-\u125d\u1260-\u1288\u128a-\u128d\u1290-\u12b0\u12b2-\u12b5\u12b8-\u12be\u12c0\u12c2-\u12c5\u12c8-\u12d6\u12d8-\u1310\u1312-\u1315\u1318-\u135a\u135d-\u135f\u1369-\u1371\u1380-\u138f\u13a0-\u13f5\u13f8-\u13fd\u1401-\u166c\u166f-\u167f\u1681-\u169a\u16a0-\u16ea\u16ee-\u16f8\u1700-\u170c\u170e-\u1714\u1720-\u1734\u1740-\u1753\u1760-\u176c\u176e-\u1770\u1772-\u1773\u1780-\u17d3\u17d7\u17dc-\u17dd\u17e0-\u17e9\u180b-\u180d\u1810-\u1819\u1820-\u1878\u1880-\u18aa\u18b0-\u18f5\u1900-\u191e\u1920-\u192b\u1930-\u193b\u1946-\u196d\u1970-\u1974\u1980-\u19ab\u19b0-\u19c9\u19d0-\u19da\u1a00-\u1a1b\u1a20-\u1a5e\u1a60-\u1a7c\u1a7f-\u1a89\u1a90-\u1a99\u1aa7\u1ab0-\u1abd\u1b00-\u1b4b\u1b50-\u1b59\u1b6b-\u1b73\u1b80-\u1bf3\u1c00-\u1c37\u1c40-\u1c49\u1c4d-\u1c7d\u1c80-\u1c88\u1c90-\u1cba\u1cbd-\u1cbf\u1cd0-\u1cd2\u1cd4-\u1cfa\u1d00-\u1df9\u1dfb-\u1f15\u1f18-\u1f1d\u1f20-\u1f45\u1f48-\u1f4d\u1f50-\u1f57\u1f59\u1f5b\u1f5d\u1f5f-\u1f7d\u1f80-\u1fb4\u1fb6-\u1fbc\u1fbe\u1fc2-\u1fc4\u1fc6-\u1fcc\u1fd0-\u1fd3\u1fd6-\u1fdb\u1fe0-\u1fec\u1ff2-\u1ff4\u1ff6-\u1ffc\u203f-\u2040\u2054\u2071\u207f\u2090-\u209c\u20d0-\u20dc\u20e1\u20e5-\u20f0\u2102\u2107\u210a-\u2113\u2115\u2118-\u211d\u2124\u2126\u2128\u212a-\u2139\u213c-\u213f\u2145-\u2149\u214e\u2160-\u2188\u2c00-\u2c2e\u2c30-\u2c5e\u2c60-\u2ce4\u2ceb-\u2cf3\u2d00-\u2d25\u2d27\u2d2d\u2d30-\u2d67\u2d6f\u2d7f-\u2d96\u2da0-\u2da6\u2da8-\u2dae\u2db0-\u2db6\u2db8-\u2dbe\u2dc0-\u2dc6\u2dc8-\u2dce\u2dd0-\u2dd6\u2dd8-\u2dde\u2de0-\u2dff\u3005-\u3007\u3021-\u302f\u3031-\u3035\u3038-\u303c\u3041-\u3096\u3099-\u309f\u30a1-\u30fa\u30fc-\u30ff\u3105-\u312f\u3131-\u318e\u31a0-\u31ba\u31f0-\u31ff\u3400-\u4db5\u4e00-\u9fef\ua000-\ua48c\ua4d0-\ua4fd\ua500-\ua60c\ua610-\ua62b\ua640-\ua66f\ua674-\ua67d\ua67f-\ua6f1\ua717-\ua71f\ua722-\ua788\ua78b-\ua7bf\ua7c2-\ua7c6\ua7f7-\ua827\ua840-\ua873\ua880-\ua8c5\ua8d0-\ua8d9\ua8e0-\ua8f7\ua8fb\ua8fd-\ua92d\ua930-\ua953\ua960-\ua97c\ua980-\ua9c0\ua9cf-\ua9d9\ua9e0-\ua9fe\uaa00-\uaa36\uaa40-\uaa4d\uaa50-\uaa59\uaa60-\uaa76\uaa7a-\uaac2\uaadb-\uaadd\uaae0-\uaaef\uaaf2-\uaaf6\uab01-\uab06\uab09-\uab0e\uab11-\uab16\uab20-\uab26\uab28-\uab2e\uab30-\uab5a\uab5c-\uab67\uab70-\uabea\uabec-\uabed\uabf0-\uabf9\uac00-\ud7a3\ud7b0-\ud7c6\ud7cb-\ud7fb\uf900-\ufa6d\ufa70-\ufad9\ufb00-\ufb06\ufb13-\ufb17\ufb1d-\ufb28\ufb2a-\ufb36\ufb38-\ufb3c\ufb3e\ufb40-\ufb41\ufb43-\ufb44\ufb46-\ufbb1\ufbd3-\ufd3d\ufd50-\ufd8f\ufd92-\ufdc7\ufdf0-\ufdfb\ufe00-\ufe0f\ufe20-\ufe2f\ufe33-\ufe34\ufe4d-\ufe4f\ufe70-\ufe74\ufe76-\ufefc\uff10-\uff19\uff21-\uff3a\uff3f\uff41-\uff5a\uff66-\uffbe\uffc2-\uffc7\uffca-\uffcf\uffd2-\uffd7\uffda-\uffdc]|\ud800[\udc00-\udc0b\udc0d-\udc26\udc28-\udc3a\udc3c-\udc3d\udc3f-\udc4d\udc50-\udc5d\udc80-\udcfa\udd40-\udd74\uddfd\ude80-\ude9c\udea0-\uded0\udee0\udf00-\udf1f\udf2d-\udf4a\udf50-\udf7a\udf80-\udf9d\udfa0-\udfc3\udfc8-\udfcf\udfd1-\udfd5]|\ud801[\udc00-\udc9d\udca0-\udca9\udcb0-\udcd3\udcd8-\udcfb\udd00-\udd27\udd30-\udd63\ude00-\udf36\udf40-\udf55\udf60-\udf67]|\ud802[\udc00-\udc05\udc08\udc0a-\udc35\udc37-\udc38\udc3c\udc3f-\udc55\udc60-\udc76\udc80-\udc9e\udce0-\udcf2\udcf4-\udcf5\udd00-\udd15\udd20-\udd39\udd80-\uddb7\uddbe-\uddbf\ude00-\ude03\ude05-\ude06\ude0c-\ude13\ude15-\ude17\ude19-\ude35\ude38-\ude3a\ude3f\ude60-\ude7c\ude80-\ude9c\udec0-\udec7\udec9-\udee6\udf00-\udf35\udf40-\udf55\udf60-\udf72\udf80-\udf91]|\ud803[\udc00-\udc48\udc80-\udcb2\udcc0-\udcf2\udd00-\udd27\udd30-\udd39\udf00-\udf1c\udf27\udf30-\udf50\udfe0-\udff6]|\ud804[\udc00-\udc46\udc66-\udc6f\udc7f-\udcba\udcd0-\udce8\udcf0-\udcf9\udd00-\udd34\udd36-\udd3f\udd44-\udd46\udd50-\udd73\udd76\udd80-\uddc4\uddc9-\uddcc\uddd0-\uddda\udddc\ude00-\ude11\ude13-\ude37\ude3e\ude80-\ude86\ude88\ude8a-\ude8d\ude8f-\ude9d\ude9f-\udea8\udeb0-\udeea\udef0-\udef9\udf00-\udf03\udf05-\udf0c\udf0f-\udf10\udf13-\udf28\udf2a-\udf30\udf32-\udf33\udf35-\udf39\udf3b-\udf44\udf47-\udf48\udf4b-\udf4d\udf50\udf57\udf5d-\udf63\udf66-\udf6c\udf70-\udf74]|\ud805[\udc00-\udc4a\udc50-\udc59\udc5e-\udc5f\udc80-\udcc5\udcc7\udcd0-\udcd9\udd80-\uddb5\uddb8-\uddc0\uddd8-\udddd\ude00-\ude40\ude44\ude50-\ude59\ude80-\udeb8\udec0-\udec9\udf00-\udf1a\udf1d-\udf2b\udf30-\udf39]|\ud806[\udc00-\udc3a\udca0-\udce9\udcff\udda0-\udda7\uddaa-\uddd7\uddda-\udde1\udde3-\udde4\ude00-\ude3e\ude47\ude50-\ude99\ude9d\udec0-\udef8]|\ud807[\udc00-\udc08\udc0a-\udc36\udc38-\udc40\udc50-\udc59\udc72-\udc8f\udc92-\udca7\udca9-\udcb6\udd00-\udd06\udd08-\udd09\udd0b-\udd36\udd3a\udd3c-\udd3d\udd3f-\udd47\udd50-\udd59\udd60-\udd65\udd67-\udd68\udd6a-\udd8e\udd90-\udd91\udd93-\udd98\udda0-\udda9\udee0-\udef6]|\ud808[\udc00-\udf99]|\ud809[\udc00-\udc6e\udc80-\udd43]|\ud80c[\udc00-\udfff]|\ud80d[\udc00-\udc2e]|\ud811[\udc00-\ude46]|\ud81a[\udc00-\ude38\ude40-\ude5e\ude60-\ude69\uded0-\udeed\udef0-\udef4\udf00-\udf36\udf40-\udf43\udf50-\udf59\udf63-\udf77\udf7d-\udf8f]|\ud81b[\ude40-\ude7f\udf00-\udf4a\udf4f-\udf87\udf8f-\udf9f\udfe0-\udfe1\udfe3]|\ud81c[\udc00-\udfff]|\ud81d[\udc00-\udfff]|\ud81e[\udc00-\udfff]|\ud81f[\udc00-\udfff]|\ud820[\udc00-\udfff]|\ud821[\udc00-\udff7]|\ud822[\udc00-\udef2]|\ud82c[\udc00-\udd1e\udd50-\udd52\udd64-\udd67\udd70-\udefb]|\ud82f[\udc00-\udc6a\udc70-\udc7c\udc80-\udc88\udc90-\udc99\udc9d-\udc9e]|\ud834[\udd65-\udd69\udd6d-\udd72\udd7b-\udd82\udd85-\udd8b\uddaa-\uddad\ude42-\ude44]|\ud835[\udc00-\udc54\udc56-\udc9c\udc9e-\udc9f\udca2\udca5-\udca6\udca9-\udcac\udcae-\udcb9\udcbb\udcbd-\udcc3\udcc5-\udd05\udd07-\udd0a\udd0d-\udd14\udd16-\udd1c\udd1e-\udd39\udd3b-\udd3e\udd40-\udd44\udd46\udd4a-\udd50\udd52-\udea5\udea8-\udec0\udec2-\udeda\udedc-\udefa\udefc-\udf14\udf16-\udf34\udf36-\udf4e\udf50-\udf6e\udf70-\udf88\udf8a-\udfa8\udfaa-\udfc2\udfc4-\udfcb\udfce-\udfff]|\ud836[\ude00-\ude36\ude3b-\ude6c\ude75\ude84\ude9b-\ude9f\udea1-\udeaf]|\ud838[\udc00-\udc06\udc08-\udc18\udc1b-\udc21\udc23-\udc24\udc26-\udc2a\udd00-\udd2c\udd30-\udd3d\udd40-\udd49\udd4e\udec0-\udef9]|\ud83a[\udc00-\udcc4\udcd0-\udcd6\udd00-\udd4b\udd50-\udd59]|\ud83b[\ude00-\ude03\ude05-\ude1f\ude21-\ude22\ude24\ude27\ude29-\ude32\ude34-\ude37\ude39\ude3b\ude42\ude47\ude49\ude4b\ude4d-\ude4f\ude51-\ude52\ude54\ude57\ude59\ude5b\ude5d\ude5f\ude61-\ude62\ude64\ude67-\ude6a\ude6c-\ude72\ude74-\ude77\ude79-\ude7c\ude7e\ude80-\ude89\ude8b-\ude9b\udea1-\udea3\udea5-\udea9\udeab-\udebb]|\ud840[\udc00-\udfff]|\ud841[\udc00-\udfff]|\ud842[\udc00-\udfff]|\ud843[\udc00-\udfff]|\ud844[\udc00-\udfff]|\ud845[\udc00-\udfff]|\ud846[\udc00-\udfff]|\ud847[\udc00-\udfff]|\ud848[\udc00-\udfff]|\ud849[\udc00-\udfff]|\ud84a[\udc00-\udfff]|\ud84b[\udc00-\udfff]|\ud84c[\udc00-\udfff]|\ud84d[\udc00-\udfff]|\ud84e[\udc00-\udfff]|\ud84f[\udc00-\udfff]|\ud850[\udc00-\udfff]|\ud851[\udc00-\udfff]|\ud852[\udc00-\udfff]|\ud853[\udc00-\udfff]|\ud854[\udc00-\udfff]|\ud855[\udc00-\udfff]|\ud856[\udc00-\udfff]|\ud857[\udc00-\udfff]|\ud858[\udc00-\udfff]|\ud859[\udc00-\udfff]|\ud85a[\udc00-\udfff]|\ud85b[\udc00-\udfff]|\ud85c[\udc00-\udfff]|\ud85d[\udc00-\udfff]|\ud85e[\udc00-\udfff]|\ud85f[\udc00-\udfff]|\ud860[\udc00-\udfff]|\ud861[\udc00-\udfff]|\ud862[\udc00-\udfff]|\ud863[\udc00-\udfff]|\ud864[\udc00-\udfff]|\ud865[\udc00-\udfff]|\ud866[\udc00-\udfff]|\ud867[\udc00-\udfff]|\ud868[\udc00-\udfff]|\ud869[\udc00-\uded6\udf00-\udfff]|\ud86a[\udc00-\udfff]|\ud86b[\udc00-\udfff]|\ud86c[\udc00-\udfff]|\ud86d[\udc00-\udf34\udf40-\udfff]|\ud86e[\udc00-\udc1d\udc20-\udfff]|\ud86f[\udc00-\udfff]|\ud870[\udc00-\udfff]|\ud871[\udc00-\udfff]|\ud872[\udc00-\udfff]|\ud873[\udc00-\udea1\udeb0-\udfff]|\ud874[\udc00-\udfff]|\ud875[\udc00-\udfff]|\ud876[\udc00-\udfff]|\ud877[\udc00-\udfff]|\ud878[\udc00-\udfff]|\ud879[\udc00-\udfff]|\ud87a[\udc00-\udfe0]|\ud87e[\udc00-\ude1d]|\udb40[\udd00-\uddef])|[$_]|(\\u[0-9a-fA-F]{4}|\\u\{[0-9a-fA-F]{1,}\})|[\u200c\u200d])*>/,function(){return validateUnicodeGroupName(yytext.slice(3,-1),this.getCurrentState()),"NAMED_GROUP_REF"}],[/^\\b/,function(){return"ESC_b"}],[/^\\B/,function(){return"ESC_B"}],[/^\\c[a-zA-Z]/,function(){return"CTRL_CH"}],[/^\\0\d{1,2}/,function(){return"OCT_CODE"}],[/^\\0/,function(){return"DEC_CODE"}],[/^\\\d{1,3}/,function(){return"DEC_CODE"}],[/^\\u[dD][89abAB][0-9a-fA-F]{2}\\u[dD][c-fC-F][0-9a-fA-F]{2}/,function(){return"U_CODE_SURROGATE"}],[/^\\u\{[0-9a-fA-F]{1,}\}/,function(){return"U_CODE"}],[/^\\u[0-9a-fA-F]{4}/,function(){return"U_CODE"}],[/^\\[pP]\{\w+(?:=\w+)?\}/,function(){return"U_PROP_VALUE_EXP"}],[/^\\x[0-9a-fA-F]{2}/,function(){return"HEX_CODE"}],[/^\\[tnrdDsSwWvf]/,function(){return"META_CHAR"}],[/^\\\//,function(){return"ESC_CHAR"}],[/^\\[ #]/,function(){return"ESC_CHAR"}],[/^\\[\^\$\.\*\+\?\(\)\\\[\]\{\}\|\/]/,function(){return"ESC_CHAR"}],[/^\\[^*?+\[()\\|]/,function(){var e=this.getCurrentState();if("u_class"===e&&"\\-"===yytext)return"ESC_CHAR";if("u"===e||"xu"===e||"u_class"===e)throw new SyntaxError("invalid Unicode escape "+yytext);return"ESC_CHAR"}],[/^\(/,function(){return"CHAR"}],[/^\)/,function(){return"CHAR"}],[/^\(\?=/,function(){return"POS_LA_ASSERT"}],[/^\(\?!/,function(){return"NEG_LA_ASSERT"}],[/^\(\?<=/,function(){return"POS_LB_ASSERT"}],[/^\(\?<!/,function(){return"NEG_LB_ASSERT"}],[/^\(\?:/,function(){return"NON_CAPTURE_GROUP"}],[/^\(\?<(([\u0041-\u005a\u0061-\u007a\u00aa\u00b5\u00ba\u00c0-\u00d6\u00d8-\u00f6\u00f8-\u02c1\u02c6-\u02d1\u02e0-\u02e4\u02ec\u02ee\u0370-\u0374\u0376-\u0377\u037a-\u037d\u037f\u0386\u0388-\u038a\u038c\u038e-\u03a1\u03a3-\u03f5\u03f7-\u0481\u048a-\u052f\u0531-\u0556\u0559\u0560-\u0588\u05d0-\u05ea\u05ef-\u05f2\u0620-\u064a\u066e-\u066f\u0671-\u06d3\u06d5\u06e5-\u06e6\u06ee-\u06ef\u06fa-\u06fc\u06ff\u0710\u0712-\u072f\u074d-\u07a5\u07b1\u07ca-\u07ea\u07f4-\u07f5\u07fa\u0800-\u0815\u081a\u0824\u0828\u0840-\u0858\u0860-\u086a\u08a0-\u08b4\u08b6-\u08bd\u0904-\u0939\u093d\u0950\u0958-\u0961\u0971-\u0980\u0985-\u098c\u098f-\u0990\u0993-\u09a8\u09aa-\u09b0\u09b2\u09b6-\u09b9\u09bd\u09ce\u09dc-\u09dd\u09df-\u09e1\u09f0-\u09f1\u09fc\u0a05-\u0a0a\u0a0f-\u0a10\u0a13-\u0a28\u0a2a-\u0a30\u0a32-\u0a33\u0a35-\u0a36\u0a38-\u0a39\u0a59-\u0a5c\u0a5e\u0a72-\u0a74\u0a85-\u0a8d\u0a8f-\u0a91\u0a93-\u0aa8\u0aaa-\u0ab0\u0ab2-\u0ab3\u0ab5-\u0ab9\u0abd\u0ad0\u0ae0-\u0ae1\u0af9\u0b05-\u0b0c\u0b0f-\u0b10\u0b13-\u0b28\u0b2a-\u0b30\u0b32-\u0b33\u0b35-\u0b39\u0b3d\u0b5c-\u0b5d\u0b5f-\u0b61\u0b71\u0b83\u0b85-\u0b8a\u0b8e-\u0b90\u0b92-\u0b95\u0b99-\u0b9a\u0b9c\u0b9e-\u0b9f\u0ba3-\u0ba4\u0ba8-\u0baa\u0bae-\u0bb9\u0bd0\u0c05-\u0c0c\u0c0e-\u0c10\u0c12-\u0c28\u0c2a-\u0c39\u0c3d\u0c58-\u0c5a\u0c60-\u0c61\u0c80\u0c85-\u0c8c\u0c8e-\u0c90\u0c92-\u0ca8\u0caa-\u0cb3\u0cb5-\u0cb9\u0cbd\u0cde\u0ce0-\u0ce1\u0cf1-\u0cf2\u0d05-\u0d0c\u0d0e-\u0d10\u0d12-\u0d3a\u0d3d\u0d4e\u0d54-\u0d56\u0d5f-\u0d61\u0d7a-\u0d7f\u0d85-\u0d96\u0d9a-\u0db1\u0db3-\u0dbb\u0dbd\u0dc0-\u0dc6\u0e01-\u0e30\u0e32-\u0e33\u0e40-\u0e46\u0e81-\u0e82\u0e84\u0e86-\u0e8a\u0e8c-\u0ea3\u0ea5\u0ea7-\u0eb0\u0eb2-\u0eb3\u0ebd\u0ec0-\u0ec4\u0ec6\u0edc-\u0edf\u0f00\u0f40-\u0f47\u0f49-\u0f6c\u0f88-\u0f8c\u1000-\u102a\u103f\u1050-\u1055\u105a-\u105d\u1061\u1065-\u1066\u106e-\u1070\u1075-\u1081\u108e\u10a0-\u10c5\u10c7\u10cd\u10d0-\u10fa\u10fc-\u1248\u124a-\u124d\u1250-\u1256\u1258\u125a-\u125d\u1260-\u1288\u128a-\u128d\u1290-\u12b0\u12b2-\u12b5\u12b8-\u12be\u12c0\u12c2-\u12c5\u12c8-\u12d6\u12d8-\u1310\u1312-\u1315\u1318-\u135a\u1380-\u138f\u13a0-\u13f5\u13f8-\u13fd\u1401-\u166c\u166f-\u167f\u1681-\u169a\u16a0-\u16ea\u16ee-\u16f8\u1700-\u170c\u170e-\u1711\u1720-\u1731\u1740-\u1751\u1760-\u176c\u176e-\u1770\u1780-\u17b3\u17d7\u17dc\u1820-\u1878\u1880-\u18a8\u18aa\u18b0-\u18f5\u1900-\u191e\u1950-\u196d\u1970-\u1974\u1980-\u19ab\u19b0-\u19c9\u1a00-\u1a16\u1a20-\u1a54\u1aa7\u1b05-\u1b33\u1b45-\u1b4b\u1b83-\u1ba0\u1bae-\u1baf\u1bba-\u1be5\u1c00-\u1c23\u1c4d-\u1c4f\u1c5a-\u1c7d\u1c80-\u1c88\u1c90-\u1cba\u1cbd-\u1cbf\u1ce9-\u1cec\u1cee-\u1cf3\u1cf5-\u1cf6\u1cfa\u1d00-\u1dbf\u1e00-\u1f15\u1f18-\u1f1d\u1f20-\u1f45\u1f48-\u1f4d\u1f50-\u1f57\u1f59\u1f5b\u1f5d\u1f5f-\u1f7d\u1f80-\u1fb4\u1fb6-\u1fbc\u1fbe\u1fc2-\u1fc4\u1fc6-\u1fcc\u1fd0-\u1fd3\u1fd6-\u1fdb\u1fe0-\u1fec\u1ff2-\u1ff4\u1ff6-\u1ffc\u2071\u207f\u2090-\u209c\u2102\u2107\u210a-\u2113\u2115\u2118-\u211d\u2124\u2126\u2128\u212a-\u2139\u213c-\u213f\u2145-\u2149\u214e\u2160-\u2188\u2c00-\u2c2e\u2c30-\u2c5e\u2c60-\u2ce4\u2ceb-\u2cee\u2cf2-\u2cf3\u2d00-\u2d25\u2d27\u2d2d\u2d30-\u2d67\u2d6f\u2d80-\u2d96\u2da0-\u2da6\u2da8-\u2dae\u2db0-\u2db6\u2db8-\u2dbe\u2dc0-\u2dc6\u2dc8-\u2dce\u2dd0-\u2dd6\u2dd8-\u2dde\u3005-\u3007\u3021-\u3029\u3031-\u3035\u3038-\u303c\u3041-\u3096\u309b-\u309f\u30a1-\u30fa\u30fc-\u30ff\u3105-\u312f\u3131-\u318e\u31a0-\u31ba\u31f0-\u31ff\u3400-\u4db5\u4e00-\u9fef\ua000-\ua48c\ua4d0-\ua4fd\ua500-\ua60c\ua610-\ua61f\ua62a-\ua62b\ua640-\ua66e\ua67f-\ua69d\ua6a0-\ua6ef\ua717-\ua71f\ua722-\ua788\ua78b-\ua7bf\ua7c2-\ua7c6\ua7f7-\ua801\ua803-\ua805\ua807-\ua80a\ua80c-\ua822\ua840-\ua873\ua882-\ua8b3\ua8f2-\ua8f7\ua8fb\ua8fd-\ua8fe\ua90a-\ua925\ua930-\ua946\ua960-\ua97c\ua984-\ua9b2\ua9cf\ua9e0-\ua9e4\ua9e6-\ua9ef\ua9fa-\ua9fe\uaa00-\uaa28\uaa40-\uaa42\uaa44-\uaa4b\uaa60-\uaa76\uaa7a\uaa7e-\uaaaf\uaab1\uaab5-\uaab6\uaab9-\uaabd\uaac0\uaac2\uaadb-\uaadd\uaae0-\uaaea\uaaf2-\uaaf4\uab01-\uab06\uab09-\uab0e\uab11-\uab16\uab20-\uab26\uab28-\uab2e\uab30-\uab5a\uab5c-\uab67\uab70-\uabe2\uac00-\ud7a3\ud7b0-\ud7c6\ud7cb-\ud7fb\uf900-\ufa6d\ufa70-\ufad9\ufb00-\ufb06\ufb13-\ufb17\ufb1d\ufb1f-\ufb28\ufb2a-\ufb36\ufb38-\ufb3c\ufb3e\ufb40-\ufb41\ufb43-\ufb44\ufb46-\ufbb1\ufbd3-\ufd3d\ufd50-\ufd8f\ufd92-\ufdc7\ufdf0-\ufdfb\ufe70-\ufe74\ufe76-\ufefc\uff21-\uff3a\uff41-\uff5a\uff66-\uffbe\uffc2-\uffc7\uffca-\uffcf\uffd2-\uffd7\uffda-\uffdc]|\ud800[\udc00-\udc0b\udc0d-\udc26\udc28-\udc3a\udc3c-\udc3d\udc3f-\udc4d\udc50-\udc5d\udc80-\udcfa\udd40-\udd74\ude80-\ude9c\udea0-\uded0\udf00-\udf1f\udf2d-\udf4a\udf50-\udf75\udf80-\udf9d\udfa0-\udfc3\udfc8-\udfcf\udfd1-\udfd5]|\ud801[\udc00-\udc9d\udcb0-\udcd3\udcd8-\udcfb\udd00-\udd27\udd30-\udd63\ude00-\udf36\udf40-\udf55\udf60-\udf67]|\ud802[\udc00-\udc05\udc08\udc0a-\udc35\udc37-\udc38\udc3c\udc3f-\udc55\udc60-\udc76\udc80-\udc9e\udce0-\udcf2\udcf4-\udcf5\udd00-\udd15\udd20-\udd39\udd80-\uddb7\uddbe-\uddbf\ude00\ude10-\ude13\ude15-\ude17\ude19-\ude35\ude60-\ude7c\ude80-\ude9c\udec0-\udec7\udec9-\udee4\udf00-\udf35\udf40-\udf55\udf60-\udf72\udf80-\udf91]|\ud803[\udc00-\udc48\udc80-\udcb2\udcc0-\udcf2\udd00-\udd23\udf00-\udf1c\udf27\udf30-\udf45\udfe0-\udff6]|\ud804[\udc03-\udc37\udc83-\udcaf\udcd0-\udce8\udd03-\udd26\udd44\udd50-\udd72\udd76\udd83-\uddb2\uddc1-\uddc4\uddda\udddc\ude00-\ude11\ude13-\ude2b\ude80-\ude86\ude88\ude8a-\ude8d\ude8f-\ude9d\ude9f-\udea8\udeb0-\udede\udf05-\udf0c\udf0f-\udf10\udf13-\udf28\udf2a-\udf30\udf32-\udf33\udf35-\udf39\udf3d\udf50\udf5d-\udf61]|\ud805[\udc00-\udc34\udc47-\udc4a\udc5f\udc80-\udcaf\udcc4-\udcc5\udcc7\udd80-\uddae\uddd8-\udddb\ude00-\ude2f\ude44\ude80-\udeaa\udeb8\udf00-\udf1a]|\ud806[\udc00-\udc2b\udca0-\udcdf\udcff\udda0-\udda7\uddaa-\uddd0\udde1\udde3\ude00\ude0b-\ude32\ude3a\ude50\ude5c-\ude89\ude9d\udec0-\udef8]|\ud807[\udc00-\udc08\udc0a-\udc2e\udc40\udc72-\udc8f\udd00-\udd06\udd08-\udd09\udd0b-\udd30\udd46\udd60-\udd65\udd67-\udd68\udd6a-\udd89\udd98\udee0-\udef2]|\ud808[\udc00-\udf99]|\ud809[\udc00-\udc6e\udc80-\udd43]|\ud80c[\udc00-\udfff]|\ud80d[\udc00-\udc2e]|\ud811[\udc00-\ude46]|\ud81a[\udc00-\ude38\ude40-\ude5e\uded0-\udeed\udf00-\udf2f\udf40-\udf43\udf63-\udf77\udf7d-\udf8f]|\ud81b[\ude40-\ude7f\udf00-\udf4a\udf50\udf93-\udf9f\udfe0-\udfe1\udfe3]|\ud81c[\udc00-\udfff]|\ud81d[\udc00-\udfff]|\ud81e[\udc00-\udfff]|\ud81f[\udc00-\udfff]|\ud820[\udc00-\udfff]|\ud821[\udc00-\udff7]|\ud822[\udc00-\udef2]|\ud82c[\udc00-\udd1e\udd50-\udd52\udd64-\udd67\udd70-\udefb]|\ud82f[\udc00-\udc6a\udc70-\udc7c\udc80-\udc88\udc90-\udc99]|\ud835[\udc00-\udc54\udc56-\udc9c\udc9e-\udc9f\udca2\udca5-\udca6\udca9-\udcac\udcae-\udcb9\udcbb\udcbd-\udcc3\udcc5-\udd05\udd07-\udd0a\udd0d-\udd14\udd16-\udd1c\udd1e-\udd39\udd3b-\udd3e\udd40-\udd44\udd46\udd4a-\udd50\udd52-\udea5\udea8-\udec0\udec2-\udeda\udedc-\udefa\udefc-\udf14\udf16-\udf34\udf36-\udf4e\udf50-\udf6e\udf70-\udf88\udf8a-\udfa8\udfaa-\udfc2\udfc4-\udfcb]|\ud838[\udd00-\udd2c\udd37-\udd3d\udd4e\udec0-\udeeb]|\ud83a[\udc00-\udcc4\udd00-\udd43\udd4b]|\ud83b[\ude00-\ude03\ude05-\ude1f\ude21-\ude22\ude24\ude27\ude29-\ude32\ude34-\ude37\ude39\ude3b\ude42\ude47\ude49\ude4b\ude4d-\ude4f\ude51-\ude52\ude54\ude57\ude59\ude5b\ude5d\ude5f\ude61-\ude62\ude64\ude67-\ude6a\ude6c-\ude72\ude74-\ude77\ude79-\ude7c\ude7e\ude80-\ude89\ude8b-\ude9b\udea1-\udea3\udea5-\udea9\udeab-\udebb]|\ud840[\udc00-\udfff]|\ud841[\udc00-\udfff]|\ud842[\udc00-\udfff]|\ud843[\udc00-\udfff]|\ud844[\udc00-\udfff]|\ud845[\udc00-\udfff]|\ud846[\udc00-\udfff]|\ud847[\udc00-\udfff]|\ud848[\udc00-\udfff]|\ud849[\udc00-\udfff]|\ud84a[\udc00-\udfff]|\ud84b[\udc00-\udfff]|\ud84c[\udc00-\udfff]|\ud84d[\udc00-\udfff]|\ud84e[\udc00-\udfff]|\ud84f[\udc00-\udfff]|\ud850[\udc00-\udfff]|\ud851[\udc00-\udfff]|\ud852[\udc00-\udfff]|\ud853[\udc00-\udfff]|\ud854[\udc00-\udfff]|\ud855[\udc00-\udfff]|\ud856[\udc00-\udfff]|\ud857[\udc00-\udfff]|\ud858[\udc00-\udfff]|\ud859[\udc00-\udfff]|\ud85a[\udc00-\udfff]|\ud85b[\udc00-\udfff]|\ud85c[\udc00-\udfff]|\ud85d[\udc00-\udfff]|\ud85e[\udc00-\udfff]|\ud85f[\udc00-\udfff]|\ud860[\udc00-\udfff]|\ud861[\udc00-\udfff]|\ud862[\udc00-\udfff]|\ud863[\udc00-\udfff]|\ud864[\udc00-\udfff]|\ud865[\udc00-\udfff]|\ud866[\udc00-\udfff]|\ud867[\udc00-\udfff]|\ud868[\udc00-\udfff]|\ud869[\udc00-\uded6\udf00-\udfff]|\ud86a[\udc00-\udfff]|\ud86b[\udc00-\udfff]|\ud86c[\udc00-\udfff]|\ud86d[\udc00-\udf34\udf40-\udfff]|\ud86e[\udc00-\udc1d\udc20-\udfff]|\ud86f[\udc00-\udfff]|\ud870[\udc00-\udfff]|\ud871[\udc00-\udfff]|\ud872[\udc00-\udfff]|\ud873[\udc00-\udea1\udeb0-\udfff]|\ud874[\udc00-\udfff]|\ud875[\udc00-\udfff]|\ud876[\udc00-\udfff]|\ud877[\udc00-\udfff]|\ud878[\udc00-\udfff]|\ud879[\udc00-\udfff]|\ud87a[\udc00-\udfe0]|\ud87e[\udc00-\ude1d])|[$_]|(\\u[0-9a-fA-F]{4}|\\u\{[0-9a-fA-F]{1,}\}))(([\u0030-\u0039\u0041-\u005a\u005f\u0061-\u007a\u00aa\u00b5\u00b7\u00ba\u00c0-\u00d6\u00d8-\u00f6\u00f8-\u02c1\u02c6-\u02d1\u02e0-\u02e4\u02ec\u02ee\u0300-\u0374\u0376-\u0377\u037a-\u037d\u037f\u0386-\u038a\u038c\u038e-\u03a1\u03a3-\u03f5\u03f7-\u0481\u0483-\u0487\u048a-\u052f\u0531-\u0556\u0559\u0560-\u0588\u0591-\u05bd\u05bf\u05c1-\u05c2\u05c4-\u05c5\u05c7\u05d0-\u05ea\u05ef-\u05f2\u0610-\u061a\u0620-\u0669\u066e-\u06d3\u06d5-\u06dc\u06df-\u06e8\u06ea-\u06fc\u06ff\u0710-\u074a\u074d-\u07b1\u07c0-\u07f5\u07fa\u07fd\u0800-\u082d\u0840-\u085b\u0860-\u086a\u08a0-\u08b4\u08b6-\u08bd\u08d3-\u08e1\u08e3-\u0963\u0966-\u096f\u0971-\u0983\u0985-\u098c\u098f-\u0990\u0993-\u09a8\u09aa-\u09b0\u09b2\u09b6-\u09b9\u09bc-\u09c4\u09c7-\u09c8\u09cb-\u09ce\u09d7\u09dc-\u09dd\u09df-\u09e3\u09e6-\u09f1\u09fc\u09fe\u0a01-\u0a03\u0a05-\u0a0a\u0a0f-\u0a10\u0a13-\u0a28\u0a2a-\u0a30\u0a32-\u0a33\u0a35-\u0a36\u0a38-\u0a39\u0a3c\u0a3e-\u0a42\u0a47-\u0a48\u0a4b-\u0a4d\u0a51\u0a59-\u0a5c\u0a5e\u0a66-\u0a75\u0a81-\u0a83\u0a85-\u0a8d\u0a8f-\u0a91\u0a93-\u0aa8\u0aaa-\u0ab0\u0ab2-\u0ab3\u0ab5-\u0ab9\u0abc-\u0ac5\u0ac7-\u0ac9\u0acb-\u0acd\u0ad0\u0ae0-\u0ae3\u0ae6-\u0aef\u0af9-\u0aff\u0b01-\u0b03\u0b05-\u0b0c\u0b0f-\u0b10\u0b13-\u0b28\u0b2a-\u0b30\u0b32-\u0b33\u0b35-\u0b39\u0b3c-\u0b44\u0b47-\u0b48\u0b4b-\u0b4d\u0b56-\u0b57\u0b5c-\u0b5d\u0b5f-\u0b63\u0b66-\u0b6f\u0b71\u0b82-\u0b83\u0b85-\u0b8a\u0b8e-\u0b90\u0b92-\u0b95\u0b99-\u0b9a\u0b9c\u0b9e-\u0b9f\u0ba3-\u0ba4\u0ba8-\u0baa\u0bae-\u0bb9\u0bbe-\u0bc2\u0bc6-\u0bc8\u0bca-\u0bcd\u0bd0\u0bd7\u0be6-\u0bef\u0c00-\u0c0c\u0c0e-\u0c10\u0c12-\u0c28\u0c2a-\u0c39\u0c3d-\u0c44\u0c46-\u0c48\u0c4a-\u0c4d\u0c55-\u0c56\u0c58-\u0c5a\u0c60-\u0c63\u0c66-\u0c6f\u0c80-\u0c83\u0c85-\u0c8c\u0c8e-\u0c90\u0c92-\u0ca8\u0caa-\u0cb3\u0cb5-\u0cb9\u0cbc-\u0cc4\u0cc6-\u0cc8\u0cca-\u0ccd\u0cd5-\u0cd6\u0cde\u0ce0-\u0ce3\u0ce6-\u0cef\u0cf1-\u0cf2\u0d00-\u0d03\u0d05-\u0d0c\u0d0e-\u0d10\u0d12-\u0d44\u0d46-\u0d48\u0d4a-\u0d4e\u0d54-\u0d57\u0d5f-\u0d63\u0d66-\u0d6f\u0d7a-\u0d7f\u0d82-\u0d83\u0d85-\u0d96\u0d9a-\u0db1\u0db3-\u0dbb\u0dbd\u0dc0-\u0dc6\u0dca\u0dcf-\u0dd4\u0dd6\u0dd8-\u0ddf\u0de6-\u0def\u0df2-\u0df3\u0e01-\u0e3a\u0e40-\u0e4e\u0e50-\u0e59\u0e81-\u0e82\u0e84\u0e86-\u0e8a\u0e8c-\u0ea3\u0ea5\u0ea7-\u0ebd\u0ec0-\u0ec4\u0ec6\u0ec8-\u0ecd\u0ed0-\u0ed9\u0edc-\u0edf\u0f00\u0f18-\u0f19\u0f20-\u0f29\u0f35\u0f37\u0f39\u0f3e-\u0f47\u0f49-\u0f6c\u0f71-\u0f84\u0f86-\u0f97\u0f99-\u0fbc\u0fc6\u1000-\u1049\u1050-\u109d\u10a0-\u10c5\u10c7\u10cd\u10d0-\u10fa\u10fc-\u1248\u124a-\u124d\u1250-\u1256\u1258\u125a-\u125d\u1260-\u1288\u128a-\u128d\u1290-\u12b0\u12b2-\u12b5\u12b8-\u12be\u12c0\u12c2-\u12c5\u12c8-\u12d6\u12d8-\u1310\u1312-\u1315\u1318-\u135a\u135d-\u135f\u1369-\u1371\u1380-\u138f\u13a0-\u13f5\u13f8-\u13fd\u1401-\u166c\u166f-\u167f\u1681-\u169a\u16a0-\u16ea\u16ee-\u16f8\u1700-\u170c\u170e-\u1714\u1720-\u1734\u1740-\u1753\u1760-\u176c\u176e-\u1770\u1772-\u1773\u1780-\u17d3\u17d7\u17dc-\u17dd\u17e0-\u17e9\u180b-\u180d\u1810-\u1819\u1820-\u1878\u1880-\u18aa\u18b0-\u18f5\u1900-\u191e\u1920-\u192b\u1930-\u193b\u1946-\u196d\u1970-\u1974\u1980-\u19ab\u19b0-\u19c9\u19d0-\u19da\u1a00-\u1a1b\u1a20-\u1a5e\u1a60-\u1a7c\u1a7f-\u1a89\u1a90-\u1a99\u1aa7\u1ab0-\u1abd\u1b00-\u1b4b\u1b50-\u1b59\u1b6b-\u1b73\u1b80-\u1bf3\u1c00-\u1c37\u1c40-\u1c49\u1c4d-\u1c7d\u1c80-\u1c88\u1c90-\u1cba\u1cbd-\u1cbf\u1cd0-\u1cd2\u1cd4-\u1cfa\u1d00-\u1df9\u1dfb-\u1f15\u1f18-\u1f1d\u1f20-\u1f45\u1f48-\u1f4d\u1f50-\u1f57\u1f59\u1f5b\u1f5d\u1f5f-\u1f7d\u1f80-\u1fb4\u1fb6-\u1fbc\u1fbe\u1fc2-\u1fc4\u1fc6-\u1fcc\u1fd0-\u1fd3\u1fd6-\u1fdb\u1fe0-\u1fec\u1ff2-\u1ff4\u1ff6-\u1ffc\u203f-\u2040\u2054\u2071\u207f\u2090-\u209c\u20d0-\u20dc\u20e1\u20e5-\u20f0\u2102\u2107\u210a-\u2113\u2115\u2118-\u211d\u2124\u2126\u2128\u212a-\u2139\u213c-\u213f\u2145-\u2149\u214e\u2160-\u2188\u2c00-\u2c2e\u2c30-\u2c5e\u2c60-\u2ce4\u2ceb-\u2cf3\u2d00-\u2d25\u2d27\u2d2d\u2d30-\u2d67\u2d6f\u2d7f-\u2d96\u2da0-\u2da6\u2da8-\u2dae\u2db0-\u2db6\u2db8-\u2dbe\u2dc0-\u2dc6\u2dc8-\u2dce\u2dd0-\u2dd6\u2dd8-\u2dde\u2de0-\u2dff\u3005-\u3007\u3021-\u302f\u3031-\u3035\u3038-\u303c\u3041-\u3096\u3099-\u309f\u30a1-\u30fa\u30fc-\u30ff\u3105-\u312f\u3131-\u318e\u31a0-\u31ba\u31f0-\u31ff\u3400-\u4db5\u4e00-\u9fef\ua000-\ua48c\ua4d0-\ua4fd\ua500-\ua60c\ua610-\ua62b\ua640-\ua66f\ua674-\ua67d\ua67f-\ua6f1\ua717-\ua71f\ua722-\ua788\ua78b-\ua7bf\ua7c2-\ua7c6\ua7f7-\ua827\ua840-\ua873\ua880-\ua8c5\ua8d0-\ua8d9\ua8e0-\ua8f7\ua8fb\ua8fd-\ua92d\ua930-\ua953\ua960-\ua97c\ua980-\ua9c0\ua9cf-\ua9d9\ua9e0-\ua9fe\uaa00-\uaa36\uaa40-\uaa4d\uaa50-\uaa59\uaa60-\uaa76\uaa7a-\uaac2\uaadb-\uaadd\uaae0-\uaaef\uaaf2-\uaaf6\uab01-\uab06\uab09-\uab0e\uab11-\uab16\uab20-\uab26\uab28-\uab2e\uab30-\uab5a\uab5c-\uab67\uab70-\uabea\uabec-\uabed\uabf0-\uabf9\uac00-\ud7a3\ud7b0-\ud7c6\ud7cb-\ud7fb\uf900-\ufa6d\ufa70-\ufad9\ufb00-\ufb06\ufb13-\ufb17\ufb1d-\ufb28\ufb2a-\ufb36\ufb38-\ufb3c\ufb3e\ufb40-\ufb41\ufb43-\ufb44\ufb46-\ufbb1\ufbd3-\ufd3d\ufd50-\ufd8f\ufd92-\ufdc7\ufdf0-\ufdfb\ufe00-\ufe0f\ufe20-\ufe2f\ufe33-\ufe34\ufe4d-\ufe4f\ufe70-\ufe74\ufe76-\ufefc\uff10-\uff19\uff21-\uff3a\uff3f\uff41-\uff5a\uff66-\uffbe\uffc2-\uffc7\uffca-\uffcf\uffd2-\uffd7\uffda-\uffdc]|\ud800[\udc00-\udc0b\udc0d-\udc26\udc28-\udc3a\udc3c-\udc3d\udc3f-\udc4d\udc50-\udc5d\udc80-\udcfa\udd40-\udd74\uddfd\ude80-\ude9c\udea0-\uded0\udee0\udf00-\udf1f\udf2d-\udf4a\udf50-\udf7a\udf80-\udf9d\udfa0-\udfc3\udfc8-\udfcf\udfd1-\udfd5]|\ud801[\udc00-\udc9d\udca0-\udca9\udcb0-\udcd3\udcd8-\udcfb\udd00-\udd27\udd30-\udd63\ude00-\udf36\udf40-\udf55\udf60-\udf67]|\ud802[\udc00-\udc05\udc08\udc0a-\udc35\udc37-\udc38\udc3c\udc3f-\udc55\udc60-\udc76\udc80-\udc9e\udce0-\udcf2\udcf4-\udcf5\udd00-\udd15\udd20-\udd39\udd80-\uddb7\uddbe-\uddbf\ude00-\ude03\ude05-\ude06\ude0c-\ude13\ude15-\ude17\ude19-\ude35\ude38-\ude3a\ude3f\ude60-\ude7c\ude80-\ude9c\udec0-\udec7\udec9-\udee6\udf00-\udf35\udf40-\udf55\udf60-\udf72\udf80-\udf91]|\ud803[\udc00-\udc48\udc80-\udcb2\udcc0-\udcf2\udd00-\udd27\udd30-\udd39\udf00-\udf1c\udf27\udf30-\udf50\udfe0-\udff6]|\ud804[\udc00-\udc46\udc66-\udc6f\udc7f-\udcba\udcd0-\udce8\udcf0-\udcf9\udd00-\udd34\udd36-\udd3f\udd44-\udd46\udd50-\udd73\udd76\udd80-\uddc4\uddc9-\uddcc\uddd0-\uddda\udddc\ude00-\ude11\ude13-\ude37\ude3e\ude80-\ude86\ude88\ude8a-\ude8d\ude8f-\ude9d\ude9f-\udea8\udeb0-\udeea\udef0-\udef9\udf00-\udf03\udf05-\udf0c\udf0f-\udf10\udf13-\udf28\udf2a-\udf30\udf32-\udf33\udf35-\udf39\udf3b-\udf44\udf47-\udf48\udf4b-\udf4d\udf50\udf57\udf5d-\udf63\udf66-\udf6c\udf70-\udf74]|\ud805[\udc00-\udc4a\udc50-\udc59\udc5e-\udc5f\udc80-\udcc5\udcc7\udcd0-\udcd9\udd80-\uddb5\uddb8-\uddc0\uddd8-\udddd\ude00-\ude40\ude44\ude50-\ude59\ude80-\udeb8\udec0-\udec9\udf00-\udf1a\udf1d-\udf2b\udf30-\udf39]|\ud806[\udc00-\udc3a\udca0-\udce9\udcff\udda0-\udda7\uddaa-\uddd7\uddda-\udde1\udde3-\udde4\ude00-\ude3e\ude47\ude50-\ude99\ude9d\udec0-\udef8]|\ud807[\udc00-\udc08\udc0a-\udc36\udc38-\udc40\udc50-\udc59\udc72-\udc8f\udc92-\udca7\udca9-\udcb6\udd00-\udd06\udd08-\udd09\udd0b-\udd36\udd3a\udd3c-\udd3d\udd3f-\udd47\udd50-\udd59\udd60-\udd65\udd67-\udd68\udd6a-\udd8e\udd90-\udd91\udd93-\udd98\udda0-\udda9\udee0-\udef6]|\ud808[\udc00-\udf99]|\ud809[\udc00-\udc6e\udc80-\udd43]|\ud80c[\udc00-\udfff]|\ud80d[\udc00-\udc2e]|\ud811[\udc00-\ude46]|\ud81a[\udc00-\ude38\ude40-\ude5e\ude60-\ude69\uded0-\udeed\udef0-\udef4\udf00-\udf36\udf40-\udf43\udf50-\udf59\udf63-\udf77\udf7d-\udf8f]|\ud81b[\ude40-\ude7f\udf00-\udf4a\udf4f-\udf87\udf8f-\udf9f\udfe0-\udfe1\udfe3]|\ud81c[\udc00-\udfff]|\ud81d[\udc00-\udfff]|\ud81e[\udc00-\udfff]|\ud81f[\udc00-\udfff]|\ud820[\udc00-\udfff]|\ud821[\udc00-\udff7]|\ud822[\udc00-\udef2]|\ud82c[\udc00-\udd1e\udd50-\udd52\udd64-\udd67\udd70-\udefb]|\ud82f[\udc00-\udc6a\udc70-\udc7c\udc80-\udc88\udc90-\udc99\udc9d-\udc9e]|\ud834[\udd65-\udd69\udd6d-\udd72\udd7b-\udd82\udd85-\udd8b\uddaa-\uddad\ude42-\ude44]|\ud835[\udc00-\udc54\udc56-\udc9c\udc9e-\udc9f\udca2\udca5-\udca6\udca9-\udcac\udcae-\udcb9\udcbb\udcbd-\udcc3\udcc5-\udd05\udd07-\udd0a\udd0d-\udd14\udd16-\udd1c\udd1e-\udd39\udd3b-\udd3e\udd40-\udd44\udd46\udd4a-\udd50\udd52-\udea5\udea8-\udec0\udec2-\udeda\udedc-\udefa\udefc-\udf14\udf16-\udf34\udf36-\udf4e\udf50-\udf6e\udf70-\udf88\udf8a-\udfa8\udfaa-\udfc2\udfc4-\udfcb\udfce-\udfff]|\ud836[\ude00-\ude36\ude3b-\ude6c\ude75\ude84\ude9b-\ude9f\udea1-\udeaf]|\ud838[\udc00-\udc06\udc08-\udc18\udc1b-\udc21\udc23-\udc24\udc26-\udc2a\udd00-\udd2c\udd30-\udd3d\udd40-\udd49\udd4e\udec0-\udef9]|\ud83a[\udc00-\udcc4\udcd0-\udcd6\udd00-\udd4b\udd50-\udd59]|\ud83b[\ude00-\ude03\ude05-\ude1f\ude21-\ude22\ude24\ude27\ude29-\ude32\ude34-\ude37\ude39\ude3b\ude42\ude47\ude49\ude4b\ude4d-\ude4f\ude51-\ude52\ude54\ude57\ude59\ude5b\ude5d\ude5f\ude61-\ude62\ude64\ude67-\ude6a\ude6c-\ude72\ude74-\ude77\ude79-\ude7c\ude7e\ude80-\ude89\ude8b-\ude9b\udea1-\udea3\udea5-\udea9\udeab-\udebb]|\ud840[\udc00-\udfff]|\ud841[\udc00-\udfff]|\ud842[\udc00-\udfff]|\ud843[\udc00-\udfff]|\ud844[\udc00-\udfff]|\ud845[\udc00-\udfff]|\ud846[\udc00-\udfff]|\ud847[\udc00-\udfff]|\ud848[\udc00-\udfff]|\ud849[\udc00-\udfff]|\ud84a[\udc00-\udfff]|\ud84b[\udc00-\udfff]|\ud84c[\udc00-\udfff]|\ud84d[\udc00-\udfff]|\ud84e[\udc00-\udfff]|\ud84f[\udc00-\udfff]|\ud850[\udc00-\udfff]|\ud851[\udc00-\udfff]|\ud852[\udc00-\udfff]|\ud853[\udc00-\udfff]|\ud854[\udc00-\udfff]|\ud855[\udc00-\udfff]|\ud856[\udc00-\udfff]|\ud857[\udc00-\udfff]|\ud858[\udc00-\udfff]|\ud859[\udc00-\udfff]|\ud85a[\udc00-\udfff]|\ud85b[\udc00-\udfff]|\ud85c[\udc00-\udfff]|\ud85d[\udc00-\udfff]|\ud85e[\udc00-\udfff]|\ud85f[\udc00-\udfff]|\ud860[\udc00-\udfff]|\ud861[\udc00-\udfff]|\ud862[\udc00-\udfff]|\ud863[\udc00-\udfff]|\ud864[\udc00-\udfff]|\ud865[\udc00-\udfff]|\ud866[\udc00-\udfff]|\ud867[\udc00-\udfff]|\ud868[\udc00-\udfff]|\ud869[\udc00-\uded6\udf00-\udfff]|\ud86a[\udc00-\udfff]|\ud86b[\udc00-\udfff]|\ud86c[\udc00-\udfff]|\ud86d[\udc00-\udf34\udf40-\udfff]|\ud86e[\udc00-\udc1d\udc20-\udfff]|\ud86f[\udc00-\udfff]|\ud870[\udc00-\udfff]|\ud871[\udc00-\udfff]|\ud872[\udc00-\udfff]|\ud873[\udc00-\udea1\udeb0-\udfff]|\ud874[\udc00-\udfff]|\ud875[\udc00-\udfff]|\ud876[\udc00-\udfff]|\ud877[\udc00-\udfff]|\ud878[\udc00-\udfff]|\ud879[\udc00-\udfff]|\ud87a[\udc00-\udfe0]|\ud87e[\udc00-\ude1d]|\udb40[\udd00-\uddef])|[$_]|(\\u[0-9a-fA-F]{4}|\\u\{[0-9a-fA-F]{1,}\})|[\u200c\u200d])*>/,function(){return validateUnicodeGroupName(yytext=yytext.slice(3,-1),this.getCurrentState()),"NAMED_CAPTURE_GROUP"}],[/^\(/,function(){return"L_PAREN"}],[/^\)/,function(){return"R_PAREN"}],[/^[*?+[^$]/,function(){return"CHAR"}],[/^\\\]/,function(){return"ESC_CHAR"}],[/^\]/,function(){return this.popState(),"R_BRACKET"}],[/^\^/,function(){return"BOS"}],[/^\$/,function(){return"EOS"}],[/^\*/,function(){return"STAR"}],[/^\?/,function(){return"Q_MARK"}],[/^\+/,function(){return"PLUS"}],[/^\|/,function(){return"BAR"}],[/^\./,function(){return"ANY"}],[/^\//,function(){return"SLASH"}],[/^[^*?+\[()\\|]/,function(){return"CHAR"}],[/^\[\^/,function(){var e=this.getCurrentState();return this.pushState("u"===e||"xu"===e?"u_class":"class"),"NEG_CLASS"}],[/^\[/,function(){var e=this.getCurrentState();return this.pushState("u"===e||"xu"===e?"u_class":"class"),"L_BRACKET"}]],lexRulesByConditions={INITIAL:[8,9,10,11,12,13,14,15,16,17,20,22,23,24,26,27,30,31,32,33,34,35,36,37,41,42,43,44,45,46,47,48,49,50,51],u:[8,9,10,11,12,13,14,15,16,17,18,19,20,21,22,23,24,26,27,30,31,32,33,34,35,36,37,41,42,43,44,45,46,47,48,49,50,51],xu:[0,1,8,9,10,11,12,13,14,15,16,17,18,19,20,21,22,23,24,25,26,27,30,31,32,33,34,35,36,37,41,42,43,44,45,46,47,48,49,50,51],x:[0,1,8,9,10,11,12,13,14,15,16,17,20,22,23,24,26,27,30,31,32,33,34,35,36,37,41,42,43,44,45,46,47,48,49,50,51],u_class:[2,3,4,5,6,7,8,9,10,11,12,13,14,15,16,17,18,19,20,21,22,23,24,26,27,28,29,30,31,32,33,34,35,36,37,38,39,40,41,42,43,44,45,46,47,48,49,50,51],class:[2,3,4,5,6,7,8,9,10,11,12,13,14,15,16,17,20,22,23,24,26,27,28,29,30,31,32,33,34,35,36,37,38,39,40,41,42,43,44,45,46,47,48,49,50,51]},EOF_TOKEN={type:EOF,value:""};tokenizer={initString:function(e){return this._string=e,this._cursor=0,this._states=["INITIAL"],this._tokensQueue=[],this._currentLine=1,this._currentColumn=0,this._currentLineBeginOffset=0,this._tokenStartOffset=0,this._tokenEndOffset=0,this._tokenStartLine=1,this._tokenEndLine=1,this._tokenStartColumn=0,this._tokenEndColumn=0,this},getStates:function(){return this._states},getCurrentState:function(){return this._states[this._states.length-1]},pushState:function(e){this._states.push(e)},begin:function(e){this.pushState(e)},popState:function(){return this._states.length>1?this._states.pop():this._states[0]},getNextToken:function(){if(this._tokensQueue.length>0)return this.onToken(this._toToken(this._tokensQueue.shift()));if(!this.hasMoreTokens())return this.onToken(EOF_TOKEN);for(var e=this._string.slice(this._cursor),t=lexRulesByConditions[this.getCurrentState()],r=0;r<t.length;r++){var n=t[r],i=lexRules[n],a=this._match(e,i[0]);if(""===e&&""===a&&this._cursor++,null!==a){(yytext=a).length;var s=i[1].call(this);if(!s)return this.getNextToken();if(Array.isArray(s)){var o,l=s.slice(1);if(s=s[0],l.length>0)(o=this._tokensQueue).unshift.apply(o,_toConsumableArray$8(l))}return this.onToken(this._toToken(s,yytext))}}if(this.isEOF())return this._cursor++,EOF_TOKEN;this.throwUnexpectedToken(e[0],this._currentLine,this._currentColumn)},throwUnexpectedToken:function(e,t,r){var n=this._string.split("\n")[t-1],i="";n&&(i="\n\n"+n+"\n"+" ".repeat(r)+"^\n");throw new SyntaxError(i+'Unexpected token: "'+e+'" at '+t+":"+r+".")},getCursor:function(){return this._cursor},getCurrentLine:function(){return this._currentLine},getCurrentColumn:function(){return this._currentColumn},_captureLocation:function(e){var t=/\n/g;this._tokenStartOffset=this._cursor,this._tokenStartLine=this._currentLine,this._tokenStartColumn=this._tokenStartOffset-this._currentLineBeginOffset;for(var r=void 0;null!==(r=t.exec(e));)this._currentLine++,this._currentLineBeginOffset=this._tokenStartOffset+r.index+1;this._tokenEndOffset=this._cursor+e.length,this._tokenEndLine=this._currentLine,this._tokenEndColumn=this._currentColumn=this._tokenEndOffset-this._currentLineBeginOffset},_toToken:function(e){return{type:e,value:arguments.length>1&&void 0!==arguments[1]?arguments[1]:"",startOffset:this._tokenStartOffset,endOffset:this._tokenEndOffset,startLine:this._tokenStartLine,endLine:this._tokenEndLine,startColumn:this._tokenStartColumn,endColumn:this._tokenEndColumn}},isEOF:function(){return this._cursor===this._string.length},hasMoreTokens:function(){return this._cursor<=this._string.length},_match:function(e,t){var r=e.match(t);return r?(this._captureLocation(r[0]),this._cursor+=r[0].length,r[0]):null},onToken:function(e){return e}},yy.lexer=tokenizer,yy.tokenizer=tokenizer,yy.options={captureLocations:!0};var yyparse={setOptions:function(e){return yy.options=e,this},getOptions:function(){return yy.options},parse:function(e,t){if(!tokenizer)throw new Error("Tokenizer instance wasn't specified.");tokenizer.initString(e);var r=yy.options;t&&(yy.options=Object.assign({},yy.options,t)),yyparse.onParseBegin(e,tokenizer,yy.options),stack.length=0,stack.push(0);var n=tokenizer.getNextToken(),i=null;do{n||(yy.options=r,unexpectedEndOfInput());var a=stack[stack.length-1],s=tokens[n.type];table[a].hasOwnProperty(s)||(yy.options=r,unexpectedToken(n));var o=table[a][s];if("s"===o[0]){var l=null;yy.options.captureLocations&&(l={startOffset:n.startOffset,endOffset:n.endOffset,startLine:n.startLine,endLine:n.endLine,startColumn:n.startColumn,endColumn:n.endColumn}),i=this.onShift(n),stack.push({symbol:tokens[i.type],semanticValue:i.value,loc:l},Number(o.slice(1))),n=tokenizer.getNextToken()}else if("r"===o[0]){var u=o.slice(1),c=productions[u],p="function"==typeof c[2],d=p?[]:null,f=p&&yy.options.captureLocations?[]:null;if(0!==c[1])for(var h=c[1];h-- >0;){stack.pop();var m=stack.pop();p&&(d.unshift(m.semanticValue),f&&f.unshift(m.loc))}var y={symbol:c[0]};if(p){yytext=i?i.value:null,i&&i.value.length;var g=null!==f?d.concat(f):d;c[2].apply(c,_toConsumableArray$8(g)),y.semanticValue=__,f&&(y.loc=__loc)}var v=stack[stack.length-1],b=c[0];stack.push(y,table[v][b])}else if("acc"===o){stack.pop();var S=stack.pop();return(1!==stack.length||0!==stack[0]||tokenizer.hasMoreTokens())&&(yy.options=r,unexpectedToken(n)),S.hasOwnProperty("semanticValue")?(yy.options=r,yyparse.onParseEnd(S.semanticValue),S.semanticValue):(yyparse.onParseEnd(),yy.options=r,!0)}}while(tokenizer.hasMoreTokens()||stack.length>1)},setTokenizer:function(e){return tokenizer=e,yyparse},getTokenizer:function(){return tokenizer},onParseBegin:function(e,t,r){},onParseEnd:function(e){},onShift:function(e){return e}},capturingGroupsCount=0,namedGroups={},parsingString="";function getRange(e){var t=e.match(/\d+/g).map(Number);if(Number.isFinite(t[1])&&t[1]<t[0])throw new SyntaxError("Numbers out of order in "+e+" quantifier");return t}function checkClassRange(e,t){if("control"===e.kind||"control"===t.kind||!isNaN(e.codePoint)&&!isNaN(t.codePoint)&&e.codePoint>t.codePoint)throw new SyntaxError("Range "+e.value+"-"+t.value+" out of order in character class")}yyparse.onParseBegin=function(e,t){parsingString=e,capturingGroupsCount=0,namedGroups={};var r=e.lastIndexOf("/"),n=e.slice(r);n.includes("x")&&n.includes("u")?t.pushState("xu"):(n.includes("x")&&t.pushState("x"),n.includes("u")&&t.pushState("u"))},yyparse.onShift=function(e){return"L_PAREN"!==e.type&&"NAMED_CAPTURE_GROUP"!==e.type||(e.value=new String(e.value),e.value.groupNumber=++capturingGroupsCount),e};var unicodeProperties=parserUnicodeProperties;function UnicodeProperty(e,t){var r="P"===e[1],n=e.indexOf("="),i=e.slice(3,-1!==n?n:-1),a=void 0,s=-1===n&&unicodeProperties.isGeneralCategoryValue(i),o=-1===n&&unicodeProperties.isBinaryPropertyName(i);if(s)a=i,i="General_Category";else if(o)a=i;else{if(!unicodeProperties.isValidName(i))throw new SyntaxError("Invalid unicode property name: "+i+".");if(a=e.slice(n+1,-1),!unicodeProperties.isValidValue(i,a))throw new SyntaxError("Invalid "+i+" unicode property value: "+a+".")}return Node({type:"UnicodeProperty",name:i,value:a,negative:r,shorthand:s,binary:o,canonicalName:unicodeProperties.getCanonicalName(i)||i,canonicalValue:unicodeProperties.getCanonicalValue(a)||a},t)}function Char(e,t,r){var n=void 0,i=void 0;switch(t){case"decimal":i=Number(e.slice(1)),n=String.fromCodePoint(i);break;case"oct":i=parseInt(e.slice(1),8),n=String.fromCodePoint(i);break;case"hex":case"unicode":if(e.lastIndexOf("\\u")>0){var a=e.split("\\u").slice(1),s=_slicedToArray$2(a,2),o=s[0],l=s[1];i=1024*((o=parseInt(o,16))-55296)+((l=parseInt(l,16))-56320)+65536,n=String.fromCodePoint(i)}else{var u=e.slice(2).replace("{","");if((i=parseInt(u,16))>1114111)throw new SyntaxError("Bad character escape sequence: "+e);n=String.fromCodePoint(i)}break;case"meta":switch(e){case"\\t":i=(n="\t").codePointAt(0);break;case"\\n":i=(n="\n").codePointAt(0);break;case"\\r":i=(n="\r").codePointAt(0);break;case"\\v":i=(n="\v").codePointAt(0);break;case"\\f":i=(n="\f").codePointAt(0);break;case"\\b":i=(n="\b").codePointAt(0);case"\\0":n="\0",i=0;case".":n=".",i=NaN;break;default:i=NaN}break;case"simple":i=(n=e).codePointAt(0)}return Node({type:"Char",value:e,kind:t,symbol:n,codePoint:i},r)}var validFlags="gimsuxy";function checkFlags(e){var t=new Set,r=!0,n=!1,i=void 0;try{for(var a,s=e[Symbol.iterator]();!(r=(a=s.next()).done);r=!0){var o=a.value;if(t.has(o)||!validFlags.includes(o))throw new SyntaxError("Invalid flags: "+e);t.add(o)}}catch(e){n=!0,i=e}finally{try{!r&&s.return&&s.return()}finally{if(n)throw i}}return e.split("").sort().join("")}function GroupRefOrDecChar(e,t){var r=Number(e.slice(1));return r>0&&r<=capturingGroupsCount?Node({type:"Backreference",kind:"number",number:r,reference:r},t):Char(e,"decimal",t)}var uReStart=/^\\u[0-9a-fA-F]{4}/,ucpReStart=/^\\u\{[0-9a-fA-F]{1,}\}/,ucpReAnywhere=/\\u\{[0-9a-fA-F]{1,}\}/;function validateUnicodeGroupName(e,t){if(ucpReAnywhere.test(e)&&!("u"===t||"xu"===t||"u_class"===t))throw new SyntaxError('invalid group Unicode name "'+e+'", use `u` flag.');return e}var uidRe=/\\u(?:([dD][89aAbB][0-9a-fA-F]{2})\\u([dD][c-fC-F][0-9a-fA-F]{2})|([dD][89aAbB][0-9a-fA-F]{2})|([dD][c-fC-F][0-9a-fA-F]{2})|([0-9a-ce-fA-CE-F][0-9a-fA-F]{3}|[dD][0-7][0-9a-fA-F]{2})|\{(0*(?:[0-9a-fA-F]{1,5}|10[0-9a-fA-F]{4}))\})/;function decodeUnicodeGroupName(e){return e.replace(new RegExp(uidRe,"g"),(function(e,t,r,n,i,a,s){return t?String.fromCodePoint(parseInt(t,16),parseInt(r,16)):n?String.fromCodePoint(parseInt(n,16)):i?String.fromCodePoint(parseInt(i,16)):a?String.fromCodePoint(parseInt(a,16)):s?String.fromCodePoint(parseInt(s,16)):e}))}function NamedGroupRefOrChars(e,t){var r=e.slice(3,-1),n=decodeUnicodeGroupName(r);if(namedGroups.hasOwnProperty(n))return Node({type:"Backreference",kind:"name",number:namedGroups[n],reference:n,referenceRaw:r},t);var i=null,a=null,s=null,o=null;t&&(i=t.startOffset,a=t.startLine,s=t.endLine,o=t.startColumn);var l=/^[\w$<>]/,u=void 0,c=[Char(e.slice(1,2),"simple",i?{startLine:a,endLine:s,startColumn:o,startOffset:i,endOffset:i+=2,endColumn:o+=2}:null)];for(c[0].escaped=!0,e=e.slice(2);e.length>0;){var p=null;(p=e.match(uReStart))||(p=e.match(ucpReStart))?(i&&(u={startLine:a,endLine:s,startColumn:o,startOffset:i,endOffset:i+=p[0].length,endColumn:o+=p[0].length}),c.push(Char(p[0],"unicode",u)),e=e.slice(p[0].length)):(p=e.match(l))&&(i&&(u={startLine:a,endLine:s,startColumn:o,startOffset:i,endOffset:++i,endColumn:++o}),c.push(Char(p[0],"simple",u)),e=e.slice(1))}return c}function Node(e,t){return yy.options.captureLocations&&(e.loc={source:parsingString.slice(t.startOffset,t.endOffset),start:{line:t.startLine,column:t.startColumn,offset:t.startOffset},end:{line:t.endLine,column:t.endColumn,offset:t.endOffset}}),e}function loc(e,t){return yy.options.captureLocations?{startOffset:e.startOffset,endOffset:t.endOffset,startLine:e.startLine,endLine:t.endLine,startColumn:e.startColumn,endColumn:t.endColumn}:null}function unexpectedToken(e){e.type===EOF&&unexpectedEndOfInput(),tokenizer.throwUnexpectedToken(e.value,e.startLine,e.startColumn)}function unexpectedEndOfInput(){parseError("Unexpected end of input.")}function parseError(e){throw new SyntaxError(e)}var regexpTree$5=yyparse;regexpTree$5.default;var regexpTreeParser=regexpTree$5,generatedParseFn=regexpTreeParser.parse.bind(regexpTreeParser);regexpTreeParser.parse=function(e,t){return generatedParseFn(""+e,t)},regexpTreeParser.setOptions({captureLocations:!1});var parser$4=regexpTreeParser;parser$4.default;var _createClass$6=function(){function e(e,t){for(var r=0;r<t.length;r++){var n=t[r];n.enumerable=n.enumerable||!1,n.configurable=!0,"value"in n&&(n.writable=!0),Object.defineProperty(e,n.key,n)}}return function(t,r,n){return r&&e(t.prototype,r),n&&e(t,n),t}}();function _classCallCheck$6(e,t){if(!(e instanceof t))throw new TypeError("Cannot call a class as a function")}var DEFAULT_COLLECTION_PROP="expressions",DEFAULT_SINGLE_PROP="expression",NodePath$3=function(){function e(t){var r=arguments.length>1&&void 0!==arguments[1]?arguments[1]:null,n=arguments.length>2&&void 0!==arguments[2]?arguments[2]:null,i=arguments.length>3&&void 0!==arguments[3]?arguments[3]:null;_classCallCheck$6(this,e),this.node=t,this.parentPath=r,this.parent=r?r.node:null,this.property=n,this.index=i}return _createClass$6(e,[{key:"_enforceProp",value:function(e){if(!this.node.hasOwnProperty(e))throw new Error("Node of type "+this.node.type+" doesn't have \""+e+'" collection.')}},{key:"setChild",value:function(t){var r=arguments.length>1&&void 0!==arguments[1]?arguments[1]:null,n=arguments.length>2&&void 0!==arguments[2]?arguments[2]:null,i=void 0;return null!=r?(n||(n=DEFAULT_COLLECTION_PROP),this._enforceProp(n),this.node[n][r]=t,i=e.getForNode(t,this,n,r)):(n||(n=DEFAULT_SINGLE_PROP),this._enforceProp(n),this.node[n]=t,i=e.getForNode(t,this,n,null)),i}},{key:"appendChild",value:function(e){var t=arguments.length>1&&void 0!==arguments[1]?arguments[1]:null;t||(t=DEFAULT_COLLECTION_PROP),this._enforceProp(t);var r=this.node[t].length;return this.setChild(e,r,t)}},{key:"insertChildAt",value:function(t,r){var n=arguments.length>2&&void 0!==arguments[2]?arguments[2]:DEFAULT_COLLECTION_PROP;this._enforceProp(n),this.node[n].splice(r,0,t),r<=e.getTraversingIndex()&&e.updateTraversingIndex(1),this._rebuildIndex(this.node,n)}},{key:"remove",value:function(){if(!this.isRemoved()&&(e.registry.delete(this.node),this.node=null,this.parent)){if(null!==this.index)return this.parent[this.property].splice(this.index,1),this.index<=e.getTraversingIndex()&&e.updateTraversingIndex(-1),this._rebuildIndex(this.parent,this.property),this.index=null,void(this.property=null);delete this.parent[this.property],this.property=null}}},{key:"_rebuildIndex",value:function(t,r){for(var n=e.getForNode(t),i=0;i<t[r].length;i++){e.getForNode(t[r][i],n,r,i).index=i}}},{key:"isRemoved",value:function(){return null===this.node}},{key:"replace",value:function(t){return e.registry.delete(this.node),this.node=t,this.parent?(null!==this.index?this.parent[this.property][this.index]=t:this.parent[this.property]=t,e.getForNode(t,this.parentPath,this.property,this.index)):null}},{key:"update",value:function(e){Object.assign(this.node,e)}},{key:"getParent",value:function(){return this.parentPath}},{key:"getChild",value:function(){var t=arguments.length>0&&void 0!==arguments[0]?arguments[0]:0;return this.node.expressions?e.getForNode(this.node.expressions[t],this,DEFAULT_COLLECTION_PROP,t):this.node.expression&&0==t?e.getForNode(this.node.expression,this,DEFAULT_SINGLE_PROP):null}},{key:"hasEqualSource",value:function(e){return JSON.stringify(this.node,jsonSkipLoc)===JSON.stringify(e.node,jsonSkipLoc)}},{key:"jsonEncode",value:function(){var e=arguments.length>0&&void 0!==arguments[0]?arguments[0]:{},t=e.format,r=e.useLoc;return JSON.stringify(this.node,r?null:jsonSkipLoc,t)}},{key:"getPreviousSibling",value:function(){return this.parent&&null!=this.index?e.getForNode(this.parent[this.property][this.index-1],e.getForNode(this.parent),this.property,this.index-1):null}},{key:"getNextSibling",value:function(){return this.parent&&null!=this.index?e.getForNode(this.parent[this.property][this.index+1],e.getForNode(this.parent),this.property,this.index+1):null}}],[{key:"getForNode",value:function(t){var r=arguments.length>1&&void 0!==arguments[1]?arguments[1]:null,n=arguments.length>2&&void 0!==arguments[2]?arguments[2]:null,i=arguments.length>3&&void 0!==arguments[3]?arguments[3]:-1;if(!t)return null;e.registry.has(t)||e.registry.set(t,new e(t,r,n,-1==i?null:i));var a=e.registry.get(t);return null!==r&&(a.parentPath=r,a.parent=a.parentPath.node),null!==n&&(a.property=n),i>=0&&(a.index=i),a}},{key:"initRegistry",value:function(){e.registry||(e.registry=new Map),e.registry.clear()}},{key:"updateTraversingIndex",value:function(t){return e.traversingIndexStack[e.traversingIndexStack.length-1]+=t}},{key:"getTraversingIndex",value:function(){return e.traversingIndexStack[e.traversingIndexStack.length-1]}}]),e}();function jsonSkipLoc(e,t){if("loc"!==e)return t}NodePath$3.initRegistry(),NodePath$3.traversingIndexStack=[];var nodePath=NodePath$3;nodePath.default;var NodePath$2=nodePath;function astTraverse(e){var t=arguments.length>1&&void 0!==arguments[1]?arguments[1]:{},r=t.pre,n=t.post,i=t.skipProperty;!function e(t,a,s,o){if(t&&"string"==typeof t.type){var l=void 0;if(r&&(l=r(t,a,s,o)),!1!==l)for(var u in a&&a[s]&&(t=isNaN(o)?a[s]:a[s][o]),t)if(t.hasOwnProperty(u)){if(i?i(u,t):"$"===u[0])continue;var c=t[u];if(Array.isArray(c)){var p=0;for(NodePath$2.traversingIndexStack.push(p);p<c.length;)e(c[p],t,u,p),p=NodePath$2.updateTraversingIndex(1);NodePath$2.traversingIndexStack.pop()}else e(c,t,u)}n&&n(t,a,s,o)}}(e,null)}var traverse$d={traverse:function(e,t){var r=arguments.length>2&&void 0!==arguments[2]?arguments[2]:{asNodes:!1};function n(e,t,r,n){var i=NodePath$2.getForNode(t);return NodePath$2.getForNode(e,i,r,n)}Array.isArray(t)||(t=[t]),t=t.filter((function(t){return"function"!=typeof t.shouldRun||t.shouldRun(e)})),NodePath$2.initRegistry(),t.forEach((function(t){"function"==typeof t.init&&t.init(e)})),astTraverse(e,{pre:function(e,i,a,s){var o=void 0;r.asNodes||(o=n(e,i,a,s));var l=!0,u=!1,c=void 0;try{for(var p,d=t[Symbol.iterator]();!(l=(p=d.next()).done);l=!0){var f=p.value;if("function"==typeof f["*"])if(o){if(!o.isRemoved())if(!1===f["*"](o))return!1}else f["*"](e,i,a,s);var h=void 0;if("function"==typeof f[e.type]?h=f[e.type]:"object"==typeof f[e.type]&&"function"==typeof f[e.type].pre&&(h=f[e.type].pre),h)if(o){if(!o.isRemoved())if(!1===h.call(f,o))return!1}else h.call(f,e,i,a,s)}}catch(e){u=!0,c=e}finally{try{!l&&d.return&&d.return()}finally{if(u)throw c}}},post:function(e,i,a,s){if(e){var o=void 0;r.asNodes||(o=n(e,i,a,s));var l=!0,u=!1,c=void 0;try{for(var p,d=t[Symbol.iterator]();!(l=(p=d.next()).done);l=!0){var f=p.value,h=void 0;if("object"==typeof f[e.type]&&"function"==typeof f[e.type].post&&(h=f[e.type].post),h)if(o){if(!o.isRemoved())if(!1===h.call(f,o))return!1}else h.call(f,e,i,a,s)}}catch(e){u=!0,c=e}finally{try{!l&&d.return&&d.return()}finally{if(u)throw c}}}},skipProperty:function(e){return"loc"===e}})}},_createClass$5=function(){function e(e,t){for(var r=0;r<t.length;r++){var n=t[r];n.enumerable=n.enumerable||!1,n.configurable=!0,"value"in n&&(n.writable=!0),Object.defineProperty(e,n.key,n)}}return function(t,r,n){return r&&e(t.prototype,r),n&&e(t,n),t}}();function _classCallCheck$5(e,t){if(!(e instanceof t))throw new TypeError("Cannot call a class as a function")}var generator$2=generator_1,parser$3=parser$4,traverse$c=traverse$d,TransformResult=function(){function e(t){var r=arguments.length>1&&void 0!==arguments[1]?arguments[1]:null;_classCallCheck$5(this,e),this._ast=t,this._source=null,this._string=null,this._regexp=null,this._extra=r}return _createClass$5(e,[{key:"getAST",value:function(){return this._ast}},{key:"setExtra",value:function(e){this._extra=e}},{key:"getExtra",value:function(){return this._extra}},{key:"toRegExp",value:function(){return this._regexp||(this._regexp=new RegExp(this.getSource(),this._ast.flags)),this._regexp}},{key:"getSource",value:function(){return this._source||(this._source=generator$2.generate(this._ast.body)),this._source}},{key:"getFlags",value:function(){return this._ast.flags}},{key:"toString",value:function(){return this._string||(this._string=generator$2.generate(this._ast)),this._string}}]),e}(),transform$5={TransformResult:TransformResult,transform:function(e,t){var r=e;return e instanceof RegExp&&(e=""+e),"string"==typeof e&&(r=parser$3.parse(e,{captureLocations:!0})),traverse$c.traverse(r,t),new TransformResult(r)}},compatTransforms=transforms$1,_transform$1=transform$5,compatTranspiler$1={transform:function(e){var t=arguments.length>1&&void 0!==arguments[1]?arguments[1]:[],r=t.length>0?t:Object.keys(compatTransforms),n=void 0,i={};return r.forEach((function(t){if(!compatTransforms.hasOwnProperty(t))throw new Error("Unknown compat-transform: "+t+". Available transforms are: "+Object.keys(compatTransforms).join(", "));var r=compatTransforms[t];n=_transform$1.transform(e,r),e=n.getAST(),"function"==typeof r.getExtra&&(i[t]=r.getExtra())})),n.setExtra(i),n}},clone$1=function e(t){if(null===t||"object"!=typeof t)return t;var r=void 0;for(var n in r=Array.isArray(t)?[]:{},t)r[n]=e(t[n]);return r},charSurrogatePairToSingleUnicodeTransform={shouldRun:function(e){return e.flags.includes("u")},Char:function(e){var t=e.node;"unicode"===t.kind&&t.isSurrogatePair&&!isNaN(t.codePoint)&&(t.value="\\u{"+t.codePoint.toString(16)+"}",delete t.isSurrogatePair)}},UPPER_A_CP$1="A".codePointAt(0),UPPER_Z_CP$1="Z".codePointAt(0),LOWER_A_CP="a".codePointAt(0),LOWER_Z_CP="z".codePointAt(0),DIGIT_0_CP="0".codePointAt(0),DIGIT_9_CP="9".codePointAt(0),charCodeToSimpleCharTransform={Char:function(e){var t=e.node,r=e.parent;if(!isNaN(t.codePoint)&&"simple"!==t.kind&&("ClassRange"!==r.type||isSimpleRange(r))&&isPrintableASCIIChar(t.codePoint)){var n=String.fromCodePoint(t.codePoint),i={type:"Char",kind:"simple",value:n,symbol:n,codePoint:t.codePoint};needsEscape(n,r.type)&&(i.escaped=!0),e.replace(i)}}};function isSimpleRange(e){var t=e.from,r=e.to;return t.codePoint>=DIGIT_0_CP&&t.codePoint<=DIGIT_9_CP&&r.codePoint>=DIGIT_0_CP&&r.codePoint<=DIGIT_9_CP||t.codePoint>=UPPER_A_CP$1&&t.codePoint<=UPPER_Z_CP$1&&r.codePoint>=UPPER_A_CP$1&&r.codePoint<=UPPER_Z_CP$1||t.codePoint>=LOWER_A_CP&&t.codePoint<=LOWER_Z_CP&&r.codePoint>=LOWER_A_CP&&r.codePoint<=LOWER_Z_CP}function isPrintableASCIIChar(e){return e>=32&&e<=126}function needsEscape(e,t){return"ClassRange"===t||"CharacterClass"===t?/[\]\\^-]/.test(e):/[*[()+?^$./\\|{}]/.test(e)}var UPPER_A_CP="A".codePointAt(0),UPPER_Z_CP="Z".codePointAt(0),charCaseInsensitiveLowercaseTransform={_AZClassRanges:null,_hasUFlag:!1,init:function(e){this._AZClassRanges=new Set,this._hasUFlag=e.flags.includes("u")},shouldRun:function(e){return e.flags.includes("i")},Char:function(e){var t=e.node,r=e.parent;if(!isNaN(t.codePoint)&&(this._hasUFlag||!(t.codePoint>=4096))){if("ClassRange"===r.type){if(!this._AZClassRanges.has(r)&&!isAZClassRange(r))return;this._AZClassRanges.add(r)}var n=t.symbol.toLowerCase();n!==t.symbol&&(t.value=displaySymbolAsValue(n,t),t.symbol=n,t.codePoint=n.codePointAt(0))}}};function isAZClassRange(e){var t=e.from,r=e.to;return t.codePoint>=UPPER_A_CP&&t.codePoint<=UPPER_Z_CP&&r.codePoint>=UPPER_A_CP&&r.codePoint<=UPPER_Z_CP}function displaySymbolAsValue(e,t){var r=e.codePointAt(0);if("decimal"===t.kind)return"\\"+r;if("oct"===t.kind)return"\\0"+r.toString(8);if("hex"===t.kind)return"\\x"+r.toString(16);if("unicode"===t.kind){if(t.isSurrogatePair){var n=getSurrogatePairFromCodePoint(r),i=n.lead,a=n.trail;return"\\u"+"0".repeat(4-i.length)+i+"\\u"+"0".repeat(4-a.length)+a}if(t.value.includes("{"))return"\\u{"+r.toString(16)+"}";var s=r.toString(16);return"\\u"+"0".repeat(4-s.length)+s}return e}function getSurrogatePairFromCodePoint(e){var t=(e-65536)%1024+56320;return{lead:(Math.floor((e-65536)/1024)+55296).toString(16),trail:t.toString(16)}}var charClassRemoveDuplicatesTransform={CharacterClass:function(e){for(var t=e.node,r={},n=0;n<t.expressions.length;n++){var i=e.getChild(n),a=i.jsonEncode();r.hasOwnProperty(a)&&(i.remove(),n--),r[a]=!0}}};function _toConsumableArray$7(e){if(Array.isArray(e)){for(var t=0,r=Array(e.length);t<e.length;t++)r[t]=e[t];return r}return Array.from(e)}function disjunctionToList$1(e){if("Disjunction"!==e.type)throw new TypeError('Expected "Disjunction" node, got "'+e.type+'"');var t=[];return e.left&&"Disjunction"===e.left.type?t.push.apply(t,_toConsumableArray$7(disjunctionToList$1(e.left)).concat([e.right])):t.push(e.left,e.right),t}function listToDisjunction$1(e){return e.reduce((function(e,t){return{type:"Disjunction",left:e,right:t}}))}function increaseQuantifierByOne$2(e){"*"===e.kind?e.kind="+":"+"===e.kind?(e.kind="Range",e.from=2,delete e.to):"?"===e.kind?(e.kind="Range",e.from=1,e.to=2):"Range"===e.kind&&(e.from+=1,e.to&&(e.to+=1))}var utils={disjunctionToList:disjunctionToList$1,listToDisjunction:listToDisjunction$1,increaseQuantifierByOne:increaseQuantifierByOne$2},_require$8=utils,increaseQuantifierByOne$1=_require$8.increaseQuantifierByOne,quantifiersMergeTransform={Repetition:function(e){var t=e.node;if("Alternative"===e.parent.type&&e.index){var r=e.getPreviousSibling();if(r)if("Repetition"===r.node.type){if(!r.getChild().hasEqualSource(e.getChild()))return;var n=extractFromTo(r.node.quantifier),i=n.from,a=n.to,s=extractFromTo(t.quantifier),o=s.from,l=s.to;if(r.node.quantifier.greedy!==t.quantifier.greedy&&!isGreedyOpenRange(r.node.quantifier)&&!isGreedyOpenRange(t.quantifier))return;t.quantifier.kind="Range",t.quantifier.from=i+o,a&&l?t.quantifier.to=a+l:delete t.quantifier.to,(isGreedyOpenRange(r.node.quantifier)||isGreedyOpenRange(t.quantifier))&&(t.quantifier.greedy=!0),r.remove()}else{if(!r.hasEqualSource(e.getChild()))return;increaseQuantifierByOne$1(t.quantifier),r.remove()}}}};function isGreedyOpenRange(e){return e.greedy&&("+"===e.kind||"*"===e.kind||"Range"===e.kind&&!e.to)}function extractFromTo(e){var t=void 0,r=void 0;return"*"===e.kind?t=0:"+"===e.kind?t=1:"?"===e.kind?(t=0,r=1):(t=e.from,e.to&&(r=e.to)),{from:t,to:r}}var quantifierRangeToSymbolTransform={Quantifier:function(e){"Range"===e.node.kind&&(rewriteOpenZero(e),rewriteOpenOne(e),rewriteExactOne(e))}};function rewriteOpenZero(e){var t=e.node;0!==t.from||t.to||(t.kind="*",delete t.from)}function rewriteOpenOne(e){var t=e.node;1!==t.from||t.to||(t.kind="+",delete t.from)}function rewriteExactOne(e){var t=e.node;1===t.from&&1===t.to&&e.parentPath.replace(e.parentPath.node.expression)}var charClassClassrangesToCharsTransform={ClassRange:function(e){var t=e.node;t.from.codePoint===t.to.codePoint?e.replace(t.from):t.from.codePoint===t.to.codePoint-1&&(e.getParent().insertChildAt(t.to,e.index+1),e.replace(t.from))}};function _toConsumableArray$6(e){if(Array.isArray(e)){for(var t=0,r=Array(e.length);t<e.length;t++)r[t]=e[t];return r}return Array.from(e)}var charClassToMetaTransform={_hasIFlag:!1,_hasUFlag:!1,init:function(e){this._hasIFlag=e.flags.includes("i"),this._hasUFlag=e.flags.includes("u")},CharacterClass:function(e){rewriteNumberRanges(e),rewriteWordRanges(e,this._hasIFlag,this._hasUFlag),rewriteWhitespaceRanges(e)}};function rewriteNumberRanges(e){e.node.expressions.forEach((function(t,r){isFullNumberRange(t)&&e.getChild(r).replace({type:"Char",value:"\\d",kind:"meta"})}))}function rewriteWordRanges(e,t,r){var n=e.node,i=null,a=null,s=null,o=null,l=null,u=null;n.expressions.forEach((function(n,c){isMetaChar(n,"\\d")?i=e.getChild(c):isLowerCaseRange(n)?a=e.getChild(c):isUpperCaseRange(n)?s=e.getChild(c):isUnderscore(n)?o=e.getChild(c):t&&r&&isCodePoint(n,383)?l=e.getChild(c):t&&r&&isCodePoint(n,8490)&&(u=e.getChild(c))})),i&&(a&&s||t&&(a||s))&&o&&(!r||!t||l&&u)&&(i.replace({type:"Char",value:"\\w",kind:"meta"}),a&&a.remove(),s&&s.remove(),o.remove(),l&&l.remove(),u&&u.remove())}var whitespaceRangeTests=[function(e){return isChar$1(e," ")}].concat(_toConsumableArray$6(["\\f","\\n","\\r","\\t","\\v"].map((function(e){return function(t){return isMetaChar(t,e)}}))),_toConsumableArray$6([160,5760,8232,8233,8239,8287,12288,65279].map((function(e){return function(t){return isCodePoint(t,e)}}))),[function(e){return"ClassRange"===e.type&&isCodePoint(e.from,8192)&&isCodePoint(e.to,8202)}]);function rewriteWhitespaceRanges(e){var t=e.node;if(!(t.expressions.length<whitespaceRangeTests.length)&&whitespaceRangeTests.every((function(e){return t.expressions.some((function(t){return e(t)}))}))){var r=t.expressions.find((function(e){return isMetaChar(e,"\\n")}));r.value="\\s",r.symbol=void 0,r.codePoint=NaN,t.expressions.map((function(t,r){return whitespaceRangeTests.some((function(e){return e(t)}))?e.getChild(r):void 0})).filter(Boolean).forEach((function(e){return e.remove()}))}}function isFullNumberRange(e){return"ClassRange"===e.type&&"0"===e.from.value&&"9"===e.to.value}function isChar$1(e,t){var r=arguments.length>2&&void 0!==arguments[2]?arguments[2]:"simple";return"Char"===e.type&&e.value===t&&e.kind===r}function isMetaChar(e,t){return isChar$1(e,t,"meta")}function isLowerCaseRange(e){return"ClassRange"===e.type&&"a"===e.from.value&&"z"===e.to.value}function isUpperCaseRange(e){return"ClassRange"===e.type&&"A"===e.from.value&&"Z"===e.to.value}function isUnderscore(e){return"Char"===e.type&&"_"===e.value&&"simple"===e.kind}function isCodePoint(e,t){return"Char"===e.type&&"unicode"===e.kind&&e.codePoint===t}var charClassToSingleCharTransform={CharacterClass:function(e){var t=e.node;if(1===t.expressions.length&&hasAppropriateSiblings$1(e)&&isAppropriateChar(t.expressions[0])){var r=t.expressions[0],n=r.value,i=r.kind,a=r.escaped;if(t.negative){if(!isMeta$1(n))return;n=getInverseMeta(n)}e.replace({type:"Char",value:n,kind:i,escaped:a||shouldEscape(n)})}}};function isAppropriateChar(e){return"Char"===e.type&&"\\b"!==e.value}function isMeta$1(e){return/^\\[dwsDWS]$/.test(e)}function getInverseMeta(e){return/[dws]/.test(e)?e.toUpperCase():e.toLowerCase()}function hasAppropriateSiblings$1(e){var t=e.parent,r=e.index;if("Alternative"!==t.type)return!0;var n=t.expressions[r-1];return null==n||("Backreference"!==n.type||"number"!==n.kind)&&("Char"!==n.type||"decimal"!==n.kind)}function shouldEscape(e){return/[*[()+?$./{}|]/.test(e)}var charEscapeUnescapeTransform={_hasXFlag:!1,init:function(e){this._hasXFlag=e.flags.includes("x")},Char:function(e){var t=e.node;t.escaped&&shouldUnescape(e,this._hasXFlag)&&delete t.escaped}};function shouldUnescape(e,t){var r=e.node.value,n=e.index,i=e.parent;return"CharacterClass"!==i.type&&"ClassRange"!==i.type?!preservesEscape(r,n,i,t):!preservesInCharClass(r,n,i)}function preservesInCharClass(e,t,r){return"^"===e?0===t&&!r.negative:"-"===e||/[\]\\]/.test(e)}function preservesEscape(e,t,r,n){return"{"===e?preservesOpeningCurlyBraceEscape(t,r):"}"===e?preservesClosingCurlyBraceEscape(t,r):!(!n||!/[ #]/.test(e))||/[*[()+?^$./\\|]/.test(e)}function consumeNumbers(e,t,r){for(var n=e,i=(r?n>=0:n<t.expressions.length)&&t.expressions[n];i&&"Char"===i.type&&"simple"===i.kind&&!i.escaped&&/\d/.test(i.value);)r?n--:n++,i=(r?n>=0:n<t.expressions.length)&&t.expressions[n];return Math.abs(e-n)}function isSimpleChar(e,t){return e&&"Char"===e.type&&"simple"===e.kind&&!e.escaped&&e.value===t}function preservesOpeningCurlyBraceEscape(e,t){if(null==e)return!1;var r=consumeNumbers(e+1,t),n=e+r+1,i=n<t.expressions.length&&t.expressions[n];if(r){if(isSimpleChar(i,"}"))return!0;if(isSimpleChar(i,","))return isSimpleChar(i=(n=n+(r=consumeNumbers(n+1,t))+1)<t.expressions.length&&t.expressions[n],"}")}return!1}function preservesClosingCurlyBraceEscape(e,t){if(null==e)return!1;var r=consumeNumbers(e-1,t,!0),n=e-r-1,i=n>=0&&t.expressions[n];return!(!r||!isSimpleChar(i,"{"))||!!isSimpleChar(i,",")&&(i=(n=n-(r=consumeNumbers(n-1,t,!0))-1)<t.expressions.length&&t.expressions[n],r&&isSimpleChar(i,"{"))}var charClassClassrangesMergeTransform={_hasIUFlags:!1,init:function(e){this._hasIUFlags=e.flags.includes("i")&&e.flags.includes("u")},CharacterClass:function(e){var t=e.node.expressions,r=[];t.forEach((function(e){isMeta(e)&&r.push(e.value)})),t.sort(sortCharClass);for(var n=0;n<t.length;n++){var i=t[n];if(fitsInMetas(i,r,this._hasIUFlags)||combinesWithPrecedingClassRange(i,t[n-1])||combinesWithFollowingClassRange(i,t[n+1]))t.splice(n,1),n--;else{var a=charCombinesWithPrecedingChars(i,n,t);t.splice(n-a+1,a),n-=a}}}};function sortCharClass(e,t){var r=getSortValue(e),n=getSortValue(t);if(r===n){if("ClassRange"===e.type&&"ClassRange"!==t.type)return-1;if("ClassRange"===t.type&&"ClassRange"!==e.type)return 1;if("ClassRange"===e.type&&"ClassRange"===t.type)return getSortValue(e.to)-getSortValue(t.to);if(isMeta(e)&&isMeta(t)||isControl(e)&&isControl(t))return e.value<t.value?-1:1}return r-n}function getSortValue(e){return"Char"===e.type?"-"===e.value||"control"===e.kind?1/0:"meta"===e.kind&&isNaN(e.codePoint)?-1:e.codePoint:e.from.codePoint}function isMeta(e){var t=arguments.length>1&&void 0!==arguments[1]?arguments[1]:null;return"Char"===e.type&&"meta"===e.kind&&(t?e.value===t:/^\\[dws]$/i.test(e.value))}function isControl(e){return"Char"===e.type&&"control"===e.kind}function fitsInMetas(e,t,r){for(var n=0;n<t.length;n++)if(fitsInMeta(e,t[n],r))return!0;return!1}function fitsInMeta(e,t,r){return"ClassRange"===e.type?fitsInMeta(e.from,t,r)&&fitsInMeta(e.to,t,r):!("\\S"!==t||!isMeta(e,"\\w")&&!isMeta(e,"\\d"))||(!("\\D"!==t||!isMeta(e,"\\W")&&!isMeta(e,"\\s"))||(!("\\w"!==t||!isMeta(e,"\\d"))||(!("\\W"!==t||!isMeta(e,"\\s"))||"Char"===e.type&&!isNaN(e.codePoint)&&("\\s"===t?fitsInMetaS(e):"\\S"===t?!fitsInMetaS(e):"\\d"===t?fitsInMetaD(e):"\\D"===t?!fitsInMetaD(e):"\\w"===t?fitsInMetaW(e,r):"\\W"===t&&!fitsInMetaW(e,r)))))}function fitsInMetaS(e){return 9===e.codePoint||10===e.codePoint||11===e.codePoint||12===e.codePoint||13===e.codePoint||32===e.codePoint||160===e.codePoint||5760===e.codePoint||e.codePoint>=8192&&e.codePoint<=8202||8232===e.codePoint||8233===e.codePoint||8239===e.codePoint||8287===e.codePoint||12288===e.codePoint||65279===e.codePoint}function fitsInMetaD(e){return e.codePoint>=48&&e.codePoint<=57}function fitsInMetaW(e,t){return fitsInMetaD(e)||e.codePoint>=65&&e.codePoint<=90||e.codePoint>=97&&e.codePoint<=122||"_"===e.value||t&&(383===e.codePoint||8490===e.codePoint)}function combinesWithPrecedingClassRange(e,t){if(t&&"ClassRange"===t.type){if(fitsInClassRange(e,t))return!0;if(isMetaWCharOrCode(e)&&t.to.codePoint===e.codePoint-1)return t.to=e,!0;if("ClassRange"===e.type&&e.from.codePoint<=t.to.codePoint+1&&e.to.codePoint>=t.from.codePoint-1)return e.from.codePoint<t.from.codePoint&&(t.from=e.from),e.to.codePoint>t.to.codePoint&&(t.to=e.to),!0}return!1}function combinesWithFollowingClassRange(e,t){return!(!t||"ClassRange"!==t.type||!isMetaWCharOrCode(e)||t.from.codePoint!==e.codePoint+1)&&(t.from=e,!0)}function fitsInClassRange(e,t){return("Char"!==e.type||!isNaN(e.codePoint))&&("ClassRange"===e.type?fitsInClassRange(e.from,t)&&fitsInClassRange(e.to,t):e.codePoint>=t.from.codePoint&&e.codePoint<=t.to.codePoint)}function charCombinesWithPrecedingChars(e,t,r){if(!isMetaWCharOrCode(e))return 0;for(var n=0;t>0;){var i=r[t],a=r[t-1];if(!isMetaWCharOrCode(a)||a.codePoint!==i.codePoint-1)break;n++,t--}return n>1?(r[t]={type:"ClassRange",from:r[t],to:e},n):0}function isMetaWCharOrCode(e){return e&&"Char"===e.type&&!isNaN(e.codePoint)&&(fitsInMetaW(e,!1)||"unicode"===e.kind||"hex"===e.kind||"oct"===e.kind||"decimal"===e.kind)}var NodePath$1=nodePath,_require$7=utils,disjunctionToList=_require$7.disjunctionToList,listToDisjunction=_require$7.listToDisjunction,disjunctionRemoveDuplicatesTransform={Disjunction:function(e){var t=e.node,r={},n=disjunctionToList(t).filter((function(e){var t=e?NodePath$1.getForNode(e).jsonEncode():"null";return!r.hasOwnProperty(t)&&(r[t]=e,!0)}));e.replace(listToDisjunction(n))}},groupSingleCharsToCharClass={Disjunction:function(e){var t=e.node,r=e.parent;if(handlers[r.type]){var n=new Map;if(shouldProcess(t,n)&&n.size){var i={type:"CharacterClass",expressions:Array.from(n.keys()).sort().map((function(e){return n.get(e)}))};handlers[r.type](e.getParent(),i)}}}},handlers={RegExp:function(e,t){e.node.body=t},Group:function(e,t){var r=e.node;r.capturing?r.expression=t:e.replace(t)}};function shouldProcess(e,t){if(!e)return!1;var r=e.type;if("Disjunction"===r){var n=e.left,i=e.right;return shouldProcess(n,t)&&shouldProcess(i,t)}if("Char"===r){if("meta"===e.kind&&"."===e.symbol)return!1;var a=e.value;return t.set(a,e),!0}return"CharacterClass"===r&&!e.negative&&e.expressions.every((function(e){return shouldProcess(e,t)}))}var removeEmptyGroupTransform={Group:function(e){var t=e.node,r=e.parent,n=e.getChild();t.capturing||n||("Repetition"===r.type?e.getParent().replace(t):"RegExp"!==r.type&&e.remove())}};function _toConsumableArray$5(e){if(Array.isArray(e)){for(var t=0,r=Array(e.length);t<e.length;t++)r[t]=e[t];return r}return Array.from(e)}var ungroupTransform={Group:function(e){var t=e.node,r=e.parent,n=e.getChild();if(!t.capturing&&n&&hasAppropriateSiblings(e)&&!("Disjunction"===n.node.type&&"RegExp"!==r.type||"Repetition"===r.type&&"Char"!==n.node.type&&"CharacterClass"!==n.node.type))if("Alternative"===n.node.type){var i=e.getParent();"Alternative"===i.node.type&&i.replace({type:"Alternative",expressions:[].concat(_toConsumableArray$5(r.expressions.slice(0,e.index)),_toConsumableArray$5(n.node.expressions),_toConsumableArray$5(r.expressions.slice(e.index+1)))})}else e.replace(n.node)}};function hasAppropriateSiblings(e){var t=e.parent,r=e.index;if("Alternative"!==t.type)return!0;var n=t.expressions[r-1];return null==n||("Backreference"!==n.type||"number"!==n.kind)&&("Char"!==n.type||"decimal"!==n.kind)}function _toConsumableArray$4(e){if(Array.isArray(e)){for(var t=0,r=Array(e.length);t<e.length;t++)r[t]=e[t];return r}return Array.from(e)}var NodePath=nodePath,_require$6=utils,increaseQuantifierByOne=_require$6.increaseQuantifierByOne,combineRepeatingPatternsTransform={Alternative:function(e){for(var t=e.node,r=1;r<t.expressions.length;){var n=e.getChild(r);if((r=Math.max(1,combineRepeatingPatternLeft(e,n,r)))>=t.expressions.length)break;if(n=e.getChild(r),(r=Math.max(1,combineWithPreviousRepetition(e,n,r)))>=t.expressions.length)break;n=e.getChild(r),r=Math.max(1,combineRepetitionWithPrevious(e,n,r)),r++}}};function combineRepeatingPatternLeft(e,t,r){for(var n=e.node,i=Math.ceil(r/2),a=0;a<i;){var s=r-2*a-1,o=void 0,l=void 0;if(0===a?(o=t,l=e.getChild(s)):(o=NodePath.getForNode({type:"Alternative",expressions:[].concat(_toConsumableArray$4(n.expressions.slice(r-a,r)),[t.node])}),l=NodePath.getForNode({type:"Alternative",expressions:[].concat(_toConsumableArray$4(n.expressions.slice(s,r-a)))})),o.hasEqualSource(l)){for(var u=0;u<2*a+1;u++)e.getChild(s).remove();return t.replace({type:"Repetition",expression:0===a&&"Repetition"!==o.node.type?o.node:{type:"Group",capturing:!1,expression:o.node},quantifier:{type:"Quantifier",kind:"Range",from:2,to:2,greedy:!0}}),s}a++}return r}function combineWithPreviousRepetition(e,t,r){for(var n=e.node,i=0;i<r;){var a=e.getChild(i);if("Repetition"===a.node.type&&a.node.quantifier.greedy){var s=a.getChild(),o=void 0;if("Group"!==s.node.type||s.node.capturing||(s=s.getChild()),i+1===r?"Group"!==(o=t).node.type||o.node.capturing||(o=o.getChild()):o=NodePath.getForNode({type:"Alternative",expressions:[].concat(_toConsumableArray$4(n.expressions.slice(i+1,r+1)))}),s.hasEqualSource(o)){for(var l=i;l<r;l++)e.getChild(i+1).remove();return increaseQuantifierByOne(a.node.quantifier),i}}i++}return r}function combineRepetitionWithPrevious(e,t,r){var n=e.node;if("Repetition"===t.node.type&&t.node.quantifier.greedy){var i=t.getChild(),a=void 0;"Group"!==i.node.type||i.node.capturing||(i=i.getChild());var s=void 0;if("Alternative"===i.node.type?(s=i.node.expressions.length,a=NodePath.getForNode({type:"Alternative",expressions:[].concat(_toConsumableArray$4(n.expressions.slice(r-s,r)))})):(s=1,"Group"!==(a=e.getChild(r-1)).node.type||a.node.capturing||(a=a.getChild())),a.hasEqualSource(i)){for(var o=r-s;o<r;o++)e.getChild(r-s).remove();return increaseQuantifierByOne(t.node.quantifier),r-s}}return r}var transforms=new Map([["charSurrogatePairToSingleUnicode",charSurrogatePairToSingleUnicodeTransform],["charCodeToSimpleChar",charCodeToSimpleCharTransform],["charCaseInsensitiveLowerCaseTransform",charCaseInsensitiveLowercaseTransform],["charClassRemoveDuplicates",charClassRemoveDuplicatesTransform],["quantifiersMerge",quantifiersMergeTransform],["quantifierRangeToSymbol",quantifierRangeToSymbolTransform],["charClassClassrangesToChars",charClassClassrangesToCharsTransform],["charClassToMeta",charClassToMetaTransform],["charClassToSingleChar",charClassToSingleCharTransform],["charEscapeUnescape",charEscapeUnescapeTransform],["charClassClassrangesMerge",charClassClassrangesMergeTransform],["disjunctionRemoveDuplicates",disjunctionRemoveDuplicatesTransform],["groupSingleCharsToCharClass",groupSingleCharsToCharClass],["removeEmptyGroup",removeEmptyGroupTransform],["ungroup",ungroupTransform],["combineRepeatingPatterns",combineRepeatingPatternsTransform]]);transforms.default;var clone=clone$1,parser$2=parser$4,transform$4=transform$5,optimizationTransforms=transforms,optimizer$1={optimize:function(e){var t=arguments.length>1&&void 0!==arguments[1]?arguments[1]:{},r=t.whitelist,n=void 0===r?[]:r,i=t.blacklist,a=void 0===i?[]:i,s=(n.length>0?n:Array.from(optimizationTransforms.keys())).filter((function(e){return!a.includes(e)})),o=e;e instanceof RegExp&&(e=""+e),"string"==typeof e&&(o=parser$2.parse(e));var l=new transform$4.TransformResult(o),u=void 0;do{u=l.toString(),o=clone(l.getAST()),s.forEach((function(e){if(!optimizationTransforms.has(e))throw new Error("Unknown optimization-transform: "+e+". Available transforms are: "+Array.from(optimizationTransforms.keys()).join(", "));var t=optimizationTransforms.get(e),r=transform$4.transform(o,t);r.toString()!==l.toString()&&(r.toString().length<=l.toString().length?l=r:o=clone(l.getAST()))}))}while(l.toString()!==u);return l}},EPSILON$3="ε",EPSILON_CLOSURE$2=EPSILON$3+"*",specialSymbols={EPSILON:EPSILON$3,EPSILON_CLOSURE:EPSILON_CLOSURE$2},_slicedToArray$1=function(e,t){if(Array.isArray(e))return e;if(Symbol.iterator in Object(e))return function(e,t){var r=[],n=!0,i=!1,a=void 0;try{for(var s,o=e[Symbol.iterator]();!(n=(s=o.next()).done)&&(r.push(s.value),!t||r.length!==t);n=!0);}catch(e){i=!0,a=e}finally{try{!n&&o.return&&o.return()}finally{if(i)throw a}}return r}(e,t);throw new TypeError("Invalid attempt to destructure non-iterable instance")},_createClass$4=function(){function e(e,t){for(var r=0;r<t.length;r++){var n=t[r];n.enumerable=n.enumerable||!1,n.configurable=!0,"value"in n&&(n.writable=!0),Object.defineProperty(e,n.key,n)}}return function(t,r,n){return r&&e(t.prototype,r),n&&e(t,n),t}}();function _toConsumableArray$3(e){if(Array.isArray(e)){for(var t=0,r=Array(e.length);t<e.length;t++)r[t]=e[t];return r}return Array.from(e)}function _classCallCheck$4(e,t){if(!(e instanceof t))throw new TypeError("Cannot call a class as a function")}var _require$5=specialSymbols,EPSILON$2=_require$5.EPSILON,EPSILON_CLOSURE$1=_require$5.EPSILON_CLOSURE,NFA$2=function(){function e(t,r){_classCallCheck$4(this,e),this.in=t,this.out=r}return _createClass$4(e,[{key:"matches",value:function(e){return this.in.matches(e)}},{key:"getAlphabet",value:function(){if(!this._alphabet){this._alphabet=new Set;var e=this.getTransitionTable();for(var t in e){var r=e[t];for(var n in r)n!==EPSILON_CLOSURE$1&&this._alphabet.add(n)}}return this._alphabet}},{key:"getAcceptingStates",value:function(){return this._acceptingStates||this.getTransitionTable(),this._acceptingStates}},{key:"getAcceptingStateNumbers",value:function(){if(!this._acceptingStateNumbers){this._acceptingStateNumbers=new Set;var e=!0,t=!1,r=void 0;try{for(var n,i=this.getAcceptingStates()[Symbol.iterator]();!(e=(n=i.next()).done);e=!0){var a=n.value;this._acceptingStateNumbers.add(a.number)}}catch(e){t=!0,r=e}finally{try{!e&&i.return&&i.return()}finally{if(t)throw r}}}return this._acceptingStateNumbers}},{key:"getTransitionTable",value:function(){var e=this;if(!this._transitionTable){this._transitionTable={},this._acceptingStates=new Set;var t=new Set,r=new Set;!function n(i){if(!t.has(i)){t.add(i),i.number=t.size,e._transitionTable[i.number]={},i.accepting&&e._acceptingStates.add(i);var a=i.getTransitions(),s=!0,o=!1,l=void 0;try{for(var u,c=a[Symbol.iterator]();!(s=(u=c.next()).done);s=!0){var p=u.value,d=_slicedToArray$1(p,2),f=d[0],h=d[1],m=[];r.add(f);var y=!0,g=!1,v=void 0;try{for(var b,S=h[Symbol.iterator]();!(y=(b=S.next()).done);y=!0){var _=b.value;n(_),m.push(_.number)}}catch(e){g=!0,v=e}finally{try{!y&&S.return&&S.return()}finally{if(g)throw v}}e._transitionTable[i.number][f]=m}}catch(e){o=!0,l=e}finally{try{!s&&c.return&&c.return()}finally{if(o)throw l}}}}(this.in),t.forEach((function(t){delete e._transitionTable[t.number][EPSILON$2],e._transitionTable[t.number][EPSILON_CLOSURE$1]=[].concat(_toConsumableArray$3(t.getEpsilonClosure())).map((function(e){return e.number}))}))}return this._transitionTable}}]),e}(),nfa=NFA$2;nfa.default;var _slicedToArray=function(e,t){if(Array.isArray(e))return e;if(Symbol.iterator in Object(e))return function(e,t){var r=[],n=!0,i=!1,a=void 0;try{for(var s,o=e[Symbol.iterator]();!(n=(s=o.next()).done)&&(r.push(s.value),!t||r.length!==t);n=!0);}catch(e){i=!0,a=e}finally{try{!n&&o.return&&o.return()}finally{if(i)throw a}}return r}(e,t);throw new TypeError("Invalid attempt to destructure non-iterable instance")};function _toArray(e){return Array.isArray(e)?e:Array.from(e)}function _toConsumableArray$2(e){if(Array.isArray(e)){for(var t=0,r=Array(e.length);t<e.length;t++)r[t]=e[t];return r}return Array.from(e)}var currentTransitionMap=null;function minimize(e){var t=e.getTransitionTable(),r=Object.keys(t),n=e.getAlphabet(),i=e.getAcceptingStateNumbers();currentTransitionMap={};var a=new Set;r.forEach((function(e){e=Number(e),i.has(e)?currentTransitionMap[e]=i:(a.add(e),currentTransitionMap[e]=a)}));var s=[[a,i].filter((function(e){return e.size>0}))],o=void 0,l=void 0;o=s[s.length-1],l=s[s.length-2];for(var u=function(){var e={},r=!0,i=!1,a=void 0;try{for(var u,c=o[Symbol.iterator]();!(r=(u=c.next()).done);r=!0){var p=u.value,d={},f=_toArray(p),h=f[0],m=f.slice(1);d[h]=new Set([h]);var y=!0,g=!1,v=void 0;try{e:for(var b,S=m[Symbol.iterator]();!(y=(b=S.next()).done);y=!0){var _=b.value,T=!0,E=!1,x=void 0;try{for(var P,A=Object.keys(d)[Symbol.iterator]();!(T=(P=A.next()).done);T=!0){var $=P.value;if(areEquivalent(_,$,t,n)){d[$].add(_),d[_]=d[$];continue e}}}catch(e){E=!0,x=e}finally{try{!T&&A.return&&A.return()}finally{if(E)throw x}}d[_]=new Set([_])}}catch(e){g=!0,v=e}finally{try{!y&&S.return&&S.return()}finally{if(g)throw v}}Object.assign(e,d)}}catch(e){i=!0,a=e}finally{try{!r&&c.return&&c.return()}finally{if(i)throw a}}currentTransitionMap=e;var C=new Set(Object.keys(e).map((function(t){return e[t]})));s.push([].concat(_toConsumableArray$2(C))),o=s[s.length-1],l=s[s.length-2]};!sameRow(o,l);)u();var c=new Map,p=1;o.forEach((function(e){return c.set(e,p++)}));var d={},f=new Set,h=function(e,t){var r=!0,n=!1,a=void 0;try{for(var s,o=e[Symbol.iterator]();!(r=(s=o.next()).done);r=!0){var l=s.value;i.has(l)&&f.add(t)}}catch(e){n=!0,a=e}finally{try{!r&&o.return&&o.return()}finally{if(n)throw a}}},m=!0,y=!1,g=void 0;try{for(var v,b=c.entries()[Symbol.iterator]();!(m=(v=b.next()).done);m=!0){var S=v.value,_=_slicedToArray(S,2),T=_[0],E=_[1];d[E]={};var x=!0,P=!1,A=void 0;try{for(var $,C=n[Symbol.iterator]();!(x=($=C.next()).done);x=!0){var w=$.value;h(T,E);var k=void 0,I=!0,N=!1,O=void 0;try{for(var L,D=T[Symbol.iterator]();!(I=(L=D.next()).done);I=!0){var F=L.value;if(k=t[F][w])break}}catch(e){N=!0,O=e}finally{try{!I&&D.return&&D.return()}finally{if(N)throw O}}k&&(d[E][w]=c.get(currentTransitionMap[k]))}}catch(e){P=!0,A=e}finally{try{!x&&C.return&&C.return()}finally{if(P)throw A}}}}catch(e){y=!0,g=e}finally{try{!m&&b.return&&b.return()}finally{if(y)throw g}}return e.setTransitionTable(d),e.setAcceptingStateNumbers(f),e}function sameRow(e,t){if(!t)return!1;if(e.length!==t.length)return!1;for(var r=0;r<e.length;r++){var n=e[r],i=t[r];if(n.size!==i.size)return!1;if([].concat(_toConsumableArray$2(n)).sort().join(",")!==[].concat(_toConsumableArray$2(i)).sort().join(","))return!1}return!0}function areEquivalent(e,t,r,n){var i=!0,a=!1,s=void 0;try{for(var o,l=n[Symbol.iterator]();!(i=(o=l.next()).done);i=!0){if(!goToSameSet(e,t,r,o.value))return!1}}catch(e){a=!0,s=e}finally{try{!i&&l.return&&l.return()}finally{if(a)throw s}}return!0}function goToSameSet(e,t,r,n){if(!currentTransitionMap[e]||!currentTransitionMap[t])return!1;var i=r[e][n],a=r[t][n];return!i&&!a||currentTransitionMap[e].has(i)&¤tTransitionMap[t].has(a)}var dfaMinimizer={minimize:minimize},_createClass$3=function(){function e(e,t){for(var r=0;r<t.length;r++){var n=t[r];n.enumerable=n.enumerable||!1,n.configurable=!0,"value"in n&&(n.writable=!0),Object.defineProperty(e,n.key,n)}}return function(t,r,n){return r&&e(t.prototype,r),n&&e(t,n),t}}();function _toConsumableArray$1(e){if(Array.isArray(e)){for(var t=0,r=Array(e.length);t<e.length;t++)r[t]=e[t];return r}return Array.from(e)}function _classCallCheck$3(e,t){if(!(e instanceof t))throw new TypeError("Cannot call a class as a function")}var DFAMinimizer=dfaMinimizer,_require$4=specialSymbols,EPSILON_CLOSURE=_require$4.EPSILON_CLOSURE,DFA$1=function(){function e(t){_classCallCheck$3(this,e),this._nfa=t}return _createClass$3(e,[{key:"minimize",value:function(){this.getTransitionTable(),this._originalAcceptingStateNumbers=this._acceptingStateNumbers,this._originalTransitionTable=this._transitionTable,DFAMinimizer.minimize(this)}},{key:"getAlphabet",value:function(){return this._nfa.getAlphabet()}},{key:"getAcceptingStateNumbers",value:function(){return this._acceptingStateNumbers||this.getTransitionTable(),this._acceptingStateNumbers}},{key:"getOriginaAcceptingStateNumbers",value:function(){return this._originalAcceptingStateNumbers||this.getTransitionTable(),this._originalAcceptingStateNumbers}},{key:"setTransitionTable",value:function(e){this._transitionTable=e}},{key:"setAcceptingStateNumbers",value:function(e){this._acceptingStateNumbers=e}},{key:"getTransitionTable",value:function(){var e=this;if(this._transitionTable)return this._transitionTable;var t=this._nfa.getTransitionTable(),r=Object.keys(t);this._acceptingStateNumbers=new Set;for(var n=[t[r[0]][EPSILON_CLOSURE]],i=this.getAlphabet(),a=this._nfa.getAcceptingStateNumbers(),s={},o=function(t){var r=!0,n=!1,i=void 0;try{for(var s,o=a[Symbol.iterator]();!(r=(s=o.next()).done);r=!0){var l=s.value;if(-1!==t.indexOf(l)){e._acceptingStateNumbers.add(t.join(","));break}}}catch(e){n=!0,i=e}finally{try{!r&&o.return&&o.return()}finally{if(n)throw i}}};n.length>0;){var l=n.shift(),u=l.join(",");s[u]={};var c=!0,p=!1,d=void 0;try{for(var f,h=i[Symbol.iterator]();!(c=(f=h.next()).done);c=!0){var m=f.value,y=[];o(l);var g=!0,v=!1,b=void 0;try{for(var S,_=l[Symbol.iterator]();!(g=(S=_.next()).done);g=!0){var T=t[S.value][m];if(T){var E=!0,x=!1,P=void 0;try{for(var A,$=T[Symbol.iterator]();!(E=(A=$.next()).done);E=!0){var C=A.value;t[C]&&y.push.apply(y,_toConsumableArray$1(t[C][EPSILON_CLOSURE]))}}catch(e){x=!0,P=e}finally{try{!E&&$.return&&$.return()}finally{if(x)throw P}}}}}catch(e){v=!0,b=e}finally{try{!g&&_.return&&_.return()}finally{if(v)throw b}}var w=new Set(y),k=[].concat(_toConsumableArray$1(w));if(k.length>0){var I=k.join(",");s[u][m]=I,s.hasOwnProperty(I)||n.unshift(k)}}}catch(e){p=!0,d=e}finally{try{!c&&h.return&&h.return()}finally{if(p)throw d}}}return this._transitionTable=this._remapStateNumbers(s)}},{key:"_remapStateNumbers",value:function(e){var t={};this._originalTransitionTable=e;var r={};for(var n in Object.keys(e).forEach((function(e,r){t[e]=r+1})),e){var i=e[n],a={};for(var s in i)a[s]=t[i[s]];r[t[n]]=a}this._originalAcceptingStateNumbers=this._acceptingStateNumbers,this._acceptingStateNumbers=new Set;var o=!0,l=!1,u=void 0;try{for(var c,p=this._originalAcceptingStateNumbers[Symbol.iterator]();!(o=(c=p.next()).done);o=!0){var d=c.value;this._acceptingStateNumbers.add(t[d])}}catch(e){l=!0,u=e}finally{try{!o&&p.return&&p.return()}finally{if(l)throw u}}return r}},{key:"getOriginalTransitionTable",value:function(){return this._originalTransitionTable||this.getTransitionTable(),this._originalTransitionTable}},{key:"matches",value:function(e){for(var t=1,r=0,n=this.getTransitionTable();e[r];)if(!(t=n[t][e[r++]]))return!1;return!!this.getAcceptingStateNumbers().has(t)}}]),e}(),dfa=DFA$1;dfa.default;var _createClass$2=function(){function e(e,t){for(var r=0;r<t.length;r++){var n=t[r];n.enumerable=n.enumerable||!1,n.configurable=!0,"value"in n&&(n.writable=!0),Object.defineProperty(e,n.key,n)}}return function(t,r,n){return r&&e(t.prototype,r),n&&e(t,n),t}}();function _classCallCheck$2(e,t){if(!(e instanceof t))throw new TypeError("Cannot call a class as a function")}var State$1=function(){function e(){var t=(arguments.length>0&&void 0!==arguments[0]?arguments[0]:{}).accepting,r=void 0!==t&&t;_classCallCheck$2(this,e),this._transitions=new Map,this.accepting=r}return _createClass$2(e,[{key:"getTransitions",value:function(){return this._transitions}},{key:"addTransition",value:function(e,t){return this.getTransitionsOnSymbol(e).add(t),this}},{key:"getTransitionsOnSymbol",value:function(e){var t=this._transitions.get(e);return t||(t=new Set,this._transitions.set(e,t)),t}}]),e}(),state=State$1;state.default;var _createClass$1=function(){function e(e,t){for(var r=0;r<t.length;r++){var n=t[r];n.enumerable=n.enumerable||!1,n.configurable=!0,"value"in n&&(n.writable=!0),Object.defineProperty(e,n.key,n)}}return function(t,r,n){return r&&e(t.prototype,r),n&&e(t,n),t}}();function _classCallCheck$1(e,t){if(!(e instanceof t))throw new TypeError("Cannot call a class as a function")}function _possibleConstructorReturn(e,t){if(!e)throw new ReferenceError("this hasn't been initialised - super() hasn't been called");return!t||"object"!=typeof t&&"function"!=typeof t?e:t}function _inherits(e,t){if("function"!=typeof t&&null!==t)throw new TypeError("Super expression must either be null or a function, not "+typeof t);e.prototype=Object.create(t&&t.prototype,{constructor:{value:e,enumerable:!1,writable:!0,configurable:!0}}),t&&(Object.setPrototypeOf?Object.setPrototypeOf(e,t):e.__proto__=t)}var State=state,_require$3=specialSymbols,EPSILON$1=_require$3.EPSILON,NFAState$1=function(e){function t(){return _classCallCheck$1(this,t),_possibleConstructorReturn(this,(t.__proto__||Object.getPrototypeOf(t)).apply(this,arguments))}return _inherits(t,State),_createClass$1(t,[{key:"matches",value:function(e){var t=arguments.length>1&&void 0!==arguments[1]?arguments[1]:new Set;if(t.has(this))return!1;if(t.add(this),0===e.length){if(this.accepting)return!0;var r=!0,n=!1,i=void 0;try{for(var a,s=this.getTransitionsOnSymbol(EPSILON$1)[Symbol.iterator]();!(r=(a=s.next()).done);r=!0){if(a.value.matches("",t))return!0}}catch(e){n=!0,i=e}finally{try{!r&&s.return&&s.return()}finally{if(n)throw i}}return!1}var o=e[0],l=e.slice(1),u=this.getTransitionsOnSymbol(o),c=!0,p=!1,d=void 0;try{for(var f,h=u[Symbol.iterator]();!(c=(f=h.next()).done);c=!0){if(f.value.matches(l))return!0}}catch(e){p=!0,d=e}finally{try{!c&&h.return&&h.return()}finally{if(p)throw d}}var m=!0,y=!1,g=void 0;try{for(var v,b=this.getTransitionsOnSymbol(EPSILON$1)[Symbol.iterator]();!(m=(v=b.next()).done);m=!0){if(v.value.matches(e,t))return!0}}catch(e){y=!0,g=e}finally{try{!m&&b.return&&b.return()}finally{if(y)throw g}}return!1}},{key:"getEpsilonClosure",value:function(){var e=this;return this._epsilonClosure||function(){var t=e.getTransitionsOnSymbol(EPSILON$1),r=e._epsilonClosure=new Set;r.add(e);var n=!0,i=!1,a=void 0;try{for(var s,o=t[Symbol.iterator]();!(n=(s=o.next()).done);n=!0){var l=s.value;if(!r.has(l))r.add(l),l.getEpsilonClosure().forEach((function(e){return r.add(e)}))}}catch(e){i=!0,a=e}finally{try{!n&&o.return&&o.return()}finally{if(i)throw a}}}(),this._epsilonClosure}}]),t}(),nfaState=NFAState$1;nfaState.default;var NFA$1=nfa,NFAState=nfaState,_require$2=specialSymbols,EPSILON=_require$2.EPSILON;function char$1(e){var t=new NFAState,r=new NFAState({accepting:!0});return new NFA$1(t.addTransition(e,r),r)}function e(){return char$1(EPSILON)}function altPair(e,t){return e.out.accepting=!1,t.out.accepting=!0,e.out.addTransition(EPSILON,t.in),new NFA$1(e.in,t.out)}function alt$1(e){for(var t=arguments.length,r=Array(t>1?t-1:0),n=1;n<t;n++)r[n-1]=arguments[n];var i=!0,a=!1,s=void 0;try{for(var o,l=r[Symbol.iterator]();!(i=(o=l.next()).done);i=!0){e=altPair(e,o.value)}}catch(e){a=!0,s=e}finally{try{!i&&l.return&&l.return()}finally{if(a)throw s}}return e}function orPair(e,t){var r=new NFAState,n=new NFAState;return r.addTransition(EPSILON,e.in),r.addTransition(EPSILON,t.in),n.accepting=!0,e.out.accepting=!1,t.out.accepting=!1,e.out.addTransition(EPSILON,n),t.out.addTransition(EPSILON,n),new NFA$1(r,n)}function or$1(e){for(var t=arguments.length,r=Array(t>1?t-1:0),n=1;n<t;n++)r[n-1]=arguments[n];var i=!0,a=!1,s=void 0;try{for(var o,l=r[Symbol.iterator]();!(i=(o=l.next()).done);i=!0){e=orPair(e,o.value)}}catch(e){a=!0,s=e}finally{try{!i&&l.return&&l.return()}finally{if(a)throw s}}return e}function repExplicit(e){var t=new NFAState,r=new NFAState({accepting:!0});return t.addTransition(EPSILON,e.in),t.addTransition(EPSILON,r),e.out.accepting=!1,e.out.addTransition(EPSILON,r),r.addTransition(EPSILON,e.in),new NFA$1(t,r)}function rep$1(e){return e.in.addTransition(EPSILON,e.out),e.out.addTransition(EPSILON,e.in),e}function plusRep$1(e){return e.out.addTransition(EPSILON,e.in),e}function questionRep$1(e){return e.in.addTransition(EPSILON,e.out),e}var builders$1={alt:alt$1,char:char$1,e:e,or:or$1,rep:rep$1,repExplicit:repExplicit,plusRep:plusRep$1,questionRep:questionRep$1};function _toConsumableArray(e){if(Array.isArray(e)){for(var t=0,r=Array(e.length);t<e.length;t++)r[t]=e[t];return r}return Array.from(e)}builders$1.default;var parser$1=parser$4,_require$1=builders$1,alt=_require$1.alt,char=_require$1.char,or=_require$1.or,rep=_require$1.rep,plusRep=_require$1.plusRep,questionRep=_require$1.questionRep;function gen(e){if(e&&!generator$1[e.type])throw new Error(e.type+" is not supported in NFA/DFA interpreter.");return e?generator$1[e.type](e):""}var generator$1={RegExp:function(e){if(""!==e.flags)throw new Error("NFA/DFA: Flags are not supported yet.");return gen(e.body)},Alternative:function(e){var t=(e.expressions||[]).map(gen);return alt.apply(void 0,_toConsumableArray(t))},Disjunction:function(e){return or(gen(e.left),gen(e.right))},Repetition:function(e){switch(e.quantifier.kind){case"*":return rep(gen(e.expression));case"+":return plusRep(gen(e.expression));case"?":return questionRep(gen(e.expression));default:throw new Error("Unknown repeatition: "+e.quantifier.kind+".")}},Char:function(e){if("simple"!==e.kind)throw new Error("NFA/DFA: Only simple chars are supported yet.");return char(e.value)},Group:function(e){return gen(e.expression)}},nfaFromRegexp={build:function(e){var t=e;return e instanceof RegExp&&(e=""+e),"string"==typeof e&&(t=parser$1.parse(e,{captureLocations:!0})),gen(t)}},NFA=nfa,DFA=dfa,nfaFromRegExp=nfaFromRegexp,builders=builders$1,finiteAutomaton={NFA:NFA,DFA:DFA,builders:builders,toNFA:function(e){return nfaFromRegExp.build(e)},toDFA:function(e){return new DFA(this.toNFA(e))},test:function(e,t){return this.toDFA(e).matches(t)}};finiteAutomaton.default;var _createClass=function(){function e(e,t){for(var r=0;r<t.length;r++){var n=t[r];n.enumerable=n.enumerable||!1,n.configurable=!0,"value"in n&&(n.writable=!0),Object.defineProperty(e,n.key,n)}}return function(t,r,n){return r&&e(t.prototype,r),n&&e(t,n),t}}();function _classCallCheck(e,t){if(!(e instanceof t))throw new TypeError("Cannot call a class as a function")}var RegExpTree$1=function(){function e(t,r){var n=r.flags,i=r.groups,a=r.source;_classCallCheck(this,e),this._re=t,this._groups=i,this.flags=n,this.source=a||t.source,this.dotAll=n.includes("s"),this.global=t.global,this.ignoreCase=t.ignoreCase,this.multiline=t.multiline,this.sticky=t.sticky,this.unicode=t.unicode}return _createClass(e,[{key:"test",value:function(e){return this._re.test(e)}},{key:"compile",value:function(e){return this._re.compile(e)}},{key:"toString",value:function(){return this._toStringResult||(this._toStringResult="/"+this.source+"/"+this.flags),this._toStringResult}},{key:"exec",value:function(e){var t=this._re.exec(e);if(!this._groups||!t)return t;for(var r in t.groups={},this._groups){var n=this._groups[r];t.groups[r]=t[n]}return t}}]),e}(),runtime={RegExpTree:RegExpTree$1},compatTranspiler=compatTranspiler$1,generator=generator_1,optimizer=optimizer$1,parser=parser$4,_transform=transform$5,_traverse=traverse$d,fa=finiteAutomaton,_require=runtime,RegExpTree=_require.RegExpTree,regexpTree$4={parser:parser,fa:fa,TransformResult:_transform.TransformResult,parse:function(e,t){return parser.parse(""+e,t)},traverse:function(e,t,r){return _traverse.traverse(e,t,r)},transform:function(e,t){return _transform.transform(e,t)},generate:function(e){return generator.generate(e)},toRegExp:function(e){var t=this.compatTranspile(e);return new RegExp(t.getSource(),t.getFlags())},optimize:function(e,t){var r=(arguments.length>2&&void 0!==arguments[2]?arguments[2]:{}).blacklist;return optimizer.optimize(e,{whitelist:t,blacklist:r})},compatTranspile:function(e,t){return compatTranspiler.transform(e,t)},exec:function(e,t){if("string"==typeof e){var r=this.compatTranspile(e),n=r.getExtra();e=n.namedCapturingGroups?new RegExpTree(r.toRegExp(),{flags:r.getFlags(),source:r.getSource(),groups:n.namedCapturingGroups}):r.toRegExp()}return e.exec(t)}},regexpTree_1=regexpTree$4,regexpTree$3=regexpTree_1;const regexpTree$2=regexpTree$3,notSimpleChar=({type:e,kind:t})=>"Char"!==e||"simple"!==t;var isSimpleRegexp=e=>{let t=!1;const r=regexpTree$2.parse(e);return"Alternative"===r.body.type&&(regexpTree$2.traverse(r,{RegExp({node:e}){const{expressions:r}=e.body;t=Boolean(r.find(notSimpleChar))}}),!t)};isSimpleRegexp.default;const isSimpleRegExp$2=isSimpleRegexp;var regexp={isSimpleRegExp:isSimpleRegExp$2},addArgs={};const{compareAny:compareAny$1}=compare$m,{template:template$7}=parser$6,{types:types$N}=bundle,{ObjectPattern:ObjectPattern,ObjectProperty:ObjectProperty,isBlockStatement:isBlockStatement$a,isFunction:isFunction$4,isLabeledStatement:isLabeledStatement,isObjectPattern:isObjectPattern$5,isCallExpression:isCallExpression$2}=types$N,{entries:entries$5}=Object,COMPUTED=!0,SHORTHAND=!0,isCallOrStatement=e=>e.isCallExpression()||e.isStatement(),isCall=e=>isCallExpression$2(e.find(isCallOrStatement)),report$h=({name:e})=>`Argument '${e}' is missing`;addArgs.addArgs=e=>({report:report$h,fix:fix$7,traverse:traverse$b(e)});const fix$7=({declaration:e,path:t,pattern:r,params:n,index:i})=>{const a=template$7.ast.fresh(e);if(isBlockStatement$a(a)){const e=createProperty(a.body[0]);return r.properties.push(e),isObjectPattern$5(n[i])?void 0:n.push(r)}t.scope.block.params=[a]},traverse$b=e=>({push:t,options:r})=>{const n={...r.args,...e};return{ReferencedIdentifier(e){for(const[r,[i,a]]of entries$5(n)){if(e.node.name!==r)continue;if(e.scope.hasBinding(r))continue;if(!isCall(e))continue;const n=e.find(isFunction$4);if(!n)continue;const{block:s}=n.scope;if(!compareAny$1(e.scope.path,a))continue;const{params:o}=s,[l,u]=getObjectPattern(o);if(isObjectPattern$5(u))return void t({name:r,index:l,declaration:i,path:e,params:o,pattern:u});if(o.length>=3)return;t({name:r,index:l,declaration:i,path:e,params:o,pattern:ObjectPattern([])})}}}};function createProperty(e){if(!isLabeledStatement(e)){const{expression:t}=e;return ObjectProperty(t,t,!1,true)}const{label:t,body:r}=e;return ObjectProperty(t,r.expression,!1,true)}function getObjectPattern(e){for(const[t,r]of e.entries())if(isObjectPattern$5(r))return[t,r];return[-1,null]}var matchFiles={};function makeArray(e){return Array.isArray(e)?e:[e]}const EMPTY="",SPACE=" ",ESCAPE="\\",REGEX_TEST_BLANK_LINE=/^\s+$/,REGEX_INVALID_TRAILING_BACKSLASH=/(?:[^\\]|^)\\$/,REGEX_REPLACE_LEADING_EXCAPED_EXCLAMATION=/^\\!/,REGEX_REPLACE_LEADING_EXCAPED_HASH=/^\\#/,REGEX_SPLITALL_CRLF=/\r?\n/g,REGEX_TEST_INVALID_PATH=/^\.*\/|^\.+$/,SLASH="/";let TMP_KEY_IGNORE="node-ignore";"undefined"!=typeof Symbol&&(TMP_KEY_IGNORE=Symbol.for("node-ignore"));const KEY_IGNORE=TMP_KEY_IGNORE,define=(e,t,r)=>Object.defineProperty(e,t,{value:r}),REGEX_REGEXP_RANGE=/([0-z])-([0-z])/g,RETURN_FALSE=()=>!1,sanitizeRange=e=>e.replace(REGEX_REGEXP_RANGE,((e,t,r)=>t.charCodeAt(0)<=r.charCodeAt(0)?e:"")),cleanRangeBackSlash=e=>{const{length:t}=e;return e.slice(0,t-t%2)},REPLACERS=[[/^\uFEFF/,()=>""],[/\\?\s+$/,e=>0===e.indexOf("\\")?" ":""],[/\\\s/g,()=>" "],[/[\\$.|*+(){^]/g,e=>`\\${e}`],[/(?!\\)\?/g,()=>"[^/]"],[/^\//,()=>"^"],[/\//g,()=>"\\/"],[/^\^*\\\*\\\*\\\//,()=>"^(?:.*\\/)?"],[/^(?=[^^])/,function(){return/\/(?!$)/.test(this)?"^":"(?:^|\\/)"}],[/\\\/\\\*\\\*(?=\\\/|$)/g,(e,t,r)=>t+6<r.length?"(?:\\/[^\\/]+)*":"\\/.+"],[/(^|[^\\]+)(\\\*)+(?=.+)/g,(e,t,r)=>t+r.replace(/\\\*/g,"[^\\/]*")],[/\\\\\\(?=[$.|*+(){^])/g,()=>"\\"],[/\\\\/g,()=>"\\"],[/(\\)?\[([^\]/]*?)(\\*)($|\])/g,(e,t,r,n,i)=>"\\"===t?`\\[${r}${cleanRangeBackSlash(n)}${i}`:"]"===i&&n.length%2==0?`[${sanitizeRange(r)}${n}]`:"[]"],[/(?:[^*])$/,e=>/\/$/.test(e)?`${e}$`:`${e}(?=$|\\/$)`],[/(\^|\\\/)?\\\*$/,(e,t)=>`${t?`${t}[^/]+`:"[^/]*"}(?=$|\\/$)`]],regexCache=Object.create(null),makeRegex=(e,t)=>{let r=regexCache[e];return r||(r=REPLACERS.reduce(((t,r)=>t.replace(r[0],r[1].bind(e))),e),regexCache[e]=r),t?new RegExp(r,"i"):new RegExp(r)},isString$1=e=>"string"==typeof e,checkPattern=e=>e&&isString$1(e)&&!REGEX_TEST_BLANK_LINE.test(e)&&!REGEX_INVALID_TRAILING_BACKSLASH.test(e)&&0!==e.indexOf("#"),splitPattern=e=>e.split(REGEX_SPLITALL_CRLF);class IgnoreRule{constructor(e,t,r,n){this.origin=e,this.pattern=t,this.negative=r,this.regex=n}}const createRule=(e,t)=>{const r=e;let n=!1;0===e.indexOf("!")&&(n=!0,e=e.substr(1)),e=e.replace(REGEX_REPLACE_LEADING_EXCAPED_EXCLAMATION,"!").replace(REGEX_REPLACE_LEADING_EXCAPED_HASH,"#");const i=makeRegex(e,t);return new IgnoreRule(r,e,n,i)},throwError=(e,t)=>{throw new t(e)},checkPath=(e,t,r)=>{if(!isString$1(e))return r(`path must be a string, but got \`${t}\``,TypeError);if(!e)return r("path must not be empty",TypeError);if(checkPath.isNotRelative(e)){return r(`path should be a ${"`path.relative()`d"} string, but got "${t}"`,RangeError)}return!0},isNotRelative=e=>REGEX_TEST_INVALID_PATH.test(e);checkPath.isNotRelative=isNotRelative,checkPath.convert=e=>e;class Ignore{constructor({ignorecase:e=!0,ignoreCase:t=e,allowRelativePaths:r=!1}={}){define(this,KEY_IGNORE,!0),this._rules=[],this._ignoreCase=t,this._allowRelativePaths=r,this._initCache()}_initCache(){this._ignoreCache=Object.create(null),this._testCache=Object.create(null)}_addPattern(e){if(e&&e[KEY_IGNORE])return this._rules=this._rules.concat(e._rules),void(this._added=!0);if(checkPattern(e)){const t=createRule(e,this._ignoreCase);this._added=!0,this._rules.push(t)}}add(e){return this._added=!1,makeArray(isString$1(e)?splitPattern(e):e).forEach(this._addPattern,this),this._added&&this._initCache(),this}addPattern(e){return this.add(e)}_testOne(e,t){let r=!1,n=!1;return this._rules.forEach((i=>{const{negative:a}=i;if(n===a&&r!==n||a&&!r&&!n&&!t)return;i.regex.test(e)&&(r=!a,n=a)})),{ignored:r,unignored:n}}_test(e,t,r,n){const i=e&&checkPath.convert(e);return checkPath(i,e,this._allowRelativePaths?RETURN_FALSE:throwError),this._t(i,t,r,n)}_t(e,t,r,n){if(e in t)return t[e];if(n||(n=e.split("/")),n.pop(),!n.length)return t[e]=this._testOne(e,r);const i=this._t(n.join("/")+"/",t,r,n);return t[e]=i.ignored?i:this._testOne(e,r)}ignores(e){return this._test(e,this._ignoreCache,!1).ignored}createFilter(){return e=>!this.ignores(e)}filter(e){return makeArray(e).filter(this.createFilter())}test(e){return this._test(e,this._testCache,!0)}}const factory=e=>new Ignore(e),isPathValid=e=>checkPath(e&&checkPath.convert(e),e,RETURN_FALSE);factory.isPathValid=isPathValid,factory.default=factory;var ignore$1=factory;if(void 0!==browser$1$1&&browser$1$1.env.IGNORE_TEST_WIN32){const e=e=>/^\\\\\?\\/.test(e)||/["<>|\u0000-\u001F]+/u.test(e)?e:e.replace(/\\/g,"/");checkPath.convert=e;const t=/^[a-z]:\//i;checkPath.isNotRelative=e=>t.test(e)||isNotRelative(e)}ignore$1.default;const{relative:relative}=require$$0$2,ignore=ignore$1,isNegative=e=>!e.indexOf("!"),positive=e=>e.replace(/^!/,"");var ignores$1=(e,t,r={})=>{const n=relative(e,t),i=ignore(),a=mergeIgnores(r.ignore||[]);return i.add(a),e&&i.ignores(n)};function mergeIgnores(e){for(const[t,r]of e.entries()){const n=e.indexOf(positive(r));isNegative(r)&&n>t&&(e[n]=r)}const t=new Set(e);return Array.from(t)}ignores$1.default;const{parse:parse$1,print:print$1}=parser$6,{transform:transform$3}=transform$7,{findPlaces:findPlaces$1}=findPlaces$2,ignores=ignores$1,{toJS:toJS,fromJS:fromJS}=json,{readFileContent:readFileContent,findFile:findFile,writeFileContent:writeFileContent,getFilename:getFilename,createFile:createFile,getParentDirectory:getParentDirectory}=filesystem,isObject=e=>e&&"object"==typeof e,{entries:entries$4}=Object,report$g=(e,{message:t})=>t;function fix$6(e,{outputFilename:t,matchedJS:r,matchedAST:n,plugins:i}){transform$3(n,r,{plugins:i});const a=magicPrint(t,n);writeFileContent(e,a)}matchFiles.matchFiles=e=>{check$7(e);return{fix:fix$6,scan:createScan(e),report:report$g}};const createScan=e=>(t,{push:r,progress:n,options:i})=>{const a=[],s=getFilename(t);for(const[r,n]of entries$4(e)){const[e,o=e]=parseMatcher(r,i),l=findFile(t,e);for(const r of l){const l=getParentDirectory(r),u=getFilename(r),c=getOutputFile(t,{dirPath:l,matchInputFilename:e,outputFilename:o,inputFile:r});ignores(s,u,i)||a.push({plugin:n,inputFile:r,outputFile:c,inputFilename:u,outputFilename:o})}}const o=a.length;for(const[e,{inputFile:t,outputFile:i,inputFilename:s,outputFilename:l,plugin:u}]of a.entries()){n({i:e,n:o});const a=readFileContent(t)||"{}",[c,p]=magicParse(s,a),d=[[`match-file: ${s}`,u]],f=findPlaces$1(p,c,{plugins:d});if(!f.length)continue;const{message:h}=f[0];r(i,{outputFilename:l,message:h,plugins:d,matchedAST:p,matchedJS:c})}};function magicParse(e,t){if(/\.json$/.test(e)){const e=toJS(t);return[e,parse$1(e)]}if(/\.(c|m)?ts(x)?$/.test(e)){return[t,parse$1(t,{isTS:!0})]}return[t,parse$1(t)]}function magicPrint(e,t){if(/\.json$/.test(e)){const e=print$1(t);return fromJS(e)}return print$1(t)}function check$7(e){for(const[,t]of entries$4(e))if(!isObject(t))throw Error(`☝️ Looks like provided to 'matchFiles()' typeof of plugin is not an 'object' but '${typeof t}'`)}function getOutputFile(e,{dirPath:t,matchInputFilename:r,outputFilename:n,inputFile:i}){if(r===n)return i;const[a]=findFile(t,n);return a||createFile(t,n)}function parseMatcher(e,t){for(const[r,n]of entries$4(t))if("filename"===r){const[t,r]=n.split(".");e=(e=e.replaceAll("__name",t)).replaceAll("__ext",r)}return e.split(" -> ")}const{codeFrameColumns:codeFrameColumns}=bundle;var codeframe=({source:e,error:t,highlightCode:r=!0})=>{const{message:n,loc:i}=t;if(!i)return n;return codeFrameColumns(e,{start:i},{highlightCode:r,message:n})};codeframe.default;const{traverse:traverse$a,types:types$M}=bundle,{parse:parse,print:print,generate:generate$3,template:template$6}=parser$6,{cutShebang:cutShebang,mergeShebang:mergeShebang}=shebang,{defaultOptions:defaultOptions}=defaultOptions$4,{transform:transform$2,transformAsync:transformAsync}=transform$7,{findPlaces:findPlaces,findPlacesAsync:findPlacesAsync}=findPlaces$2,isString=e=>"string"==typeof e;putout.exports=(e,t)=>{check$6(e),t=defaultOptions(t);const{parser:r,isTS:n,isFlow:i,isJSX:a,sourceFileName:s,sourceMapName:o,printer:l}=t,[u,c]=cutShebang(e),p=parse(u,{sourceFileName:s,parser:r,isTS:n,isFlow:i,isJSX:a,printer:l}),d=transform$2(p,e,t);if(!t.fix)return{code:e,places:d};const f=print(p,{sourceMapName:o,printer:l});return{code:mergeShebang(c,f),places:d}},putout.exports.putoutAsync=async(e,t)=>{check$6(e),t=defaultOptions(t);const{parser:r,isTS:n,isFlow:i,isJSX:a,sourceFileName:s,sourceMapName:o,printer:l}=t,[u,c]=cutShebang(e),p=parse(u,{sourceFileName:s,parser:r,isTS:n,isFlow:i,isJSX:a,printer:l}),d=await transformAsync(p,e,t);if(!t.fix)return{code:e,places:d};const f=print(p,{sourceMapName:o,printer:l});return{code:mergeShebang(c,f),places:d}};var transform_1$1=putout.exports.transform=transform$2;putout.exports.transformAsync=transformAsync,putout.exports.findPlaces=findPlaces,putout.exports.findPlacesAsync=findPlacesAsync;var parse_1=putout.exports.parse=parse;putout.exports.print=print,putout.exports.traverse=traverse$a;var types_1=putout.exports.types=types$M,template_1=putout.exports.template=template$6;putout.exports.generate=generate$3,putout.exports.initReport=report$i;var operator$M=putout.exports.operator={...operate,...compare$m,...traverse$f,...json,...declare$4,...regexp,...addArgs,...filesystem,...matchFiles};function check$6(e){if(!isString(e))throw Error(`☝️ Looks like 'source' has type '${typeof e}', expected: 'string'`)}putout.exports.ignores=ignores$1,putout.exports.codeframe=codeframe;var putoutExports=putout.exports;const{assign:assign$5}=Object;function esmPutout(...e){return putoutExports(...e)}assign$5(esmPutout,putoutExports);const{isExpression:isExpression$1}=types_1,report$f=()=>"Use 'ternary' instead of 'if condition'",match$7=()=>({"if (__a) __b; else __c;":({__b:e,__c:t})=>!!isExpression$1(e)&&isExpression$1(t)}),replace$b=()=>({"if (__a) __b; else __c;":"__a ? __b : __c"});var applyTernary=Object.freeze({__proto__:null,match:match$7,replace:replace$b,report:report$f});const report$e=()=>"Use 'template literal' to stringify value",replace$a=()=>({"String(__a)":"`${__a}`","__a.toString()":"`${__a}`"});var applyTemplateLiteral=Object.freeze({__proto__:null,replace:replace$a,report:report$e});const report$d=()=>"Use 'var' instead of 'const'",replace$9=()=>({"const __a = __b":"var __a = __b"});var convertConstToVar=Object.freeze({__proto__:null,replace:replace$9,report:report$d});const{SequenceExpression:SequenceExpression,LogicalExpression:LogicalExpression$2,isBlockStatement:isBlockStatement$9,isExpression:isExpression,isYieldExpression:isYieldExpression,ConditionalExpression:ConditionalExpression,UnaryExpression:UnaryExpression$1,isConditionalExpression:isConditionalExpression}=types_1,parseExpressions=({body:e})=>e.map(getExpression).filter(Boolean),getExpression=({expression:e})=>e?isYieldExpression(e)?null:e:null,report$c=()=>"Use 'logical expressions' instead of 'if conditions'",match$6=()=>({"if (__a) __b; else __c":({__b:e,__c:t})=>{if(!isBlockStatement$9(e))return!1;if(!isBlockStatement$9(t))return!1;const r=parseExpressions(e),n=parseExpressions(t);return r.length===e.body.length&&n.length===t.body.length},"if (__a) __b":({__b:e})=>{if(isExpression(e))return!0;if(!isBlockStatement$9(e))return!1;return parseExpressions(e).length===e.body.length}}),replace$8=()=>({"if (__a) __b":({__a:e,__b:t})=>{if(isConditionalExpression(t))return"__a && (__b)";if(!isBlockStatement$9(t))return"__a && __b";if(!t.body.length)return"__a";if(1===t.body.length)return LogicalExpression$2("&&",e,t.body[0].expression);const r=parseExpressions(t);return LogicalExpression$2("&&",e,SequenceExpression(r))},"if (__a) __b; else __c":({__a:e,__b:t,__c:r})=>{if(!t.body.length&&isBlockStatement$9(r))return LogicalExpression$2("&&",UnaryExpression$1("!",e),r.body[0].expression);if(1===t.body.length)return ConditionalExpression(e,t.body[0].expression,r.body[0].expression);const n=parseExpressions(t),i=parseExpressions(r);return ConditionalExpression(e,SequenceExpression(n),SequenceExpression(i))}});var convertIfToLogical=Object.freeze({__proto__:null,match:match$6,replace:replace$8,report:report$c});const report$b=()=>"Use 'equal' instead of 'strict equal'",replace$7=()=>({"__a === __b":"__a == __b"});var convertStrictEqualToEqual=Object.freeze({__proto__:null,replace:replace$7,report:report$b});const{isExpressionStatement:isExpressionStatement,isReturnStatement:isReturnStatement$3,isArrowFunctionExpression:isArrowFunctionExpression$1}=types_1,{replaceWith:replaceWith$m}=operator$M,isArrow=isArrowFunctionExpression$1,report$a=()=>"Avoid blocks with one statement",fix$5=e=>{const{parentPath:t}=e,[r]=e.node.body;if(t.isArrowFunctionExpression())return replaceWith$m(e,parseExpression(r));replaceWith$m(e,r)},include=()=>["BlockStatement"],filter=({node:e,parentPath:t})=>{const{body:r}=e;if(1!==r.length)return!1;if(t.isFunction()&&!t.isArrowFunctionExpression())return!1;if(t.isTryStatement())return!1;if(t.isCatchClause())return!1;const[n]=r;return!isArrow(t)||expressionOrReturn(n)},expressionOrReturn=e=>!!isExpressionStatement(e)||isReturnStatement$3(e);function parseExpression(e){return isReturnStatement$3(e)?e.argument:e.expression}var extractBody=Object.freeze({__proto__:null,filter:filter,fix:fix$5,include:include,report:report$a});const{assign:assign$4}=Object,{isIdentifier:isIdentifier$g}=types_1,{remove:remove$s,replaceWith:replaceWith$l}=operator$M,report$9=()=>"Expand bindings",fix$4=({path:e,ref:t,parentPath:r})=>{const n=e.get("init");if(n.isArrowFunctionExpression()&&assign$4(n.node,{extra:{parenthesized:!0}}),r.isVariableDeclarator()){const r=t.parentPath.get("init");return replaceWith$l(r,n),void remove$s(e)}if(r.isCallExpression())return replaceWith$l(t,n),void remove$s(e)},traverse$9=({push:e})=>({ReferencedIdentifier(t){const{name:r}=t.node,n=t.scope.bindings[r];if(!n)return;if(1!==n.referencePaths.length)return;const[i]=n.referencePaths,{parentPath:a}=i;n.path.isVariableDeclarator()&&n.path.node.init&&isIdentifier$g(n.path.node.id)&&e({path:n.path,parentPath:a,ref:i})}});var expandBindings=Object.freeze({__proto__:null,fix:fix$4,report:report$9,traverse:traverse$9});const BIG_A=65,BIG_Z=90,SMALL_A=97,SMALL_Z=SMALL_A+(90-BIG_A),computeName=({index:e,all:t,uid:r})=>{let[n,i]=generate$2({index:e,all:t});if(n)return i;i=r;for(let e=SMALL_A;e<=SMALL_Z;e++){let r;for(let n=BIG_A;n<=90;n++)if(r=String.fromCharCode(e)+String.fromCharCode(n),!t[r]){i=r;break}if(!t[r])break}return i};function generate$2({index:e,all:t}){const r=e+BIG_A,n=e+SMALL_A;if(r>90)return loop(t,["_"]);const i=String.fromCharCode(r),a=String.fromCharCode(n);return loop(t,[a,"_",i,`_${a}`,`_${i}`])}function loop(e,t){for(const[r,n]of t.entries()){if(!e[n])return[!0,n];const t=String.fromCharCode(SMALL_A+r);if(!e[t])return[!0,t];const i=String.fromCharCode(BIG_A+r);if(!e[i])return[!0,i]}return[!1,""]}const{entries:entries$3}=Object,report$8=()=>"Mangle name",hasScope=({scope:e})=>e.__putout_minify,traverse$8=({push:e,pathStore:t,store:r})=>({BlockStatement(e){t(e)},Identifier(e){const{name:n}=e.node;e.scope.bindings[n]&&(t(e),r(n,{}))},ReferencedIdentifier(e){const{name:n}=e.node;t(e),r(n,{})},Program:{exit(n){const i=Object.fromEntries(r.entries());e({path:n,referenced:i});for(const r of t())hasScope(r)||e({path:r,referenced:i})}}}),fix$3=({path:e,referenced:t},r)=>{const{scope:n}=e,{mangleClassNames:i}=r,a=entries$3(n.bindings),s=n.getProgramParent().path,o=s.__putout_minify_mangle=s.__putout_minify_mangle||{};for(const[e,[r,s]]of a.entries()){if(!i&&s.path.isClassDeclaration())continue;const a={...o,...n.getAllBindings(),...t};if(1===r.length)continue;const l=generateUid({index:e,all:a,scope:n});n.rename(r,l),o[l]=!0}n.__putout_minify=!0};function generateUid({index:e,all:t,scope:r}){const n=r.generateUid();return computeName({index:e,all:t,uid:n})}var mangleNames=Object.freeze({__proto__:null,fix:fix$3,report:report$8,traverse:traverse$8});const{remove:remove$r}=operator$M,getNode=e=>e.node,report$7=()=>"Merge variables",fix$2=({path:e,vars:t})=>{e.node.declarations=t.map(getNode);for(const e of t.slice(1))remove$r(e.parentPath)},traverse$7=({push:e,uplist:t})=>({VariableDeclarator:e=>{if(1!==e.parentPath.node.declarations.length)return;if("let"===e.parentPath.node.kind)return;const r=e.get("init");r.isAwaitExpression()||r.isNewExpression()||r.isTemplateLiteral()||e.parentPath.parentPath.isSwitchCase()||t(e.scope.uid,e)},Program:{exit(){for(const r of t()){if(r.length<2)continue;const[t]=r;e({path:t.parentPath,vars:r})}}}});var mergeVariables=Object.freeze({__proto__:null,fix:fix$2,report:report$7,traverse:traverse$7});const{remove:remove$q,getTemplateValues:getTemplateValues$8,compare:compare$g}=operator$M,FOR="for (const __a of __b)__c(__e)",createLoop=template_1("for (const __a of [...__b, ...__z])__c(__e)",{placeholderPattern:/^__[a-z]$/}),report$6=()=>"Merge loops",replace$6=()=>({"__a.forEach((__b) => __e(__b)),__c.forEach((__d) => __e(__d))":"for (const __b of [...__a, ...__c])__e(__b)",[FOR]:({__a:e,__b:t,__c:r,__e:n},i)=>{const a=i.getNextSibling();if(compare$g(a,FOR)){const{__b:i}=getTemplateValues$8(a,FOR);return remove$q(a),createLoop({__a:e,__b:t,__c:r,__e:n,__z:i})}return i}});var mergeLoops=Object.freeze({__proto__:null,replace:replace$6,report:report$6});const{compareAny:compareAny}=operator$M,report$5=()=>"Shorten name",notDeclared=(e,t)=>(r,n)=>{const i=n.scope.getAllBindings()[t];return!i||compareAny(i.path.parentPath.node,[`const {${t}} = ${e}`,`var {${t}} = ${e}`,`let {${t}} = ${e}`])},match$5=()=>({"Object.keys(__args)":notDeclared("Object","keys"),"Object.assign(__args)":notDeclared("Object","assign"),"Object.defineProperty(__args)":notDeclared("Object","defineProperty"),"Object.freeze(__args)":notDeclared("Object","freeze")}),replace$5=()=>({"Object.keys(__args)":"keys(__args)","Object.assign(__args)":"assign(__args)","Object.defineProperty(__args)":"defineProperty(__args)","Object.freeze(__args)":"freeze(__args)","Array.isArray(__args)":"isArray(__args)"});var shortenNames=Object.freeze({__proto__:null,match:match$5,replace:replace$5,report:report$5});const{compare:compare$f,remove:remove$p}=operator$M,report$4=()=>"Avoid using 'undefined' in variable declaration",fix$1=e=>{remove$p(e)},traverse$6=({push:e})=>({VariableDeclarator(t){const r=t.get("init");return compare$f(r,"void 0")||r.isIdentifier({name:"undefined"})?e(r):void 0}});var removeVarUndefined=Object.freeze({__proto__:null,fix:fix$1,report:report$4,traverse:traverse$6});const report$3=()=>"Avoid 'return undefined'",match$4=()=>({return:check$5}),replace$4=()=>({return:"","return undefined":"return","return void 0":"return"});function check$5(e,{parentPath:t}){return!!t.isBlockStatement()&&t.parentPath.isFunction()}var removeReturnUndefined=Object.freeze({__proto__:null,match:match$4,replace:replace$4,report:report$3});const{entries:entries$2}=Object,{remove:remove$o,replaceWith:replaceWith$k}=operator$M,report$2=()=>"Inline expressions",fix=({path:e,statement:t})=>{replaceWith$k(t,e),remove$o(e)},traverse$5=({push:e})=>({"Program|BlockStatement"(t){for(const[,r]of entries$2(t.scope.bindings)){const[t,n]=r.referencePaths,i=t?.parentPath,a=n?.parentPath.parentPath;if(!i?.isUpdateExpression())return;if(n?.parentPath.isUpdateExpression())return;if(!a?.isStatement())return;e({path:t.parentPath,statement:n})}}});var inline=Object.freeze({__proto__:null,fix:fix,report:report$2,traverse:traverse$5});const report$1=()=>"Use '~~' instead of 'Math.floor()'",replace$3=()=>({"Math.floor(__a)":"~~__a"});var simplifyFloor=Object.freeze({__proto__:null,replace:replace$3,report:report$1});const{getBinding:getBinding}=operator$M,{isIdentifier:isIdentifier$f}=types_1,report=()=>"Use minified types",match$3=()=>({'typeof __a === "undefined"':isDeclared,'typeof __a !== "undefined"':isDeclared}),replace$2=()=>({undefined:"void 0",true:"!0",false:"!1","Boolean(__a)":"!!__a","String(__a)":'"" + __a',"Number(__a)":"+__a",'typeof __a === "undefined"':"__a == undefined",'typeof __a !== "undefined"':"__a !== undefined","Array.from(__a)":"[...__a]"});function isDeclared({__a:e},t){return!isIdentifier$f(e)||getBinding(t,e.name)}var types$L=Object.freeze({__proto__:null,match:match$3,replace:replace$2,report:report});const rules={"apply-ternary":applyTernary,"apply-template-literal":applyTemplateLiteral,"convert-const-to-var":convertConstToVar,"convert-if-to-logical":convertIfToLogical,"convert-strict-equal-to-equal":convertStrictEqualToEqual,"extract-body":extractBody,"expand-bindings":expandBindings,"mangle-names":mangleNames,"merge-variables":mergeVariables,"merge-loops":mergeLoops,"shorten-names":shortenNames,"remove-var-undefined":removeVarUndefined,"remove-return-undefined":removeReturnUndefined,inline:inline,"simplify-floor":simplifyFloor,types:types$L};var minifyPlugin=Object.freeze({__proto__:null,rules:rules}),mergeDestructuringProperties={};const{types:types$K,operator:operator$L}=putoutExports,{compare:compare$e}=operator$L,{isObjectPattern:isObjectPattern$4,isRestElement:isRestElement$3}=types$K,notEmptyPlaces=e=>e.places.length;mergeDestructuringProperties.report=()=>"Object properties should be merged when destructuring",mergeDestructuringProperties.fix=({path:e,places:t})=>{const{node:r}=e;for(const e of t)r.id.properties=[...r.id.properties,...e.node.id.properties],e.remove()},mergeDestructuringProperties.traverse=({push:e,store:t})=>{const r=addVariable({store:t});return{VariableDeclarator(e){const{id:t,init:n}=e.node;if(isObjectPattern$4(t)){for(const e of t.properties)if(isRestElement$3(e))return;r(e,n)}},Program:{exit(){t().filter(notEmptyPlaces).map(e)}}}};const createUID=e=>{const{uid:t}=e.scope;return`${t}-${e.get("init").toString()}`.replace(/['"`]/g,"*")},addVariable=({store:e})=>(t,r)=>{const n=createUID(t),i=e(n);if(!i)return void e(n,{path:t,places:[]});const a=i.path;if(t===a||a.removed)return;compare$e(a.node.init,r)&&sameKind(t,a)&&i.places.push(t)};function sameKind(e,t){return e.parentPath.node.kind===t.parentPath.node.kind}var lib$d={},assign$3="const {assign} = Object",keys$3="const {keys} = Object",values$1="const {values} = Object",freeze="const {freeze} = Object",defineProperty="const {defineProperty} = Object",entries$1="const {entries} = Object",require$$0={assign:assign$3,keys:keys$3,values:values$1,freeze:freeze,defineProperty:defineProperty,entries:entries$1},wrap$2={not:"const not = (fn) => (...a) => !fn(...a)",id:"const id = (a) => a",returns:"const returns = (a) => () => a"},freshImport$1={freshImport:"const freshImport = ((count) => (name) => import(`${name}?count=${++count}`))(0)",freshImportDefault:"const freshImportDefault = ((count) => async (name) => (await import(`${name}?count=${++count}`)).default)(0)"},readFixture="const readFixture = (a) => readFileSync(join(__dirname, 'fixture', `${a}.js`), 'utf8');",require$$3={readFixture:readFixture};const object$2=require$$0,wrap$1=wrap$2,freshImport=freshImport$1,fixtures=require$$3;lib$d.declare=()=>({...object$2,...wrap$1,...freshImport,...fixtures,isArray:"const {isArray} = Array",parse:"const {parse} = JSON",stringify:"const {stringify} = JSON",noop:"const noop = () => {}",once:"import once from 'once'",putout:"import putout from 'putout'",eslint:"import eslint from 'putout/eslint'",currify:"import currify from 'currify'",wraptile:"import wraptile from 'wraptile'",fullstore:"import fullstore from 'fullstore'",pipe:"import pipe from 'pipe-io'",pullout:"import pullout from 'pullout'",chalk:"import chalk from 'chalk'",table:"import table from 'table'",createSimport:"import {createSimport} from 'simport'",simport:{esm:"const simport = createSimport(import.meta.url)",commonjs:"const simport = createSimport(__filename)"}});var lib$c={},use$1={report:()=>"Use optional chaining",replace:()=>({"__a && __a.__b && __a.__b.__c && __a.__b.__c.__d && __a.__b.__c.__d.__e":"__a?.__b?.__c?.__d?.__e","__a && __a.__b && __a.__b.__c && __a.__b.__c.__d":"__a?.__b?.__c?.__d","__a && __a.__b && __a.__b.__c":"__a?.__b?.__c","__a && __a.__b":"__a?.__b","__a && __a.__b.__c":"__a?.__b.__c","__a && __a[__b]":"__a?.[__b]","__a[__b] && __a[__b][__c]":"__a[__b]?.[__c]",'typeof __a === "function" && __a(__args)':"__a?.(__args)","isFn(__a) && __a(__args)":"__a?.(__args)",'if (typeof __a === "function") __a(__args)':"__a?.(__args)",'if (typeof __a === "function") {__a(__args)}':"__a?.(__args)","__a && __a.__b(__args)":"__a?.__b(__args)","__a.__b && __a.__b[__c] && __a.__b[__c].__d(__args)":"__a.__b?.[__c]?.__d(__args)"})},assign$2={report:()=>"Use optional expression ('a?.b = c') instead of 'condition' ('a && a.b = c')",replace:()=>({"if (__a) {__a.__b = __c}":"__a?.__b = __c","if (__a) __a.__b = __c":"__a?.__b = __c","__a && (__a.__b = __c)":"__a?.__b = __c"})};const use=use$1,assign$1=assign$2;lib$c.rules={assign:assign$1,use:use};var applyTemplateLiterals={};const{types:types$J}=putoutExports,{isBinaryExpression:isBinaryExpression$1,isTemplateLiteral:isTemplateLiteral$1}=types$J;applyTemplateLiterals.report=()=>"Use template literals instead of binary expressions",applyTemplateLiterals.filter=({parentPath:e})=>{if(isBinaryExpression$1(e)||isTemplateLiteral$1(e.parentPath))return!1;let t=!0;return e.traverse({StringLiteral(e){e.node.value.includes("\r")&&(t=!1)}}),t},applyTemplateLiterals.replace=()=>({'"__a" + __identifier__b + "__c"':"`__a${__identifier__b}__c`",'"__a" + __b(__args)+ "__c"':"`__a${__b(__args)}__c`",'__identifier__a + "__b" + __identifier__c + __identifier__d':"`${__identifier__a}__b${__identifier__c}${__identifier__d}`",'__identifier__a + "__b"':"`${__identifier__a}__b`",'"__a" + __identifier__b':"`__a${__identifier__b}`",'String(__a) + ".tar.gz"':"`${__a}.tar.gz`"});var convertToArrowFunction={};function getFnPath(e){if(e.isCallExpression())return e.get("arguments.0");const t=e.get("argument");return t.isFunction()?t:e.get("right")}convertToArrowFunction.report=()=>"Use arrow function",convertToArrowFunction.fix=e=>{getFnPath(e).node.type="ArrowFunctionExpression"},convertToArrowFunction.include=()=>["__ = function __(__args){}","return function (__args){}","__(function __(__args){})"],convertToArrowFunction.exclude=()=>["__.prototype.__ = function __(__args){}"],convertToArrowFunction.filter=e=>{const t=getFnPath(e),{id:r}=t.node;if(r)return!1;let n=!1;return e.traverse({ThisExpression(){n=!0}}),!n};var convertArgumentsToRest={};const{types:types$I}=putoutExports,{Identifier:Identifier,SpreadElement:SpreadElement}=types$I;convertArgumentsToRest.report=()=>"Use 'rest parameters' instead of 'arguments'",convertArgumentsToRest.fix=({path:e,paths:t})=>{e.node.params=[SpreadElement(Identifier("args"))];for(const e of t)e.node.name="args"},convertArgumentsToRest.traverse=({push:e})=>({"FunctionExpression|FunctionDeclaration":t=>{if(t.node.params.length)return;const r=[];t.traverse({Identifier(e){const{node:t,scope:n}=e;"arguments"===t.name&&(n.hasBinding("args")||r.push(e))}}),r.length&&e({path:t,paths:r})}});var removeConsole={};const{operator:operator$K}=putoutExports,{remove:remove$n}=operator$K;removeConsole.report=()=>"Avoid 'console' call",removeConsole.fix=e=>{remove$n(e)},removeConsole.filter=({scope:e})=>!e.hasBinding("console"),removeConsole.include=()=>["console.__a(__args)","console[__a](__args)"];var removeUnusedVariables$2={},traverse$4={};const{isIdentifier:isIdentifier$e,isObjectExpression:isObjectExpression$2,isObjectPattern:isObjectPattern$3,isTemplateLiteral:isTemplateLiteral,isAssignmentPattern:isAssignmentPattern$4}=putoutExports.types,traverseObjectPattern=({use:e,declare:t})=>{const r=traverseAssignmentPattern({use:e});return e=>{for(const n of e){if(n.isRestElement())continue;const{key:e,value:i}=n.node,a=n.get("value");switch(i.type){case"Identifier":t(n,i.name);break;case"AssignmentPattern":n.node.shorthand?t(n,e.name):t(n,a.node.left.name),r(a)}}}};traverse$4.traverseObjectPattern=traverseObjectPattern;const processObjectPattern$1=({use:e,declare:t})=>r=>{for(const n of r){const{key:r,value:i,computed:a}=n.node;if(a&&isIdentifier$e(r)&&e(n,r.name),isIdentifier$e(i))t(n,i.name);else if(isObjectPattern$3(i)){processObjectPattern$1({use:e,declare:t})(n.get("value.properties"))}else if(isAssignmentPattern$4(i)){traverseAssignmentPattern({use:e})(n.get("value.right"));const r=n.get("value.left");if("Identifier"===r.type){t(n,r.node.name);continue}}}};traverse$4.processObjectPattern=processObjectPattern$1;const traverseObjectExpression$1=e=>{const t=traverseTemplateLiteral$1(e);return r=>{for(const n of r){const{node:r}=n,{key:i,value:a,computed:s}=r;if(s&&isIdentifier$e(i)&&e(n,i.name),isIdentifier$e(a))e(n,a.name);else if(isTemplateLiteral(a))t(n,a.expressions);else if(isObjectExpression$2(a)){traverseObjectExpression$1(e)(n.get("value.properties"))}else;}}};traverse$4.traverseObjectExpression=traverseObjectExpression$1;const traverseArrayExpression$1=e=>{const t=traverseObjectExpression$1(e);return e=>{for(const r of e){const{node:e}=r;isObjectExpression$2(e)&&t(r.get("properties"))}}};traverse$4.traverseArrayExpression=traverseArrayExpression$1;const traverseAssignmentExpression$1=({use:e,declare:t})=>{const r=traverseObjectPattern({use:e,declare:t});return n=>{const i=n.get("left"),a=n.get("right");if(i.isIdentifier()){const{parentPath:e}=i.parentPath,{name:r}=i.node;e.isObjectProperty()&&t(e,r),e.isFunction()&&t(i.parentPath,r)}a.isIdentifier()&&e(a,a.node.name),i.isObjectPattern()&&r(i.get("properties"))}};traverse$4.traverseAssignmentExpression=traverseAssignmentExpression$1;const traverseTemplateLiteral$1=e=>(t,r)=>{for(const n of r)isIdentifier$e(n)&&e(t,n.name)};traverse$4.traverseTemplateLiteral=traverseTemplateLiteral$1;const traverseAssignmentPattern=({use:e})=>t=>{const{node:r}=t,{right:n}=r;isIdentifier$e(r)&&e(t.parentPath,r.name),isIdentifier$e(n)&&e(t,n.name)};traverse$4.traverseAssignmentPattern=traverseAssignmentPattern;const{types:types$H}=putoutExports,{isIdentifier:isIdentifier$d,isJSXIdentifier:isJSXIdentifier}=types$H;var jsx$1=e=>({JSXOpeningElement(t){const{node:r}=t,{name:n}=r;/^[A-Z]/.test(n.name)&&e(t,n.name),e(t,"React")},JSXFragment(t){e(t,"React")},JSXSpreadAttribute(t){const r=t.get("argument");if(r.isIdentifier())return e(t,r.node.name)},JSXMemberExpression(t){const{node:r}=t,{object:n}=r;isJSXIdentifier(n)&&e(t,n.name)},JSXExpressionContainer(t){const{node:r}=t,{expression:n}=r;isIdentifier$d(n)&&e(t,n.name)}});const{types:types$G}=putoutExports,{isIdentifier:isIdentifier$c}=types$G;var flow$1=({use:e,declare:t})=>({GenericTypeAnnotation(t){const{node:r}=t,{id:n}=r;isIdentifier$c(n)&&e(t,n.name)},QualifiedTypeIdentifier(t){const{qualification:r}=t.node,{type:n}=r;if("Identifier"===n)return e(t,r.name)},InterfaceDeclaration(e){t(e,e.node.id.name)}});const{types:types$F}=putoutExports,{isIdentifier:isIdentifier$b,isTSModuleDeclaration:isTSModuleDeclaration}=types$F;var typescript$1=({use:e,declare:t})=>({TSExpressionWithTypeArguments(t){const{expression:r}=t.node,{type:n}=r;if("Identifier"===n)e(t,r.name)},TSFunctionType(r){const{node:n}=r,{params:i}=n;for(const n of i){const{type:i}=n;switch(i){case"Identifier":t(r,n.name),e(r,n.name);break;case"RestElement":isIdentifier$b(n.argument)&&(t(r,n.argument.name),e(r,n.argument.name))}}},TSTypeReference(t){const{node:r}=t,{typeName:n}=r,{type:i}=n;if("Identifier"===i)e(t,n.name)},TSTypeAliasDeclaration(e){const{node:r}=e,{id:n}=r,{type:i}=n;if("Identifier"===i)t(e,n.name)},TSTypeQuery(t){const{node:r}=t,{exprName:n}=r,{type:i}=n;if("Identifier"===i)e(t,n.name)},TSAsExpression(t){const{node:r}=t,{expression:n}=r,{type:i}=n;if("Identifier"===i)e(t,n.name)},TSQualifiedName(t){const{node:r}=t,{left:n}=r,{type:i}=n;if("Identifier"===i)e(t,n.name)},TSInterfaceDeclaration(r){t(r,r.node.id.name),r.findParent(isTSModuleDeclaration)&&e(r,r.node.id.name)},TSMethodSignature(r){const n=r.get("params");for(const r of n){if(r.isIdentifier()){t(r,r.node.name),e(r,r.node.name);continue}const{type:n}=r;"RestElement"!==n||(t(r,r.node.argument.name),e(r,r.node.argument.name))}},TSDeclareFunction(t){if(!t.get("params").length)return;const[r]=t.get("params");r.isRestElement()&&e(r,r.node.argument.name)}});const{isAssignmentPattern:isAssignmentPattern$3,isClassDeclaration:isClassDeclaration$1,isIdentifier:isIdentifier$a,isSpreadElement:isSpreadElement,isObjectPattern:isObjectPattern$2,isObjectExpression:isObjectExpression$1,isFunctionDeclaration:isFunctionDeclaration$3,isArrayExpression:isArrayExpression$1,isVariableDeclaration:isVariableDeclaration,isRestElement:isRestElement$2}=putoutExports.types,{traverseObjectExpression:traverseObjectExpression,processObjectPattern:processObjectPattern,traverseArrayExpression:traverseArrayExpression,traverseAssignmentExpression:traverseAssignmentExpression,traverseTemplateLiteral:traverseTemplateLiteral}=traverse$4,jsx=jsx$1,flow=flow$1,typescript=typescript$1,{assign:assign}=Object;var getVars$2=({use:e,declare:t,addParams:r})=>{const n=traverseObjectExpression(e),i=processObjectPattern({use:e,declare:t}),a=traverseAssignmentExpression({use:e,declare:t}),s=traverseTemplateLiteral(e),o=traverseArrayExpression(e);return{"ObjectExpression|RecordExpression"(e){n(e.get("properties"))},SequenceExpression(t){for(const r of t.get("expressions"))r.isIdentifier()&&e(r,r.node.name)},"AwaitExpression|YieldExpression|SpreadElement"(t){const{argument:r}=t.node;isIdentifier$a(r)&&e(t,r.name)},CatchClause(r){const n=r.get("param");if(!n.isIdentifier())return;const{name:i}=n.node;t(n,i);r.scope.getOwnBinding(i).referenced&&e(n,i)},Decorator(t){const r=t.get("expression");if(!r.isIdentifier())return;const{name:n}=r.node;e(r,n)},RestElement(e){const{argument:r}=e.node;isIdentifier$a(r)&&t(e,r.name)},VariableDeclarator(r){const{node:n}=r,{init:s}=n,l=r.get("id"),u=r.parentPath.parentPath.isForInStatement();if(isIdentifier$a(n.id))t(r,n.id.name),u&&e(r,n.id.name);else if(isObjectPattern$2(n.id))l.traverse({ObjectProperty(i){if(isAssignmentPattern$3(i.node.value)&&a(i.get("value")),i.node.computed&&isIdentifier$a(i.node.key)&&e(i.get("key"),i.node.key.name),!isIdentifier$a(i.node.value))return;const{properties:s}=n.id,o=1===s.length?r:i,{name:l}=i.node.value;t(o,l),isRestElement$2(i.parentPath.node.properties.at(-1))&&e(o,l)}});else if(l.isArrayPattern()){const r=l.get("elements");for(const n of r)if(n.isObjectPattern())i(n.get("properties"));else{if(n.isAssignmentPattern()){const r=n.get("left"),i=n.get("right");t(r,n.node.left.name),e(i,n.node.right.name),assign(r,{remove:removeArrayPatternElement(n)})}n.isIdentifier()&&(assign(n,{remove:removeArrayPatternElement(n)}),t(n,n.node.name))}}const c=r.get("init");isIdentifier$a(s)?e(r,s.name):isArrayExpression$1(s)&&o(c.get("elements"))},ClassProperty(t){const r=t.get("value");r.isIdentifier()&&e(r,r.node.name)},"ClassDeclaration|ClassExpression"(r){const{node:n}=r,{id:i,superClass:a}=n;a&&e(r,a.name),i&&t(r,i.name),i&&r.isClassExpression()&&e(r,i.name)},AssignmentExpression(t){const r=t.get("left"),n=t.get("right");r.isIdentifier()&&e(r,r.node.name),n.isIdentifier()&&e(n,n.node.name)},"ArrayExpression|TupleExpression"(t){const{elements:r}=t.node;for(const n of r)isIdentifier$a(n)?e(t,n.name):isSpreadElement(n)&&e(t,n.argument.name)},ConditionalExpression(t){const{test:r,consequent:n,alternate:i}=t.node,a=t.get("alternate"),s=t.get("consequent");isIdentifier$a(r)&&e(t,r.name),isIdentifier$a(n)&&e(t,n.name),isIdentifier$a(i)&&e(t,i.name),a.isFunction()&&i.id&&e(a,i.id.name),s.isFunction()&&n.id&&e(s,n.id.name)},DoWhileStatement(t){const r=t.get("test");r.isIdentifier()&&e(r,r.node.name)},TemplateLiteral(e){s(e,e.node.expressions)},LogicalExpression(t){const{left:r,right:n}=t.node;isIdentifier$a(r)&&e(t,r.name),isIdentifier$a(n)&&e(t,n.name)},MemberExpression(t){const{property:r,object:n,computed:i}=t.node;isIdentifier$a(n)&&e(t,n.name),i&&isIdentifier$a(r)&&e(t,r.name)},OptionalMemberExpression(t){const{object:r,property:n,computed:i}=t.node;isIdentifier$a(r)&&e(t,r.name),i&&isIdentifier$a(n)&&e(t,n.name)},NewExpression(t){const r=t.get("callee"),{node:n}=t;r.isIdentifier()?e(t,n.callee.name):r.isFunction()&&e(r,r.node.id.name);const i=t.get("arguments");for(const{node:r}of i)isIdentifier$a(r)&&e(t,r.name)},TaggedTemplateExpression(t){const{tag:r}=t.node;isIdentifier$a(r)&&e(t,r.name)},UnaryExpression(t){const{argument:r}=t.node;isIdentifier$a(r)&&e(t,r.name)},UpdateExpression(t){const{argument:r}=t.node;isIdentifier$a(r)&&e(t,r.name)},ThrowStatement(t){const{argument:r}=t.node;isIdentifier$a(r)&&e(t,r.name)},IfStatement(t){const{node:r}=t,{test:n}=r;if(isIdentifier$a(n))return e(t,n.name)},ForInStatement(t){const{node:r}=t,{left:n,right:i}=r;isIdentifier$a(n)&&e(t,n.name),isIdentifier$a(i)&&e(t,i.name)},ForOfStatement(r){const{node:n}=r,{left:i,right:a}=n;isIdentifier$a(a)&&e(r,a.name),isIdentifier$a(i)?e(r,i.name):r.get("left").traverse({Identifier(e){t(r,e.node.name)}}),r.get("left").traverse({Identifier(t){e(t,t.node.name)}})},ExpressionStatement(t){const{node:r}=t;isIdentifier$a(r.expression)&&e(t,r.expression.name)},SwitchStatement(t){const{node:r}=t;isIdentifier$a(r.discriminant)&&e(t,r.discriminant.name);for(const{test:n}of r.cases)isIdentifier$a(n)&&e(t,n.name)},ReturnStatement(t){const{node:r}=t,{argument:n}=r,i=t.get("argument");return i.isIdentifier()?e(t,n.name):i.isFunction()&&n.id?e(i,n.id.name):void 0},ObjectMethod(e){const{params:n}=e.node,i=e.get("params");for(const e of i){const{node:r}=e;isIdentifier$a(r)&&t(e,r.name)}r({path:e,params:n})},"CallExpression|OptionalCallExpression"(t){const{node:r}=t,{callee:n}=r;isIdentifier$a(n)&&e(t,r.callee.name),t.traverse({SpreadElement(t){const{argument:r}=t.node;isIdentifier$a(r)&&e(t,r.name)},Identifier(t){r.arguments.includes(t.node)&&e(t,t.node.name)}})},BinaryExpression(t){const{left:r,right:n}=t.node;isIdentifier$a(r)&&e(t,r.name),isIdentifier$a(n)&&e(t,n.name)},ImportExpression(t){const{source:r}=t.node,{name:n}=r;isIdentifier$a(r,{name:n})&&e(t,n)},ImportDeclaration(e){const r=e.get("specifiers");for(const e of r){const{local:r}=e.node;isIdentifier$a(r)&&t(e,r.name)}},ExportDefaultDeclaration(t){const r=t.get("declaration"),{declaration:i}=t.node,{id:a}=i;a&&isFunctionDeclaration$3(i)?e(t,i.id.name):isIdentifier$a(i)?e(t,i.name):a&&isClassDeclaration$1(i)?e(t,i.id.name):isObjectExpression$1(i)&&n(r.get("properties"))},ExportNamedDeclaration(t){const r=t.get("declaration"),{declaration:n,specifiers:i}=t.node;if(r.isFunctionDeclaration())return e(t,n.id.name);if(r.isClassDeclaration())return e(t,n.id.name);if(r.isTSInterfaceDeclaration())return e(t,n.id.name);if(r.isTSTypeAliasDeclaration())return e(t,n.id.name);if(r.isInterfaceDeclaration())return e(t,n.id.name);if(isVariableDeclaration(n)){const{declarations:r}=n;for(const{id:n}of r)isIdentifier$a(n)&&e(t,n.name)}else for(const{local:r}of i)isIdentifier$a(r)&&e(t,r.name)},Function(n){const{node:s,parentPath:o}=n,{id:l,body:u,params:c}=s,p=n.get("params");l&&(t(n,s.id.name),o.isBlock()||o.isProgram()||e(n,s.id.name));const d=p.length;for(const[r,n]of p.entries()){const{node:s}=n;isIdentifier$a(s)?(t(n,s.name),!r&&d>1&&e(n,s.name)):isAssignmentPattern$3(s)?a(n):isObjectPattern$2(s)&&i(n.get("properties"))}isIdentifier$a(u)&&e(n,u.name),r({path:n,params:c})},...jsx(e),...flow({use:e,declare:t}),...typescript({use:e,declare:t})}};const removeArrayPatternElement=e=>{const{remove:t}=e;return()=>{const r=e.node,{elements:n}=e.parentPath.node,i=n.length-1;if(n.indexOf(r)===i)return t.call(e)}};var useParams={};const{types:types$E}=putoutExports,{isIdentifier:isIdentifier$9,isObjectPattern:isObjectPattern$1,isRestElement:isRestElement$1}=types$E;function traverseProperties(e,t,r){const{length:n}=r,i=r.at(-1);if(isRestElement$1(i))for(let i=0;i<n-1;i++){const{value:n}=r[i],{type:a}=n;"Identifier"!==a||e(t,n.name)}}useParams.usePropertiesBeforeRest=({use:e})=>({path:t,params:r})=>{for(const n of r)isObjectPattern$1(n)&&traverseProperties(e,t,n.properties)},useParams.useParamsBeforeLastUsed=({use:e,isUsed:t})=>({path:r,params:n})=>{let i=n.length;for(;--i>0;){const e=n[i];if(traverseIsUsed(t,r,e))break}for(;--i>=0;)isIdentifier$9(n[i])&&e(r,n[i].name);return{path:r,params:n}};const traverseIsUsed=(e,t,r)=>{const{type:n}=r;switch(n){case"Identifier":return e(t,r.name);case"ObjectPattern":return isUsedObjectPattern(e,t,r);case"AssignmentPattern":return isUsedAssignmentPattern(e,t,r)}},isUsedAssignmentPattern=(e,t,r)=>{const{left:n}=r,{type:i}=n;switch(i){case"Identifier":return e(t,n.name);case"ObjectPattern":return isUsedObjectPattern(e,t,n)}},isUsedObjectPattern=(e,t,r)=>{for(const{value:n}of r.properties)if(isIdentifier$9(n)){if(e(t,n.name))return!0}else;return!1},{types:types$D}=putoutExports,getVars$1=getVars$2,{useParamsBeforeLastUsed:useParamsBeforeLastUsed,usePropertiesBeforeRest:usePropertiesBeforeRest}=useParams,{isClassDeclaration:isClassDeclaration,isFunctionDeclaration:isFunctionDeclaration$2}=types$D;var getVars_1=(e,t)=>{const r={},n=[],{setPath:i,traverse:a}=t,s=useVariable({vars:r}),o=declareVariable({vars:r,setPath:i}),l=isUsedVariable({vars:r}),u=addParamsVariable(n);return a(e,getVars$1({use:s,declare:o,addParams:u})),n.map(useParamsBeforeLastUsed({use:s,isUsed:l})).map(usePropertiesBeforeRest({use:s})),Object.values(r)};const addParamsVariable=e=>({path:t,params:r})=>{e.push({path:t,params:r})};function getScopeUID({name:e,scope:t}){if(t.hasOwnBinding(e))return t.uid;for(;t.parent;)if((t=t.parent).hasOwnBinding(e))return t.uid;return t.uid}const isUsedVariable=({vars:e})=>(t,r)=>{const{scope:n}=t,i=getScopeUID({name:r,scope:n}),a=e[i],{used:s}=a[r];return s};function getScope(e){const{node:t,scope:r}=e;return isFunctionDeclaration$2(t)||isClassDeclaration(t)?e.parentPath.scope:r}const declareVariable=({vars:e,setPath:t})=>(r,n)=>{const i=getScopeUID({name:n,scope:getScope(r)});e[i]||(e[i]={});const a=e[i];a[n]?a[n].declared=!0:a[n]={declared:!0,used:!1},t&&(a[n].path=r)},useVariable=({vars:e})=>(t,r)=>{const{scope:n}=t,i=getScopeUID({name:r,scope:n});e[i]||(e[i]={});const a=e[i];a[r]?a[r].used=!0:a[r]={declared:!1,used:!0}};var transform_1=e=>{const t=[];for(const r of e){const e=Object.entries(r);for(const r of e)t.push(transform$1(r))}return t};function transform$1([e,t]){return{name:e,...t}}const onlyDeclared=({declared:e,used:t})=>e&&!t;var getUnused$1=e=>e.filter(onlyDeclared);const{operator:operator$J}=putoutExports,getVars=getVars_1,transform=transform_1,getUnused=getUnused$1,{replaceWith:replaceWith$j,compare:compare$d,remove:remove$m}=operator$J;function isOneImport({parentPath:e}){return!!e.isImportDeclaration()&&1===e.node.specifiers.length}removeUnusedVariables$2.report=({name:e})=>`'${e}' is defined but never used`,removeUnusedVariables$2.fix=({path:e})=>compare$d(e,"const __a = __b = __c")?replaceWith$j(e.parentPath,e.node.init):isOneImport(e)?remove$m(e.parentPath):void remove$m(e),removeUnusedVariables$2.find=(e,{traverse:t})=>{const r=getVars(e,{setPath:!0,traverse:t}),n=transform(r);return getUnused(n)};var removeUnreachableCode={};const{types:types$C}=putoutExports,{isFunctionDeclaration:isFunctionDeclaration$1}=types$C;removeUnreachableCode.report=()=>"Unreachable code",removeUnreachableCode.fix=({siblings:e})=>{for(const t of e)t.remove()},removeUnreachableCode.traverse=({push:e})=>({"ReturnStatement|ThrowStatement"(t){const r=t.getAllNextSiblings();r.length&&(r.find(isFunctionDeclaration$1)||e({path:r[0],siblings:r}))}});var removeDebugger={report:()=>"Unexpected 'debugger' statement",replace:()=>({debugger:""})},lib$b={},block$1={};const{types:types$B,operator:operator$I}=putoutExports,{replaceWith:replaceWith$i,remove:remove$l}=operator$I,{UnaryExpression:UnaryExpression,isArrowFunctionExpression:isArrowFunctionExpression,isFunctionExpression:isFunctionExpression,isFunctionDeclaration:isFunctionDeclaration,isObjectMethod:isObjectMethod,isClassMethod:isClassMethod,isCatchClause:isCatchClause,isIfStatement:isIfStatement$1,isTryStatement:isTryStatement$1}=types$B;function isFunction$3(e){return isArrowFunctionExpression(e)||isFunctionExpression(e)||isFunctionDeclaration(e)||isObjectMethod(e)||isClassMethod(e)}function blockIsIndependentBody(e,t){const{body:r}=t;return!!r&&r[0]===e}function blockIsConsequent(e,t){if(isIfStatement$1(t))return t.consequent===e}function blockIsAlternate(e,t){const{alternate:r}=t;if(isIfStatement$1(t))return r===e}function reverse(e){switch(e){case">":return"<=";case"<":return">=";case"<=":return">";case">=":return"<";case"!":return"";case"!=":return"==";case"!==":return"===";default:return`!${e}`.replace("=","")}}block$1.report=()=>"Avoid useless empty blocks",block$1.fix=e=>{const t=e.get("alternate"),r=e.get("test"),{alternate:n}=e.node;if(!e.isIfStatement())return remove$l(e);if(!n)return r.isBinaryExpression()||r.isLiteral()?remove$l(e):replaceWith$i(e,r);if(t.isBlock()&&!n.body.length)return void(e.node.alternate=null);if(t.isIfStatement())return replaceWith$i(e,t);e.node.consequent=e.node.alternate,e.node.alternate=null;const{operator:i}=r.node;i&&"="!==i&&/[!<=>]/.test(r.node.operator)?r.node.operator=reverse(r.node.operator):replaceWith$i(r,UnaryExpression("!",r.node))},block$1.traverse=({push:e})=>({BlockStatement(t){const{node:r,parentPath:n}=t,{body:i}=r;if(r.innerComments)return;if(i.length)return;const a=n.node;return isFunction$3(a)||isCatchClause(a)?void 0:isTryStatement$1(a)?e(n):blockIsIndependentBody(r,a)?e(t):blockIsConsequent(r,a)||blockIsAlternate(r,a)?e(n):n.isProgram()?e(t):void e(n)}});var staticBlock$1={};const{operator:operator$H}=putoutExports,{remove:remove$k}=operator$H;staticBlock$1.report=()=>"Avoid useless empty static blocks",staticBlock$1.fix=e=>remove$k(e),staticBlock$1.filter=e=>!e.node.body.length,staticBlock$1.include=()=>["StaticBlock"];var pattern$1={};const{types:types$A}=putoutExports,isNull=e=>!e&&"object"==typeof e,{isObjectPattern:isObjectPattern,isArrayPattern:isArrayPattern}=types$A;pattern$1.report=()=>"Avoid empty patterns",pattern$1.match=()=>({"for (const __array of __a) __body":checkArray,"(__array) => __a":check$4,"const __array = __":check$4,"let __array = __":check$4,"__array = __":check$4,"function __a(__args) {}":checkArgs,"(function __b(__args) {})":checkArgs,"(async function __b(__args) {})":checkArgs,"(__args) => __a":checkArgs,"async (__args) => __a":checkArgs}),pattern$1.replace=()=>({"for (const __array of __a) __body":replaceArray,"const __array = __":"","let __array = __":"","var [] = __":"","const {} = __":"","let {} = __":"","var {} = __":"","__array = __":"","({} = __)":"","(__array) => __a":"() => __a","function __a(__args) {}":replaceArgs,"(function __b(__args) {})":replaceArgs,"(async function __b(__args) {})":replaceArgs,"(__args) => __a":replaceArgs,"async (__args) => __a":replaceArgs});const check$4=({__array:e},t)=>{if(t.parentPath.isForOfStatement())return!1;const{elements:r}=e;return r.every(isFixable)};function checkArgs({__args:e}){const t=e[e.length-1];return!!t&&isFixable(t)}function replaceArgs({__args:e},t){return e.pop(),t}const isFixable=e=>!e||(!(!isObjectPattern(e)||e.properties.length)||isArrayPattern(e)&&!e.elements.length);function replaceArray({__array:e},t){return e.elements.length=0,e.elements.pop(),t}const checkArray=({__array:e})=>{const{elements:t}=e;return t.filter(isNull).length===t.length};var nestedPattern$1={};const{operator:operator$G}=putoutExports,{remove:remove$j}=operator$G;nestedPattern$1.report=()=>"Avoid empty nested patterns",nestedPattern$1.fix=e=>remove$j(e.parentPath),nestedPattern$1.filter=e=>(!e.isArrayPattern()||!e.node.elements.length)&&((!e.isObjectPattern()||!e.node.properties.length)&&e.parentPath.isObjectProperty()),nestedPattern$1.include=()=>["ArrayPattern","ObjectPattern"];var argument$1={};const{operator:operator$F}=putoutExports,{remove:remove$i}=operator$F;argument$1.report=()=>"Avoid empty destructuring argument",argument$1.fix=e=>{remove$i(e)},argument$1.traverse=({push:e})=>({"(__args) => __a":search({push:e}),ObjectMethod:search({push:e})});const search=({push:e})=>t=>{const r=t.get("params"),{length:n}=r;if(!n)return;const i=r[n-1];i.isObjectPattern()&&!i.node.properties.length&&e(i),i.isArrayPattern()&&!i.node.elements.length&&e(i)};var _import={};const{operator:operator$E}=putoutExports,{remove:remove$h}=operator$E;_import.report=()=>"Avoid empty 'import' statement",_import.fix=e=>{remove$h(e)};const isCSS=e=>/\.css/.test(e),isMin=e=>/\.min\./.test(e);_import.include=()=>["ImportDeclaration"],_import.filter=(e,{options:t})=>{const{specifiers:r,source:n}=e.node,{ignore:i=[]}=t,{value:a}=n;return!i.includes(a)&&(!r.length&&(!isCSS(a)&&!isMin(a)))};var _export={};const{operator:operator$D}=putoutExports,{remove:remove$g}=operator$D;_export.report=()=>"Remove empty export",_export.fix=e=>{remove$g(e)},_export.include=()=>["ExportNamedDeclaration"],_export.filter=e=>{const{specifiers:t,declaration:r}=e.node;return!r&&!t.length};const block=block$1,staticBlock=staticBlock$1,pattern=pattern$1,nestedPattern=nestedPattern$1,argument=argument$1,importRule=_import,exportRule=_export;lib$b.rules={block:block,"static-block":staticBlock,pattern:pattern,"nested-pattern":nestedPattern,argument:argument,import:importRule,export:exportRule};var lib$a={},array$1={};const{types:types$z}=putoutExports,{isNumericLiteral:isNumericLiteral,isMemberExpression:isMemberExpression,isIdentifier:isIdentifier$8}=types$z;array$1.report=()=>"Avoid useless spread '...'",array$1.match=()=>({"[...Array(__a)]":({__a:e})=>!isNumericLiteral(e),"[...__a(__args)]":({__a:e})=>{if(!isMemberExpression(e))return!0;const t=isIdentifier$8(e.property,{name:"values"});return!!isIdentifier$8(e.object,{name:"Object"})||!t}}),array$1.replace=()=>({"[...Array(__a)]":"Array(__a)","for (const __a of [...__b]) __c":"for (const __a of __b) __c","Array.from([...__a])":"Array.from(__a)","[...__a(__args)]":"__a(__args)","new Set([...__a])":"new Set(__a)"});var object$1={};const{types:types$y}=putoutExports,{isCallExpression:isCallExpression$1}=types$y;object$1.report=()=>"Avoid useless spread '...'",object$1.filter=e=>{const[t]=e.node.properties,{comments:r,trailingComments:n}=t;return!!isCallExpression$1(t.argument)&&(!r?.length&&!n?.length)},object$1.exclude=()=>["({...__b && {__c: __d}})","__a = {...__a}"],object$1.replace=()=>({"({...__a})":"__a"});var nested$1={};const{operator:operator$C}=putoutExports,{remove:remove$f,insertAfter:insertAfter}=operator$C;nested$1.report=()=>"Remove useless nested spread",nested$1.fix=({path:e,argPath:t})=>{const r=t.get("elements");for(const t of r.reverse())insertAfter(e,t.node);remove$f(e)},nested$1.traverse=({push:e})=>({SpreadElement(t){const{parentPath:r}=t,n=t.get("argument");r.isCallExpression()||n.isArrayExpression()&&e({path:t,argPath:n})}});const array=array$1,object=object$1,nested=nested$1;lib$a.rules={array:array,object:object,nested:nested};var lib$9={},rename$8={};const{operator:operator$B,types:types$x}=putoutExports,{remove:remove$e,rename:rename$7}=operator$B,{isIdentifier:isIdentifier$7}=types$x;rename$8.report=({idName:e})=>`Useless variable declaration with name "${e}"`,rename$8.fix=({path:e,bindingPath:t,initName:r,idName:n})=>{rename$7(t,r,n),remove$e(e)},rename$8.traverse=({push:e})=>({VariableDeclarator(t){const{node:r,parentPath:n}=t,{id:i,init:a}=r;if(n.parentPath.isExportNamedDeclaration())return;if(!isIdentifier$7(a))return;if(!isIdentifier$7(i))return;const{name:s}=a;if(i.name.length<s.length)return;if(i.name===s.toUpperCase())return;const o=t.scope.bindings[s];if(!o)return;if(o.referencePaths.length>1)return;const l=o.path;l.isVariableDeclarator()&&l.get("id").isObjectPattern()||l.isObjectPattern()||e({path:t,bindingPath:l,initName:a.name,idName:i.name})}});var remove$d={};const{operator:operator$A}=putoutExports,{remove:remove$c,compare:compare$c}=operator$A,isNestedMemberExpression=e=>e.isMemberExpression()&&e.get("object").isMemberExpression();function check$3({mainPath:e,leftPath:t,rightPath:r,push:n}){if(!r.isIdentifier())return;const{name:i}=r.node;if("React"===i)return;const a=r.scope.bindings[i];if(!a)return;if(a.constantViolations.length)return;if(a.references>1)return;if(!a.path.isVariableDeclarator())return;if(!a.path.get("id").isIdentifier())return;if(compare$c(t,a.path.node.init))return;n({mainPath:e,idName:a.path.node.id.name,path:a.path})}remove$d.report=({idName:e})=>`Useless variable declaration with name "${e}"`,remove$d.fix=({mainPath:e,path:t})=>{const{init:r}=t.node;remove$c(t),e.isAssignmentExpression()?e.node.right=r:e.node.init=r},remove$d.traverse=({push:e})=>({AssignmentExpression(t){const r=t.get("left"),n=t.get("right");isNestedMemberExpression(r)||check$3({mainPath:t,rightPath:n,leftPath:r,push:e})},VariableDeclarator(t){const r=t.get("id"),n=t.get("init");check$3({mainPath:t,leftPath:r,rightPath:n,push:e})}});var destruct$1={};const{types:types$w,operator:operator$z}=putoutExports,{isIdentifier:isIdentifier$6,isRestElement:isRestElement,isAssignmentPattern:isAssignmentPattern$2}=types$w,{replaceWith:replaceWith$h}=operator$z,MAX_LENGTH=20,getKeyLength=e=>{const{key:t,value:r}=e;return!isAssignmentPattern$2(r)&&isIdentifier$6(t)?e.key.name.length:isRestElement(e)&&isIdentifier$6(e.argument)?e.argument.name.length+3:20},sum=(e,t)=>e+getKeyLength(t);destruct$1.report=e=>`Remove useless variable '${e.node.declarations[0].init.name}'`,destruct$1.match=()=>({"const __object = __a":({__a:e,__object:t},r)=>{const{parentPath:n}=r.parentPath;if(!n)return!1;if(!n.isFunction())return!1;if(r.node!==n.node.body.body[0])return!1;const{params:i}=n.node;if(1!==i.length)return!1;const[a]=i;if(t.properties.length>3)return!1;if(!isIdentifier$6(a))return!1;if(e.name!==a.name)return!1;if(r.scope.bindings[a.name].references>1)return!1;return t.properties.reduce(sum,0)<20}}),destruct$1.replace=()=>({"const __object = __a":({__object:e},t)=>{replaceWith$h(t.parentPath.parentPath.get("params.0"),e)}});var declaration$1={};const{operator:operator$y}=putoutExports,{remove:remove$b,replaceWith:replaceWith$g}=operator$y;function isTakesOneLine(e){if(!e.path.node.init)return!1;const{start:t,end:r}=e.path.node.init.loc;return t.line===r.line}declaration$1.report=()=>"Avoid useless declarations",declaration$1.match=()=>({"return __a":({__a:e},t)=>{const r=t.scope.getAllBindings()[e.name];if(!r)return!1;if(1!==r.referencePaths.length)return!1;if(!r.path.isVariableDeclarator())return!1;if(r.constantViolations.length)return!1;if(!r.path.get("id").isIdentifier())return!1;if(!isTakesOneLine(r))return!1;const n=r.path.parentPath.getNextSibling(),[i]=r.referencePaths;return n===i.parentPath}}),declaration$1.replace=()=>({"return __a":({__a:e},t)=>{const r=t.scope.getAllBindings()[e.name],[n]=r.referencePaths;return replaceWith$g(n,r.path.node.init),remove$b(r.path),t}});const rename$6=rename$8,remove$a=remove$d,destruct=destruct$1,declaration=declaration$1;lib$9.rules={rename:rename$6,remove:remove$a,destruct:destruct,declaration:declaration};var removeUselessReturn={};const{types:types$v,operator:operator$x}=putoutExports,{replaceWith:replaceWith$f}=operator$x,{isIdentifier:isIdentifier$5,isLiteral:isLiteral,isAssignmentPattern:isAssignmentPattern$1}=types$v;removeUselessReturn.report=()=>"Avoid useless 'return'",removeUselessReturn.include=()=>["ArrowFunctionExpression"],removeUselessReturn.fix=e=>{const t=e.get("body"),r=t.get("body.0");replaceWith$f(t,r.node.argument)},removeUselessReturn.filter=e=>{const t=e.get("body");if(!t.isBlockStatement())return!1;if(hasComplexParams(e))return!1;const r=t.get("body.0");if(!r)return!1;if(!r.isReturnStatement())return!1;if(hasComments(r))return!1;const n=r.get("argument");return!isChainCall(n)&&(!!isSimpleArgs(n)&&(!n.isNewExpression()&&(!n.isAwaitExpression()&&(!n.isTemplateLiteral()&&!n.isLogicalExpression()))))};const isChainCall=e=>{if(!e.isCallExpression())return!1;const t=e.get("callee");if(t.isMemberExpression())return!0;return t.get("object").isCallExpression()},isSimpleArgs=e=>{if(!e.isCallExpression())return!0;for(const t of e.node.arguments)if(!isIdentifier$5(t)&&!isLiteral(t))return!1;return!0};function hasComments(e){const{leadingComments:t}=e.node;return t?.length}function hasComplexParams(e){for(const t of e.get("params"))if(isAssignmentPattern$1(t))return!0;return!1}var removeUselessElse$2={};const{isReturnStatement:isReturnStatement$2,isBlockStatement:isBlockStatement$8}=putoutExports.types;removeUselessElse$2.report=()=>"Remove useless 'else'",removeUselessElse$2.match=()=>({"if (__a) __b; else __c":({__b:e})=>{if(!isBlockStatement$8(e))return isReturnStatement$2(e);const{length:t}=e.body,r=e.body[t-1];return isReturnStatement$2(r)}}),removeUselessElse$2.replace=()=>({"if (__a) __b; else __c":"{\n if (__a) __b;\n __c;\n }"});var removeUnusedExpressions={};const{operator:operator$w}=putoutExports,{remove:remove$9,isSimple:isSimple$1}=operator$w;function isIIFE(e){const t=e.get("argument");if(!t.isCallExpression())return!1;return t.get("callee").isFunction()}function isNotDirectiveLiteral(e){if(!e.isLiteral())return!1;if(!e.isStringLiteral({value:"use strict"}))return!0;const{parentPath:t}=e;return!(t===t.parentPath.get("body.0"))}function isUselessLogical(e){if(!e.isLogicalExpression())return!1;const t=e.get("left"),r=e.get("right");return isSimple$1(t)&&isSimple$1(r)}removeUnusedExpressions.report=()=>"Unused expression statement",removeUnusedExpressions.fix=e=>{remove$9(e)},removeUnusedExpressions.traverse=({push:e})=>({DirectiveLiteral(t){"use strict"!==t.node.value&&e(t.parentPath)},ExpressionStatement(t){const r=t.get("expression");return isUselessLogical(r)||r.isIdentifier()||r.isObjectExpression()||r.isArrayExpression()||r.isMemberExpression()||isNotDirectiveLiteral(r)||r.isUnaryExpression({operator:"!"})&&!isIIFE(r)?e(r):void 0}});var removeUnreferencedVariables={};const{operator:operator$v}=putoutExports,{remove:remove$8}=operator$v;function getPropertyPath(e,t){let r;for(r of e.get("properties")){const{key:e,shorthand:n}=r.node;if(!n||e.name===t)break}return r}function isInsideForOf(e){return e.__putout_for_of_reduce}removeUnreferencedVariables.report=()=>"Avoid unreferenced variables",removeUnreferencedVariables.fix=e=>remove$8(e),removeUnreferencedVariables.traverse=({push:e})=>({"return __a"(t){const r=t.get("argument");if(!r.isIdentifier())return!1;const n=t.scope.bindings[r.node.name];return!!n&&(!n.constantViolations.length&&(1===n.referencePaths.length&&(!!n.path.isVariableDeclarator()&&(!n.path.node.init&&void e(t)))))},"__identifier = __a"(t){const{name:r}=t.node.left,n=t.scope.getAllBindings()[r];if(!n)return;if(t.find(isInsideForOf))return;const{referenced:i}=n;if(i)return;if(n.path.isObjectPattern()){const i=getPropertyPath(n.path,r);return e(t),void e(i)}const a=n.path.get("id");if(n.path.isVariableDeclarator()&&a.isObjectPattern()){const n=getPropertyPath(a,r);return e(t),void e(n)}e(t),e(n.path)}});var reuseDuplicateInit={};const{operator:operator$u}=putoutExports,{replaceWith:replaceWith$e}=operator$u;reuseDuplicateInit.report=()=>"Reuse duplicate init",reuseDuplicateInit.fix=({path:e,newPath:t})=>{replaceWith$e(e.get("declarations.0.init"),t)},reuseDuplicateInit.exclude=()=>["const __a = __identifier"],reuseDuplicateInit.traverse=({push:e,store:t})=>({"const __identifier = __b"(e){const r=e.get("declarations.0.id"),n=e.get("declarations.0.init").toString();t(n,r)},"const __object = __b"(r){const n=r.get("declarations.0.init").toString();for(const e of r.get("declarations.0.id.properties")){const r=e.get("key"),i=r.toString();t(`${n}.${i}`,r)}const i=t(n);i&&i.node&&r.scope.uid===i.scope.uid&&e({path:r,newPath:i})}});var lib$8={},value$1={};const{operator:operator$t}=putoutExports,{compare:compare$b}=operator$t;value$1.report=()=>"Simplify ternary",value$1.filter=e=>{const{parentPath:t}=e;return compare$b(e,"__a = __b ? __a : __d")||compare$b(e,"__a = __b ? __d : __a")?t.isExpressionStatement():!t.isJSXExpressionContainer()},value$1.replace=()=>({"__a ? __a : __b":"__a || __b","__a?.__b ? __a.__b : __c":"__a?.__b || __c","__a ? __b : __a":"__a && __b","__a ? __b : __b ":"__b","__a ? false : true":"!__a","__a ? __b : false":"__a && __b","__a = __b ? __a : __d":"if (!__b) __a = __d","__a = __b ? __d : __a":"if (__b) __a = __d","__a ? __b && __c : __b && __d":"__b && __a ? __c : __d","__a ? __b || __c : __b || __d":"__b || __a ? __c : __d"});var spread$1={};const{types:types$u}=putoutExports,{isNullLiteral:isNullLiteral,isObjectExpression:isObjectExpression,LogicalExpression:LogicalExpression$1}=types$u;spread$1.report=()=>"Simplify ternary",spread$1.fix=e=>{const{test:t,consequent:r}=e.node.argument;e.node.argument=LogicalExpression$1("&&",t,r)},spread$1.traverse=({push:e})=>({SpreadElement(t){if(!t.get("argument").isConditionalExpression())return;const{alternate:r}=t.node.argument;isObjectExpression(r)&&!r.properties.length&&e(t),isNullLiteral(r)&&e(t)}});const value=value$1,spread=spread$1;lib$8.rules={value:value,spread:spread};var mergeDuplicateFunctions={};const{operator:operator$s}=putoutExports,{compare:compare$a,remove:remove$7,rename:rename$5}=operator$s,{entries:entries,keys:keys$2}=Object;mergeDuplicateFunctions.report=()=>"Avoid duplicate functions",mergeDuplicateFunctions.fix=({path:e,duplicatePath:t})=>{const{name:r}=e.get("id").node,{name:n}=t.get("id").node;rename$5(e,n,r),remove$7(t)},mergeDuplicateFunctions.traverse=({push:e})=>({Program({scope:t}){const{bindings:r}=t,n=keys$2(r),i=[];for(const[e]of entries(n))for(const[t]of entries(n)){if(e===t)continue;const a=n[e],s=n[t],o=r[a].path,l=r[s].path;if(!o.isVariableDeclarator())continue;if(!l.isVariableDeclarator())continue;const u=o.get("init"),c=l.get("init");u.isFunction()&&(c.isFunction()&&u.node.type===c.node.type&&u.node.body.type===c.node.body.type&&u.node.body?.body?.length===c.node.body?.body?.length&&compare$a(u,c)&&i.push({path:o,duplicatePath:l}))}for(const{path:t,duplicatePath:r}of i)t.node&&r.node&&e({path:t,duplicatePath:r})}});var lib$7={},join$1={};const{types:types$t,operator:operator$r}=putoutExports,{remove:remove$6}=operator$r,{values:values}=Object,{isImportDefaultSpecifier:isImportDefaultSpecifier$1,isImportNamespaceSpecifier:isImportNamespaceSpecifier,isImportDeclaration:isImportDeclaration}=types$t;function processImports(e,t){const{get:r,add:n}=duplicatesStore(),i=new Map;for(const e of t){const{source:t,specifiers:r}=e.node,{value:n}=t;if(r.find(isImportNamespaceSpecifier))continue;const a=(i.get(n)||0)+r.filter(isImportDefaultSpecifier$1).length;i.set(n,a)}for(const e of t){const{source:t,specifiers:r}=e.node,{value:a}=t;r.find(isImportNamespaceSpecifier)||(i.get(a)>1||n(a,e))}for(const t of r()){if(1===t.length)continue;const[r,...n]=t;e({path:r,imports:n})}}function duplicatesStore(){const e=[];return{get:()=>values(e),add:(t,r)=>{e[t]=e[t]||[],e[t].push(r)}}}join$1.report=()=>"Avoid duplicate imports",join$1.fix=({path:e,imports:t})=>{const r=[];for(const n of t){const{specifiers:t}=n.node;for(const n of t)isImportDefaultSpecifier$1(n)?e.node.specifiers.unshift(n):r.push(n);remove$6(n)}e.node.specifiers.push(...r)},join$1.traverse=({push:e,pathStore:t})=>({ImportDeclaration(e){t(e)},Program:{exit:()=>{const r=t().filter(isImportDeclaration);processImports(e,r)}}});var rename$4={};const{types:types$s,operator:operator$q}=putoutExports,{rename:rename$3,remove:remove$5}=operator$q,{isImportDefaultSpecifier:isImportDefaultSpecifier}=types$s;rename$4.report=()=>"Avoid duplicate imports",rename$4.fix=({path:e,imports:t})=>{const{name:r}=e.node.specifiers[0].local;remove$5(e);const[n,...i]=t,a=n.node.specifiers[0].local.name;rename$3(n,a,r);for(const e of i){const t=e.node.specifiers[0].local.name;rename$3(e,t,r),remove$5(e)}},rename$4.traverse=({push:e,uplist:t})=>({ImportDeclaration:e=>{const{value:r}=e.node.source,[n,...i]=e.node.specifiers;i.length||isImportDefaultSpecifier(n)&&t(r,e)},Program:{exit(){for(const r of t()){if(r.length<2)continue;const[t,...n]=r;e({path:t,imports:n})}}}});const join=join$1,rename$2=rename$4;lib$7.rules={join:join,rename:rename$2};var lib$6={},map$1={};const{types:types$r}=putoutExports,{isReturnStatement:isReturnStatement$1,isBlockStatement:isBlockStatement$7,isTryStatement:isTryStatement}=types$r,tail=e=>e.at(-1);map$1.report=()=>"Use 'for...of' instead of map when 'return' absent",map$1.match=()=>({"__a.map((__b) => __c)":({__c:e},t)=>{if(!t.parentPath.isExpressionStatement())return!1;if(!isBlockStatement$7(e))return!1;const r=tail(e.body);return!isTryStatement(r)&&!isReturnStatement$1(r)}}),map$1.replace=()=>({"__a.map((__b) => __c)":(e,t)=>{const r=t.get("callee.object");return`for (const ${t.get("arguments.0.params.0")} of ${r}) __c`}});var forEach$1={};const{template:template$5,operator:operator$p,types:types$q}=putoutExports,{ContinueStatement:ContinueStatement,isIdentifier:isIdentifier$4}=types$q,{replaceWith:replaceWith$d,replaceWithMultiple:replaceWithMultiple$3,traverse:traverse$3}=operator$p,forOfTemplate=template$5("\n for (const %%item%% of %%items%%)\n %%body%%\n"),forOfEntriesTemplate=template$5("\n for (const [%%index%%, %%item%%] of %%items%%.entries())\n %%body%%\n"),{keys:keys$1}=Object,isRoot=e=>e.isFunction()||e.isProgram();function isSameNames(e,t){const{name:r}=e.node;return t.isIdentifier({name:r})}function fixReturn(e){traverse$3(e,{"return __"(e){if(!isForBeforeFnUp(e))return;const{argument:t}=e.node;if(!t)return replaceWith$d(e,ContinueStatement());replaceWithMultiple$3(e,[t,ContinueStatement()])}})}function isBoundVars(e,t){return compare$9(keys$1(e.scope.bindings),keys$1(t.scope.bindings))}function isParentContainsFunctionArgument(e){if(!e.isCallExpression())return!1;for(const t of e.get("arguments"))if(t.isFunction())return!0}function getItem(e){const[t,r]=e;return"this"===e[0].name?r:t}function compare$9(e,t){for(const r of e)if(t.includes(r))return!0;return!1}function isForBeforeFnUp(e){let t=!1,r=!1;for(;e=e.parentPath;){if(e.isFunction()&&(r=!0),e.isForOfStatement()&&(t=!0),t&&r)return!0;if(r&&!t)return!1}return!0}forEach$1.report=()=>"Use 'for-of' instead of 'forEach()'",forEach$1.replace=()=>({"__.forEach.call(__a, (__b) => __body)":"for (const __b of __a) __body","__.forEach(__args)":(e,t)=>{const{params:r,body:n}=t.node.arguments[0],i=getItem(r);delete i.typeAnnotation;const{length:a}=r,s=isIdentifier$4(r[0],{name:"this"}),o=t.node.callee.object;if(1===a||2===a&&s){fixReturn(replaceWith$d(t,forOfTemplate({item:i,items:o,body:n})))}else if(2===r.length){const[,e]=r;fixReturn(replaceWith$d(t,forOfEntriesTemplate({index:e,item:i,items:o,body:n})))}}}),forEach$1.match=()=>({"__.forEach(__args)":(e,t)=>{const{parentPath:r}=t;if(r.isSequenceExpression())return!1;if(r.isVariableDeclarator())return!1;const n=t.get("callee.object"),i=t.get("arguments.0");if(!i.isFunction())return!1;const a=i.get("params");if(!a.length)return!1;if(isParentContainsFunctionArgument(n))return!1;if(2===t.node.arguments.length&&!t.get("arguments.1").isThisExpression())return!1;if(a.length>=3&&a[0].isIdentifier({name:"this"}))return!1;const[s]=a;if(isSameNames(s,n))return!1;return!isBoundVars(t.findParent(isRoot),i)}});var forN$1={};const{operator:operator$o,template:template$4,types:types$p}=putoutExports,{compare:compare$8,getTemplateValues:getTemplateValues$7}=operator$o,{isBlockStatement:isBlockStatement$6}=types$p;forN$1.report=()=>"Use 'for...of' instead of 'for'";const forLoopToN$1="for (let __i = 0; __i < __n; __i++) __c",getForOfLoop$3=template$4("for (const LEFT of RIGHT) BODY"),assignIterable$3=e=>`const __a = __b[${e.name}]`,assignN$1=e=>`const ${e.name} = __e.length`;function comparePrevSiblings$1(e,t){for(;e=e.getPrevSibling();){if(!e.node)return!1;if(compare$8(e.node,t))return!0}}forN$1.filter=e=>{const{node:t}=e;if(!e.getPrevSibling().node)return!1;const{body:r}=t;if(!isBlockStatement$6(r))return!1;const[n]=r.body,{__i:i,__n:a}=getTemplateValues$7(e,forLoopToN$1);if(!compare$8(n,assignIterable$3(i)))return!1;if(!comparePrevSiblings$1(e,assignN$1(a)))return!1;const{references:s}=e.scope.bindings[i.name];return!(s>3)},forN$1.replace=()=>({[forLoopToN$1]:({__c:e,__i:t})=>{const[r]=e.body,{__a:n,__b:i}=getTemplateValues$7(r,assignIterable$3(t));return e.body.shift(),getForOfLoop$3({LEFT:n,RIGHT:i,BODY:e})}});var forLength$1={};const{operator:operator$n,types:types$o,template:template$3}=putoutExports,{compare:compare$7,getTemplateValues:getTemplateValues$6}=operator$n,{isBlockStatement:isBlockStatement$5}=types$o;forLength$1.report=()=>"Use 'for...of' instead of 'for'";const forLoop$1="for (let __i = 0; __i < __e.length; __i++) __c",getForOfLoop$2=template$3("for (const LEFT of RIGHT) BODY"),assignIterable$2=e=>`const __a = __b[${e.name}]`,assignIterableWithName$1=(e,t)=>`const __a = ${t.name}[${e.name}]`;forLength$1.filter=e=>{const{node:t}=e,{body:r}=t;if(!isBlockStatement$5(r))return!1;const[n]=r.body,{__i:i,__e:a}=getTemplateValues$6(e,forLoop$1),{references:s}=e.scope.bindings[i.name];return!(s>3)&&compare$7(n,assignIterableWithName$1(i,a))},forLength$1.replace=()=>({[forLoop$1]:({__c:e,__i:t})=>{const[r]=e.body,{__a:n,__b:i}=getTemplateValues$6(r,assignIterable$2(t));return e.body.shift(),getForOfLoop$2({LEFT:n,RIGHT:i,BODY:e})}});var forEntries$1={};const{operator:operator$m,types:types$n,template:template$2}=putoutExports,{compare:compare$6,getTemplateValues:getTemplateValues$5}=operator$m,{isBlockStatement:isBlockStatement$4}=types$n;forEntries$1.report=()=>"Use 'for...of' instead of 'for'";const forLoop="for (let __i = 0; __i < __e.length; __i++) __c",getForOfLoop$1=template$2("for (const [INDEX, ITEM] of ITEMS.entries()) BODY"),assignIterable$1=e=>`const __a = __b[${e.name}]`,assignIterableWithName=(e,t)=>`const __a = ${t.name}[${e.name}]`;forEntries$1.filter=e=>{const{node:t}=e,{body:r}=t;if(!isBlockStatement$4(r))return!1;const[n]=r.body,{__i:i,__e:a}=getTemplateValues$5(e,forLoop),{bindings:s}=e.scope;if(s[i.name].constantViolations.length>1)return!1;const{references:o}=e.scope.bindings[i.name];return!(o<4)&&compare$6(n,assignIterableWithName(i,a))},forEntries$1.replace=()=>({[forLoop]:({__c:e,__i:t})=>{const[r]=e.body,{__a:n,__b:i}=getTemplateValues$5(r,assignIterable$1(t));return e.body.shift(),getForOfLoop$1({INDEX:t,ITEM:n,ITEMS:i,BODY:e})}});var forEntriesN$1={};const{operator:operator$l,template:template$1,types:types$m}=putoutExports,{compare:compare$5,getTemplateValues:getTemplateValues$4}=operator$l,{isBlockStatement:isBlockStatement$3}=types$m;forEntriesN$1.report=()=>"Use 'for...of' instead of 'for'";const forLoopToN="for (let __i = 0; __i < __n; __i++) __c",getForOfLoop=template$1("for (const [INDEX, LEFT] of RIGHT.entries()) BODY"),assignIterable=e=>`const __a = __b[${e.name}]`,assignN=e=>`const ${e.name} = __e.length`;function comparePrevSiblings(e,t){for(;e=e.getPrevSibling();){if(!e.node)return!1;if(compare$5(e.node,t))return!0}}forEntriesN$1.filter=e=>{const{node:t}=e;if(!e.getPrevSibling().node)return!1;const{body:r}=t;if(!isBlockStatement$3(r))return!1;const[n]=r.body,{__i:i,__n:a}=getTemplateValues$4(e,forLoopToN);if(!compare$5(n,assignIterable(i)))return!1;if(!comparePrevSiblings(e,assignN(a)))return!1;if(e.scope.getBinding(a.name).references>1)return!1;const{references:s}=e.scope.bindings[i.name];return s>3},forEntriesN$1.replace=()=>({[forLoopToN]:({__c:e,__i:t})=>{const[r]=e.body,{__a:n,__b:i}=getTemplateValues$4(r,assignIterable(t));return e.body.shift(),getForOfLoop({INDEX:t,LEFT:n,RIGHT:i,BODY:e})}});var forInNegative$1={};const{generate:generate$1,operator:operator$k}=putoutExports,{contains:contains$2,getTemplateValues:getTemplateValues$3}=operator$k;forInNegative$1.report=()=>"for-of should be used instead of for-in",forInNegative$1.match=()=>({"for (__a in __b) __body":({__a:e,__b:t,__body:r})=>{const n=getTemplateValues$3(e,"var __a");if(!n.__a)return!1;const{name:i}=n.__a;return contains$2(r,[`if (!${t.name}.hasOwnProperty(${i})) __c`])}}),forInNegative$1.replace=()=>({"for (__a in __b) __body":({__b:e,__body:t})=>{const[r]=t.body,n=getTemplateValues$3(r,"if (!__b.hasOwnProperty(__a)) __c");t.body.shift();const{code:i}=generate$1(t);return`for (const ${n.__a.name} of Object.keys(${e.name})) ${i}`}});var forInPositive$1={};const{generate:generate,operator:operator$j}=putoutExports,{contains:contains$1,getTemplateValues:getTemplateValues$2}=operator$j;forInPositive$1.report=()=>"for-of should be used instead of for-in",forInPositive$1.match=()=>({"for (__a in __b) __body":({__a:e,__b:t,__body:r})=>{const n=getTemplateValues$2(e,"var __a");if(!n.__a)return!1;const{name:i}=n.__a;return contains$1(r,[`if (${t.name}.hasOwnProperty(${i})) __body`])}}),forInPositive$1.replace=()=>({"for (__a in __b) __body":({__b:e,__body:t})=>{const[r]=t.body,n=getTemplateValues$2(r,"if (__b.hasOwnProperty(__a)) __body"),{code:i}=generate(n.__body);return`for (const ${n.__a.name} of Object.keys(${e.name})) ${i}`}});var reduce$1={};const{types:types$l}=putoutExports,{isBlockStatement:isBlockStatement$2,isArrayExpression:isArrayExpression,isCallExpression:isCallExpression}=types$l;function rename$1(e,t,r){e.get("declarations.0.init.arguments.0").scope.rename(t.name,r.name),delete e.scope.bindings[t.name]}reduce$1.report=()=>"Use 'for...of' instead of '.reduce()'",reduce$1.match=()=>({"const __a = __b.reduce((__c, __d) => __e)":({__b:e,__e:t})=>!isArrayExpression(e)&&(!isCallExpression(e)&&!isBlockStatement$2(t)),"const __a = __b.reduceRight((__c, __d) => __e)":({__b:e,__e:t})=>!isArrayExpression(e)&&!isBlockStatement$2(t),"const __a = __b.reduce((__c, __d) => __e, __f)":({__e:e})=>!isBlockStatement$2(e)}),reduce$1.replace=()=>({"const __a = __b.reduce((__c, __d) => __e)":({__a:e,__d:t},r)=>(r.__putout_for_of_reduce=!0,rename$1(r,t,e),"{\n let [__a] = __b;\n for (const __c of __b.slice(1)) {\n __a = __e;\n }\n }"),"const __a = __b.reduceRight((__c, __d) => __e)":({__a:e,__d:t},r)=>(r.__putout_for_of_reduce=!0,rename$1(r,t,e),"{\n let [__a] = __b;\n for (const __c of __b.slice(1)) {\n __a = __e;\n }\n }"),"const __a = __b.reduce((__c, __d) => __e, __f)":(e,t)=>(t.__putout_for_of_reduce=!0,"{\n let __a = __f;\n for (const __d of __b) {\n __a = __e;\n }\n }")});var removeUseless$3={};const{types:types$k,operator:operator$i}=putoutExports,{isIdentifier:isIdentifier$3}=types$k,{replaceWith:replaceWith$c}=operator$i;removeUseless$3.report=()=>"Avoid useless for-of",removeUseless$3.match=()=>({"for (const __identifier__a of __identifier__b) __c":({__identifier__a:e},t)=>{const{name:r}=e,{references:n}=t.scope.bindings[r];return!n},"for (const __a of __array) __c":({__a:e,__array:t},r)=>{if(t.elements.length>=2)return!1;if(!isIdentifier$3(e))return!1;const{name:n}=e,{references:i}=r.scope.bindings[n];return!(i>=2)}}),removeUseless$3.replace=()=>({"for (const __identifier__a of __identifier__b) __c":"__c","for (const __a of __array) __c":({__a:e,__c:t,__array:r},n)=>{const{elements:i}=r;if(!i.length)return null;const{name:a}=e,{references:s,referencePaths:o}=n.scope.bindings[a];if(!s)return replaceWith$c(n,t);const[l]=i,[u]=o;return replaceWith$c(u,l),replaceWith$c(n,t),n}});var removeUselessVariables$3={};const{types:types$j,operator:operator$h}=putoutExports,{replaceWith:replaceWith$b,remove:remove$4}=operator$h,{isAssignmentPattern:isAssignmentPattern}=types$j,isToManyProperties=(e,{maxProperties:t})=>e.isObjectPattern()&&e.node.properties.length>t,isAssignment=e=>isAssignmentPattern(e.value);removeUselessVariables$3.report=()=>"Use destructuring in head of 'for...of'",removeUselessVariables$3.fix=({path:e,varPath:t})=>{replaceWith$b(t,e.node.id),remove$4(e)},removeUselessVariables$3.traverse=({push:e,options:t})=>({"for (const __ of __) __"(r){const n=r.get("left").get("declarations.0.id");if(!n.isIdentifier())return;const{scope:i,node:a}=n,{name:s}=a,{references:o,referencePaths:l}=i.bindings[s];if(1!==o)return;const[u]=l,{parentPath:c}=u;if(!c.get("init").isIdentifier({name:s}))return;const p=c.get("id"),{maxProperties:d=4}=t;if(isToManyProperties(p,{maxProperties:d}))return;const{properties:f}=p.node;p.isObjectPattern()&&f.find(isAssignment)||e({path:c,varPath:n})}});var removeUselessArrayFrom$1={report:()=>"'Array.from()' has no sense inside 'for...of'",replace:()=>({"for (const __a of Array.from(__b)) __c":"for (const __a of __b) __c"})},removeUnusedVariables$1={};const{types:types$i,operator:operator$g}=putoutExports,{isIdentifier:isIdentifier$2,isObjectProperty:isObjectProperty}=types$i,{remove:remove$3}=operator$g,getValue=({value:e})=>e;function match$2(e){const t=e.get("left.declarations.0.id");return!isAllReferenced(t,getElements(t))}function replace$1(e){const t=getVariables(e);for(const e of t)remove$3(e);return e}function getVariables(e){const t=getPathElements(e.get("left.declarations.0.id")),r=[];for(const n of t)isReferenced(e,n)||r.push(n);return r}function isReferenced({scope:e},t){const{bindings:r}=e;if(t.isObjectProperty()){const{name:e}=t.node.value,n=r[e];return!n||n.referenced}if(t.isObjectPattern())return!0;const{node:n}=t;if(!n)return!0;const{name:i}=t.node;return r[i].referenced}function isAllReferenced(e,t){const{bindings:r}=e.scope;for(const e of t)if(isIdentifier$2(e)){const{name:t}=e;if(!r[t].referenced)return!1}else;return!0}function getElements({node:e}){const{properties:t,elements:r}=e;return r?r.filter(Boolean):t.map(getValue).filter(Boolean)}function getPathElements(e){return e.isObjectPattern()?e.get("properties"):e.get("elements")}function getNames(e){const t=[];for(const{node:r}of e)isObjectProperty(r)?t.push(r.value.name):t.push(r.name);return t}removeUnusedVariables$1.report=e=>`'${getNames(getVariables(e)).join(", ")}' inside 'for...of' loop defined but never used`,removeUnusedVariables$1.match=()=>({"for (const __array of __b) __c":(e,t)=>match$2(t),"for (const __object of __b) __c":(e,t)=>match$2(t)}),removeUnusedVariables$1.replace=()=>({"for (const __array of __b) __c":(e,t)=>replace$1(t),"for (const __object of __b) __c":(e,t)=>replace$1(t)});const map=map$1,forEach=forEach$1,forN=forN$1,forLength=forLength$1,forEntries=forEntries$1,forEntriesN=forEntriesN$1,forInNegative=forInNegative$1,forInPositive=forInPositive$1,reduce=reduce$1,removeUseless$2=removeUseless$3,removeUselessVariables$2=removeUselessVariables$3,removeUselessArrayFrom=removeUselessArrayFrom$1,removeUnusedVariables=removeUnusedVariables$1;lib$6.rules={map:map,"for-each":forEach,"for-n":forN,"for-length":forLength,"for-entries":forEntries,"for-entries-n":forEntriesN,"for-in-negative":forInNegative,"for-in-positive":forInPositive,reduce:reduce,"remove-useless":removeUseless$2,"remove-useless-variables":removeUselessVariables$2,"remove-useless-array-from":removeUselessArrayFrom,"remove-unused-variables":removeUnusedVariables};var removeNestedBlocks={};const{replaceWithMultiple:replaceWithMultiple$2}=putoutExports.operator,{keys:keys}=Object,isIntersect=(e,t)=>{if(t.removed)return!1;t.scope.crawl();const r=keys(e);for(const e of r)if(t.scope.hasBinding(e))return!0;return!1};removeNestedBlocks.report=()=>"Avoid nested blocks",removeNestedBlocks.fix=e=>{replaceWithMultiple$2(e,e.node.body)},removeNestedBlocks.include=()=>["BlockStatement"],removeNestedBlocks.filter=e=>{const{parentPath:t}=e,{bindings:r}=e.scope,n=t.isSwitchCase(),i=keys(r).length;if(n&&!i)return!0;if(n)return!1;return!isIntersect(r,e.parentPath)&&(t.isBlockStatement()||t.isProgram())};var lib$5={},simplify$3={};const{operator:operator$f}=putoutExports,{isSimple:isSimple,replaceWith:replaceWith$a}=operator$f;simplify$3.report=()=>"Simplify logical expression",simplify$3.match=()=>({"__a(__args) && __b":({__a:e,__b:t},r)=>"Boolean"===e.name||!!r.parentPath.isExpressionStatement()&&isSimple(t)}),simplify$3.replace=()=>({"Boolean(__a) || __b":"__a || __b","__a(__args) && __b":({__a:e},t)=>{if("Boolean"===e.name){const e=t.get("left"),[r]=e.node.arguments;return replaceWith$a(e,r),t}return"__a(__args)"},"!(__a && !__b)":"!__a || __b","!(!__a && __b)":"__a || !__b","!(__a !== __b)":"__a === __b","!(__a === __b)":"__a !== __b",'!__a === "__b"':'__a !== "__b"',"!__a instanceof __b":"!(__a instanceof __b)","__a instanceof !__b":"!(__a instanceof __b)","!__a instanceof !__b":"!(__a instanceof __b)","!__a in __b":"!(__a in __b)","__a in !__b":"!(__a in __b)","!__a in !__b":"!(__a in __b)","__a === __a":"true","__a == __a":"true","__a !== __a":"false","__a != __a":"false","__a === []":"false","__a == []":"false","__a === {}":"false","__a == {}":"false","__a && __b || __a && __c":"__a && (__b || __c)","__a && __b && __a && __c":"__a && __b && __c","__a || __b && __a || __c":"__a || __b || __c"});var removeBoolean$3={report:()=>'"true" and "false" has no sense in logical expressions',replace:()=>({"true && false":"false","false && true":"false","__a && true":"Boolean(__a)","true && __a":"__a"})},removeDuplicates$1={report:()=>"Avoid duplicates in logical expressions",replace:()=>({"__a || __a":"__a","__a && __a":"__a","__a && __b && __a":"__a && __b","__a && __b && __c && __a":"__a && __b && __c","__a = __a":"__a"})},convertBitwiseToLogical$1={report:()=>"Avoid using logical operator as operand of bitwise operator",replace:()=>({"__a | !__b":"__a || !__b","!__a | __b":"!__a || __b"})};const simplify$2=simplify$3,removeBoolean$2=removeBoolean$3,removeDuplicates=removeDuplicates$1,convertBitwiseToLogical=convertBitwiseToLogical$1;lib$5.rules={simplify:simplify$2,"remove-boolean":removeBoolean$2,"remove-duplicates":removeDuplicates,"convert-bitwise-to-logical":convertBitwiseToLogical};var lib$4={},applyConsistentBlocks$1={};const{types:types$h}=putoutExports,{isBlockStatement:isBlockStatement$1,isIfStatement:isIfStatement}=types$h;applyConsistentBlocks$1.report=()=>"Use consistent blocks";const notBlock=({__b:e})=>!isBlockStatement$1(e);applyConsistentBlocks$1.match=()=>({"if (__a) {__b} else {__c}":()=>!0,"if (__a) __b; else __body":notBlock,"if (__a) __body; else __b":({__b:e})=>!isIfStatement(e),"if (__a) {__b}":(e,t)=>{const{parentPath:r}=t,n=t.get("consequent.body.0"),{leadingComments:i,trailingComments:a}=n.node;return!i&&!a&&(!r.isIfStatement()||t!==r.get("alternate"))}}),applyConsistentBlocks$1.replace=()=>({"if (__a) {if (__b) {__c}}":"if (__a) if (__b) __c","if (__a) {__b}":"if (__a) __b","if (__a) {__b} else {__c}":()=>"if (__a) __b; else __c","if (__a) __b; else __body":"if (__a) {__b} else __body","if (__a) __body; else __b":({__b:e},t)=>isBlockStatement$1(e)?t:"if (__a) __body; else {__b}"});var applyComparisonOrder$1={report:({leftPath:e,rightPath:t})=>`Swap '${e.toString()}' with '${t}'`};const{replaceWith:replaceWith$9}=putoutExports.operator;function isLeftValid(e){return!(e.isIdentifier()||e.isMemberExpression()||e.isCallExpression())&&!e.isOptionalMemberExpression()}function convertOperator(e){return e.includes(">")?e.replace(">","<"):e.includes("<")?e.replace("<",">"):e}applyComparisonOrder$1.fix=({path:e,leftPath:t,rightPath:r,operator:n})=>{const i=t.node,a=r.node;replaceWith$9(r,i),replaceWith$9(t,a),e.node.operator=convertOperator(n)},applyComparisonOrder$1.traverse=({push:e})=>({BinaryExpression:t=>{const{operator:r}=t.node;if(!/^[<>]=?|===?$/.test(r))return;if(r.includes(">>")||r.includes("<<"))return;const n=t.get("left"),i=t.get("right");n.isUpdateExpression()||isLeftValid(n)&&(i.isIdentifier()||i.isMemberExpression()||i.isCallExpression())&&e({path:t,operator:r,leftPath:n,rightPath:i})}});var applyIf$1={};const{operator:operator$e}=putoutExports,{remove:remove$2,replaceWith:replaceWith$8}=operator$e;applyIf$1.report=()=>"Avoid empty statement in if condition",applyIf$1.filter=e=>!!e.getNextSibling().node&&e.get("consequent").isEmptyStatement(),applyIf$1.include=()=>["IfStatement"],applyIf$1.fix=e=>{const t=e.getNextSibling(),r=e.get("consequent");replaceWith$8(r,t),remove$2(t)};var evaluate$1={report:()=>"Avoid useless conditions",match:()=>({"if (__a) __b":(e,t)=>{const r=t.get("test"),{confident:n}=r.evaluate();return n}}),replace:()=>({"if (__a) __b":(e,t)=>{const r=t.get("test"),{value:n}=r.evaluate();return n?"__b":""}})},convertComparisonToBoolean$1={};const{types:types$g,operator:operator$d}=putoutExports,{replaceWith:replaceWith$7,compute:compute}=operator$d,{isIdentifier:isIdentifier$1,BooleanLiteral:BooleanLiteral}=types$g;function sameIdentifiers(e,t){return!!isIdentifier$1(e)&&(!!isIdentifier$1(t)&&e.name===t.name)}convertComparisonToBoolean$1.report=()=>"Avoid constant conditions",convertComparisonToBoolean$1.fix=({path:e,value:t})=>{replaceWith$7(e,BooleanLiteral(t))},convertComparisonToBoolean$1.traverse=({push:e})=>({BinaryExpression(t){const{left:r,right:n,operator:i}=t.node;if(!/<|>|===?|!===?/.test(i))return;if(/<<|>>/.test(i))return;const[a,s]=compute(t);return a?e({path:t,value:s}):sameIdentifiers(r,n)?e({path:t,value:/^===?$/.test(i)}):void 0}});var convertEqualToStrictEqual$1={report:()=>"Use strict equal ('===') instead of equal ('==')",exclude:()=>["__ == null","__ != null"],replace:()=>({"__a == __b":"__a === __b","__a != __b":"__a !== __b"})},mergeIfStatements$1={};const{types:types$f,operator:operator$c}=putoutExports,{replaceWith:replaceWith$6}=operator$c,{LogicalExpression:LogicalExpression}=types$f;mergeIfStatements$1.report=()=>"Merge 'if' statements",mergeIfStatements$1.fix=({path:e,consequentPath:t})=>{const r=e.get("test"),n=r.node,i=t.node.test;replaceWith$6(r,LogicalExpression("&&",n,i)),replaceWith$6(e.get("consequent"),t.get("consequent"))};const getConsequent=e=>{const t=e.get("consequent");if(t.isIfStatement())return t;const{node:r}=t;if(!t.isBlock()||r.body.length>1)return;const n=t.get("body.0"),{body:i}=t.node;return i.length&&n.isIfStatement()?n:null};mergeIfStatements$1.traverse=({push:e})=>({"if (__) __":onIfStatement({push:e})});const onIfStatement=({push:e})=>t=>{const r=getConsequent(t);r&&(r.node.alternate||e({path:t,consequentPath:r}))};var removeBoolean$1={report:()=>"Avoid boolean in assertions",replace:()=>({"return __a === true":"return Boolean(__a)","return __a == true":"return Boolean(__a)","const __a = __b === true":"const __a = __b","const __a = __b == true":"const __a = __b","__a = __b === true":"__a = __b === Boolean(__a)","__a = __b == true":"__a = __b == Boolean(__a)","__a === true":"__a","__a === false":"!__a","__a == true":"__a","__a == false":"!__a","__a !== true":"!__a","__a != true":"!__a"})},removeZero$1={};const{types:types$e}=putoutExports,{isBinaryExpression:isBinaryExpression,isJSXExpressionContainer:isJSXExpressionContainer}=types$e,check$2=(e,t)=>{const{parentPath:r}=t;return!r.find(isJSXExpressionContainer)&&(!r.isAssignmentExpression()&&!r.isVariableDeclarator())};function maybeParens({__a:e}){return isBinaryExpression(e)?"!(__a)":"!__a"}removeZero$1.report=()=>"Avoid zero in assertions",removeZero$1.match=()=>({"__a !== 0":check$2,"__a != 0":check$2,"__a === 0":check$2,"__a == 0":check$2}),removeZero$1.replace=()=>({"__a !== 0":"__a","__a != 0":"__a","__a === 0":maybeParens,"__a == 0":maybeParens});var removeUselessElse$1={};const{isReturnStatement:isReturnStatement,isBlockStatement:isBlockStatement,isContinueStatement:isContinueStatement,isBreakStatement:isBreakStatement}=putoutExports.types;function isReturnLike(e){return!!isReturnStatement(e)||(!!isContinueStatement(e)||isBreakStatement(e))}removeUselessElse$1.report=()=>"Avoid useless 'else'",removeUselessElse$1.match=()=>({"if (__a) __b; else __c":({__b:e})=>{if(!isBlockStatement(e))return isReturnLike(e);return isReturnLike(e.body.at(-1))}}),removeUselessElse$1.replace=()=>({"if (__a) __b; else __c":"{\n if (__a) __b;\n __c;\n }"});var simplify$1={report:()=>"Avoid useless conditions",replace:()=>({"if (__a?.__b) {__a.__b(__args)}":"__a?.__b(__args)","if (__a?.__b) __a.__b(__args)":"__a?.__b(__args)","if (__a) __b; else __b":"__b"})},removeSameValuesCondition$1={};const{operator:operator$b}=putoutExports,{getTemplateValues:getTemplateValues$1,compare:compare$4,traverse:traverse$2}=operator$b;removeSameValuesCondition$1.report=()=>"Avoid condition with the same value",removeSameValuesCondition$1.match=()=>({"if (__a === __b) __c":check$1("if (__a !== __b) __c"),"if (__a !== __b) __c":check$1("if (__a === __b) __c")}),removeSameValuesCondition$1.replace=()=>({"if (__a === __b) __c":"__c","if (__a !== __b) __c":"__c"});const check$1=e=>({__a:t,__b:r},n)=>{for(;(n=n.getPrevSibling()).node;){if(!compare$4(n,e))continue;const i=getTemplateValues$1(n,e);if(compare$4(t,i.__a)&&(compare$4(r,i.__b)&&hasContinue(n)))return!0}return!1};function hasContinue(e){let t=!1;return traverse$2(e,{ContinueStatement(e){t=!0,e.stop()}}),t}var addReturn$1={report:()=>"Add return statement",replace:()=>({"if (__a) false":"if (__a) return false","if (__a) true":"if (__a) return true"})};const applyConsistentBlocks=applyConsistentBlocks$1,applyComparisonOrder=applyComparisonOrder$1,applyIf=applyIf$1,evaluate=evaluate$1,convertComparisonToBoolean=convertComparisonToBoolean$1,convertEqualToStrictEqual=convertEqualToStrictEqual$1,mergeIfStatements=mergeIfStatements$1,removeBoolean=removeBoolean$1,removeZero=removeZero$1,removeUselessElse=removeUselessElse$1,simplify=simplify$1,removeSameValuesCondition=removeSameValuesCondition$1,addReturn=addReturn$1;lib$4.rules={"apply-comparison-order":applyComparisonOrder,"apply-consistent-blocks":applyConsistentBlocks,"apply-if":applyIf,evaluate:evaluate,"convert-comparison-to-boolean":convertComparisonToBoolean,"convert-equal-to-strict-equal":convertEqualToStrictEqual,"merge-if-statements":mergeIfStatements,"remove-boolean":removeBoolean,"remove-zero":removeZero,"remove-useless-else":removeUselessElse,simplify:simplify,"remove-same-values-condition":removeSameValuesCondition,"add-return":addReturn};var lib$3={},addMissing$1={report:()=>"Add missing operator 'new'",replace:()=>({"Set(__args)":"new Set(__args)","WeakSet(__args)":"new WeakSet(__args)","Map(__args)":"new Map(__args)","WeakMap(__args)":"new WeakMap(__args)","Type(__args)":"new Type(__args)","Int8Array(__args)":"new Int8Array(__args)","Uint8Array(__args)":"new Uint8Array(__args)","Uint8ClampedArray(__args)":"new Uint8ClampedArray(__args)","Int16Array(__args)":"new Int16Array(__args)","Uint16Array(__args)":"new Uint16Array(__args)","Int32Array(__args)":"new Int32Array(__args)","Uint32Array(__args)":"new Uint32Array(__args)","Float32Array(__args)":"new Float32Array(__args)","Float64Array(__args)":"new Float64Array(__args)","BigInt64Array(__args)":"new BigInt64Array(__args)","BigUint64Array(__args)":"new BigUint64Array(__args)"})},removeUseless$1={};const{types:types$d}=putoutExports,{ObjectExpression:ObjectExpression}=types$d;removeUseless$1.report=()=>"Avoid useless operator 'new'",removeUseless$1.replace=()=>({"new new __a":"new __a","new Error(__args)":"Error(__args)","new TypeError(__args)":"TypeError(__args)","new Boolean(__a)":"Boolean(__a)","new Number(__a)":"Number(__a)","new String(__a)":"String(__a)","new Array(__args)":"Array(__args)","new Symbol(__a)":"Symbol(__a)","new RegExp(__a)":"RegExp(__a)","new Object()":()=>ObjectExpression([]),"new Object(__a)":"Object(__a)","new BigInt(__a)":"BigInt(__a)","new Reflect()":"Reflect","new Math()":"Math"});const addMissing=addMissing$1,removeUseless=removeUseless$1;lib$3.rules={"add-missing":addMissing,"remove-useless":removeUseless};var lib$2={},applyLiteralNotation$1={};const{types:types$c,operator:operator$a}=putoutExports,{replaceWith:replaceWith$5}=operator$a,{isStringLiteral:isStringLiteral,RegExpLiteral:RegExpLiteral}=types$c,match$1=({__a:e})=>isStringLiteral(e);applyLiteralNotation$1.report=()=>"Use RegExp literal notation",applyLiteralNotation$1.match=()=>({"new RegExp(__a)":match$1,"new RegExp(__a, __b)":match$1,"RegExp(__a)":match$1,"RegExp(__a, __b)":match$1}),applyLiteralNotation$1.replace=()=>({"new RegExp(__a)":oneArgumentReplace,"new RegExp(__a, __b)":twoArgumentsReplace,"RegExp(__a)":oneArgumentReplace,"RegExp(__a, __b)":twoArgumentsReplace});const encode=e=>e.replaceAll("/","\\/");function oneArgumentReplace({__a:e},t){const{value:r}=e,n=`/${encode(r)}/`;return replaceWith$5(t,{...RegExpLiteral(r),raw:n,extra:{raw:n}})}function twoArgumentsReplace({__a:e,__b:t},r){const n=`/${encode(e.value)}/${t.value}`;return replaceWith$5(r,{...RegExpLiteral(encode(e.value),t.value),raw:n,extra:{raw:n}})}var applyStartsWith$1={};const{types:types$b}=putoutExports,{isRegExpLiteral:isRegExpLiteral$1}=types$b;applyStartsWith$1.report=()=>"Use '.startsWith()' instead of '.test()'",applyStartsWith$1.match=()=>({"__a.test(__b)":({__a:e})=>{if(!isRegExpLiteral$1(e))return!1;const t=e.raw.slice(1,-1);return!!t.startsWith("^")&&!/[$+({*\].]/.test(t)}}),applyStartsWith$1.replace=()=>({"__a.test(__b)":({__a:e})=>`__b.startsWith('${e.raw.slice(1,-1).replace("^","")}')`});var applyEndsWith$1={};const{types:types$a}=putoutExports,{isRegExpLiteral:isRegExpLiteral}=types$a;applyEndsWith$1.report=()=>"Use '.endsWith()' instead of '.test()'",applyEndsWith$1.match=()=>({"__a.test(__b)":({__a:e})=>{if(!isRegExpLiteral(e))return!1;const t=e.raw.slice(1,-1);return!!t.endsWith("$")&&!/[\^+({*\].]/.test(t)}}),applyEndsWith$1.replace=()=>({"__a.test(__b)":({__a:e})=>`__b.endsWith('${e.raw.slice(1,-1).replace("$","")}')`});var optimize$2={};const tryCatch=tryCatch$6,{optimize:optimize$1}=regexpTree$3,cutSlashes=e=>e.split("/").slice(1,-1).join("/"),whitelist=[],blacklist=["charEscapeUnescape"],options={blacklist:blacklist};optimize$2.report=({pattern:e,to:t})=>`RegExp /${e}/ can be optimized to /${t}/`,optimize$2.fix=({path:e,to:t,flags:r})=>{e.node.raw=`/${t}/${r}`,e.node.pattern=t},optimize$2.traverse=({push:e})=>({RegExpLiteral(t){const{pattern:r,flags:n}=t.node,[i,a]=tryCatch(optimize$1,RegExp(r,n),whitelist,options);if(i)return;const s=cutSlashes(a._string);r!==s&&r.length!==s.length&&e({path:t,flags:n,pattern:r,to:s})}});var convertToString$1={};const{types:types$9,operator:operator$9}=putoutExports,{replaceWith:replaceWith$4,isSimpleRegExp:isSimpleRegExp$1}=operator$9,{StringLiteral:StringLiteral$2}=types$9,match=e=>({__b:t})=>{if(t.flags===e){const{raw:e}=t.extra;return isSimpleRegExp$1(e)}return!1},replace=({__b:e},t)=>{const{pattern:r}=e,n=t.get("arguments.0");return replaceWith$4(n,StringLiteral$2(r)),t};convertToString$1.report=()=>"String should be used instead of RegExp",convertToString$1.match=()=>({"__a.replace(/__b/, __c)":match(""),"__a.replaceAll(/__b/g, __c)":match("g")}),convertToString$1.replace=()=>({"__a.replace(/__b/, __c)":replace,"__a.replaceAll(/__b/g, __c)":replace});var convertReplaceToReplaceAll$1={};const{types:types$8,operator:operator$8}=putoutExports,{StringLiteral:StringLiteral$1}=types$8,{replaceWith:replaceWith$3,getTemplateValues:getTemplateValues,isSimpleRegExp:isSimpleRegExp}=operator$8,decode=e=>e.replaceAll("\\\\/","\\/").replaceAll("\\\\(","\\(").replaceAll("\\(","(").replaceAll("\\n","\n").replaceAll("\\\\^","\\^").replaceAll("\\\\:","\\:").replaceAll("\\\\+","\\+").replaceAll("\\\\,","\\,").replaceAll("\\\\","\\");convertReplaceToReplaceAll$1.report=()=>"Use 'replaceAll()' instead of 'replace()'",convertReplaceToReplaceAll$1.fix=({path:e,pattern:t})=>{const r=e.get("arguments.0"),n=e.get("callee.property");return replaceWith$3(r,StringLiteral$1(decode(t))),n.node.name="replaceAll",e},convertReplaceToReplaceAll$1.traverse=({push:e})=>({"__a.replace(/__b/g, __c)":t=>{const{__b:r}=getTemplateValues(t,"__a.replace(/__b/g, __c)"),{flags:n,raw:i,pattern:a}=r;if("g"!==n)return!1;isSimpleRegExp(i)&&e({path:t,pattern:a})}});var removeUselessGroup$2={},types$7={};const getType=e=>(e.node||e).type;types$7.isDisjunction=e=>"Disjunction"===getType(e),types$7.isChar=e=>"Char"===getType(e),types$7.isAlternative=e=>"Alternative"===getType(e);const regexpTree$1=regexpTree$3,{compare:compare$3}=putoutExports.operator,{isDisjunction:isDisjunction}=types$7;function removeUselessGroup$1(e){const t=regexpTree$1.parse(e);let r=!1;return regexpTree$1.traverse(t,{Group(e){const{type:t}=e.parent;if(!/RegExp|Alternative/.test(t))return;const n=getNextSibling(e);if("Repetition"===n?.type)return;const{node:i}=e;i.name||i.expression&&(isDisjunction(i.expression)||(r=!0,e.replace(i.expression)))}}),[r,regexpTree$1.generate(t)]}function includes({parentPath:e}){return!!compare$3(e.parentPath,"/__a/.test(__b)")||compare$3(e,"__.search(/__a/)")}function getNextSibling(e){let t=!1;const{expressions:r=[]}=e.parent;for(const n of r){if(t)return n;n===e.node&&(t=!0)}return null}removeUselessGroup$2.report=({from:e,to:t})=>`Remove useless group from RegExp ${e}, use ${t}`,removeUselessGroup$2.exclude=()=>["__.match(__)","__.split(__)","__.exec(__)","__.replace(__, __)","__.replaceAll(__, __)","const __a = /__b/"],removeUselessGroup$2.fix=({path:e,to:t})=>{const[,r]=t.split("/");e.node.pattern=r,e.node.raw=t,e.node.extra.raw=t},removeUselessGroup$2.traverse=({push:e})=>({RegExpLiteral(t){if(!includes(t))return;const r=t.node.extra.raw,[n,i]=removeUselessGroup$1(r);n&&e({path:t,from:r,to:i})}});var removeUselessRegexp$1={};const regexpTree=regexpTree$3,{template:template,types:types$6,operator:operator$7}=putoutExports,{isAlternative:isAlternative,isChar:isChar}=types$7,{replaceWith:replaceWith$2}=operator$7,{StringLiteral:StringLiteral}=types$6;removeUselessRegexp$1.report=()=>"Remove useless RegExp, use strict equal operator instead";const build=template("A === B");removeUselessRegexp$1.fix=({path:e,to:t,arg:r})=>{replaceWith$2(e,build({A:r,B:StringLiteral(t)}))},removeUselessRegexp$1.traverse=({push:e})=>({"/__a/.test(__b)"(t){const r=t.node.callee.object,{raw:n}=r.extra,i=cut(n),[a]=i,s=i.at(-1);if("^"!==a||"$"!==s)return!1;const[o]=t.node.arguments,l=cut(i);isOnlyChars(wrap(l))&&e({path:t,arg:o,to:l})}});const not=e=>(...t)=>!e(...t),START=1,END=-1,cut=e=>e.slice(1,-1),wrap=e=>`/${e}/`;function isOnlyChars(e){const t=regexpTree.parse(e);let r=!1;return regexpTree.traverse(t,{RegExp({node:e}){const{body:t}=e;!isChar(t)||t.value.includes("\\")?isAlternative(t)&&(r=!t.expressions.filter(not(isChar)).length):r=!0}}),r}const applyLiteralNotation=applyLiteralNotation$1,applyStartsWith=applyStartsWith$1,applyEndsWith=applyEndsWith$1,optimize=optimize$2,convertToString=convertToString$1,convertReplaceToReplaceAll=convertReplaceToReplaceAll$1,removeUselessGroup=removeUselessGroup$2,removeUselessRegexp=removeUselessRegexp$1;lib$2.rules={"apply-literal-notation":applyLiteralNotation,"apply-starts-with":applyStartsWith,"apply-ends-with":applyEndsWith,optimize:optimize,"convert-to-string":convertToString,"convert-replace-to-replace-all":convertReplaceToReplaceAll,"remove-useless-group":removeUselessGroup,"remove-useless-regexp":removeUselessRegexp};var lib$1={},removeUselessResolve$1={};const{types:types$5}=putoutExports,{isFunction:isFunction$2}=types$5;removeUselessResolve$1.report=()=>"'resolve()' is useless in 'async' functions, use 'return' instead",removeUselessResolve$1.filter=e=>{const t=e.find(isFunction$2);return t?.node.async},removeUselessResolve$1.replace=()=>({"return Promise.resolve()":"return","return Promise.resolve(__a)":"return __a","await Promise.resolve(__a)":"__a"});var convertRejectToThrow$1={};const{types:types$4}=putoutExports,{isFunction:isFunction$1}=types$4;convertRejectToThrow$1.report=()=>"Reject is useless in async functions, use throw instead",convertRejectToThrow$1.filter=e=>{const t=e.find(isFunction$1);return t?.node.async},convertRejectToThrow$1.replace=()=>({"return Promise.reject(__a)":"throw __a","return await Promise.reject(__a)":"throw __a"});var convertNewPromiseToAsync$1={};const{operator:operator$6,types:types$3}=putoutExports,{replaceWith:replaceWith$1,traverse:traverse$1,remove:remove$1,compare:compare$2}=operator$6,{ReturnStatement:ReturnStatement$1,ThrowStatement:ThrowStatement}=types$3,isPassedToFn=e=>{const{parentPath:t}=e;return t.get("callee")!==e};function checkIdentifier(e){const{parentPath:t}=e,r=t.get("callee");return t.isCallExpression()&&r!==e}convertNewPromiseToAsync$1.report=()=>"Async functions should be used instead of 'new Promise()'",convertNewPromiseToAsync$1.match=()=>({"return new Promise(__a)":(e,t)=>{const{scope:r}=t.get("argument.arguments.0"),{resolve:n,reject:i}=r.bindings;let a=!1;if(traverse$1(t,{"reject(__)":({parentPath:e})=>{a=compare$2(e.parentPath,"__a.on(__b, __c);")}}),!a){if(n?.references){const[e]=n.referencePaths;return!isPassedToFn(e)&&n.referencePaths[0].scope.uid===r.uid}return i?.referencePaths[0].scope.uid===r.uid}}}),convertNewPromiseToAsync$1.replace=()=>({"return new Promise(__a)"({__a:e},t){const{scope:r}=t.get("argument.arguments.0");let n=!1;if(traverse$1(t,{"reject(__)":e=>{const{node:t}=e.get("arguments.0");r===e.scope.getFunctionParent()&&replaceWith$1(e.parentPath,ThrowStatement(t))},"resolve(__)":e=>{const{node:t}=e.get("arguments.0");e.parentPath.parentPath.isExpression()?replaceWith$1(e,ReturnStatement$1(t)):r===e.scope.getFunctionParent()&&replaceWith$1(e.parentPath,ReturnStatement$1(t))},"resolve()":e=>{r===e.scope?.getFunctionParent()&&remove$1(e.parentPath)},reject:e=>{checkIdentifier(e)&&(n=!0)}}),n)return t;return t.scope.getFunctionParent().path.node.async=!0,e.body}});var addMissingAwait$1={};const{types:types$2}=putoutExports,{isIdentifier:isIdentifier,AwaitExpression:AwaitExpression$1}=types$2;function isInsideUseEffect(e){if(!e.isCallExpression())return!1;return e.get("callee").isIdentifier({name:"useEffect"})}addMissingAwait$1.report=()=>"Call async functions using 'await'",addMissingAwait$1.match=()=>({"__a(__args)":({__a:e},t)=>{if(!isIdentifier(e))return!1;if(!t.getFunctionParent())return!1;if(t.parentPath.isArrayExpression())return!1;if(t.parentPath.isMemberExpression())return!1;if(t.find(isInsideUseEffect))return!1;const{name:r}=e,n=t.scope.getAllBindings()[r];return!!n&&(!!n.path.isFunction()&&(!!n.path.node.async&&!t.parentPath.isAwaitExpression()))}}),addMissingAwait$1.replace=()=>({"__a(__args)":(e,t)=>(t.getFunctionParent().node.async=!0,AwaitExpression$1(t.node))});var applyAwaitImport$1={};const{types:types$1,operator:operator$5}=putoutExports,{replaceWith:replaceWith}=operator$5,{isFunction:isFunction,AwaitExpression:AwaitExpression}=types$1;applyAwaitImport$1.report=()=>"Use 'await' near 'import' call",applyAwaitImport$1.match=()=>({"import(__a)":(e,t)=>!!t.parentPath.isVariableDeclarator()&&!t.parentPath.isAwaitExpression()}),applyAwaitImport$1.replace=()=>({"import(__a)"(e,t){const r=t.findParent(isFunction);return r&&(r.node.async=!0),replaceWith(t,AwaitExpression(t.node))}});var applyTopLevelAwait$1={};const fullstore=fullstore$4,{replaceWithMultiple:replaceWithMultiple$1}=putoutExports.operator,add=({push:e,isImports:t,isExports:r})=>n=>{const i=n.get("callee");if(!t()&&!r())return;const{id:a}=i.node;a||e(n)};function isAsyncParent(e){const{parentPath:t}=e.parentPath.parentPath;return!t||(!t.isFunction()||t.node.async)}applyTopLevelAwait$1.report=()=>"Use top level 'await'",applyTopLevelAwait$1.fix=e=>{const{body:t}=e.get("callee.body").node;replaceWithMultiple$1(e,t)},applyTopLevelAwait$1.traverse=({push:e})=>{const t=fullstore(),r=fullstore(),n=add({push:e,isImports:r,isExports:t});return{'import __ from "__"'(){r(!0)},ExportNamedDeclaration(){t(!0)},ExportDefaultDeclaration(){t(!0)},"(async function __() {})()":e=>{isAsyncParent(e)&&n(e)},"(async () => __)()":e=>{isAsyncParent(e)&&n(e)}}};var removeUselessAsync$1={};const{operator:operator$4}=putoutExports,{contains:contains}=operator$4;removeUselessAsync$1.report=()=>"Avoid useless 'async'",removeUselessAsync$1.fix=e=>{e.node.async=!1},removeUselessAsync$1.exclude=()=>["__nop"],removeUselessAsync$1.include=()=>["async function __(__args) {}","async (__args) => __body"],removeUselessAsync$1.filter=e=>!contains(e,["throw __","await __","for await (__ of __) __"]);var removeUselessAwait$1={};const{operator:operator$3}=putoutExports,{traverse:traverse}=operator$3;function isTypePromise(e){const t=e.get("returnType");if(!t.node)return!1;const r=t.get("typeAnnotation.typeName");return!!r.isIdentifier()&&"Promise"===r.node.name}function looksLikePromise(e){let t=!1;const r=e=>{t=!0,e.stop()};return traverse(e.node,{"new Promise(__a)":r,"Promise.__(__args)":r}),t}removeUselessAwait$1.report=()=>"Avoid useless 'await'",removeUselessAwait$1.exclude=()=>["await new Promise(__args)","await __a.__b?.(__args)","await __a?.(__args)","await __a?.(__args).catch(__args)","await import(__a)","await import(__a, __b)"],removeUselessAwait$1.replace=()=>({"await await __a":"await __a","await __a":"__a"}),removeUselessAwait$1.filter=e=>{const t=e.get("argument");if(t.isAwaitExpression())return!0;if(t.isIdentifier())return!1;if(t.isLogicalExpression())return!1;if(t.isMemberExpression())return!1;if(!t.isCallExpression())return!0;const r=t.get("callee");if(!r.isIdentifier())return!1;const{name:n}=r.node,i=t.scope.getBinding(n);if(!i)return!1;const a=i.path;return!!a.isFunction()&&(!looksLikePromise(a)&&(!isTypePromise(a)&&!a.node.async))};var removeUselessVariables$1={};const{operator:operator$2}=putoutExports,{remove:remove,rename:rename}=operator$2;function parseParent(e){return[e.parentPath,e.parentPath.parentPath]}removeUselessVariables$1.report=()=>"'Promise.resolve()' has no sense in async function",removeUselessVariables$1.fix=e=>{const{node:t}=e,[r,n]=parseParent(e),[i]=t.arguments,a=n.node.id;r.node.argument=i,rename(e,a.name,i.name),remove(n)},removeUselessVariables$1.traverse=({push:e})=>({AwaitExpression(t){const r=t.get("argument");t.parentPath.isVariableDeclarator()&&r.isCallExpression()&&r.get("callee").matchesPattern("Promise.resolve")&&e(r)}});const removeUselessResolve=removeUselessResolve$1,convertRejectToThrow=convertRejectToThrow$1,convertNewPromiseToAsync=convertNewPromiseToAsync$1,addMissingAwait=addMissingAwait$1,applyAwaitImport=applyAwaitImport$1,applyTopLevelAwait=applyTopLevelAwait$1,removeUselessAsync=removeUselessAsync$1,removeUselessAwait=removeUselessAwait$1,removeUselessVariables=removeUselessVariables$1;lib$1.rules={"remove-useless-resolve":removeUselessResolve,"convert-reject-to-throw":convertRejectToThrow,"convert-new-promise-to-async":convertNewPromiseToAsync,"add-missing-await":addMissingAwait,"apply-await-import":applyAwaitImport,"apply-top-level-await":applyTopLevelAwait,"remove-useless-async":removeUselessAsync,"remove-useless-await":removeUselessAwait,"remove-useless-variables":removeUselessVariables};var lib={},applyIsArray$1={report:()=>"Use 'Array.isArray()' instead of 'instanceof'",replace:({options:e})=>{const{inline:t}=e;return{"__a instanceof Array":()=>t?"Array.isArray(__a)":"isArray(__a)"}}},declare$1={declare:()=>({isString:"const isString = (a) => typeof a === 'string'",isEmptyString:"const isEmptyString = (a) => !a && isString(a)",isNumber:"const isNumber = (a) => typeof a === 'number'",isFn:"const isFn = (a) => typeof a === 'function'",isBool:"const isBool = (a) => typeof a === 'boolean'",isObject:"const isObject = (a) => a && typeof a === 'object'",isUndefined:"const isUndefined = (a) => typeof a === 'undefined'",isSymbol:"const isSymbol = (a) => typeof a === 'symbol'",isBigInt:"const isBigInt = (a) => typeof a === 'bigint'",isNull:"const isNull = (a) => !a && typeof a === 'object'"})},convertTypeofToIsType$1={};const{operator:operator$1}=putoutExports,{compare:compare$1,getBindingPath:getBindingPath}=operator$1,NAMES={function:"isFn",string:"isString",number:"isNumber",boolean:"isBool",undefined:"isUndefined",symbol:"isSymbol",bigint:"isBigInt"},EQUAL='typeof __a === "__b"',NOT_EQUAL='typeof __a !== "__b"',BODIES={function:"typeof __a === 'function'",string:"typeof __a === 'string'",number:"typeof __a === 'number'",boolean:"typeof __a === 'boolean'",undefined:"typeof __a === 'undefined'",symbol:"typeof __a === 'symbol'",bigint:"typeof __a === 'bigint'"},NOT_BODIES={function:"typeof __a !== 'function'",string:"typeof __a !== 'string'",number:"typeof __a !== 'number'",boolean:"typeof __a !== 'boolean'",undefined:"typeof __a !== 'undefined'",symbol:"typeof __a !== 'symbol'",bigint:"typeof __a !== 'bigint'"};function check({__a:e,__b:t},r){return!r.parentPath.isFunction()&&(!isBind(r,t.value)&&getBindingPath(r,e))}function isBind(e,t){const r=NAMES[t],n=BODIES[t],i=getBindingPath(e,r);if(!i)return!1;if(i.isVariableDeclarator()){const{body:e}=i.node.init;return!compare$1(e,n)}return i.isFunctionDeclaration()}convertTypeofToIsType$1.report=()=>"Use function to check type instead of 'typeof'",convertTypeofToIsType$1.match=()=>({[EQUAL]:check,[NOT_EQUAL]:check}),convertTypeofToIsType$1.replace=()=>({[BODIES.function]:"isFn(__a)",[BODIES.string]:"isString(__a)",[BODIES.number]:"isNumber(__a)",[BODIES.boolean]:"isBool(__a)",[BODIES.undefined]:"isUndefined(__a)",[BODIES.symbol]:"isSymbol(__a)",[BODIES.bigint]:"isBigInt(__a)",[NOT_BODIES.function]:"!isFn(__a)",[NOT_BODIES.string]:"!isString(__a)",[NOT_BODIES.number]:"!isNumber(__a)",[NOT_BODIES.boolean]:"!isBool(__a)",[NOT_BODIES.undefined]:"!isUndefined(__a)",[NOT_BODIES.symbol]:"!isSymbol(__a)",[NOT_BODIES.bigint]:"!isBigInt(__a)"});var removeUselessConversion$1={report:()=>"Avoid useless type conversion",replace:()=>({"Boolean(__a.includes(__b))":"__a.includes(__b)","String(typeof __a)":"typeof __a","if (Boolean(__a)) __b":"if (__a) __b","while (Boolean(__a)) __b":"while (__a) __b","do __b; while (Boolean(__a))":"do __b; while (__a)","for (__a; Boolean(__b); __c) __d":"for (__a; __b; __c) __d","for (__a; Boolean(__b);) __d":"for (__a; __b;) __d","for (; Boolean(__b);__c) __d":"for (; __b; __c) __d","for (; Boolean(__b);) __d":"for (; __b;) __d"})},removeDoubleNegations$1={report:()=>"Avoid double negations in conditions",filter:({parentPath:e})=>!e.isJSXExpressionContainer(),replace:()=>({"if (!!__a) __b":"if (__a) __b","!!__a ? __b : __c":"__a ? __b : __c","!!__a && __b":"__a && __b","!!__a.includes(__b)":"__a.includes(__b)","!!__a.startsWith(__b)":"__a.startsWith(__b)","while(!!__a) __b":"while(__a) __b","do __a; while(!!__b)":"do __a; while(__b)","for (__a; !!__b; __c) __d":"for (__a; __b; __c) __d"})},removeUselessTypeof$1={report:()=>"Avoid useless 'typeof'",replace:()=>({"typeof typeof __a":"typeof __a"})};const applyIsArray=applyIsArray$1,declare=declare$1,convertTypeofToIsType=convertTypeofToIsType$1,removeUselessConversion=removeUselessConversion$1,removeDoubleNegations=removeDoubleNegations$1,removeUselessTypeof=removeUselessTypeof$1;lib.rules={"apply-is-array":applyIsArray,declare:declare,"convert-typeof-to-is-type":convertTypeofToIsType,"remove-useless-conversion":removeUselessConversion,"remove-double-negations":removeDoubleNegations,"remove-useless-typeof":removeUselessTypeof};var extractSequenceExpressions={};const{types:types,operator:operator}=putoutExports,{replaceWithMultiple:replaceWithMultiple,toExpression:toExpression,compare:compare}=operator,{ReturnStatement:ReturnStatement,BlockStatement:BlockStatement,ExpressionStatement:ExpressionStatement}=types;extractSequenceExpressions.report=()=>"Avoid sequence expressions",extractSequenceExpressions.fix=e=>{const{parentPath:t}=e;if(isArgs(e))return void(e.parentPath.node.arguments=e.node.expressions);if(isFn(e)){const e=t.node.body.expressions.map(toExpression),r=e.length-1,{expression:n}=e[r];return e[r]=ReturnStatement(n),void(t.node.body=BlockStatement(e))}if(isRet(e)){const{expressions:r}=e.node,n=r.pop();return void replaceWithMultiple(t,[...r,ReturnStatement(n)])}if(isIfTest(e)){for(;e.node.expressions.length>1;)e.parentPath.insertBefore(ExpressionStatement(e.node.expressions.shift()));return}const r=compare(e,"__a(__args), __b"),n=e.get("expressions.0"),i=e.get("expressions.1");return r&&i.isLiteral()?(n.node.arguments.push(i.node),void i.remove()):replaceWithMultiple(e,e.node.expressions)};const isBlock=({parentPath:e})=>e.isBlockStatement(),isFn=({parentPath:e})=>e.isArrowFunctionExpression(),isExpr=({parentPath:e})=>e.isExpressionStatement(),isRet=({parentPath:e})=>e.isReturnStatement();function isCallee(e){const{parentPath:t}=e,r=t.isCallExpression(),n=t.get("callee")===e;return r&&n}function isIfTest(e){const{parentPath:t}=e,r=t.get("test");return!!t.isIfStatement()&&r===e}function isArgs(e){const{parentPath:t}=e;return!!t.isCallExpression()&&e===t.get("arguments.0")}extractSequenceExpressions.traverse=({push:e})=>({SequenceExpression(t){(isBlock(t)||isFn(t)||isExpr(t)||isCallee(t)||isRet(t)||isArgs(t)||isIfTest(t))&&e(t)}});const parseOptions=e=>({applyTemplateLiterals:!0,removeUnusedVariables:!0,removeConsole:!1,removeUselessSpread:!0,mangleClassNames:!0,mangle:!0,...e}),getAfterTransform=e=>{const{mangle:t,mangleClassNames:r}=parseOptions(e);return{rules:{"minify/mangle-names":[t,{mangleClassNames:r}],"minify/merge-variables":"off","promises/add-missing-await":"off"},plugins:[["promises",lib$1],["minify",minifyPlugin],["declare",lib$d],["reuse-duplicate-init",reuseDuplicateInit]]}},getThirdPassPlugins=e=>{const{mangle:t,mangleClassNames:r}=parseOptions(e);return{rules:{"minify/mangle-names":[t,{mangleClassNames:r}],"minify/inline":"off"},plugins:[["minify",minifyPlugin]]}},getPlugins=e=>{const{removeUnusedVariables:t,removeConsole:r,removeUselessSpread:n,applyTemplateLiterals:i}=parseOptions(e);return[i&&["apply-template-literals",applyTemplateLiterals],["apply-optional-chaining",lib$c],["conditions",lib$4],["convert-to-arrow-function",convertToArrowFunction],["convert-arguments-to-rest",convertArgumentsToRest],["declare",lib$d],["for-of",lib$6],["regexp",lib$2],t&&["remove-unused-variables",removeUnusedVariables$2],["remove-unreachable-code",removeUnreachableCode],["remove-debugger",removeDebugger],["remove-empty",lib$b],n&&["remove-useless-spread",lib$a],["remove-useless-return",removeUselessReturn],["remove-useless-else",removeUselessElse$2],["remove-useless-variables",lib$9],["remove-unused-expressions",removeUnusedExpressions],["remove-unreferenced-variables",removeUnreferencedVariables],["remove-nested-blocks",removeNestedBlocks],r&&["remove-console",removeConsole],["reuse-duplicate-init",reuseDuplicateInit],["logical-expressions",lib$5],["merge-destructuring-properties",mergeDestructuringProperties],["merge-duplicate-functions",mergeDuplicateFunctions],["merge-duplicate-imports",lib$7],["minify/shorten-names",rules["shorten-names"]],["new",lib$3],["simplify-ternary",lib$8],["types",lib],["extract-sequence-expressions",extractSequenceExpressions]].filter(Boolean)},minify=(e,t)=>{const r=parse_1(e,{printer:"putout"});transform_1$1(r,e,{rules:{"conditions/apply-if":"off","conditions/convert-equal-to-strict-equal":"off"},plugins:getPlugins(t)}),transform_1$1(r,e,getAfterTransform(t)),transform_1$1(r,e,getThirdPassPlugins(t));return print$5(r,{format:{newline:"",space:"",indent:"",splitter:" ",endOfFile:""},semantics:{comments:!1,roundBraces:!1}}).replaceAll(",}","}").replaceAll(",]","]").replaceAll(";}","}")};export{minify};
|