@zuplo/cli 7.4.4 → 7.4.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/dist/common/settings.d.ts +1 -0
- package/dist/common/settings.d.ts.map +1 -1
- package/dist/common/settings.js +3 -0
- package/dist/common/settings.js.map +1 -1
- package/dist/deploy/classify-build-probe.d.ts +14 -0
- package/dist/deploy/classify-build-probe.d.ts.map +1 -0
- package/dist/deploy/classify-build-probe.js +35 -0
- package/dist/deploy/classify-build-probe.js.map +1 -0
- package/dist/deploy/classify-build-probe.test.d.ts +2 -0
- package/dist/deploy/classify-build-probe.test.d.ts.map +1 -0
- package/dist/deploy/classify-build-probe.test.js +51 -0
- package/dist/deploy/classify-build-probe.test.js.map +1 -0
- package/dist/deploy/handler.js +20 -5
- package/dist/deploy/handler.js.map +1 -1
- package/dist/deploy/poll-deployment.d.ts +8 -4
- package/dist/deploy/poll-deployment.d.ts.map +1 -1
- package/dist/deploy/poll-deployment.js +32 -4
- package/dist/deploy/poll-deployment.js.map +1 -1
- package/dist/deploy/poll-deployment.test.d.ts +2 -0
- package/dist/deploy/poll-deployment.test.d.ts.map +1 -0
- package/dist/deploy/poll-deployment.test.js +158 -0
- package/dist/deploy/poll-deployment.test.js.map +1 -0
- package/dist/tsconfig.tsbuildinfo +1 -1
- package/node_modules/@modelcontextprotocol/client/node_modules/jose/dist/types/jwks/remote.d.ts +4 -4
- package/node_modules/@modelcontextprotocol/client/node_modules/jose/dist/types/jws/general/verify.d.ts +3 -3
- package/node_modules/@modelcontextprotocol/client/node_modules/jose/dist/types/jwt/encrypt.d.ts +8 -14
- package/node_modules/@modelcontextprotocol/client/node_modules/jose/dist/types/jwt/sign.d.ts +8 -14
- package/node_modules/@modelcontextprotocol/client/node_modules/jose/dist/types/jwt/unsecured.d.ts +9 -15
- package/node_modules/@modelcontextprotocol/client/node_modules/jose/dist/webapi/jwe/compact/encrypt.js +30 -8
- package/node_modules/@modelcontextprotocol/client/node_modules/jose/dist/webapi/jwe/flattened/decrypt.js +8 -4
- package/node_modules/@modelcontextprotocol/client/node_modules/jose/dist/webapi/jwe/flattened/encrypt.js +6 -13
- package/node_modules/@modelcontextprotocol/client/node_modules/jose/dist/webapi/jwe/general/decrypt.js +19 -19
- package/node_modules/@modelcontextprotocol/client/node_modules/jose/dist/webapi/jwe/general/encrypt.js +27 -20
- package/node_modules/@modelcontextprotocol/client/node_modules/jose/dist/webapi/jwk/embedded.js +15 -1
- package/node_modules/@modelcontextprotocol/client/node_modules/jose/dist/webapi/jwk/thumbprint.js +11 -5
- package/node_modules/@modelcontextprotocol/client/node_modules/jose/dist/webapi/jwks/local.js +45 -53
- package/node_modules/@modelcontextprotocol/client/node_modules/jose/dist/webapi/jwks/remote.js +82 -103
- package/node_modules/@modelcontextprotocol/client/node_modules/jose/dist/webapi/jws/compact/sign.js +10 -9
- package/node_modules/@modelcontextprotocol/client/node_modules/jose/dist/webapi/jws/flattened/sign.js +2 -1
- package/node_modules/@modelcontextprotocol/client/node_modules/jose/dist/webapi/jws/flattened/verify.js +8 -7
- package/node_modules/@modelcontextprotocol/client/node_modules/jose/dist/webapi/jws/general/sign.js +5 -3
- package/node_modules/@modelcontextprotocol/client/node_modules/jose/dist/webapi/jws/general/verify.js +51 -21
- package/node_modules/@modelcontextprotocol/client/node_modules/jose/dist/webapi/jwt/decrypt.js +7 -9
- package/node_modules/@modelcontextprotocol/client/node_modules/jose/dist/webapi/jwt/encrypt.js +21 -50
- package/node_modules/@modelcontextprotocol/client/node_modules/jose/dist/webapi/jwt/sign.js +8 -41
- package/node_modules/@modelcontextprotocol/client/node_modules/jose/dist/webapi/jwt/unsecured.js +21 -42
- package/node_modules/@modelcontextprotocol/client/node_modules/jose/dist/webapi/key/generate_key_pair.js +6 -2
- package/node_modules/@modelcontextprotocol/client/node_modules/jose/dist/webapi/key/generate_secret.js +7 -6
- package/node_modules/@modelcontextprotocol/client/node_modules/jose/dist/webapi/key/import.js +16 -12
- package/node_modules/@modelcontextprotocol/client/node_modules/jose/dist/webapi/lib/asn1.js +7 -2
- package/node_modules/@modelcontextprotocol/client/node_modules/jose/dist/webapi/lib/content_encryption.js +7 -15
- package/node_modules/@modelcontextprotocol/client/node_modules/jose/dist/webapi/lib/deflate.js +8 -0
- package/node_modules/@modelcontextprotocol/client/node_modules/jose/dist/webapi/lib/helpers.js +1 -1
- package/node_modules/@modelcontextprotocol/client/node_modules/jose/dist/webapi/lib/jwe_decrypt.js +85 -28
- package/node_modules/@modelcontextprotocol/client/node_modules/jose/dist/webapi/lib/jwe_encrypt.js +40 -12
- package/node_modules/@modelcontextprotocol/client/node_modules/jose/dist/webapi/lib/jwk_metadata.js +20 -0
- package/node_modules/@modelcontextprotocol/client/node_modules/jose/dist/webapi/lib/jws_sign.js +47 -36
- package/node_modules/@modelcontextprotocol/client/node_modules/jose/dist/webapi/lib/jws_verify.js +77 -45
- package/node_modules/@modelcontextprotocol/client/node_modules/jose/dist/webapi/lib/jwt_claims_set.js +82 -47
- package/node_modules/@modelcontextprotocol/client/node_modules/jose/dist/webapi/lib/key.js +24 -9
- package/node_modules/@modelcontextprotocol/client/node_modules/jose/dist/webapi/lib/key_management.js +10 -4
- package/node_modules/@modelcontextprotocol/client/node_modules/jose/dist/webapi/lib/key_options.js +6 -0
- package/node_modules/@modelcontextprotocol/client/node_modules/jose/dist/webapi/lib/options.js +26 -0
- package/node_modules/@modelcontextprotocol/client/node_modules/jose/dist/webapi/lib/type_checks.js +11 -13
- package/node_modules/@modelcontextprotocol/client/node_modules/jose/package.json +1 -1
- package/node_modules/@modelcontextprotocol/sdk/node_modules/jose/dist/types/jwks/remote.d.ts +4 -4
- package/node_modules/@modelcontextprotocol/sdk/node_modules/jose/dist/types/jws/general/verify.d.ts +3 -3
- package/node_modules/@modelcontextprotocol/sdk/node_modules/jose/dist/types/jwt/encrypt.d.ts +8 -14
- package/node_modules/@modelcontextprotocol/sdk/node_modules/jose/dist/types/jwt/sign.d.ts +8 -14
- package/node_modules/@modelcontextprotocol/sdk/node_modules/jose/dist/types/jwt/unsecured.d.ts +9 -15
- package/node_modules/@modelcontextprotocol/sdk/node_modules/jose/dist/webapi/jwe/compact/encrypt.js +30 -8
- package/node_modules/@modelcontextprotocol/sdk/node_modules/jose/dist/webapi/jwe/flattened/decrypt.js +8 -4
- package/node_modules/@modelcontextprotocol/sdk/node_modules/jose/dist/webapi/jwe/flattened/encrypt.js +6 -13
- package/node_modules/@modelcontextprotocol/sdk/node_modules/jose/dist/webapi/jwe/general/decrypt.js +19 -19
- package/node_modules/@modelcontextprotocol/sdk/node_modules/jose/dist/webapi/jwe/general/encrypt.js +27 -20
- package/node_modules/@modelcontextprotocol/sdk/node_modules/jose/dist/webapi/jwk/embedded.js +15 -1
- package/node_modules/@modelcontextprotocol/sdk/node_modules/jose/dist/webapi/jwk/thumbprint.js +11 -5
- package/node_modules/@modelcontextprotocol/sdk/node_modules/jose/dist/webapi/jwks/local.js +45 -53
- package/node_modules/@modelcontextprotocol/sdk/node_modules/jose/dist/webapi/jwks/remote.js +82 -103
- package/node_modules/@modelcontextprotocol/sdk/node_modules/jose/dist/webapi/jws/compact/sign.js +10 -9
- package/node_modules/@modelcontextprotocol/sdk/node_modules/jose/dist/webapi/jws/flattened/sign.js +2 -1
- package/node_modules/@modelcontextprotocol/sdk/node_modules/jose/dist/webapi/jws/flattened/verify.js +8 -7
- package/node_modules/@modelcontextprotocol/sdk/node_modules/jose/dist/webapi/jws/general/sign.js +5 -3
- package/node_modules/@modelcontextprotocol/sdk/node_modules/jose/dist/webapi/jws/general/verify.js +51 -21
- package/node_modules/@modelcontextprotocol/sdk/node_modules/jose/dist/webapi/jwt/decrypt.js +7 -9
- package/node_modules/@modelcontextprotocol/sdk/node_modules/jose/dist/webapi/jwt/encrypt.js +21 -50
- package/node_modules/@modelcontextprotocol/sdk/node_modules/jose/dist/webapi/jwt/sign.js +8 -41
- package/node_modules/@modelcontextprotocol/sdk/node_modules/jose/dist/webapi/jwt/unsecured.js +21 -42
- package/node_modules/@modelcontextprotocol/sdk/node_modules/jose/dist/webapi/key/generate_key_pair.js +6 -2
- package/node_modules/@modelcontextprotocol/sdk/node_modules/jose/dist/webapi/key/generate_secret.js +7 -6
- package/node_modules/@modelcontextprotocol/sdk/node_modules/jose/dist/webapi/key/import.js +16 -12
- package/node_modules/@modelcontextprotocol/sdk/node_modules/jose/dist/webapi/lib/asn1.js +7 -2
- package/node_modules/@modelcontextprotocol/sdk/node_modules/jose/dist/webapi/lib/content_encryption.js +7 -15
- package/node_modules/@modelcontextprotocol/sdk/node_modules/jose/dist/webapi/lib/deflate.js +8 -0
- package/node_modules/@modelcontextprotocol/sdk/node_modules/jose/dist/webapi/lib/helpers.js +1 -1
- package/node_modules/@modelcontextprotocol/sdk/node_modules/jose/dist/webapi/lib/jwe_decrypt.js +85 -28
- package/node_modules/@modelcontextprotocol/sdk/node_modules/jose/dist/webapi/lib/jwe_encrypt.js +40 -12
- package/node_modules/@modelcontextprotocol/sdk/node_modules/jose/dist/webapi/lib/jwk_metadata.js +20 -0
- package/node_modules/@modelcontextprotocol/sdk/node_modules/jose/dist/webapi/lib/jws_sign.js +47 -36
- package/node_modules/@modelcontextprotocol/sdk/node_modules/jose/dist/webapi/lib/jws_verify.js +77 -45
- package/node_modules/@modelcontextprotocol/sdk/node_modules/jose/dist/webapi/lib/jwt_claims_set.js +82 -47
- package/node_modules/@modelcontextprotocol/sdk/node_modules/jose/dist/webapi/lib/key.js +24 -9
- package/node_modules/@modelcontextprotocol/sdk/node_modules/jose/dist/webapi/lib/key_management.js +10 -4
- package/node_modules/@modelcontextprotocol/sdk/node_modules/jose/dist/webapi/lib/key_options.js +6 -0
- package/node_modules/@modelcontextprotocol/sdk/node_modules/jose/dist/webapi/lib/options.js +26 -0
- package/node_modules/@modelcontextprotocol/sdk/node_modules/jose/dist/webapi/lib/type_checks.js +11 -13
- package/node_modules/@modelcontextprotocol/sdk/node_modules/jose/package.json +1 -1
- package/node_modules/@posthog/core/dist/logs/index.js +1 -1
- package/node_modules/@posthog/core/dist/logs/index.mjs +1 -1
- package/node_modules/@posthog/core/dist/logs/logs-utils.d.ts +4 -13
- package/node_modules/@posthog/core/dist/logs/logs-utils.d.ts.map +1 -1
- package/node_modules/@posthog/core/dist/logs/logs-utils.js +160 -26
- package/node_modules/@posthog/core/dist/logs/logs-utils.mjs +160 -26
- package/node_modules/@posthog/core/dist/metrics/index.js +1 -1
- package/node_modules/@posthog/core/dist/metrics/index.mjs +1 -1
- package/node_modules/@posthog/core/dist/posthog-core-stateless.d.ts +12 -18
- package/node_modules/@posthog/core/dist/posthog-core-stateless.d.ts.map +1 -1
- package/node_modules/@posthog/core/dist/posthog-core-stateless.js +15 -47
- package/node_modules/@posthog/core/dist/posthog-core-stateless.mjs +15 -47
- package/node_modules/@posthog/core/dist/posthog-core.d.ts.map +1 -1
- package/node_modules/@posthog/core/dist/posthog-core.js +12 -7
- package/node_modules/@posthog/core/dist/posthog-core.mjs +12 -7
- package/node_modules/@posthog/core/dist/types.d.ts +4 -1
- package/node_modules/@posthog/core/dist/types.d.ts.map +1 -1
- package/node_modules/@posthog/core/dist/utils/index.d.ts +1 -1
- package/node_modules/@posthog/core/dist/utils/index.d.ts.map +1 -1
- package/node_modules/@posthog/core/dist/utils/index.js +14 -24
- package/node_modules/@posthog/core/dist/utils/index.mjs +2 -2
- package/node_modules/@posthog/core/dist/utils/json-utils.d.ts +15 -0
- package/node_modules/@posthog/core/dist/utils/json-utils.d.ts.map +1 -1
- package/node_modules/@posthog/core/dist/utils/json-utils.js +24 -0
- package/node_modules/@posthog/core/dist/utils/json-utils.mjs +1 -1
- package/node_modules/@posthog/core/package.json +2 -2
- package/node_modules/@posthog/core/src/logs/index.spec.ts +77 -0
- package/node_modules/@posthog/core/src/logs/index.ts +2 -2
- package/node_modules/@posthog/core/src/logs/logs-utils.spec.ts +314 -9
- package/node_modules/@posthog/core/src/logs/logs-utils.ts +215 -27
- package/node_modules/@posthog/core/src/metrics/index.spec.ts +15 -1
- package/node_modules/@posthog/core/src/metrics/index.ts +1 -1
- package/node_modules/@posthog/core/src/posthog-core-stateless.ts +40 -65
- package/node_modules/@posthog/core/src/posthog-core.ts +19 -12
- package/node_modules/@posthog/core/src/types.ts +3 -1
- package/node_modules/@posthog/core/src/utils/index.ts +3 -1
- package/node_modules/@posthog/core/src/utils/json-utils.ts +15 -8
- package/node_modules/@posthog/types/dist/capture-log.d.ts +10 -1
- package/node_modules/@posthog/types/dist/capture-log.d.ts.map +1 -1
- package/node_modules/@posthog/types/dist/index.d.ts +1 -1
- package/node_modules/@posthog/types/dist/index.d.ts.map +1 -1
- package/node_modules/@posthog/types/dist/posthog-config.d.ts +20 -5
- package/node_modules/@posthog/types/dist/posthog-config.d.ts.map +1 -1
- package/node_modules/@posthog/types/package.json +1 -1
- package/node_modules/@posthog/types/src/capture-log.ts +8 -1
- package/node_modules/@posthog/types/src/index.ts +1 -0
- package/node_modules/@posthog/types/src/posthog-config.ts +21 -5
- 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-IZE65N7D.js → chunk-CUK3VROF.js} +2 -2
- package/node_modules/@zuplo/runtime/out/esm/{chunk-4CDML74A.js → chunk-K4TBJG47.js} +2 -2
- package/node_modules/@zuplo/runtime/out/esm/{chunk-4VE55TG3.js → chunk-S4EBLGSU.js} +2 -2
- package/node_modules/@zuplo/runtime/out/esm/{chunk-4POCC75H.js → chunk-XF3IIUDX.js} +4 -4
- package/node_modules/@zuplo/runtime/out/esm/{chunk-4POCC75H.js.map → chunk-XF3IIUDX.js.map} +1 -1
- package/node_modules/@zuplo/runtime/out/esm/chunk-ZPOD3IK4.js +403 -0
- package/node_modules/@zuplo/runtime/out/esm/chunk-ZPOD3IK4.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/node_modules/fast-uri/index.js +201 -48
- package/node_modules/fast-uri/lib/schemes.js +9 -4
- package/node_modules/fast-uri/lib/utils.js +388 -91
- package/node_modules/fast-uri/package.json +1 -1
- package/node_modules/fast-uri/test/component-safe-serialization.test.js +105 -0
- package/node_modules/fast-uri/test/equal.test.js +31 -3
- package/node_modules/fast-uri/test/fixtures/uri-js-parse.json +2 -0
- package/node_modules/fast-uri/test/ipv6-canonical.test.js +34 -0
- package/node_modules/fast-uri/test/ipv6-validation.test.js +90 -0
- package/node_modules/fast-uri/test/malformed-percent.test.js +77 -0
- package/node_modules/fast-uri/test/malformed-urn.test.js +61 -0
- package/node_modules/fast-uri/test/parse.test.js +7 -3
- package/node_modules/fast-uri/test/query-fragment-normalization.test.js +33 -0
- package/node_modules/fast-uri/test/reserved-path-normalization.test.js +109 -0
- package/node_modules/fast-uri/test/scheme-validation.test.js +124 -0
- package/node_modules/fast-uri/test/security-normalization.test.js +101 -0
- package/node_modules/fast-uri/test/security.test.js +75 -3
- package/node_modules/fast-uri/test/urn-full-input.test.js +29 -0
- package/node_modules/fast-uri/test/websocket-query-preservation.test.js +24 -0
- package/node_modules/hono/dist/cjs/client/client.js +25 -11
- package/node_modules/hono/dist/cjs/client/utils.js +3 -0
- package/node_modules/hono/dist/cjs/helper/accepts/accepts.js +36 -2
- package/node_modules/hono/dist/cjs/jsx/dom/render.js +2 -0
- package/node_modules/hono/dist/cjs/middleware/etag/index.js +1 -1
- package/node_modules/hono/dist/cjs/request.js +8 -4
- package/node_modules/hono/dist/cjs/router/reg-exp-router/node.js +10 -3
- package/node_modules/hono/dist/cjs/router/reg-exp-router/router.js +47 -83
- package/node_modules/hono/dist/cjs/router/reg-exp-router/trie.js +2 -1
- package/node_modules/hono/dist/cjs/router/trie-router/node.js +4 -3
- package/node_modules/hono/dist/cjs/router/utils.js +27 -0
- package/node_modules/hono/dist/cjs/utils/cookie.js +1 -1
- package/node_modules/hono/dist/cjs/utils/stream.js +7 -1
- package/node_modules/hono/dist/client/client.js +25 -11
- package/node_modules/hono/dist/client/utils.js +3 -0
- package/node_modules/hono/dist/helper/accepts/accepts.js +36 -2
- package/node_modules/hono/dist/jsx/dom/render.js +2 -0
- package/node_modules/hono/dist/middleware/etag/index.js +1 -1
- package/node_modules/hono/dist/request.js +8 -4
- package/node_modules/hono/dist/router/reg-exp-router/node.js +6 -2
- package/node_modules/hono/dist/router/reg-exp-router/router.js +53 -84
- package/node_modules/hono/dist/router/reg-exp-router/trie.js +2 -1
- package/node_modules/hono/dist/router/trie-router/node.js +4 -3
- package/node_modules/hono/dist/router/utils.js +5 -0
- package/node_modules/hono/dist/types/router/reg-exp-router/node.d.ts +3 -0
- package/node_modules/hono/dist/types/router/utils.d.ts +1 -0
- package/node_modules/hono/dist/utils/cookie.js +1 -1
- package/node_modules/hono/dist/utils/stream.js +7 -1
- package/node_modules/hono/package.json +1 -1
- package/package.json +11 -11
- package/node_modules/@zuplo/runtime/out/esm/chunk-4SX4HBWT.js +0 -409
- package/node_modules/@zuplo/runtime/out/esm/chunk-4SX4HBWT.js.map +0 -1
- /package/node_modules/@zuplo/runtime/out/esm/{chunk-IZE65N7D.js.map → chunk-CUK3VROF.js.map} +0 -0
- /package/node_modules/@zuplo/runtime/out/esm/{chunk-4CDML74A.js.map → chunk-K4TBJG47.js.map} +0 -0
- /package/node_modules/@zuplo/runtime/out/esm/{chunk-4VE55TG3.js.map → chunk-S4EBLGSU.js.map} +0 -0
- /package/node_modules/@zuplo/runtime/out/esm/{chunk-4POCC75H.js.LEGAL.txt → chunk-XF3IIUDX.js.LEGAL.txt} +0 -0
- /package/node_modules/@zuplo/runtime/out/esm/{chunk-4SX4HBWT.js.LEGAL.txt → chunk-ZPOD3IK4.js.LEGAL.txt} +0 -0
|
@@ -568,7 +568,7 @@ globstar while`,s,ue,o,ae,tt),this.matchOne(s.slice(ue),o.slice(ae),f))return th
|
|
|
568
568
|
`],[102,"\f"],[114,"\r"],[116," "]]),Ioe=new Map([...wV,[118,"\v"],[48,"\0"]]),IXt=new Map([['"','"'],["\\","\\"],["/","/"],["\b","b"],[`
|
|
569
569
|
`,"n"],["\f","f"],["\r","r"],[" ","t"]]),okr=new Map([...IXt,["\v","v"],["\0","0"],["\u2028","u2028"],["\u2029","u2029"]]),Noe=new Map([["[","LBracket"],["]","RBracket"],["{","LBrace"],["}","RBrace"],[":","Colon"],[",","Comma"],[DXt,"Boolean"],[PXt,"Boolean"],[AXt,"Null"]]),Aoe=new Map([...Noe,["NaN","Number"],[NXt,"Number"]]),GPe=new Set([10,13,8232,8233]),BP=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}},YPe=class extends BP{static{t(this,"UnexpectedChar")}constructor(o,f){super(`Unexpected character '${String.fromCharCode(o)}' found.`,f)}},KPe=class extends BP{static{t(this,"UnexpectedIdentifier")}constructor(o,f){super(`Unexpected identifier '${o}' found.`,f)}},fO=class extends BP{static{t(this,"UnexpectedToken")}constructor(o){super(`Unexpected token ${o.type} found.`,o.loc.start)}},Ooe=class extends BP{static{t(this,"UnexpectedEOF")}constructor(o){super("Unexpected end of input found.",o)}},OXt=/[\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]/,FXt=/[\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]/,LXt=13,Hnt=10,XPe=class{static{t(this,"CharCodeReader")}#e="";#r=1;#t=0;#n=-1;#s=!1;#m=-1;#c=!1;constructor(o){this.#e=o}#u(){this.#c||(this.#t++,this.#n++,this.#m=-1,this.#c=!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===LXt?(this.#s=!0,this.peek()===Hnt&&this.#n++):o===Hnt&&(this.#s=!0),this.#m=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.#m}},RXt="Infinity",MXt="NaN",jXt=new Set([116,102,110]),ZPe=new Set([32,9,10,13]),Gnt=new Set([...ZPe,11,12,160,8232,8233,65279,160,8192,8193,8194,8195,8196,8197,8198,8199,8200,8201,8202,8239,8287,12288]),BXt={mode:"json",ranges:!1},UXt=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 jP(s){return s>=48&&s<=57}t(jP,"isDigit");function HPe(s){return jP(s)||s>=65&&s<=70||s>=97&&s<=102}t(HPe,"isHexDigit");function zXt(s){return s>=49&&s<=57}t(zXt,"isPositiveDigit");function $Xt(s){return jXt.has(s)}t($Xt,"isKeywordStart");function Knt(s){return jP(s)||s===46||s===45}t(Knt,"isNumberStart");function JXt(s){return Knt(s)||s===43}t(JXt,"isJSON5NumberStart");function Ynt(s,o){return s===34||o&&s===39}t(Ynt,"isStringStart");function Xnt(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 OXt.test(o)}t(Xnt,"isJSON5IdentifierStart");function WXt(s){if(Xnt(s)||jP(s))return!0;let o=String.fromCharCode(s);return FXt.test(o)}t(WXt,"isJSON5IdentifierPart");var QPe=class{static{t(this,"Tokenizer")}#e;#r;#t;#n;#s;#m;#c;#u;#f;#p;#a;constructor(o,f){this.#r=o,this.#e={...BXt,...f},this.#t=new XPe(o),this.#n=this.#e.mode==="json5",this.#s=this.#e.mode!=="json",this.#m=this.#e.ranges,this.#u=this.#n?Ioe.has.bind(Ioe):wV.has.bind(wV),this.#f=this.#n?GPe.has.bind(GPe):()=>!1,this.#p=this.#n?d=>d===120:()=>!1,this.#a=this.#n?Gnt.has.bind(Gnt):ZPe.has.bind(ZPe)}#i(o,f=this.#t.locate()){throw new YPe(o,f)}#o(o,f=this.#t.locate()){throw new KPe(o,f)}#h(){throw new Ooe(this.#t.locate())}#d(o,f,d,y){let x=d.offset+f,P=this.#e.ranges?{range:[d.offset,x]}:void 0;return{type:o,loc:{start:d,end:y||{line:d.line,column:d.column+f,offset:x}},...P}}#_(o){let f="",d;for(let y=0;y<o;y++){if(d=this.#t.peek(),HPe(d)){this.#t.next(),f+=String.fromCharCode(d);continue}this.#i(d)}return f}#y(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.#_(4)),o=this.#t.peek(),!WXt(o))break;this.#t.next()}while(!0);return f}#b(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.#_(4);d+=y.length}else if(this.#p(o)){this.#t.next(),d++;let y=this.#_(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}#v(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.#y(o);return d!==RXt&&d!==MXt&&this.#i(o),f+d.length}jP(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(),HPe(o)||(this.#t.next(),this.#i(o));do this.#t.next(),f++,o=this.#t.peek();while(HPe(o))}else jP(o)&&this.#i(o);else if(!this.#n||o!==46)for(zXt(o)||this.#i(o),o=this.#t.peek();jP(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();jP(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()),jP(o)||(this.#t.next(),this.#i(o));jP(o);)this.#t.next(),f++,o=this.#t.peek();return f}#C(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.#a(o);)o=this.#t.next();if(o===-1)return g_.EOF;let f=this.#t.locate(),d=String.fromCharCode(o);if(this.#n)if(Aoe.has(d))this.#c=this.#d(Aoe.get(d),1,f);else if(Xnt(o)){let y=this.#y(o);Aoe.has(y)?this.#c=this.#d(Aoe.get(y),y.length,f):this.#c=this.#d("Identifier",y.length,f)}else if(JXt(o)){let y=this.#v(o);this.#c=this.#d("Number",y,f)}else if(Ynt(o,this.#n)){let y=this.#b(o),x=this.#t.locate();this.#c=this.#d("String",y,f,{line:x.line,column:x.column+1,offset:x.offset+1})}else if(o===47&&this.#s){let y=this.#C(o),x=this.#t.locate();this.#c=this.#d(y.multiline?"BlockComment":"LineComment",y.length,f,{line:x.line,column:x.column+1,offset:x.offset+1})}else this.#i(o);else if(Noe.has(d))this.#c=this.#d(Noe.get(d),1,f);else if($Xt(o)){let y=this.#y(o);UXt.has(y)||this.#o(y,f),this.#c=this.#d(Noe.get(y),y.length,f)}else if(Knt(o)){let y=this.#v(o);this.#c=this.#d("Number",y,f)}else if(Ynt(o,this.#n)){let y=this.#b(o);this.#c=this.#d("String",y,f)}else if(o===47&&this.#s){let y=this.#C(o),x=this.#t.locate();this.#c=this.#d(y.multiline?"BlockComment":"LineComment",y.length,f,{line:x.line,column:x.column+1,offset:x.offset+1})}else this.#i(o);return g_[this.#c.type]}get token(){return this.#c}};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}}},qXt={mode:"json",ranges:!1,tokens:!1,allowTrailingCommas:!1};function VXt(s,o,f=!1){let d="",y=s.indexOf("\\"),x=0;for(;y>=0;){d+=s.slice(x,y);let P=s.charAt(y+1),F=P.charCodeAt(0);if(f&&Ioe.has(F))d+=Ioe.get(F),x=y+2;else if(wV.has(F))d+=wV.get(F),x=y+2;else if(P==="u"){let W=s.slice(y+2,y+6);if(W.length<4||/[^0-9a-f]/i.test(W))throw new BP(`Invalid unicode escape \\u${W}.`,{line:o.loc.start.line,column:o.loc.start.column+y,offset:o.loc.start.offset+y});d+=String.fromCharCode(parseInt(W,16)),x=y+6}else if(f&&P==="x"){let W=s.slice(y+2,y+4);if(W.length<2||/[^0-9a-f]/i.test(W))throw new BP(`Invalid hex escape \\x${W}.`,{line:o.loc.start.line,column:o.loc.start.column+y,offset:o.loc.start.offset+y});d+=String.fromCharCode(parseInt(W,16)),x=y+4}else if(f&&GPe.has(F))x=y+2,P==="\r"&&s.charAt(x)===`
|
|
570
570
|
`&&x++;else if(f)d+=P,x=y+2;else throw new BP(`Invalid escape \\${P}.`,{line:o.loc.start.line,column:o.loc.start.column+y,offset:o.loc.start.offset+y});y=s.indexOf("\\",x)}return d+=s.slice(x),d}t(VXt,"getStringValue");function HXt(s,o,f=!1){switch(o.type){case"Boolean":return s==="true";case"Number":return Number(s);case"String":return VXt(s.slice(1,-1),o,f);default:throw new TypeError(`Unknown token type "${o.type}.`)}}t(HXt,"getLiteralValue");function Znt(s,o){o=Object.freeze({...qXt,...o});let f=[],d=new QPe(s,{mode:o.mode,ranges:o.ranges}),y=o.mode==="json5",x=o.allowTrailingCommas||y;function P(){let wr=d.next();return wr&&o.tokens&&f.push(d.token),wr}t(P,"nextNoComments");function F(){let wr=d.next();return wr&&o.tokens&&f.push(d.token),wr>=g_.LineComment?F():wr}t(F,"nextSkipComments");let W=o.mode==="json"?P:F;function H(wr,gr){if(wr!==gr)throw new fO(d.token)}t(H,"assertTokenType");function ge(wr,gr){if(!gr.includes(wr))throw new fO(d.token)}t(ge,"assertTokenTypes");function ue(wr,gr){return o.ranges?{range:[wr.offset,gr.offset]}:void 0}t(ue,"createRange");function ae(wr){let gr=d.token,fs=ue(gr.loc.start,gr.loc.end),bi=HXt(s.slice(gr.loc.start.offset,gr.loc.end.offset),gr,y),Ci={loc:{start:{...gr.loc.start},end:{...gr.loc.end}},...fs};switch(wr){case g_.String:return _T.string(bi,Ci);case g_.Number:return _T.number(bi,Ci);case g_.Boolean:return _T.boolean(bi,Ci);default:throw new TypeError(`Unknown token type ${gr.type}.`)}}t(ae,"createLiteralNode");function tt(wr){let gr=ue(wr.loc.start,wr.loc.end),fs=s.slice(wr.loc.start.offset,wr.loc.end.offset),go={loc:{start:{...wr.loc.start},end:{...wr.loc.end}},...gr};if(wr.type!=="Identifier"){let Ci="";return(fs[0]==="+"||fs[0]==="-")&&(Ci=fs[0]),_T[fs.includes("NaN")?"nan":"infinity"](Ci,go)}return _T.identifier(fs,go)}t(tt,"createJSON5IdentifierNode");function Ue(wr){let gr=ue(wr.loc.start,wr.loc.end);return _T.null({loc:{start:{...wr.loc.start},end:{...wr.loc.end}},...gr})}t(Ue,"createNullNode");function je(wr){y?ge(wr,[g_.String,g_.Identifier,g_.Number]):H(wr,g_.String);let gr=d.token,fs=wr===g_.String?ae(wr):tt(gr);if(y&&(fs.type==="NaN"||fs.type==="Infinity")){if(fs.sign!=="")throw new fO(d.token);fs=_T.identifier(fs.type,{loc:fs.loc,...ue(fs.loc.start,fs.loc.end)})}wr=W(),H(wr,g_.Colon);let bi=Ir(),go=ue(fs.loc.start,bi.loc.end);return _T.member(fs,bi,{loc:{start:{...fs.loc.start},end:{...bi.loc.end}},...go})}t(je,"parseProperty");function jt(wr){H(wr,g_.LBrace);let gr=d.token,fs=[],bi=W();if(bi!==g_.RBrace)do{if(fs.push(je(bi)),bi=W(),!bi)throw new Ooe(fs[fs.length-1].loc.end);if(bi===g_.Comma){if(bi=W(),x&&bi===g_.RBrace)break}else break}while(bi);H(bi,g_.RBrace);let go=d.token,Ci=ue(gr.loc.start,go.loc.end);return _T.object(fs,{loc:{start:{...gr.loc.start},end:{...go.loc.end}},...Ci})}t(jt,"parseObject");function Bt(wr){H(wr,g_.LBracket);let gr=d.token,fs=[],bi=W();if(bi!==g_.RBracket)do{let Op=Ir(bi);if(fs.push(_T.element(Op,{loc:Op.loc})),bi=W(),bi===g_.Comma){if(bi=W(),x&&bi===g_.RBracket)break}else break}while(bi);H(bi,g_.RBracket);let go=d.token,Ci=ue(gr.loc.start,go.loc.end);return _T.array(fs,{loc:{start:{...gr.loc.start},end:{...go.loc.end}},...Ci})}t(Bt,"parseArray");function Ir(wr){wr=wr??W();let gr=d.token;switch(wr){case g_.String:case g_.Boolean:return ae(wr);case g_.Number:if(y){let fs=s.slice(gr.loc.start.offset,gr.loc.end.offset);if((fs[0]==="+"||fs[0]==="-")&&(fs=fs.slice(1)),fs==="NaN"||fs==="Infinity")return tt(gr)}return ae(wr);case g_.Null:return Ue(gr);case g_.LBrace:return jt(wr);case g_.LBracket:return Bt(wr);default:throw new fO(gr)}}t(Ir,"parseValue");let Sn=Ir();if(W())throw new fO(d.token);let Nn={loc:{start:{line:1,column:1,offset:0},end:{...Sn.loc.end}}};return o.tokens&&(Nn.tokens=f),o.ranges&&(Nn.range=[Nn.loc.start.offset,Nn.loc.end.offset]),_T.document(Sn,Nn)}t(Znt,"parse");var GXt=new Map([["Document",["body"]],["Object",["members"]],["Member",["name","value"]],["Element",["value"]],["Array",["elements"]],["String",[]],["Number",[]],["Boolean",[]],["Null",[]],["NaN",[]],["Infinity",[]],["Identifier",[]]]);function Qnt(s){return s&&typeof s=="object"}t(Qnt,"isObject");function YXt(s){return Qnt(s)&&typeof s.type=="string"}t(YXt,"isNode");function KXt(s,o){function f(d,y){typeof o.enter=="function"&&o.enter(d,y);for(let x of GXt.get(d.type)){let P=d[x];Qnt(P)&&(Array.isArray(P)?P.forEach(F=>f(F,d)):YXt(P)&&f(P,d))}typeof o.exit=="function"&&o.exit(d,y)}t(f,"visitNode"),f(s)}t(KXt,"traverse");function eit(s,o=()=>!0){let f=[];return KXt(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(eit,"iterator");import XXt from"node:fs/promises";var DV=t((s,o)=>s.split(/\r?\n/)[o-1],"getFileLineContent"),Foe=t(async s=>{try{return await XXt.readFile(s,"utf-8")}catch{return}},"getSchemaContent"),PV=t(async s=>{try{return Znt(s)}catch(o){if(o.column&&o.line&&o.message){let f=DV(s,o.line);return{column:o.column,line:o.line,length:void 0,lineText:f}}return}},"getSchemaAST");var tit=t(async(s,o,f)=>{try{if(s.length===0)return;for(let d of s){let y=await Foe(d),x=await ZXt(y,d,o,f);if(x)return x}}catch{}},"getRouteLocationByValue"),ZXt=t(async(s,o,f,d)=>{try{if(!s)return;let y=null,x=await PV(s);if(x){for(let{node:P}of eit(x))if(P.value&&P.value===f){y=P.loc;break}if(y!==null){let P=DV(s,y.start.line);return{file:o,line:y.start.line,column:y.start.column,length:y.end.column-y.start.column,lineText:P,suggestion:d}}}}catch{}},"getRouteLocationByValueFromSchema");import rit from"node:fs/promises";import TE from"node:path";var eAe="schemas",tAe=".oas.json";var _O=t(async s=>(await rit.readdir(s)).map(f=>TE.join(s,f)).filter(f=>f.endsWith(tAe)).sort(),"getOpenApiFilesByAlphabetical"),J9=t(async s=>{let o=TE.resolve(s,"config");return(await rit.readdir(o)).filter(d=>d.endsWith(tAe)).length>=1},"oasFileInProject");function AV(s,o,f,d,y,x,P){if(x.has(f))return;let F;try{F=d.get(f)}catch(Ue){throw new D1({text:`Failed to resolve reference: ${f}`,detail:Ue.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 W=Roe(f),H=TE.basename(W,TE.extname(W)),ge=f.indexOf("#"),ue=ge>=0?f.substring(0,ge):f,ae=ge>=0?f.substring(ge+1):"",tt=d.get(ue);if(ae){let Ue=ae.split("/").filter(Boolean);for(let je of Ue)if(tt=tt[je],tt===void 0)throw new Error(`Cannot resolve JSON pointer: ${ae}`)}if(tt&&typeof tt=="object"&&"$ref"in tt&&typeof tt.$ref=="string"&&!tt.$ref.startsWith("#")){let Ue=TE.resolve(TE.dirname(ue),tt.$ref);if(W=Ue,H=TE.basename(W,TE.extname(W)),ue=Ue,x.has(ue)){let jt=x.get(ue);if(jt===void 0)throw new Error(`Expected to find ${ue} in refsVisited map`);x.set(f,jt);return}let je=y.length;x.set(f,je),x.set(ue,je),y.push(ue),Loe(W,H,F,d,y,x,P)}else x.set(f,y.length),y.push(f),Loe(Roe(f),o,F,d,y,x,P)}t(AV,"chaseRefs");function Loe(s,o,f,d,y,x,P){if(Array.isArray(f))for(let F of f)Loe(s,o,F,d,y,x,P);else if(typeof f=="object")for(let F in f){if(F==="$ref"){let W=f[F];P&&(f[F]=P(o,W,s)),AV(s,o,GN(s,W),d,y,x,P)}Loe(s,o,f[F],d,y,x,P)}}t(Loe,"lookForRefs");function GN(s,o){let f=o.indexOf("#");return f>=0?`${TE.resolve(s,o.substring(0,f))}${o.substring(f)}`:TE.resolve(TE.dirname(s),o)}t(GN,"getFullyQualifiedRefName");function Roe(s){let o=s.indexOf("#");return o>=0?s.substring(0,o):s}t(Roe,"getFilePathNameFromRefName");import dle from"node:path";var Moe=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 Ikr=new Moe(Symbol("ai-gateway-app-configuration"));function QXt(s){if(s.length>=255)throw new TypeError("Alphabet too long");let o=new Uint8Array(256);for(let H=0;H<o.length;H++)o[H]=255;for(let H=0;H<s.length;H++){let ge=s.charAt(H),ue=ge.charCodeAt(0);if(o[ue]!==255)throw new TypeError(ge+" is ambiguous");o[ue]=H}let f=s.length,d=s.charAt(0),y=Math.log(f)/Math.log(256),x=Math.log(256)/Math.log(f);function P(H){if(H instanceof Uint8Array||(ArrayBuffer.isView(H)?H=new Uint8Array(H.buffer,H.byteOffset,H.byteLength):Array.isArray(H)&&(H=Uint8Array.from(H))),!(H instanceof Uint8Array))throw new TypeError("Expected Uint8Array");if(H.length===0)return"";let ge=0,ue=0,ae=0,tt=H.length;for(;ae!==tt&&H[ae]===0;)ae++,ge++;let Ue=(tt-ae)*x+1>>>0,je=new Uint8Array(Ue);for(;ae!==tt;){let Ir=H[ae],Sn=0;for(let rn=Ue-1;(Ir!==0||Sn<ue)&&rn!==-1;rn--,Sn++)Ir+=256*je[rn]>>>0,je[rn]=Ir%f>>>0,Ir=Ir/f>>>0;if(Ir!==0)throw new Error("Non-zero carry");ue=Sn,ae++}let jt=Ue-ue;for(;jt!==Ue&&je[jt]===0;)jt++;let Bt=d.repeat(ge);for(;jt<Ue;++jt)Bt+=s.charAt(je[jt]);return Bt}t(P,"encode");function F(H){if(typeof H!="string")throw new TypeError("Expected String");if(H.length===0)return new Uint8Array;let ge=0,ue=0,ae=0;for(;H[ge]===d;)ue++,ge++;let tt=(H.length-ge)*y+1>>>0,Ue=new Uint8Array(tt);for(;ge<H.length;){let Ir=H.charCodeAt(ge);if(Ir>255)return;let Sn=o[Ir];if(Sn===255)return;let rn=0;for(let Nn=tt-1;(Sn!==0||rn<ae)&&Nn!==-1;Nn--,rn++)Sn+=f*Ue[Nn]>>>0,Ue[Nn]=Sn%256>>>0,Sn=Sn/256>>>0;if(Sn!==0)throw new Error("Non-zero carry");ae=rn,ge++}let je=tt-ae;for(;je!==tt&&Ue[je]===0;)je++;let jt=new Uint8Array(ue+(tt-je)),Bt=ue;for(;je!==tt;)jt[Bt++]=Ue[je++];return jt}t(F,"decodeUnsafe");function W(H){let ge=F(H);if(ge)return ge;throw new Error("Non-base"+f+" character")}return t(W,"decode"),{encode:P,decodeUnsafe:F,decode:W}}t(QXt,"base");var nit=QXt;var eZt="123456789ABCDEFGHJKLMNPQRSTUVWXYZabcdefghijkmnopqrstuvwxyz",joe=nit(eZt);var iit="x-real-ip",rAe="true-client-ip";var sit="zp-local-service";var Boe=class extends Error{static{t(this,"SystemError")}constructor(o,f){super(o,f),this.name="InternalError"}},UP=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 tZt=!1;function W9(s,o){return{open:`\x1B[${s.join(";")}m`,close:`\x1B[${o}m`,regexp:new RegExp(`\\x1b\\[${o}m`,"g")}}t(W9,"code");function q9(s,o){return tZt?`${o.open}${s.replace(o.regexp,o.open)}${o.close}`:s}t(q9,"run");function rZt(s){return q9(s,W9([31],39))}t(rZt,"red");function nZt(s){return q9(s,W9([32],39))}t(nZt,"green");function iZt(s){return q9(s,W9([33],39))}t(iZt,"yellow");function sZt(s){return q9(s,W9([34],39))}t(sZt,"blue");function aZt(s){return q9(s,W9([35],39))}t(aZt,"magenta");function oZt(s){return q9(s,W9([36],39))}t(oZt,"cyan");var zkr=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 ait=[rZt,nZt,iZt,sZt,aZt,oZt];function cZt(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(cZt,"hashCode");function oit(s){let o=Math.abs(cZt(s));return ait[o%ait.length]}t(oit,"generateColor");import{inspect as lZt}from"node:util";function cit(s,o,...f){let d=0,y=f.length,x=String(o).replace(/%[sdjoO%]/g,P=>{if(P==="%%")return"%";if(d>=y)return P;switch(P){case"%s":return String(f[d++]);case"%d":return Number(f[d++]).toString();case"%o":return s(f[d++]).split(`
|
|
571
|
-
`).map(F=>F.trim()).join(" ");case"%O":return s(f[d++]);case"%j":try{return JSON.stringify(f[d++])}catch{return"[Circular]"}default:return P}});for(let P of f.splice(d))P===null||!(typeof P=="object"&&P!==null)?x+=" "+P:x+=" "+s(P);return x}t(cit,"format");var lit=t((s,...o)=>cit(lZt,s,o),"format");var nAe=class{static{t(this,"Debugger")}manager;ns;color;last;enabled;constructor(o,f){this.manager=o,this.ns=f,this.color=oit(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=lit(f,...o);let x=`${this.color(this.ns)} ${f} ${this.color(`+${y}ms`)}`;console.log(x),this.last=Date.now()}},iAe=class{static{t(this,"DebugManager")}debuggers;enabled;constructor(o){this.debuggers=new Map,this.enabled=o??[]}};function uZt(s){return!s||s.length===0?[]:(s=s.replace(/\s/g,"").replace(/\*/g,".+"),s.split(",").map(o=>new RegExp(`^${o}$`)))}t(uZt,"extract");var Uoe;function zoe(s){Uoe||(Uoe=new iAe(uZt(process.env.DEBUG)));let o=new nAe(Uoe,s);return Uoe.debuggers.set(s,o),Object.assign(o.log.bind(o),{self:o})}t(zoe,"debug");var YN=zoe("zuplo:runtime:external-service");function fZt(){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(fZt,"getServiceAuth");async function uit(s,o){let f=".proxy",d=".tunnel";if(typeof s=="string"){let y=new URL(s),x=y.hostname;if(x.endsWith(f)){let jt=x.slice(0,-f.length),Bt=new URL(`http://${jt}${y.pathname}${y.search}`);YN(`Routing to proxy: ${Bt.toString()}`);let Ir=o??{};return NV(Bt.toString(),Ir)}let P=x.endsWith(d),F=x.indexOf(".")===-1;if(!(P||F))throw new UP(`Invalid service hostname suffix: ${x}. Use .proxy for proxy routing, .tunnel for explicit tunnel routing, or no suffix for default tunnel routing.`);let H=P?x.slice(0,-d.length):x,ge=fZt();if(!ge)throw YN("There is no external service auth configured for this zup."),new UP("There are no external services configured for this zup.");YN(`Using external service auth. ClientId: ${ge.clientId})`);let ue=o??{},ae=new Headers(ue.headers||{});ae.set("CF-Access-Client-Id",ge.clientId),ae.set("CF-Access-Client-Secret",ge.clientSecret),ue.headers=ae;let tt;if(ge.customServiceMapping?.[H])tt=`https://${ge.customServiceMapping[H]}`;else if(Cm.instance.useLegacyServiceRouting)tt=`https://${H}.zuptunnel.com`;else{YN("Using sha256 service routing");let jt=Cm.instance.build;if(jt.ACCOUNT_NAME&&jt.PROJECT_NAME&&jt.ENVIRONMENT_TYPE){let Bt=await _Zt(H,jt.ACCOUNT_NAME,jt.PROJECT_NAME,jt.ENVIRONMENT_TYPE),Ir=_it(jt.ENVIRONMENT_TYPE),Sn=await sAe(`${jt.ACCOUNT_NAME}-${jt.PROJECT_NAME}-${Ir}`);Sn==="40d7ad502f5d743997999594c177184a00161a77865423511f3a1ea21eb5a5e"||Sn==="d05bffe8fa91a300187d2cf43e8aa4a56bd809c442ae10d1ee49af7d29a5a11"?tt=`https://${Bt}.zuptunnel.com`:tt=`https://${Bt}.t.zuplo.app`}else throw YN("Cannot use sha256 service routing, missing build variables"),new UP("Failed to generate fully qualified tunnel url.")}let Ue=new URL(`${tt}${y.pathname}${y.search}`);YN(`Calling external service: ${Ue.toString()}`);let je=await NV(Ue.toString(),ue);if(je.status===403&&je.headers.get("cf-access-domain")!==null)throw IV.console.error("403 Forbidden when calling external service.",{clientId:ge.clientId,tunnelHost:tt}),new UP("Could not connect to secure tunnel.");return je}else throw YN("Cannot call external service with Request object"),new UP("Currently, we only support fetch(<some_string>, ...).")}t(uit,"externalServiceHandler");async function fit(s,o){if(typeof s=="string"){let f=new URL(s),d=f.hostname,y=o??{},x=`http://${d}.zuplo.svc.cluster.local:9000`,P=new URL(`${x}${f.pathname}${f.search}`),F=new Headers(y.headers||{});return F.set(sit,d),y.headers=F,await NV(P.toString(),y)}else throw new UP("Currently, we only support fetch(<some_string>, ...).")}t(fit,"clusterServiceHandler");async function _Zt(s,o,f,d){let y=s.toLowerCase(),x=o.toLowerCase(),P=f.toLowerCase(),F=_it(d);YN(`Hashing service name: ${x}-${y}.${x}-${P}-${F}`);let W=await sAe(`${x}-${y}`),H=await sAe(`${x}-${P}-${F}`);return`${W}.${H}`}t(_Zt,"hashServiceName");async function sAe(s){let o=new TextEncoder().encode(s),f=await crypto.subtle.digest("SHA-256",o);return Array.from(new Uint8Array(f)).map(x=>x.toString(16).padStart(2,"0")).join("").slice(0,-1)}t(sAe,"hashSegment");function _it(s){let o=s.toLowerCase();switch(o){case"production":case"preview":return o;default:return"working-copy"}}t(_it,"sanitizeEnvironmentType");var aAe=new Map;aAe.set("service:",uit);aAe.set("local:",fit);var NV=globalThis.fetch;function oAe(s,o){let{transformedInit:f,mtlsCertificate:d}=pZt(o);if(typeof s=="string"){let y=new URL(s),x=aAe.get(y.protocol);return x?x(s,f):pit(s,f,d)}else return pit(s,f,d)}t(oAe,"internalFetch");globalThis.fetch=oAe;function pit(s,o,f){if(!f)return NV(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(pit,"performFetch");var pZt=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 dZt={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:oAe},IV=dZt;var cAe="2025-02-06",dit=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 mit(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:cAe,ENVIRONMENT_TYPE:"mock-environment-type",GIT_SHA:void 0,IS_LOCAL_DEVELOPMENT:!1,COMPATIBILITY_FLAGS:dit[cAe]},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(mit,"getMockEnvironment");var mZt=/^[!#$%&'*+\-.^_`|~0-9A-Za-z]+$/;function hZt(s,o){let f=s.__ZUPLO_TRUSTED_IP_HEADER?.trim();if(!f)return o?rAe:iit;if(!mZt.test(f))throw new Boe(`__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 '${rAe}' or 'cf-connecting-ip'.`);return f.toLowerCase()}t(hZt,"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||(IV.console.debug("Environment has not been initialized. This is okay when running tests, a mock environment will be used."),s.#r??=mit()),s.#r}constructor({build:o,runtime:f}){let d;try{if(f.ZUPLO_SYSTEM_CONFIGURATIONS){let y=new TextDecoder().decode(joe.decode(f.ZUPLO_SYSTEM_CONFIGURATIONS)),x=JSON.parse(y);for(let P of Object.keys(x))f[P]||(f[P]=x[P])}if(f.__ZUPLO_CONFIG){let y=atob(f.__ZUPLO_CONFIG);d=JSON.parse(y)}}catch(y){IV.console.error("Failed to parse runtime configuration",y)}this.config=d??{},this.build=o,this.runtime=f,this.instanceId=crypto.randomUUID(),this.#e=hZt(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 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 gZt=["ZUPLO_USER_LOGGER_DATA_DOG_API_KEY","ZUPLO_USER_LOGGER_DATA_DOG_URL","ZUPLO_LOG_LEVEL","ZUPLO_HANDLER_WRITE_LOG_LEVEL"];function hit(s){return s.startsWith("__ZUPLO")||s.startsWith("ZUPLO_")?!gZt.includes(s)&&!s.startsWith("ZUPLO_PUBLIC_"):s.startsWith("ZUDOKU_")?!s.startsWith("ZUDOKU_PUBLIC_"):!1}t(hit,"isRestrictedEnvVariableName");function git(s){return!!s.startsWith("ZUPLO_")}t(git,"isZuploReadableEnvVariableName");var Dwr=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(!(hit(f)&&!git(f)))return Cm.instance.runtime[f]}});function OV(s,o,f){return`_${zP(`${s}_${o}_${f}`)}`}t(OV,"getRawOperationDataIdentifierName");function lAe(s,o,f,d){return`_${zP(s.toLowerCase())}_${o.toLowerCase()}_${f.toLowerCase()}_${d.toLowerCase()}`}t(lAe,"getIdForParameterSchema");function uAe(s,o,f){return`_${zP(s.toLowerCase())}_${o.toLowerCase()}_rb_${zP(f.toLowerCase())}`}t(uAe,"getIdForRequestBodySchema");function FV(s,o){return`_${zP(s)}_${zP(o)}`}t(FV,"getIdForRefSchema");function zP(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(zP,"sanitizedIdentifierName");var _Ae={};Wtt(_Ae,{UnsafePathError:()=>$oe,deleteFolder:()=>NZt,dirExists:()=>fAe,fileExists:()=>SZt,getParentDirFilename:()=>DZt,isNotFileOrDirectory:()=>xZt,listFolderContents:()=>bit,listFolders:()=>CZt,mkDirTemp:()=>TZt,mkdirForFilePathIfNotExits:()=>kZt,mkdirIfNotExists:()=>Sit,safePath:()=>wZt,tarFolder:()=>PZt,untarFile:()=>AZt});import{spawn as yit}from"node:child_process";import{randomUUID as yZt}from"node:crypto";import KN from"node:fs/promises";import{platform as vZt,tmpdir as bZt}from"node:os";import I1 from"node:path";var vit=[".git","node_modules",".yarn",".DS_Store"];async function SZt(s){try{return(await KN.stat(s)).isFile()}catch{return!1}}t(SZt,"fileExists");async function TZt(){let s=process.env.BUILD_FILE_PATH??bZt(),o=yZt().replaceAll("-",""),f=I1.join(s,o);return await KN.mkdir(f,{recursive:!0}),f}t(TZt,"mkDirTemp");async function fAe(s){try{return(await KN.stat(s)).isDirectory()}catch{return!1}}t(fAe,"dirExists");async function xZt(s){try{return await KN.stat(s),!1}catch{return!0}}t(xZt,"isNotFileOrDirectory");function EZt(s,o){let f=I1.sep==="\\"?"\\\\":I1.sep,d=new RegExp(`(.*)(${f}${o})$|(.*)(${o}${f})`),y=s.match(d);if(!y)return"";let x=s.split(y[0]);return x[1]===""?"":I1.join(I1.sep,x[1])}t(EZt,"getParentDirectory");async function CZt(s){if(!await fAe(s))return[];let o=await KN.readdir(s,{withFileTypes:!0}),f=[];for await(let d of o)vit.includes(d.name)||d.isDirectory()&&f.push(d.name);return f}t(CZt,"listFolders");async function bit(s,o,f=!0){let d=EZt(s,o),y=await KN.readdir(s,{withFileTypes:!0}),x=[];for await(let P of y)if(!vit.includes(P.name)||!f)if(P.isDirectory()){let F=await bit(I1.join(s,P.name),o,f);x.push(...F)}else x.push(I1.join(d,P.name));return x}t(bit,"listFolderContents");var Sit=t(async s=>{await KN.mkdir(s,{recursive:!0})},"mkdirIfNotExists"),kZt=t(async s=>{let o=I1.dirname(s);return Sit(o)},"mkdirForFilePathIfNotExits"),$oe=class extends Error{static{t(this,"UnsafePathError")}};function wZt(s){let o=I1.normalize(s),f=t(d=>{let y=I1.normalize(d),x=process.platform==="win32",P=!1;if(x?P=y.toLowerCase().startsWith(o.toLowerCase()):P=y.startsWith(o),!P)throw new $oe("Resolved path is not part of the project.");return y},"ensureSafePath");return{resolve:t((...d)=>f(I1.resolve(...d)),"resolve")}}t(wZt,"safePath");function DZt(s){return I1.join(I1.basename(I1.dirname(s)),I1.basename(s))}t(DZt,"getParentDirFilename");async function PZt({folderPath:s,outputTarPath:o,exclude:f=["node_modules",".git","dist"],logger:d}){let y=[],x=[],P;try{await new Promise((F,W)=>{let H=yit("tar",[...f.flatMap(ge=>["--exclude",ge]),...vZt()!=="darwin"?["--warning=no-file-changed"]:[],"-cvf",o,"-C",s,"."]);H.stdout.on("data",ge=>{let ue=ge.toString().trim();ue.length>0&&y.push(ue.trim())}),H.stderr.on("data",ge=>{let ue=ge.toString().trim();ue.length>0&&x.push(ue.trim())}),H.on("close",ge=>{P=ge,ge===0?F():W(new Error(`tar process exited with code ${ge}`))}),H.on("error",ge=>{W(ge)})})}catch(F){throw new Error("Failed to tar folder",{cause:F})}finally{d.info({stdout:y.join(`
|
|
571
|
+
`).map(F=>F.trim()).join(" ");case"%O":return s(f[d++]);case"%j":try{return JSON.stringify(f[d++])}catch{return"[Circular]"}default:return P}});for(let P of f.splice(d))P===null||!(typeof P=="object"&&P!==null)?x+=" "+P:x+=" "+s(P);return x}t(cit,"format");var lit=t((s,...o)=>cit(lZt,s,o),"format");var nAe=class{static{t(this,"Debugger")}manager;ns;color;last;enabled;constructor(o,f){this.manager=o,this.ns=f,this.color=oit(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=lit(f,...o);let x=`${this.color(this.ns)} ${f} ${this.color(`+${y}ms`)}`;console.log(x),this.last=Date.now()}},iAe=class{static{t(this,"DebugManager")}debuggers;enabled;constructor(o){this.debuggers=new Map,this.enabled=o??[]}};function uZt(s){return!s||s.length===0?[]:(s=s.replace(/\s/g,"").replace(/\*/g,".+"),s.split(",").map(o=>new RegExp(`^${o}$`)))}t(uZt,"extract");var Uoe;function zoe(s){Uoe||(Uoe=new iAe(uZt(process.env.DEBUG)));let o=new nAe(Uoe,s);return Uoe.debuggers.set(s,o),Object.assign(o.log.bind(o),{self:o})}t(zoe,"debug");var YN=zoe("zuplo:runtime:external-service");function fZt(){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(fZt,"getServiceAuth");async function uit(s,o){let f=".proxy",d=".tunnel";if(typeof s=="string"){let y=new URL(s),x=y.hostname;if(x.endsWith(f)){let jt=x.slice(0,-f.length),Bt=new URL(`http://${jt}${y.pathname}${y.search}`);YN(`Routing to proxy: ${Bt.toString()}`);let Ir=o??{};return NV(Bt.toString(),Ir)}let P=x.endsWith(d),F=x.indexOf(".")===-1;if(!(P||F))throw new UP(`Invalid service hostname suffix: ${x}. Use .proxy for proxy routing, .tunnel for explicit tunnel routing, or no suffix for default tunnel routing.`);let H=P?x.slice(0,-d.length):x,ge=fZt();if(!ge)throw YN("There is no external service auth configured for this zup."),new UP("There are no external services configured for this zup.");YN(`Using external service auth. ClientId: ${ge.clientId})`);let ue=o??{},ae=new Headers(ue.headers||{});ae.set("CF-Access-Client-Id",ge.clientId),ae.set("CF-Access-Client-Secret",ge.clientSecret),ue.headers=ae;let tt;if(ge.customServiceMapping?.[H])tt=`https://${ge.customServiceMapping[H]}`;else if(Cm.instance.useLegacyServiceRouting)tt=`https://${H}.zuptunnel.com`;else{YN("Using sha256 service routing");let jt=Cm.instance.build;if(jt.ACCOUNT_NAME&&jt.PROJECT_NAME&&jt.ENVIRONMENT_TYPE){let Bt=await _Zt(H,jt.ACCOUNT_NAME,jt.PROJECT_NAME,jt.ENVIRONMENT_TYPE),Ir=_it(jt.ENVIRONMENT_TYPE),Sn=await sAe(`${jt.ACCOUNT_NAME}-${jt.PROJECT_NAME}-${Ir}`);Sn==="40d7ad502f5d743997999594c177184a00161a77865423511f3a1ea21eb5a5e"||Sn==="d05bffe8fa91a300187d2cf43e8aa4a56bd809c442ae10d1ee49af7d29a5a11"?tt=`https://${Bt}.zuptunnel.com`:tt=`https://${Bt}.t.zuplo.app`}else throw YN("Cannot use sha256 service routing, missing build variables"),new UP("Failed to generate fully qualified tunnel url.")}let Ue=new URL(`${tt}${y.pathname}${y.search}`);YN(`Calling external service: ${Ue.toString()}`);let je=await NV(Ue.toString(),ue);if(je.status===403&&je.headers.get("cf-access-domain")!==null)throw IV.console.error("403 Forbidden when calling external service.",{clientId:ge.clientId,tunnelHost:tt}),new UP("Could not connect to secure tunnel.");return je}else throw YN("Cannot call external service with Request object"),new UP("Currently, we only support fetch(<some_string>, ...).")}t(uit,"externalServiceHandler");async function fit(s,o){if(typeof s=="string"){let f=new URL(s),d=f.hostname,y=o??{},x=`http://${d}.zuplo.svc.cluster.local:9000`,P=new URL(`${x}${f.pathname}${f.search}`),F=new Headers(y.headers||{});return F.set(sit,d),y.headers=F,await NV(P.toString(),y)}else throw new UP("Currently, we only support fetch(<some_string>, ...).")}t(fit,"clusterServiceHandler");async function _Zt(s,o,f,d){let y=s.toLowerCase(),x=o.toLowerCase(),P=f.toLowerCase(),F=_it(d);YN(`Hashing service name: ${x}-${y}.${x}-${P}-${F}`);let W=await sAe(`${x}-${y}`),H=await sAe(`${x}-${P}-${F}`);return`${W}.${H}`}t(_Zt,"hashServiceName");async function sAe(s){let o=new TextEncoder().encode(s),f=await crypto.subtle.digest("SHA-256",o);return Array.from(new Uint8Array(f)).map(x=>x.toString(16).padStart(2,"0")).join("").slice(0,-1)}t(sAe,"hashSegment");function _it(s){let o=s.toLowerCase();switch(o){case"production":case"preview":return o;default:return"working-copy"}}t(_it,"sanitizeEnvironmentType");var aAe=new Map;aAe.set("service:",uit);aAe.set("local:",fit);var NV=globalThis.fetch;function oAe(s,o){let{transformedInit:f,mtlsCertificate:d}=pZt(o);if(typeof s=="string"){let y=new URL(s),x=aAe.get(y.protocol);return x?x(s,f):pit(s,f,d)}else return pit(s,f,d)}t(oAe,"internalFetch");globalThis.fetch=oAe;function pit(s,o,f){if(!f)return NV(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(pit,"performFetch");var pZt=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 dZt={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:oAe},IV=dZt;var cAe="2025-02-06",dit=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 mit(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:cAe,ENVIRONMENT_TYPE:"mock-environment-type",GIT_SHA:void 0,IS_LOCAL_DEVELOPMENT:!1,COMPATIBILITY_FLAGS:dit[cAe]},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(mit,"getMockEnvironment");var mZt=/^[!#$%&'*+\-.^_`|~0-9A-Za-z]+$/;function hZt(s,o){let f=s.__ZUPLO_TRUSTED_IP_HEADER?.trim();if(!f)return o?rAe:iit;if(!mZt.test(f))throw new Boe(`__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 '${rAe}' or 'cf-connecting-ip'.`);return f.toLowerCase()}t(hZt,"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||(IV.console.debug("Environment has not been initialized. This is okay when running tests, a mock environment will be used."),s.#r??=mit()),s.#r}constructor({build:o,runtime:f}){let d;try{if(f.ZUPLO_SYSTEM_CONFIGURATIONS){let y=new TextDecoder().decode(joe.decode(f.ZUPLO_SYSTEM_CONFIGURATIONS)),x=JSON.parse(y);for(let P of Object.keys(x))f[P]||(f[P]=x[P])}if(f.__ZUPLO_CONFIG){let y=atob(f.__ZUPLO_CONFIG);d=JSON.parse(y)}}catch(y){IV.console.error("Failed to parse runtime configuration",y)}this.config=d??{},this.build=o,this.runtime=f,this.instanceId=crypto.randomUUID(),this.#e=hZt(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 gZt=["ZUPLO_USER_LOGGER_DATA_DOG_API_KEY","ZUPLO_USER_LOGGER_DATA_DOG_URL","ZUPLO_LOG_LEVEL","ZUPLO_HANDLER_WRITE_LOG_LEVEL"];function hit(s){return s.startsWith("__ZUPLO")||s.startsWith("ZUPLO_")?!gZt.includes(s)&&!s.startsWith("ZUPLO_PUBLIC_"):s.startsWith("ZUDOKU_")?!s.startsWith("ZUDOKU_PUBLIC_"):!1}t(hit,"isRestrictedEnvVariableName");function git(s){return!!s.startsWith("ZUPLO_")}t(git,"isZuploReadableEnvVariableName");var Dwr=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(!(hit(f)&&!git(f)))return Cm.instance.runtime[f]}});function OV(s,o,f){return`_${zP(`${s}_${o}_${f}`)}`}t(OV,"getRawOperationDataIdentifierName");function lAe(s,o,f,d){return`_${zP(s.toLowerCase())}_${o.toLowerCase()}_${f.toLowerCase()}_${d.toLowerCase()}`}t(lAe,"getIdForParameterSchema");function uAe(s,o,f){return`_${zP(s.toLowerCase())}_${o.toLowerCase()}_rb_${zP(f.toLowerCase())}`}t(uAe,"getIdForRequestBodySchema");function FV(s,o){return`_${zP(s)}_${zP(o)}`}t(FV,"getIdForRefSchema");function zP(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(zP,"sanitizedIdentifierName");var _Ae={};Wtt(_Ae,{UnsafePathError:()=>$oe,deleteFolder:()=>NZt,dirExists:()=>fAe,fileExists:()=>SZt,getParentDirFilename:()=>DZt,isNotFileOrDirectory:()=>xZt,listFolderContents:()=>bit,listFolders:()=>CZt,mkDirTemp:()=>TZt,mkdirForFilePathIfNotExits:()=>kZt,mkdirIfNotExists:()=>Sit,safePath:()=>wZt,tarFolder:()=>PZt,untarFile:()=>AZt});import{spawn as yit}from"node:child_process";import{randomUUID as yZt}from"node:crypto";import KN from"node:fs/promises";import{platform as vZt,tmpdir as bZt}from"node:os";import I1 from"node:path";var vit=[".git","node_modules",".yarn",".DS_Store"];async function SZt(s){try{return(await KN.stat(s)).isFile()}catch{return!1}}t(SZt,"fileExists");async function TZt(){let s=process.env.BUILD_FILE_PATH??bZt(),o=yZt().replaceAll("-",""),f=I1.join(s,o);return await KN.mkdir(f,{recursive:!0}),f}t(TZt,"mkDirTemp");async function fAe(s){try{return(await KN.stat(s)).isDirectory()}catch{return!1}}t(fAe,"dirExists");async function xZt(s){try{return await KN.stat(s),!1}catch{return!0}}t(xZt,"isNotFileOrDirectory");function EZt(s,o){let f=I1.sep==="\\"?"\\\\":I1.sep,d=new RegExp(`(.*)(${f}${o})$|(.*)(${o}${f})`),y=s.match(d);if(!y)return"";let x=s.split(y[0]);return x[1]===""?"":I1.join(I1.sep,x[1])}t(EZt,"getParentDirectory");async function CZt(s){if(!await fAe(s))return[];let o=await KN.readdir(s,{withFileTypes:!0}),f=[];for await(let d of o)vit.includes(d.name)||d.isDirectory()&&f.push(d.name);return f}t(CZt,"listFolders");async function bit(s,o,f=!0){let d=EZt(s,o),y=await KN.readdir(s,{withFileTypes:!0}),x=[];for await(let P of y)if(!vit.includes(P.name)||!f)if(P.isDirectory()){let F=await bit(I1.join(s,P.name),o,f);x.push(...F)}else x.push(I1.join(d,P.name));return x}t(bit,"listFolderContents");var Sit=t(async s=>{await KN.mkdir(s,{recursive:!0})},"mkdirIfNotExists"),kZt=t(async s=>{let o=I1.dirname(s);return Sit(o)},"mkdirForFilePathIfNotExits"),$oe=class extends Error{static{t(this,"UnsafePathError")}};function wZt(s){let o=I1.normalize(s),f=t(d=>{let y=I1.normalize(d),x=process.platform==="win32",P=!1;if(x?P=y.toLowerCase().startsWith(o.toLowerCase()):P=y.startsWith(o),!P)throw new $oe("Resolved path is not part of the project.");return y},"ensureSafePath");return{resolve:t((...d)=>f(I1.resolve(...d)),"resolve")}}t(wZt,"safePath");function DZt(s){return I1.join(I1.basename(I1.dirname(s)),I1.basename(s))}t(DZt,"getParentDirFilename");async function PZt({folderPath:s,outputTarPath:o,exclude:f=["node_modules",".git","dist"],logger:d}){let y=[],x=[],P;try{await new Promise((F,W)=>{let H=yit("tar",[...f.flatMap(ge=>["--exclude",ge]),...vZt()!=="darwin"?["--warning=no-file-changed"]:[],"-cvf",o,"-C",s,"."]);H.stdout.on("data",ge=>{let ue=ge.toString().trim();ue.length>0&&y.push(ue.trim())}),H.stderr.on("data",ge=>{let ue=ge.toString().trim();ue.length>0&&x.push(ue.trim())}),H.on("close",ge=>{P=ge,ge===0?F():W(new Error(`tar process exited with code ${ge}`))}),H.on("error",ge=>{W(ge)})})}catch(F){throw new Error("Failed to tar folder",{cause:F})}finally{d.info({stdout:y.join(`
|
|
572
572
|
`),stderr:x.join(`
|
|
573
573
|
`),exitCode:P},"Tar process logs")}}t(PZt,"tarFolder");async function AZt({tarFilePath:s,outputDir:o,logger:f}){let d=[],y=[],x;try{await new Promise((P,F)=>{let W=yit("sh",["-c",`tar -xvf ${s} -C ${o};`]);W.stdout.on("data",H=>{let ge=H.toString().trim();ge.length>0&&d.push(ge.trim())}),W.stderr.on("data",H=>{let ge=H.toString().trim();ge.length>0&&y.push(ge.trim())}),W.on("close",H=>{x=H,H===0?P():F(new Error(`tar process exited with code ${H}`))}),W.on("error",H=>{F(H)})})}catch(P){throw new Error("Failed to untar file",{cause:P})}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{a as s}from"./chunk-UKQQD2JN.js";import{Z as o}from"./chunk-
|
|
26
|
-
//# sourceMappingURL=chunk-
|
|
25
|
+
import{a as u}from"./chunk-A3QGJZO7.js";import{a as s}from"./chunk-UKQQD2JN.js";import{Z as o}from"./chunk-XF3IIUDX.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-CUK3VROF.js.map
|