@zuplo/cli 7.7.5 → 7.7.6
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/node_modules/@zuplo/core/customer.cli.minified.js +1 -1
- package/node_modules/@zuplo/core/index.minified.js +1 -1
- package/node_modules/@zuplo/core/package.json +1 -1
- package/node_modules/@zuplo/graphql/package.json +1 -1
- package/node_modules/@zuplo/openapi-tools/package.json +1 -1
- package/node_modules/@zuplo/otel/package.json +1 -1
- package/node_modules/@zuplo/runtime/out/esm/{chunk-FG5UOOBE.js → chunk-2JN5KYSY.js} +2 -2
- package/node_modules/@zuplo/runtime/out/esm/{chunk-WTU7BX36.js → chunk-7ZX347IG.js} +2 -2
- package/node_modules/@zuplo/runtime/out/esm/{chunk-XC7IKEBU.js → chunk-A7PEKB6K.js} +3 -3
- package/node_modules/@zuplo/runtime/out/esm/{chunk-XC7IKEBU.js.map → chunk-A7PEKB6K.js.map} +1 -1
- package/node_modules/@zuplo/runtime/out/esm/{chunk-4VEYTMJC.js → chunk-YDOBWNLO.js} +71 -71
- package/node_modules/@zuplo/runtime/out/esm/chunk-YDOBWNLO.js.map +1 -0
- package/node_modules/@zuplo/runtime/out/esm/index.js +1 -1
- package/node_modules/@zuplo/runtime/out/esm/internal/index.js +1 -1
- package/node_modules/@zuplo/runtime/out/esm/mcp-gateway/index.js +1 -1
- package/node_modules/@zuplo/runtime/out/esm/mocks/index.js +1 -1
- package/node_modules/@zuplo/runtime/out/esm/sdks/aws/index.js +1 -1
- package/node_modules/@zuplo/runtime/package.json +1 -1
- package/package.json +11 -11
- package/node_modules/@zuplo/runtime/out/esm/chunk-4VEYTMJC.js.map +0 -1
- /package/node_modules/@zuplo/runtime/out/esm/{chunk-FG5UOOBE.js.map → chunk-2JN5KYSY.js.map} +0 -0
- /package/node_modules/@zuplo/runtime/out/esm/{chunk-WTU7BX36.js.map → chunk-7ZX347IG.js.map} +0 -0
- /package/node_modules/@zuplo/runtime/out/esm/{chunk-XC7IKEBU.js.LEGAL.txt → chunk-A7PEKB6K.js.LEGAL.txt} +0 -0
- /package/node_modules/@zuplo/runtime/out/esm/{chunk-4VEYTMJC.js.LEGAL.txt → chunk-YDOBWNLO.js.LEGAL.txt} +0 -0
|
@@ -568,7 +568,7 @@ globstar while`,s,pe,o,ae,rt),this.matchOne(s.slice(pe),o.slice(ae),f))return th
|
|
|
568
568
|
`],[102,"\f"],[114,"\r"],[116," "]]),xoe=new Map([...SV,[118,"\v"],[48,"\0"]]),UKt=new Map([['"','"'],["\\","\\"],["/","/"],["\b","b"],[`
|
|
569
569
|
`,"n"],["\f","f"],["\r","r"],[" ","t"]]),$Er=new Map([...UKt,["\v","v"],["\0","0"],["\u2028","u2028"],["\u2029","u2029"]]),Toe=new Map([["[","LBracket"],["]","RBracket"],["{","LBrace"],["}","RBrace"],[":","Colon"],[",","Comma"],[RKt,"Boolean"],[MKt,"Boolean"],[jKt,"Null"]]),Soe=new Map([...Toe,["NaN","Number"],[BKt,"Number"]]),FPe=new Set([10,13,8232,8233]),LP=class extends Error{static{t(this,"ErrorWithLocation")}constructor(o,{line:f,column:d,offset:y}){super(`${o} (${f}:${d})`),this.line=f,this.column=d,this.offset=y}},LPe=class extends LP{static{t(this,"UnexpectedChar")}constructor(o,f){super(`Unexpected character '${String.fromCharCode(o)}' found.`,f)}},RPe=class extends LP{static{t(this,"UnexpectedIdentifier")}constructor(o,f){super(`Unexpected identifier '${o}' found.`,f)}},sO=class extends LP{static{t(this,"UnexpectedToken")}constructor(o){super(`Unexpected token ${o.type} found.`,o.loc.start)}},Eoe=class extends LP{static{t(this,"UnexpectedEOF")}constructor(o){super("Unexpected end of input found.",o)}},zKt=/[\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]/,JKt=/[\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]/,$Kt=13,Ant=10,MPe=class{static{t(this,"CharCodeReader")}#e="";#r=1;#t=0;#n=-1;#s=!1;#d=-1;#l=!1;constructor(o){this.#e=o}#u(){this.#l||(this.#t++,this.#n++,this.#d=-1,this.#l=!0)}locate(){return{line:this.#r,column:this.#t,offset:this.#n}}next(){if(this.#n>=this.#e.length-1)return this.#u(),-1;this.#n++;let o=this.#e.charCodeAt(this.#n);return this.#s?(this.#r++,this.#t=1,this.#s=!1):this.#t++,o===$Kt?(this.#s=!0,this.peek()===Ant&&this.#n++):o===Ant&&(this.#s=!0),this.#d=o,o}peek(){return this.#n===this.#e.length-1?-1:this.#e.charCodeAt(this.#n+1)}match(o){return o(this.peek())?(this.next(),!0):!1}current(){return this.#d}},WKt="Infinity",qKt="NaN",VKt=new Set([116,102,110]),jPe=new Set([32,9,10,13]),Nnt=new Set([...jPe,11,12,160,8232,8233,65279,160,8192,8193,8194,8195,8196,8197,8198,8199,8200,8201,8202,8239,8287,12288]),HKt={mode:"json",ranges:!1},GKt=new Set(["true","false","null"]),g_={EOF:0,Number:1,String:2,Boolean:3,Null:4,NaN:5,Infinity:6,Identifier:7,Colon:20,LBrace:21,RBrace:22,LBracket:23,RBracket:24,Comma:25,LineComment:40,BlockComment:41};function FP(s){return s>=48&&s<=57}t(FP,"isDigit");function OPe(s){return FP(s)||s>=65&&s<=70||s>=97&&s<=102}t(OPe,"isHexDigit");function YKt(s){return s>=49&&s<=57}t(YKt,"isPositiveDigit");function KKt(s){return VKt.has(s)}t(KKt,"isKeywordStart");function Ont(s){return FP(s)||s===46||s===45}t(Ont,"isNumberStart");function XKt(s){return Ont(s)||s===43}t(XKt,"isJSON5NumberStart");function Int(s,o){return s===34||o&&s===39}t(Int,"isStringStart");function Fnt(s){if(s===36||s===95||s===92||s>=97&&s<=122||s>=65&&s<=90||s===8204||s===8205)return!0;let o=String.fromCharCode(s);return zKt.test(o)}t(Fnt,"isJSON5IdentifierStart");function ZKt(s){if(Fnt(s)||FP(s))return!0;let o=String.fromCharCode(s);return JKt.test(o)}t(ZKt,"isJSON5IdentifierPart");var BPe=class{static{t(this,"Tokenizer")}#e;#r;#t;#n;#s;#d;#l;#u;#f;#_;#c;constructor(o,f){this.#r=o,this.#e={...HKt,...f},this.#t=new MPe(o),this.#n=this.#e.mode==="json5",this.#s=this.#e.mode!=="json",this.#d=this.#e.ranges,this.#u=this.#n?xoe.has.bind(xoe):SV.has.bind(SV),this.#f=this.#n?FPe.has.bind(FPe):()=>!1,this.#_=this.#n?d=>d===120:()=>!1,this.#c=this.#n?Nnt.has.bind(Nnt):jPe.has.bind(jPe)}#i(o,f=this.#t.locate()){throw new LPe(o,f)}#a(o,f=this.#t.locate()){throw new RPe(o,f)}#h(){throw new Eoe(this.#t.locate())}#p(o,f,d,y){let E=d.offset+f,A=this.#e.ranges?{range:[d.offset,E]}:void 0;return{type:o,loc:{start:d,end:y||{line:d.line,column:d.column+f,offset:E}},...A}}#m(o){let f="",d;for(let y=0;y<o;y++){if(d=this.#t.peek(),OPe(d)){this.#t.next(),f+=String.fromCharCode(d);continue}this.#i(d)}return f}#g(o){let f="";do{if(f+=String.fromCharCode(o),o===92&&(o=this.#t.next(),o!==117&&this.#i(o),f+=String.fromCharCode(o),f+=this.#m(4)),o=this.#t.peek(),!ZKt(o))break;this.#t.next()}while(!0);return f}#v(o){let f=o,d=1;for(o=this.#t.peek();o!==-1&&o!==f;){if(this.#t.next(),d++,o===92)if(o=this.#t.peek(),this.#u(o)||this.#f(o))this.#t.next(),d++;else if(o===117){this.#t.next(),d++;let y=this.#m(4);d+=y.length}else if(this.#_(o)){this.#t.next(),d++;let y=this.#m(2);d+=y.length}else this.#n?(this.#t.next(),d++):this.#i(o);o=this.#t.peek()}return o===-1&&(this.#t.next(),this.#h()),this.#t.next(),d++,d}#b(o){let f=1;if(o===45||this.#n&&o===43){if(o=this.#t.peek(),this.#n&&(o===73||o===78)){this.#t.next();let d=this.#g(o);return d!==WKt&&d!==qKt&&this.#i(o),f+d.length}FP(o)||this.#i(o),this.#t.next(),f++}if(o===48)if(o=this.#t.peek(),this.#n&&(o===120||o===88)){this.#t.next(),f++,o=this.#t.peek(),OPe(o)||(this.#t.next(),this.#i(o));do this.#t.next(),f++,o=this.#t.peek();while(OPe(o))}else FP(o)&&this.#i(o);else if(!this.#n||o!==46)for(YKt(o)||this.#i(o),o=this.#t.peek();FP(o);)this.#t.next(),f++,o=this.#t.peek();if(o===46){let d=-1;for(this.#t.next(),f++,d++,o=this.#t.peek();FP(o);)this.#t.next(),f++,d++,o=this.#t.peek();!this.#n&&d===0&&(this.#t.next(),o?this.#i(o):this.#h())}if(o===101||o===69)for(this.#t.next(),f++,o=this.#t.peek(),(o===43||o===45)&&(this.#t.next(),f++,o=this.#t.peek()),o===-1&&(this.#t.next(),this.#h()),FP(o)||(this.#t.next(),this.#i(o));FP(o);)this.#t.next(),f++,o=this.#t.peek();return f}#E(o){let f=1;if(o=this.#t.peek(),o===47){do this.#t.next(),f+=1,o=this.#t.peek();while(o>-1&&o!==13&&o!==10);return{length:f,multiline:!1}}if(o===42){for(this.#t.next(),f+=1;o>-1;)if(o=this.#t.peek(),o===42){if(this.#t.next(),f+=1,o=this.#t.peek(),o===47)return this.#t.next(),f+=1,{length:f,multiline:!0}}else this.#t.next(),f+=1;this.#t.next(),this.#h()}this.#t.next(),this.#i(o)}next(){let o=this.#t.next();for(;this.#c(o);)o=this.#t.next();if(o===-1)return g_.EOF;let f=this.#t.locate(),d=String.fromCharCode(o);if(this.#n)if(Soe.has(d))this.#l=this.#p(Soe.get(d),1,f);else if(Fnt(o)){let y=this.#g(o);Soe.has(y)?this.#l=this.#p(Soe.get(y),y.length,f):this.#l=this.#p("Identifier",y.length,f)}else if(XKt(o)){let y=this.#b(o);this.#l=this.#p("Number",y,f)}else if(Int(o,this.#n)){let y=this.#v(o),E=this.#t.locate();this.#l=this.#p("String",y,f,{line:E.line,column:E.column+1,offset:E.offset+1})}else if(o===47&&this.#s){let y=this.#E(o),E=this.#t.locate();this.#l=this.#p(y.multiline?"BlockComment":"LineComment",y.length,f,{line:E.line,column:E.column+1,offset:E.offset+1})}else this.#i(o);else if(Toe.has(d))this.#l=this.#p(Toe.get(d),1,f);else if(KKt(o)){let y=this.#g(o);GKt.has(y)||this.#a(y,f),this.#l=this.#p(Toe.get(y),y.length,f)}else if(Ont(o)){let y=this.#b(o);this.#l=this.#p("Number",y,f)}else if(Int(o,this.#n)){let y=this.#v(o);this.#l=this.#p("String",y,f)}else if(o===47&&this.#s){let y=this.#E(o),E=this.#t.locate();this.#l=this.#p(y.multiline?"BlockComment":"LineComment",y.length,f,{line:E.line,column:E.column+1,offset:E.offset+1})}else this.#i(o);return g_[this.#l.type]}get token(){return this.#l}};var fT={document(s,o={}){return{type:"Document",body:s,loc:o.loc,...o}},string(s,o={}){return{type:"String",value:s,loc:o.loc,...o}},number(s,o={}){return{type:"Number",value:s,loc:o.loc,...o}},boolean(s,o={}){return{type:"Boolean",value:s,loc:o.loc,...o}},null(s={}){return{type:"Null",loc:s.loc,...s}},array(s,o={}){return{type:"Array",elements:s,loc:o.loc,...o}},element(s,o={}){return{type:"Element",value:s,loc:o.loc,...o}},object(s,o={}){return{type:"Object",members:s,loc:o.loc,...o}},member(s,o,f={}){return{type:"Member",name:s,value:o,loc:f.loc,...f}},identifier(s,o={}){return{type:"Identifier",name:s,loc:o.loc,...o}},nan(s="",o={}){return{type:"NaN",sign:s,loc:o.loc,...o}},infinity(s="",o={}){return{type:"Infinity",sign:s,loc:o.loc,...o}}},QKt={mode:"json",ranges:!1,tokens:!1,allowTrailingCommas:!1};function eXt(s,o,f=!1){let d="",y=s.indexOf("\\"),E=0;for(;y>=0;){d+=s.slice(E,y);let A=s.charAt(y+1),R=A.charCodeAt(0);if(f&&xoe.has(R))d+=xoe.get(R),E=y+2;else if(SV.has(R))d+=SV.get(R),E=y+2;else if(A==="u"){let q=s.slice(y+2,y+6);if(q.length<4||/[^0-9a-f]/i.test(q))throw new LP(`Invalid unicode escape \\u${q}.`,{line:o.loc.start.line,column:o.loc.start.column+y,offset:o.loc.start.offset+y});d+=String.fromCharCode(parseInt(q,16)),E=y+6}else if(f&&A==="x"){let q=s.slice(y+2,y+4);if(q.length<2||/[^0-9a-f]/i.test(q))throw new LP(`Invalid hex escape \\x${q}.`,{line:o.loc.start.line,column:o.loc.start.column+y,offset:o.loc.start.offset+y});d+=String.fromCharCode(parseInt(q,16)),E=y+4}else if(f&&FPe.has(R))E=y+2,A==="\r"&&s.charAt(E)===`
|
|
570
570
|
`&&E++;else if(f)d+=A,E=y+2;else throw new LP(`Invalid escape \\${A}.`,{line:o.loc.start.line,column:o.loc.start.column+y,offset:o.loc.start.offset+y});y=s.indexOf("\\",E)}return d+=s.slice(E),d}t(eXt,"getStringValue");function tXt(s,o,f=!1){switch(o.type){case"Boolean":return s==="true";case"Number":return Number(s);case"String":return eXt(s.slice(1,-1),o,f);default:throw new TypeError(`Unknown token type "${o.type}.`)}}t(tXt,"getLiteralValue");function Lnt(s,o){o=Object.freeze({...QKt,...o});let f=[],d=new BPe(s,{mode:o.mode,ranges:o.ranges}),y=o.mode==="json5",E=o.allowTrailingCommas||y;function A(){let Nr=d.next();return Nr&&o.tokens&&f.push(d.token),Nr}t(A,"nextNoComments");function R(){let Nr=d.next();return Nr&&o.tokens&&f.push(d.token),Nr>=g_.LineComment?R():Nr}t(R,"nextSkipComments");let q=o.mode==="json"?A:R;function K(Nr,br){if(Nr!==br)throw new sO(d.token)}t(K,"assertTokenType");function ve(Nr,br){if(!br.includes(Nr))throw new sO(d.token)}t(ve,"assertTokenTypes");function pe(Nr,br){return o.ranges?{range:[Nr.offset,br.offset]}:void 0}t(pe,"createRange");function ae(Nr){let br=d.token,js=pe(br.loc.start,br.loc.end),Ni=tXt(s.slice(br.loc.start.offset,br.loc.end.offset),br,y),ji={loc:{start:{...br.loc.start},end:{...br.loc.end}},...js};switch(Nr){case g_.String:return fT.string(Ni,ji);case g_.Number:return fT.number(Ni,ji);case g_.Boolean:return fT.boolean(Ni,ji);default:throw new TypeError(`Unknown token type ${br.type}.`)}}t(ae,"createLiteralNode");function rt(Nr){let br=pe(Nr.loc.start,Nr.loc.end),js=s.slice(Nr.loc.start.offset,Nr.loc.end.offset),jo={loc:{start:{...Nr.loc.start},end:{...Nr.loc.end}},...br};if(Nr.type!=="Identifier"){let ji="";return(js[0]==="+"||js[0]==="-")&&(ji=js[0]),fT[js.includes("NaN")?"nan":"infinity"](ji,jo)}return fT.identifier(js,jo)}t(rt,"createJSON5IdentifierNode");function ze(Nr){let br=pe(Nr.loc.start,Nr.loc.end);return fT.null({loc:{start:{...Nr.loc.start},end:{...Nr.loc.end}},...br})}t(ze,"createNullNode");function je(Nr){y?ve(Nr,[g_.String,g_.Identifier,g_.Number]):K(Nr,g_.String);let br=d.token,js=Nr===g_.String?ae(Nr):rt(br);if(y&&(js.type==="NaN"||js.type==="Infinity")){if(js.sign!=="")throw new sO(d.token);js=fT.identifier(js.type,{loc:js.loc,...pe(js.loc.start,js.loc.end)})}Nr=q(),K(Nr,g_.Colon);let Ni=Or(),jo=pe(js.loc.start,Ni.loc.end);return fT.member(js,Ni,{loc:{start:{...js.loc.start},end:{...Ni.loc.end}},...jo})}t(je,"parseProperty");function Bt(Nr){K(Nr,g_.LBrace);let br=d.token,js=[],Ni=q();if(Ni!==g_.RBrace)do{if(js.push(je(Ni)),Ni=q(),!Ni)throw new Eoe(js[js.length-1].loc.end);if(Ni===g_.Comma){if(Ni=q(),E&&Ni===g_.RBrace)break}else break}while(Ni);K(Ni,g_.RBrace);let jo=d.token,ji=pe(br.loc.start,jo.loc.end);return fT.object(js,{loc:{start:{...br.loc.start},end:{...jo.loc.end}},...ji})}t(Bt,"parseObject");function Ut(Nr){K(Nr,g_.LBracket);let br=d.token,js=[],Ni=q();if(Ni!==g_.RBracket)do{let Op=Or(Ni);if(js.push(fT.element(Op,{loc:Op.loc})),Ni=q(),Ni===g_.Comma){if(Ni=q(),E&&Ni===g_.RBracket)break}else break}while(Ni);K(Ni,g_.RBracket);let jo=d.token,ji=pe(br.loc.start,jo.loc.end);return fT.array(js,{loc:{start:{...br.loc.start},end:{...jo.loc.end}},...ji})}t(Ut,"parseArray");function Or(Nr){Nr=Nr??q();let br=d.token;switch(Nr){case g_.String:case g_.Boolean:return ae(Nr);case g_.Number:if(y){let js=s.slice(br.loc.start.offset,br.loc.end.offset);if((js[0]==="+"||js[0]==="-")&&(js=js.slice(1)),js==="NaN"||js==="Infinity")return rt(br)}return ae(Nr);case g_.Null:return ze(br);case g_.LBrace:return Bt(Nr);case g_.LBracket:return Ut(Nr);default:throw new sO(br)}}t(Or,"parseValue");let Jn=Or();if(q())throw new sO(d.token);let Wn={loc:{start:{line:1,column:1,offset:0},end:{...Jn.loc.end}}};return o.tokens&&(Wn.tokens=f),o.ranges&&(Wn.range=[Wn.loc.start.offset,Wn.loc.end.offset]),fT.document(Jn,Wn)}t(Lnt,"parse");var rXt=new Map([["Document",["body"]],["Object",["members"]],["Member",["name","value"]],["Element",["value"]],["Array",["elements"]],["String",[]],["Number",[]],["Boolean",[]],["Null",[]],["NaN",[]],["Infinity",[]],["Identifier",[]]]);function Rnt(s){return s&&typeof s=="object"}t(Rnt,"isObject");function nXt(s){return Rnt(s)&&typeof s.type=="string"}t(nXt,"isNode");function iXt(s,o){function f(d,y){typeof o.enter=="function"&&o.enter(d,y);for(let E of rXt.get(d.type)){let A=d[E];Rnt(A)&&(Array.isArray(A)?A.forEach(R=>f(R,d)):nXt(A)&&f(A,d))}typeof o.exit=="function"&&o.exit(d,y)}t(f,"visitNode"),f(s)}t(iXt,"traverse");function Mnt(s,o=()=>!0){let f=[];return iXt(s,{enter(d,y){f.push({node:d,parent:y,phase:"enter"})},exit(d,y){f.push({node:d,parent:y,phase:"exit"})}}),f.filter(o).values()}t(Mnt,"iterator");import sXt from"node:fs/promises";var TV=t((s,o)=>s.split(/\r?\n/)[o-1],"getFileLineContent"),Coe=t(async s=>{try{return await sXt.readFile(s,"utf-8")}catch{return}},"getSchemaContent"),xV=t(async s=>{try{return Lnt(s)}catch(o){if(o.column&&o.line&&o.message){let f=TV(s,o.line);return{column:o.column,line:o.line,length:void 0,lineText:f}}return}},"getSchemaAST");var jnt=t(async(s,o,f)=>{try{if(s.length===0)return;for(let d of s){let y=await Coe(d),E=await aXt(y,d,o,f);if(E)return E}}catch{}},"getRouteLocationByValue"),aXt=t(async(s,o,f,d)=>{try{if(!s)return;let y=null,E=await xV(s);if(E){for(let{node:A}of Mnt(E))if(A.value&&A.value===f){y=A.loc;break}if(y!==null){let A=TV(s,y.start.line);return{file:o,line:y.start.line,column:y.start.column,length:y.end.column-y.start.column,lineText:A,suggestion:d}}}}catch{}},"getRouteLocationByValueFromSchema");import Bnt from"node:fs/promises";import vE from"node:path";var UPe="schemas",zPe=".oas.json";var aO=t(async s=>(await Bnt.readdir(s)).map(f=>vE.join(s,f)).filter(f=>f.endsWith(zPe)).sort(),"getOpenApiFilesByAlphabetical"),B9=t(async s=>{let o=vE.resolve(s,"config");return(await Bnt.readdir(o)).filter(d=>d.endsWith(zPe)).length>=1},"oasFileInProject");function EV(s,o,f,d,y,E,A){if(E.has(f))return;let R;try{R=d.get(f)}catch(ze){throw new w1({text:`Failed to resolve reference: ${f}`,detail:ze.message,severity:"error",message:"Failed to resolve reference",location:{file:s,column:0,line:0,length:0,lineText:f,namespace:o,suggestion:"Check the reference and try again."}})}let q=woe(f),K=vE.basename(q,vE.extname(q)),ve=f.indexOf("#"),pe=ve>=0?f.substring(0,ve):f,ae=ve>=0?f.substring(ve+1):"",rt=d.get(pe);if(ae){let ze=ae.split("/").filter(Boolean);for(let je of ze)if(rt=rt[je],rt===void 0)throw new Error(`Cannot resolve JSON pointer: ${ae}`)}if(rt&&typeof rt=="object"&&"$ref"in rt&&typeof rt.$ref=="string"&&!rt.$ref.startsWith("#")){let ze=vE.resolve(vE.dirname(pe),rt.$ref);if(q=ze,K=vE.basename(q,vE.extname(q)),pe=ze,E.has(pe)){let Bt=E.get(pe);if(Bt===void 0)throw new Error(`Expected to find ${pe} in refsVisited map`);E.set(f,Bt);return}let je=y.length;E.set(f,je),E.set(pe,je),y.push(pe),koe(q,K,R,d,y,E,A)}else E.set(f,y.length),y.push(f),koe(woe(f),o,R,d,y,E,A)}t(EV,"chaseRefs");function koe(s,o,f,d,y,E,A){if(Array.isArray(f))for(let R of f)koe(s,o,R,d,y,E,A);else if(typeof f=="object")for(let R in f){if(R==="$ref"){let q=f[R];A&&(f[R]=A(o,q,s)),EV(s,o,$N(s,q),d,y,E,A)}koe(s,o,f[R],d,y,E,A)}}t(koe,"lookForRefs");function $N(s,o){let f=o.indexOf("#");return f>=0?`${vE.resolve(s,o.substring(0,f))}${o.substring(f)}`:vE.resolve(vE.dirname(s),o)}t($N,"getFullyQualifiedRefName");function woe(s){let o=s.indexOf("#");return o>=0?s.substring(0,o):s}t(woe,"getFilePathNameFromRefName");import sle from"node:path";var Doe=class s{static{t(this,"ContextData")}static#e;#r;constructor(o){this.#r=o}get(o){return s.get(o,this.#r)}static get(o,f){return s.#e||(s.#e=new WeakMap),s.#e.get(o)?.get(f)}set(o,f){s.set(o,this.#r,f)}static set(o,f,d){s.#e||(s.#e=new WeakMap);let y=s.#e.get(o);y||(y=new Map),y.set(f,d),s.#e.set(o,y)}};var dCr=new Doe(Symbol("ai-gateway-app-configuration"));function oXt(s){if(s.length>=255)throw new TypeError("Alphabet too long");let o=new Uint8Array(256);for(let K=0;K<o.length;K++)o[K]=255;for(let K=0;K<s.length;K++){let ve=s.charAt(K),pe=ve.charCodeAt(0);if(o[pe]!==255)throw new TypeError(ve+" is ambiguous");o[pe]=K}let f=s.length,d=s.charAt(0),y=Math.log(f)/Math.log(256),E=Math.log(256)/Math.log(f);function A(K){if(K instanceof Uint8Array||(ArrayBuffer.isView(K)?K=new Uint8Array(K.buffer,K.byteOffset,K.byteLength):Array.isArray(K)&&(K=Uint8Array.from(K))),!(K instanceof Uint8Array))throw new TypeError("Expected Uint8Array");if(K.length===0)return"";let ve=0,pe=0,ae=0,rt=K.length;for(;ae!==rt&&K[ae]===0;)ae++,ve++;let ze=(rt-ae)*E+1>>>0,je=new Uint8Array(ze);for(;ae!==rt;){let Or=K[ae],Jn=0;for(let _n=ze-1;(Or!==0||Jn<pe)&&_n!==-1;_n--,Jn++)Or+=256*je[_n]>>>0,je[_n]=Or%f>>>0,Or=Or/f>>>0;if(Or!==0)throw new Error("Non-zero carry");pe=Jn,ae++}let Bt=ze-pe;for(;Bt!==ze&&je[Bt]===0;)Bt++;let Ut=d.repeat(ve);for(;Bt<ze;++Bt)Ut+=s.charAt(je[Bt]);return Ut}t(A,"encode");function R(K){if(typeof K!="string")throw new TypeError("Expected String");if(K.length===0)return new Uint8Array;let ve=0,pe=0,ae=0;for(;K[ve]===d;)pe++,ve++;let rt=(K.length-ve)*y+1>>>0,ze=new Uint8Array(rt);for(;ve<K.length;){let Or=K.charCodeAt(ve);if(Or>255)return;let Jn=o[Or];if(Jn===255)return;let _n=0;for(let Wn=rt-1;(Jn!==0||_n<ae)&&Wn!==-1;Wn--,_n++)Jn+=f*ze[Wn]>>>0,ze[Wn]=Jn%256>>>0,Jn=Jn/256>>>0;if(Jn!==0)throw new Error("Non-zero carry");ae=_n,ve++}let je=rt-ae;for(;je!==rt&&ze[je]===0;)je++;let Bt=new Uint8Array(pe+(rt-je)),Ut=pe;for(;je!==rt;)Bt[Ut++]=ze[je++];return Bt}t(R,"decodeUnsafe");function q(K){let ve=R(K);if(ve)return ve;throw new Error("Non-base"+f+" character")}return t(q,"decode"),{encode:A,decodeUnsafe:R,decode:q}}t(oXt,"base");var Unt=oXt;var cXt="123456789ABCDEFGHJKLMNPQRSTUVWXYZabcdefghijkmnopqrstuvwxyz",Poe=Unt(cXt);var znt="x-real-ip",JPe="true-client-ip";var Jnt="zp-local-service";var Aoe=class extends Error{static{t(this,"SystemError")}constructor(o,f){super(o,f),this.name="InternalError"}},RP=class extends Error{static{t(this,"RuntimeError")}extensionMembers;constructor(o,f){typeof o=="string"?super(o,f):(super(o.message,f),this.extensionMembers=o.extensionMembers),this.name="RuntimeError"}};var lXt=!1;function U9(s,o){return{open:`\x1B[${s.join(";")}m`,close:`\x1B[${o}m`,regexp:new RegExp(`\\x1b\\[${o}m`,"g")}}t(U9,"code");function z9(s,o){return lXt?`${o.open}${s.replace(o.regexp,o.open)}${o.close}`:s}t(z9,"run");function uXt(s){return z9(s,U9([31],39))}t(uXt,"red");function fXt(s){return z9(s,U9([32],39))}t(fXt,"green");function _Xt(s){return z9(s,U9([33],39))}t(_Xt,"yellow");function pXt(s){return z9(s,U9([34],39))}t(pXt,"blue");function dXt(s){return z9(s,U9([35],39))}t(dXt,"magenta");function mXt(s){return z9(s,U9([36],39))}t(mXt,"cyan");var xCr=new RegExp(["[\\u001B\\u009B][[\\]()#;?]*(?:(?:(?:[a-zA-Z\\d]*(?:;[-a-zA-Z\\d\\/#&.:=?%@~_]*)*)?\\u0007)","(?:(?:\\d{1,4}(?:;\\d{0,4})*)?[\\dA-PR-TZcf-ntqry=><~]))"].join("|"),"g");var $nt=[uXt,fXt,_Xt,pXt,dXt,mXt];function hXt(s){let o=0,f=s.length,d=0;if(f>0)for(;d<f;)o=(o<<5)-o+s.charCodeAt(d++)|0;return o}t(hXt,"hashCode");function Wnt(s){let o=Math.abs(hXt(s));return $nt[o%$nt.length]}t(Wnt,"generateColor");import{inspect as gXt}from"node:util";function qnt(s,o,...f){let d=0,y=f.length,E=String(o).replace(/%[sdjoO%]/g,A=>{if(A==="%%")return"%";if(d>=y)return A;switch(A){case"%s":return String(f[d++]);case"%d":return Number(f[d++]).toString();case"%o":return s(f[d++]).split(`
|
|
571
|
-
`).map(R=>R.trim()).join(" ");case"%O":return s(f[d++]);case"%j":try{return JSON.stringify(f[d++])}catch{return"[Circular]"}default:return A}});for(let A of f.splice(d))A===null||!(typeof A=="object"&&A!==null)?E+=" "+A:E+=" "+s(A);return E}t(qnt,"format");var Vnt=t((s,...o)=>qnt(gXt,s,o),"format");var $Pe=class{static{t(this,"Debugger")}manager;ns;color;last;enabled;constructor(o,f){this.manager=o,this.ns=f,this.color=Wnt(f),this.last=0,this.enabled=o.enabled.some(d=>d.test(f))}log(...o){if(!this.enabled)return;let f,d=o[0];typeof d=="function"?f=d():f=String(d);let y=Date.now()-(this.last||Date.now());f=Vnt(f,...o);let E=`${this.color(this.ns)} ${f} ${this.color(`+${y}ms`)}`;console.log(E),this.last=Date.now()}},WPe=class{static{t(this,"DebugManager")}debuggers;enabled;constructor(o){this.debuggers=new Map,this.enabled=o??[]}};function yXt(s){return!s||s.length===0?[]:(s=s.replace(/\s/g,"").replace(/\*/g,".+"),s.split(",").map(o=>new RegExp(`^${o}$`)))}t(yXt,"extract");var Noe;function Ioe(s){Noe||(Noe=new WPe(yXt(process.env.DEBUG)));let o=new $Pe(Noe,s);return Noe.debuggers.set(s,o),Object.assign(o.log.bind(o),{self:o})}t(Ioe,"debug");var WN=Ioe("zuplo:runtime:external-service");function vXt(){let s,{__ZUPLO_EXTERNAL_SERVICE_TOKEN:o}=Cm.instance.runtime;if(o&&o!=="undefined")try{let f=atob(o);s=JSON.parse(f)}catch{}return s}t(vXt,"getServiceAuth");async function Hnt(s,o){let f=".proxy",d=".tunnel";if(typeof s=="string"){let y=new URL(s),E=y.hostname;if(E.endsWith(f)){let Bt=E.slice(0,-f.length),Ut=new URL(`http://${Bt}${y.pathname}${y.search}`);WN(`Routing to proxy: ${Ut.toString()}`);let Or=o??{};return CV(Ut.toString(),Or)}let A=E.endsWith(d),R=E.indexOf(".")===-1;if(!(A||R))throw new RP(`Invalid service hostname suffix: ${E}. Use .proxy for proxy routing, .tunnel for explicit tunnel routing, or no suffix for default tunnel routing.`);let K=A?E.slice(0,-d.length):E,ve=vXt();if(!ve)throw WN("There is no external service auth configured for this zup."),new RP("There are no external services configured for this zup.");WN(`Using external service auth. ClientId: ${ve.clientId})`);let pe=o??{},ae=new Headers(pe.headers||{});ae.set("CF-Access-Client-Id",ve.clientId),ae.set("CF-Access-Client-Secret",ve.clientSecret),pe.headers=ae;let rt;if(ve.customServiceMapping?.[K])rt=`https://${ve.customServiceMapping[K]}`;else if(Cm.instance.useLegacyServiceRouting)rt=`https://${K}.zuptunnel.com`;else{WN("Using sha256 service routing");let Bt=Cm.instance.build;if(Bt.ACCOUNT_NAME&&Bt.PROJECT_NAME&&Bt.ENVIRONMENT_TYPE){let Ut=await bXt(K,Bt.ACCOUNT_NAME,Bt.PROJECT_NAME,Bt.ENVIRONMENT_TYPE),Or=Ynt(Bt.ENVIRONMENT_TYPE),Jn=await qPe(`${Bt.ACCOUNT_NAME}-${Bt.PROJECT_NAME}-${Or}`);Jn==="40d7ad502f5d743997999594c177184a00161a77865423511f3a1ea21eb5a5e"||Jn==="d05bffe8fa91a300187d2cf43e8aa4a56bd809c442ae10d1ee49af7d29a5a11"?rt=`https://${Ut}.zuptunnel.com`:rt=`https://${Ut}.t.zuplo.app`}else throw WN("Cannot use sha256 service routing, missing build variables"),new RP("Failed to generate fully qualified tunnel url.")}let ze=new URL(`${rt}${y.pathname}${y.search}`);WN(`Calling external service: ${ze.toString()}`);let je=await CV(ze.toString(),pe);if(je.status===403&&je.headers.get("cf-access-domain")!==null)throw kV.console.error("403 Forbidden when calling external service.",{clientId:ve.clientId,tunnelHost:rt}),new RP("Could not connect to secure tunnel.");return je}else throw WN("Cannot call external service with Request object"),new RP("Currently, we only support fetch(<some_string>, ...).")}t(Hnt,"externalServiceHandler");async function Gnt(s,o){if(typeof s=="string"){let f=new URL(s),d=f.hostname,y=o??{},E=`http://${d}.zuplo.svc.cluster.local:9000`,A=new URL(`${E}${f.pathname}${f.search}`),R=new Headers(y.headers||{});return R.set(Jnt,d),y.headers=R,await CV(A.toString(),y)}else throw new RP("Currently, we only support fetch(<some_string>, ...).")}t(Gnt,"clusterServiceHandler");async function bXt(s,o,f,d){let y=s.toLowerCase(),E=o.toLowerCase(),A=f.toLowerCase(),R=Ynt(d);WN(`Hashing service name: ${E}-${y}.${E}-${A}-${R}`);let q=await qPe(`${E}-${y}`),K=await qPe(`${E}-${A}-${R}`);return`${q}.${K}`}t(bXt,"hashServiceName");async function qPe(s){let o=new TextEncoder().encode(s),f=await crypto.subtle.digest("SHA-256",o);return Array.from(new Uint8Array(f)).map(E=>E.toString(16).padStart(2,"0")).join("").slice(0,-1)}t(qPe,"hashSegment");function Ynt(s){let o=s.toLowerCase();switch(o){case"production":case"preview":return o;default:return"working-copy"}}t(Ynt,"sanitizeEnvironmentType");var VPe=new Map;VPe.set("service:",Hnt);VPe.set("local:",Gnt);var CV=globalThis.fetch;function HPe(s,o){let{transformedInit:f,mtlsCertificate:d}=SXt(o);if(typeof s=="string"){let y=new URL(s),E=VPe.get(y.protocol);return E?E(s,f):Knt(s,f,d)}else return Knt(s,f,d)}t(HPe,"internalFetch");globalThis.fetch=HPe;function Knt(s,o,f){if(!f)return CV(s,o);if(Cm.instance.isCloudflare){let y=Cm.instance.runtime[f];if(!y)throw new Error(`mTLS certificate binding '${f}' not found. Ensure the certificate is uploaded and properly configured.`);if(typeof y!="object"||typeof y.fetch!="function")throw new Error(`mTLS certificate binding '${f}' is not a valid mTLS certificate binding. Make sure it's configured as an mTLS certificate, not an environment variable.`);return y.fetch(s,o)}else if(Cm.instance.isDeno){let d=globalThis.managedDedicatedMtlsBindings?.[f];if(!d)throw new Error(`mTLS certificate binding '${f}' not found. Ensure the certificate is uploaded and properly configured.`);if(typeof d.fetch!="function")throw new Error(`mTLS certificate binding '${f}' is not a valid mTLS certificate binding.`);return d.fetch(s,o)}else throw new Error("mTLS client certificates are not supported in this runtime environment")}t(Knt,"performFetch");var SXt=t(s=>{if(!s||s instanceof Request)return{transformedInit:s,mtlsCertificate:void 0};let o=s;if(!o.zuplo)return{transformedInit:s,mtlsCertificate:void 0};let f=o.zuplo.mtlsCertificate,d=s;return d.cf={cacheEverything:o.zuplo?.cacheEverything,cacheTtl:o.zuplo?.cacheTtlSeconds},delete s.zuplo,{transformedInit:s,mtlsCertificate:f}},"transformInit");var TXt={console:{log:console.log.bind(console),info:console.info.bind(console),warn:console.warn.bind(console),error:console.error.bind(console),debug:console.debug.bind(console),assert:console.assert.bind(console),clear:console.clear.bind(console),count:console.count.bind(console),countReset:console.countReset.bind(console),dir:console.dir.bind(console),dirxml:console.dirxml.bind(console),group:console.group.bind(console),groupCollapsed:console.groupCollapsed.bind(console),groupEnd:console.groupEnd.bind(console),table:console.table.bind(console),time:console.time.bind(console),timeEnd:console.timeEnd.bind(console),timeLog:console.timeLog.bind(console),timeStamp:console.timeStamp.bind(console),trace:console.trace.bind(console),profile:console.profile.bind(console),profileEnd:console.profileEnd.bind(console)},fetch:HPe},kV=TXt;var GPe="2025-02-06",Xnt=Object.freeze({none:{runOutboundPoliciesOnHandlerOnAllStatuses:!1,doNotRunHooksOnSystemRoutes:!1,removeAllVendorHeadersExceptListed:!1,allowCustomPorts:!1,removeLegacyLogInitialization:!1,useForwardRedirectsPropOnUrlForwardHandler:!1,chainResponseSendingHooks:!1,return501ForUnsupportedHttpMethods:!1},"2023-03-14":{runOutboundPoliciesOnHandlerOnAllStatuses:!1,doNotRunHooksOnSystemRoutes:!1,removeAllVendorHeadersExceptListed:!1,allowCustomPorts:!1,removeLegacyLogInitialization:!1,useForwardRedirectsPropOnUrlForwardHandler:!1,chainResponseSendingHooks:!1,return501ForUnsupportedHttpMethods:!1},"2024-01-15":{runOutboundPoliciesOnHandlerOnAllStatuses:!0,doNotRunHooksOnSystemRoutes:!0,removeAllVendorHeadersExceptListed:!0,allowCustomPorts:!1,removeLegacyLogInitialization:!1,useForwardRedirectsPropOnUrlForwardHandler:!1,chainResponseSendingHooks:!1,return501ForUnsupportedHttpMethods:!1},"2024-03-14":{runOutboundPoliciesOnHandlerOnAllStatuses:!0,doNotRunHooksOnSystemRoutes:!0,removeAllVendorHeadersExceptListed:!0,allowCustomPorts:!1,removeLegacyLogInitialization:!1,useForwardRedirectsPropOnUrlForwardHandler:!1,chainResponseSendingHooks:!1,return501ForUnsupportedHttpMethods:!1},"2024-09-02":{runOutboundPoliciesOnHandlerOnAllStatuses:!0,doNotRunHooksOnSystemRoutes:!0,removeAllVendorHeadersExceptListed:!0,allowCustomPorts:!0,removeLegacyLogInitialization:!1,useForwardRedirectsPropOnUrlForwardHandler:!1,chainResponseSendingHooks:!1,return501ForUnsupportedHttpMethods:!1},"2025-02-06":{runOutboundPoliciesOnHandlerOnAllStatuses:!0,doNotRunHooksOnSystemRoutes:!0,removeAllVendorHeadersExceptListed:!0,allowCustomPorts:!0,removeLegacyLogInitialization:!0,useForwardRedirectsPropOnUrlForwardHandler:!0,chainResponseSendingHooks:!1,return501ForUnsupportedHttpMethods:!1},"2026-03-01":{runOutboundPoliciesOnHandlerOnAllStatuses:!0,doNotRunHooksOnSystemRoutes:!0,removeAllVendorHeadersExceptListed:!0,allowCustomPorts:!0,removeLegacyLogInitialization:!0,useForwardRedirectsPropOnUrlForwardHandler:!0,chainResponseSendingHooks:!0,return501ForUnsupportedHttpMethods:!0}});function Znt(s={}){let{runtime:o="cloudflare"}=s;return new Cm({build:{ACCOUNT_NAME:"mock-account-name",PROJECT_NAME:"mock-project-name",API_VERSION:"0.0.0",BUILD_ID:crypto.randomUUID(),TIMESTAMP:new Date().toISOString(),BUILD_ENV:"test",ZUPLO_VERSION:"0.0.0",COMPATIBILITY_DATE:GPe,ENVIRONMENT_TYPE:"mock-environment-type",GIT_SHA:void 0,IS_LOCAL_DEVELOPMENT:!1,COMPATIBILITY_FLAGS:Xnt[GPe]},runtime:{RUNTIME_ENV:"test",RUNTIME_STAGE:"test",__ZUPLO_DEPLOYMENT_NAME:"mock-deployment-name",__ZUPLO_LOG_LEVEL:"debug",__ZUPLO_LOG_FORMAT:"pretty",__ZUPLO_MANAGEMENT_API_URL:"",__ZUPLO_RUNTIME_TYPE:o,__ZUPLO_AUTH_API_JWT:"",ZUPLO_SERVICE_BUCKET_ID:"bckt_mock"}})}t(Znt,"getMockEnvironment");var xXt=/^[!#$%&'*+\-.^_`|~0-9A-Za-z]+$/;function EXt(s,o){let f=s.__ZUPLO_TRUSTED_IP_HEADER?.trim();if(!f)return o?JPe:znt;if(!xXt.test(f))throw new Aoe(`__ZUPLO_TRUSTED_IP_HEADER is set to '${f}', which is not a valid HTTP header name. Header names may only contain the RFC 9110 token characters (letters, digits, and !#$%&'*+-.^_\`|~) - spaces, colons and tabs are not allowed. Set it to a valid header name such as '${JPe}' or 'cf-connecting-ip'.`);return f.toLowerCase()}t(EXt,"resolveTrustedIpHeader");var Cm=class s{static{t(this,"Environment")}config;#e;static#r;static#t=!1;static initialize(o){s.#r||(s.#r=new s(o),s.#t=!0)}static get instance(){return s.#t||(kV.console.debug("Environment has not been initialized. This is okay when running tests, a mock environment will be used."),s.#r??=Znt()),s.#r}constructor({build:o,runtime:f}){let d;try{if(f.ZUPLO_SYSTEM_CONFIGURATIONS){let y=new TextDecoder().decode(Poe.decode(f.ZUPLO_SYSTEM_CONFIGURATIONS)),E=JSON.parse(y);for(let A of Object.keys(E))f[A]||(f[A]=E[A])}if(f.__ZUPLO_CONFIG){let y=atob(f.__ZUPLO_CONFIG);d=JSON.parse(y)}}catch(y){kV.console.error("Failed to parse runtime configuration",y)}this.config=d??{},this.build=o,this.runtime=f,this.instanceId=crypto.randomUUID(),this.#e=EXt(f,this.isCloudflare)}build;runtime;instanceId;get deploymentName(){return this.runtime.__ZUPLO_DEPLOYMENT_NAME??this.config.deployment_name??void 0}get accountName(){return this.build.ACCOUNT_NAME??this.runtime.ZUPLO_ACCOUNT_NAME??void 0}get projectName(){return this.build.PROJECT_NAME??this.runtime.ZUPLO_PROJECT_NAME??void 0}get useLegacyServiceRouting(){return this.config.use_legacy_service_routing??void 0}get useProxyForFetchFromZups(){return this.config.use_proxy_for_fetch_from_zups??void 0}get devPortalBaseUrl(){return this.runtime.__ZUPLO_DEV_PORTAL_URL??this.config.dev_portal_url??"https://dev-portal-v4-1.zuplo.com"}get buildAssetsUrl(){return this.runtime.__ZUPLO_BUILD_ASSETS_URL??this.config.build_assets_url??"https://build-assets.zuplo.com"}get zuploEdgeApiUrl(){return this.runtime.__ZUPLO_EDGE_API_URL??this.config.zuplo_edge_api_url??"https://api.zuploedge.com"}get remoteLogToken(){return this.runtime.__ZUPLO_REMOTE_LOG_TOKEN??this.config.remote_log_token??void 0}get zuploClientAuthBucketId(){return this.config.zuplo_auth_client_bucket_id??"auth_o8PUdhKxSTOiB794GWPwLQCD"}get managementApiURL(){return this.runtime.__ZUPLO_MANAGEMENT_API_URL??this.config.management_api_url??"https://api.zuplo.com"}get developerApiUrl(){return this.config.developer_api_url??"https://dev.zuplo.com"}get cdnURL(){return this.runtime.__ZUPLO_CDN_URL??this.config.cdn_url??"https://cdn.zuplo.com"}get remoteLogURL(){return this.runtime.__ZUPLO_REMOTE_LOG_URL??this.config.log_event_api??"https://ellie.zuploedge.com"}get loggingId(){return this.runtime.__ZUPLO_LOGGING_ID??this.config.logging_id??void 0}get redisURL(){return this.runtime.__ZUPLO_REDIS_URL??this.config.redis_proxy_url??"https://redis-proxy.zuploedge.com"}get apiKeyServiceUrl(){return this.runtime.__ZUPLO_API_KEY_SERVICE_URL??this.config.api_key_service_url??"https://apikey.zuploedge.com"}get meteringServiceUrl(){return this.config.metering_service_url??"https://meters.zuploedge.com"}get authApiJWT(){return this.runtime.__ZUPLO_AUTH_API_JWT??void 0}get authClientId(){return this.config.auth_client_id??this.runtime.__ZUPLO_AUTH_CLIENT_ID}get authClientSecret(){return this.config.auth_client_secret??this.runtime.__ZUPLO_AUTH_CLIENT_SECRET}get authPublicKey(){return this.config.auth_public_key??this.runtime.__ZUPLO_AUTH_PUBLIC_KEY}get authPrivateKey(){return this.config.auth_private_key??this.runtime.__ZUPLO_AUTH_PRIVATE_KEY}get userLogLevel(){return this.runtime.ZUPLO_LOG_LEVEL??this.runtime.__ZUPLO_LOG_LEVEL??this.config.user_log_level??"debug"}get systemLogLevel(){return this.runtime.__ZUPLO_LOG_LEVEL??this.config.system_log_level??"debug"}get logFormat(){return this.runtime.__ZUPLO_LOG_FORMAT??this.config.log_format??"cloudflare"}get isCloudflare(){return this.runtime.__ZUPLO_RUNTIME_TYPE?this.runtime.__ZUPLO_RUNTIME_TYPE==="cloudflare":this.config.runtime_type?this.config.runtime_type==="cloudflare":typeof WebSocketPair=="function"}get isManagedDedicated(){return this.runtime.__ZUPLO_IS_MANAGED_DEDICATED==="true"}get trustedIpHeader(){return this.#e}get isDeno(){if(this.runtime.__ZUPLO_RUNTIME_TYPE)return this.runtime.__ZUPLO_RUNTIME_TYPE==="deno";if(this.config.runtime_type)return this.config.runtime_type==="deno";{let o=globalThis.Deno?.version?.deno;return typeof WebSocketPair!="function"&&o}}get isLocalDevelopment(){return this.build.IS_LOCAL_DEVELOPMENT}get isTestMode(){return!!this.runtime.__ZUPLO_TEST_MODE}get budgetRulesCaptureDisabled(){return this.runtime.__ZUPLO_BUDGET_RULES_CAPTURE==="off"}get systemUserAgent(){return`Zuplo/${this.build.ZUPLO_VERSION}`}get loggingEnvironmentType(){return this.isCloudflare?"edge":this.isLocalDevelopment?"local":this.isDeno?"working-copy":"unknown"}get loggingEnvironmentStage(){return this.build.ENVIRONMENT_TYPE==="PRODUCTION"?"production":this.build.ENVIRONMENT_TYPE==="PREVIEW"?"preview":this.isLocalDevelopment?"local":this.isWorkingCopy?"working-copy":"unknown"}get isWorkingCopy(){return this.build.ENVIRONMENT_TYPE==="WORKING_COPY"}get rateLimitServiceTimeoutMs(){let o=this.runtime.__ZUPLO_RATE_LIMIT_TIMEOUT_MS,f=this.config.rate_limit_service_timeout_ms,d=o??f;if(!d)return 500;let y=Number(d);return Number.isFinite(y)&&y>0?y:500}};var CXt=["ZUPLO_USER_LOGGER_DATA_DOG_API_KEY","ZUPLO_USER_LOGGER_DATA_DOG_URL","ZUPLO_LOG_LEVEL","ZUPLO_HANDLER_WRITE_LOG_LEVEL"];function Qnt(s){return s.startsWith("__ZUPLO")||s.startsWith("ZUPLO_")?!CXt.includes(s)&&!s.startsWith("ZUPLO_PUBLIC_"):s.startsWith("ZUDOKU_")?!s.startsWith("ZUDOKU_PUBLIC_"):!1}t(Qnt,"isRestrictedEnvVariableName");function eit(s){return!!s.startsWith("ZUPLO_")}t(eit,"isZuploReadableEnvVariableName");var ukr=new Proxy({},{get(s,o){let f=String(o);switch(f){case"ZUPLO_ENVIRONMENT_TYPE":return Cm.instance.loggingEnvironmentType;case"ZUPLO_ENVIRONMENT_STAGE":return Cm.instance.loggingEnvironmentStage;case"ZUPLO_ENVIRONMENT_NAME":return Cm.instance.runtime.__ZUPLO_DEPLOYMENT_NAME;case"ZUPLO_ACCOUNT_NAME":return Cm.instance.accountName;case"ZUPLO_PROJECT_NAME":return Cm.instance.projectName;case"ZUPLO_BUILD_ID":return Cm.instance.build.BUILD_ID;case"ZUPLO_COMPATIBILITY_DATE":return Cm.instance.build.COMPATIBILITY_DATE}if(!(Qnt(f)&&!eit(f)))return Cm.instance.runtime[f]}});function wV(s,o,f){return`_${MP(`${s}_${o}_${f}`)}`}t(wV,"getRawOperationDataIdentifierName");function YPe(s,o,f,d){return`_${MP(s.toLowerCase())}_${o.toLowerCase()}_${f.toLowerCase()}_${d.toLowerCase()}`}t(YPe,"getIdForParameterSchema");function KPe(s,o,f){return`_${MP(s.toLowerCase())}_${o.toLowerCase()}_rb_${MP(f.toLowerCase())}`}t(KPe,"getIdForRequestBodySchema");function DV(s,o){return`_${MP(s)}_${MP(o)}`}t(DV,"getIdForRefSchema");function MP(s){let o=s.replace(/\[/g,"_LBRACKET_").replace(/\]/g,"_RBRACKET_").replace(/\{/g,"_LCURLY_").replace(/\}/g,"_RCURLY_").replace(/\//g,"_SLASH_").replace(/-/g,"_DASH_").replace(/\./g,"_DOT_").replace(/\+/g,"_PLUS_").replace(/:/g,"_COLON_").replace(/@/g,"_AT_").replace(/\$/g,"_DOLLAR_").replace(/[^a-zA-Z0-9_]/g,"_");return/^[a-zA-Z_]/.test(o)||(o=`_${o}`),o}t(MP,"sanitizedIdentifierName");var ZPe={};Att(ZPe,{UnsafePathError:()=>Ooe,deleteFolder:()=>BXt,dirExists:()=>XPe,fileExists:()=>PXt,getParentDirFilename:()=>RXt,isNotFileOrDirectory:()=>NXt,listFolderContents:()=>nit,listFolders:()=>OXt,mkDirTemp:()=>AXt,mkdirForFilePathIfNotExits:()=>FXt,mkdirIfNotExists:()=>iit,safePath:()=>LXt,tarFolder:()=>MXt,untarFile:()=>jXt});import{spawn as tit}from"node:child_process";import{randomUUID as kXt}from"node:crypto";import qN from"node:fs/promises";import{platform as wXt,tmpdir as DXt}from"node:os";import I1 from"node:path";var rit=[".git","node_modules",".yarn",".DS_Store"];async function PXt(s){try{return(await qN.stat(s)).isFile()}catch{return!1}}t(PXt,"fileExists");async function AXt(){let s=process.env.BUILD_FILE_PATH??DXt(),o=kXt().replaceAll("-",""),f=I1.join(s,o);return await qN.mkdir(f,{recursive:!0}),f}t(AXt,"mkDirTemp");async function XPe(s){try{return(await qN.stat(s)).isDirectory()}catch{return!1}}t(XPe,"dirExists");async function NXt(s){try{return await qN.stat(s),!1}catch{return!0}}t(NXt,"isNotFileOrDirectory");function IXt(s,o){let f=I1.sep==="\\"?"\\\\":I1.sep,d=new RegExp(`(.*)(${f}${o})$|(.*)(${o}${f})`),y=s.match(d);if(!y)return"";let E=s.split(y[0]);return E[1]===""?"":I1.join(I1.sep,E[1])}t(IXt,"getParentDirectory");async function OXt(s){if(!await XPe(s))return[];let o=await qN.readdir(s,{withFileTypes:!0}),f=[];for await(let d of o)rit.includes(d.name)||d.isDirectory()&&f.push(d.name);return f}t(OXt,"listFolders");async function nit(s,o,f=!0){let d=IXt(s,o),y=await qN.readdir(s,{withFileTypes:!0}),E=[];for await(let A of y)if(!rit.includes(A.name)||!f)if(A.isDirectory()){let R=await nit(I1.join(s,A.name),o,f);E.push(...R)}else E.push(I1.join(d,A.name));return E}t(nit,"listFolderContents");var iit=t(async s=>{await qN.mkdir(s,{recursive:!0})},"mkdirIfNotExists"),FXt=t(async s=>{let o=I1.dirname(s);return iit(o)},"mkdirForFilePathIfNotExits"),Ooe=class extends Error{static{t(this,"UnsafePathError")}};function LXt(s){let o=I1.normalize(s),f=t(d=>{let y=I1.normalize(d),E=process.platform==="win32",A=!1;if(E?A=y.toLowerCase().startsWith(o.toLowerCase()):A=y.startsWith(o),!A)throw new Ooe("Resolved path is not part of the project.");return y},"ensureSafePath");return{resolve:t((...d)=>f(I1.resolve(...d)),"resolve")}}t(LXt,"safePath");function RXt(s){return I1.join(I1.basename(I1.dirname(s)),I1.basename(s))}t(RXt,"getParentDirFilename");async function MXt({folderPath:s,outputTarPath:o,exclude:f=["node_modules",".git","dist"],logger:d}){let y=[],E=[],A;try{await new Promise((R,q)=>{let K=tit("tar",[...f.flatMap(ve=>["--exclude",ve]),...wXt()!=="darwin"?["--warning=no-file-changed"]:[],"-cvf",o,"-C",s,"."]);K.stdout.on("data",ve=>{let pe=ve.toString().trim();pe.length>0&&y.push(pe.trim())}),K.stderr.on("data",ve=>{let pe=ve.toString().trim();pe.length>0&&E.push(pe.trim())}),K.on("close",ve=>{A=ve,ve===0?R():q(new Error(`tar process exited with code ${ve}`))}),K.on("error",ve=>{q(ve)})})}catch(R){throw new Error("Failed to tar folder",{cause:R})}finally{d.info({stdout:y.join(`
|
|
571
|
+
`).map(R=>R.trim()).join(" ");case"%O":return s(f[d++]);case"%j":try{return JSON.stringify(f[d++])}catch{return"[Circular]"}default:return A}});for(let A of f.splice(d))A===null||!(typeof A=="object"&&A!==null)?E+=" "+A:E+=" "+s(A);return E}t(qnt,"format");var Vnt=t((s,...o)=>qnt(gXt,s,o),"format");var $Pe=class{static{t(this,"Debugger")}manager;ns;color;last;enabled;constructor(o,f){this.manager=o,this.ns=f,this.color=Wnt(f),this.last=0,this.enabled=o.enabled.some(d=>d.test(f))}log(...o){if(!this.enabled)return;let f,d=o[0];typeof d=="function"?f=d():f=String(d);let y=Date.now()-(this.last||Date.now());f=Vnt(f,...o);let E=`${this.color(this.ns)} ${f} ${this.color(`+${y}ms`)}`;console.log(E),this.last=Date.now()}},WPe=class{static{t(this,"DebugManager")}debuggers;enabled;constructor(o){this.debuggers=new Map,this.enabled=o??[]}};function yXt(s){return!s||s.length===0?[]:(s=s.replace(/\s/g,"").replace(/\*/g,".+"),s.split(",").map(o=>new RegExp(`^${o}$`)))}t(yXt,"extract");var Noe;function Ioe(s){Noe||(Noe=new WPe(yXt(process.env.DEBUG)));let o=new $Pe(Noe,s);return Noe.debuggers.set(s,o),Object.assign(o.log.bind(o),{self:o})}t(Ioe,"debug");var WN=Ioe("zuplo:runtime:external-service");function vXt(){let s,{__ZUPLO_EXTERNAL_SERVICE_TOKEN:o}=Cm.instance.runtime;if(o&&o!=="undefined")try{let f=atob(o);s=JSON.parse(f)}catch{}return s}t(vXt,"getServiceAuth");async function Hnt(s,o){let f=".proxy",d=".tunnel";if(typeof s=="string"){let y=new URL(s),E=y.hostname;if(E.endsWith(f)){let Bt=E.slice(0,-f.length),Ut=new URL(`http://${Bt}${y.pathname}${y.search}`);WN(`Routing to proxy: ${Ut.toString()}`);let Or=o??{};return CV(Ut.toString(),Or)}let A=E.endsWith(d),R=E.indexOf(".")===-1;if(!(A||R))throw new RP(`Invalid service hostname suffix: ${E}. Use .proxy for proxy routing, .tunnel for explicit tunnel routing, or no suffix for default tunnel routing.`);let K=A?E.slice(0,-d.length):E,ve=vXt();if(!ve)throw WN("There is no external service auth configured for this zup."),new RP("There are no external services configured for this zup.");WN(`Using external service auth. ClientId: ${ve.clientId})`);let pe=o??{},ae=new Headers(pe.headers||{});ae.set("CF-Access-Client-Id",ve.clientId),ae.set("CF-Access-Client-Secret",ve.clientSecret),pe.headers=ae;let rt;if(ve.customServiceMapping?.[K])rt=`https://${ve.customServiceMapping[K]}`;else if(Cm.instance.useLegacyServiceRouting)rt=`https://${K}.zuptunnel.com`;else{WN("Using sha256 service routing");let Bt=Cm.instance.build;if(Bt.ACCOUNT_NAME&&Bt.PROJECT_NAME&&Bt.ENVIRONMENT_TYPE){let Ut=await bXt(K,Bt.ACCOUNT_NAME,Bt.PROJECT_NAME,Bt.ENVIRONMENT_TYPE),Or=Ynt(Bt.ENVIRONMENT_TYPE),Jn=await qPe(`${Bt.ACCOUNT_NAME}-${Bt.PROJECT_NAME}-${Or}`);Jn==="40d7ad502f5d743997999594c177184a00161a77865423511f3a1ea21eb5a5e"||Jn==="d05bffe8fa91a300187d2cf43e8aa4a56bd809c442ae10d1ee49af7d29a5a11"?rt=`https://${Ut}.zuptunnel.com`:rt=`https://${Ut}.t.zuplo.app`}else throw WN("Cannot use sha256 service routing, missing build variables"),new RP("Failed to generate fully qualified tunnel url.")}let ze=new URL(`${rt}${y.pathname}${y.search}`);WN(`Calling external service: ${ze.toString()}`);let je=await CV(ze.toString(),pe);if(je.status===403&&je.headers.get("cf-access-domain")!==null)throw kV.console.error("403 Forbidden when calling external service.",{clientId:ve.clientId,tunnelHost:rt}),new RP("Could not connect to secure tunnel.");return je}else throw WN("Cannot call external service with Request object"),new RP("Currently, we only support fetch(<some_string>, ...).")}t(Hnt,"externalServiceHandler");async function Gnt(s,o){if(typeof s=="string"){let f=new URL(s),d=f.hostname,y=o??{},E=`http://${d}.zuplo.svc.cluster.local:9000`,A=new URL(`${E}${f.pathname}${f.search}`),R=new Headers(y.headers||{});return R.set(Jnt,d),y.headers=R,await CV(A.toString(),y)}else throw new RP("Currently, we only support fetch(<some_string>, ...).")}t(Gnt,"clusterServiceHandler");async function bXt(s,o,f,d){let y=s.toLowerCase(),E=o.toLowerCase(),A=f.toLowerCase(),R=Ynt(d);WN(`Hashing service name: ${E}-${y}.${E}-${A}-${R}`);let q=await qPe(`${E}-${y}`),K=await qPe(`${E}-${A}-${R}`);return`${q}.${K}`}t(bXt,"hashServiceName");async function qPe(s){let o=new TextEncoder().encode(s),f=await crypto.subtle.digest("SHA-256",o);return Array.from(new Uint8Array(f)).map(E=>E.toString(16).padStart(2,"0")).join("").slice(0,-1)}t(qPe,"hashSegment");function Ynt(s){let o=s.toLowerCase();switch(o){case"production":case"preview":return o;default:return"working-copy"}}t(Ynt,"sanitizeEnvironmentType");var VPe=new Map;VPe.set("service:",Hnt);VPe.set("local:",Gnt);var CV=globalThis.fetch;function HPe(s,o){let{transformedInit:f,mtlsCertificate:d}=SXt(o);if(typeof s=="string"){let y=new URL(s),E=VPe.get(y.protocol);return E?E(s,f):Knt(s,f,d)}else return Knt(s,f,d)}t(HPe,"internalFetch");globalThis.fetch=HPe;function Knt(s,o,f){if(!f)return CV(s,o);if(Cm.instance.isCloudflare){let y=Cm.instance.runtime[f];if(!y)throw new Error(`mTLS certificate binding '${f}' not found. Ensure the certificate is uploaded and properly configured.`);if(typeof y!="object"||typeof y.fetch!="function")throw new Error(`mTLS certificate binding '${f}' is not a valid mTLS certificate binding. Make sure it's configured as an mTLS certificate, not an environment variable.`);return y.fetch(s,o)}else if(Cm.instance.isDeno){let d=globalThis.managedDedicatedMtlsBindings?.[f];if(!d)throw new Error(`mTLS certificate binding '${f}' not found. Ensure the certificate is uploaded and properly configured.`);if(typeof d.fetch!="function")throw new Error(`mTLS certificate binding '${f}' is not a valid mTLS certificate binding.`);return d.fetch(s,o)}else throw new Error("mTLS client certificates are not supported in this runtime environment")}t(Knt,"performFetch");var SXt=t(s=>{if(!s||s instanceof Request)return{transformedInit:s,mtlsCertificate:void 0};let o=s;if(!o.zuplo)return{transformedInit:s,mtlsCertificate:void 0};let f=o.zuplo.mtlsCertificate,d=s;return d.cf={cacheEverything:o.zuplo?.cacheEverything,cacheTtl:o.zuplo?.cacheTtlSeconds},delete s.zuplo,{transformedInit:s,mtlsCertificate:f}},"transformInit");var TXt={console:{log:console.log.bind(console),info:console.info.bind(console),warn:console.warn.bind(console),error:console.error.bind(console),debug:console.debug.bind(console),assert:console.assert.bind(console),clear:console.clear.bind(console),count:console.count.bind(console),countReset:console.countReset.bind(console),dir:console.dir.bind(console),dirxml:console.dirxml.bind(console),group:console.group.bind(console),groupCollapsed:console.groupCollapsed.bind(console),groupEnd:console.groupEnd.bind(console),table:console.table.bind(console),time:console.time.bind(console),timeEnd:console.timeEnd.bind(console),timeLog:console.timeLog.bind(console),timeStamp:console.timeStamp.bind(console),trace:console.trace.bind(console),profile:console.profile.bind(console),profileEnd:console.profileEnd.bind(console)},fetch:HPe},kV=TXt;var GPe="2025-02-06",Xnt=Object.freeze({none:{runOutboundPoliciesOnHandlerOnAllStatuses:!1,doNotRunHooksOnSystemRoutes:!1,removeAllVendorHeadersExceptListed:!1,allowCustomPorts:!1,removeLegacyLogInitialization:!1,useForwardRedirectsPropOnUrlForwardHandler:!1,chainResponseSendingHooks:!1,return501ForUnsupportedHttpMethods:!1},"2023-03-14":{runOutboundPoliciesOnHandlerOnAllStatuses:!1,doNotRunHooksOnSystemRoutes:!1,removeAllVendorHeadersExceptListed:!1,allowCustomPorts:!1,removeLegacyLogInitialization:!1,useForwardRedirectsPropOnUrlForwardHandler:!1,chainResponseSendingHooks:!1,return501ForUnsupportedHttpMethods:!1},"2024-01-15":{runOutboundPoliciesOnHandlerOnAllStatuses:!0,doNotRunHooksOnSystemRoutes:!0,removeAllVendorHeadersExceptListed:!0,allowCustomPorts:!1,removeLegacyLogInitialization:!1,useForwardRedirectsPropOnUrlForwardHandler:!1,chainResponseSendingHooks:!1,return501ForUnsupportedHttpMethods:!1},"2024-03-14":{runOutboundPoliciesOnHandlerOnAllStatuses:!0,doNotRunHooksOnSystemRoutes:!0,removeAllVendorHeadersExceptListed:!0,allowCustomPorts:!1,removeLegacyLogInitialization:!1,useForwardRedirectsPropOnUrlForwardHandler:!1,chainResponseSendingHooks:!1,return501ForUnsupportedHttpMethods:!1},"2024-09-02":{runOutboundPoliciesOnHandlerOnAllStatuses:!0,doNotRunHooksOnSystemRoutes:!0,removeAllVendorHeadersExceptListed:!0,allowCustomPorts:!0,removeLegacyLogInitialization:!1,useForwardRedirectsPropOnUrlForwardHandler:!1,chainResponseSendingHooks:!1,return501ForUnsupportedHttpMethods:!1},"2025-02-06":{runOutboundPoliciesOnHandlerOnAllStatuses:!0,doNotRunHooksOnSystemRoutes:!0,removeAllVendorHeadersExceptListed:!0,allowCustomPorts:!0,removeLegacyLogInitialization:!0,useForwardRedirectsPropOnUrlForwardHandler:!0,chainResponseSendingHooks:!1,return501ForUnsupportedHttpMethods:!1},"2026-03-01":{runOutboundPoliciesOnHandlerOnAllStatuses:!0,doNotRunHooksOnSystemRoutes:!0,removeAllVendorHeadersExceptListed:!0,allowCustomPorts:!0,removeLegacyLogInitialization:!0,useForwardRedirectsPropOnUrlForwardHandler:!0,chainResponseSendingHooks:!0,return501ForUnsupportedHttpMethods:!0}});function Znt(s={}){let{runtime:o="cloudflare"}=s;return new Cm({build:{ACCOUNT_NAME:"mock-account-name",PROJECT_NAME:"mock-project-name",API_VERSION:"0.0.0",BUILD_ID:crypto.randomUUID(),TIMESTAMP:new Date().toISOString(),BUILD_ENV:"test",ZUPLO_VERSION:"0.0.0",COMPATIBILITY_DATE:GPe,ENVIRONMENT_TYPE:"mock-environment-type",GIT_SHA:void 0,IS_LOCAL_DEVELOPMENT:!1,COMPATIBILITY_FLAGS:Xnt[GPe]},runtime:{RUNTIME_ENV:"test",RUNTIME_STAGE:"test",__ZUPLO_DEPLOYMENT_NAME:"mock-deployment-name",__ZUPLO_LOG_LEVEL:"debug",__ZUPLO_LOG_FORMAT:"pretty",__ZUPLO_MANAGEMENT_API_URL:"",__ZUPLO_RUNTIME_TYPE:o,__ZUPLO_AUTH_API_JWT:"",ZUPLO_SERVICE_BUCKET_ID:"bckt_mock"}})}t(Znt,"getMockEnvironment");var xXt=/^[!#$%&'*+\-.^_`|~0-9A-Za-z]+$/;function EXt(s,o){let f=s.__ZUPLO_TRUSTED_IP_HEADER?.trim();if(!f)return o?JPe:znt;if(!xXt.test(f))throw new Aoe(`__ZUPLO_TRUSTED_IP_HEADER is set to '${f}', which is not a valid HTTP header name. Header names may only contain the RFC 9110 token characters (letters, digits, and !#$%&'*+-.^_\`|~) - spaces, colons and tabs are not allowed. Set it to a valid header name such as '${JPe}' or 'cf-connecting-ip'.`);return f.toLowerCase()}t(EXt,"resolveTrustedIpHeader");var Cm=class s{static{t(this,"Environment")}config;#e;static#r;static#t=!1;static initialize(o){s.#r||(s.#r=new s(o),s.#t=!0)}static get instance(){return s.#t||(kV.console.debug("Environment has not been initialized. This is okay when running tests, a mock environment will be used."),s.#r??=Znt(),s.#t=!0),s.#r}constructor({build:o,runtime:f}){let d;try{if(f.ZUPLO_SYSTEM_CONFIGURATIONS){let y=new TextDecoder().decode(Poe.decode(f.ZUPLO_SYSTEM_CONFIGURATIONS)),E=JSON.parse(y);for(let A of Object.keys(E))f[A]||(f[A]=E[A])}if(f.__ZUPLO_CONFIG){let y=atob(f.__ZUPLO_CONFIG);d=JSON.parse(y)}}catch(y){kV.console.error("Failed to parse runtime configuration",y)}this.config=d??{},this.build=o,this.runtime=f,this.instanceId=crypto.randomUUID(),this.#e=EXt(f,this.isCloudflare)}build;runtime;instanceId;get deploymentName(){return this.runtime.__ZUPLO_DEPLOYMENT_NAME??this.config.deployment_name??void 0}get accountName(){return this.build.ACCOUNT_NAME??this.runtime.ZUPLO_ACCOUNT_NAME??void 0}get projectName(){return this.build.PROJECT_NAME??this.runtime.ZUPLO_PROJECT_NAME??void 0}get useLegacyServiceRouting(){return this.config.use_legacy_service_routing??void 0}get useProxyForFetchFromZups(){return this.config.use_proxy_for_fetch_from_zups??void 0}get devPortalBaseUrl(){return this.runtime.__ZUPLO_DEV_PORTAL_URL??this.config.dev_portal_url??"https://dev-portal-v4-1.zuplo.com"}get buildAssetsUrl(){return this.runtime.__ZUPLO_BUILD_ASSETS_URL??this.config.build_assets_url??"https://build-assets.zuplo.com"}get zuploEdgeApiUrl(){return this.runtime.__ZUPLO_EDGE_API_URL??this.config.zuplo_edge_api_url??"https://api.zuploedge.com"}get remoteLogToken(){return this.runtime.__ZUPLO_REMOTE_LOG_TOKEN??this.config.remote_log_token??void 0}get zuploClientAuthBucketId(){return this.config.zuplo_auth_client_bucket_id??"auth_o8PUdhKxSTOiB794GWPwLQCD"}get managementApiURL(){return this.runtime.__ZUPLO_MANAGEMENT_API_URL??this.config.management_api_url??"https://api.zuplo.com"}get developerApiUrl(){return this.config.developer_api_url??"https://dev.zuplo.com"}get cdnURL(){return this.runtime.__ZUPLO_CDN_URL??this.config.cdn_url??"https://cdn.zuplo.com"}get remoteLogURL(){return this.runtime.__ZUPLO_REMOTE_LOG_URL??this.config.log_event_api??"https://ellie.zuploedge.com"}get loggingId(){return this.runtime.__ZUPLO_LOGGING_ID??this.config.logging_id??void 0}get redisURL(){return this.runtime.__ZUPLO_REDIS_URL??this.config.redis_proxy_url??"https://redis-proxy.zuploedge.com"}get apiKeyServiceUrl(){return this.runtime.__ZUPLO_API_KEY_SERVICE_URL??this.config.api_key_service_url??"https://apikey.zuploedge.com"}get meteringServiceUrl(){return this.config.metering_service_url??"https://meters.zuploedge.com"}get authApiJWT(){return this.runtime.__ZUPLO_AUTH_API_JWT??void 0}get authClientId(){return this.config.auth_client_id??this.runtime.__ZUPLO_AUTH_CLIENT_ID}get authClientSecret(){return this.config.auth_client_secret??this.runtime.__ZUPLO_AUTH_CLIENT_SECRET}get authPublicKey(){return this.config.auth_public_key??this.runtime.__ZUPLO_AUTH_PUBLIC_KEY}get authPrivateKey(){return this.config.auth_private_key??this.runtime.__ZUPLO_AUTH_PRIVATE_KEY}get userLogLevel(){return this.runtime.ZUPLO_LOG_LEVEL??this.runtime.__ZUPLO_LOG_LEVEL??this.config.user_log_level??"debug"}get systemLogLevel(){return this.runtime.__ZUPLO_LOG_LEVEL??this.config.system_log_level??"debug"}get logFormat(){return this.runtime.__ZUPLO_LOG_FORMAT??this.config.log_format??"cloudflare"}get isCloudflare(){return this.runtime.__ZUPLO_RUNTIME_TYPE?this.runtime.__ZUPLO_RUNTIME_TYPE==="cloudflare":this.config.runtime_type?this.config.runtime_type==="cloudflare":typeof WebSocketPair=="function"}get isManagedDedicated(){return this.runtime.__ZUPLO_IS_MANAGED_DEDICATED==="true"}get trustedIpHeader(){return this.#e}get isDeno(){if(this.runtime.__ZUPLO_RUNTIME_TYPE)return this.runtime.__ZUPLO_RUNTIME_TYPE==="deno";if(this.config.runtime_type)return this.config.runtime_type==="deno";{let o=globalThis.Deno?.version?.deno;return typeof WebSocketPair!="function"&&o}}get isLocalDevelopment(){return this.build.IS_LOCAL_DEVELOPMENT}get isTestMode(){return!!this.runtime.__ZUPLO_TEST_MODE}get budgetRulesCaptureDisabled(){return this.runtime.__ZUPLO_BUDGET_RULES_CAPTURE==="off"}get systemUserAgent(){return`Zuplo/${this.build.ZUPLO_VERSION}`}get loggingEnvironmentType(){return this.isCloudflare?"edge":this.isLocalDevelopment?"local":this.isDeno?"working-copy":"unknown"}get loggingEnvironmentStage(){return this.build.ENVIRONMENT_TYPE==="PRODUCTION"?"production":this.build.ENVIRONMENT_TYPE==="PREVIEW"?"preview":this.isLocalDevelopment?"local":this.isWorkingCopy?"working-copy":"unknown"}get isWorkingCopy(){return this.build.ENVIRONMENT_TYPE==="WORKING_COPY"}get rateLimitServiceTimeoutMs(){let o=this.runtime.__ZUPLO_RATE_LIMIT_TIMEOUT_MS,f=this.config.rate_limit_service_timeout_ms,d=o??f;if(!d)return 500;let y=Number(d);return Number.isFinite(y)&&y>0?y:500}};var CXt=["ZUPLO_USER_LOGGER_DATA_DOG_API_KEY","ZUPLO_USER_LOGGER_DATA_DOG_URL","ZUPLO_LOG_LEVEL","ZUPLO_HANDLER_WRITE_LOG_LEVEL"];function Qnt(s){return s.startsWith("__ZUPLO")||s.startsWith("ZUPLO_")?!CXt.includes(s)&&!s.startsWith("ZUPLO_PUBLIC_"):s.startsWith("ZUDOKU_")?!s.startsWith("ZUDOKU_PUBLIC_"):!1}t(Qnt,"isRestrictedEnvVariableName");function eit(s){return!!s.startsWith("ZUPLO_")}t(eit,"isZuploReadableEnvVariableName");var ukr=new Proxy({},{get(s,o){let f=String(o);switch(f){case"ZUPLO_ENVIRONMENT_TYPE":return Cm.instance.loggingEnvironmentType;case"ZUPLO_ENVIRONMENT_STAGE":return Cm.instance.loggingEnvironmentStage;case"ZUPLO_ENVIRONMENT_NAME":return Cm.instance.runtime.__ZUPLO_DEPLOYMENT_NAME;case"ZUPLO_ACCOUNT_NAME":return Cm.instance.accountName;case"ZUPLO_PROJECT_NAME":return Cm.instance.projectName;case"ZUPLO_BUILD_ID":return Cm.instance.build.BUILD_ID;case"ZUPLO_COMPATIBILITY_DATE":return Cm.instance.build.COMPATIBILITY_DATE}if(!(Qnt(f)&&!eit(f)))return Cm.instance.runtime[f]}});function wV(s,o,f){return`_${MP(`${s}_${o}_${f}`)}`}t(wV,"getRawOperationDataIdentifierName");function YPe(s,o,f,d){return`_${MP(s.toLowerCase())}_${o.toLowerCase()}_${f.toLowerCase()}_${d.toLowerCase()}`}t(YPe,"getIdForParameterSchema");function KPe(s,o,f){return`_${MP(s.toLowerCase())}_${o.toLowerCase()}_rb_${MP(f.toLowerCase())}`}t(KPe,"getIdForRequestBodySchema");function DV(s,o){return`_${MP(s)}_${MP(o)}`}t(DV,"getIdForRefSchema");function MP(s){let o=s.replace(/\[/g,"_LBRACKET_").replace(/\]/g,"_RBRACKET_").replace(/\{/g,"_LCURLY_").replace(/\}/g,"_RCURLY_").replace(/\//g,"_SLASH_").replace(/-/g,"_DASH_").replace(/\./g,"_DOT_").replace(/\+/g,"_PLUS_").replace(/:/g,"_COLON_").replace(/@/g,"_AT_").replace(/\$/g,"_DOLLAR_").replace(/[^a-zA-Z0-9_]/g,"_");return/^[a-zA-Z_]/.test(o)||(o=`_${o}`),o}t(MP,"sanitizedIdentifierName");var ZPe={};Att(ZPe,{UnsafePathError:()=>Ooe,deleteFolder:()=>BXt,dirExists:()=>XPe,fileExists:()=>PXt,getParentDirFilename:()=>RXt,isNotFileOrDirectory:()=>NXt,listFolderContents:()=>nit,listFolders:()=>OXt,mkDirTemp:()=>AXt,mkdirForFilePathIfNotExits:()=>FXt,mkdirIfNotExists:()=>iit,safePath:()=>LXt,tarFolder:()=>MXt,untarFile:()=>jXt});import{spawn as tit}from"node:child_process";import{randomUUID as kXt}from"node:crypto";import qN from"node:fs/promises";import{platform as wXt,tmpdir as DXt}from"node:os";import I1 from"node:path";var rit=[".git","node_modules",".yarn",".DS_Store"];async function PXt(s){try{return(await qN.stat(s)).isFile()}catch{return!1}}t(PXt,"fileExists");async function AXt(){let s=process.env.BUILD_FILE_PATH??DXt(),o=kXt().replaceAll("-",""),f=I1.join(s,o);return await qN.mkdir(f,{recursive:!0}),f}t(AXt,"mkDirTemp");async function XPe(s){try{return(await qN.stat(s)).isDirectory()}catch{return!1}}t(XPe,"dirExists");async function NXt(s){try{return await qN.stat(s),!1}catch{return!0}}t(NXt,"isNotFileOrDirectory");function IXt(s,o){let f=I1.sep==="\\"?"\\\\":I1.sep,d=new RegExp(`(.*)(${f}${o})$|(.*)(${o}${f})`),y=s.match(d);if(!y)return"";let E=s.split(y[0]);return E[1]===""?"":I1.join(I1.sep,E[1])}t(IXt,"getParentDirectory");async function OXt(s){if(!await XPe(s))return[];let o=await qN.readdir(s,{withFileTypes:!0}),f=[];for await(let d of o)rit.includes(d.name)||d.isDirectory()&&f.push(d.name);return f}t(OXt,"listFolders");async function nit(s,o,f=!0){let d=IXt(s,o),y=await qN.readdir(s,{withFileTypes:!0}),E=[];for await(let A of y)if(!rit.includes(A.name)||!f)if(A.isDirectory()){let R=await nit(I1.join(s,A.name),o,f);E.push(...R)}else E.push(I1.join(d,A.name));return E}t(nit,"listFolderContents");var iit=t(async s=>{await qN.mkdir(s,{recursive:!0})},"mkdirIfNotExists"),FXt=t(async s=>{let o=I1.dirname(s);return iit(o)},"mkdirForFilePathIfNotExits"),Ooe=class extends Error{static{t(this,"UnsafePathError")}};function LXt(s){let o=I1.normalize(s),f=t(d=>{let y=I1.normalize(d),E=process.platform==="win32",A=!1;if(E?A=y.toLowerCase().startsWith(o.toLowerCase()):A=y.startsWith(o),!A)throw new Ooe("Resolved path is not part of the project.");return y},"ensureSafePath");return{resolve:t((...d)=>f(I1.resolve(...d)),"resolve")}}t(LXt,"safePath");function RXt(s){return I1.join(I1.basename(I1.dirname(s)),I1.basename(s))}t(RXt,"getParentDirFilename");async function MXt({folderPath:s,outputTarPath:o,exclude:f=["node_modules",".git","dist"],logger:d}){let y=[],E=[],A;try{await new Promise((R,q)=>{let K=tit("tar",[...f.flatMap(ve=>["--exclude",ve]),...wXt()!=="darwin"?["--warning=no-file-changed"]:[],"-cvf",o,"-C",s,"."]);K.stdout.on("data",ve=>{let pe=ve.toString().trim();pe.length>0&&y.push(pe.trim())}),K.stderr.on("data",ve=>{let pe=ve.toString().trim();pe.length>0&&E.push(pe.trim())}),K.on("close",ve=>{A=ve,ve===0?R():q(new Error(`tar process exited with code ${ve}`))}),K.on("error",ve=>{q(ve)})})}catch(R){throw new Error("Failed to tar folder",{cause:R})}finally{d.info({stdout:y.join(`
|
|
572
572
|
`),stderr:E.join(`
|
|
573
573
|
`),exitCode:A},"Tar process logs")}}t(MXt,"tarFolder");async function jXt({tarFilePath:s,outputDir:o,logger:f}){let d=[],y=[],E;try{await new Promise((A,R)=>{let q=tit("sh",["-c",`tar -xvf ${s} -C ${o};`]);q.stdout.on("data",K=>{let ve=K.toString().trim();ve.length>0&&d.push(ve.trim())}),q.stderr.on("data",K=>{let ve=K.toString().trim();ve.length>0&&y.push(ve.trim())}),q.on("close",K=>{E=K,K===0?A():R(new Error(`tar process exited with code ${K}`))}),q.on("error",K=>{R(K)})})}catch(A){throw new Error("Failed to untar file",{cause:A})}finally{f.info({stdout:d.join(`
|
|
574
574
|
`),stderr:y.join(`
|
|
@@ -568,7 +568,7 @@ globstar while`,s,pe,o,ae,rt),this.matchOne(s.slice(pe),o.slice(ae),f))return th
|
|
|
568
568
|
`],[102,"\f"],[114,"\r"],[116," "]]),Eoe=new Map([...TV,[118,"\v"],[48,"\0"]]),uXt=new Map([['"','"'],["\\","\\"],["/","/"],["\b","b"],[`
|
|
569
569
|
`,"n"],["\f","f"],["\r","r"],[" ","t"]]),dCr=new Map([...uXt,["\v","v"],["\0","0"],["\u2028","u2028"],["\u2029","u2029"]]),xoe=new Map([["[","LBracket"],["]","RBracket"],["{","LBrace"],["}","RBrace"],[":","Colon"],[",","Comma"],[aXt,"Boolean"],[oXt,"Boolean"],[cXt,"Null"]]),Toe=new Map([...xoe,["NaN","Number"],[lXt,"Number"]]),UPe=new Set([10,13,8232,8233]),jP=class extends Error{static{t(this,"ErrorWithLocation")}constructor(o,{line:f,column:d,offset:y}){super(`${o} (${f}:${d})`),this.line=f,this.column=d,this.offset=y}},zPe=class extends jP{static{t(this,"UnexpectedChar")}constructor(o,f){super(`Unexpected character '${String.fromCharCode(o)}' found.`,f)}},JPe=class extends jP{static{t(this,"UnexpectedIdentifier")}constructor(o,f){super(`Unexpected identifier '${o}' found.`,f)}},oO=class extends jP{static{t(this,"UnexpectedToken")}constructor(o){super(`Unexpected token ${o.type} found.`,o.loc.start)}},Coe=class extends jP{static{t(this,"UnexpectedEOF")}constructor(o){super("Unexpected end of input found.",o)}},fXt=/[\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]/,_Xt=/[\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]/,pXt=13,Mnt=10,$Pe=class{static{t(this,"CharCodeReader")}#e="";#r=1;#t=0;#n=-1;#s=!1;#d=-1;#l=!1;constructor(o){this.#e=o}#u(){this.#l||(this.#t++,this.#n++,this.#d=-1,this.#l=!0)}locate(){return{line:this.#r,column:this.#t,offset:this.#n}}next(){if(this.#n>=this.#e.length-1)return this.#u(),-1;this.#n++;let o=this.#e.charCodeAt(this.#n);return this.#s?(this.#r++,this.#t=1,this.#s=!1):this.#t++,o===pXt?(this.#s=!0,this.peek()===Mnt&&this.#n++):o===Mnt&&(this.#s=!0),this.#d=o,o}peek(){return this.#n===this.#e.length-1?-1:this.#e.charCodeAt(this.#n+1)}match(o){return o(this.peek())?(this.next(),!0):!1}current(){return this.#d}},dXt="Infinity",mXt="NaN",hXt=new Set([116,102,110]),WPe=new Set([32,9,10,13]),jnt=new Set([...WPe,11,12,160,8232,8233,65279,160,8192,8193,8194,8195,8196,8197,8198,8199,8200,8201,8202,8239,8287,12288]),gXt={mode:"json",ranges:!1},yXt=new Set(["true","false","null"]),g_={EOF:0,Number:1,String:2,Boolean:3,Null:4,NaN:5,Infinity:6,Identifier:7,Colon:20,LBrace:21,RBrace:22,LBracket:23,RBracket:24,Comma:25,LineComment:40,BlockComment:41};function MP(s){return s>=48&&s<=57}t(MP,"isDigit");function BPe(s){return MP(s)||s>=65&&s<=70||s>=97&&s<=102}t(BPe,"isHexDigit");function vXt(s){return s>=49&&s<=57}t(vXt,"isPositiveDigit");function bXt(s){return hXt.has(s)}t(bXt,"isKeywordStart");function Unt(s){return MP(s)||s===46||s===45}t(Unt,"isNumberStart");function SXt(s){return Unt(s)||s===43}t(SXt,"isJSON5NumberStart");function Bnt(s,o){return s===34||o&&s===39}t(Bnt,"isStringStart");function znt(s){if(s===36||s===95||s===92||s>=97&&s<=122||s>=65&&s<=90||s===8204||s===8205)return!0;let o=String.fromCharCode(s);return fXt.test(o)}t(znt,"isJSON5IdentifierStart");function TXt(s){if(znt(s)||MP(s))return!0;let o=String.fromCharCode(s);return _Xt.test(o)}t(TXt,"isJSON5IdentifierPart");var qPe=class{static{t(this,"Tokenizer")}#e;#r;#t;#n;#s;#d;#l;#u;#f;#_;#c;constructor(o,f){this.#r=o,this.#e={...gXt,...f},this.#t=new $Pe(o),this.#n=this.#e.mode==="json5",this.#s=this.#e.mode!=="json",this.#d=this.#e.ranges,this.#u=this.#n?Eoe.has.bind(Eoe):TV.has.bind(TV),this.#f=this.#n?UPe.has.bind(UPe):()=>!1,this.#_=this.#n?d=>d===120:()=>!1,this.#c=this.#n?jnt.has.bind(jnt):WPe.has.bind(WPe)}#i(o,f=this.#t.locate()){throw new zPe(o,f)}#a(o,f=this.#t.locate()){throw new JPe(o,f)}#h(){throw new Coe(this.#t.locate())}#p(o,f,d,y){let E=d.offset+f,A=this.#e.ranges?{range:[d.offset,E]}:void 0;return{type:o,loc:{start:d,end:y||{line:d.line,column:d.column+f,offset:E}},...A}}#m(o){let f="",d;for(let y=0;y<o;y++){if(d=this.#t.peek(),BPe(d)){this.#t.next(),f+=String.fromCharCode(d);continue}this.#i(d)}return f}#g(o){let f="";do{if(f+=String.fromCharCode(o),o===92&&(o=this.#t.next(),o!==117&&this.#i(o),f+=String.fromCharCode(o),f+=this.#m(4)),o=this.#t.peek(),!TXt(o))break;this.#t.next()}while(!0);return f}#v(o){let f=o,d=1;for(o=this.#t.peek();o!==-1&&o!==f;){if(this.#t.next(),d++,o===92)if(o=this.#t.peek(),this.#u(o)||this.#f(o))this.#t.next(),d++;else if(o===117){this.#t.next(),d++;let y=this.#m(4);d+=y.length}else if(this.#_(o)){this.#t.next(),d++;let y=this.#m(2);d+=y.length}else this.#n?(this.#t.next(),d++):this.#i(o);o=this.#t.peek()}return o===-1&&(this.#t.next(),this.#h()),this.#t.next(),d++,d}#b(o){let f=1;if(o===45||this.#n&&o===43){if(o=this.#t.peek(),this.#n&&(o===73||o===78)){this.#t.next();let d=this.#g(o);return d!==dXt&&d!==mXt&&this.#i(o),f+d.length}MP(o)||this.#i(o),this.#t.next(),f++}if(o===48)if(o=this.#t.peek(),this.#n&&(o===120||o===88)){this.#t.next(),f++,o=this.#t.peek(),BPe(o)||(this.#t.next(),this.#i(o));do this.#t.next(),f++,o=this.#t.peek();while(BPe(o))}else MP(o)&&this.#i(o);else if(!this.#n||o!==46)for(vXt(o)||this.#i(o),o=this.#t.peek();MP(o);)this.#t.next(),f++,o=this.#t.peek();if(o===46){let d=-1;for(this.#t.next(),f++,d++,o=this.#t.peek();MP(o);)this.#t.next(),f++,d++,o=this.#t.peek();!this.#n&&d===0&&(this.#t.next(),o?this.#i(o):this.#h())}if(o===101||o===69)for(this.#t.next(),f++,o=this.#t.peek(),(o===43||o===45)&&(this.#t.next(),f++,o=this.#t.peek()),o===-1&&(this.#t.next(),this.#h()),MP(o)||(this.#t.next(),this.#i(o));MP(o);)this.#t.next(),f++,o=this.#t.peek();return f}#E(o){let f=1;if(o=this.#t.peek(),o===47){do this.#t.next(),f+=1,o=this.#t.peek();while(o>-1&&o!==13&&o!==10);return{length:f,multiline:!1}}if(o===42){for(this.#t.next(),f+=1;o>-1;)if(o=this.#t.peek(),o===42){if(this.#t.next(),f+=1,o=this.#t.peek(),o===47)return this.#t.next(),f+=1,{length:f,multiline:!0}}else this.#t.next(),f+=1;this.#t.next(),this.#h()}this.#t.next(),this.#i(o)}next(){let o=this.#t.next();for(;this.#c(o);)o=this.#t.next();if(o===-1)return g_.EOF;let f=this.#t.locate(),d=String.fromCharCode(o);if(this.#n)if(Toe.has(d))this.#l=this.#p(Toe.get(d),1,f);else if(znt(o)){let y=this.#g(o);Toe.has(y)?this.#l=this.#p(Toe.get(y),y.length,f):this.#l=this.#p("Identifier",y.length,f)}else if(SXt(o)){let y=this.#b(o);this.#l=this.#p("Number",y,f)}else if(Bnt(o,this.#n)){let y=this.#v(o),E=this.#t.locate();this.#l=this.#p("String",y,f,{line:E.line,column:E.column+1,offset:E.offset+1})}else if(o===47&&this.#s){let y=this.#E(o),E=this.#t.locate();this.#l=this.#p(y.multiline?"BlockComment":"LineComment",y.length,f,{line:E.line,column:E.column+1,offset:E.offset+1})}else this.#i(o);else if(xoe.has(d))this.#l=this.#p(xoe.get(d),1,f);else if(bXt(o)){let y=this.#g(o);yXt.has(y)||this.#a(y,f),this.#l=this.#p(xoe.get(y),y.length,f)}else if(Unt(o)){let y=this.#b(o);this.#l=this.#p("Number",y,f)}else if(Bnt(o,this.#n)){let y=this.#v(o);this.#l=this.#p("String",y,f)}else if(o===47&&this.#s){let y=this.#E(o),E=this.#t.locate();this.#l=this.#p(y.multiline?"BlockComment":"LineComment",y.length,f,{line:E.line,column:E.column+1,offset:E.offset+1})}else this.#i(o);return g_[this.#l.type]}get token(){return this.#l}};var _T={document(s,o={}){return{type:"Document",body:s,loc:o.loc,...o}},string(s,o={}){return{type:"String",value:s,loc:o.loc,...o}},number(s,o={}){return{type:"Number",value:s,loc:o.loc,...o}},boolean(s,o={}){return{type:"Boolean",value:s,loc:o.loc,...o}},null(s={}){return{type:"Null",loc:s.loc,...s}},array(s,o={}){return{type:"Array",elements:s,loc:o.loc,...o}},element(s,o={}){return{type:"Element",value:s,loc:o.loc,...o}},object(s,o={}){return{type:"Object",members:s,loc:o.loc,...o}},member(s,o,f={}){return{type:"Member",name:s,value:o,loc:f.loc,...f}},identifier(s,o={}){return{type:"Identifier",name:s,loc:o.loc,...o}},nan(s="",o={}){return{type:"NaN",sign:s,loc:o.loc,...o}},infinity(s="",o={}){return{type:"Infinity",sign:s,loc:o.loc,...o}}},xXt={mode:"json",ranges:!1,tokens:!1,allowTrailingCommas:!1};function EXt(s,o,f=!1){let d="",y=s.indexOf("\\"),E=0;for(;y>=0;){d+=s.slice(E,y);let A=s.charAt(y+1),R=A.charCodeAt(0);if(f&&Eoe.has(R))d+=Eoe.get(R),E=y+2;else if(TV.has(R))d+=TV.get(R),E=y+2;else if(A==="u"){let q=s.slice(y+2,y+6);if(q.length<4||/[^0-9a-f]/i.test(q))throw new jP(`Invalid unicode escape \\u${q}.`,{line:o.loc.start.line,column:o.loc.start.column+y,offset:o.loc.start.offset+y});d+=String.fromCharCode(parseInt(q,16)),E=y+6}else if(f&&A==="x"){let q=s.slice(y+2,y+4);if(q.length<2||/[^0-9a-f]/i.test(q))throw new jP(`Invalid hex escape \\x${q}.`,{line:o.loc.start.line,column:o.loc.start.column+y,offset:o.loc.start.offset+y});d+=String.fromCharCode(parseInt(q,16)),E=y+4}else if(f&&UPe.has(R))E=y+2,A==="\r"&&s.charAt(E)===`
|
|
570
570
|
`&&E++;else if(f)d+=A,E=y+2;else throw new jP(`Invalid escape \\${A}.`,{line:o.loc.start.line,column:o.loc.start.column+y,offset:o.loc.start.offset+y});y=s.indexOf("\\",E)}return d+=s.slice(E),d}t(EXt,"getStringValue");function CXt(s,o,f=!1){switch(o.type){case"Boolean":return s==="true";case"Number":return Number(s);case"String":return EXt(s.slice(1,-1),o,f);default:throw new TypeError(`Unknown token type "${o.type}.`)}}t(CXt,"getLiteralValue");function Jnt(s,o){o=Object.freeze({...xXt,...o});let f=[],d=new qPe(s,{mode:o.mode,ranges:o.ranges}),y=o.mode==="json5",E=o.allowTrailingCommas||y;function A(){let Nr=d.next();return Nr&&o.tokens&&f.push(d.token),Nr}t(A,"nextNoComments");function R(){let Nr=d.next();return Nr&&o.tokens&&f.push(d.token),Nr>=g_.LineComment?R():Nr}t(R,"nextSkipComments");let q=o.mode==="json"?A:R;function K(Nr,br){if(Nr!==br)throw new oO(d.token)}t(K,"assertTokenType");function ve(Nr,br){if(!br.includes(Nr))throw new oO(d.token)}t(ve,"assertTokenTypes");function pe(Nr,br){return o.ranges?{range:[Nr.offset,br.offset]}:void 0}t(pe,"createRange");function ae(Nr){let br=d.token,js=pe(br.loc.start,br.loc.end),Ni=CXt(s.slice(br.loc.start.offset,br.loc.end.offset),br,y),ji={loc:{start:{...br.loc.start},end:{...br.loc.end}},...js};switch(Nr){case g_.String:return _T.string(Ni,ji);case g_.Number:return _T.number(Ni,ji);case g_.Boolean:return _T.boolean(Ni,ji);default:throw new TypeError(`Unknown token type ${br.type}.`)}}t(ae,"createLiteralNode");function rt(Nr){let br=pe(Nr.loc.start,Nr.loc.end),js=s.slice(Nr.loc.start.offset,Nr.loc.end.offset),jo={loc:{start:{...Nr.loc.start},end:{...Nr.loc.end}},...br};if(Nr.type!=="Identifier"){let ji="";return(js[0]==="+"||js[0]==="-")&&(ji=js[0]),_T[js.includes("NaN")?"nan":"infinity"](ji,jo)}return _T.identifier(js,jo)}t(rt,"createJSON5IdentifierNode");function ze(Nr){let br=pe(Nr.loc.start,Nr.loc.end);return _T.null({loc:{start:{...Nr.loc.start},end:{...Nr.loc.end}},...br})}t(ze,"createNullNode");function je(Nr){y?ve(Nr,[g_.String,g_.Identifier,g_.Number]):K(Nr,g_.String);let br=d.token,js=Nr===g_.String?ae(Nr):rt(br);if(y&&(js.type==="NaN"||js.type==="Infinity")){if(js.sign!=="")throw new oO(d.token);js=_T.identifier(js.type,{loc:js.loc,...pe(js.loc.start,js.loc.end)})}Nr=q(),K(Nr,g_.Colon);let Ni=Or(),jo=pe(js.loc.start,Ni.loc.end);return _T.member(js,Ni,{loc:{start:{...js.loc.start},end:{...Ni.loc.end}},...jo})}t(je,"parseProperty");function Bt(Nr){K(Nr,g_.LBrace);let br=d.token,js=[],Ni=q();if(Ni!==g_.RBrace)do{if(js.push(je(Ni)),Ni=q(),!Ni)throw new Coe(js[js.length-1].loc.end);if(Ni===g_.Comma){if(Ni=q(),E&&Ni===g_.RBrace)break}else break}while(Ni);K(Ni,g_.RBrace);let jo=d.token,ji=pe(br.loc.start,jo.loc.end);return _T.object(js,{loc:{start:{...br.loc.start},end:{...jo.loc.end}},...ji})}t(Bt,"parseObject");function Ut(Nr){K(Nr,g_.LBracket);let br=d.token,js=[],Ni=q();if(Ni!==g_.RBracket)do{let Op=Or(Ni);if(js.push(_T.element(Op,{loc:Op.loc})),Ni=q(),Ni===g_.Comma){if(Ni=q(),E&&Ni===g_.RBracket)break}else break}while(Ni);K(Ni,g_.RBracket);let jo=d.token,ji=pe(br.loc.start,jo.loc.end);return _T.array(js,{loc:{start:{...br.loc.start},end:{...jo.loc.end}},...ji})}t(Ut,"parseArray");function Or(Nr){Nr=Nr??q();let br=d.token;switch(Nr){case g_.String:case g_.Boolean:return ae(Nr);case g_.Number:if(y){let js=s.slice(br.loc.start.offset,br.loc.end.offset);if((js[0]==="+"||js[0]==="-")&&(js=js.slice(1)),js==="NaN"||js==="Infinity")return rt(br)}return ae(Nr);case g_.Null:return ze(br);case g_.LBrace:return Bt(Nr);case g_.LBracket:return Ut(Nr);default:throw new oO(br)}}t(Or,"parseValue");let Jn=Or();if(q())throw new oO(d.token);let Wn={loc:{start:{line:1,column:1,offset:0},end:{...Jn.loc.end}}};return o.tokens&&(Wn.tokens=f),o.ranges&&(Wn.range=[Wn.loc.start.offset,Wn.loc.end.offset]),_T.document(Jn,Wn)}t(Jnt,"parse");var kXt=new Map([["Document",["body"]],["Object",["members"]],["Member",["name","value"]],["Element",["value"]],["Array",["elements"]],["String",[]],["Number",[]],["Boolean",[]],["Null",[]],["NaN",[]],["Infinity",[]],["Identifier",[]]]);function $nt(s){return s&&typeof s=="object"}t($nt,"isObject");function wXt(s){return $nt(s)&&typeof s.type=="string"}t(wXt,"isNode");function DXt(s,o){function f(d,y){typeof o.enter=="function"&&o.enter(d,y);for(let E of kXt.get(d.type)){let A=d[E];$nt(A)&&(Array.isArray(A)?A.forEach(R=>f(R,d)):wXt(A)&&f(A,d))}typeof o.exit=="function"&&o.exit(d,y)}t(f,"visitNode"),f(s)}t(DXt,"traverse");function Wnt(s,o=()=>!0){let f=[];return DXt(s,{enter(d,y){f.push({node:d,parent:y,phase:"enter"})},exit(d,y){f.push({node:d,parent:y,phase:"exit"})}}),f.filter(o).values()}t(Wnt,"iterator");import PXt from"node:fs/promises";var xV=t((s,o)=>s.split(/\r?\n/)[o-1],"getFileLineContent"),koe=t(async s=>{try{return await PXt.readFile(s,"utf-8")}catch{return}},"getSchemaContent"),EV=t(async s=>{try{return Jnt(s)}catch(o){if(o.column&&o.line&&o.message){let f=xV(s,o.line);return{column:o.column,line:o.line,length:void 0,lineText:f}}return}},"getSchemaAST");var qnt=t(async(s,o,f)=>{try{if(s.length===0)return;for(let d of s){let y=await koe(d),E=await AXt(y,d,o,f);if(E)return E}}catch{}},"getRouteLocationByValue"),AXt=t(async(s,o,f,d)=>{try{if(!s)return;let y=null,E=await EV(s);if(E){for(let{node:A}of Wnt(E))if(A.value&&A.value===f){y=A.loc;break}if(y!==null){let A=xV(s,y.start.line);return{file:o,line:y.start.line,column:y.start.column,length:y.end.column-y.start.column,lineText:A,suggestion:d}}}}catch{}},"getRouteLocationByValueFromSchema");import Vnt from"node:fs/promises";import SE from"node:path";var VPe="schemas",HPe=".oas.json";var cO=t(async s=>(await Vnt.readdir(s)).map(f=>SE.join(s,f)).filter(f=>f.endsWith(HPe)).sort(),"getOpenApiFilesByAlphabetical"),B9=t(async s=>{let o=SE.resolve(s,"config");return(await Vnt.readdir(o)).filter(d=>d.endsWith(HPe)).length>=1},"oasFileInProject");function CV(s,o,f,d,y,E,A){if(E.has(f))return;let R;try{R=d.get(f)}catch(ze){throw new D1({text:`Failed to resolve reference: ${f}`,detail:ze.message,severity:"error",message:"Failed to resolve reference",location:{file:s,column:0,line:0,length:0,lineText:f,namespace:o,suggestion:"Check the reference and try again."}})}let q=Doe(f),K=SE.basename(q,SE.extname(q)),ve=f.indexOf("#"),pe=ve>=0?f.substring(0,ve):f,ae=ve>=0?f.substring(ve+1):"",rt=d.get(pe);if(ae){let ze=ae.split("/").filter(Boolean);for(let je of ze)if(rt=rt[je],rt===void 0)throw new Error(`Cannot resolve JSON pointer: ${ae}`)}if(rt&&typeof rt=="object"&&"$ref"in rt&&typeof rt.$ref=="string"&&!rt.$ref.startsWith("#")){let ze=SE.resolve(SE.dirname(pe),rt.$ref);if(q=ze,K=SE.basename(q,SE.extname(q)),pe=ze,E.has(pe)){let Bt=E.get(pe);if(Bt===void 0)throw new Error(`Expected to find ${pe} in refsVisited map`);E.set(f,Bt);return}let je=y.length;E.set(f,je),E.set(pe,je),y.push(pe),woe(q,K,R,d,y,E,A)}else E.set(f,y.length),y.push(f),woe(Doe(f),o,R,d,y,E,A)}t(CV,"chaseRefs");function woe(s,o,f,d,y,E,A){if(Array.isArray(f))for(let R of f)woe(s,o,R,d,y,E,A);else if(typeof f=="object")for(let R in f){if(R==="$ref"){let q=f[R];A&&(f[R]=A(o,q,s)),CV(s,o,VN(s,q),d,y,E,A)}woe(s,o,f[R],d,y,E,A)}}t(woe,"lookForRefs");function VN(s,o){let f=o.indexOf("#");return f>=0?`${SE.resolve(s,o.substring(0,f))}${o.substring(f)}`:SE.resolve(SE.dirname(s),o)}t(VN,"getFullyQualifiedRefName");function Doe(s){let o=s.indexOf("#");return o>=0?s.substring(0,o):s}t(Doe,"getFilePathNameFromRefName");import ale from"node:path";var Poe=class s{static{t(this,"ContextData")}static#e;#r;constructor(o){this.#r=o}get(o){return s.get(o,this.#r)}static get(o,f){return s.#e||(s.#e=new WeakMap),s.#e.get(o)?.get(f)}set(o,f){s.set(o,this.#r,f)}static set(o,f,d){s.#e||(s.#e=new WeakMap);let y=s.#e.get(o);y||(y=new Map),y.set(f,d),s.#e.set(o,y)}};var BCr=new Poe(Symbol("ai-gateway-app-configuration"));function NXt(s){if(s.length>=255)throw new TypeError("Alphabet too long");let o=new Uint8Array(256);for(let K=0;K<o.length;K++)o[K]=255;for(let K=0;K<s.length;K++){let ve=s.charAt(K),pe=ve.charCodeAt(0);if(o[pe]!==255)throw new TypeError(ve+" is ambiguous");o[pe]=K}let f=s.length,d=s.charAt(0),y=Math.log(f)/Math.log(256),E=Math.log(256)/Math.log(f);function A(K){if(K instanceof Uint8Array||(ArrayBuffer.isView(K)?K=new Uint8Array(K.buffer,K.byteOffset,K.byteLength):Array.isArray(K)&&(K=Uint8Array.from(K))),!(K instanceof Uint8Array))throw new TypeError("Expected Uint8Array");if(K.length===0)return"";let ve=0,pe=0,ae=0,rt=K.length;for(;ae!==rt&&K[ae]===0;)ae++,ve++;let ze=(rt-ae)*E+1>>>0,je=new Uint8Array(ze);for(;ae!==rt;){let Or=K[ae],Jn=0;for(let _n=ze-1;(Or!==0||Jn<pe)&&_n!==-1;_n--,Jn++)Or+=256*je[_n]>>>0,je[_n]=Or%f>>>0,Or=Or/f>>>0;if(Or!==0)throw new Error("Non-zero carry");pe=Jn,ae++}let Bt=ze-pe;for(;Bt!==ze&&je[Bt]===0;)Bt++;let Ut=d.repeat(ve);for(;Bt<ze;++Bt)Ut+=s.charAt(je[Bt]);return Ut}t(A,"encode");function R(K){if(typeof K!="string")throw new TypeError("Expected String");if(K.length===0)return new Uint8Array;let ve=0,pe=0,ae=0;for(;K[ve]===d;)pe++,ve++;let rt=(K.length-ve)*y+1>>>0,ze=new Uint8Array(rt);for(;ve<K.length;){let Or=K.charCodeAt(ve);if(Or>255)return;let Jn=o[Or];if(Jn===255)return;let _n=0;for(let Wn=rt-1;(Jn!==0||_n<ae)&&Wn!==-1;Wn--,_n++)Jn+=f*ze[Wn]>>>0,ze[Wn]=Jn%256>>>0,Jn=Jn/256>>>0;if(Jn!==0)throw new Error("Non-zero carry");ae=_n,ve++}let je=rt-ae;for(;je!==rt&&ze[je]===0;)je++;let Bt=new Uint8Array(pe+(rt-je)),Ut=pe;for(;je!==rt;)Bt[Ut++]=ze[je++];return Bt}t(R,"decodeUnsafe");function q(K){let ve=R(K);if(ve)return ve;throw new Error("Non-base"+f+" character")}return t(q,"decode"),{encode:A,decodeUnsafe:R,decode:q}}t(NXt,"base");var Hnt=NXt;var IXt="123456789ABCDEFGHJKLMNPQRSTUVWXYZabcdefghijkmnopqrstuvwxyz",Aoe=Hnt(IXt);var Gnt="x-real-ip",GPe="true-client-ip";var Ynt="zp-local-service";var Noe=class extends Error{static{t(this,"SystemError")}constructor(o,f){super(o,f),this.name="InternalError"}},BP=class extends Error{static{t(this,"RuntimeError")}extensionMembers;constructor(o,f){typeof o=="string"?super(o,f):(super(o.message,f),this.extensionMembers=o.extensionMembers),this.name="RuntimeError"}};var OXt=!1;function U9(s,o){return{open:`\x1B[${s.join(";")}m`,close:`\x1B[${o}m`,regexp:new RegExp(`\\x1b\\[${o}m`,"g")}}t(U9,"code");function z9(s,o){return OXt?`${o.open}${s.replace(o.regexp,o.open)}${o.close}`:s}t(z9,"run");function FXt(s){return z9(s,U9([31],39))}t(FXt,"red");function LXt(s){return z9(s,U9([32],39))}t(LXt,"green");function RXt(s){return z9(s,U9([33],39))}t(RXt,"yellow");function MXt(s){return z9(s,U9([34],39))}t(MXt,"blue");function jXt(s){return z9(s,U9([35],39))}t(jXt,"magenta");function BXt(s){return z9(s,U9([36],39))}t(BXt,"cyan");var GCr=new RegExp(["[\\u001B\\u009B][[\\]()#;?]*(?:(?:(?:[a-zA-Z\\d]*(?:;[-a-zA-Z\\d\\/#&.:=?%@~_]*)*)?\\u0007)","(?:(?:\\d{1,4}(?:;\\d{0,4})*)?[\\dA-PR-TZcf-ntqry=><~]))"].join("|"),"g");var Knt=[FXt,LXt,RXt,MXt,jXt,BXt];function UXt(s){let o=0,f=s.length,d=0;if(f>0)for(;d<f;)o=(o<<5)-o+s.charCodeAt(d++)|0;return o}t(UXt,"hashCode");function Xnt(s){let o=Math.abs(UXt(s));return Knt[o%Knt.length]}t(Xnt,"generateColor");import{inspect as zXt}from"node:util";function Znt(s,o,...f){let d=0,y=f.length,E=String(o).replace(/%[sdjoO%]/g,A=>{if(A==="%%")return"%";if(d>=y)return A;switch(A){case"%s":return String(f[d++]);case"%d":return Number(f[d++]).toString();case"%o":return s(f[d++]).split(`
|
|
571
|
-
`).map(R=>R.trim()).join(" ");case"%O":return s(f[d++]);case"%j":try{return JSON.stringify(f[d++])}catch{return"[Circular]"}default:return A}});for(let A of f.splice(d))A===null||!(typeof A=="object"&&A!==null)?E+=" "+A:E+=" "+s(A);return E}t(Znt,"format");var Qnt=t((s,...o)=>Znt(zXt,s,o),"format");var YPe=class{static{t(this,"Debugger")}manager;ns;color;last;enabled;constructor(o,f){this.manager=o,this.ns=f,this.color=Xnt(f),this.last=0,this.enabled=o.enabled.some(d=>d.test(f))}log(...o){if(!this.enabled)return;let f,d=o[0];typeof d=="function"?f=d():f=String(d);let y=Date.now()-(this.last||Date.now());f=Qnt(f,...o);let E=`${this.color(this.ns)} ${f} ${this.color(`+${y}ms`)}`;console.log(E),this.last=Date.now()}},KPe=class{static{t(this,"DebugManager")}debuggers;enabled;constructor(o){this.debuggers=new Map,this.enabled=o??[]}};function JXt(s){return!s||s.length===0?[]:(s=s.replace(/\s/g,"").replace(/\*/g,".+"),s.split(",").map(o=>new RegExp(`^${o}$`)))}t(JXt,"extract");var Ioe;function Ooe(s){Ioe||(Ioe=new KPe(JXt(process.env.DEBUG)));let o=new YPe(Ioe,s);return Ioe.debuggers.set(s,o),Object.assign(o.log.bind(o),{self:o})}t(Ooe,"debug");var HN=Ooe("zuplo:runtime:external-service");function $Xt(){let s,{__ZUPLO_EXTERNAL_SERVICE_TOKEN:o}=Cm.instance.runtime;if(o&&o!=="undefined")try{let f=atob(o);s=JSON.parse(f)}catch{}return s}t($Xt,"getServiceAuth");async function eit(s,o){let f=".proxy",d=".tunnel";if(typeof s=="string"){let y=new URL(s),E=y.hostname;if(E.endsWith(f)){let Bt=E.slice(0,-f.length),Ut=new URL(`http://${Bt}${y.pathname}${y.search}`);HN(`Routing to proxy: ${Ut.toString()}`);let Or=o??{};return kV(Ut.toString(),Or)}let A=E.endsWith(d),R=E.indexOf(".")===-1;if(!(A||R))throw new BP(`Invalid service hostname suffix: ${E}. Use .proxy for proxy routing, .tunnel for explicit tunnel routing, or no suffix for default tunnel routing.`);let K=A?E.slice(0,-d.length):E,ve=$Xt();if(!ve)throw HN("There is no external service auth configured for this zup."),new BP("There are no external services configured for this zup.");HN(`Using external service auth. ClientId: ${ve.clientId})`);let pe=o??{},ae=new Headers(pe.headers||{});ae.set("CF-Access-Client-Id",ve.clientId),ae.set("CF-Access-Client-Secret",ve.clientSecret),pe.headers=ae;let rt;if(ve.customServiceMapping?.[K])rt=`https://${ve.customServiceMapping[K]}`;else if(Cm.instance.useLegacyServiceRouting)rt=`https://${K}.zuptunnel.com`;else{HN("Using sha256 service routing");let Bt=Cm.instance.build;if(Bt.ACCOUNT_NAME&&Bt.PROJECT_NAME&&Bt.ENVIRONMENT_TYPE){let Ut=await WXt(K,Bt.ACCOUNT_NAME,Bt.PROJECT_NAME,Bt.ENVIRONMENT_TYPE),Or=rit(Bt.ENVIRONMENT_TYPE),Jn=await XPe(`${Bt.ACCOUNT_NAME}-${Bt.PROJECT_NAME}-${Or}`);Jn==="40d7ad502f5d743997999594c177184a00161a77865423511f3a1ea21eb5a5e"||Jn==="d05bffe8fa91a300187d2cf43e8aa4a56bd809c442ae10d1ee49af7d29a5a11"?rt=`https://${Ut}.zuptunnel.com`:rt=`https://${Ut}.t.zuplo.app`}else throw HN("Cannot use sha256 service routing, missing build variables"),new BP("Failed to generate fully qualified tunnel url.")}let ze=new URL(`${rt}${y.pathname}${y.search}`);HN(`Calling external service: ${ze.toString()}`);let je=await kV(ze.toString(),pe);if(je.status===403&&je.headers.get("cf-access-domain")!==null)throw wV.console.error("403 Forbidden when calling external service.",{clientId:ve.clientId,tunnelHost:rt}),new BP("Could not connect to secure tunnel.");return je}else throw HN("Cannot call external service with Request object"),new BP("Currently, we only support fetch(<some_string>, ...).")}t(eit,"externalServiceHandler");async function tit(s,o){if(typeof s=="string"){let f=new URL(s),d=f.hostname,y=o??{},E=`http://${d}.zuplo.svc.cluster.local:9000`,A=new URL(`${E}${f.pathname}${f.search}`),R=new Headers(y.headers||{});return R.set(Ynt,d),y.headers=R,await kV(A.toString(),y)}else throw new BP("Currently, we only support fetch(<some_string>, ...).")}t(tit,"clusterServiceHandler");async function WXt(s,o,f,d){let y=s.toLowerCase(),E=o.toLowerCase(),A=f.toLowerCase(),R=rit(d);HN(`Hashing service name: ${E}-${y}.${E}-${A}-${R}`);let q=await XPe(`${E}-${y}`),K=await XPe(`${E}-${A}-${R}`);return`${q}.${K}`}t(WXt,"hashServiceName");async function XPe(s){let o=new TextEncoder().encode(s),f=await crypto.subtle.digest("SHA-256",o);return Array.from(new Uint8Array(f)).map(E=>E.toString(16).padStart(2,"0")).join("").slice(0,-1)}t(XPe,"hashSegment");function rit(s){let o=s.toLowerCase();switch(o){case"production":case"preview":return o;default:return"working-copy"}}t(rit,"sanitizeEnvironmentType");var ZPe=new Map;ZPe.set("service:",eit);ZPe.set("local:",tit);var kV=globalThis.fetch;function QPe(s,o){let{transformedInit:f,mtlsCertificate:d}=qXt(o);if(typeof s=="string"){let y=new URL(s),E=ZPe.get(y.protocol);return E?E(s,f):nit(s,f,d)}else return nit(s,f,d)}t(QPe,"internalFetch");globalThis.fetch=QPe;function nit(s,o,f){if(!f)return kV(s,o);if(Cm.instance.isCloudflare){let y=Cm.instance.runtime[f];if(!y)throw new Error(`mTLS certificate binding '${f}' not found. Ensure the certificate is uploaded and properly configured.`);if(typeof y!="object"||typeof y.fetch!="function")throw new Error(`mTLS certificate binding '${f}' is not a valid mTLS certificate binding. Make sure it's configured as an mTLS certificate, not an environment variable.`);return y.fetch(s,o)}else if(Cm.instance.isDeno){let d=globalThis.managedDedicatedMtlsBindings?.[f];if(!d)throw new Error(`mTLS certificate binding '${f}' not found. Ensure the certificate is uploaded and properly configured.`);if(typeof d.fetch!="function")throw new Error(`mTLS certificate binding '${f}' is not a valid mTLS certificate binding.`);return d.fetch(s,o)}else throw new Error("mTLS client certificates are not supported in this runtime environment")}t(nit,"performFetch");var qXt=t(s=>{if(!s||s instanceof Request)return{transformedInit:s,mtlsCertificate:void 0};let o=s;if(!o.zuplo)return{transformedInit:s,mtlsCertificate:void 0};let f=o.zuplo.mtlsCertificate,d=s;return d.cf={cacheEverything:o.zuplo?.cacheEverything,cacheTtl:o.zuplo?.cacheTtlSeconds},delete s.zuplo,{transformedInit:s,mtlsCertificate:f}},"transformInit");var VXt={console:{log:console.log.bind(console),info:console.info.bind(console),warn:console.warn.bind(console),error:console.error.bind(console),debug:console.debug.bind(console),assert:console.assert.bind(console),clear:console.clear.bind(console),count:console.count.bind(console),countReset:console.countReset.bind(console),dir:console.dir.bind(console),dirxml:console.dirxml.bind(console),group:console.group.bind(console),groupCollapsed:console.groupCollapsed.bind(console),groupEnd:console.groupEnd.bind(console),table:console.table.bind(console),time:console.time.bind(console),timeEnd:console.timeEnd.bind(console),timeLog:console.timeLog.bind(console),timeStamp:console.timeStamp.bind(console),trace:console.trace.bind(console),profile:console.profile.bind(console),profileEnd:console.profileEnd.bind(console)},fetch:QPe},wV=VXt;var eAe="2025-02-06",iit=Object.freeze({none:{runOutboundPoliciesOnHandlerOnAllStatuses:!1,doNotRunHooksOnSystemRoutes:!1,removeAllVendorHeadersExceptListed:!1,allowCustomPorts:!1,removeLegacyLogInitialization:!1,useForwardRedirectsPropOnUrlForwardHandler:!1,chainResponseSendingHooks:!1,return501ForUnsupportedHttpMethods:!1},"2023-03-14":{runOutboundPoliciesOnHandlerOnAllStatuses:!1,doNotRunHooksOnSystemRoutes:!1,removeAllVendorHeadersExceptListed:!1,allowCustomPorts:!1,removeLegacyLogInitialization:!1,useForwardRedirectsPropOnUrlForwardHandler:!1,chainResponseSendingHooks:!1,return501ForUnsupportedHttpMethods:!1},"2024-01-15":{runOutboundPoliciesOnHandlerOnAllStatuses:!0,doNotRunHooksOnSystemRoutes:!0,removeAllVendorHeadersExceptListed:!0,allowCustomPorts:!1,removeLegacyLogInitialization:!1,useForwardRedirectsPropOnUrlForwardHandler:!1,chainResponseSendingHooks:!1,return501ForUnsupportedHttpMethods:!1},"2024-03-14":{runOutboundPoliciesOnHandlerOnAllStatuses:!0,doNotRunHooksOnSystemRoutes:!0,removeAllVendorHeadersExceptListed:!0,allowCustomPorts:!1,removeLegacyLogInitialization:!1,useForwardRedirectsPropOnUrlForwardHandler:!1,chainResponseSendingHooks:!1,return501ForUnsupportedHttpMethods:!1},"2024-09-02":{runOutboundPoliciesOnHandlerOnAllStatuses:!0,doNotRunHooksOnSystemRoutes:!0,removeAllVendorHeadersExceptListed:!0,allowCustomPorts:!0,removeLegacyLogInitialization:!1,useForwardRedirectsPropOnUrlForwardHandler:!1,chainResponseSendingHooks:!1,return501ForUnsupportedHttpMethods:!1},"2025-02-06":{runOutboundPoliciesOnHandlerOnAllStatuses:!0,doNotRunHooksOnSystemRoutes:!0,removeAllVendorHeadersExceptListed:!0,allowCustomPorts:!0,removeLegacyLogInitialization:!0,useForwardRedirectsPropOnUrlForwardHandler:!0,chainResponseSendingHooks:!1,return501ForUnsupportedHttpMethods:!1},"2026-03-01":{runOutboundPoliciesOnHandlerOnAllStatuses:!0,doNotRunHooksOnSystemRoutes:!0,removeAllVendorHeadersExceptListed:!0,allowCustomPorts:!0,removeLegacyLogInitialization:!0,useForwardRedirectsPropOnUrlForwardHandler:!0,chainResponseSendingHooks:!0,return501ForUnsupportedHttpMethods:!0}});function sit(s={}){let{runtime:o="cloudflare"}=s;return new Cm({build:{ACCOUNT_NAME:"mock-account-name",PROJECT_NAME:"mock-project-name",API_VERSION:"0.0.0",BUILD_ID:crypto.randomUUID(),TIMESTAMP:new Date().toISOString(),BUILD_ENV:"test",ZUPLO_VERSION:"0.0.0",COMPATIBILITY_DATE:eAe,ENVIRONMENT_TYPE:"mock-environment-type",GIT_SHA:void 0,IS_LOCAL_DEVELOPMENT:!1,COMPATIBILITY_FLAGS:iit[eAe]},runtime:{RUNTIME_ENV:"test",RUNTIME_STAGE:"test",__ZUPLO_DEPLOYMENT_NAME:"mock-deployment-name",__ZUPLO_LOG_LEVEL:"debug",__ZUPLO_LOG_FORMAT:"pretty",__ZUPLO_MANAGEMENT_API_URL:"",__ZUPLO_RUNTIME_TYPE:o,__ZUPLO_AUTH_API_JWT:"",ZUPLO_SERVICE_BUCKET_ID:"bckt_mock"}})}t(sit,"getMockEnvironment");var HXt=/^[!#$%&'*+\-.^_`|~0-9A-Za-z]+$/;function GXt(s,o){let f=s.__ZUPLO_TRUSTED_IP_HEADER?.trim();if(!f)return o?GPe:Gnt;if(!HXt.test(f))throw new Noe(`__ZUPLO_TRUSTED_IP_HEADER is set to '${f}', which is not a valid HTTP header name. Header names may only contain the RFC 9110 token characters (letters, digits, and !#$%&'*+-.^_\`|~) - spaces, colons and tabs are not allowed. Set it to a valid header name such as '${GPe}' or 'cf-connecting-ip'.`);return f.toLowerCase()}t(GXt,"resolveTrustedIpHeader");var Cm=class s{static{t(this,"Environment")}config;#e;static#r;static#t=!1;static initialize(o){s.#r||(s.#r=new s(o),s.#t=!0)}static get instance(){return s.#t||(wV.console.debug("Environment has not been initialized. This is okay when running tests, a mock environment will be used."),s.#r??=sit()),s.#r}constructor({build:o,runtime:f}){let d;try{if(f.ZUPLO_SYSTEM_CONFIGURATIONS){let y=new TextDecoder().decode(Aoe.decode(f.ZUPLO_SYSTEM_CONFIGURATIONS)),E=JSON.parse(y);for(let A of Object.keys(E))f[A]||(f[A]=E[A])}if(f.__ZUPLO_CONFIG){let y=atob(f.__ZUPLO_CONFIG);d=JSON.parse(y)}}catch(y){wV.console.error("Failed to parse runtime configuration",y)}this.config=d??{},this.build=o,this.runtime=f,this.instanceId=crypto.randomUUID(),this.#e=GXt(f,this.isCloudflare)}build;runtime;instanceId;get deploymentName(){return this.runtime.__ZUPLO_DEPLOYMENT_NAME??this.config.deployment_name??void 0}get accountName(){return this.build.ACCOUNT_NAME??this.runtime.ZUPLO_ACCOUNT_NAME??void 0}get projectName(){return this.build.PROJECT_NAME??this.runtime.ZUPLO_PROJECT_NAME??void 0}get useLegacyServiceRouting(){return this.config.use_legacy_service_routing??void 0}get useProxyForFetchFromZups(){return this.config.use_proxy_for_fetch_from_zups??void 0}get devPortalBaseUrl(){return this.runtime.__ZUPLO_DEV_PORTAL_URL??this.config.dev_portal_url??"https://dev-portal-v4-1.zuplo.com"}get buildAssetsUrl(){return this.runtime.__ZUPLO_BUILD_ASSETS_URL??this.config.build_assets_url??"https://build-assets.zuplo.com"}get zuploEdgeApiUrl(){return this.runtime.__ZUPLO_EDGE_API_URL??this.config.zuplo_edge_api_url??"https://api.zuploedge.com"}get remoteLogToken(){return this.runtime.__ZUPLO_REMOTE_LOG_TOKEN??this.config.remote_log_token??void 0}get zuploClientAuthBucketId(){return this.config.zuplo_auth_client_bucket_id??"auth_o8PUdhKxSTOiB794GWPwLQCD"}get managementApiURL(){return this.runtime.__ZUPLO_MANAGEMENT_API_URL??this.config.management_api_url??"https://api.zuplo.com"}get developerApiUrl(){return this.config.developer_api_url??"https://dev.zuplo.com"}get cdnURL(){return this.runtime.__ZUPLO_CDN_URL??this.config.cdn_url??"https://cdn.zuplo.com"}get remoteLogURL(){return this.runtime.__ZUPLO_REMOTE_LOG_URL??this.config.log_event_api??"https://ellie.zuploedge.com"}get loggingId(){return this.runtime.__ZUPLO_LOGGING_ID??this.config.logging_id??void 0}get redisURL(){return this.runtime.__ZUPLO_REDIS_URL??this.config.redis_proxy_url??"https://redis-proxy.zuploedge.com"}get apiKeyServiceUrl(){return this.runtime.__ZUPLO_API_KEY_SERVICE_URL??this.config.api_key_service_url??"https://apikey.zuploedge.com"}get meteringServiceUrl(){return this.config.metering_service_url??"https://meters.zuploedge.com"}get authApiJWT(){return this.runtime.__ZUPLO_AUTH_API_JWT??void 0}get authClientId(){return this.config.auth_client_id??this.runtime.__ZUPLO_AUTH_CLIENT_ID}get authClientSecret(){return this.config.auth_client_secret??this.runtime.__ZUPLO_AUTH_CLIENT_SECRET}get authPublicKey(){return this.config.auth_public_key??this.runtime.__ZUPLO_AUTH_PUBLIC_KEY}get authPrivateKey(){return this.config.auth_private_key??this.runtime.__ZUPLO_AUTH_PRIVATE_KEY}get userLogLevel(){return this.runtime.ZUPLO_LOG_LEVEL??this.runtime.__ZUPLO_LOG_LEVEL??this.config.user_log_level??"debug"}get systemLogLevel(){return this.runtime.__ZUPLO_LOG_LEVEL??this.config.system_log_level??"debug"}get logFormat(){return this.runtime.__ZUPLO_LOG_FORMAT??this.config.log_format??"cloudflare"}get isCloudflare(){return this.runtime.__ZUPLO_RUNTIME_TYPE?this.runtime.__ZUPLO_RUNTIME_TYPE==="cloudflare":this.config.runtime_type?this.config.runtime_type==="cloudflare":typeof WebSocketPair=="function"}get isManagedDedicated(){return this.runtime.__ZUPLO_IS_MANAGED_DEDICATED==="true"}get trustedIpHeader(){return this.#e}get isDeno(){if(this.runtime.__ZUPLO_RUNTIME_TYPE)return this.runtime.__ZUPLO_RUNTIME_TYPE==="deno";if(this.config.runtime_type)return this.config.runtime_type==="deno";{let o=globalThis.Deno?.version?.deno;return typeof WebSocketPair!="function"&&o}}get isLocalDevelopment(){return this.build.IS_LOCAL_DEVELOPMENT}get isTestMode(){return!!this.runtime.__ZUPLO_TEST_MODE}get budgetRulesCaptureDisabled(){return this.runtime.__ZUPLO_BUDGET_RULES_CAPTURE==="off"}get systemUserAgent(){return`Zuplo/${this.build.ZUPLO_VERSION}`}get loggingEnvironmentType(){return this.isCloudflare?"edge":this.isLocalDevelopment?"local":this.isDeno?"working-copy":"unknown"}get loggingEnvironmentStage(){return this.build.ENVIRONMENT_TYPE==="PRODUCTION"?"production":this.build.ENVIRONMENT_TYPE==="PREVIEW"?"preview":this.isLocalDevelopment?"local":this.isWorkingCopy?"working-copy":"unknown"}get isWorkingCopy(){return this.build.ENVIRONMENT_TYPE==="WORKING_COPY"}get rateLimitServiceTimeoutMs(){let o=this.runtime.__ZUPLO_RATE_LIMIT_TIMEOUT_MS,f=this.config.rate_limit_service_timeout_ms,d=o??f;if(!d)return 500;let y=Number(d);return Number.isFinite(y)&&y>0?y:500}};var YXt=["ZUPLO_USER_LOGGER_DATA_DOG_API_KEY","ZUPLO_USER_LOGGER_DATA_DOG_URL","ZUPLO_LOG_LEVEL","ZUPLO_HANDLER_WRITE_LOG_LEVEL"];function ait(s){return s.startsWith("__ZUPLO")||s.startsWith("ZUPLO_")?!YXt.includes(s)&&!s.startsWith("ZUPLO_PUBLIC_"):s.startsWith("ZUDOKU_")?!s.startsWith("ZUDOKU_PUBLIC_"):!1}t(ait,"isRestrictedEnvVariableName");function oit(s){return!!s.startsWith("ZUPLO_")}t(oit,"isZuploReadableEnvVariableName");var Lkr=new Proxy({},{get(s,o){let f=String(o);switch(f){case"ZUPLO_ENVIRONMENT_TYPE":return Cm.instance.loggingEnvironmentType;case"ZUPLO_ENVIRONMENT_STAGE":return Cm.instance.loggingEnvironmentStage;case"ZUPLO_ENVIRONMENT_NAME":return Cm.instance.runtime.__ZUPLO_DEPLOYMENT_NAME;case"ZUPLO_ACCOUNT_NAME":return Cm.instance.accountName;case"ZUPLO_PROJECT_NAME":return Cm.instance.projectName;case"ZUPLO_BUILD_ID":return Cm.instance.build.BUILD_ID;case"ZUPLO_COMPATIBILITY_DATE":return Cm.instance.build.COMPATIBILITY_DATE}if(!(ait(f)&&!oit(f)))return Cm.instance.runtime[f]}});function DV(s,o,f){return`_${UP(`${s}_${o}_${f}`)}`}t(DV,"getRawOperationDataIdentifierName");function tAe(s,o,f,d){return`_${UP(s.toLowerCase())}_${o.toLowerCase()}_${f.toLowerCase()}_${d.toLowerCase()}`}t(tAe,"getIdForParameterSchema");function rAe(s,o,f){return`_${UP(s.toLowerCase())}_${o.toLowerCase()}_rb_${UP(f.toLowerCase())}`}t(rAe,"getIdForRequestBodySchema");function PV(s,o){return`_${UP(s)}_${UP(o)}`}t(PV,"getIdForRefSchema");function UP(s){let o=s.replace(/\[/g,"_LBRACKET_").replace(/\]/g,"_RBRACKET_").replace(/\{/g,"_LCURLY_").replace(/\}/g,"_RCURLY_").replace(/\//g,"_SLASH_").replace(/-/g,"_DASH_").replace(/\./g,"_DOT_").replace(/\+/g,"_PLUS_").replace(/:/g,"_COLON_").replace(/@/g,"_AT_").replace(/\$/g,"_DOLLAR_").replace(/[^a-zA-Z0-9_]/g,"_");return/^[a-zA-Z_]/.test(o)||(o=`_${o}`),o}t(UP,"sanitizedIdentifierName");var iAe={};Ftt(iAe,{UnsafePathError:()=>Foe,deleteFolder:()=>lZt,dirExists:()=>nAe,fileExists:()=>QXt,getParentDirFilename:()=>aZt,isNotFileOrDirectory:()=>tZt,listFolderContents:()=>uit,listFolders:()=>nZt,mkDirTemp:()=>eZt,mkdirForFilePathIfNotExits:()=>iZt,mkdirIfNotExists:()=>fit,safePath:()=>sZt,tarFolder:()=>oZt,untarFile:()=>cZt});import{spawn as cit}from"node:child_process";import{randomUUID as KXt}from"node:crypto";import GN from"node:fs/promises";import{platform as XXt,tmpdir as ZXt}from"node:os";import I1 from"node:path";var lit=[".git","node_modules",".yarn",".DS_Store"];async function QXt(s){try{return(await GN.stat(s)).isFile()}catch{return!1}}t(QXt,"fileExists");async function eZt(){let s=process.env.BUILD_FILE_PATH??ZXt(),o=KXt().replaceAll("-",""),f=I1.join(s,o);return await GN.mkdir(f,{recursive:!0}),f}t(eZt,"mkDirTemp");async function nAe(s){try{return(await GN.stat(s)).isDirectory()}catch{return!1}}t(nAe,"dirExists");async function tZt(s){try{return await GN.stat(s),!1}catch{return!0}}t(tZt,"isNotFileOrDirectory");function rZt(s,o){let f=I1.sep==="\\"?"\\\\":I1.sep,d=new RegExp(`(.*)(${f}${o})$|(.*)(${o}${f})`),y=s.match(d);if(!y)return"";let E=s.split(y[0]);return E[1]===""?"":I1.join(I1.sep,E[1])}t(rZt,"getParentDirectory");async function nZt(s){if(!await nAe(s))return[];let o=await GN.readdir(s,{withFileTypes:!0}),f=[];for await(let d of o)lit.includes(d.name)||d.isDirectory()&&f.push(d.name);return f}t(nZt,"listFolders");async function uit(s,o,f=!0){let d=rZt(s,o),y=await GN.readdir(s,{withFileTypes:!0}),E=[];for await(let A of y)if(!lit.includes(A.name)||!f)if(A.isDirectory()){let R=await uit(I1.join(s,A.name),o,f);E.push(...R)}else E.push(I1.join(d,A.name));return E}t(uit,"listFolderContents");var fit=t(async s=>{await GN.mkdir(s,{recursive:!0})},"mkdirIfNotExists"),iZt=t(async s=>{let o=I1.dirname(s);return fit(o)},"mkdirForFilePathIfNotExits"),Foe=class extends Error{static{t(this,"UnsafePathError")}};function sZt(s){let o=I1.normalize(s),f=t(d=>{let y=I1.normalize(d),E=process.platform==="win32",A=!1;if(E?A=y.toLowerCase().startsWith(o.toLowerCase()):A=y.startsWith(o),!A)throw new Foe("Resolved path is not part of the project.");return y},"ensureSafePath");return{resolve:t((...d)=>f(I1.resolve(...d)),"resolve")}}t(sZt,"safePath");function aZt(s){return I1.join(I1.basename(I1.dirname(s)),I1.basename(s))}t(aZt,"getParentDirFilename");async function oZt({folderPath:s,outputTarPath:o,exclude:f=["node_modules",".git","dist"],logger:d}){let y=[],E=[],A;try{await new Promise((R,q)=>{let K=cit("tar",[...f.flatMap(ve=>["--exclude",ve]),...XXt()!=="darwin"?["--warning=no-file-changed"]:[],"-cvf",o,"-C",s,"."]);K.stdout.on("data",ve=>{let pe=ve.toString().trim();pe.length>0&&y.push(pe.trim())}),K.stderr.on("data",ve=>{let pe=ve.toString().trim();pe.length>0&&E.push(pe.trim())}),K.on("close",ve=>{A=ve,ve===0?R():q(new Error(`tar process exited with code ${ve}`))}),K.on("error",ve=>{q(ve)})})}catch(R){throw new Error("Failed to tar folder",{cause:R})}finally{d.info({stdout:y.join(`
|
|
571
|
+
`).map(R=>R.trim()).join(" ");case"%O":return s(f[d++]);case"%j":try{return JSON.stringify(f[d++])}catch{return"[Circular]"}default:return A}});for(let A of f.splice(d))A===null||!(typeof A=="object"&&A!==null)?E+=" "+A:E+=" "+s(A);return E}t(Znt,"format");var Qnt=t((s,...o)=>Znt(zXt,s,o),"format");var YPe=class{static{t(this,"Debugger")}manager;ns;color;last;enabled;constructor(o,f){this.manager=o,this.ns=f,this.color=Xnt(f),this.last=0,this.enabled=o.enabled.some(d=>d.test(f))}log(...o){if(!this.enabled)return;let f,d=o[0];typeof d=="function"?f=d():f=String(d);let y=Date.now()-(this.last||Date.now());f=Qnt(f,...o);let E=`${this.color(this.ns)} ${f} ${this.color(`+${y}ms`)}`;console.log(E),this.last=Date.now()}},KPe=class{static{t(this,"DebugManager")}debuggers;enabled;constructor(o){this.debuggers=new Map,this.enabled=o??[]}};function JXt(s){return!s||s.length===0?[]:(s=s.replace(/\s/g,"").replace(/\*/g,".+"),s.split(",").map(o=>new RegExp(`^${o}$`)))}t(JXt,"extract");var Ioe;function Ooe(s){Ioe||(Ioe=new KPe(JXt(process.env.DEBUG)));let o=new YPe(Ioe,s);return Ioe.debuggers.set(s,o),Object.assign(o.log.bind(o),{self:o})}t(Ooe,"debug");var HN=Ooe("zuplo:runtime:external-service");function $Xt(){let s,{__ZUPLO_EXTERNAL_SERVICE_TOKEN:o}=Cm.instance.runtime;if(o&&o!=="undefined")try{let f=atob(o);s=JSON.parse(f)}catch{}return s}t($Xt,"getServiceAuth");async function eit(s,o){let f=".proxy",d=".tunnel";if(typeof s=="string"){let y=new URL(s),E=y.hostname;if(E.endsWith(f)){let Bt=E.slice(0,-f.length),Ut=new URL(`http://${Bt}${y.pathname}${y.search}`);HN(`Routing to proxy: ${Ut.toString()}`);let Or=o??{};return kV(Ut.toString(),Or)}let A=E.endsWith(d),R=E.indexOf(".")===-1;if(!(A||R))throw new BP(`Invalid service hostname suffix: ${E}. Use .proxy for proxy routing, .tunnel for explicit tunnel routing, or no suffix for default tunnel routing.`);let K=A?E.slice(0,-d.length):E,ve=$Xt();if(!ve)throw HN("There is no external service auth configured for this zup."),new BP("There are no external services configured for this zup.");HN(`Using external service auth. ClientId: ${ve.clientId})`);let pe=o??{},ae=new Headers(pe.headers||{});ae.set("CF-Access-Client-Id",ve.clientId),ae.set("CF-Access-Client-Secret",ve.clientSecret),pe.headers=ae;let rt;if(ve.customServiceMapping?.[K])rt=`https://${ve.customServiceMapping[K]}`;else if(Cm.instance.useLegacyServiceRouting)rt=`https://${K}.zuptunnel.com`;else{HN("Using sha256 service routing");let Bt=Cm.instance.build;if(Bt.ACCOUNT_NAME&&Bt.PROJECT_NAME&&Bt.ENVIRONMENT_TYPE){let Ut=await WXt(K,Bt.ACCOUNT_NAME,Bt.PROJECT_NAME,Bt.ENVIRONMENT_TYPE),Or=rit(Bt.ENVIRONMENT_TYPE),Jn=await XPe(`${Bt.ACCOUNT_NAME}-${Bt.PROJECT_NAME}-${Or}`);Jn==="40d7ad502f5d743997999594c177184a00161a77865423511f3a1ea21eb5a5e"||Jn==="d05bffe8fa91a300187d2cf43e8aa4a56bd809c442ae10d1ee49af7d29a5a11"?rt=`https://${Ut}.zuptunnel.com`:rt=`https://${Ut}.t.zuplo.app`}else throw HN("Cannot use sha256 service routing, missing build variables"),new BP("Failed to generate fully qualified tunnel url.")}let ze=new URL(`${rt}${y.pathname}${y.search}`);HN(`Calling external service: ${ze.toString()}`);let je=await kV(ze.toString(),pe);if(je.status===403&&je.headers.get("cf-access-domain")!==null)throw wV.console.error("403 Forbidden when calling external service.",{clientId:ve.clientId,tunnelHost:rt}),new BP("Could not connect to secure tunnel.");return je}else throw HN("Cannot call external service with Request object"),new BP("Currently, we only support fetch(<some_string>, ...).")}t(eit,"externalServiceHandler");async function tit(s,o){if(typeof s=="string"){let f=new URL(s),d=f.hostname,y=o??{},E=`http://${d}.zuplo.svc.cluster.local:9000`,A=new URL(`${E}${f.pathname}${f.search}`),R=new Headers(y.headers||{});return R.set(Ynt,d),y.headers=R,await kV(A.toString(),y)}else throw new BP("Currently, we only support fetch(<some_string>, ...).")}t(tit,"clusterServiceHandler");async function WXt(s,o,f,d){let y=s.toLowerCase(),E=o.toLowerCase(),A=f.toLowerCase(),R=rit(d);HN(`Hashing service name: ${E}-${y}.${E}-${A}-${R}`);let q=await XPe(`${E}-${y}`),K=await XPe(`${E}-${A}-${R}`);return`${q}.${K}`}t(WXt,"hashServiceName");async function XPe(s){let o=new TextEncoder().encode(s),f=await crypto.subtle.digest("SHA-256",o);return Array.from(new Uint8Array(f)).map(E=>E.toString(16).padStart(2,"0")).join("").slice(0,-1)}t(XPe,"hashSegment");function rit(s){let o=s.toLowerCase();switch(o){case"production":case"preview":return o;default:return"working-copy"}}t(rit,"sanitizeEnvironmentType");var ZPe=new Map;ZPe.set("service:",eit);ZPe.set("local:",tit);var kV=globalThis.fetch;function QPe(s,o){let{transformedInit:f,mtlsCertificate:d}=qXt(o);if(typeof s=="string"){let y=new URL(s),E=ZPe.get(y.protocol);return E?E(s,f):nit(s,f,d)}else return nit(s,f,d)}t(QPe,"internalFetch");globalThis.fetch=QPe;function nit(s,o,f){if(!f)return kV(s,o);if(Cm.instance.isCloudflare){let y=Cm.instance.runtime[f];if(!y)throw new Error(`mTLS certificate binding '${f}' not found. Ensure the certificate is uploaded and properly configured.`);if(typeof y!="object"||typeof y.fetch!="function")throw new Error(`mTLS certificate binding '${f}' is not a valid mTLS certificate binding. Make sure it's configured as an mTLS certificate, not an environment variable.`);return y.fetch(s,o)}else if(Cm.instance.isDeno){let d=globalThis.managedDedicatedMtlsBindings?.[f];if(!d)throw new Error(`mTLS certificate binding '${f}' not found. Ensure the certificate is uploaded and properly configured.`);if(typeof d.fetch!="function")throw new Error(`mTLS certificate binding '${f}' is not a valid mTLS certificate binding.`);return d.fetch(s,o)}else throw new Error("mTLS client certificates are not supported in this runtime environment")}t(nit,"performFetch");var qXt=t(s=>{if(!s||s instanceof Request)return{transformedInit:s,mtlsCertificate:void 0};let o=s;if(!o.zuplo)return{transformedInit:s,mtlsCertificate:void 0};let f=o.zuplo.mtlsCertificate,d=s;return d.cf={cacheEverything:o.zuplo?.cacheEverything,cacheTtl:o.zuplo?.cacheTtlSeconds},delete s.zuplo,{transformedInit:s,mtlsCertificate:f}},"transformInit");var VXt={console:{log:console.log.bind(console),info:console.info.bind(console),warn:console.warn.bind(console),error:console.error.bind(console),debug:console.debug.bind(console),assert:console.assert.bind(console),clear:console.clear.bind(console),count:console.count.bind(console),countReset:console.countReset.bind(console),dir:console.dir.bind(console),dirxml:console.dirxml.bind(console),group:console.group.bind(console),groupCollapsed:console.groupCollapsed.bind(console),groupEnd:console.groupEnd.bind(console),table:console.table.bind(console),time:console.time.bind(console),timeEnd:console.timeEnd.bind(console),timeLog:console.timeLog.bind(console),timeStamp:console.timeStamp.bind(console),trace:console.trace.bind(console),profile:console.profile.bind(console),profileEnd:console.profileEnd.bind(console)},fetch:QPe},wV=VXt;var eAe="2025-02-06",iit=Object.freeze({none:{runOutboundPoliciesOnHandlerOnAllStatuses:!1,doNotRunHooksOnSystemRoutes:!1,removeAllVendorHeadersExceptListed:!1,allowCustomPorts:!1,removeLegacyLogInitialization:!1,useForwardRedirectsPropOnUrlForwardHandler:!1,chainResponseSendingHooks:!1,return501ForUnsupportedHttpMethods:!1},"2023-03-14":{runOutboundPoliciesOnHandlerOnAllStatuses:!1,doNotRunHooksOnSystemRoutes:!1,removeAllVendorHeadersExceptListed:!1,allowCustomPorts:!1,removeLegacyLogInitialization:!1,useForwardRedirectsPropOnUrlForwardHandler:!1,chainResponseSendingHooks:!1,return501ForUnsupportedHttpMethods:!1},"2024-01-15":{runOutboundPoliciesOnHandlerOnAllStatuses:!0,doNotRunHooksOnSystemRoutes:!0,removeAllVendorHeadersExceptListed:!0,allowCustomPorts:!1,removeLegacyLogInitialization:!1,useForwardRedirectsPropOnUrlForwardHandler:!1,chainResponseSendingHooks:!1,return501ForUnsupportedHttpMethods:!1},"2024-03-14":{runOutboundPoliciesOnHandlerOnAllStatuses:!0,doNotRunHooksOnSystemRoutes:!0,removeAllVendorHeadersExceptListed:!0,allowCustomPorts:!1,removeLegacyLogInitialization:!1,useForwardRedirectsPropOnUrlForwardHandler:!1,chainResponseSendingHooks:!1,return501ForUnsupportedHttpMethods:!1},"2024-09-02":{runOutboundPoliciesOnHandlerOnAllStatuses:!0,doNotRunHooksOnSystemRoutes:!0,removeAllVendorHeadersExceptListed:!0,allowCustomPorts:!0,removeLegacyLogInitialization:!1,useForwardRedirectsPropOnUrlForwardHandler:!1,chainResponseSendingHooks:!1,return501ForUnsupportedHttpMethods:!1},"2025-02-06":{runOutboundPoliciesOnHandlerOnAllStatuses:!0,doNotRunHooksOnSystemRoutes:!0,removeAllVendorHeadersExceptListed:!0,allowCustomPorts:!0,removeLegacyLogInitialization:!0,useForwardRedirectsPropOnUrlForwardHandler:!0,chainResponseSendingHooks:!1,return501ForUnsupportedHttpMethods:!1},"2026-03-01":{runOutboundPoliciesOnHandlerOnAllStatuses:!0,doNotRunHooksOnSystemRoutes:!0,removeAllVendorHeadersExceptListed:!0,allowCustomPorts:!0,removeLegacyLogInitialization:!0,useForwardRedirectsPropOnUrlForwardHandler:!0,chainResponseSendingHooks:!0,return501ForUnsupportedHttpMethods:!0}});function sit(s={}){let{runtime:o="cloudflare"}=s;return new Cm({build:{ACCOUNT_NAME:"mock-account-name",PROJECT_NAME:"mock-project-name",API_VERSION:"0.0.0",BUILD_ID:crypto.randomUUID(),TIMESTAMP:new Date().toISOString(),BUILD_ENV:"test",ZUPLO_VERSION:"0.0.0",COMPATIBILITY_DATE:eAe,ENVIRONMENT_TYPE:"mock-environment-type",GIT_SHA:void 0,IS_LOCAL_DEVELOPMENT:!1,COMPATIBILITY_FLAGS:iit[eAe]},runtime:{RUNTIME_ENV:"test",RUNTIME_STAGE:"test",__ZUPLO_DEPLOYMENT_NAME:"mock-deployment-name",__ZUPLO_LOG_LEVEL:"debug",__ZUPLO_LOG_FORMAT:"pretty",__ZUPLO_MANAGEMENT_API_URL:"",__ZUPLO_RUNTIME_TYPE:o,__ZUPLO_AUTH_API_JWT:"",ZUPLO_SERVICE_BUCKET_ID:"bckt_mock"}})}t(sit,"getMockEnvironment");var HXt=/^[!#$%&'*+\-.^_`|~0-9A-Za-z]+$/;function GXt(s,o){let f=s.__ZUPLO_TRUSTED_IP_HEADER?.trim();if(!f)return o?GPe:Gnt;if(!HXt.test(f))throw new Noe(`__ZUPLO_TRUSTED_IP_HEADER is set to '${f}', which is not a valid HTTP header name. Header names may only contain the RFC 9110 token characters (letters, digits, and !#$%&'*+-.^_\`|~) - spaces, colons and tabs are not allowed. Set it to a valid header name such as '${GPe}' or 'cf-connecting-ip'.`);return f.toLowerCase()}t(GXt,"resolveTrustedIpHeader");var Cm=class s{static{t(this,"Environment")}config;#e;static#r;static#t=!1;static initialize(o){s.#r||(s.#r=new s(o),s.#t=!0)}static get instance(){return s.#t||(wV.console.debug("Environment has not been initialized. This is okay when running tests, a mock environment will be used."),s.#r??=sit(),s.#t=!0),s.#r}constructor({build:o,runtime:f}){let d;try{if(f.ZUPLO_SYSTEM_CONFIGURATIONS){let y=new TextDecoder().decode(Aoe.decode(f.ZUPLO_SYSTEM_CONFIGURATIONS)),E=JSON.parse(y);for(let A of Object.keys(E))f[A]||(f[A]=E[A])}if(f.__ZUPLO_CONFIG){let y=atob(f.__ZUPLO_CONFIG);d=JSON.parse(y)}}catch(y){wV.console.error("Failed to parse runtime configuration",y)}this.config=d??{},this.build=o,this.runtime=f,this.instanceId=crypto.randomUUID(),this.#e=GXt(f,this.isCloudflare)}build;runtime;instanceId;get deploymentName(){return this.runtime.__ZUPLO_DEPLOYMENT_NAME??this.config.deployment_name??void 0}get accountName(){return this.build.ACCOUNT_NAME??this.runtime.ZUPLO_ACCOUNT_NAME??void 0}get projectName(){return this.build.PROJECT_NAME??this.runtime.ZUPLO_PROJECT_NAME??void 0}get useLegacyServiceRouting(){return this.config.use_legacy_service_routing??void 0}get useProxyForFetchFromZups(){return this.config.use_proxy_for_fetch_from_zups??void 0}get devPortalBaseUrl(){return this.runtime.__ZUPLO_DEV_PORTAL_URL??this.config.dev_portal_url??"https://dev-portal-v4-1.zuplo.com"}get buildAssetsUrl(){return this.runtime.__ZUPLO_BUILD_ASSETS_URL??this.config.build_assets_url??"https://build-assets.zuplo.com"}get zuploEdgeApiUrl(){return this.runtime.__ZUPLO_EDGE_API_URL??this.config.zuplo_edge_api_url??"https://api.zuploedge.com"}get remoteLogToken(){return this.runtime.__ZUPLO_REMOTE_LOG_TOKEN??this.config.remote_log_token??void 0}get zuploClientAuthBucketId(){return this.config.zuplo_auth_client_bucket_id??"auth_o8PUdhKxSTOiB794GWPwLQCD"}get managementApiURL(){return this.runtime.__ZUPLO_MANAGEMENT_API_URL??this.config.management_api_url??"https://api.zuplo.com"}get developerApiUrl(){return this.config.developer_api_url??"https://dev.zuplo.com"}get cdnURL(){return this.runtime.__ZUPLO_CDN_URL??this.config.cdn_url??"https://cdn.zuplo.com"}get remoteLogURL(){return this.runtime.__ZUPLO_REMOTE_LOG_URL??this.config.log_event_api??"https://ellie.zuploedge.com"}get loggingId(){return this.runtime.__ZUPLO_LOGGING_ID??this.config.logging_id??void 0}get redisURL(){return this.runtime.__ZUPLO_REDIS_URL??this.config.redis_proxy_url??"https://redis-proxy.zuploedge.com"}get apiKeyServiceUrl(){return this.runtime.__ZUPLO_API_KEY_SERVICE_URL??this.config.api_key_service_url??"https://apikey.zuploedge.com"}get meteringServiceUrl(){return this.config.metering_service_url??"https://meters.zuploedge.com"}get authApiJWT(){return this.runtime.__ZUPLO_AUTH_API_JWT??void 0}get authClientId(){return this.config.auth_client_id??this.runtime.__ZUPLO_AUTH_CLIENT_ID}get authClientSecret(){return this.config.auth_client_secret??this.runtime.__ZUPLO_AUTH_CLIENT_SECRET}get authPublicKey(){return this.config.auth_public_key??this.runtime.__ZUPLO_AUTH_PUBLIC_KEY}get authPrivateKey(){return this.config.auth_private_key??this.runtime.__ZUPLO_AUTH_PRIVATE_KEY}get userLogLevel(){return this.runtime.ZUPLO_LOG_LEVEL??this.runtime.__ZUPLO_LOG_LEVEL??this.config.user_log_level??"debug"}get systemLogLevel(){return this.runtime.__ZUPLO_LOG_LEVEL??this.config.system_log_level??"debug"}get logFormat(){return this.runtime.__ZUPLO_LOG_FORMAT??this.config.log_format??"cloudflare"}get isCloudflare(){return this.runtime.__ZUPLO_RUNTIME_TYPE?this.runtime.__ZUPLO_RUNTIME_TYPE==="cloudflare":this.config.runtime_type?this.config.runtime_type==="cloudflare":typeof WebSocketPair=="function"}get isManagedDedicated(){return this.runtime.__ZUPLO_IS_MANAGED_DEDICATED==="true"}get trustedIpHeader(){return this.#e}get isDeno(){if(this.runtime.__ZUPLO_RUNTIME_TYPE)return this.runtime.__ZUPLO_RUNTIME_TYPE==="deno";if(this.config.runtime_type)return this.config.runtime_type==="deno";{let o=globalThis.Deno?.version?.deno;return typeof WebSocketPair!="function"&&o}}get isLocalDevelopment(){return this.build.IS_LOCAL_DEVELOPMENT}get isTestMode(){return!!this.runtime.__ZUPLO_TEST_MODE}get budgetRulesCaptureDisabled(){return this.runtime.__ZUPLO_BUDGET_RULES_CAPTURE==="off"}get systemUserAgent(){return`Zuplo/${this.build.ZUPLO_VERSION}`}get loggingEnvironmentType(){return this.isCloudflare?"edge":this.isLocalDevelopment?"local":this.isDeno?"working-copy":"unknown"}get loggingEnvironmentStage(){return this.build.ENVIRONMENT_TYPE==="PRODUCTION"?"production":this.build.ENVIRONMENT_TYPE==="PREVIEW"?"preview":this.isLocalDevelopment?"local":this.isWorkingCopy?"working-copy":"unknown"}get isWorkingCopy(){return this.build.ENVIRONMENT_TYPE==="WORKING_COPY"}get rateLimitServiceTimeoutMs(){let o=this.runtime.__ZUPLO_RATE_LIMIT_TIMEOUT_MS,f=this.config.rate_limit_service_timeout_ms,d=o??f;if(!d)return 500;let y=Number(d);return Number.isFinite(y)&&y>0?y:500}};var YXt=["ZUPLO_USER_LOGGER_DATA_DOG_API_KEY","ZUPLO_USER_LOGGER_DATA_DOG_URL","ZUPLO_LOG_LEVEL","ZUPLO_HANDLER_WRITE_LOG_LEVEL"];function ait(s){return s.startsWith("__ZUPLO")||s.startsWith("ZUPLO_")?!YXt.includes(s)&&!s.startsWith("ZUPLO_PUBLIC_"):s.startsWith("ZUDOKU_")?!s.startsWith("ZUDOKU_PUBLIC_"):!1}t(ait,"isRestrictedEnvVariableName");function oit(s){return!!s.startsWith("ZUPLO_")}t(oit,"isZuploReadableEnvVariableName");var Lkr=new Proxy({},{get(s,o){let f=String(o);switch(f){case"ZUPLO_ENVIRONMENT_TYPE":return Cm.instance.loggingEnvironmentType;case"ZUPLO_ENVIRONMENT_STAGE":return Cm.instance.loggingEnvironmentStage;case"ZUPLO_ENVIRONMENT_NAME":return Cm.instance.runtime.__ZUPLO_DEPLOYMENT_NAME;case"ZUPLO_ACCOUNT_NAME":return Cm.instance.accountName;case"ZUPLO_PROJECT_NAME":return Cm.instance.projectName;case"ZUPLO_BUILD_ID":return Cm.instance.build.BUILD_ID;case"ZUPLO_COMPATIBILITY_DATE":return Cm.instance.build.COMPATIBILITY_DATE}if(!(ait(f)&&!oit(f)))return Cm.instance.runtime[f]}});function DV(s,o,f){return`_${UP(`${s}_${o}_${f}`)}`}t(DV,"getRawOperationDataIdentifierName");function tAe(s,o,f,d){return`_${UP(s.toLowerCase())}_${o.toLowerCase()}_${f.toLowerCase()}_${d.toLowerCase()}`}t(tAe,"getIdForParameterSchema");function rAe(s,o,f){return`_${UP(s.toLowerCase())}_${o.toLowerCase()}_rb_${UP(f.toLowerCase())}`}t(rAe,"getIdForRequestBodySchema");function PV(s,o){return`_${UP(s)}_${UP(o)}`}t(PV,"getIdForRefSchema");function UP(s){let o=s.replace(/\[/g,"_LBRACKET_").replace(/\]/g,"_RBRACKET_").replace(/\{/g,"_LCURLY_").replace(/\}/g,"_RCURLY_").replace(/\//g,"_SLASH_").replace(/-/g,"_DASH_").replace(/\./g,"_DOT_").replace(/\+/g,"_PLUS_").replace(/:/g,"_COLON_").replace(/@/g,"_AT_").replace(/\$/g,"_DOLLAR_").replace(/[^a-zA-Z0-9_]/g,"_");return/^[a-zA-Z_]/.test(o)||(o=`_${o}`),o}t(UP,"sanitizedIdentifierName");var iAe={};Ftt(iAe,{UnsafePathError:()=>Foe,deleteFolder:()=>lZt,dirExists:()=>nAe,fileExists:()=>QXt,getParentDirFilename:()=>aZt,isNotFileOrDirectory:()=>tZt,listFolderContents:()=>uit,listFolders:()=>nZt,mkDirTemp:()=>eZt,mkdirForFilePathIfNotExits:()=>iZt,mkdirIfNotExists:()=>fit,safePath:()=>sZt,tarFolder:()=>oZt,untarFile:()=>cZt});import{spawn as cit}from"node:child_process";import{randomUUID as KXt}from"node:crypto";import GN from"node:fs/promises";import{platform as XXt,tmpdir as ZXt}from"node:os";import I1 from"node:path";var lit=[".git","node_modules",".yarn",".DS_Store"];async function QXt(s){try{return(await GN.stat(s)).isFile()}catch{return!1}}t(QXt,"fileExists");async function eZt(){let s=process.env.BUILD_FILE_PATH??ZXt(),o=KXt().replaceAll("-",""),f=I1.join(s,o);return await GN.mkdir(f,{recursive:!0}),f}t(eZt,"mkDirTemp");async function nAe(s){try{return(await GN.stat(s)).isDirectory()}catch{return!1}}t(nAe,"dirExists");async function tZt(s){try{return await GN.stat(s),!1}catch{return!0}}t(tZt,"isNotFileOrDirectory");function rZt(s,o){let f=I1.sep==="\\"?"\\\\":I1.sep,d=new RegExp(`(.*)(${f}${o})$|(.*)(${o}${f})`),y=s.match(d);if(!y)return"";let E=s.split(y[0]);return E[1]===""?"":I1.join(I1.sep,E[1])}t(rZt,"getParentDirectory");async function nZt(s){if(!await nAe(s))return[];let o=await GN.readdir(s,{withFileTypes:!0}),f=[];for await(let d of o)lit.includes(d.name)||d.isDirectory()&&f.push(d.name);return f}t(nZt,"listFolders");async function uit(s,o,f=!0){let d=rZt(s,o),y=await GN.readdir(s,{withFileTypes:!0}),E=[];for await(let A of y)if(!lit.includes(A.name)||!f)if(A.isDirectory()){let R=await uit(I1.join(s,A.name),o,f);E.push(...R)}else E.push(I1.join(d,A.name));return E}t(uit,"listFolderContents");var fit=t(async s=>{await GN.mkdir(s,{recursive:!0})},"mkdirIfNotExists"),iZt=t(async s=>{let o=I1.dirname(s);return fit(o)},"mkdirForFilePathIfNotExits"),Foe=class extends Error{static{t(this,"UnsafePathError")}};function sZt(s){let o=I1.normalize(s),f=t(d=>{let y=I1.normalize(d),E=process.platform==="win32",A=!1;if(E?A=y.toLowerCase().startsWith(o.toLowerCase()):A=y.startsWith(o),!A)throw new Foe("Resolved path is not part of the project.");return y},"ensureSafePath");return{resolve:t((...d)=>f(I1.resolve(...d)),"resolve")}}t(sZt,"safePath");function aZt(s){return I1.join(I1.basename(I1.dirname(s)),I1.basename(s))}t(aZt,"getParentDirFilename");async function oZt({folderPath:s,outputTarPath:o,exclude:f=["node_modules",".git","dist"],logger:d}){let y=[],E=[],A;try{await new Promise((R,q)=>{let K=cit("tar",[...f.flatMap(ve=>["--exclude",ve]),...XXt()!=="darwin"?["--warning=no-file-changed"]:[],"-cvf",o,"-C",s,"."]);K.stdout.on("data",ve=>{let pe=ve.toString().trim();pe.length>0&&y.push(pe.trim())}),K.stderr.on("data",ve=>{let pe=ve.toString().trim();pe.length>0&&E.push(pe.trim())}),K.on("close",ve=>{A=ve,ve===0?R():q(new Error(`tar process exited with code ${ve}`))}),K.on("error",ve=>{q(ve)})})}catch(R){throw new Error("Failed to tar folder",{cause:R})}finally{d.info({stdout:y.join(`
|
|
572
572
|
`),stderr:E.join(`
|
|
573
573
|
`),exitCode:A},"Tar process logs")}}t(oZt,"tarFolder");async function cZt({tarFilePath:s,outputDir:o,logger:f}){let d=[],y=[],E;try{await new Promise((A,R)=>{let q=cit("sh",["-c",`tar -xvf ${s} -C ${o};`]);q.stdout.on("data",K=>{let ve=K.toString().trim();ve.length>0&&d.push(ve.trim())}),q.stderr.on("data",K=>{let ve=K.toString().trim();ve.length>0&&y.push(ve.trim())}),q.on("close",K=>{E=K,K===0?A():R(new Error(`tar process exited with code ${K}`))}),q.on("error",K=>{R(K)})})}catch(A){throw new Error("Failed to untar file",{cause:A})}finally{f.info({stdout:d.join(`
|
|
574
574
|
`),stderr:y.join(`
|
|
@@ -22,5 +22,5 @@
|
|
|
22
22
|
* DEALINGS IN THE SOFTWARE.
|
|
23
23
|
*--------------------------------------------------------------------------------------------*/
|
|
24
24
|
|
|
25
|
-
import{a as u}from"./chunk-A3QGJZO7.js";import{_ as o,aa as s}from"./chunk-
|
|
26
|
-
//# sourceMappingURL=chunk-
|
|
25
|
+
import{a as u}from"./chunk-A3QGJZO7.js";import{_ as o,aa as s}from"./chunk-A7PEKB6K.js";import{a as r}from"./chunk-TYV53J3B.js";var c=["ZUPLO_USER_LOGGER_DATA_DOG_API_KEY","ZUPLO_USER_LOGGER_DATA_DOG_URL","ZUPLO_LOG_LEVEL","ZUPLO_HANDLER_WRITE_LOG_LEVEL"];function L(t){return t.startsWith("__ZUPLO")||t.startsWith("ZUPLO_")?!c.includes(t)&&!t.startsWith("ZUPLO_PUBLIC_"):t.startsWith("ZUDOKU_")?!t.startsWith("ZUDOKU_PUBLIC_"):!1}r(L,"isRestrictedEnvVariableName");function p(t){return!!t.startsWith("ZUPLO_")}r(p,"isZuploReadableEnvVariableName");var f=new Proxy({},{get(t,e){let n=String(e);switch(n){case"ZUPLO_ENVIRONMENT_TYPE":return o.instance.loggingEnvironmentType;case"ZUPLO_ENVIRONMENT_STAGE":return o.instance.loggingEnvironmentStage;case"ZUPLO_ENVIRONMENT_NAME":return o.instance.runtime.__ZUPLO_DEPLOYMENT_NAME;case"ZUPLO_ACCOUNT_NAME":return o.instance.accountName;case"ZUPLO_PROJECT_NAME":return o.instance.projectName;case"ZUPLO_BUILD_ID":return o.instance.build.BUILD_ID;case"ZUPLO_COMPATIBILITY_DATE":return o.instance.build.COMPATIBILITY_DATE}if(!(L(n)&&!p(n)))return o.instance.runtime[n]}});var a;function C(t){a=t}r(C,"setGlobalZuploEventContext");function Z(){if(a===void 0)throw new Error("global ZuploEventContext has not been defined - invalid runtime state");return a}r(Z,"getGlobalZuploEventContext");var _=new s(Symbol("ai-gateway-app-configuration")),l={set(t,e){let n=e!==null&&typeof e=="object"&&!Object.isFrozen(e)?u(e):e;_.set(t,{configuration:n})},has(t){return _.get(t)!==void 0},get(t){return _.get(t)?.configuration},getId(t){let e=l.get(t);if(e===null||typeof e!="object")return;let n=Reflect.get(e,"id");return typeof n=="string"&&n!==""?n:void 0}};function I(t,e,n){return`_${i(`${t}_${e}_${n}`)}`}r(I,"getRawOperationDataIdentifierName");function m(t,e,n,g){return`_${i(t.toLowerCase())}_${e.toLowerCase()}_${n.toLowerCase()}_${g.toLowerCase()}`}r(m,"getIdForParameterSchema");function N(t,e,n){return`_${i(t.toLowerCase())}_${e.toLowerCase()}_rb_${i(n.toLowerCase())}`}r(N,"getIdForRequestBodySchema");function T(t,e){return`_${i(t)}_${i(e)}`}r(T,"getIdForRefSchema");function i(t){let e=t.replace(/\[/g,"_LBRACKET_").replace(/\]/g,"_RBRACKET_").replace(/\{/g,"_LCURLY_").replace(/\}/g,"_RCURLY_").replace(/\//g,"_SLASH_").replace(/-/g,"_DASH_").replace(/\./g,"_DOT_").replace(/\+/g,"_PLUS_").replace(/:/g,"_COLON_").replace(/@/g,"_AT_").replace(/\$/g,"_DOLLAR_").replace(/[^a-zA-Z0-9_]/g,"_");return/^[a-zA-Z_]/.test(e)||(e=`_${e}`),e}r(i,"sanitizedIdentifierName");export{L as a,p as b,f as c,C as d,Z as e,l as f,I as g,m as h,N as i,T as j,i as k};
|
|
26
|
+
//# sourceMappingURL=chunk-2JN5KYSY.js.map
|