{"version":3,"file":"index.min.mjs","sources":["../../src/unicode.ts","../../src/util.ts","../../src/parse.ts","../../src/stringify.ts"],"sourcesContent":["// This is a generated file. Do not edit.\nexport const Space_Separator = /[\\u1680\\u2000-\\u200A\\u202F\\u205F\\u3000]/;\nexport const ID_Start = /[\\xAA\\xB5\\xBA\\xC0-\\xD6\\xD8-\\xF6\\xF8-\\u02C1\\u02C6-\\u02D1\\u02E0-\\u02E4\\u02EC\\u02EE\\u0370-\\u0374\\u0376\\u0377\\u037A-\\u037D\\u037F\\u0386\\u0388-\\u038A\\u038C\\u038E-\\u03A1\\u03A3-\\u03F5\\u03F7-\\u0481\\u048A-\\u052F\\u0531-\\u0556\\u0559\\u0561-\\u0587\\u05D0-\\u05EA\\u05F0-\\u05F2\\u0620-\\u064A\\u066E\\u066F\\u0671-\\u06D3\\u06D5\\u06E5\\u06E6\\u06EE\\u06EF\\u06FA-\\u06FC\\u06FF\\u0710\\u0712-\\u072F\\u074D-\\u07A5\\u07B1\\u07CA-\\u07EA\\u07F4\\u07F5\\u07FA\\u0800-\\u0815\\u081A\\u0824\\u0828\\u0840-\\u0858\\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\\u0E87\\u0E88\\u0E8A\\u0E8D\\u0E94-\\u0E97\\u0E99-\\u0E9F\\u0EA1-\\u0EA3\\u0EA5\\u0EA7\\u0EAA\\u0EAB\\u0EAD-\\u0EB0\\u0EB2\\u0EB3\\u0EBD\\u0EC0-\\u0EC4\\u0EC6\\u0EDC-\\u0EDF\\u0F00\\u0F40-\\u0F47\\u0F49-\\u0F6C\\u0F88-\\u0F8C\\u1000-\\u102A\\u103F\\u1050-\\u1055\\u105A-\\u105D\\u1061\\u1065\\u1066\\u106E-\\u1070\\u1075-\\u1081\\u108E\\u10A0-\\u10C5\\u10C7\\u10CD\\u10D0-\\u10FA\\u10FC-\\u1248\\u124A-\\u124D\\u1250-\\u1256\\u1258\\u125A-\\u125D\\u1260-\\u1288\\u128A-\\u128D\\u1290-\\u12B0\\u12B2-\\u12B5\\u12B8-\\u12BE\\u12C0\\u12C2-\\u12C5\\u12C8-\\u12D6\\u12D8-\\u1310\\u1312-\\u1315\\u1318-\\u135A\\u1380-\\u138F\\u13A0-\\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-\\u1877\\u1880-\\u1884\\u1887-\\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\\u1CE9-\\u1CEC\\u1CEE-\\u1CF1\\u1CF5\\u1CF6\\u1D00-\\u1DBF\\u1E00-\\u1F15\\u1F18-\\u1F1D\\u1F20-\\u1F45\\u1F48-\\u1F4D\\u1F50-\\u1F57\\u1F59\\u1F5B\\u1F5D\\u1F5F-\\u1F7D\\u1F80-\\u1FB4\\u1FB6-\\u1FBC\\u1FBE\\u1FC2-\\u1FC4\\u1FC6-\\u1FCC\\u1FD0-\\u1FD3\\u1FD6-\\u1FDB\\u1FE0-\\u1FEC\\u1FF2-\\u1FF4\\u1FF6-\\u1FFC\\u2071\\u207F\\u2090-\\u209C\\u2102\\u2107\\u210A-\\u2113\\u2115\\u2119-\\u211D\\u2124\\u2126\\u2128\\u212A-\\u212D\\u212F-\\u2139\\u213C-\\u213F\\u2145-\\u2149\\u214E\\u2160-\\u2188\\u2C00-\\u2C2E\\u2C30-\\u2C5E\\u2C60-\\u2CE4\\u2CEB-\\u2CEE\\u2CF2\\u2CF3\\u2D00-\\u2D25\\u2D27\\u2D2D\\u2D30-\\u2D67\\u2D6F\\u2D80-\\u2D96\\u2DA0-\\u2DA6\\u2DA8-\\u2DAE\\u2DB0-\\u2DB6\\u2DB8-\\u2DBE\\u2DC0-\\u2DC6\\u2DC8-\\u2DCE\\u2DD0-\\u2DD6\\u2DD8-\\u2DDE\\u2E2F\\u3005-\\u3007\\u3021-\\u3029\\u3031-\\u3035\\u3038-\\u303C\\u3041-\\u3096\\u309D-\\u309F\\u30A1-\\u30FA\\u30FC-\\u30FF\\u3105-\\u312E\\u3131-\\u318E\\u31A0-\\u31BA\\u31F0-\\u31FF\\u3400-\\u4DB5\\u4E00-\\u9FEA\\uA000-\\uA48C\\uA4D0-\\uA4FD\\uA500-\\uA60C\\uA610-\\uA61F\\uA62A\\uA62B\\uA640-\\uA66E\\uA67F-\\uA69D\\uA6A0-\\uA6EF\\uA717-\\uA71F\\uA722-\\uA788\\uA78B-\\uA7AE\\uA7B0-\\uA7B7\\uA7F7-\\uA801\\uA803-\\uA805\\uA807-\\uA80A\\uA80C-\\uA822\\uA840-\\uA873\\uA882-\\uA8B3\\uA8F2-\\uA8F7\\uA8FB\\uA8FD\\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-\\uAB65\\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-\\uDE33\\uDE60-\\uDE7C\\uDE80-\\uDE9C\\uDEC0-\\uDEC7\\uDEC9-\\uDEE4\\uDF00-\\uDF35\\uDF40-\\uDF55\\uDF60-\\uDF72\\uDF80-\\uDF91]|\\uD803[\\uDC00-\\uDC48\\uDC80-\\uDCB2\\uDCC0-\\uDCF2]|\\uD804[\\uDC03-\\uDC37\\uDC83-\\uDCAF\\uDCD0-\\uDCE8\\uDD03-\\uDD26\\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\\uDC80-\\uDCAF\\uDCC4\\uDCC5\\uDCC7\\uDD80-\\uDDAE\\uDDD8-\\uDDDB\\uDE00-\\uDE2F\\uDE44\\uDE80-\\uDEAA\\uDF00-\\uDF19]|\\uD806[\\uDCA0-\\uDCDF\\uDCFF\\uDE00\\uDE0B-\\uDE32\\uDE3A\\uDE50\\uDE5C-\\uDE83\\uDE86-\\uDE89\\uDEC0-\\uDEF8]|\\uD807[\\uDC00-\\uDC08\\uDC0A-\\uDC2E\\uDC40\\uDC72-\\uDC8F\\uDD00-\\uDD06\\uDD08\\uDD09\\uDD0B-\\uDD30\\uDD46]|\\uD808[\\uDC00-\\uDF99]|\\uD809[\\uDC00-\\uDC6E\\uDC80-\\uDD43]|[\\uD80C\\uD81C-\\uD820\\uD840-\\uD868\\uD86A-\\uD86C\\uD86F-\\uD872\\uD874-\\uD879][\\uDC00-\\uDFFF]|\\uD80D[\\uDC00-\\uDC2E]|\\uD811[\\uDC00-\\uDE46]|\\uD81A[\\uDC00-\\uDE38\\uDE40-\\uDE5E\\uDED0-\\uDEED\\uDF00-\\uDF2F\\uDF40-\\uDF43\\uDF63-\\uDF77\\uDF7D-\\uDF8F]|\\uD81B[\\uDF00-\\uDF44\\uDF50\\uDF93-\\uDF9F\\uDFE0\\uDFE1]|\\uD821[\\uDC00-\\uDFEC]|\\uD822[\\uDC00-\\uDEF2]|\\uD82C[\\uDC00-\\uDD1E\\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]|\\uD83A[\\uDC00-\\uDCC4\\uDD00-\\uDD43]|\\uD83B[\\uDE00-\\uDE03\\uDE05-\\uDE1F\\uDE21\\uDE22\\uDE24\\uDE27\\uDE29-\\uDE32\\uDE34-\\uDE37\\uDE39\\uDE3B\\uDE42\\uDE47\\uDE49\\uDE4B\\uDE4D-\\uDE4F\\uDE51\\uDE52\\uDE54\\uDE57\\uDE59\\uDE5B\\uDE5D\\uDE5F\\uDE61\\uDE62\\uDE64\\uDE67-\\uDE6A\\uDE6C-\\uDE72\\uDE74-\\uDE77\\uDE79-\\uDE7C\\uDE7E\\uDE80-\\uDE89\\uDE8B-\\uDE9B\\uDEA1-\\uDEA3\\uDEA5-\\uDEA9\\uDEAB-\\uDEBB]|\\uD869[\\uDC00-\\uDED6\\uDF00-\\uDFFF]|\\uD86D[\\uDC00-\\uDF34\\uDF40-\\uDFFF]|\\uD86E[\\uDC00-\\uDC1D\\uDC20-\\uDFFF]|\\uD873[\\uDC00-\\uDEA1\\uDEB0-\\uDFFF]|\\uD87A[\\uDC00-\\uDFE0]|\\uD87E[\\uDC00-\\uDE1D]/;\nexport const ID_Continue = /[\\xAA\\xB5\\xBA\\xC0-\\xD6\\xD8-\\xF6\\xF8-\\u02C1\\u02C6-\\u02D1\\u02E0-\\u02E4\\u02EC\\u02EE\\u0300-\\u0374\\u0376\\u0377\\u037A-\\u037D\\u037F\\u0386\\u0388-\\u038A\\u038C\\u038E-\\u03A1\\u03A3-\\u03F5\\u03F7-\\u0481\\u0483-\\u0487\\u048A-\\u052F\\u0531-\\u0556\\u0559\\u0561-\\u0587\\u0591-\\u05BD\\u05BF\\u05C1\\u05C2\\u05C4\\u05C5\\u05C7\\u05D0-\\u05EA\\u05F0-\\u05F2\\u0610-\\u061A\\u0620-\\u0669\\u066E-\\u06D3\\u06D5-\\u06DC\\u06DF-\\u06E8\\u06EA-\\u06FC\\u06FF\\u0710-\\u074A\\u074D-\\u07B1\\u07C0-\\u07F5\\u07FA\\u0800-\\u082D\\u0840-\\u085B\\u0860-\\u086A\\u08A0-\\u08B4\\u08B6-\\u08BD\\u08D4-\\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\\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-\\u0C03\\u0C05-\\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\\u0E87\\u0E88\\u0E8A\\u0E8D\\u0E94-\\u0E97\\u0E99-\\u0E9F\\u0EA1-\\u0EA3\\u0EA5\\u0EA7\\u0EAA\\u0EAB\\u0EAD-\\u0EB9\\u0EBB-\\u0EBD\\u0EC0-\\u0EC4\\u0EC6\\u0EC8-\\u0ECD\\u0ED0-\\u0ED9\\u0EDC-\\u0EDF\\u0F00\\u0F18\\u0F19\\u0F20-\\u0F29\\u0F35\\u0F37\\u0F39\\u0F3E-\\u0F47\\u0F49-\\u0F6C\\u0F71-\\u0F84\\u0F86-\\u0F97\\u0F99-\\u0FBC\\u0FC6\\u1000-\\u1049\\u1050-\\u109D\\u10A0-\\u10C5\\u10C7\\u10CD\\u10D0-\\u10FA\\u10FC-\\u1248\\u124A-\\u124D\\u1250-\\u1256\\u1258\\u125A-\\u125D\\u1260-\\u1288\\u128A-\\u128D\\u1290-\\u12B0\\u12B2-\\u12B5\\u12B8-\\u12BE\\u12C0\\u12C2-\\u12C5\\u12C8-\\u12D6\\u12D8-\\u1310\\u1312-\\u1315\\u1318-\\u135A\\u135D-\\u135F\\u1380-\\u138F\\u13A0-\\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-\\u1877\\u1880-\\u18AA\\u18B0-\\u18F5\\u1900-\\u191E\\u1920-\\u192B\\u1930-\\u193B\\u1946-\\u196D\\u1970-\\u1974\\u1980-\\u19AB\\u19B0-\\u19C9\\u19D0-\\u19D9\\u1A00-\\u1A1B\\u1A20-\\u1A5E\\u1A60-\\u1A7C\\u1A7F-\\u1A89\\u1A90-\\u1A99\\u1AA7\\u1AB0-\\u1ABD\\u1B00-\\u1B4B\\u1B50-\\u1B59\\u1B6B-\\u1B73\\u1B80-\\u1BF3\\u1C00-\\u1C37\\u1C40-\\u1C49\\u1C4D-\\u1C7D\\u1C80-\\u1C88\\u1CD0-\\u1CD2\\u1CD4-\\u1CF9\\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\\u2119-\\u211D\\u2124\\u2126\\u2128\\u212A-\\u212D\\u212F-\\u2139\\u213C-\\u213F\\u2145-\\u2149\\u214E\\u2160-\\u2188\\u2C00-\\u2C2E\\u2C30-\\u2C5E\\u2C60-\\u2CE4\\u2CEB-\\u2CF3\\u2D00-\\u2D25\\u2D27\\u2D2D\\u2D30-\\u2D67\\u2D6F\\u2D7F-\\u2D96\\u2DA0-\\u2DA6\\u2DA8-\\u2DAE\\u2DB0-\\u2DB6\\u2DB8-\\u2DBE\\u2DC0-\\u2DC6\\u2DC8-\\u2DCE\\u2DD0-\\u2DD6\\u2DD8-\\u2DDE\\u2DE0-\\u2DFF\\u2E2F\\u3005-\\u3007\\u3021-\\u302F\\u3031-\\u3035\\u3038-\\u303C\\u3041-\\u3096\\u3099\\u309A\\u309D-\\u309F\\u30A1-\\u30FA\\u30FC-\\u30FF\\u3105-\\u312E\\u3131-\\u318E\\u31A0-\\u31BA\\u31F0-\\u31FF\\u3400-\\u4DB5\\u4E00-\\u9FEA\\uA000-\\uA48C\\uA4D0-\\uA4FD\\uA500-\\uA60C\\uA610-\\uA62B\\uA640-\\uA66F\\uA674-\\uA67D\\uA67F-\\uA6F1\\uA717-\\uA71F\\uA722-\\uA788\\uA78B-\\uA7AE\\uA7B0-\\uA7B7\\uA7F7-\\uA827\\uA840-\\uA873\\uA880-\\uA8C5\\uA8D0-\\uA8D9\\uA8E0-\\uA8F7\\uA8FB\\uA8FD\\uA900-\\uA92D\\uA930-\\uA953\\uA960-\\uA97C\\uA980-\\uA9C0\\uA9CF-\\uA9D9\\uA9E0-\\uA9FE\\uAA00-\\uAA36\\uAA40-\\uAA4D\\uAA50-\\uAA59\\uAA60-\\uAA76\\uAA7A-\\uAAC2\\uAADB-\\uAADD\\uAAE0-\\uAAEF\\uAAF2-\\uAAF6\\uAB01-\\uAB06\\uAB09-\\uAB0E\\uAB11-\\uAB16\\uAB20-\\uAB26\\uAB28-\\uAB2E\\uAB30-\\uAB5A\\uAB5C-\\uAB65\\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-\\uDE33\\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]|\\uD804[\\uDC00-\\uDC46\\uDC66-\\uDC6F\\uDC7F-\\uDCBA\\uDCD0-\\uDCE8\\uDCF0-\\uDCF9\\uDD00-\\uDD34\\uDD36-\\uDD3F\\uDD50-\\uDD73\\uDD76\\uDD80-\\uDDC4\\uDDCA-\\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\\uDF3C-\\uDF44\\uDF47\\uDF48\\uDF4B-\\uDF4D\\uDF50\\uDF57\\uDF5D-\\uDF63\\uDF66-\\uDF6C\\uDF70-\\uDF74]|\\uD805[\\uDC00-\\uDC4A\\uDC50-\\uDC59\\uDC80-\\uDCC5\\uDCC7\\uDCD0-\\uDCD9\\uDD80-\\uDDB5\\uDDB8-\\uDDC0\\uDDD8-\\uDDDD\\uDE00-\\uDE40\\uDE44\\uDE50-\\uDE59\\uDE80-\\uDEB7\\uDEC0-\\uDEC9\\uDF00-\\uDF19\\uDF1D-\\uDF2B\\uDF30-\\uDF39]|\\uD806[\\uDCA0-\\uDCE9\\uDCFF\\uDE00-\\uDE3E\\uDE47\\uDE50-\\uDE83\\uDE86-\\uDE99\\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]|\\uD808[\\uDC00-\\uDF99]|\\uD809[\\uDC00-\\uDC6E\\uDC80-\\uDD43]|[\\uD80C\\uD81C-\\uD820\\uD840-\\uD868\\uD86A-\\uD86C\\uD86F-\\uD872\\uD874-\\uD879][\\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[\\uDF00-\\uDF44\\uDF50-\\uDF7E\\uDF8F-\\uDF9F\\uDFE0\\uDFE1]|\\uD821[\\uDC00-\\uDFEC]|\\uD822[\\uDC00-\\uDEF2]|\\uD82C[\\uDC00-\\uDD1E\\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]|\\uD83A[\\uDC00-\\uDCC4\\uDCD0-\\uDCD6\\uDD00-\\uDD4A\\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]|\\uD869[\\uDC00-\\uDED6\\uDF00-\\uDFFF]|\\uD86D[\\uDC00-\\uDF34\\uDF40-\\uDFFF]|\\uD86E[\\uDC00-\\uDC1D\\uDC20-\\uDFFF]|\\uD873[\\uDC00-\\uDEA1\\uDEB0-\\uDFFF]|\\uD87A[\\uDC00-\\uDFE0]|\\uD87E[\\uDC00-\\uDE1D]|\\uDB40[\\uDD00-\\uDDEF]/;\nexport default { Space_Separator, ID_Start, ID_Continue };\n","import unicode from './unicode';\n\nexport const isSpaceSeparator = (c?: string): boolean => {\n  return typeof c === 'string' && unicode.Space_Separator.test(c);\n};\n\nexport const isIdStartChar = (c?: string): boolean => {\n  return typeof c === 'string' && (\n    (c >= 'a' && c <= 'z') ||\n    (c >= 'A' && c <= 'Z') ||\n    (c === '$') || (c === '_') ||\n    unicode.ID_Start.test(c)\n  );\n};\n\nexport const isIdContinueChar = (c?: string): boolean => {\n  return typeof c === 'string' && (\n    (c >= 'a' && c <= 'z') ||\n    (c >= 'A' && c <= 'Z') ||\n    (c >= '0' && c <= '9') ||\n    (c === '$') || (c === '_') ||\n    (c === '\\u200C') || (c === '\\u200D') ||\n    unicode.ID_Continue.test(c)\n  );\n};\n\nexport const isDigit = (c?: string): boolean => {\n  return typeof c === 'string' && /[0-9]/.test(c);\n};\n\nexport const isInteger = (s?: string): boolean => {\n  return typeof s === 'string' && !/[^0-9]/.test(s);\n};\n\nexport const isHex = (s?: string): boolean => {\n  return typeof s === 'string' && /0x[0-9a-f]+$/i.test(s);\n};\n\nexport const isHexDigit = (c?: string): boolean => {\n  return typeof c === 'string' && /[0-9a-f]/i.test(c);\n};\n","import * as util from './util';\n\nexport type Parse11Options = {\n  /* Allow parsing long numeric values as BigInt.\n   * When true, integer values larger than Number.MAX_SAFE_INTEGER and smaller than Number.MIN_SAFE_INTEGER\n   *     are converted to BigInt.\n   * When undefined or false, they are handled just like JSON and loose precision.\n   */\n  withLongNumerals?: boolean\n}\n\nexport function parse<T = any>(\n  text: string,\n  reviver?: ((this: any, key: string, value: any) => any) | null,\n  options?: Parse11Options,\n): T {\n  let source: string = String(text);\n  let parseState: string = 'start';\n  let stack: any[] = [];\n  let pos: number = 0;\n  let line: number = 1;\n  let column: number = 0;\n  let token: any;\n  let key: any;\n  let root: any;\n  let lexState: string;\n  let buffer: string | undefined;\n  let doubleQuote: boolean;\n  let sign: number;\n  let c: string | undefined;\n\n  const lexStates: { [key: string]: () => any } = {\n    default() {\n      switch (c) {\n        case '\\t':\n        case '\\v':\n        case '\\f':\n        case ' ':\n        case '\\u00A0':\n        case '\\uFEFF':\n        case '\\n':\n        case '\\r':\n        case '\\u2028':\n        case '\\u2029':\n          read();\n          return;\n\n        case '/':\n          read();\n          lexState = 'comment';\n          return;\n\n        case undefined:\n          read();\n          return newToken('eof');\n      }\n\n      if (util.isSpaceSeparator(c)) {\n        read();\n        return;\n      }\n\n      return lexStates[parseState]();\n    },\n\n    comment() {\n      switch (c) {\n        case '*':\n          read();\n          lexState = 'multiLineComment';\n          return;\n\n        case '/':\n          read();\n          lexState = 'singleLineComment';\n          return;\n      }\n\n      throw invalidChar(read());\n    },\n\n    multiLineComment() {\n      switch (c) {\n        case '*':\n          read();\n          lexState = 'multiLineCommentAsterisk';\n          return;\n\n        case undefined:\n          throw invalidChar(read());\n      }\n\n      read();\n    },\n\n    multiLineCommentAsterisk() {\n      switch (c) {\n        case '*':\n          read();\n          return;\n\n        case '/':\n          read();\n          lexState = 'default';\n          return;\n\n        case undefined:\n          throw invalidChar(read());\n      }\n\n      read();\n      lexState = 'multiLineComment';\n    },\n\n    singleLineComment() {\n      switch (c) {\n        case '\\n':\n        case '\\r':\n        case '\\u2028':\n        case '\\u2029':\n          read();\n          lexState = 'default';\n          return;\n\n        case undefined:\n          read();\n          return newToken('eof');\n      }\n\n      read();\n    },\n\n    value() {\n      switch (c) {\n        case '{':\n        case '[':\n          return newToken('punctuator', read());\n\n        case 'n':\n          read();\n          literal('ull');\n          return newToken('null', null);\n\n        case 't':\n          read();\n          literal('rue');\n          return newToken('boolean', true);\n\n        case 'f':\n          read();\n          literal('alse');\n          return newToken('boolean', false);\n\n        case '-':\n        case '+':\n          if (read() === '-') {\n            sign = -1;\n          }\n\n          lexState = 'sign';\n          return;\n\n        case '.':\n          buffer = read();\n          lexState = 'decimalPointLeading';\n          return;\n\n        case '0':\n          buffer = read();\n          lexState = 'zero';\n          return;\n\n        case '1':\n        case '2':\n        case '3':\n        case '4':\n        case '5':\n        case '6':\n        case '7':\n        case '8':\n        case '9':\n          buffer = read();\n          lexState = 'decimalInteger';\n          return;\n\n        case 'I':\n          read();\n          literal('nfinity');\n          return newToken('numeric', Infinity);\n\n        case 'N':\n          read();\n          literal('aN');\n          return newToken('numeric', NaN);\n\n        case '\"':\n        case '\\'':\n          doubleQuote = (read() === '\"');\n          buffer = '';\n          lexState = 'string';\n          return;\n      }\n\n      throw invalidChar(read());\n    },\n\n    identifierNameStartEscape() {\n      if (c !== 'u') {\n        throw invalidChar(read());\n      }\n\n      read();\n      const u = unicodeEscape();\n      switch (u) {\n        case '$':\n        case '_':\n          break;\n\n        default:\n          if (!util.isIdStartChar(u)) {\n            throw invalidIdentifier();\n          }\n\n          break;\n      }\n\n      buffer += u;\n      lexState = 'identifierName';\n    },\n\n    identifierName() {\n      switch (c) {\n        case '$':\n        case '_':\n        case '\\u200C':\n        case '\\u200D':\n          buffer += read()!;\n          return;\n\n        case '\\\\':\n          read();\n          lexState = 'identifierNameEscape';\n          return;\n      }\n\n      if (util.isIdContinueChar(c)) {\n        buffer += read()!;\n        return;\n      }\n\n      return newToken('identifier', buffer);\n    },\n\n    identifierNameEscape() {\n      if (c !== 'u') {\n        throw invalidChar(read());\n      }\n\n      read();\n      const u = unicodeEscape();\n      switch (u) {\n        case '$':\n        case '_':\n        case '\\u200C':\n        case '\\u200D':\n          break;\n\n        default:\n          if (!util.isIdContinueChar(u)) {\n            throw invalidIdentifier();\n          }\n\n          break;\n      }\n\n      buffer += u;\n      lexState = 'identifierName';\n    },\n\n    sign() {\n      switch (c) {\n        case '.':\n          buffer = read();\n          lexState = 'decimalPointLeading';\n          return;\n\n        case '0':\n          buffer = read();\n          lexState = 'zero';\n          return;\n\n        case '1':\n        case '2':\n        case '3':\n        case '4':\n        case '5':\n        case '6':\n        case '7':\n        case '8':\n        case '9':\n          buffer = read();\n          lexState = 'decimalInteger';\n          return;\n\n        case 'I':\n          read();\n          literal('nfinity');\n          return newToken('numeric', sign * Infinity);\n\n        case 'N':\n          read();\n          literal('aN');\n          return newToken('numeric', NaN);\n      }\n\n      throw invalidChar(read());\n    },\n\n    zero() {\n      switch (c) {\n        case '.':\n          buffer += read()!;\n          lexState = 'decimalPoint';\n          return;\n\n        case 'e':\n        case 'E':\n          buffer += read()!;\n          lexState = 'decimalExponent';\n          return;\n\n        case 'x':\n        case 'X':\n          buffer += read()!;\n          lexState = 'hexadecimal';\n          return;\n\n        case 'n':\n          lexState = 'bigInt';\n          return;\n      }\n\n      return newToken('numeric', sign * 0);\n    },\n\n    decimalInteger() {\n      switch (c) {\n        case '.':\n          buffer += read()!;\n          lexState = 'decimalPoint';\n          return;\n\n        case 'e':\n        case 'E':\n          buffer += read()!;\n          lexState = 'decimalExponent';\n          return;\n\n        case 'n':\n          lexState = 'bigInt';\n          return;\n\n      }\n\n      if (util.isDigit(c)) {\n        buffer += read()!;\n        return;\n      }\n\n      return newNumericToken(sign, buffer);\n    },\n\n    decimalPointLeading() {\n      if (util.isDigit(c)) {\n        buffer += read()!;\n        lexState = 'decimalFraction';\n        return;\n      }\n\n      throw invalidChar(read());\n    },\n\n    decimalPoint() {\n      switch (c) {\n        case 'e':\n        case 'E':\n          buffer += read()!;\n          lexState = 'decimalExponent';\n          return;\n      }\n\n      if (util.isDigit(c)) {\n        buffer += read()!;\n        lexState = 'decimalFraction';\n        return;\n      }\n\n      return newNumericToken(sign, buffer);\n    },\n\n    decimalFraction() {\n      switch (c) {\n        case 'e':\n        case 'E':\n          buffer += read()!;\n          lexState = 'decimalExponent';\n          return;\n      }\n\n      if (util.isDigit(c)) {\n        buffer += read()!;\n        return;\n      }\n\n      return newNumericToken(sign, buffer);\n    },\n\n    decimalExponent() {\n      switch (c) {\n        case '+':\n        case '-':\n          buffer += read()!;\n          lexState = 'decimalExponentSign';\n          return;\n      }\n\n      if (util.isDigit(c)) {\n        buffer += read()!;\n        lexState = 'decimalExponentInteger';\n        return;\n      }\n\n      throw invalidChar(read());\n    },\n\n    decimalExponentSign() {\n      if (util.isDigit(c)) {\n        buffer += read()!;\n        lexState = 'decimalExponentInteger';\n        return;\n      }\n\n      throw invalidChar(read());\n    },\n\n    decimalExponentInteger() {\n      if (util.isDigit(c)) {\n        buffer += read()!;\n        return;\n      }\n\n      return newNumericToken(sign, buffer);\n    },\n\n    bigInt() {\n      if (buffer?.length && (util.isInteger(buffer) || util.isHex(buffer))) {\n        read();\n        return newToken('bigint', BigInt(sign) * BigInt(buffer));\n      }\n\n      throw invalidChar(read());\n    },\n\n    hexadecimal() {\n      if (util.isHexDigit(c)) {\n        buffer += read()!;\n        lexState = 'hexadecimalInteger';\n        return;\n      }\n\n      throw invalidChar(read());\n    },\n\n    hexadecimalInteger() {\n      if (util.isHexDigit(c)) {\n        buffer += read()!;\n        return;\n      }\n\n      if (c === 'n') {\n        lexState = 'bigInt';\n        return;\n      }\n\n      return newNumericToken(sign, buffer);\n    },\n\n    string() {\n      switch (c) {\n        case '\\\\':\n          read();\n          buffer += escape();\n          return;\n\n        case '\"':\n          if (doubleQuote) {\n            read();\n            return newToken('string', buffer);\n          }\n\n          buffer += read()!;\n          return;\n\n        case '\\'':\n          if (!doubleQuote) {\n            read();\n            return newToken('string', buffer);\n          }\n\n          buffer += read()!;\n          return;\n\n        case '\\n':\n        case '\\r':\n          throw invalidChar(read());\n\n        case '\\u2028':\n        case '\\u2029':\n          separatorChar(c);\n          break;\n\n        case undefined:\n          throw invalidChar(read());\n      }\n\n      buffer += read()!;\n    },\n\n    start() {\n      switch (c) {\n        case '{':\n        case '[':\n          return newToken('punctuator', read());\n\n        case undefined:\n          return newToken('eof')\n      }\n\n      lexState = 'value';\n    },\n\n    beforePropertyName() {\n      switch (c) {\n        case '$':\n        case '_':\n          buffer = read();\n          lexState = 'identifierName';\n          return;\n\n        case '\\\\':\n          read();\n          lexState = 'identifierNameStartEscape';\n          return;\n\n        case '}':\n          return newToken('punctuator', read());\n\n        case '\"':\n        case '\\'':\n          doubleQuote = (read() === '\"');\n          lexState = 'string';\n          return;\n      }\n\n      if (util.isIdStartChar(c)) {\n        buffer += read()!;\n        lexState = 'identifierName';\n        return;\n      }\n\n      throw invalidChar(read());\n    },\n\n    afterPropertyName() {\n      if (c === ':') {\n        return newToken('punctuator', read());\n      }\n\n      throw invalidChar(read());\n    },\n\n    beforePropertyValue() {\n      lexState = 'value';\n    },\n\n    afterPropertyValue() {\n      switch (c) {\n        case ',':\n        case '}':\n          return newToken('punctuator', read());\n      }\n\n      throw invalidChar(read());\n    },\n\n    beforeArrayValue() {\n      if (c === ']') {\n        return newToken('punctuator', read());\n      }\n\n      lexState = 'value';\n    },\n\n    afterArrayValue() {\n      switch (c) {\n        case ',':\n        case ']':\n          return newToken('punctuator', read());\n      }\n\n      throw invalidChar(read());\n    },\n\n    end() {\n      throw invalidChar(read());\n    },\n  };\n\n  const parseStates: { [key: string]: () => void } = {\n    start() {\n      if (token.type === 'eof') {\n        throw invalidEOF();\n      }\n\n      push();\n    },\n\n    beforePropertyName() {\n      switch (token.type) {\n        case 'identifier':\n        case 'string':\n          key = token.value;\n          parseState = 'afterPropertyName';\n          return;\n\n        case 'punctuator':\n          pop();\n          return;\n\n        case 'eof':\n          throw invalidEOF();\n      }\n    },\n\n    afterPropertyName() {\n      if (token.type === 'eof') {\n        throw invalidEOF();\n      }\n\n      parseState = 'beforePropertyValue';\n    },\n\n    beforePropertyValue() {\n      if (token.type === 'eof') {\n        throw invalidEOF();\n      }\n\n      push();\n    },\n\n    beforeArrayValue() {\n      if (token.type === 'eof') {\n        throw invalidEOF();\n      }\n\n      if (token.type === 'punctuator' && token.value === ']') {\n        pop();\n        return;\n      }\n\n      push();\n    },\n\n    afterPropertyValue() {\n      if (token.type === 'eof') {\n        throw invalidEOF();\n      }\n\n      switch (token.value) {\n        case ',':\n          parseState = 'beforePropertyName';\n          return;\n\n        case '}':\n          pop();\n      }\n    },\n\n    afterArrayValue() {\n      if (token.type === 'eof') {\n        throw invalidEOF();\n      }\n\n      switch (token.value) {\n        case ',':\n          parseState = 'beforeArrayValue';\n          return;\n\n        case ']':\n          pop();\n      }\n    },\n\n    end() {\n      // Do nothing\n    },\n  };\n\n  do {\n    token = lex();\n\n    parseStates[parseState]();\n  } while (token.type !== 'eof');\n\n  if (typeof reviver === 'function') {\n    return internalize({ '': root }, '', reviver);\n  }\n\n  return root;\n\n  function internalize(holder: any, name: string, reviver: (key: string, value: any) => any): any {\n    const value = holder[name];\n    if (value != null && typeof value === 'object') {\n      if (Array.isArray(value)) {\n        for (let i = 0; i < value.length; i++) {\n          const key = String(i);\n          const replacement = internalize(value, key, reviver);\n          Object.defineProperty(value, key, {\n            value: replacement,\n            writable: true,\n            enumerable: true,\n            configurable: true,\n          });\n        }\n      } else {\n        for (const key in value) {\n          const replacement = internalize(value, key, reviver);\n          if (replacement === undefined) {\n            delete value[key];\n          } else {\n            Object.defineProperty(value, key, {\n              value: replacement,\n              writable: true,\n              enumerable: true,\n              configurable: true,\n            });\n          }\n        }\n      }\n    }\n\n    return reviver.call(holder, name, value);\n  }\n\n  function lex(): any {\n    lexState = 'default';\n    buffer = '';\n    doubleQuote = false;\n    sign = 1;\n\n    for (; ;) {\n      c = peek();\n      //console.log('c', c, lexState, parseState);\n\n      const token = lexStates[lexState]();\n      if (token) {\n        return token;\n      }\n    }\n  }\n\n  function peek(): string | undefined {\n    if (source[pos]) {\n      return String.fromCodePoint(source.codePointAt(pos)!);\n    }\n  }\n\n  function read(): string | undefined {\n    const c = peek();\n\n    if (c === '\\n') {\n      line++;\n      column = 0;\n    } else if (c) {\n      column += c.length;\n    } else {\n      column++;\n    }\n\n    if (c) {\n      pos += c.length;\n    }\n\n    return c;\n  }\n\n  function newToken(type: string, value?: any): any {\n    return {\n      type,\n      value,\n      line,\n      column,\n    };\n  }\n\n  function newNumericToken(sign: number, buffer?: string): any {\n    const num = sign * Number(buffer);\n\n    if (options?.withLongNumerals) {\n      if (num > Number.MAX_SAFE_INTEGER || num < Number.MIN_SAFE_INTEGER) {\n        try {\n          return newToken('bigint', BigInt(sign) * BigInt(buffer!));\n        } catch (ex) {\n          // RangeError when num is not an integer\n          console.warn(ex);\n        }\n      }\n    }\n\n    return newToken('numeric', num);\n  }\n\n  function literal(s: string): void {\n    for (const c of s) {\n      const p = peek();\n\n      if (p !== c) {\n        throw invalidChar(read());\n      }\n\n      read();\n    }\n  }\n\n  function escape(): string {\n    const c = peek();\n    switch (c) {\n      case 'b':\n        read();\n        return '\\b';\n\n      case 'f':\n        read();\n        return '\\f';\n\n      case 'n':\n        read();\n        return '\\n';\n\n      case 'r':\n        read();\n        return '\\r';\n\n      case 't':\n        read();\n        return '\\t';\n\n      case 'v':\n        read();\n        return '\\v';\n\n      case '0':\n        read();\n        if (util.isDigit(peek())) {\n          throw invalidChar(read());\n        }\n\n        return '\\0';\n\n      case 'x':\n        read();\n        return hexEscape();\n\n      case 'u':\n        read();\n        return unicodeEscape();\n\n      case '\\n':\n      case '\\u2028':\n      case '\\u2029':\n        read();\n        return '';\n\n      case '\\r':\n        read();\n        if (peek() === '\\n') {\n          read();\n        }\n\n        return '';\n\n      case '1':\n      case '2':\n      case '3':\n      case '4':\n      case '5':\n      case '6':\n      case '7':\n      case '8':\n      case '9':\n        throw invalidChar(read());\n\n      case undefined:\n        throw invalidChar(read());\n    }\n\n    return read()!;\n  }\n\n  function hexEscape(): string {\n    let buffer = '';\n    let c = peek();\n\n    if (!util.isHexDigit(c)) {\n      throw invalidChar(read());\n    }\n\n    buffer += read()!;\n\n    c = peek();\n    if (!util.isHexDigit(c)) {\n      throw invalidChar(read());\n    }\n\n    buffer += read()!;\n\n    return String.fromCodePoint(parseInt(buffer, 16));\n  }\n\n  function unicodeEscape(): string {\n    let buffer = '';\n    let count = 4;\n\n    while (count-- > 0) {\n      const c = peek();\n      if (!util.isHexDigit(c)) {\n        throw invalidChar(read());\n      }\n\n      buffer += read()!;\n    }\n\n    return String.fromCodePoint(parseInt(buffer, 16));\n  }\n\n  function push() {\n    let value;\n\n    switch (token.type) {\n      case 'punctuator':\n        switch (token.value) {\n          case '{':\n            value = {};\n            break;\n\n          case '[':\n            value = [];\n            break;\n        }\n\n        break;\n\n      case 'null':\n      case 'boolean':\n      case 'numeric':\n      case 'string':\n      case 'bigint':\n        value = token.value;\n        break;\n    }\n\n    if (root === undefined) {\n      root = value;\n    } else {\n      const parent = stack[stack.length - 1];\n      if (Array.isArray(parent)) {\n        parent.push(value);\n      } else {\n        Object.defineProperty(parent, key, {\n          value,\n          writable: true,\n          enumerable: true,\n          configurable: true,\n        });\n      }\n    }\n\n    if (value !== null && typeof value === 'object') {\n      stack.push(value);\n\n      if (Array.isArray(value)) {\n        parseState = 'beforeArrayValue';\n      } else {\n        parseState = 'beforePropertyName';\n      }\n    } else {\n      const current = stack[stack.length - 1];\n      if (current == null) {\n        parseState = 'end';\n      } else if (Array.isArray(current)) {\n        parseState = 'afterArrayValue';\n      } else {\n        parseState = 'afterPropertyValue';\n      }\n    }\n  }\n\n  function pop() {\n    stack.pop();\n\n    const current = stack[stack.length - 1];\n    if (current == null) {\n      parseState = 'end';\n    } else if (Array.isArray(current)) {\n      parseState = 'afterArrayValue';\n    } else {\n      parseState = 'afterPropertyValue';\n    }\n  }\n\n  function invalidChar(c: string | undefined): Error {\n    if (c === undefined) {\n      return syntaxError(`JSON11: invalid end of input at ${line}:${column}`);\n    }\n\n    return syntaxError(`JSON11: invalid character '${formatChar(c)}' at ${line}:${column}`);\n  }\n\n  function invalidEOF(): Error {\n    return syntaxError(`JSON11: invalid end of input at ${line}:${column}`);\n  }\n\n  function invalidIdentifier(): Error {\n    column -= 5;\n    return syntaxError(`JSON11: invalid identifier character at ${line}:${column}`);\n  }\n\n  function separatorChar(c: string): void {\n    console.warn(`JSON11: '${formatChar(c)}' in strings is not valid ECMAScript; consider escaping`);\n  }\n\n  function formatChar(c: string): string {\n    const replacements: Record<string, string> = {\n      '\\'': '\\\\\\'',\n      '\"': '\\\\\"',\n      '\\\\': '\\\\\\\\',\n      '\\b': '\\\\b',\n      '\\f': '\\\\f',\n      '\\n': '\\\\n',\n      '\\r': '\\\\r',\n      '\\t': '\\\\t',\n      '\\v': '\\\\v',\n      '\\0': '\\\\0',\n      '\\u2028': '\\\\u2028',\n      '\\u2029': '\\\\u2029',\n    };\n\n    if (replacements[c]) {\n      return replacements[c];\n    }\n\n    if (c < ' ') {\n      const hexString = c.charCodeAt(0).toString(16);\n      return '\\\\x' + ('00' + hexString).substring(hexString.length);\n    }\n\n    return c;\n  }\n\n  function syntaxError(message: string): Error {\n    const err = new SyntaxError(message);\n    Object.defineProperty(err, 'lineNumber', {\n      value: line,\n      writable: true,\n      enumerable: true,\n      configurable: true,\n    });\n    Object.defineProperty(err, 'columnNumber', {\n      value: column,\n      writable: true,\n      enumerable: true,\n      configurable: true,\n    });\n    return err;\n  }\n}\n","import * as util from './util';\n\nexport type AllowList = (string | number)[];\nexport type Replacer = (this: any, key: string, value: any) => any;\nexport type StringifyQuoteOptions = {\n  quote?: string,\n  quoteNames?: boolean,\n};\nexport type Stringify11Options = StringifyQuoteOptions & {\n  /* Allow serializing BigInt values as <num>n.\n   * When undefined or true, BigInt values are serialized with the `n` suffix.\n   * When false, the `n` suffix is not included after the long numeral.\n   */\n  withBigInt?: boolean,\n  /* Add a trailing comma to arrays and objects, like JSON5.\n   * Applicable only when space is used for indenting.\n   */\n  trailingComma?: boolean,\n  /* Use legacy escape sequences, like JSON5.\n   * When true, \\v, \\0, and \\x0-\\x19 will be serialized as \\v, \\0, and \\x0-\\x19\n   * When undefined or false, \\v, \\0, and \\x0-\\x19 will be serialized as \\u000b, \\u0000, and \\u0000-\\u0019\n   */\n  withLegacyEscapes?: boolean,\n};\nexport type StringifyOptions = Stringify11Options & {\n  replacer?: Replacer | AllowList | null,\n  space?: string | number | String | Number | null,\n};\n\nexport function stringify(\n  value: any,\n  options?: StringifyOptions,\n): string | undefined;\n\nexport function stringify(\n  value: any,\n  replacer?: Replacer | null,\n  space?: string | number | String | Number | null,\n  options?: Stringify11Options,\n): string | undefined;\n\nexport function stringify(\n  value: any,\n  allowList?: AllowList,\n  space?: string | number | String | Number | null,\n  options?: Stringify11Options,\n): string | undefined;\n\nexport function stringify(\n  value: any,\n  replacerOrAllowListOrOptions?: Replacer | StringifyOptions | AllowList | null,\n  space?: string | number | String | Number | null,\n  options?: Stringify11Options,\n): string | undefined {\n  const stack: any[] = [];\n  let indent = '';\n  let propertyList: string[] | undefined;\n  let replacer: Replacer | undefined;\n  let gap = '';\n  let quote: string | undefined;\n  let withBigInt: boolean | undefined;\n  let withLegacyEscapes: boolean | undefined;\n  let nameSerializer: Function = serializeKey;\n  let trailingComma: string = '';\n\n  const quoteWeights: Record<string, number> = {\n    '\\'': 0.1,\n    '\"': 0.2,\n  };\n\n  if (\n    // replacerOrAllowListOrOptions is StringifyOptions\n    replacerOrAllowListOrOptions != null &&\n    typeof replacerOrAllowListOrOptions === 'object' &&\n    !Array.isArray(replacerOrAllowListOrOptions)\n  ) {\n    gap = getGap(replacerOrAllowListOrOptions.space);\n    if (replacerOrAllowListOrOptions.trailingComma) {\n      trailingComma = ',';\n    }\n    quote = replacerOrAllowListOrOptions.quote?.trim?.();\n    if (replacerOrAllowListOrOptions.quoteNames === true) {\n      nameSerializer = quoteString;\n    }\n    if (typeof replacerOrAllowListOrOptions.replacer === 'function') {\n      replacer = replacerOrAllowListOrOptions.replacer;\n    }\n    withBigInt = replacerOrAllowListOrOptions.withBigInt;\n    withLegacyEscapes = replacerOrAllowListOrOptions.withLegacyEscapes === true;\n  } else {\n    if (\n      // replacerOrAllowListOrOptions is Replacer\n      typeof replacerOrAllowListOrOptions === 'function'\n    ) {\n      replacer = replacerOrAllowListOrOptions;\n    } else if (\n      // replacerOrAllowListOrOptions is AllowList\n      Array.isArray(replacerOrAllowListOrOptions)\n    ) {\n      propertyList = [];\n      const propertySet: Set<string> = new Set();\n      for (const v of replacerOrAllowListOrOptions) {\n        const key = v?.toString?.();\n        if (key !== undefined) propertySet.add(key);\n      }\n      propertyList = [...propertySet];\n    }\n\n    gap = getGap(space);\n    quote = options?.quote?.trim?.();\n    if (options?.quoteNames === true) {\n      nameSerializer = quoteString;\n    }\n    withBigInt = options?.withBigInt;\n    withLegacyEscapes = options?.withLegacyEscapes === true;\n    if (options?.trailingComma) {\n      trailingComma = ',';\n    }\n  }\n\n  const quoteReplacements: { [key: string]: string } = {\n    '\\'': '\\\\\\'',\n    '\"': '\\\\\"',\n    '\\\\': '\\\\\\\\',\n    '\\b': '\\\\b',\n    '\\f': '\\\\f',\n    '\\n': '\\\\n',\n    '\\r': '\\\\r',\n    '\\t': '\\\\t',\n    '\\v': withLegacyEscapes ? '\\\\v' : '\\\\u000b',\n    '\\0': withLegacyEscapes ? '\\\\0' : '\\\\u0000',\n    '\\u2028': '\\\\u2028',\n    '\\u2029': '\\\\u2029',\n  };\n  const quoteReplacementForNulFollowedByDigit = withLegacyEscapes ? '\\\\x00' : '\\\\u0000';\n\n  return serializeProperty('', { '': value });\n\n  function getGap(space?: string | number | String | Number | null) {\n    if (typeof space === 'number' || space instanceof Number) {\n      const num = Number(space);\n      if (isFinite(num) && num > 0) {\n        return ' '.repeat(Math.min(10, Math.floor(num)));\n      }\n    } else if (typeof space === 'string' || space instanceof String) {\n      return space.substring(0, 10);\n    }\n\n    return '';\n  }\n\n  function serializeProperty(key: string, holder: any): string | undefined {\n    let value = holder[key];\n    if (value != null) {\n      if (typeof value.toJSON11 === 'function') {\n        value = value.toJSON11(key);\n      } else if (typeof value.toJSON5 === 'function') {\n        value = value.toJSON5(key);\n      } else if (typeof value.toJSON === 'function') {\n        value = value.toJSON(key);\n      }\n    }\n\n    if (replacer) {\n      value = replacer.call(holder, key, value);\n    }\n\n    if (value instanceof Number) {\n      value = Number(value);\n    } else if (value instanceof String) {\n      value = String(value);\n    } else if (value instanceof Boolean) {\n      value = value.valueOf();\n    }\n\n    switch (value) {\n      case null:\n        return 'null';\n      case true:\n        return 'true';\n      case false:\n        return 'false';\n    }\n\n    if (typeof value === 'string') {\n      return quoteString(value);\n    }\n\n    if (typeof value === 'number') {\n      return String(value);\n    }\n\n    if (typeof value === 'bigint') {\n      return value.toString() + (withBigInt === false ? '' : 'n');\n    }\n\n    if (typeof value === 'object') {\n      return Array.isArray(value) ? serializeArray(value) : serializeObject(value);\n    }\n\n    return undefined;\n  }\n\n  function quoteString(value: string): string {\n    let product = '';\n\n    for (let i = 0; i < value.length; i++) {\n      const c = value[i];\n      switch (c) {\n        case '\\'':\n        case '\"':\n          quoteWeights[c]++;\n          product += c;\n          continue;\n\n        case '\\0':\n          if (util.isDigit(value[i + 1])) {\n            product += quoteReplacementForNulFollowedByDigit;\n            continue;\n          }\n      }\n\n      if (quoteReplacements[c]) {\n        product += quoteReplacements[c];\n        continue;\n      }\n\n      if (c < ' ') {\n        let hexString = c.charCodeAt(0).toString(16);\n        product += withLegacyEscapes\n          ? '\\\\x' + ('00' + hexString).substring(hexString.length)\n          : '\\\\u' + hexString.padStart(4, '0');\n        continue;\n      }\n\n      product += c;\n    }\n\n    const quoteChar = quote || Object.keys(quoteWeights).reduce((a, b) => (quoteWeights[a] < quoteWeights[b]) ? a : b);\n\n    product = product.replace(new RegExp(quoteChar, 'g'), quoteReplacements[quoteChar]);\n\n    return quoteChar + product + quoteChar;\n  }\n\n  function serializeObject(value: any): string {\n    if (stack.includes(value)) {\n      throw TypeError('Converting circular structure to JSON11');\n    }\n\n    stack.push(value);\n\n    let stepback = indent;\n    indent = indent + gap;\n\n    let keys = propertyList || Object.keys(value);\n    let partial: string[] = [];\n    for (const key of keys) {\n      const propertyString = serializeProperty(key, value);\n      if (propertyString !== undefined) {\n        let member = nameSerializer(key) + ':';\n        if (gap !== '') {\n          member += ' ';\n        }\n        member += propertyString;\n        partial.push(member);\n      }\n    }\n\n    let final: string;\n    if (partial.length === 0) {\n      final = '{}';\n    } else {\n      let properties: string;\n      if (gap === '') {\n        properties = partial.join(',');\n        final = '{' + properties + '}';\n      } else {\n        properties = partial.join(',\\n' + indent);\n        final = '{\\n' + indent + properties + trailingComma + '\\n' + stepback + '}';\n      }\n    }\n\n    stack.pop();\n    indent = stepback;\n    return final;\n  }\n\n  function serializeKey(key: string): string {\n    if (key.length === 0) {\n      return quoteString(key);\n    }\n\n    const firstChar = String.fromCodePoint(key.codePointAt(0)!);\n    if (!util.isIdStartChar(firstChar)) {\n      return quoteString(key);\n    }\n\n    for (let i = firstChar.length; i < key.length; i++) {\n      if (!util.isIdContinueChar(String.fromCodePoint(key.codePointAt(i)!))) {\n        return quoteString(key);\n      }\n    }\n\n    return key;\n  }\n\n  function serializeArray(value: any[]): string {\n    if (stack.includes(value)) {\n      throw TypeError('Converting circular structure to JSON11');\n    }\n\n    stack.push(value);\n\n    let stepback = indent;\n    indent = indent + gap;\n\n    let partial: string[] = [];\n    for (let i = 0; i < value.length; i++) {\n      const propertyString = serializeProperty(String(i), value);\n      partial.push((propertyString !== undefined) ? propertyString : 'null');\n    }\n\n    let final: string;\n    if (partial.length === 0) {\n      final = '[]';\n    } else {\n      if (gap === '') {\n        let properties = partial.join(',');\n        final = '[' + properties + ']';\n      } else {\n        let properties = partial.join(',\\n' + indent);\n        final = '[\\n' + indent + properties + trailingComma + '\\n' + stepback + ']';\n      }\n    }\n\n    stack.pop();\n    indent = stepback;\n    return final;\n  }\n}\n"],"names":["unicode","Space_Separator","ID_Start","ID_Continue","isIdStartChar","c","test","isIdContinueChar","isDigit","isHexDigit","parse","text","reviver","options","token","key","root","lexState","buffer","doubleQuote","sign","source","String","parseState","stack","pos","line","column","lexStates","read","newToken","util.isSpaceSeparator","invalidChar","multiLineCommentAsterisk","singleLineComment","literal","Infinity","NaN","identifierNameStartEscape","u","unicodeEscape","util.isIdStartChar","invalidIdentifier","util.isIdContinueChar","util.isDigit","newNumericToken","decimalPoint","length","s","util.isHex","BigInt","util.isHexDigit","string","peek","fromCodePoint","parseInt","escape","console","warn","formatChar","beforePropertyName","afterPropertyName","beforePropertyValue","afterPropertyValue","beforeArrayValue","afterArrayValue","parseStates","type","invalidEOF","push","value","pop","lex","internalize","holder","name","Array","isArray","i","replacement","Object","defineProperty","writable","enumerable","configurable","call","codePointAt","num","Number","withLongNumerals","MAX_SAFE_INTEGER","MIN_SAFE_INTEGER","ex","count","parent","current","syntaxError","replacements","hexString","charCodeAt","toString","substring","message","err","SyntaxError","stringify","replacerOrAllowListOrOptions","space","_a","_b","_c","_d","_e","propertyList","replacer","quote","withBigInt","withLegacyEscapes","indent","gap","nameSerializer","quoteString","firstChar","trailingComma","quoteWeights","propertySet","Set","v","add","getGap","trim","quoteNames","quoteReplacements","quoteReplacementForNulFollowedByDigit","serializeProperty","isFinite","repeat","Math","min","floor","toJSON11","toJSON5","toJSON","Boolean","valueOf","includes","TypeError","stepback","final","partial","propertyString","join","properties","keys","member","product","padStart","quoteChar","reduce","a","b","replace","RegExp"],"mappings":"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"}