gitframes 1.2.35

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.
Files changed (94) hide show
  1. package/LICENCE +202 -0
  2. package/README.md +77 -0
  3. package/dist/audio/index.d.mts +2 -0
  4. package/dist/audio/index.mjs +6 -0
  5. package/dist/audio-C0YslYEG.d.mts +32 -0
  6. package/dist/audio-C0YslYEG.d.mts.map +1 -0
  7. package/dist/audio-C4kiPbrV.mjs +1866 -0
  8. package/dist/audio-C4kiPbrV.mjs.map +1 -0
  9. package/dist/audio-CiXUMGyk.mjs +578 -0
  10. package/dist/audio-CiXUMGyk.mjs.map +1 -0
  11. package/dist/chunk-GMkBE123.mjs +47 -0
  12. package/dist/client-Dyypr8tt.mjs +66 -0
  13. package/dist/client-Dyypr8tt.mjs.map +1 -0
  14. package/dist/dist-C37594c6.mjs +27195 -0
  15. package/dist/dist-C37594c6.mjs.map +1 -0
  16. package/dist/dist-CMF9eNLB.mjs +4062 -0
  17. package/dist/dist-CMF9eNLB.mjs.map +1 -0
  18. package/dist/dist-cjs--KIl7Gqy.mjs +6 -0
  19. package/dist/dist-cjs-B-_4TVjP.mjs +66 -0
  20. package/dist/dist-cjs-B-_4TVjP.mjs.map +1 -0
  21. package/dist/dist-cjs-B3TIyZ3K.mjs +437 -0
  22. package/dist/dist-cjs-B3TIyZ3K.mjs.map +1 -0
  23. package/dist/dist-cjs-Bsz2eGzl.mjs +9069 -0
  24. package/dist/dist-cjs-Bsz2eGzl.mjs.map +1 -0
  25. package/dist/dist-cjs-BuJ2FXob.mjs +181 -0
  26. package/dist/dist-cjs-BuJ2FXob.mjs.map +1 -0
  27. package/dist/dist-cjs-C-FMsqmo.mjs +1091 -0
  28. package/dist/dist-cjs-C-FMsqmo.mjs.map +1 -0
  29. package/dist/dist-cjs-C4b9TCXd.mjs +48 -0
  30. package/dist/dist-cjs-C4b9TCXd.mjs.map +1 -0
  31. package/dist/dist-cjs-C817PNLc.mjs +51 -0
  32. package/dist/dist-cjs-C817PNLc.mjs.map +1 -0
  33. package/dist/dist-cjs-CBnnS4k8.mjs +43 -0
  34. package/dist/dist-cjs-CBnnS4k8.mjs.map +1 -0
  35. package/dist/dist-cjs-CWbeD0Mu.mjs +64 -0
  36. package/dist/dist-cjs-CWbeD0Mu.mjs.map +1 -0
  37. package/dist/dist-cjs-ChXEJ1ro.mjs +85 -0
  38. package/dist/dist-cjs-ChXEJ1ro.mjs.map +1 -0
  39. package/dist/dist-cjs-CslF8Dju.mjs +153 -0
  40. package/dist/dist-cjs-CslF8Dju.mjs.map +1 -0
  41. package/dist/dist-cjs-D52jYyEm.mjs +98 -0
  42. package/dist/dist-cjs-D52jYyEm.mjs.map +1 -0
  43. package/dist/dist-cjs-DhWYgNfa.mjs +209 -0
  44. package/dist/dist-cjs-DhWYgNfa.mjs.map +1 -0
  45. package/dist/dist-cjs-DssYqayv.mjs +5015 -0
  46. package/dist/dist-cjs-DssYqayv.mjs.map +1 -0
  47. package/dist/dist-cjs-Du6DnSjo.mjs +137 -0
  48. package/dist/dist-cjs-Du6DnSjo.mjs.map +1 -0
  49. package/dist/dist-cjs-b-oBQaxe.mjs +323 -0
  50. package/dist/dist-cjs-b-oBQaxe.mjs.map +1 -0
  51. package/dist/effects/index.d.mts +2 -0
  52. package/dist/effects/index.mjs +4 -0
  53. package/dist/effects-4t4qk-BR.mjs +21130 -0
  54. package/dist/effects-4t4qk-BR.mjs.map +1 -0
  55. package/dist/event-streams-B0YUBtyM.mjs +204 -0
  56. package/dist/event-streams-B0YUBtyM.mjs.map +1 -0
  57. package/dist/fonts/index.d.mts +2 -0
  58. package/dist/fonts/index.mjs +3 -0
  59. package/dist/fonts-Dn18r_ST.mjs +188 -0
  60. package/dist/fonts-Dn18r_ST.mjs.map +1 -0
  61. package/dist/index-B1557AUi.d.mts +928 -0
  62. package/dist/index-B1557AUi.d.mts.map +1 -0
  63. package/dist/index-DSaMXGoA.d.mts +65 -0
  64. package/dist/index-DSaMXGoA.d.mts.map +1 -0
  65. package/dist/index-FICUHo4P.d.mts +69 -0
  66. package/dist/index-FICUHo4P.d.mts.map +1 -0
  67. package/dist/index-YZsTjqut.d.mts +147 -0
  68. package/dist/index-YZsTjqut.d.mts.map +1 -0
  69. package/dist/index.d.mts +736 -0
  70. package/dist/index.d.mts.map +1 -0
  71. package/dist/index.mjs +7135 -0
  72. package/dist/index.mjs.map +1 -0
  73. package/dist/package-5RsA21g-.mjs +6 -0
  74. package/dist/package-5RsA21g-.mjs.map +1 -0
  75. package/dist/react/index.d.mts +3 -0
  76. package/dist/react/index.mjs +4 -0
  77. package/dist/renderer/index.d.mts +2 -0
  78. package/dist/renderer/index.mjs +6 -0
  79. package/dist/renderer-DVi31fSv.mjs +23274 -0
  80. package/dist/renderer-DVi31fSv.mjs.map +1 -0
  81. package/dist/renderers-CLJQRPVU-CMZnHNK0.mjs +49 -0
  82. package/dist/renderers-CLJQRPVU-CMZnHNK0.mjs.map +1 -0
  83. package/dist/signals/index.d.mts +9 -0
  84. package/dist/signals/index.mjs +8 -0
  85. package/dist/signals-BB_kdndF.mjs +227 -0
  86. package/dist/signals-BB_kdndF.mjs.map +1 -0
  87. package/dist/signin-CVUAIuED.mjs +865 -0
  88. package/dist/signin-CVUAIuED.mjs.map +1 -0
  89. package/dist/sso-oidc-D1GnNQYW.mjs +1051 -0
  90. package/dist/sso-oidc-D1GnNQYW.mjs.map +1 -0
  91. package/dist/sts-Bz-e3kNW.mjs +6 -0
  92. package/dist/sts-I4KhuCBs.mjs +1395 -0
  93. package/dist/sts-I4KhuCBs.mjs.map +1 -0
  94. package/package.json +174 -0
@@ -0,0 +1 @@
1
+ {"version":3,"file":"dist-cjs-Bsz2eGzl.mjs","names":["HttpResponse","HttpRequest","HttpRequest","getSmithyContext","SMITHY_CONTEXT_KEY","HttpRequest","cursor","HttpRequest","HttpApiKeyAuthLocation","HttpRequest","isIdentityExpired","ProviderError","data","value","serialized","payload","SignatureV4","data","dataView","USE_BUFFER","data","payload","data","fromBase64","buffer","data","ErrorCtor","Error","toUtf8","data","data","toBase64","dateToUtcString","n","e","t","r","s","o","a","l","p","u","i","c","h","d","f","g","m","b","toUtf8","buffer","value","toBase64","bytes","collectBody","data","data","fromBase64","buffer","XmlNode","XmlText","container","toBase64","buffer","protocol","hostname","buffer","endpointUrl","sanitizedVersion"],"sources":["../../../node_modules/.pnpm/@aws-sdk+core@3.973.20/node_modules/@aws-sdk/core/dist-es/submodules/httpAuthSchemes/utils/getDateHeader.js","../../../node_modules/.pnpm/@aws-sdk+core@3.973.20/node_modules/@aws-sdk/core/dist-es/submodules/httpAuthSchemes/utils/getSkewCorrectedDate.js","../../../node_modules/.pnpm/@aws-sdk+core@3.973.20/node_modules/@aws-sdk/core/dist-es/submodules/httpAuthSchemes/utils/isClockSkewed.js","../../../node_modules/.pnpm/@aws-sdk+core@3.973.20/node_modules/@aws-sdk/core/dist-es/submodules/httpAuthSchemes/utils/getUpdatedSystemClockOffset.js","../../../node_modules/.pnpm/@aws-sdk+core@3.973.20/node_modules/@aws-sdk/core/dist-es/submodules/httpAuthSchemes/utils/index.js","../../../node_modules/.pnpm/@aws-sdk+core@3.973.20/node_modules/@aws-sdk/core/dist-es/submodules/httpAuthSchemes/aws_sdk/AwsSdkSigV4Signer.js","../../../node_modules/.pnpm/@aws-sdk+core@3.973.20/node_modules/@aws-sdk/core/dist-es/submodules/httpAuthSchemes/aws_sdk/AwsSdkSigV4ASigner.js","../../../node_modules/.pnpm/@aws-sdk+core@3.973.20/node_modules/@aws-sdk/core/dist-es/submodules/httpAuthSchemes/utils/getArrayForCommaSeparatedString.js","../../../node_modules/.pnpm/@aws-sdk+core@3.973.20/node_modules/@aws-sdk/core/dist-es/submodules/httpAuthSchemes/utils/getBearerTokenEnvKey.js","../../../node_modules/.pnpm/@aws-sdk+core@3.973.20/node_modules/@aws-sdk/core/dist-es/submodules/httpAuthSchemes/aws_sdk/NODE_AUTH_SCHEME_PREFERENCE_OPTIONS.js","../../../node_modules/.pnpm/@smithy+core@3.23.12/node_modules/@smithy/core/dist-es/getSmithyContext.js","../../../node_modules/.pnpm/@smithy+core@3.23.12/node_modules/@smithy/core/dist-es/middleware-http-auth-scheme/resolveAuthOptions.js","../../../node_modules/.pnpm/@smithy+core@3.23.12/node_modules/@smithy/core/dist-es/middleware-http-auth-scheme/httpAuthSchemeMiddleware.js","../../../node_modules/.pnpm/@smithy+core@3.23.12/node_modules/@smithy/core/dist-es/middleware-http-auth-scheme/getHttpAuthSchemeEndpointRuleSetPlugin.js","../../../node_modules/.pnpm/@smithy+core@3.23.12/node_modules/@smithy/core/dist-es/middleware-http-auth-scheme/getHttpAuthSchemePlugin.js","../../../node_modules/.pnpm/@smithy+core@3.23.12/node_modules/@smithy/core/dist-es/middleware-http-auth-scheme/index.js","../../../node_modules/.pnpm/@smithy+core@3.23.12/node_modules/@smithy/core/dist-es/middleware-http-signing/httpSigningMiddleware.js","../../../node_modules/.pnpm/@smithy+core@3.23.12/node_modules/@smithy/core/dist-es/middleware-http-signing/getHttpSigningMiddleware.js","../../../node_modules/.pnpm/@smithy+core@3.23.12/node_modules/@smithy/core/dist-es/middleware-http-signing/index.js","../../../node_modules/.pnpm/@smithy+core@3.23.12/node_modules/@smithy/core/dist-es/normalizeProvider.js","../../../node_modules/.pnpm/@smithy+core@3.23.12/node_modules/@smithy/core/dist-es/pagination/createPaginator.js","../../../node_modules/.pnpm/@smithy+core@3.23.12/node_modules/@smithy/core/dist-es/request-builder/requestBuilder.js","../../../node_modules/.pnpm/@smithy+core@3.23.12/node_modules/@smithy/core/dist-es/setFeature.js","../../../node_modules/.pnpm/@smithy+core@3.23.12/node_modules/@smithy/core/dist-es/util-identity-and-auth/DefaultIdentityProviderConfig.js","../../../node_modules/.pnpm/@smithy+core@3.23.12/node_modules/@smithy/core/dist-es/util-identity-and-auth/httpAuthSchemes/httpApiKeyAuth.js","../../../node_modules/.pnpm/@smithy+core@3.23.12/node_modules/@smithy/core/dist-es/util-identity-and-auth/httpAuthSchemes/httpBearerAuth.js","../../../node_modules/.pnpm/@smithy+core@3.23.12/node_modules/@smithy/core/dist-es/util-identity-and-auth/httpAuthSchemes/noAuth.js","../../../node_modules/.pnpm/@smithy+core@3.23.12/node_modules/@smithy/core/dist-es/util-identity-and-auth/httpAuthSchemes/index.js","../../../node_modules/.pnpm/@smithy+core@3.23.12/node_modules/@smithy/core/dist-es/util-identity-and-auth/memoizeIdentityProvider.js","../../../node_modules/.pnpm/@smithy+core@3.23.12/node_modules/@smithy/core/dist-es/util-identity-and-auth/index.js","../../../node_modules/.pnpm/@smithy+core@3.23.12/node_modules/@smithy/core/dist-es/index.js","../../../node_modules/.pnpm/@aws-sdk+core@3.973.20/node_modules/@aws-sdk/core/dist-es/submodules/httpAuthSchemes/aws_sdk/resolveAwsSdkSigV4AConfig.js","../../../node_modules/.pnpm/@smithy+signature-v4@5.3.12/node_modules/@smithy/signature-v4/dist-cjs/index.js","../../../node_modules/.pnpm/@aws-sdk+core@3.973.20/node_modules/@aws-sdk/core/dist-es/submodules/httpAuthSchemes/aws_sdk/resolveAwsSdkSigV4Config.js","../../../node_modules/.pnpm/@aws-sdk+core@3.973.20/node_modules/@aws-sdk/core/dist-es/submodules/httpAuthSchemes/aws_sdk/index.js","../../../node_modules/.pnpm/@aws-sdk+core@3.973.20/node_modules/@aws-sdk/core/dist-es/submodules/httpAuthSchemes/index.js","../../../node_modules/.pnpm/@smithy+core@3.23.12/node_modules/@smithy/core/dist-es/submodules/cbor/cbor-types.js","../../../node_modules/.pnpm/@smithy+core@3.23.12/node_modules/@smithy/core/dist-es/submodules/cbor/cbor-decode.js","../../../node_modules/.pnpm/@smithy+core@3.23.12/node_modules/@smithy/core/dist-es/submodules/cbor/cbor-encode.js","../../../node_modules/.pnpm/@smithy+core@3.23.12/node_modules/@smithy/core/dist-es/submodules/cbor/cbor.js","../../../node_modules/.pnpm/@smithy+core@3.23.12/node_modules/@smithy/core/dist-es/submodules/cbor/parseCborBody.js","../../../node_modules/.pnpm/@smithy+core@3.23.12/node_modules/@smithy/core/dist-es/submodules/cbor/CborCodec.js","../../../node_modules/.pnpm/@smithy+core@3.23.12/node_modules/@smithy/core/dist-es/submodules/cbor/SmithyRpcV2CborProtocol.js","../../../node_modules/.pnpm/@smithy+core@3.23.12/node_modules/@smithy/core/dist-es/submodules/cbor/index.js","../../../node_modules/.pnpm/@aws-sdk+core@3.973.20/node_modules/@aws-sdk/core/dist-es/submodules/protocols/ProtocolLib.js","../../../node_modules/.pnpm/@aws-sdk+core@3.973.20/node_modules/@aws-sdk/core/dist-es/submodules/protocols/cbor/AwsSmithyRpcV2CborProtocol.js","../../../node_modules/.pnpm/@aws-sdk+core@3.973.20/node_modules/@aws-sdk/core/dist-es/submodules/protocols/coercing-serializers.js","../../../node_modules/.pnpm/@aws-sdk+core@3.973.20/node_modules/@aws-sdk/core/dist-es/submodules/protocols/ConfigurableSerdeContext.js","../../../node_modules/.pnpm/@aws-sdk+core@3.973.20/node_modules/@aws-sdk/core/dist-es/submodules/protocols/UnionSerde.js","../../../node_modules/.pnpm/@aws-sdk+core@3.973.20/node_modules/@aws-sdk/core/dist-es/submodules/protocols/json/jsonReviver.js","../../../node_modules/.pnpm/@aws-sdk+core@3.973.20/node_modules/@aws-sdk/core/dist-es/submodules/protocols/common.js","../../../node_modules/.pnpm/@aws-sdk+core@3.973.20/node_modules/@aws-sdk/core/dist-es/submodules/protocols/json/parseJsonBody.js","../../../node_modules/.pnpm/@aws-sdk+core@3.973.20/node_modules/@aws-sdk/core/dist-es/submodules/protocols/json/JsonShapeDeserializer.js","../../../node_modules/.pnpm/@aws-sdk+core@3.973.20/node_modules/@aws-sdk/core/dist-es/submodules/protocols/json/jsonReplacer.js","../../../node_modules/.pnpm/@aws-sdk+core@3.973.20/node_modules/@aws-sdk/core/dist-es/submodules/protocols/json/JsonShapeSerializer.js","../../../node_modules/.pnpm/@aws-sdk+core@3.973.20/node_modules/@aws-sdk/core/dist-es/submodules/protocols/json/JsonCodec.js","../../../node_modules/.pnpm/@aws-sdk+core@3.973.20/node_modules/@aws-sdk/core/dist-es/submodules/protocols/json/AwsJsonRpcProtocol.js","../../../node_modules/.pnpm/@aws-sdk+core@3.973.20/node_modules/@aws-sdk/core/dist-es/submodules/protocols/json/AwsJson1_0Protocol.js","../../../node_modules/.pnpm/@aws-sdk+core@3.973.20/node_modules/@aws-sdk/core/dist-es/submodules/protocols/json/AwsJson1_1Protocol.js","../../../node_modules/.pnpm/@aws-sdk+core@3.973.20/node_modules/@aws-sdk/core/dist-es/submodules/protocols/json/AwsRestJsonProtocol.js","../../../node_modules/.pnpm/@aws-sdk+core@3.973.20/node_modules/@aws-sdk/core/dist-es/submodules/protocols/json/awsExpectUnion.js","../../../node_modules/.pnpm/fast-xml-parser@5.10.1/node_modules/fast-xml-parser/lib/fxp.cjs","../../../node_modules/.pnpm/@aws-sdk+xml-builder@3.972.11/node_modules/@aws-sdk/xml-builder/dist-cjs/xml-parser.js","../../../node_modules/.pnpm/@aws-sdk+xml-builder@3.972.11/node_modules/@aws-sdk/xml-builder/dist-cjs/index.js","../../../node_modules/.pnpm/@aws-sdk+core@3.973.20/node_modules/@aws-sdk/core/dist-es/submodules/protocols/xml/XmlShapeDeserializer.js","../../../node_modules/.pnpm/@aws-sdk+core@3.973.20/node_modules/@aws-sdk/core/dist-es/submodules/protocols/query/QueryShapeSerializer.js","../../../node_modules/.pnpm/@aws-sdk+core@3.973.20/node_modules/@aws-sdk/core/dist-es/submodules/protocols/query/AwsQueryProtocol.js","../../../node_modules/.pnpm/@aws-sdk+core@3.973.20/node_modules/@aws-sdk/core/dist-es/submodules/protocols/query/AwsEc2QueryProtocol.js","../../../node_modules/.pnpm/@aws-sdk+core@3.973.20/node_modules/@aws-sdk/core/dist-es/submodules/protocols/query/QuerySerializerSettings.js","../../../node_modules/.pnpm/@aws-sdk+core@3.973.20/node_modules/@aws-sdk/core/dist-es/submodules/protocols/xml/parseXmlBody.js","../../../node_modules/.pnpm/@aws-sdk+core@3.973.20/node_modules/@aws-sdk/core/dist-es/submodules/protocols/xml/XmlShapeSerializer.js","../../../node_modules/.pnpm/@aws-sdk+core@3.973.20/node_modules/@aws-sdk/core/dist-es/submodules/protocols/xml/XmlCodec.js","../../../node_modules/.pnpm/@aws-sdk+core@3.973.20/node_modules/@aws-sdk/core/dist-es/submodules/protocols/xml/AwsRestXmlProtocol.js","../../../node_modules/.pnpm/@aws-sdk+core@3.973.20/node_modules/@aws-sdk/core/dist-es/submodules/protocols/index.js","../../../node_modules/.pnpm/@aws-sdk+core@3.973.20/node_modules/@aws-sdk/core/dist-es/index.js","../../../node_modules/.pnpm/@aws-sdk+middleware-host-header@3.972.8/node_modules/@aws-sdk/middleware-host-header/dist-cjs/index.js","../../../node_modules/.pnpm/@aws-sdk+middleware-logger@3.972.8/node_modules/@aws-sdk/middleware-logger/dist-cjs/index.js","../../../node_modules/.pnpm/@aws+lambda-invoke-store@0.2.4/node_modules/@aws/lambda-invoke-store/dist-es/invoke-store.js","../../../node_modules/.pnpm/@aws-sdk+middleware-recursion-detection@3.972.8/node_modules/@aws-sdk/middleware-recursion-detection/dist-cjs/recursionDetectionMiddleware.js","../../../node_modules/.pnpm/@aws-sdk+middleware-recursion-detection@3.972.8/node_modules/@aws-sdk/middleware-recursion-detection/dist-cjs/index.js","../../../node_modules/.pnpm/@smithy+util-config-provider@4.2.2/node_modules/@smithy/util-config-provider/dist-cjs/index.js","../../../node_modules/.pnpm/@smithy+util-endpoints@3.3.3/node_modules/@smithy/util-endpoints/dist-cjs/index.js","../../../node_modules/.pnpm/@aws-sdk+util-endpoints@3.996.5/node_modules/@aws-sdk/util-endpoints/dist-cjs/index.js","../../../node_modules/.pnpm/@smithy+service-error-classification@4.2.12/node_modules/@smithy/service-error-classification/dist-cjs/index.js","../../../node_modules/.pnpm/@smithy+util-retry@4.2.12/node_modules/@smithy/util-retry/dist-cjs/index.js","../../../node_modules/.pnpm/@aws-sdk+middleware-user-agent@3.972.21/node_modules/@aws-sdk/middleware-user-agent/dist-cjs/index.js","../../../node_modules/.pnpm/@smithy+config-resolver@4.4.11/node_modules/@smithy/config-resolver/dist-cjs/index.js","../../../node_modules/.pnpm/@smithy+middleware-content-length@4.2.12/node_modules/@smithy/middleware-content-length/dist-cjs/index.js","../../../node_modules/.pnpm/@smithy+middleware-endpoint@4.4.26/node_modules/@smithy/middleware-endpoint/dist-cjs/adaptors/getEndpointUrlConfig.js","../../../node_modules/.pnpm/@smithy+middleware-endpoint@4.4.26/node_modules/@smithy/middleware-endpoint/dist-cjs/adaptors/getEndpointFromConfig.js","../../../node_modules/.pnpm/@smithy+middleware-serde@4.2.15/node_modules/@smithy/middleware-serde/dist-cjs/index.js","../../../node_modules/.pnpm/@smithy+middleware-endpoint@4.4.26/node_modules/@smithy/middleware-endpoint/dist-cjs/index.js","../../../node_modules/.pnpm/@smithy+middleware-retry@4.4.43/node_modules/@smithy/middleware-retry/dist-cjs/isStreamingPayload/isStreamingPayload.js","../../../node_modules/.pnpm/@smithy+middleware-retry@4.4.43/node_modules/@smithy/middleware-retry/dist-cjs/index.js","../../../node_modules/.pnpm/@aws-sdk+util-user-agent-node@3.973.7/node_modules/@aws-sdk/util-user-agent-node/dist-cjs/index.js","../../../node_modules/.pnpm/@smithy+hash-node@4.2.12/node_modules/@smithy/hash-node/dist-cjs/index.js","../../../node_modules/.pnpm/@smithy+util-body-length-node@4.2.3/node_modules/@smithy/util-body-length-node/dist-cjs/index.js","../../../node_modules/.pnpm/@smithy+util-defaults-mode-node@4.2.45/node_modules/@smithy/util-defaults-mode-node/dist-cjs/index.js","../../../node_modules/.pnpm/@aws-sdk+region-config-resolver@3.972.8/node_modules/@aws-sdk/region-config-resolver/dist-cjs/regionConfig/stsRegionDefaultResolver.js","../../../node_modules/.pnpm/@aws-sdk+region-config-resolver@3.972.8/node_modules/@aws-sdk/region-config-resolver/dist-cjs/index.js"],"sourcesContent":["import { HttpResponse } from \"@smithy/protocol-http\";\nexport const getDateHeader = (response) => HttpResponse.isInstance(response) ? response.headers?.date ?? response.headers?.Date : undefined;\n","export const getSkewCorrectedDate = (systemClockOffset) => new Date(Date.now() + systemClockOffset);\n","import { getSkewCorrectedDate } from \"./getSkewCorrectedDate\";\nexport const isClockSkewed = (clockTime, systemClockOffset) => Math.abs(getSkewCorrectedDate(systemClockOffset).getTime() - clockTime) >= 300000;\n","import { isClockSkewed } from \"./isClockSkewed\";\nexport const getUpdatedSystemClockOffset = (clockTime, currentSystemClockOffset) => {\n const clockTimeInMs = Date.parse(clockTime);\n if (isClockSkewed(clockTimeInMs, currentSystemClockOffset)) {\n return clockTimeInMs - Date.now();\n }\n return currentSystemClockOffset;\n};\n","export * from \"./getDateHeader\";\nexport * from \"./getSkewCorrectedDate\";\nexport * from \"./getUpdatedSystemClockOffset\";\n","import { HttpRequest } from \"@smithy/protocol-http\";\nimport { getDateHeader, getSkewCorrectedDate, getUpdatedSystemClockOffset } from \"../utils\";\nconst throwSigningPropertyError = (name, property) => {\n if (!property) {\n throw new Error(`Property \\`${name}\\` is not resolved for AWS SDK SigV4Auth`);\n }\n return property;\n};\nexport const validateSigningProperties = async (signingProperties) => {\n const context = throwSigningPropertyError(\"context\", signingProperties.context);\n const config = throwSigningPropertyError(\"config\", signingProperties.config);\n const authScheme = context.endpointV2?.properties?.authSchemes?.[0];\n const signerFunction = throwSigningPropertyError(\"signer\", config.signer);\n const signer = await signerFunction(authScheme);\n const signingRegion = signingProperties?.signingRegion;\n const signingRegionSet = signingProperties?.signingRegionSet;\n const signingName = signingProperties?.signingName;\n return {\n config,\n signer,\n signingRegion,\n signingRegionSet,\n signingName,\n };\n};\nexport class AwsSdkSigV4Signer {\n async sign(httpRequest, identity, signingProperties) {\n if (!HttpRequest.isInstance(httpRequest)) {\n throw new Error(\"The request is not an instance of `HttpRequest` and cannot be signed\");\n }\n const validatedProps = await validateSigningProperties(signingProperties);\n const { config, signer } = validatedProps;\n let { signingRegion, signingName } = validatedProps;\n const handlerExecutionContext = signingProperties.context;\n if (handlerExecutionContext?.authSchemes?.length ?? 0 > 1) {\n const [first, second] = handlerExecutionContext.authSchemes;\n if (first?.name === \"sigv4a\" && second?.name === \"sigv4\") {\n signingRegion = second?.signingRegion ?? signingRegion;\n signingName = second?.signingName ?? signingName;\n }\n }\n const signedRequest = await signer.sign(httpRequest, {\n signingDate: getSkewCorrectedDate(config.systemClockOffset),\n signingRegion: signingRegion,\n signingService: signingName,\n });\n return signedRequest;\n }\n errorHandler(signingProperties) {\n return (error) => {\n const serverTime = error.ServerTime ?? getDateHeader(error.$response);\n if (serverTime) {\n const config = throwSigningPropertyError(\"config\", signingProperties.config);\n const initialSystemClockOffset = config.systemClockOffset;\n config.systemClockOffset = getUpdatedSystemClockOffset(serverTime, config.systemClockOffset);\n const clockSkewCorrected = config.systemClockOffset !== initialSystemClockOffset;\n if (clockSkewCorrected && error.$metadata) {\n error.$metadata.clockSkewCorrected = true;\n }\n }\n throw error;\n };\n }\n successHandler(httpResponse, signingProperties) {\n const dateHeader = getDateHeader(httpResponse);\n if (dateHeader) {\n const config = throwSigningPropertyError(\"config\", signingProperties.config);\n config.systemClockOffset = getUpdatedSystemClockOffset(dateHeader, config.systemClockOffset);\n }\n }\n}\nexport const AWSSDKSigV4Signer = AwsSdkSigV4Signer;\n","import { HttpRequest } from \"@smithy/protocol-http\";\nimport { getSkewCorrectedDate } from \"../utils\";\nimport { AwsSdkSigV4Signer, validateSigningProperties } from \"./AwsSdkSigV4Signer\";\nexport class AwsSdkSigV4ASigner extends AwsSdkSigV4Signer {\n async sign(httpRequest, identity, signingProperties) {\n if (!HttpRequest.isInstance(httpRequest)) {\n throw new Error(\"The request is not an instance of `HttpRequest` and cannot be signed\");\n }\n const { config, signer, signingRegion, signingRegionSet, signingName } = await validateSigningProperties(signingProperties);\n const configResolvedSigningRegionSet = await config.sigv4aSigningRegionSet?.();\n const multiRegionOverride = (configResolvedSigningRegionSet ??\n signingRegionSet ?? [signingRegion]).join(\",\");\n const signedRequest = await signer.sign(httpRequest, {\n signingDate: getSkewCorrectedDate(config.systemClockOffset),\n signingRegion: multiRegionOverride,\n signingService: signingName,\n });\n return signedRequest;\n }\n}\n","export const getArrayForCommaSeparatedString = (str) => typeof str === \"string\" && str.length > 0 ? str.split(\",\").map((item) => item.trim()) : [];\n","export const getBearerTokenEnvKey = (signingName) => `AWS_BEARER_TOKEN_${signingName.replace(/[\\s-]/g, \"_\").toUpperCase()}`;\n","import { getArrayForCommaSeparatedString } from \"../utils/getArrayForCommaSeparatedString\";\nimport { getBearerTokenEnvKey } from \"../utils/getBearerTokenEnvKey\";\nconst NODE_AUTH_SCHEME_PREFERENCE_ENV_KEY = \"AWS_AUTH_SCHEME_PREFERENCE\";\nconst NODE_AUTH_SCHEME_PREFERENCE_CONFIG_KEY = \"auth_scheme_preference\";\nexport const NODE_AUTH_SCHEME_PREFERENCE_OPTIONS = {\n environmentVariableSelector: (env, options) => {\n if (options?.signingName) {\n const bearerTokenKey = getBearerTokenEnvKey(options.signingName);\n if (bearerTokenKey in env)\n return [\"httpBearerAuth\"];\n }\n if (!(NODE_AUTH_SCHEME_PREFERENCE_ENV_KEY in env))\n return undefined;\n return getArrayForCommaSeparatedString(env[NODE_AUTH_SCHEME_PREFERENCE_ENV_KEY]);\n },\n configFileSelector: (profile) => {\n if (!(NODE_AUTH_SCHEME_PREFERENCE_CONFIG_KEY in profile))\n return undefined;\n return getArrayForCommaSeparatedString(profile[NODE_AUTH_SCHEME_PREFERENCE_CONFIG_KEY]);\n },\n default: [],\n};\n","import { SMITHY_CONTEXT_KEY } from \"@smithy/types\";\nexport const getSmithyContext = (context) => context[SMITHY_CONTEXT_KEY] || (context[SMITHY_CONTEXT_KEY] = {});\n","export const resolveAuthOptions = (candidateAuthOptions, authSchemePreference) => {\n if (!authSchemePreference || authSchemePreference.length === 0) {\n return candidateAuthOptions;\n }\n const preferredAuthOptions = [];\n for (const preferredSchemeName of authSchemePreference) {\n for (const candidateAuthOption of candidateAuthOptions) {\n const candidateAuthSchemeName = candidateAuthOption.schemeId.split(\"#\")[1];\n if (candidateAuthSchemeName === preferredSchemeName) {\n preferredAuthOptions.push(candidateAuthOption);\n }\n }\n }\n for (const candidateAuthOption of candidateAuthOptions) {\n if (!preferredAuthOptions.find(({ schemeId }) => schemeId === candidateAuthOption.schemeId)) {\n preferredAuthOptions.push(candidateAuthOption);\n }\n }\n return preferredAuthOptions;\n};\n","import { getSmithyContext } from \"@smithy/util-middleware\";\nimport { resolveAuthOptions } from \"./resolveAuthOptions\";\nfunction convertHttpAuthSchemesToMap(httpAuthSchemes) {\n const map = new Map();\n for (const scheme of httpAuthSchemes) {\n map.set(scheme.schemeId, scheme);\n }\n return map;\n}\nexport const httpAuthSchemeMiddleware = (config, mwOptions) => (next, context) => async (args) => {\n const options = config.httpAuthSchemeProvider(await mwOptions.httpAuthSchemeParametersProvider(config, context, args.input));\n const authSchemePreference = config.authSchemePreference ? await config.authSchemePreference() : [];\n const resolvedOptions = resolveAuthOptions(options, authSchemePreference);\n const authSchemes = convertHttpAuthSchemesToMap(config.httpAuthSchemes);\n const smithyContext = getSmithyContext(context);\n const failureReasons = [];\n for (const option of resolvedOptions) {\n const scheme = authSchemes.get(option.schemeId);\n if (!scheme) {\n failureReasons.push(`HttpAuthScheme \\`${option.schemeId}\\` was not enabled for this service.`);\n continue;\n }\n const identityProvider = scheme.identityProvider(await mwOptions.identityProviderConfigProvider(config));\n if (!identityProvider) {\n failureReasons.push(`HttpAuthScheme \\`${option.schemeId}\\` did not have an IdentityProvider configured.`);\n continue;\n }\n const { identityProperties = {}, signingProperties = {} } = option.propertiesExtractor?.(config, context) || {};\n option.identityProperties = Object.assign(option.identityProperties || {}, identityProperties);\n option.signingProperties = Object.assign(option.signingProperties || {}, signingProperties);\n smithyContext.selectedHttpAuthScheme = {\n httpAuthOption: option,\n identity: await identityProvider(option.identityProperties),\n signer: scheme.signer,\n };\n break;\n }\n if (!smithyContext.selectedHttpAuthScheme) {\n throw new Error(failureReasons.join(\"\\n\"));\n }\n return next(args);\n};\n","import { httpAuthSchemeMiddleware } from \"./httpAuthSchemeMiddleware\";\nexport const httpAuthSchemeEndpointRuleSetMiddlewareOptions = {\n step: \"serialize\",\n tags: [\"HTTP_AUTH_SCHEME\"],\n name: \"httpAuthSchemeMiddleware\",\n override: true,\n relation: \"before\",\n toMiddleware: \"endpointV2Middleware\",\n};\nexport const getHttpAuthSchemeEndpointRuleSetPlugin = (config, { httpAuthSchemeParametersProvider, identityProviderConfigProvider, }) => ({\n applyToStack: (clientStack) => {\n clientStack.addRelativeTo(httpAuthSchemeMiddleware(config, {\n httpAuthSchemeParametersProvider,\n identityProviderConfigProvider,\n }), httpAuthSchemeEndpointRuleSetMiddlewareOptions);\n },\n});\n","import { httpAuthSchemeMiddleware } from \"./httpAuthSchemeMiddleware\";\nexport const httpAuthSchemeMiddlewareOptions = {\n step: \"serialize\",\n tags: [\"HTTP_AUTH_SCHEME\"],\n name: \"httpAuthSchemeMiddleware\",\n override: true,\n relation: \"before\",\n toMiddleware: \"serializerMiddleware\",\n};\nexport const getHttpAuthSchemePlugin = (config, { httpAuthSchemeParametersProvider, identityProviderConfigProvider, }) => ({\n applyToStack: (clientStack) => {\n clientStack.addRelativeTo(httpAuthSchemeMiddleware(config, {\n httpAuthSchemeParametersProvider,\n identityProviderConfigProvider,\n }), httpAuthSchemeMiddlewareOptions);\n },\n});\n","export * from \"./httpAuthSchemeMiddleware\";\nexport * from \"./getHttpAuthSchemeEndpointRuleSetPlugin\";\nexport * from \"./getHttpAuthSchemePlugin\";\n","import { HttpRequest } from \"@smithy/protocol-http\";\nimport { getSmithyContext } from \"@smithy/util-middleware\";\nconst defaultErrorHandler = (signingProperties) => (error) => {\n throw error;\n};\nconst defaultSuccessHandler = (httpResponse, signingProperties) => { };\nexport const httpSigningMiddleware = (config) => (next, context) => async (args) => {\n if (!HttpRequest.isInstance(args.request)) {\n return next(args);\n }\n const smithyContext = getSmithyContext(context);\n const scheme = smithyContext.selectedHttpAuthScheme;\n if (!scheme) {\n throw new Error(`No HttpAuthScheme was selected: unable to sign request`);\n }\n const { httpAuthOption: { signingProperties = {} }, identity, signer, } = scheme;\n const output = await next({\n ...args,\n request: await signer.sign(args.request, identity, signingProperties),\n }).catch((signer.errorHandler || defaultErrorHandler)(signingProperties));\n (signer.successHandler || defaultSuccessHandler)(output.response, signingProperties);\n return output;\n};\n","import { httpSigningMiddleware } from \"./httpSigningMiddleware\";\nexport const httpSigningMiddlewareOptions = {\n step: \"finalizeRequest\",\n tags: [\"HTTP_SIGNING\"],\n name: \"httpSigningMiddleware\",\n aliases: [\"apiKeyMiddleware\", \"tokenMiddleware\", \"awsAuthMiddleware\"],\n override: true,\n relation: \"after\",\n toMiddleware: \"retryMiddleware\",\n};\nexport const getHttpSigningPlugin = (config) => ({\n applyToStack: (clientStack) => {\n clientStack.addRelativeTo(httpSigningMiddleware(config), httpSigningMiddlewareOptions);\n },\n});\n","export * from \"./httpSigningMiddleware\";\nexport * from \"./getHttpSigningMiddleware\";\n","export const normalizeProvider = (input) => {\n if (typeof input === \"function\")\n return input;\n const promisified = Promise.resolve(input);\n return () => promisified;\n};\n","const makePagedClientRequest = async (CommandCtor, client, input, withCommand = (_) => _, ...args) => {\n let command = new CommandCtor(input);\n command = withCommand(command) ?? command;\n return await client.send(command, ...args);\n};\nexport function createPaginator(ClientCtor, CommandCtor, inputTokenName, outputTokenName, pageSizeTokenName) {\n return async function* paginateOperation(config, input, ...additionalArguments) {\n const _input = input;\n let token = config.startingToken ?? _input[inputTokenName];\n let hasNext = true;\n let page;\n while (hasNext) {\n _input[inputTokenName] = token;\n if (pageSizeTokenName) {\n _input[pageSizeTokenName] = _input[pageSizeTokenName] ?? config.pageSize;\n }\n if (config.client instanceof ClientCtor) {\n page = await makePagedClientRequest(CommandCtor, config.client, input, config.withCommand, ...additionalArguments);\n }\n else {\n throw new Error(`Invalid client, expected instance of ${ClientCtor.name}`);\n }\n yield page;\n const prevToken = token;\n token = get(page, outputTokenName);\n hasNext = !!(token && (!config.stopOnSameToken || token !== prevToken));\n }\n return undefined;\n };\n}\nconst get = (fromObject, path) => {\n let cursor = fromObject;\n const pathComponents = path.split(\".\");\n for (const step of pathComponents) {\n if (!cursor || typeof cursor !== \"object\") {\n return undefined;\n }\n cursor = cursor[step];\n }\n return cursor;\n};\n","export { requestBuilder } from \"@smithy/core/protocols\";\n","export function setFeature(context, feature, value) {\n if (!context.__smithy_context) {\n context.__smithy_context = {\n features: {},\n };\n }\n else if (!context.__smithy_context.features) {\n context.__smithy_context.features = {};\n }\n context.__smithy_context.features[feature] = value;\n}\n","export class DefaultIdentityProviderConfig {\n authSchemes = new Map();\n constructor(config) {\n for (const [key, value] of Object.entries(config)) {\n if (value !== undefined) {\n this.authSchemes.set(key, value);\n }\n }\n }\n getIdentityProvider(schemeId) {\n return this.authSchemes.get(schemeId);\n }\n}\n","import { HttpRequest } from \"@smithy/protocol-http\";\nimport { HttpApiKeyAuthLocation } from \"@smithy/types\";\nexport class HttpApiKeyAuthSigner {\n async sign(httpRequest, identity, signingProperties) {\n if (!signingProperties) {\n throw new Error(\"request could not be signed with `apiKey` since the `name` and `in` signer properties are missing\");\n }\n if (!signingProperties.name) {\n throw new Error(\"request could not be signed with `apiKey` since the `name` signer property is missing\");\n }\n if (!signingProperties.in) {\n throw new Error(\"request could not be signed with `apiKey` since the `in` signer property is missing\");\n }\n if (!identity.apiKey) {\n throw new Error(\"request could not be signed with `apiKey` since the `apiKey` is not defined\");\n }\n const clonedRequest = HttpRequest.clone(httpRequest);\n if (signingProperties.in === HttpApiKeyAuthLocation.QUERY) {\n clonedRequest.query[signingProperties.name] = identity.apiKey;\n }\n else if (signingProperties.in === HttpApiKeyAuthLocation.HEADER) {\n clonedRequest.headers[signingProperties.name] = signingProperties.scheme\n ? `${signingProperties.scheme} ${identity.apiKey}`\n : identity.apiKey;\n }\n else {\n throw new Error(\"request can only be signed with `apiKey` locations `query` or `header`, \" +\n \"but found: `\" +\n signingProperties.in +\n \"`\");\n }\n return clonedRequest;\n }\n}\n","import { HttpRequest } from \"@smithy/protocol-http\";\nexport class HttpBearerAuthSigner {\n async sign(httpRequest, identity, signingProperties) {\n const clonedRequest = HttpRequest.clone(httpRequest);\n if (!identity.token) {\n throw new Error(\"request could not be signed with `token` since the `token` is not defined\");\n }\n clonedRequest.headers[\"Authorization\"] = `Bearer ${identity.token}`;\n return clonedRequest;\n }\n}\n","export class NoAuthSigner {\n async sign(httpRequest, identity, signingProperties) {\n return httpRequest;\n }\n}\n","export * from \"./httpApiKeyAuth\";\nexport * from \"./httpBearerAuth\";\nexport * from \"./noAuth\";\n","export const createIsIdentityExpiredFunction = (expirationMs) => function isIdentityExpired(identity) {\n return doesIdentityRequireRefresh(identity) && identity.expiration.getTime() - Date.now() < expirationMs;\n};\nexport const EXPIRATION_MS = 300_000;\nexport const isIdentityExpired = createIsIdentityExpiredFunction(EXPIRATION_MS);\nexport const doesIdentityRequireRefresh = (identity) => identity.expiration !== undefined;\nexport const memoizeIdentityProvider = (provider, isExpired, requiresRefresh) => {\n if (provider === undefined) {\n return undefined;\n }\n const normalizedProvider = typeof provider !== \"function\" ? async () => Promise.resolve(provider) : provider;\n let resolved;\n let pending;\n let hasResult;\n let isConstant = false;\n const coalesceProvider = async (options) => {\n if (!pending) {\n pending = normalizedProvider(options);\n }\n try {\n resolved = await pending;\n hasResult = true;\n isConstant = false;\n }\n finally {\n pending = undefined;\n }\n return resolved;\n };\n if (isExpired === undefined) {\n return async (options) => {\n if (!hasResult || options?.forceRefresh) {\n resolved = await coalesceProvider(options);\n }\n return resolved;\n };\n }\n return async (options) => {\n if (!hasResult || options?.forceRefresh) {\n resolved = await coalesceProvider(options);\n }\n if (isConstant) {\n return resolved;\n }\n if (!requiresRefresh(resolved)) {\n isConstant = true;\n return resolved;\n }\n if (isExpired(resolved)) {\n await coalesceProvider(options);\n return resolved;\n }\n return resolved;\n };\n};\n","export * from \"./DefaultIdentityProviderConfig\";\nexport * from \"./httpAuthSchemes\";\nexport * from \"./memoizeIdentityProvider\";\n","export * from \"./getSmithyContext\";\nexport * from \"./middleware-http-auth-scheme\";\nexport * from \"./middleware-http-signing\";\nexport * from \"./normalizeProvider\";\nexport { createPaginator } from \"./pagination/createPaginator\";\nexport * from \"./request-builder/requestBuilder\";\nexport * from \"./setFeature\";\nexport * from \"./util-identity-and-auth\";\n","import { normalizeProvider } from \"@smithy/core\";\nimport { ProviderError } from \"@smithy/property-provider\";\nexport const resolveAwsSdkSigV4AConfig = (config) => {\n config.sigv4aSigningRegionSet = normalizeProvider(config.sigv4aSigningRegionSet);\n return config;\n};\nexport const NODE_SIGV4A_CONFIG_OPTIONS = {\n environmentVariableSelector(env) {\n if (env.AWS_SIGV4A_SIGNING_REGION_SET) {\n return env.AWS_SIGV4A_SIGNING_REGION_SET.split(\",\").map((_) => _.trim());\n }\n throw new ProviderError(\"AWS_SIGV4A_SIGNING_REGION_SET not set in env.\", {\n tryNextLink: true,\n });\n },\n configFileSelector(profile) {\n if (profile.sigv4a_signing_region_set) {\n return (profile.sigv4a_signing_region_set ?? \"\").split(\",\").map((_) => _.trim());\n }\n throw new ProviderError(\"sigv4a_signing_region_set not set in profile.\", {\n tryNextLink: true,\n });\n },\n default: undefined,\n};\n","'use strict';\n\nvar utilHexEncoding = require('@smithy/util-hex-encoding');\nvar utilUtf8 = require('@smithy/util-utf8');\nvar isArrayBuffer = require('@smithy/is-array-buffer');\nvar protocolHttp = require('@smithy/protocol-http');\nvar utilMiddleware = require('@smithy/util-middleware');\nvar utilUriEscape = require('@smithy/util-uri-escape');\n\nconst ALGORITHM_QUERY_PARAM = \"X-Amz-Algorithm\";\nconst CREDENTIAL_QUERY_PARAM = \"X-Amz-Credential\";\nconst AMZ_DATE_QUERY_PARAM = \"X-Amz-Date\";\nconst SIGNED_HEADERS_QUERY_PARAM = \"X-Amz-SignedHeaders\";\nconst EXPIRES_QUERY_PARAM = \"X-Amz-Expires\";\nconst SIGNATURE_QUERY_PARAM = \"X-Amz-Signature\";\nconst TOKEN_QUERY_PARAM = \"X-Amz-Security-Token\";\nconst REGION_SET_PARAM = \"X-Amz-Region-Set\";\nconst AUTH_HEADER = \"authorization\";\nconst AMZ_DATE_HEADER = AMZ_DATE_QUERY_PARAM.toLowerCase();\nconst DATE_HEADER = \"date\";\nconst GENERATED_HEADERS = [AUTH_HEADER, AMZ_DATE_HEADER, DATE_HEADER];\nconst SIGNATURE_HEADER = SIGNATURE_QUERY_PARAM.toLowerCase();\nconst SHA256_HEADER = \"x-amz-content-sha256\";\nconst TOKEN_HEADER = TOKEN_QUERY_PARAM.toLowerCase();\nconst HOST_HEADER = \"host\";\nconst ALWAYS_UNSIGNABLE_HEADERS = {\n authorization: true,\n \"cache-control\": true,\n connection: true,\n expect: true,\n from: true,\n \"keep-alive\": true,\n \"max-forwards\": true,\n pragma: true,\n referer: true,\n te: true,\n trailer: true,\n \"transfer-encoding\": true,\n upgrade: true,\n \"user-agent\": true,\n \"x-amzn-trace-id\": true,\n};\nconst PROXY_HEADER_PATTERN = /^proxy-/;\nconst SEC_HEADER_PATTERN = /^sec-/;\nconst UNSIGNABLE_PATTERNS = [/^proxy-/i, /^sec-/i];\nconst ALGORITHM_IDENTIFIER = \"AWS4-HMAC-SHA256\";\nconst ALGORITHM_IDENTIFIER_V4A = \"AWS4-ECDSA-P256-SHA256\";\nconst EVENT_ALGORITHM_IDENTIFIER = \"AWS4-HMAC-SHA256-PAYLOAD\";\nconst UNSIGNED_PAYLOAD = \"UNSIGNED-PAYLOAD\";\nconst MAX_CACHE_SIZE = 50;\nconst KEY_TYPE_IDENTIFIER = \"aws4_request\";\nconst MAX_PRESIGNED_TTL = 60 * 60 * 24 * 7;\n\nconst signingKeyCache = {};\nconst cacheQueue = [];\nconst createScope = (shortDate, region, service) => `${shortDate}/${region}/${service}/${KEY_TYPE_IDENTIFIER}`;\nconst getSigningKey = async (sha256Constructor, credentials, shortDate, region, service) => {\n const credsHash = await hmac(sha256Constructor, credentials.secretAccessKey, credentials.accessKeyId);\n const cacheKey = `${shortDate}:${region}:${service}:${utilHexEncoding.toHex(credsHash)}:${credentials.sessionToken}`;\n if (cacheKey in signingKeyCache) {\n return signingKeyCache[cacheKey];\n }\n cacheQueue.push(cacheKey);\n while (cacheQueue.length > MAX_CACHE_SIZE) {\n delete signingKeyCache[cacheQueue.shift()];\n }\n let key = `AWS4${credentials.secretAccessKey}`;\n for (const signable of [shortDate, region, service, KEY_TYPE_IDENTIFIER]) {\n key = await hmac(sha256Constructor, key, signable);\n }\n return (signingKeyCache[cacheKey] = key);\n};\nconst clearCredentialCache = () => {\n cacheQueue.length = 0;\n Object.keys(signingKeyCache).forEach((cacheKey) => {\n delete signingKeyCache[cacheKey];\n });\n};\nconst hmac = (ctor, secret, data) => {\n const hash = new ctor(secret);\n hash.update(utilUtf8.toUint8Array(data));\n return hash.digest();\n};\n\nconst getCanonicalHeaders = ({ headers }, unsignableHeaders, signableHeaders) => {\n const canonical = {};\n for (const headerName of Object.keys(headers).sort()) {\n if (headers[headerName] == undefined) {\n continue;\n }\n const canonicalHeaderName = headerName.toLowerCase();\n if (canonicalHeaderName in ALWAYS_UNSIGNABLE_HEADERS ||\n unsignableHeaders?.has(canonicalHeaderName) ||\n PROXY_HEADER_PATTERN.test(canonicalHeaderName) ||\n SEC_HEADER_PATTERN.test(canonicalHeaderName)) {\n if (!signableHeaders || (signableHeaders && !signableHeaders.has(canonicalHeaderName))) {\n continue;\n }\n }\n canonical[canonicalHeaderName] = headers[headerName].trim().replace(/\\s+/g, \" \");\n }\n return canonical;\n};\n\nconst getPayloadHash = async ({ headers, body }, hashConstructor) => {\n for (const headerName of Object.keys(headers)) {\n if (headerName.toLowerCase() === SHA256_HEADER) {\n return headers[headerName];\n }\n }\n if (body == undefined) {\n return \"e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855\";\n }\n else if (typeof body === \"string\" || ArrayBuffer.isView(body) || isArrayBuffer.isArrayBuffer(body)) {\n const hashCtor = new hashConstructor();\n hashCtor.update(utilUtf8.toUint8Array(body));\n return utilHexEncoding.toHex(await hashCtor.digest());\n }\n return UNSIGNED_PAYLOAD;\n};\n\nclass HeaderFormatter {\n format(headers) {\n const chunks = [];\n for (const headerName of Object.keys(headers)) {\n const bytes = utilUtf8.fromUtf8(headerName);\n chunks.push(Uint8Array.from([bytes.byteLength]), bytes, this.formatHeaderValue(headers[headerName]));\n }\n const out = new Uint8Array(chunks.reduce((carry, bytes) => carry + bytes.byteLength, 0));\n let position = 0;\n for (const chunk of chunks) {\n out.set(chunk, position);\n position += chunk.byteLength;\n }\n return out;\n }\n formatHeaderValue(header) {\n switch (header.type) {\n case \"boolean\":\n return Uint8Array.from([header.value ? 0 : 1]);\n case \"byte\":\n return Uint8Array.from([2, header.value]);\n case \"short\":\n const shortView = new DataView(new ArrayBuffer(3));\n shortView.setUint8(0, 3);\n shortView.setInt16(1, header.value, false);\n return new Uint8Array(shortView.buffer);\n case \"integer\":\n const intView = new DataView(new ArrayBuffer(5));\n intView.setUint8(0, 4);\n intView.setInt32(1, header.value, false);\n return new Uint8Array(intView.buffer);\n case \"long\":\n const longBytes = new Uint8Array(9);\n longBytes[0] = 5;\n longBytes.set(header.value.bytes, 1);\n return longBytes;\n case \"binary\":\n const binView = new DataView(new ArrayBuffer(3 + header.value.byteLength));\n binView.setUint8(0, 6);\n binView.setUint16(1, header.value.byteLength, false);\n const binBytes = new Uint8Array(binView.buffer);\n binBytes.set(header.value, 3);\n return binBytes;\n case \"string\":\n const utf8Bytes = utilUtf8.fromUtf8(header.value);\n const strView = new DataView(new ArrayBuffer(3 + utf8Bytes.byteLength));\n strView.setUint8(0, 7);\n strView.setUint16(1, utf8Bytes.byteLength, false);\n const strBytes = new Uint8Array(strView.buffer);\n strBytes.set(utf8Bytes, 3);\n return strBytes;\n case \"timestamp\":\n const tsBytes = new Uint8Array(9);\n tsBytes[0] = 8;\n tsBytes.set(Int64.fromNumber(header.value.valueOf()).bytes, 1);\n return tsBytes;\n case \"uuid\":\n if (!UUID_PATTERN.test(header.value)) {\n throw new Error(`Invalid UUID received: ${header.value}`);\n }\n const uuidBytes = new Uint8Array(17);\n uuidBytes[0] = 9;\n uuidBytes.set(utilHexEncoding.fromHex(header.value.replace(/\\-/g, \"\")), 1);\n return uuidBytes;\n }\n }\n}\nconst UUID_PATTERN = /^[a-f0-9]{8}-[a-f0-9]{4}-[a-f0-9]{4}-[a-f0-9]{4}-[a-f0-9]{12}$/;\nclass Int64 {\n bytes;\n constructor(bytes) {\n this.bytes = bytes;\n if (bytes.byteLength !== 8) {\n throw new Error(\"Int64 buffers must be exactly 8 bytes\");\n }\n }\n static fromNumber(number) {\n if (number > 9_223_372_036_854_775_807 || number < -9223372036854776e3) {\n throw new Error(`${number} is too large (or, if negative, too small) to represent as an Int64`);\n }\n const bytes = new Uint8Array(8);\n for (let i = 7, remaining = Math.abs(Math.round(number)); i > -1 && remaining > 0; i--, remaining /= 256) {\n bytes[i] = remaining;\n }\n if (number < 0) {\n negate(bytes);\n }\n return new Int64(bytes);\n }\n valueOf() {\n const bytes = this.bytes.slice(0);\n const negative = bytes[0] & 0b10000000;\n if (negative) {\n negate(bytes);\n }\n return parseInt(utilHexEncoding.toHex(bytes), 16) * (negative ? -1 : 1);\n }\n toString() {\n return String(this.valueOf());\n }\n}\nfunction negate(bytes) {\n for (let i = 0; i < 8; i++) {\n bytes[i] ^= 0xff;\n }\n for (let i = 7; i > -1; i--) {\n bytes[i]++;\n if (bytes[i] !== 0)\n break;\n }\n}\n\nconst hasHeader = (soughtHeader, headers) => {\n soughtHeader = soughtHeader.toLowerCase();\n for (const headerName of Object.keys(headers)) {\n if (soughtHeader === headerName.toLowerCase()) {\n return true;\n }\n }\n return false;\n};\n\nconst moveHeadersToQuery = (request, options = {}) => {\n const { headers, query = {} } = protocolHttp.HttpRequest.clone(request);\n for (const name of Object.keys(headers)) {\n const lname = name.toLowerCase();\n if ((lname.slice(0, 6) === \"x-amz-\" && !options.unhoistableHeaders?.has(lname)) ||\n options.hoistableHeaders?.has(lname)) {\n query[name] = headers[name];\n delete headers[name];\n }\n }\n return {\n ...request,\n headers,\n query,\n };\n};\n\nconst prepareRequest = (request) => {\n request = protocolHttp.HttpRequest.clone(request);\n for (const headerName of Object.keys(request.headers)) {\n if (GENERATED_HEADERS.indexOf(headerName.toLowerCase()) > -1) {\n delete request.headers[headerName];\n }\n }\n return request;\n};\n\nconst getCanonicalQuery = ({ query = {} }) => {\n const keys = [];\n const serialized = {};\n for (const key of Object.keys(query)) {\n if (key.toLowerCase() === SIGNATURE_HEADER) {\n continue;\n }\n const encodedKey = utilUriEscape.escapeUri(key);\n keys.push(encodedKey);\n const value = query[key];\n if (typeof value === \"string\") {\n serialized[encodedKey] = `${encodedKey}=${utilUriEscape.escapeUri(value)}`;\n }\n else if (Array.isArray(value)) {\n serialized[encodedKey] = value\n .slice(0)\n .reduce((encoded, value) => encoded.concat([`${encodedKey}=${utilUriEscape.escapeUri(value)}`]), [])\n .sort()\n .join(\"&\");\n }\n }\n return keys\n .sort()\n .map((key) => serialized[key])\n .filter((serialized) => serialized)\n .join(\"&\");\n};\n\nconst iso8601 = (time) => toDate(time)\n .toISOString()\n .replace(/\\.\\d{3}Z$/, \"Z\");\nconst toDate = (time) => {\n if (typeof time === \"number\") {\n return new Date(time * 1000);\n }\n if (typeof time === \"string\") {\n if (Number(time)) {\n return new Date(Number(time) * 1000);\n }\n return new Date(time);\n }\n return time;\n};\n\nclass SignatureV4Base {\n service;\n regionProvider;\n credentialProvider;\n sha256;\n uriEscapePath;\n applyChecksum;\n constructor({ applyChecksum, credentials, region, service, sha256, uriEscapePath = true, }) {\n this.service = service;\n this.sha256 = sha256;\n this.uriEscapePath = uriEscapePath;\n this.applyChecksum = typeof applyChecksum === \"boolean\" ? applyChecksum : true;\n this.regionProvider = utilMiddleware.normalizeProvider(region);\n this.credentialProvider = utilMiddleware.normalizeProvider(credentials);\n }\n createCanonicalRequest(request, canonicalHeaders, payloadHash) {\n const sortedHeaders = Object.keys(canonicalHeaders).sort();\n return `${request.method}\n${this.getCanonicalPath(request)}\n${getCanonicalQuery(request)}\n${sortedHeaders.map((name) => `${name}:${canonicalHeaders[name]}`).join(\"\\n\")}\n\n${sortedHeaders.join(\";\")}\n${payloadHash}`;\n }\n async createStringToSign(longDate, credentialScope, canonicalRequest, algorithmIdentifier) {\n const hash = new this.sha256();\n hash.update(utilUtf8.toUint8Array(canonicalRequest));\n const hashedRequest = await hash.digest();\n return `${algorithmIdentifier}\n${longDate}\n${credentialScope}\n${utilHexEncoding.toHex(hashedRequest)}`;\n }\n getCanonicalPath({ path }) {\n if (this.uriEscapePath) {\n const normalizedPathSegments = [];\n for (const pathSegment of path.split(\"/\")) {\n if (pathSegment?.length === 0)\n continue;\n if (pathSegment === \".\")\n continue;\n if (pathSegment === \"..\") {\n normalizedPathSegments.pop();\n }\n else {\n normalizedPathSegments.push(pathSegment);\n }\n }\n const normalizedPath = `${path?.startsWith(\"/\") ? \"/\" : \"\"}${normalizedPathSegments.join(\"/\")}${normalizedPathSegments.length > 0 && path?.endsWith(\"/\") ? \"/\" : \"\"}`;\n const doubleEncoded = utilUriEscape.escapeUri(normalizedPath);\n return doubleEncoded.replace(/%2F/g, \"/\");\n }\n return path;\n }\n validateResolvedCredentials(credentials) {\n if (typeof credentials !== \"object\" ||\n typeof credentials.accessKeyId !== \"string\" ||\n typeof credentials.secretAccessKey !== \"string\") {\n throw new Error(\"Resolved credential object is not valid\");\n }\n }\n formatDate(now) {\n const longDate = iso8601(now).replace(/[\\-:]/g, \"\");\n return {\n longDate,\n shortDate: longDate.slice(0, 8),\n };\n }\n getCanonicalHeaderList(headers) {\n return Object.keys(headers).sort().join(\";\");\n }\n}\n\nclass SignatureV4 extends SignatureV4Base {\n headerFormatter = new HeaderFormatter();\n constructor({ applyChecksum, credentials, region, service, sha256, uriEscapePath = true, }) {\n super({\n applyChecksum,\n credentials,\n region,\n service,\n sha256,\n uriEscapePath,\n });\n }\n async presign(originalRequest, options = {}) {\n const { signingDate = new Date(), expiresIn = 3600, unsignableHeaders, unhoistableHeaders, signableHeaders, hoistableHeaders, signingRegion, signingService, } = options;\n const credentials = await this.credentialProvider();\n this.validateResolvedCredentials(credentials);\n const region = signingRegion ?? (await this.regionProvider());\n const { longDate, shortDate } = this.formatDate(signingDate);\n if (expiresIn > MAX_PRESIGNED_TTL) {\n return Promise.reject(\"Signature version 4 presigned URLs\" + \" must have an expiration date less than one week in\" + \" the future\");\n }\n const scope = createScope(shortDate, region, signingService ?? this.service);\n const request = moveHeadersToQuery(prepareRequest(originalRequest), { unhoistableHeaders, hoistableHeaders });\n if (credentials.sessionToken) {\n request.query[TOKEN_QUERY_PARAM] = credentials.sessionToken;\n }\n request.query[ALGORITHM_QUERY_PARAM] = ALGORITHM_IDENTIFIER;\n request.query[CREDENTIAL_QUERY_PARAM] = `${credentials.accessKeyId}/${scope}`;\n request.query[AMZ_DATE_QUERY_PARAM] = longDate;\n request.query[EXPIRES_QUERY_PARAM] = expiresIn.toString(10);\n const canonicalHeaders = getCanonicalHeaders(request, unsignableHeaders, signableHeaders);\n request.query[SIGNED_HEADERS_QUERY_PARAM] = this.getCanonicalHeaderList(canonicalHeaders);\n request.query[SIGNATURE_QUERY_PARAM] = await this.getSignature(longDate, scope, this.getSigningKey(credentials, region, shortDate, signingService), this.createCanonicalRequest(request, canonicalHeaders, await getPayloadHash(originalRequest, this.sha256)));\n return request;\n }\n async sign(toSign, options) {\n if (typeof toSign === \"string\") {\n return this.signString(toSign, options);\n }\n else if (toSign.headers && toSign.payload) {\n return this.signEvent(toSign, options);\n }\n else if (toSign.message) {\n return this.signMessage(toSign, options);\n }\n else {\n return this.signRequest(toSign, options);\n }\n }\n async signEvent({ headers, payload }, { signingDate = new Date(), priorSignature, signingRegion, signingService }) {\n const region = signingRegion ?? (await this.regionProvider());\n const { shortDate, longDate } = this.formatDate(signingDate);\n const scope = createScope(shortDate, region, signingService ?? this.service);\n const hashedPayload = await getPayloadHash({ headers: {}, body: payload }, this.sha256);\n const hash = new this.sha256();\n hash.update(headers);\n const hashedHeaders = utilHexEncoding.toHex(await hash.digest());\n const stringToSign = [\n EVENT_ALGORITHM_IDENTIFIER,\n longDate,\n scope,\n priorSignature,\n hashedHeaders,\n hashedPayload,\n ].join(\"\\n\");\n return this.signString(stringToSign, { signingDate, signingRegion: region, signingService });\n }\n async signMessage(signableMessage, { signingDate = new Date(), signingRegion, signingService }) {\n const promise = this.signEvent({\n headers: this.headerFormatter.format(signableMessage.message.headers),\n payload: signableMessage.message.body,\n }, {\n signingDate,\n signingRegion,\n signingService,\n priorSignature: signableMessage.priorSignature,\n });\n return promise.then((signature) => {\n return { message: signableMessage.message, signature };\n });\n }\n async signString(stringToSign, { signingDate = new Date(), signingRegion, signingService } = {}) {\n const credentials = await this.credentialProvider();\n this.validateResolvedCredentials(credentials);\n const region = signingRegion ?? (await this.regionProvider());\n const { shortDate } = this.formatDate(signingDate);\n const hash = new this.sha256(await this.getSigningKey(credentials, region, shortDate, signingService));\n hash.update(utilUtf8.toUint8Array(stringToSign));\n return utilHexEncoding.toHex(await hash.digest());\n }\n async signRequest(requestToSign, { signingDate = new Date(), signableHeaders, unsignableHeaders, signingRegion, signingService, } = {}) {\n const credentials = await this.credentialProvider();\n this.validateResolvedCredentials(credentials);\n const region = signingRegion ?? (await this.regionProvider());\n const request = prepareRequest(requestToSign);\n const { longDate, shortDate } = this.formatDate(signingDate);\n const scope = createScope(shortDate, region, signingService ?? this.service);\n request.headers[AMZ_DATE_HEADER] = longDate;\n if (credentials.sessionToken) {\n request.headers[TOKEN_HEADER] = credentials.sessionToken;\n }\n const payloadHash = await getPayloadHash(request, this.sha256);\n if (!hasHeader(SHA256_HEADER, request.headers) && this.applyChecksum) {\n request.headers[SHA256_HEADER] = payloadHash;\n }\n const canonicalHeaders = getCanonicalHeaders(request, unsignableHeaders, signableHeaders);\n const signature = await this.getSignature(longDate, scope, this.getSigningKey(credentials, region, shortDate, signingService), this.createCanonicalRequest(request, canonicalHeaders, payloadHash));\n request.headers[AUTH_HEADER] =\n `${ALGORITHM_IDENTIFIER} ` +\n `Credential=${credentials.accessKeyId}/${scope}, ` +\n `SignedHeaders=${this.getCanonicalHeaderList(canonicalHeaders)}, ` +\n `Signature=${signature}`;\n return request;\n }\n async getSignature(longDate, credentialScope, keyPromise, canonicalRequest) {\n const stringToSign = await this.createStringToSign(longDate, credentialScope, canonicalRequest, ALGORITHM_IDENTIFIER);\n const hash = new this.sha256(await keyPromise);\n hash.update(utilUtf8.toUint8Array(stringToSign));\n return utilHexEncoding.toHex(await hash.digest());\n }\n getSigningKey(credentials, region, shortDate, service) {\n return getSigningKey(this.sha256, credentials, shortDate, region, service || this.service);\n }\n}\n\nconst signatureV4aContainer = {\n SignatureV4a: null,\n};\n\nexports.ALGORITHM_IDENTIFIER = ALGORITHM_IDENTIFIER;\nexports.ALGORITHM_IDENTIFIER_V4A = ALGORITHM_IDENTIFIER_V4A;\nexports.ALGORITHM_QUERY_PARAM = ALGORITHM_QUERY_PARAM;\nexports.ALWAYS_UNSIGNABLE_HEADERS = ALWAYS_UNSIGNABLE_HEADERS;\nexports.AMZ_DATE_HEADER = AMZ_DATE_HEADER;\nexports.AMZ_DATE_QUERY_PARAM = AMZ_DATE_QUERY_PARAM;\nexports.AUTH_HEADER = AUTH_HEADER;\nexports.CREDENTIAL_QUERY_PARAM = CREDENTIAL_QUERY_PARAM;\nexports.DATE_HEADER = DATE_HEADER;\nexports.EVENT_ALGORITHM_IDENTIFIER = EVENT_ALGORITHM_IDENTIFIER;\nexports.EXPIRES_QUERY_PARAM = EXPIRES_QUERY_PARAM;\nexports.GENERATED_HEADERS = GENERATED_HEADERS;\nexports.HOST_HEADER = HOST_HEADER;\nexports.KEY_TYPE_IDENTIFIER = KEY_TYPE_IDENTIFIER;\nexports.MAX_CACHE_SIZE = MAX_CACHE_SIZE;\nexports.MAX_PRESIGNED_TTL = MAX_PRESIGNED_TTL;\nexports.PROXY_HEADER_PATTERN = PROXY_HEADER_PATTERN;\nexports.REGION_SET_PARAM = REGION_SET_PARAM;\nexports.SEC_HEADER_PATTERN = SEC_HEADER_PATTERN;\nexports.SHA256_HEADER = SHA256_HEADER;\nexports.SIGNATURE_HEADER = SIGNATURE_HEADER;\nexports.SIGNATURE_QUERY_PARAM = SIGNATURE_QUERY_PARAM;\nexports.SIGNED_HEADERS_QUERY_PARAM = SIGNED_HEADERS_QUERY_PARAM;\nexports.SignatureV4 = SignatureV4;\nexports.SignatureV4Base = SignatureV4Base;\nexports.TOKEN_HEADER = TOKEN_HEADER;\nexports.TOKEN_QUERY_PARAM = TOKEN_QUERY_PARAM;\nexports.UNSIGNABLE_PATTERNS = UNSIGNABLE_PATTERNS;\nexports.UNSIGNED_PAYLOAD = UNSIGNED_PAYLOAD;\nexports.clearCredentialCache = clearCredentialCache;\nexports.createScope = createScope;\nexports.getCanonicalHeaders = getCanonicalHeaders;\nexports.getCanonicalQuery = getCanonicalQuery;\nexports.getPayloadHash = getPayloadHash;\nexports.getSigningKey = getSigningKey;\nexports.hasHeader = hasHeader;\nexports.moveHeadersToQuery = moveHeadersToQuery;\nexports.prepareRequest = prepareRequest;\nexports.signatureV4aContainer = signatureV4aContainer;\n","import { setCredentialFeature } from \"@aws-sdk/core/client\";\nimport { doesIdentityRequireRefresh, isIdentityExpired, memoizeIdentityProvider, normalizeProvider, } from \"@smithy/core\";\nimport { SignatureV4 } from \"@smithy/signature-v4\";\nexport const resolveAwsSdkSigV4Config = (config) => {\n let inputCredentials = config.credentials;\n let isUserSupplied = !!config.credentials;\n let resolvedCredentials = undefined;\n Object.defineProperty(config, \"credentials\", {\n set(credentials) {\n if (credentials && credentials !== inputCredentials && credentials !== resolvedCredentials) {\n isUserSupplied = true;\n }\n inputCredentials = credentials;\n const memoizedProvider = normalizeCredentialProvider(config, {\n credentials: inputCredentials,\n credentialDefaultProvider: config.credentialDefaultProvider,\n });\n const boundProvider = bindCallerConfig(config, memoizedProvider);\n if (isUserSupplied && !boundProvider.attributed) {\n const isCredentialObject = typeof inputCredentials === \"object\" && inputCredentials !== null;\n resolvedCredentials = async (options) => {\n const creds = await boundProvider(options);\n const attributedCreds = creds;\n if (isCredentialObject && (!attributedCreds.$source || Object.keys(attributedCreds.$source).length === 0)) {\n return setCredentialFeature(attributedCreds, \"CREDENTIALS_CODE\", \"e\");\n }\n return attributedCreds;\n };\n resolvedCredentials.memoized = boundProvider.memoized;\n resolvedCredentials.configBound = boundProvider.configBound;\n resolvedCredentials.attributed = true;\n }\n else {\n resolvedCredentials = boundProvider;\n }\n },\n get() {\n return resolvedCredentials;\n },\n enumerable: true,\n configurable: true,\n });\n config.credentials = inputCredentials;\n const { signingEscapePath = true, systemClockOffset = config.systemClockOffset || 0, sha256, } = config;\n let signer;\n if (config.signer) {\n signer = normalizeProvider(config.signer);\n }\n else if (config.regionInfoProvider) {\n signer = () => normalizeProvider(config.region)()\n .then(async (region) => [\n (await config.regionInfoProvider(region, {\n useFipsEndpoint: await config.useFipsEndpoint(),\n useDualstackEndpoint: await config.useDualstackEndpoint(),\n })) || {},\n region,\n ])\n .then(([regionInfo, region]) => {\n const { signingRegion, signingService } = regionInfo;\n config.signingRegion = config.signingRegion || signingRegion || region;\n config.signingName = config.signingName || signingService || config.serviceId;\n const params = {\n ...config,\n credentials: config.credentials,\n region: config.signingRegion,\n service: config.signingName,\n sha256,\n uriEscapePath: signingEscapePath,\n };\n const SignerCtor = config.signerConstructor || SignatureV4;\n return new SignerCtor(params);\n });\n }\n else {\n signer = async (authScheme) => {\n authScheme = Object.assign({}, {\n name: \"sigv4\",\n signingName: config.signingName || config.defaultSigningName,\n signingRegion: await normalizeProvider(config.region)(),\n properties: {},\n }, authScheme);\n const signingRegion = authScheme.signingRegion;\n const signingService = authScheme.signingName;\n config.signingRegion = config.signingRegion || signingRegion;\n config.signingName = config.signingName || signingService || config.serviceId;\n const params = {\n ...config,\n credentials: config.credentials,\n region: config.signingRegion,\n service: config.signingName,\n sha256,\n uriEscapePath: signingEscapePath,\n };\n const SignerCtor = config.signerConstructor || SignatureV4;\n return new SignerCtor(params);\n };\n }\n const resolvedConfig = Object.assign(config, {\n systemClockOffset,\n signingEscapePath,\n signer,\n });\n return resolvedConfig;\n};\nexport const resolveAWSSDKSigV4Config = resolveAwsSdkSigV4Config;\nfunction normalizeCredentialProvider(config, { credentials, credentialDefaultProvider, }) {\n let credentialsProvider;\n if (credentials) {\n if (!credentials?.memoized) {\n credentialsProvider = memoizeIdentityProvider(credentials, isIdentityExpired, doesIdentityRequireRefresh);\n }\n else {\n credentialsProvider = credentials;\n }\n }\n else {\n if (credentialDefaultProvider) {\n credentialsProvider = normalizeProvider(credentialDefaultProvider(Object.assign({}, config, {\n parentClientConfig: config,\n })));\n }\n else {\n credentialsProvider = async () => {\n throw new Error(\"@aws-sdk/core::resolveAwsSdkSigV4Config - `credentials` not provided and no credentialDefaultProvider was configured.\");\n };\n }\n }\n credentialsProvider.memoized = true;\n return credentialsProvider;\n}\nfunction bindCallerConfig(config, credentialsProvider) {\n if (credentialsProvider.configBound) {\n return credentialsProvider;\n }\n const fn = async (options) => credentialsProvider({ ...options, callerClientConfig: config });\n fn.memoized = credentialsProvider.memoized;\n fn.configBound = true;\n return fn;\n}\n","export { AwsSdkSigV4Signer, AWSSDKSigV4Signer, validateSigningProperties } from \"./AwsSdkSigV4Signer\";\nexport { AwsSdkSigV4ASigner } from \"./AwsSdkSigV4ASigner\";\nexport * from \"./NODE_AUTH_SCHEME_PREFERENCE_OPTIONS\";\nexport * from \"./resolveAwsSdkSigV4AConfig\";\nexport * from \"./resolveAwsSdkSigV4Config\";\n","export * from \"./aws_sdk\";\nexport * from \"./utils/getBearerTokenEnvKey\";\n","export const majorUint64 = 0;\nexport const majorNegativeInt64 = 1;\nexport const majorUnstructuredByteString = 2;\nexport const majorUtf8String = 3;\nexport const majorList = 4;\nexport const majorMap = 5;\nexport const majorTag = 6;\nexport const majorSpecial = 7;\nexport const specialFalse = 20;\nexport const specialTrue = 21;\nexport const specialNull = 22;\nexport const specialUndefined = 23;\nexport const extendedOneByte = 24;\nexport const extendedFloat16 = 25;\nexport const extendedFloat32 = 26;\nexport const extendedFloat64 = 27;\nexport const minorIndefinite = 31;\nexport function alloc(size) {\n return typeof Buffer !== \"undefined\" ? Buffer.alloc(size) : new Uint8Array(size);\n}\nexport const tagSymbol = Symbol(\"@smithy/core/cbor::tagSymbol\");\nexport function tag(data) {\n data[tagSymbol] = true;\n return data;\n}\n","import { nv } from \"@smithy/core/serde\";\nimport { toUtf8 } from \"@smithy/util-utf8\";\nimport { alloc, extendedFloat16, extendedFloat32, extendedFloat64, extendedOneByte, majorList, majorMap, majorNegativeInt64, majorTag, majorUint64, majorUnstructuredByteString, majorUtf8String, minorIndefinite, specialFalse, specialNull, specialTrue, specialUndefined, tag, } from \"./cbor-types\";\nconst USE_TEXT_DECODER = typeof TextDecoder !== \"undefined\";\nconst USE_BUFFER = typeof Buffer !== \"undefined\";\nlet payload = alloc(0);\nlet dataView = new DataView(payload.buffer, payload.byteOffset, payload.byteLength);\nconst textDecoder = USE_TEXT_DECODER ? new TextDecoder() : null;\nlet _offset = 0;\nexport function setPayload(bytes) {\n payload = bytes;\n dataView = new DataView(payload.buffer, payload.byteOffset, payload.byteLength);\n}\nexport function decode(at, to) {\n if (at >= to) {\n throw new Error(\"unexpected end of (decode) payload.\");\n }\n const major = (payload[at] & 0b1110_0000) >> 5;\n const minor = payload[at] & 0b0001_1111;\n switch (major) {\n case majorUint64:\n case majorNegativeInt64:\n case majorTag:\n let unsignedInt;\n let offset;\n if (minor < 24) {\n unsignedInt = minor;\n offset = 1;\n }\n else {\n switch (minor) {\n case extendedOneByte:\n case extendedFloat16:\n case extendedFloat32:\n case extendedFloat64:\n const countLength = minorValueToArgumentLength[minor];\n const countOffset = (countLength + 1);\n offset = countOffset;\n if (to - at < countOffset) {\n throw new Error(`countLength ${countLength} greater than remaining buf len.`);\n }\n const countIndex = at + 1;\n if (countLength === 1) {\n unsignedInt = payload[countIndex];\n }\n else if (countLength === 2) {\n unsignedInt = dataView.getUint16(countIndex);\n }\n else if (countLength === 4) {\n unsignedInt = dataView.getUint32(countIndex);\n }\n else {\n unsignedInt = dataView.getBigUint64(countIndex);\n }\n break;\n default:\n throw new Error(`unexpected minor value ${minor}.`);\n }\n }\n if (major === majorUint64) {\n _offset = offset;\n return castBigInt(unsignedInt);\n }\n else if (major === majorNegativeInt64) {\n let negativeInt;\n if (typeof unsignedInt === \"bigint\") {\n negativeInt = BigInt(-1) - unsignedInt;\n }\n else {\n negativeInt = -1 - unsignedInt;\n }\n _offset = offset;\n return castBigInt(negativeInt);\n }\n else {\n if (minor === 2 || minor === 3) {\n const length = decodeCount(at + offset, to);\n let b = BigInt(0);\n const start = at + offset + _offset;\n for (let i = start; i < start + length; ++i) {\n b = (b << BigInt(8)) | BigInt(payload[i]);\n }\n _offset = offset + _offset + length;\n return minor === 3 ? -b - BigInt(1) : b;\n }\n else if (minor === 4) {\n const decimalFraction = decode(at + offset, to);\n const [exponent, mantissa] = decimalFraction;\n const normalizer = mantissa < 0 ? -1 : 1;\n const mantissaStr = \"0\".repeat(Math.abs(exponent) + 1) + String(BigInt(normalizer) * BigInt(mantissa));\n let numericString;\n const sign = mantissa < 0 ? \"-\" : \"\";\n numericString =\n exponent === 0\n ? mantissaStr\n : mantissaStr.slice(0, mantissaStr.length + exponent) + \".\" + mantissaStr.slice(exponent);\n numericString = numericString.replace(/^0+/g, \"\");\n if (numericString === \"\") {\n numericString = \"0\";\n }\n if (numericString[0] === \".\") {\n numericString = \"0\" + numericString;\n }\n numericString = sign + numericString;\n _offset = offset + _offset;\n return nv(numericString);\n }\n else {\n const value = decode(at + offset, to);\n const valueOffset = _offset;\n _offset = offset + valueOffset;\n return tag({ tag: castBigInt(unsignedInt), value });\n }\n }\n case majorUtf8String:\n case majorMap:\n case majorList:\n case majorUnstructuredByteString:\n if (minor === minorIndefinite) {\n switch (major) {\n case majorUtf8String:\n return decodeUtf8StringIndefinite(at, to);\n case majorMap:\n return decodeMapIndefinite(at, to);\n case majorList:\n return decodeListIndefinite(at, to);\n case majorUnstructuredByteString:\n return decodeUnstructuredByteStringIndefinite(at, to);\n }\n }\n else {\n switch (major) {\n case majorUtf8String:\n return decodeUtf8String(at, to);\n case majorMap:\n return decodeMap(at, to);\n case majorList:\n return decodeList(at, to);\n case majorUnstructuredByteString:\n return decodeUnstructuredByteString(at, to);\n }\n }\n default:\n return decodeSpecial(at, to);\n }\n}\nfunction bytesToUtf8(bytes, at, to) {\n if (USE_BUFFER && bytes.constructor?.name === \"Buffer\") {\n return bytes.toString(\"utf-8\", at, to);\n }\n if (textDecoder) {\n return textDecoder.decode(bytes.subarray(at, to));\n }\n return toUtf8(bytes.subarray(at, to));\n}\nfunction demote(bigInteger) {\n const num = Number(bigInteger);\n if (num < Number.MIN_SAFE_INTEGER || Number.MAX_SAFE_INTEGER < num) {\n console.warn(new Error(`@smithy/core/cbor - truncating BigInt(${bigInteger}) to ${num} with loss of precision.`));\n }\n return num;\n}\nconst minorValueToArgumentLength = {\n [extendedOneByte]: 1,\n [extendedFloat16]: 2,\n [extendedFloat32]: 4,\n [extendedFloat64]: 8,\n};\nexport function bytesToFloat16(a, b) {\n const sign = a >> 7;\n const exponent = (a & 0b0111_1100) >> 2;\n const fraction = ((a & 0b0000_0011) << 8) | b;\n const scalar = sign === 0 ? 1 : -1;\n let exponentComponent;\n let summation;\n if (exponent === 0b00000) {\n if (fraction === 0b00000_00000) {\n return 0;\n }\n else {\n exponentComponent = Math.pow(2, 1 - 15);\n summation = 0;\n }\n }\n else if (exponent === 0b11111) {\n if (fraction === 0b00000_00000) {\n return scalar * Infinity;\n }\n else {\n return NaN;\n }\n }\n else {\n exponentComponent = Math.pow(2, exponent - 15);\n summation = 1;\n }\n summation += fraction / 1024;\n return scalar * (exponentComponent * summation);\n}\nfunction decodeCount(at, to) {\n const minor = payload[at] & 0b0001_1111;\n if (minor < 24) {\n _offset = 1;\n return minor;\n }\n if (minor === extendedOneByte ||\n minor === extendedFloat16 ||\n minor === extendedFloat32 ||\n minor === extendedFloat64) {\n const countLength = minorValueToArgumentLength[minor];\n _offset = (countLength + 1);\n if (to - at < _offset) {\n throw new Error(`countLength ${countLength} greater than remaining buf len.`);\n }\n const countIndex = at + 1;\n if (countLength === 1) {\n return payload[countIndex];\n }\n else if (countLength === 2) {\n return dataView.getUint16(countIndex);\n }\n else if (countLength === 4) {\n return dataView.getUint32(countIndex);\n }\n return demote(dataView.getBigUint64(countIndex));\n }\n throw new Error(`unexpected minor value ${minor}.`);\n}\nfunction decodeUtf8String(at, to) {\n const length = decodeCount(at, to);\n const offset = _offset;\n at += offset;\n if (to - at < length) {\n throw new Error(`string len ${length} greater than remaining buf len.`);\n }\n const value = bytesToUtf8(payload, at, at + length);\n _offset = offset + length;\n return value;\n}\nfunction decodeUtf8StringIndefinite(at, to) {\n at += 1;\n const vector = [];\n for (const base = at; at < to;) {\n if (payload[at] === 0b1111_1111) {\n const data = alloc(vector.length);\n data.set(vector, 0);\n _offset = at - base + 2;\n return bytesToUtf8(data, 0, data.length);\n }\n const major = (payload[at] & 0b1110_0000) >> 5;\n const minor = payload[at] & 0b0001_1111;\n if (major !== majorUtf8String) {\n throw new Error(`unexpected major type ${major} in indefinite string.`);\n }\n if (minor === minorIndefinite) {\n throw new Error(\"nested indefinite string.\");\n }\n const bytes = decodeUnstructuredByteString(at, to);\n const length = _offset;\n at += length;\n for (let i = 0; i < bytes.length; ++i) {\n vector.push(bytes[i]);\n }\n }\n throw new Error(\"expected break marker.\");\n}\nfunction decodeUnstructuredByteString(at, to) {\n const length = decodeCount(at, to);\n const offset = _offset;\n at += offset;\n if (to - at < length) {\n throw new Error(`unstructured byte string len ${length} greater than remaining buf len.`);\n }\n const value = payload.subarray(at, at + length);\n _offset = offset + length;\n return value;\n}\nfunction decodeUnstructuredByteStringIndefinite(at, to) {\n at += 1;\n const vector = [];\n for (const base = at; at < to;) {\n if (payload[at] === 0b1111_1111) {\n const data = alloc(vector.length);\n data.set(vector, 0);\n _offset = at - base + 2;\n return data;\n }\n const major = (payload[at] & 0b1110_0000) >> 5;\n const minor = payload[at] & 0b0001_1111;\n if (major !== majorUnstructuredByteString) {\n throw new Error(`unexpected major type ${major} in indefinite string.`);\n }\n if (minor === minorIndefinite) {\n throw new Error(\"nested indefinite string.\");\n }\n const bytes = decodeUnstructuredByteString(at, to);\n const length = _offset;\n at += length;\n for (let i = 0; i < bytes.length; ++i) {\n vector.push(bytes[i]);\n }\n }\n throw new Error(\"expected break marker.\");\n}\nfunction decodeList(at, to) {\n const listDataLength = decodeCount(at, to);\n const offset = _offset;\n at += offset;\n const base = at;\n const list = Array(listDataLength);\n for (let i = 0; i < listDataLength; ++i) {\n const item = decode(at, to);\n const itemOffset = _offset;\n list[i] = item;\n at += itemOffset;\n }\n _offset = offset + (at - base);\n return list;\n}\nfunction decodeListIndefinite(at, to) {\n at += 1;\n const list = [];\n for (const base = at; at < to;) {\n if (payload[at] === 0b1111_1111) {\n _offset = at - base + 2;\n return list;\n }\n const item = decode(at, to);\n const n = _offset;\n at += n;\n list.push(item);\n }\n throw new Error(\"expected break marker.\");\n}\nfunction decodeMap(at, to) {\n const mapDataLength = decodeCount(at, to);\n const offset = _offset;\n at += offset;\n const base = at;\n const map = {};\n for (let i = 0; i < mapDataLength; ++i) {\n if (at >= to) {\n throw new Error(\"unexpected end of map payload.\");\n }\n const major = (payload[at] & 0b1110_0000) >> 5;\n if (major !== majorUtf8String) {\n throw new Error(`unexpected major type ${major} for map key at index ${at}.`);\n }\n const key = decode(at, to);\n at += _offset;\n const value = decode(at, to);\n at += _offset;\n map[key] = value;\n }\n _offset = offset + (at - base);\n return map;\n}\nfunction decodeMapIndefinite(at, to) {\n at += 1;\n const base = at;\n const map = {};\n for (; at < to;) {\n if (at >= to) {\n throw new Error(\"unexpected end of map payload.\");\n }\n if (payload[at] === 0b1111_1111) {\n _offset = at - base + 2;\n return map;\n }\n const major = (payload[at] & 0b1110_0000) >> 5;\n if (major !== majorUtf8String) {\n throw new Error(`unexpected major type ${major} for map key.`);\n }\n const key = decode(at, to);\n at += _offset;\n const value = decode(at, to);\n at += _offset;\n map[key] = value;\n }\n throw new Error(\"expected break marker.\");\n}\nfunction decodeSpecial(at, to) {\n const minor = payload[at] & 0b0001_1111;\n switch (minor) {\n case specialTrue:\n case specialFalse:\n _offset = 1;\n return minor === specialTrue;\n case specialNull:\n _offset = 1;\n return null;\n case specialUndefined:\n _offset = 1;\n return null;\n case extendedFloat16:\n if (to - at < 3) {\n throw new Error(\"incomplete float16 at end of buf.\");\n }\n _offset = 3;\n return bytesToFloat16(payload[at + 1], payload[at + 2]);\n case extendedFloat32:\n if (to - at < 5) {\n throw new Error(\"incomplete float32 at end of buf.\");\n }\n _offset = 5;\n return dataView.getFloat32(at + 1);\n case extendedFloat64:\n if (to - at < 9) {\n throw new Error(\"incomplete float64 at end of buf.\");\n }\n _offset = 9;\n return dataView.getFloat64(at + 1);\n default:\n throw new Error(`unexpected minor value ${minor}.`);\n }\n}\nfunction castBigInt(bigInt) {\n if (typeof bigInt === \"number\") {\n return bigInt;\n }\n const num = Number(bigInt);\n if (Number.MIN_SAFE_INTEGER <= num && num <= Number.MAX_SAFE_INTEGER) {\n return num;\n }\n return bigInt;\n}\n","import { NumericValue } from \"@smithy/core/serde\";\nimport { fromUtf8 } from \"@smithy/util-utf8\";\nimport { alloc, extendedFloat16, extendedFloat32, extendedFloat64, majorList, majorMap, majorNegativeInt64, majorSpecial, majorTag, majorUint64, majorUnstructuredByteString, majorUtf8String, specialFalse, specialNull, specialTrue, tagSymbol, } from \"./cbor-types\";\nconst USE_BUFFER = typeof Buffer !== \"undefined\";\nconst initialSize = 2048;\nlet data = alloc(initialSize);\nlet dataView = new DataView(data.buffer, data.byteOffset, data.byteLength);\nlet cursor = 0;\nfunction ensureSpace(bytes) {\n const remaining = data.byteLength - cursor;\n if (remaining < bytes) {\n if (cursor < 16_000_000) {\n resize(Math.max(data.byteLength * 4, data.byteLength + bytes));\n }\n else {\n resize(data.byteLength + bytes + 16_000_000);\n }\n }\n}\nexport function toUint8Array() {\n const out = alloc(cursor);\n out.set(data.subarray(0, cursor), 0);\n cursor = 0;\n return out;\n}\nexport function resize(size) {\n const old = data;\n data = alloc(size);\n if (old) {\n if (old.copy) {\n old.copy(data, 0, 0, old.byteLength);\n }\n else {\n data.set(old, 0);\n }\n }\n dataView = new DataView(data.buffer, data.byteOffset, data.byteLength);\n}\nfunction encodeHeader(major, value) {\n if (value < 24) {\n data[cursor++] = (major << 5) | value;\n }\n else if (value < 1 << 8) {\n data[cursor++] = (major << 5) | 24;\n data[cursor++] = value;\n }\n else if (value < 1 << 16) {\n data[cursor++] = (major << 5) | extendedFloat16;\n dataView.setUint16(cursor, value);\n cursor += 2;\n }\n else if (value < 2 ** 32) {\n data[cursor++] = (major << 5) | extendedFloat32;\n dataView.setUint32(cursor, value);\n cursor += 4;\n }\n else {\n data[cursor++] = (major << 5) | extendedFloat64;\n dataView.setBigUint64(cursor, typeof value === \"bigint\" ? value : BigInt(value));\n cursor += 8;\n }\n}\nexport function encode(_input) {\n const encodeStack = [_input];\n while (encodeStack.length) {\n const input = encodeStack.pop();\n ensureSpace(typeof input === \"string\" ? input.length * 4 : 64);\n if (typeof input === \"string\") {\n if (USE_BUFFER) {\n encodeHeader(majorUtf8String, Buffer.byteLength(input));\n cursor += data.write(input, cursor);\n }\n else {\n const bytes = fromUtf8(input);\n encodeHeader(majorUtf8String, bytes.byteLength);\n data.set(bytes, cursor);\n cursor += bytes.byteLength;\n }\n continue;\n }\n else if (typeof input === \"number\") {\n if (Number.isInteger(input)) {\n const nonNegative = input >= 0;\n const major = nonNegative ? majorUint64 : majorNegativeInt64;\n const value = nonNegative ? input : -input - 1;\n if (value < 24) {\n data[cursor++] = (major << 5) | value;\n }\n else if (value < 256) {\n data[cursor++] = (major << 5) | 24;\n data[cursor++] = value;\n }\n else if (value < 65536) {\n data[cursor++] = (major << 5) | extendedFloat16;\n data[cursor++] = value >> 8;\n data[cursor++] = value;\n }\n else if (value < 4294967296) {\n data[cursor++] = (major << 5) | extendedFloat32;\n dataView.setUint32(cursor, value);\n cursor += 4;\n }\n else {\n data[cursor++] = (major << 5) | extendedFloat64;\n dataView.setBigUint64(cursor, BigInt(value));\n cursor += 8;\n }\n continue;\n }\n data[cursor++] = (majorSpecial << 5) | extendedFloat64;\n dataView.setFloat64(cursor, input);\n cursor += 8;\n continue;\n }\n else if (typeof input === \"bigint\") {\n const nonNegative = input >= 0;\n const major = nonNegative ? majorUint64 : majorNegativeInt64;\n const value = nonNegative ? input : -input - BigInt(1);\n const n = Number(value);\n if (n < 24) {\n data[cursor++] = (major << 5) | n;\n }\n else if (n < 256) {\n data[cursor++] = (major << 5) | 24;\n data[cursor++] = n;\n }\n else if (n < 65536) {\n data[cursor++] = (major << 5) | extendedFloat16;\n data[cursor++] = n >> 8;\n data[cursor++] = n & 0b1111_1111;\n }\n else if (n < 4294967296) {\n data[cursor++] = (major << 5) | extendedFloat32;\n dataView.setUint32(cursor, n);\n cursor += 4;\n }\n else if (value < BigInt(\"18446744073709551616\")) {\n data[cursor++] = (major << 5) | extendedFloat64;\n dataView.setBigUint64(cursor, value);\n cursor += 8;\n }\n else {\n const binaryBigInt = value.toString(2);\n const bigIntBytes = new Uint8Array(Math.ceil(binaryBigInt.length / 8));\n let b = value;\n let i = 0;\n while (bigIntBytes.byteLength - ++i >= 0) {\n bigIntBytes[bigIntBytes.byteLength - i] = Number(b & BigInt(255));\n b >>= BigInt(8);\n }\n ensureSpace(bigIntBytes.byteLength * 2);\n data[cursor++] = nonNegative ? 0b110_00010 : 0b110_00011;\n if (USE_BUFFER) {\n encodeHeader(majorUnstructuredByteString, Buffer.byteLength(bigIntBytes));\n }\n else {\n encodeHeader(majorUnstructuredByteString, bigIntBytes.byteLength);\n }\n data.set(bigIntBytes, cursor);\n cursor += bigIntBytes.byteLength;\n }\n continue;\n }\n else if (input === null) {\n data[cursor++] = (majorSpecial << 5) | specialNull;\n continue;\n }\n else if (typeof input === \"boolean\") {\n data[cursor++] = (majorSpecial << 5) | (input ? specialTrue : specialFalse);\n continue;\n }\n else if (typeof input === \"undefined\") {\n throw new Error(\"@smithy/core/cbor: client may not serialize undefined value.\");\n }\n else if (Array.isArray(input)) {\n for (let i = input.length - 1; i >= 0; --i) {\n encodeStack.push(input[i]);\n }\n encodeHeader(majorList, input.length);\n continue;\n }\n else if (typeof input.byteLength === \"number\") {\n ensureSpace(input.length * 2);\n encodeHeader(majorUnstructuredByteString, input.length);\n data.set(input, cursor);\n cursor += input.byteLength;\n continue;\n }\n else if (typeof input === \"object\") {\n if (input instanceof NumericValue) {\n const decimalIndex = input.string.indexOf(\".\");\n const exponent = decimalIndex === -1 ? 0 : decimalIndex - input.string.length + 1;\n const mantissa = BigInt(input.string.replace(\".\", \"\"));\n data[cursor++] = 0b110_00100;\n encodeStack.push(mantissa);\n encodeStack.push(exponent);\n encodeHeader(majorList, 2);\n continue;\n }\n if (input[tagSymbol]) {\n if (\"tag\" in input && \"value\" in input) {\n encodeStack.push(input.value);\n encodeHeader(majorTag, input.tag);\n continue;\n }\n else {\n throw new Error(\"tag encountered with missing fields, need 'tag' and 'value', found: \" + JSON.stringify(input));\n }\n }\n const keys = Object.keys(input);\n for (let i = keys.length - 1; i >= 0; --i) {\n const key = keys[i];\n encodeStack.push(input[key]);\n encodeStack.push(key);\n }\n encodeHeader(majorMap, keys.length);\n continue;\n }\n throw new Error(`data type ${input?.constructor?.name ?? typeof input} not compatible for encoding.`);\n }\n}\n","import { decode, setPayload } from \"./cbor-decode\";\nimport { encode, resize, toUint8Array } from \"./cbor-encode\";\nexport const cbor = {\n deserialize(payload) {\n setPayload(payload);\n return decode(0, payload.length);\n },\n serialize(input) {\n try {\n encode(input);\n return toUint8Array();\n }\n catch (e) {\n toUint8Array();\n throw e;\n }\n },\n resizeEncodingBuffer(size) {\n resize(size);\n },\n};\n","import { collectBody } from \"@smithy/core/protocols\";\nimport { HttpRequest as __HttpRequest } from \"@smithy/protocol-http\";\nimport { calculateBodyLength } from \"@smithy/util-body-length-browser\";\nimport { cbor } from \"./cbor\";\nimport { tag } from \"./cbor-types\";\nexport const parseCborBody = (streamBody, context) => {\n return collectBody(streamBody, context).then(async (bytes) => {\n if (bytes.length) {\n try {\n return cbor.deserialize(bytes);\n }\n catch (e) {\n Object.defineProperty(e, \"$responseBodyText\", {\n value: context.utf8Encoder(bytes),\n });\n throw e;\n }\n }\n return {};\n });\n};\nexport const dateToTag = (date) => {\n return tag({\n tag: 1,\n value: date.getTime() / 1000,\n });\n};\nexport const parseCborErrorBody = async (errorBody, context) => {\n const value = await parseCborBody(errorBody, context);\n value.message = value.message ?? value.Message;\n return value;\n};\nexport const loadSmithyRpcV2CborErrorCode = (output, data) => {\n const sanitizeErrorCode = (rawValue) => {\n let cleanValue = rawValue;\n if (typeof cleanValue === \"number\") {\n cleanValue = cleanValue.toString();\n }\n if (cleanValue.indexOf(\",\") >= 0) {\n cleanValue = cleanValue.split(\",\")[0];\n }\n if (cleanValue.indexOf(\":\") >= 0) {\n cleanValue = cleanValue.split(\":\")[0];\n }\n if (cleanValue.indexOf(\"#\") >= 0) {\n cleanValue = cleanValue.split(\"#\")[1];\n }\n return cleanValue;\n };\n if (data[\"__type\"] !== undefined) {\n return sanitizeErrorCode(data[\"__type\"]);\n }\n const codeKey = Object.keys(data).find((key) => key.toLowerCase() === \"code\");\n if (codeKey && data[codeKey] !== undefined) {\n return sanitizeErrorCode(data[codeKey]);\n }\n};\nexport const checkCborResponse = (response) => {\n if (String(response.headers[\"smithy-protocol\"]).toLowerCase() !== \"rpc-v2-cbor\") {\n throw new Error(\"Malformed RPCv2 CBOR response, status: \" + response.statusCode);\n }\n};\nexport const buildHttpRpcRequest = async (context, headers, path, resolvedHostname, body) => {\n const endpoint = await context.endpoint();\n const { hostname, protocol = \"https\", port, path: basePath } = endpoint;\n const contents = {\n protocol,\n hostname,\n port,\n method: \"POST\",\n path: basePath.endsWith(\"/\") ? basePath.slice(0, -1) + path : basePath + path,\n headers: {\n ...headers,\n },\n };\n if (resolvedHostname !== undefined) {\n contents.hostname = resolvedHostname;\n }\n if (endpoint.headers) {\n for (const [name, value] of Object.entries(endpoint.headers)) {\n contents.headers[name] = value;\n }\n }\n if (body !== undefined) {\n contents.body = body;\n try {\n contents.headers[\"content-length\"] = String(calculateBodyLength(body));\n }\n catch (e) { }\n }\n return new __HttpRequest(contents);\n};\n","import { SerdeContext } from \"@smithy/core/protocols\";\nimport { NormalizedSchema } from \"@smithy/core/schema\";\nimport { _parseEpochTimestamp, generateIdempotencyToken } from \"@smithy/core/serde\";\nimport { NumericValue } from \"@smithy/core/serde\";\nimport { fromBase64 } from \"@smithy/util-base64\";\nimport { cbor } from \"./cbor\";\nimport { dateToTag } from \"./parseCborBody\";\nexport class CborCodec extends SerdeContext {\n createSerializer() {\n const serializer = new CborShapeSerializer();\n serializer.setSerdeContext(this.serdeContext);\n return serializer;\n }\n createDeserializer() {\n const deserializer = new CborShapeDeserializer();\n deserializer.setSerdeContext(this.serdeContext);\n return deserializer;\n }\n}\nexport class CborShapeSerializer extends SerdeContext {\n value;\n write(schema, value) {\n this.value = this.serialize(schema, value);\n }\n serialize(schema, source) {\n const ns = NormalizedSchema.of(schema);\n if (source == null) {\n if (ns.isIdempotencyToken()) {\n return generateIdempotencyToken();\n }\n return source;\n }\n if (ns.isBlobSchema()) {\n if (typeof source === \"string\") {\n return (this.serdeContext?.base64Decoder ?? fromBase64)(source);\n }\n return source;\n }\n if (ns.isTimestampSchema()) {\n if (typeof source === \"number\" || typeof source === \"bigint\") {\n return dateToTag(new Date((Number(source) / 1000) | 0));\n }\n return dateToTag(source);\n }\n if (typeof source === \"function\" || typeof source === \"object\") {\n const sourceObject = source;\n if (ns.isListSchema() && Array.isArray(sourceObject)) {\n const sparse = !!ns.getMergedTraits().sparse;\n const newArray = [];\n let i = 0;\n for (const item of sourceObject) {\n const value = this.serialize(ns.getValueSchema(), item);\n if (value != null || sparse) {\n newArray[i++] = value;\n }\n }\n return newArray;\n }\n if (sourceObject instanceof Date) {\n return dateToTag(sourceObject);\n }\n const newObject = {};\n if (ns.isMapSchema()) {\n const sparse = !!ns.getMergedTraits().sparse;\n for (const key of Object.keys(sourceObject)) {\n const value = this.serialize(ns.getValueSchema(), sourceObject[key]);\n if (value != null || sparse) {\n newObject[key] = value;\n }\n }\n }\n else if (ns.isStructSchema()) {\n for (const [key, memberSchema] of ns.structIterator()) {\n const value = this.serialize(memberSchema, sourceObject[key]);\n if (value != null) {\n newObject[key] = value;\n }\n }\n const isUnion = ns.isUnionSchema();\n if (isUnion && Array.isArray(sourceObject.$unknown)) {\n const [k, v] = sourceObject.$unknown;\n newObject[k] = v;\n }\n else if (typeof sourceObject.__type === \"string\") {\n for (const [k, v] of Object.entries(sourceObject)) {\n if (!(k in newObject)) {\n newObject[k] = this.serialize(15, v);\n }\n }\n }\n }\n else if (ns.isDocumentSchema()) {\n for (const key of Object.keys(sourceObject)) {\n newObject[key] = this.serialize(ns.getValueSchema(), sourceObject[key]);\n }\n }\n else if (ns.isBigDecimalSchema()) {\n return sourceObject;\n }\n return newObject;\n }\n return source;\n }\n flush() {\n const buffer = cbor.serialize(this.value);\n this.value = undefined;\n return buffer;\n }\n}\nexport class CborShapeDeserializer extends SerdeContext {\n read(schema, bytes) {\n const data = cbor.deserialize(bytes);\n return this.readValue(schema, data);\n }\n readValue(_schema, value) {\n const ns = NormalizedSchema.of(_schema);\n if (ns.isTimestampSchema()) {\n if (typeof value === \"number\") {\n return _parseEpochTimestamp(value);\n }\n if (typeof value === \"object\") {\n if (value.tag === 1 && \"value\" in value) {\n return _parseEpochTimestamp(value.value);\n }\n }\n }\n if (ns.isBlobSchema()) {\n if (typeof value === \"string\") {\n return (this.serdeContext?.base64Decoder ?? fromBase64)(value);\n }\n return value;\n }\n if (typeof value === \"undefined\" ||\n typeof value === \"boolean\" ||\n typeof value === \"number\" ||\n typeof value === \"string\" ||\n typeof value === \"bigint\" ||\n typeof value === \"symbol\") {\n return value;\n }\n else if (typeof value === \"object\") {\n if (value === null) {\n return null;\n }\n if (\"byteLength\" in value) {\n return value;\n }\n if (value instanceof Date) {\n return value;\n }\n if (ns.isDocumentSchema()) {\n return value;\n }\n if (ns.isListSchema()) {\n const newArray = [];\n const memberSchema = ns.getValueSchema();\n for (const item of value) {\n const itemValue = this.readValue(memberSchema, item);\n newArray.push(itemValue);\n }\n return newArray;\n }\n const newObject = {};\n if (ns.isMapSchema()) {\n const targetSchema = ns.getValueSchema();\n for (const key of Object.keys(value)) {\n const itemValue = this.readValue(targetSchema, value[key]);\n newObject[key] = itemValue;\n }\n }\n else if (ns.isStructSchema()) {\n const isUnion = ns.isUnionSchema();\n let keys;\n if (isUnion) {\n keys = new Set(Object.keys(value).filter((k) => k !== \"__type\"));\n }\n for (const [key, memberSchema] of ns.structIterator()) {\n if (isUnion) {\n keys.delete(key);\n }\n if (value[key] != null) {\n newObject[key] = this.readValue(memberSchema, value[key]);\n }\n }\n if (isUnion && keys?.size === 1 && Object.keys(newObject).length === 0) {\n const k = keys.values().next().value;\n newObject.$unknown = [k, value[k]];\n }\n else if (typeof value.__type === \"string\") {\n for (const [k, v] of Object.entries(value)) {\n if (!(k in newObject)) {\n newObject[k] = v;\n }\n }\n }\n }\n else if (value instanceof NumericValue) {\n return value;\n }\n return newObject;\n }\n else {\n return value;\n }\n }\n}\n","import { RpcProtocol } from \"@smithy/core/protocols\";\nimport { TypeRegistry } from \"@smithy/core/schema\";\nimport { deref, NormalizedSchema } from \"@smithy/core/schema\";\nimport { getSmithyContext } from \"@smithy/util-middleware\";\nimport { CborCodec } from \"./CborCodec\";\nimport { loadSmithyRpcV2CborErrorCode } from \"./parseCborBody\";\nexport class SmithyRpcV2CborProtocol extends RpcProtocol {\n codec = new CborCodec();\n serializer = this.codec.createSerializer();\n deserializer = this.codec.createDeserializer();\n constructor({ defaultNamespace, errorTypeRegistries, }) {\n super({ defaultNamespace, errorTypeRegistries });\n }\n getShapeId() {\n return \"smithy.protocols#rpcv2Cbor\";\n }\n getPayloadCodec() {\n return this.codec;\n }\n async serializeRequest(operationSchema, input, context) {\n const request = await super.serializeRequest(operationSchema, input, context);\n Object.assign(request.headers, {\n \"content-type\": this.getDefaultContentType(),\n \"smithy-protocol\": \"rpc-v2-cbor\",\n accept: this.getDefaultContentType(),\n });\n if (deref(operationSchema.input) === \"unit\") {\n delete request.body;\n delete request.headers[\"content-type\"];\n }\n else {\n if (!request.body) {\n this.serializer.write(15, {});\n request.body = this.serializer.flush();\n }\n try {\n request.headers[\"content-length\"] = String(request.body.byteLength);\n }\n catch (e) { }\n }\n const { service, operation } = getSmithyContext(context);\n const path = `/service/${service}/operation/${operation}`;\n if (request.path.endsWith(\"/\")) {\n request.path += path.slice(1);\n }\n else {\n request.path += path;\n }\n return request;\n }\n async deserializeResponse(operationSchema, context, response) {\n return super.deserializeResponse(operationSchema, context, response);\n }\n async handleError(operationSchema, context, response, dataObject, metadata) {\n const errorName = loadSmithyRpcV2CborErrorCode(response, dataObject) ?? \"Unknown\";\n const errorMetadata = {\n $metadata: metadata,\n $fault: response.statusCode <= 500 ? \"client\" : \"server\",\n };\n let namespace = this.options.defaultNamespace;\n if (errorName.includes(\"#\")) {\n [namespace] = errorName.split(\"#\");\n }\n const registry = this.compositeErrorRegistry;\n const nsRegistry = TypeRegistry.for(namespace);\n registry.copyFrom(nsRegistry);\n let errorSchema;\n try {\n errorSchema = registry.getSchema(errorName);\n }\n catch (e) {\n if (dataObject.Message) {\n dataObject.message = dataObject.Message;\n }\n const syntheticRegistry = TypeRegistry.for(\"smithy.ts.sdk.synthetic.\" + namespace);\n registry.copyFrom(syntheticRegistry);\n const baseExceptionSchema = registry.getBaseException();\n if (baseExceptionSchema) {\n const ErrorCtor = registry.getErrorCtor(baseExceptionSchema);\n throw Object.assign(new ErrorCtor({ name: errorName }), errorMetadata, dataObject);\n }\n throw Object.assign(new Error(errorName), errorMetadata, dataObject);\n }\n const ns = NormalizedSchema.of(errorSchema);\n const ErrorCtor = registry.getErrorCtor(errorSchema);\n const message = dataObject.message ?? dataObject.Message ?? \"Unknown\";\n const exception = new ErrorCtor(message);\n const output = {};\n for (const [name, member] of ns.structIterator()) {\n output[name] = this.deserializer.readValue(member, dataObject[name]);\n }\n throw Object.assign(exception, errorMetadata, {\n $fault: ns.getMergedTraits().error,\n message,\n }, output);\n }\n getDefaultContentType() {\n return \"application/cbor\";\n }\n}\n","export { cbor } from \"./cbor\";\nexport { tag, tagSymbol } from \"./cbor-types\";\nexport * from \"./parseCborBody\";\nexport * from \"./SmithyRpcV2CborProtocol\";\nexport * from \"./CborCodec\";\n","import { NormalizedSchema, TypeRegistry } from \"@smithy/core/schema\";\nimport { decorateServiceException } from \"@smithy/smithy-client\";\nexport class ProtocolLib {\n queryCompat;\n constructor(queryCompat = false) {\n this.queryCompat = queryCompat;\n }\n resolveRestContentType(defaultContentType, inputSchema) {\n const members = inputSchema.getMemberSchemas();\n const httpPayloadMember = Object.values(members).find((m) => {\n return !!m.getMergedTraits().httpPayload;\n });\n if (httpPayloadMember) {\n const mediaType = httpPayloadMember.getMergedTraits().mediaType;\n if (mediaType) {\n return mediaType;\n }\n else if (httpPayloadMember.isStringSchema()) {\n return \"text/plain\";\n }\n else if (httpPayloadMember.isBlobSchema()) {\n return \"application/octet-stream\";\n }\n else {\n return defaultContentType;\n }\n }\n else if (!inputSchema.isUnitSchema()) {\n const hasBody = Object.values(members).find((m) => {\n const { httpQuery, httpQueryParams, httpHeader, httpLabel, httpPrefixHeaders } = m.getMergedTraits();\n const noPrefixHeaders = httpPrefixHeaders === void 0;\n return !httpQuery && !httpQueryParams && !httpHeader && !httpLabel && noPrefixHeaders;\n });\n if (hasBody) {\n return defaultContentType;\n }\n }\n }\n async getErrorSchemaOrThrowBaseException(errorIdentifier, defaultNamespace, response, dataObject, metadata, getErrorSchema) {\n let namespace = defaultNamespace;\n let errorName = errorIdentifier;\n if (errorIdentifier.includes(\"#\")) {\n [namespace, errorName] = errorIdentifier.split(\"#\");\n }\n const errorMetadata = {\n $metadata: metadata,\n $fault: response.statusCode < 500 ? \"client\" : \"server\",\n };\n const registry = TypeRegistry.for(namespace);\n try {\n const errorSchema = getErrorSchema?.(registry, errorName) ?? registry.getSchema(errorIdentifier);\n return { errorSchema, errorMetadata };\n }\n catch (e) {\n dataObject.message = dataObject.message ?? dataObject.Message ?? \"UnknownError\";\n const synthetic = TypeRegistry.for(\"smithy.ts.sdk.synthetic.\" + namespace);\n const baseExceptionSchema = synthetic.getBaseException();\n if (baseExceptionSchema) {\n const ErrorCtor = synthetic.getErrorCtor(baseExceptionSchema) ?? Error;\n throw this.decorateServiceException(Object.assign(new ErrorCtor({ name: errorName }), errorMetadata), dataObject);\n }\n throw this.decorateServiceException(Object.assign(new Error(errorName), errorMetadata), dataObject);\n }\n }\n decorateServiceException(exception, additions = {}) {\n if (this.queryCompat) {\n const msg = exception.Message ?? additions.Message;\n const error = decorateServiceException(exception, additions);\n if (msg) {\n error.message = msg;\n }\n error.Error = {\n ...error.Error,\n Type: error.Error?.Type,\n Code: error.Error?.Code,\n Message: error.Error?.message ?? error.Error?.Message ?? msg,\n };\n const reqId = error.$metadata.requestId;\n if (reqId) {\n error.RequestId = reqId;\n }\n return error;\n }\n return decorateServiceException(exception, additions);\n }\n setQueryCompatError(output, response) {\n const queryErrorHeader = response.headers?.[\"x-amzn-query-error\"];\n if (output !== undefined && queryErrorHeader != null) {\n const [Code, Type] = queryErrorHeader.split(\";\");\n const entries = Object.entries(output);\n const Error = {\n Code,\n Type,\n };\n Object.assign(output, Error);\n for (const [k, v] of entries) {\n Error[k === \"message\" ? \"Message\" : k] = v;\n }\n delete Error.__type;\n output.Error = Error;\n }\n }\n queryCompatOutput(queryCompatErrorData, errorData) {\n if (queryCompatErrorData.Error) {\n errorData.Error = queryCompatErrorData.Error;\n }\n if (queryCompatErrorData.Type) {\n errorData.Type = queryCompatErrorData.Type;\n }\n if (queryCompatErrorData.Code) {\n errorData.Code = queryCompatErrorData.Code;\n }\n }\n findQueryCompatibleError(registry, errorName) {\n try {\n return registry.getSchema(errorName);\n }\n catch (e) {\n return registry.find((schema) => NormalizedSchema.of(schema).getMergedTraits().awsQueryError?.[0] === errorName);\n }\n }\n}\n","import { loadSmithyRpcV2CborErrorCode, SmithyRpcV2CborProtocol } from \"@smithy/core/cbor\";\nimport { NormalizedSchema, TypeRegistry } from \"@smithy/core/schema\";\nimport { ProtocolLib } from \"../ProtocolLib\";\nexport class AwsSmithyRpcV2CborProtocol extends SmithyRpcV2CborProtocol {\n awsQueryCompatible;\n mixin;\n constructor({ defaultNamespace, awsQueryCompatible, }) {\n super({ defaultNamespace });\n this.awsQueryCompatible = !!awsQueryCompatible;\n this.mixin = new ProtocolLib(this.awsQueryCompatible);\n }\n async serializeRequest(operationSchema, input, context) {\n const request = await super.serializeRequest(operationSchema, input, context);\n if (this.awsQueryCompatible) {\n request.headers[\"x-amzn-query-mode\"] = \"true\";\n }\n return request;\n }\n async handleError(operationSchema, context, response, dataObject, metadata) {\n if (this.awsQueryCompatible) {\n this.mixin.setQueryCompatError(dataObject, response);\n }\n const errorName = (() => {\n const compatHeader = response.headers[\"x-amzn-query-error\"];\n if (compatHeader && this.awsQueryCompatible) {\n return compatHeader.split(\";\")[0];\n }\n return loadSmithyRpcV2CborErrorCode(response, dataObject) ?? \"Unknown\";\n })();\n const { errorSchema, errorMetadata } = await this.mixin.getErrorSchemaOrThrowBaseException(errorName, this.options.defaultNamespace, response, dataObject, metadata, this.awsQueryCompatible ? this.mixin.findQueryCompatibleError : undefined);\n const ns = NormalizedSchema.of(errorSchema);\n const message = dataObject.message ?? dataObject.Message ?? \"Unknown\";\n const ErrorCtor = TypeRegistry.for(errorSchema[1]).getErrorCtor(errorSchema) ?? Error;\n const exception = new ErrorCtor(message);\n const output = {};\n for (const [name, member] of ns.structIterator()) {\n if (dataObject[name] != null) {\n output[name] = this.deserializer.readValue(member, dataObject[name]);\n }\n }\n if (this.awsQueryCompatible) {\n this.mixin.queryCompatOutput(dataObject, output);\n }\n throw this.mixin.decorateServiceException(Object.assign(exception, errorMetadata, {\n $fault: ns.getMergedTraits().error,\n message,\n }, output), dataObject);\n }\n}\n","export const _toStr = (val) => {\n if (val == null) {\n return val;\n }\n if (typeof val === \"number\" || typeof val === \"bigint\") {\n const warning = new Error(`Received number ${val} where a string was expected.`);\n warning.name = \"Warning\";\n console.warn(warning);\n return String(val);\n }\n if (typeof val === \"boolean\") {\n const warning = new Error(`Received boolean ${val} where a string was expected.`);\n warning.name = \"Warning\";\n console.warn(warning);\n return String(val);\n }\n return val;\n};\nexport const _toBool = (val) => {\n if (val == null) {\n return val;\n }\n if (typeof val === \"number\") {\n }\n if (typeof val === \"string\") {\n const lowercase = val.toLowerCase();\n if (val !== \"\" && lowercase !== \"false\" && lowercase !== \"true\") {\n const warning = new Error(`Received string \"${val}\" where a boolean was expected.`);\n warning.name = \"Warning\";\n console.warn(warning);\n }\n return val !== \"\" && lowercase !== \"false\";\n }\n return val;\n};\nexport const _toNum = (val) => {\n if (val == null) {\n return val;\n }\n if (typeof val === \"boolean\") {\n }\n if (typeof val === \"string\") {\n const num = Number(val);\n if (num.toString() !== val) {\n const warning = new Error(`Received string \"${val}\" where a number was expected.`);\n warning.name = \"Warning\";\n console.warn(warning);\n return val;\n }\n return num;\n }\n return val;\n};\n","export class SerdeContextConfig {\n serdeContext;\n setSerdeContext(serdeContext) {\n this.serdeContext = serdeContext;\n }\n}\n","export class UnionSerde {\n from;\n to;\n keys;\n constructor(from, to) {\n this.from = from;\n this.to = to;\n this.keys = new Set(Object.keys(this.from).filter((k) => k !== \"__type\"));\n }\n mark(key) {\n this.keys.delete(key);\n }\n hasUnknown() {\n return this.keys.size === 1 && Object.keys(this.to).length === 0;\n }\n writeUnknown() {\n if (this.hasUnknown()) {\n const k = this.keys.values().next().value;\n const v = this.from[k];\n this.to.$unknown = [k, v];\n }\n }\n}\n","import { NumericValue } from \"@smithy/core/serde\";\nexport function jsonReviver(key, value, context) {\n if (context?.source) {\n const numericString = context.source;\n if (typeof value === \"number\") {\n if (value > Number.MAX_SAFE_INTEGER || value < Number.MIN_SAFE_INTEGER || numericString !== String(value)) {\n const isFractional = numericString.includes(\".\");\n if (isFractional) {\n return new NumericValue(numericString, \"bigDecimal\");\n }\n else {\n return BigInt(numericString);\n }\n }\n }\n }\n return value;\n}\n","import { collectBody } from \"@smithy/smithy-client\";\nimport { toUtf8 } from \"@smithy/util-utf8\";\nexport const collectBodyString = (streamBody, context) => collectBody(streamBody, context).then((body) => (context?.utf8Encoder ?? toUtf8)(body));\n","import { collectBodyString } from \"../common\";\nexport const parseJsonBody = (streamBody, context) => collectBodyString(streamBody, context).then((encoded) => {\n if (encoded.length) {\n try {\n return JSON.parse(encoded);\n }\n catch (e) {\n if (e?.name === \"SyntaxError\") {\n Object.defineProperty(e, \"$responseBodyText\", {\n value: encoded,\n });\n }\n throw e;\n }\n }\n return {};\n});\nexport const parseJsonErrorBody = async (errorBody, context) => {\n const value = await parseJsonBody(errorBody, context);\n value.message = value.message ?? value.Message;\n return value;\n};\nexport const loadRestJsonErrorCode = (output, data) => {\n const findKey = (object, key) => Object.keys(object).find((k) => k.toLowerCase() === key.toLowerCase());\n const sanitizeErrorCode = (rawValue) => {\n let cleanValue = rawValue;\n if (typeof cleanValue === \"number\") {\n cleanValue = cleanValue.toString();\n }\n if (cleanValue.indexOf(\",\") >= 0) {\n cleanValue = cleanValue.split(\",\")[0];\n }\n if (cleanValue.indexOf(\":\") >= 0) {\n cleanValue = cleanValue.split(\":\")[0];\n }\n if (cleanValue.indexOf(\"#\") >= 0) {\n cleanValue = cleanValue.split(\"#\")[1];\n }\n return cleanValue;\n };\n const headerKey = findKey(output.headers, \"x-amzn-errortype\");\n if (headerKey !== undefined) {\n return sanitizeErrorCode(output.headers[headerKey]);\n }\n if (data && typeof data === \"object\") {\n const codeKey = findKey(data, \"code\");\n if (codeKey && data[codeKey] !== undefined) {\n return sanitizeErrorCode(data[codeKey]);\n }\n if (data[\"__type\"] !== undefined) {\n return sanitizeErrorCode(data[\"__type\"]);\n }\n }\n};\n","import { determineTimestampFormat } from \"@smithy/core/protocols\";\nimport { NormalizedSchema } from \"@smithy/core/schema\";\nimport { LazyJsonString, NumericValue, parseEpochTimestamp, parseRfc3339DateTimeWithOffset, parseRfc7231DateTime, } from \"@smithy/core/serde\";\nimport { fromBase64 } from \"@smithy/util-base64\";\nimport { SerdeContextConfig } from \"../ConfigurableSerdeContext\";\nimport { UnionSerde } from \"../UnionSerde\";\nimport { jsonReviver } from \"./jsonReviver\";\nimport { parseJsonBody } from \"./parseJsonBody\";\nexport class JsonShapeDeserializer extends SerdeContextConfig {\n settings;\n constructor(settings) {\n super();\n this.settings = settings;\n }\n async read(schema, data) {\n return this._read(schema, typeof data === \"string\" ? JSON.parse(data, jsonReviver) : await parseJsonBody(data, this.serdeContext));\n }\n readObject(schema, data) {\n return this._read(schema, data);\n }\n _read(schema, value) {\n const isObject = value !== null && typeof value === \"object\";\n const ns = NormalizedSchema.of(schema);\n if (isObject) {\n if (ns.isStructSchema()) {\n const record = value;\n const union = ns.isUnionSchema();\n const out = {};\n let nameMap = void 0;\n const { jsonName } = this.settings;\n if (jsonName) {\n nameMap = {};\n }\n let unionSerde;\n if (union) {\n unionSerde = new UnionSerde(record, out);\n }\n for (const [memberName, memberSchema] of ns.structIterator()) {\n let fromKey = memberName;\n if (jsonName) {\n fromKey = memberSchema.getMergedTraits().jsonName ?? fromKey;\n nameMap[fromKey] = memberName;\n }\n if (union) {\n unionSerde.mark(fromKey);\n }\n if (record[fromKey] != null) {\n out[memberName] = this._read(memberSchema, record[fromKey]);\n }\n }\n if (union) {\n unionSerde.writeUnknown();\n }\n else if (typeof record.__type === \"string\") {\n for (const [k, v] of Object.entries(record)) {\n const t = jsonName ? nameMap[k] ?? k : k;\n if (!(t in out)) {\n out[t] = v;\n }\n }\n }\n return out;\n }\n if (Array.isArray(value) && ns.isListSchema()) {\n const listMember = ns.getValueSchema();\n const out = [];\n for (const item of value) {\n out.push(this._read(listMember, item));\n }\n return out;\n }\n if (ns.isMapSchema()) {\n const mapMember = ns.getValueSchema();\n const out = {};\n for (const [_k, _v] of Object.entries(value)) {\n out[_k] = this._read(mapMember, _v);\n }\n return out;\n }\n }\n if (ns.isBlobSchema() && typeof value === \"string\") {\n return fromBase64(value);\n }\n const mediaType = ns.getMergedTraits().mediaType;\n if (ns.isStringSchema() && typeof value === \"string\" && mediaType) {\n const isJson = mediaType === \"application/json\" || mediaType.endsWith(\"+json\");\n if (isJson) {\n return LazyJsonString.from(value);\n }\n return value;\n }\n if (ns.isTimestampSchema() && value != null) {\n const format = determineTimestampFormat(ns, this.settings);\n switch (format) {\n case 5:\n return parseRfc3339DateTimeWithOffset(value);\n case 6:\n return parseRfc7231DateTime(value);\n case 7:\n return parseEpochTimestamp(value);\n default:\n console.warn(\"Missing timestamp format, parsing value with Date constructor:\", value);\n return new Date(value);\n }\n }\n if (ns.isBigIntegerSchema() && (typeof value === \"number\" || typeof value === \"string\")) {\n return BigInt(value);\n }\n if (ns.isBigDecimalSchema() && value != undefined) {\n if (value instanceof NumericValue) {\n return value;\n }\n const untyped = value;\n if (untyped.type === \"bigDecimal\" && \"string\" in untyped) {\n return new NumericValue(untyped.string, untyped.type);\n }\n return new NumericValue(String(value), \"bigDecimal\");\n }\n if (ns.isNumericSchema() && typeof value === \"string\") {\n switch (value) {\n case \"Infinity\":\n return Infinity;\n case \"-Infinity\":\n return -Infinity;\n case \"NaN\":\n return NaN;\n }\n return value;\n }\n if (ns.isDocumentSchema()) {\n if (isObject) {\n const out = Array.isArray(value) ? [] : {};\n for (const [k, v] of Object.entries(value)) {\n if (v instanceof NumericValue) {\n out[k] = v;\n }\n else {\n out[k] = this._read(ns, v);\n }\n }\n return out;\n }\n else {\n return structuredClone(value);\n }\n }\n return value;\n }\n}\n","import { NumericValue } from \"@smithy/core/serde\";\nconst NUMERIC_CONTROL_CHAR = String.fromCharCode(925);\nexport class JsonReplacer {\n values = new Map();\n counter = 0;\n stage = 0;\n createReplacer() {\n if (this.stage === 1) {\n throw new Error(\"@aws-sdk/core/protocols - JsonReplacer already created.\");\n }\n if (this.stage === 2) {\n throw new Error(\"@aws-sdk/core/protocols - JsonReplacer exhausted.\");\n }\n this.stage = 1;\n return (key, value) => {\n if (value instanceof NumericValue) {\n const v = `${NUMERIC_CONTROL_CHAR + \"nv\" + this.counter++}_` + value.string;\n this.values.set(`\"${v}\"`, value.string);\n return v;\n }\n if (typeof value === \"bigint\") {\n const s = value.toString();\n const v = `${NUMERIC_CONTROL_CHAR + \"b\" + this.counter++}_` + s;\n this.values.set(`\"${v}\"`, s);\n return v;\n }\n return value;\n };\n }\n replaceInJson(json) {\n if (this.stage === 0) {\n throw new Error(\"@aws-sdk/core/protocols - JsonReplacer not created yet.\");\n }\n if (this.stage === 2) {\n throw new Error(\"@aws-sdk/core/protocols - JsonReplacer exhausted.\");\n }\n this.stage = 2;\n if (this.counter === 0) {\n return json;\n }\n for (const [key, value] of this.values) {\n json = json.replace(key, value);\n }\n return json;\n }\n}\n","import { determineTimestampFormat } from \"@smithy/core/protocols\";\nimport { NormalizedSchema } from \"@smithy/core/schema\";\nimport { dateToUtcString, generateIdempotencyToken, LazyJsonString, NumericValue } from \"@smithy/core/serde\";\nimport { toBase64 } from \"@smithy/util-base64\";\nimport { SerdeContextConfig } from \"../ConfigurableSerdeContext\";\nimport { JsonReplacer } from \"./jsonReplacer\";\nexport class JsonShapeSerializer extends SerdeContextConfig {\n settings;\n buffer;\n useReplacer = false;\n rootSchema;\n constructor(settings) {\n super();\n this.settings = settings;\n }\n write(schema, value) {\n this.rootSchema = NormalizedSchema.of(schema);\n this.buffer = this._write(this.rootSchema, value);\n }\n writeDiscriminatedDocument(schema, value) {\n this.write(schema, value);\n if (typeof this.buffer === \"object\") {\n this.buffer.__type = NormalizedSchema.of(schema).getName(true);\n }\n }\n flush() {\n const { rootSchema, useReplacer } = this;\n this.rootSchema = undefined;\n this.useReplacer = false;\n if (rootSchema?.isStructSchema() || rootSchema?.isDocumentSchema()) {\n if (!useReplacer) {\n return JSON.stringify(this.buffer);\n }\n const replacer = new JsonReplacer();\n return replacer.replaceInJson(JSON.stringify(this.buffer, replacer.createReplacer(), 0));\n }\n return this.buffer;\n }\n _write(schema, value, container) {\n const isObject = value !== null && typeof value === \"object\";\n const ns = NormalizedSchema.of(schema);\n if (isObject) {\n if (ns.isStructSchema()) {\n const record = value;\n const out = {};\n const { jsonName } = this.settings;\n let nameMap = void 0;\n if (jsonName) {\n nameMap = {};\n }\n for (const [memberName, memberSchema] of ns.structIterator()) {\n const serializableValue = this._write(memberSchema, record[memberName], ns);\n if (serializableValue !== undefined) {\n let targetKey = memberName;\n if (jsonName) {\n targetKey = memberSchema.getMergedTraits().jsonName ?? memberName;\n nameMap[memberName] = targetKey;\n }\n out[targetKey] = serializableValue;\n }\n }\n if (ns.isUnionSchema() && Object.keys(out).length === 0) {\n const { $unknown } = record;\n if (Array.isArray($unknown)) {\n const [k, v] = $unknown;\n out[k] = this._write(15, v);\n }\n }\n else if (typeof record.__type === \"string\") {\n for (const [k, v] of Object.entries(record)) {\n const targetKey = jsonName ? nameMap[k] ?? k : k;\n if (!(targetKey in out)) {\n out[targetKey] = this._write(15, v);\n }\n }\n }\n return out;\n }\n if (Array.isArray(value) && ns.isListSchema()) {\n const listMember = ns.getValueSchema();\n const out = [];\n const sparse = !!ns.getMergedTraits().sparse;\n for (const item of value) {\n if (sparse || item != null) {\n out.push(this._write(listMember, item));\n }\n }\n return out;\n }\n if (ns.isMapSchema()) {\n const mapMember = ns.getValueSchema();\n const out = {};\n const sparse = !!ns.getMergedTraits().sparse;\n for (const [_k, _v] of Object.entries(value)) {\n if (sparse || _v != null) {\n out[_k] = this._write(mapMember, _v);\n }\n }\n return out;\n }\n if (value instanceof Uint8Array && (ns.isBlobSchema() || ns.isDocumentSchema())) {\n if (ns === this.rootSchema) {\n return value;\n }\n return (this.serdeContext?.base64Encoder ?? toBase64)(value);\n }\n if (value instanceof Date && (ns.isTimestampSchema() || ns.isDocumentSchema())) {\n const format = determineTimestampFormat(ns, this.settings);\n switch (format) {\n case 5:\n return value.toISOString().replace(\".000Z\", \"Z\");\n case 6:\n return dateToUtcString(value);\n case 7:\n return value.getTime() / 1000;\n default:\n console.warn(\"Missing timestamp format, using epoch seconds\", value);\n return value.getTime() / 1000;\n }\n }\n if (value instanceof NumericValue) {\n this.useReplacer = true;\n }\n }\n if (value === null && container?.isStructSchema()) {\n return void 0;\n }\n if (ns.isStringSchema()) {\n if (typeof value === \"undefined\" && ns.isIdempotencyToken()) {\n return generateIdempotencyToken();\n }\n const mediaType = ns.getMergedTraits().mediaType;\n if (value != null && mediaType) {\n const isJson = mediaType === \"application/json\" || mediaType.endsWith(\"+json\");\n if (isJson) {\n return LazyJsonString.from(value);\n }\n }\n return value;\n }\n if (typeof value === \"number\" && ns.isNumericSchema()) {\n if (Math.abs(value) === Infinity || isNaN(value)) {\n return String(value);\n }\n return value;\n }\n if (typeof value === \"string\" && ns.isBlobSchema()) {\n if (ns === this.rootSchema) {\n return value;\n }\n return (this.serdeContext?.base64Encoder ?? toBase64)(value);\n }\n if (typeof value === \"bigint\") {\n this.useReplacer = true;\n }\n if (ns.isDocumentSchema()) {\n if (isObject) {\n const out = Array.isArray(value) ? [] : {};\n for (const [k, v] of Object.entries(value)) {\n if (v instanceof NumericValue) {\n this.useReplacer = true;\n out[k] = v;\n }\n else {\n out[k] = this._write(ns, v);\n }\n }\n return out;\n }\n else {\n return structuredClone(value);\n }\n }\n return value;\n }\n}\n","import { SerdeContextConfig } from \"../ConfigurableSerdeContext\";\nimport { JsonShapeDeserializer } from \"./JsonShapeDeserializer\";\nimport { JsonShapeSerializer } from \"./JsonShapeSerializer\";\nexport class JsonCodec extends SerdeContextConfig {\n settings;\n constructor(settings) {\n super();\n this.settings = settings;\n }\n createSerializer() {\n const serializer = new JsonShapeSerializer(this.settings);\n serializer.setSerdeContext(this.serdeContext);\n return serializer;\n }\n createDeserializer() {\n const deserializer = new JsonShapeDeserializer(this.settings);\n deserializer.setSerdeContext(this.serdeContext);\n return deserializer;\n }\n}\n","import { RpcProtocol } from \"@smithy/core/protocols\";\nimport { deref, NormalizedSchema, TypeRegistry } from \"@smithy/core/schema\";\nimport { ProtocolLib } from \"../ProtocolLib\";\nimport { JsonCodec } from \"./JsonCodec\";\nimport { loadRestJsonErrorCode } from \"./parseJsonBody\";\nexport class AwsJsonRpcProtocol extends RpcProtocol {\n serializer;\n deserializer;\n serviceTarget;\n codec;\n mixin;\n awsQueryCompatible;\n constructor({ defaultNamespace, serviceTarget, awsQueryCompatible, jsonCodec, }) {\n super({\n defaultNamespace,\n });\n this.serviceTarget = serviceTarget;\n this.codec =\n jsonCodec ??\n new JsonCodec({\n timestampFormat: {\n useTrait: true,\n default: 7,\n },\n jsonName: false,\n });\n this.serializer = this.codec.createSerializer();\n this.deserializer = this.codec.createDeserializer();\n this.awsQueryCompatible = !!awsQueryCompatible;\n this.mixin = new ProtocolLib(this.awsQueryCompatible);\n }\n async serializeRequest(operationSchema, input, context) {\n const request = await super.serializeRequest(operationSchema, input, context);\n if (!request.path.endsWith(\"/\")) {\n request.path += \"/\";\n }\n Object.assign(request.headers, {\n \"content-type\": `application/x-amz-json-${this.getJsonRpcVersion()}`,\n \"x-amz-target\": `${this.serviceTarget}.${operationSchema.name}`,\n });\n if (this.awsQueryCompatible) {\n request.headers[\"x-amzn-query-mode\"] = \"true\";\n }\n if (deref(operationSchema.input) === \"unit\" || !request.body) {\n request.body = \"{}\";\n }\n return request;\n }\n getPayloadCodec() {\n return this.codec;\n }\n async handleError(operationSchema, context, response, dataObject, metadata) {\n if (this.awsQueryCompatible) {\n this.mixin.setQueryCompatError(dataObject, response);\n }\n const errorIdentifier = loadRestJsonErrorCode(response, dataObject) ?? \"Unknown\";\n const { errorSchema, errorMetadata } = await this.mixin.getErrorSchemaOrThrowBaseException(errorIdentifier, this.options.defaultNamespace, response, dataObject, metadata, this.awsQueryCompatible ? this.mixin.findQueryCompatibleError : undefined);\n const ns = NormalizedSchema.of(errorSchema);\n const message = dataObject.message ?? dataObject.Message ?? \"Unknown\";\n const ErrorCtor = TypeRegistry.for(errorSchema[1]).getErrorCtor(errorSchema) ?? Error;\n const exception = new ErrorCtor(message);\n const output = {};\n for (const [name, member] of ns.structIterator()) {\n if (dataObject[name] != null) {\n output[name] = this.codec.createDeserializer().readObject(member, dataObject[name]);\n }\n }\n if (this.awsQueryCompatible) {\n this.mixin.queryCompatOutput(dataObject, output);\n }\n throw this.mixin.decorateServiceException(Object.assign(exception, errorMetadata, {\n $fault: ns.getMergedTraits().error,\n message,\n }, output), dataObject);\n }\n}\n","import { AwsJsonRpcProtocol } from \"./AwsJsonRpcProtocol\";\nexport class AwsJson1_0Protocol extends AwsJsonRpcProtocol {\n constructor({ defaultNamespace, serviceTarget, awsQueryCompatible, jsonCodec, }) {\n super({\n defaultNamespace,\n serviceTarget,\n awsQueryCompatible,\n jsonCodec,\n });\n }\n getShapeId() {\n return \"aws.protocols#awsJson1_0\";\n }\n getJsonRpcVersion() {\n return \"1.0\";\n }\n getDefaultContentType() {\n return \"application/x-amz-json-1.0\";\n }\n}\n","import { AwsJsonRpcProtocol } from \"./AwsJsonRpcProtocol\";\nexport class AwsJson1_1Protocol extends AwsJsonRpcProtocol {\n constructor({ defaultNamespace, serviceTarget, awsQueryCompatible, jsonCodec, }) {\n super({\n defaultNamespace,\n serviceTarget,\n awsQueryCompatible,\n jsonCodec,\n });\n }\n getShapeId() {\n return \"aws.protocols#awsJson1_1\";\n }\n getJsonRpcVersion() {\n return \"1.1\";\n }\n getDefaultContentType() {\n return \"application/x-amz-json-1.1\";\n }\n}\n","import { HttpBindingProtocol, HttpInterceptingShapeDeserializer, HttpInterceptingShapeSerializer, } from \"@smithy/core/protocols\";\nimport { NormalizedSchema, TypeRegistry } from \"@smithy/core/schema\";\nimport { ProtocolLib } from \"../ProtocolLib\";\nimport { JsonCodec } from \"./JsonCodec\";\nimport { loadRestJsonErrorCode } from \"./parseJsonBody\";\nexport class AwsRestJsonProtocol extends HttpBindingProtocol {\n serializer;\n deserializer;\n codec;\n mixin = new ProtocolLib();\n constructor({ defaultNamespace }) {\n super({\n defaultNamespace,\n });\n const settings = {\n timestampFormat: {\n useTrait: true,\n default: 7,\n },\n httpBindings: true,\n jsonName: true,\n };\n this.codec = new JsonCodec(settings);\n this.serializer = new HttpInterceptingShapeSerializer(this.codec.createSerializer(), settings);\n this.deserializer = new HttpInterceptingShapeDeserializer(this.codec.createDeserializer(), settings);\n }\n getShapeId() {\n return \"aws.protocols#restJson1\";\n }\n getPayloadCodec() {\n return this.codec;\n }\n setSerdeContext(serdeContext) {\n this.codec.setSerdeContext(serdeContext);\n super.setSerdeContext(serdeContext);\n }\n async serializeRequest(operationSchema, input, context) {\n const request = await super.serializeRequest(operationSchema, input, context);\n const inputSchema = NormalizedSchema.of(operationSchema.input);\n if (!request.headers[\"content-type\"]) {\n const contentType = this.mixin.resolveRestContentType(this.getDefaultContentType(), inputSchema);\n if (contentType) {\n request.headers[\"content-type\"] = contentType;\n }\n }\n if (request.body == null && request.headers[\"content-type\"] === this.getDefaultContentType()) {\n request.body = \"{}\";\n }\n return request;\n }\n async deserializeResponse(operationSchema, context, response) {\n const output = await super.deserializeResponse(operationSchema, context, response);\n const outputSchema = NormalizedSchema.of(operationSchema.output);\n for (const [name, member] of outputSchema.structIterator()) {\n if (member.getMemberTraits().httpPayload && !(name in output)) {\n output[name] = null;\n }\n }\n return output;\n }\n async handleError(operationSchema, context, response, dataObject, metadata) {\n const errorIdentifier = loadRestJsonErrorCode(response, dataObject) ?? \"Unknown\";\n const { errorSchema, errorMetadata } = await this.mixin.getErrorSchemaOrThrowBaseException(errorIdentifier, this.options.defaultNamespace, response, dataObject, metadata);\n const ns = NormalizedSchema.of(errorSchema);\n const message = dataObject.message ?? dataObject.Message ?? \"Unknown\";\n const ErrorCtor = TypeRegistry.for(errorSchema[1]).getErrorCtor(errorSchema) ?? Error;\n const exception = new ErrorCtor(message);\n await this.deserializeHttpMessage(errorSchema, context, response, dataObject);\n const output = {};\n for (const [name, member] of ns.structIterator()) {\n const target = member.getMergedTraits().jsonName ?? name;\n output[name] = this.codec.createDeserializer().readObject(member, dataObject[target]);\n }\n throw this.mixin.decorateServiceException(Object.assign(exception, errorMetadata, {\n $fault: ns.getMergedTraits().error,\n message,\n }, output), dataObject);\n }\n getDefaultContentType() {\n return \"application/json\";\n }\n}\n","import { expectUnion } from \"@smithy/smithy-client\";\nexport const awsExpectUnion = (value) => {\n if (value == null) {\n return undefined;\n }\n if (typeof value === \"object\" && \"__type\" in value) {\n delete value.__type;\n }\n return expectUnion(value);\n};\n","(()=>{\"use strict\";var t={d:(e,i)=>{for(var n in i)t.o(i,n)&&!t.o(e,n)&&Object.defineProperty(e,n,{enumerable:!0,get:i[n]})},o:(t,e)=>Object.prototype.hasOwnProperty.call(t,e),r:t=>{\"undefined\"!=typeof Symbol&&Symbol.toStringTag&&Object.defineProperty(t,Symbol.toStringTag,{value:\"Module\"}),Object.defineProperty(t,\"__esModule\",{value:!0})}},e={};t.r(e),t.d(e,{XMLBuilder:()=>Oe,XMLParser:()=>re,XMLValidator:()=>je});const i=\":A-Za-z_\\\\u00C0-\\\\u00D6\\\\u00D8-\\\\u00F6\\\\u00F8-\\\\u02FF\\\\u0370-\\\\u037D\\\\u037F-\\\\u1FFF\\\\u200C-\\\\u200D\\\\u2070-\\\\u218F\\\\u2C00-\\\\u2FEF\\\\u3001-\\\\uD7FF\\\\uF900-\\\\uFDCF\\\\uFDF0-\\\\uFFFD\",n=new RegExp(\"^[\"+i+\"][\"+i+\"\\\\-.\\\\d\\\\u00B7\\\\u0300-\\\\u036F\\\\u203F-\\\\u2040]*$\");function r(t,e){const i=[];let n=e.exec(t);for(;n;){const r=[];r.startIndex=e.lastIndex-n[0].length;const s=n.length;for(let t=0;t<s;t++)r.push(n[t]);i.push(r),n=e.exec(t)}return i}const s=function(t){return!(null==n.exec(t))},o=[\"hasOwnProperty\",\"toString\",\"valueOf\",\"__defineGetter__\",\"__defineSetter__\",\"__lookupGetter__\",\"__lookupSetter__\"],a=[\"__proto__\",\"constructor\",\"prototype\"],l={allowBooleanAttributes:!1,unpairedTags:[]};function p(t,e){e=Object.assign({},l,e);const i=[];let n=!1,r=!1;\"\\ufeff\"===t[0]&&(t=t.substr(1));for(let s=0;s<t.length;s++)if(\"<\"===t[s]&&\"?\"===t[s+1]){if(s+=2,s=h(t,s),s.err)return s}else{if(\"<\"!==t[s]){if(c(t[s]))continue;return y(\"InvalidChar\",\"char '\"+t[s]+\"' is not expected.\",w(t,s))}{let o=s;if(s++,\"!\"===t[s]){s=d(t,s);continue}{let a=!1;\"/\"===t[s]&&(a=!0,s++);let l=\"\";for(;s<t.length&&\">\"!==t[s]&&\" \"!==t[s]&&\"\\t\"!==t[s]&&\"\\n\"!==t[s]&&\"\\r\"!==t[s];s++)l+=t[s];if(l=l.trim(),\"/\"===l[l.length-1]&&(l=l.substring(0,l.length-1),s--),!E(l)){let e;return e=0===l.trim().length?\"Invalid space after '<'.\":\"Tag '\"+l+\"' is an invalid name.\",y(\"InvalidTag\",e,w(t,s))}const p=g(t,s);if(!1===p)return y(\"InvalidAttr\",\"Attributes for '\"+l+\"' have open quote.\",w(t,s));let u=p.value;if(s=p.index,\"/\"===u[u.length-1]){const i=s-u.length;u=u.substring(0,u.length-1);const r=x(u,e);if(!0!==r)return y(r.err.code,r.err.msg,w(t,i+r.err.line));n=!0}else if(a){if(!p.tagClosed)return y(\"InvalidTag\",\"Closing tag '\"+l+\"' doesn't have proper closing.\",w(t,s));if(u.trim().length>0)return y(\"InvalidTag\",\"Closing tag '\"+l+\"' can't have attributes or invalid starting.\",w(t,o));if(0===i.length)return y(\"InvalidTag\",\"Closing tag '\"+l+\"' has not been opened.\",w(t,o));{const e=i.pop();if(l!==e.tagName){let i=w(t,e.tagStartPos);return y(\"InvalidTag\",\"Expected closing tag '\"+e.tagName+\"' (opened in line \"+i.line+\", col \"+i.col+\") instead of closing tag '\"+l+\"'.\",w(t,o))}0==i.length&&(r=!0)}}else{const a=x(u,e);if(!0!==a)return y(a.err.code,a.err.msg,w(t,s-u.length+a.err.line));if(!0===r)return y(\"InvalidXml\",\"Multiple possible root nodes found.\",w(t,s));-1!==e.unpairedTags.indexOf(l)||i.push({tagName:l,tagStartPos:o}),n=!0}for(s++;s<t.length;s++)if(\"<\"===t[s]){if(\"!\"===t[s+1]){s++,s=d(t,s);continue}if(\"?\"!==t[s+1])break;if(s=h(t,++s),s.err)return s}else if(\"&\"===t[s]){const e=b(t,s);if(-1==e)return y(\"InvalidChar\",\"char '&' is not expected.\",w(t,s));s=e}else if(!0===r&&!c(t[s]))return y(\"InvalidXml\",\"Extra text at the end\",w(t,s));\"<\"===t[s]&&s--}}}return n?1==i.length?y(\"InvalidTag\",\"Unclosed tag '\"+i[0].tagName+\"'.\",w(t,i[0].tagStartPos)):!(i.length>0)||y(\"InvalidXml\",\"Invalid '\"+JSON.stringify(i.map(t=>t.tagName),null,4).replace(/\\r?\\n/g,\"\")+\"' found.\",{line:1,col:1}):y(\"InvalidXml\",\"Start tag expected.\",1)}function c(t){return\" \"===t||\"\\t\"===t||\"\\n\"===t||\"\\r\"===t}function h(t,e){const i=e;for(;e<t.length;e++)if(\"?\"==t[e]||\" \"==t[e]){const n=t.substr(i,e-i);if(e>5&&\"xml\"===n)return y(\"InvalidXml\",\"XML declaration allowed only at the start of the document.\",w(t,e));if(\"?\"==t[e]&&\">\"==t[e+1]){e++;break}continue}return e}function d(t,e){if(t.length>e+5&&\"-\"===t[e+1]&&\"-\"===t[e+2]){for(e+=3;e<t.length;e++)if(\"-\"===t[e]&&\"-\"===t[e+1]&&\">\"===t[e+2]){e+=2;break}}else if(t.length>e+8&&\"D\"===t[e+1]&&\"O\"===t[e+2]&&\"C\"===t[e+3]&&\"T\"===t[e+4]&&\"Y\"===t[e+5]&&\"P\"===t[e+6]&&\"E\"===t[e+7]){let i=1;for(e+=8;e<t.length;e++)if(\"<\"===t[e])i++;else if(\">\"===t[e]&&(i--,0===i))break}else if(t.length>e+9&&\"[\"===t[e+1]&&\"C\"===t[e+2]&&\"D\"===t[e+3]&&\"A\"===t[e+4]&&\"T\"===t[e+5]&&\"A\"===t[e+6]&&\"[\"===t[e+7])for(e+=8;e<t.length;e++)if(\"]\"===t[e]&&\"]\"===t[e+1]&&\">\"===t[e+2]){e+=2;break}return e}const u='\"',f=\"'\";function g(t,e){let i=\"\",n=\"\",r=!1;for(;e<t.length;e++){if(t[e]===u||t[e]===f)\"\"===n?n=t[e]:n!==t[e]||(n=\"\");else if(\">\"===t[e]&&\"\"===n){r=!0;break}i+=t[e]}return\"\"===n&&{value:i,index:e,tagClosed:r}}const m=new RegExp(\"(\\\\s*)([^\\\\s=]+)(\\\\s*=)?(\\\\s*(['\\\"])(([\\\\s\\\\S])*?)\\\\5)?\",\"g\");function x(t,e){const i=r(t,m),n={};for(let t=0;t<i.length;t++){if(0===i[t][1].length)return y(\"InvalidAttr\",\"Attribute '\"+i[t][2]+\"' has no space in starting.\",v(i[t]));if(void 0!==i[t][3]&&void 0===i[t][4])return y(\"InvalidAttr\",\"Attribute '\"+i[t][2]+\"' is without value.\",v(i[t]));if(void 0===i[t][3]&&!e.allowBooleanAttributes)return y(\"InvalidAttr\",\"boolean attribute '\"+i[t][2]+\"' is not allowed.\",v(i[t]));const r=i[t][2];if(!N(r))return y(\"InvalidAttr\",\"Attribute '\"+r+\"' is an invalid name.\",v(i[t]));if(Object.prototype.hasOwnProperty.call(n,r))return y(\"InvalidAttr\",\"Attribute '\"+r+\"' is repeated.\",v(i[t]));n[r]=1}return!0}function b(t,e){if(\";\"===t[++e])return-1;if(\"#\"===t[e])return function(t,e){let i=/\\d/;for(\"x\"===t[e]&&(e++,i=/[\\da-fA-F]/);e<t.length;e++){if(\";\"===t[e])return e;if(!t[e].match(i))break}return-1}(t,++e);let i=0;for(;e<t.length;e++,i++)if(!(t[e].match(/\\w/)&&i<20)){if(\";\"===t[e])break;return-1}return e}function y(t,e,i){return{err:{code:t,msg:e,line:i.line||i,col:i.col}}}function N(t){return s(t)}function E(t){return s(t)}function w(t,e){const i=t.substring(0,e).split(/\\r?\\n/);return{line:i.length,col:i[i.length-1].length+1}}function v(t){return t.startIndex+t[1].length}const S=t=>o.includes(t)?\"__\"+t:t,A={preserveOrder:!1,attributeNamePrefix:\"@_\",attributesGroupName:!1,textNodeName:\"#text\",ignoreAttributes:!0,removeNSPrefix:!1,allowBooleanAttributes:!1,parseTagValue:!0,parseAttributeValue:!1,trimValues:!0,cdataPropName:!1,numberParseOptions:{hex:!0,leadingZeros:!0,eNotation:!0,unicode:!1},tagValueProcessor:function(t,e){return e},attributeValueProcessor:function(t,e){return e},stopNodes:[],alwaysCreateTextNode:!1,isArray:()=>!1,commentPropName:!1,unpairedTags:[],processEntities:!0,htmlEntities:!1,entityDecoder:null,ignoreDeclaration:!1,ignorePiTags:!1,transformTagName:!1,transformAttributeName:!1,updateTag:function(t,e,i){return t},captureMetaData:!1,maxNestedTags:100,strictReservedNames:!0,jPath:!0,onDangerousProperty:S};function T(t,e){if(\"string\"!=typeof t)return;const i=t.toLowerCase();if(o.some(t=>i===t.toLowerCase()))throw new Error(`[SECURITY] Invalid ${e}: \"${t}\" is a reserved JavaScript keyword that could cause prototype pollution`);if(a.some(t=>i===t.toLowerCase()))throw new Error(`[SECURITY] Invalid ${e}: \"${t}\" is a reserved JavaScript keyword that could cause prototype pollution`)}function _(t,e){return\"boolean\"==typeof t?{enabled:t,maxEntitySize:1e4,maxExpansionDepth:1e4,maxTotalExpansions:1/0,maxExpandedLength:1e5,maxEntityCount:1e3,allowedTags:null,tagFilter:null,appliesTo:\"all\"}:\"object\"==typeof t&&null!==t?{enabled:!1!==t.enabled,maxEntitySize:Math.max(1,t.maxEntitySize??1e4),maxExpansionDepth:Math.max(1,t.maxExpansionDepth??1e4),maxTotalExpansions:Math.max(1,t.maxTotalExpansions??1/0),maxExpandedLength:Math.max(1,t.maxExpandedLength??1e5),maxEntityCount:Math.max(1,t.maxEntityCount??1e3),allowedTags:t.allowedTags??null,tagFilter:t.tagFilter??null,appliesTo:t.appliesTo??\"all\"}:_(!0)}const C=function(t){const e=Object.assign({},A,t),i=[{value:e.attributeNamePrefix,name:\"attributeNamePrefix\"},{value:e.attributesGroupName,name:\"attributesGroupName\"},{value:e.textNodeName,name:\"textNodeName\"},{value:e.cdataPropName,name:\"cdataPropName\"},{value:e.commentPropName,name:\"commentPropName\"}];for(const{value:t,name:e}of i)t&&T(t,e);return null===e.onDangerousProperty&&(e.onDangerousProperty=S),e.processEntities=_(e.processEntities,e.htmlEntities),e.unpairedTagsSet=new Set(e.unpairedTags),e.stopNodes&&Array.isArray(e.stopNodes)&&(e.stopNodes=e.stopNodes.map(t=>\"string\"==typeof t&&t.startsWith(\"*.\")?\"..\"+t.substring(2):t)),e};let $;$=\"function\"!=typeof Symbol?\"@@xmlMetadata\":Symbol(\"XML Node Metadata\");class P{constructor(t){this.tagname=t,this.child=[],this[\":@\"]=Object.create(null)}add(t,e){\"__proto__\"===t&&(t=\"#__proto__\"),this.child.push({[t]:e})}addChild(t,e){\"__proto__\"===t.tagname&&(t.tagname=\"#__proto__\"),t[\":@\"]&&Object.keys(t[\":@\"]).length>0?this.child.push({[t.tagname]:t.child,\":@\":t[\":@\"]}):this.child.push({[t.tagname]:t.child}),void 0!==e&&(this.child[this.child.length-1][$]={startIndex:e})}static getMetaDataSymbol(){return $}}const O=\":A-Za-z_À-ÖØ-öø-˿Ͱ-ͽͿ-҆҈-῿‌-‍⁰-↏Ⰰ-⿯、-퟿豈-﷏ﷰ-�\",j=\":A-Za-z_À-˿Ͱ-ͽͿ-҆҈-῿‌-‍⁰-↏Ⰰ-⿯、-퟿豈-﷏ﷰ-�𐀀-󯿿\",I=j+\"\\\\-\\\\.\\\\d·̀-ͯ҇‿-⁀\",k=(t,e,i=\"\")=>{const n=`[${t.replace(\":\",\"\")}][${e.replace(\":\",\"\")}]*`;return{name:new RegExp(`^[${t}][${e}]*$`,i),ncName:new RegExp(`^${n}$`,i),qName:new RegExp(`^${n}(?::${n})?$`,i),nmToken:new RegExp(`^[${e}]+$`,i),nmTokens:new RegExp(`^[${e}]+(?:\\\\s+[${e}]+)*$`,i)}},L=k(O,O+\"\\\\-\\\\.\\\\d·̀-ͯ‿-⁀\"),D=k(j,I,\"u\"),R=\":A-Za-z_\",M=k(R,R+\"\\\\-\\\\.\\\\d\"),V=(t,{xmlVersion:e=\"1.0\",asciiOnly:i=!1}={})=>((t=\"1.0\",e=!1)=>e?M:\"1.1\"===t?D:L)(e,i).qName.test(t);class q{constructor(t,e){this.suppressValidationErr=!t,this.options=t,this.xmlVersion=e||1}setXmlVersion(t=1){this.xmlVersion=t}readDocType(t,e){const i=Object.create(null);let n=0;if(\"O\"!==t[e+3]||\"C\"!==t[e+4]||\"T\"!==t[e+5]||\"Y\"!==t[e+6]||\"P\"!==t[e+7]||\"E\"!==t[e+8])throw new Error(\"Invalid Tag instead of DOCTYPE\");{e+=9;let r=1,s=!1,o=!1,a=\"\";for(;e<t.length;e++)if(\"<\"!==t[e]||o)if(\">\"===t[e]){if(o?\"-\"===t[e-1]&&\"-\"===t[e-2]&&(o=!1,r--):r--,0===r)break}else\"[\"===t[e]?s=!0:a+=t[e];else{if(s&&U(t,\"!ENTITY\",e)){let r,s;if(e+=7,[r,s,e]=this.readEntityExp(t,e+1,this.suppressValidationErr),-1===s.indexOf(\"&\")){if(!1!==this.options.enabled&&null!=this.options.maxEntityCount&&n>=this.options.maxEntityCount)throw new Error(`Entity count (${n+1}) exceeds maximum allowed (${this.options.maxEntityCount})`);i[r]=s,n++}}else if(s&&U(t,\"!ELEMENT\",e)){e+=8;const{index:i}=this.readElementExp(t,e+1);e=i}else if(s&&U(t,\"!ATTLIST\",e))e+=8;else if(s&&U(t,\"!NOTATION\",e)){e+=9;const{index:i}=this.readNotationExp(t,e+1,this.suppressValidationErr);e=i}else{if(!U(t,\"!--\",e))throw new Error(\"Invalid DOCTYPE\");o=!0}r++,a=\"\"}if(0!==r)throw new Error(\"Unclosed DOCTYPE\")}return{entities:i,i:e}}readEntityExp(t,e){const i=e=F(t,e);for(;e<t.length&&!/\\s/.test(t[e])&&'\"'!==t[e]&&\"'\"!==t[e];)e++;let n=t.substring(i,e);if(B(n,{xmlVersion:this.xmlVersion}),e=F(t,e),!this.suppressValidationErr){if(\"SYSTEM\"===t.substring(e,e+6).toUpperCase())throw new Error(\"External entities are not supported\");if(\"%\"===t[e])throw new Error(\"Parameter entities are not supported\")}let r=\"\";if([e,r]=this.readIdentifierVal(t,e,\"entity\"),!1!==this.options.enabled&&null!=this.options.maxEntitySize&&r.length>this.options.maxEntitySize)throw new Error(`Entity \"${n}\" size (${r.length}) exceeds maximum allowed size (${this.options.maxEntitySize})`);return[n,r,--e]}readNotationExp(t,e){const i=e=F(t,e);for(;e<t.length&&!/\\s/.test(t[e]);)e++;let n=t.substring(i,e);!this.suppressValidationErr&&B(n,{xmlVersion:this.xmlVersion}),e=F(t,e);const r=t.substring(e,e+6).toUpperCase();if(!this.suppressValidationErr&&\"SYSTEM\"!==r&&\"PUBLIC\"!==r)throw new Error(`Expected SYSTEM or PUBLIC, found \"${r}\"`);e+=r.length,e=F(t,e);let s=null,o=null;if(\"PUBLIC\"===r)[e,s]=this.readIdentifierVal(t,e,\"publicIdentifier\"),'\"'!==t[e=F(t,e)]&&\"'\"!==t[e]||([e,o]=this.readIdentifierVal(t,e,\"systemIdentifier\"));else if(\"SYSTEM\"===r&&([e,o]=this.readIdentifierVal(t,e,\"systemIdentifier\"),!this.suppressValidationErr&&!o))throw new Error(\"Missing mandatory system identifier for SYSTEM notation\");return{notationName:n,publicIdentifier:s,systemIdentifier:o,index:--e}}readIdentifierVal(t,e,i){let n=\"\";const r=t[e];if('\"'!==r&&\"'\"!==r)throw new Error(`Expected quoted string, found \"${r}\"`);const s=++e;for(;e<t.length&&t[e]!==r;)e++;if(n=t.substring(s,e),t[e]!==r)throw new Error(`Unterminated ${i} value`);return[++e,n]}readElementExp(t,e){const i=e=F(t,e);for(;e<t.length&&!/\\s/.test(t[e]);)e++;let n=t.substring(i,e);if(!this.suppressValidationErr&&!V(n,{xmlVersion:this.xmlVersion}))throw new Error(`Invalid element name: \"${n}\"`);let r=\"\";if(\"E\"===t[e=F(t,e)]&&U(t,\"MPTY\",e))e+=4;else if(\"A\"===t[e]&&U(t,\"NY\",e))e+=2;else if(\"(\"===t[e]){const i=++e;for(;e<t.length&&\")\"!==t[e];)e++;if(r=t.substring(i,e),\")\"!==t[e])throw new Error(\"Unterminated content model\")}else if(!this.suppressValidationErr)throw new Error(`Invalid Element Expression, found \"${t[e]}\"`);return{elementName:n,contentModel:r.trim(),index:e}}readAttlistExp(t,e){let i=e=F(t,e);for(;e<t.length&&!/\\s/.test(t[e]);)e++;let n=t.substring(i,e);for(B(n,{xmlVersion:this.xmlVersion}),i=e=F(t,e);e<t.length&&!/\\s/.test(t[e]);)e++;let r=t.substring(i,e);if(!B(r,{xmlVersion:this.xmlVersion}))throw new Error(`Invalid attribute name: \"${r}\"`);e=F(t,e);let s=\"\";if(\"NOTATION\"===t.substring(e,e+8).toUpperCase()){if(s=\"NOTATION\",\"(\"!==t[e=F(t,e+=8)])throw new Error(`Expected '(', found \"${t[e]}\"`);e++;let i=[];for(;e<t.length&&\")\"!==t[e];){const n=e;for(;e<t.length&&\"|\"!==t[e]&&\")\"!==t[e];)e++;let r=t.substring(n,e);if(r=r.trim(),!B(r,{xmlVersion:this.xmlVersion}))throw new Error(`Invalid notation name: \"${r}\"`);i.push(r),\"|\"===t[e]&&(e++,e=F(t,e))}if(\")\"!==t[e])throw new Error(\"Unterminated list of notations\");e++,s+=\" (\"+i.join(\"|\")+\")\"}else{const i=e;for(;e<t.length&&!/\\s/.test(t[e]);)e++;s+=t.substring(i,e);const n=[\"CDATA\",\"ID\",\"IDREF\",\"IDREFS\",\"ENTITY\",\"ENTITIES\",\"NMTOKEN\",\"NMTOKENS\"];if(!this.suppressValidationErr&&!n.includes(s.toUpperCase()))throw new Error(`Invalid attribute type: \"${s}\"`)}e=F(t,e);let o=\"\";return\"#REQUIRED\"===t.substring(e,e+8).toUpperCase()?(o=\"#REQUIRED\",e+=8):\"#IMPLIED\"===t.substring(e,e+7).toUpperCase()?(o=\"#IMPLIED\",e+=7):[e,o]=this.readIdentifierVal(t,e,\"ATTLIST\"),{elementName:n,attributeName:r,attributeType:s,defaultValue:o,index:e}}}const F=(t,e)=>{for(;e<t.length&&/\\s/.test(t[e]);)e++;return e};function U(t,e,i){for(let n=0;n<e.length;n++)if(e[n]!==t[i+n+1])return!1;return!0}function B(t,e){if(V(t,{xmlVersion:e}))return t;throw new Error(`Invalid entity name ${t}`)}const G=[48,1632,1776,2406,2534,2662,2790,2918,3046,3174,3302,3430,3558,3664,3792,3872,4160,4240,6112,6160,6470,6608,6784,6800,6992,7088,7232,7248,65296,120782,120792,120802,120812,120822,66720,68912,69734,69872,69942,70096,70384,70736,70864,71248,71360,71472,71904,72016,72688,72784,73040,73120,73552,92768,92864,93008,123200,123632,124144,125264,130032],X=new Map,W=1632,z=new Uint8Array(63904).fill(255);for(const t of G)for(let e=0;e<10;e++){const i=t+e;i<=65535?z[i-W]=e:X.set(i,e)}const Y=new Set([8722,65293,65123]),H=/^[-+]?0x[a-fA-F0-9]+$/,Q=/^0b[01]+$/,J=/^0o[0-7]+$/,Z=/^([\\-\\+])?(0*)([0-9]*(\\.[0-9]*)?)$/,K={hex:!0,binary:!1,octal:!1,leadingZeros:!0,decimalPoint:\".\",eNotation:!0,infinity:\"original\",unicode:!1};function tt(t,e={}){if(e=Object.assign({},K,e),!t||\"string\"!=typeof t)return t;let i=t.trim();if(0===i.length)return t;if(void 0!==e.skipLike&&e.skipLike.test(i))return t;if(\"0\"===i)return 0;if(e.unicode&&(i=function(t){if(\"string\"!=typeof t)return t;const e=t.length;if(0===e)return t;let i=-1;for(let n=0;n<e;n++){const r=t.charCodeAt(n);if(!(r>=48&&r<=57||45===r))if(r<W){if(Y.has(r)){i=n;break}}else if(r>=55296&&r<=56319){if(n+1<e){const e=t.charCodeAt(n+1);if(e>=56320&&e<=57343){const t=65536+(r-55296<<10)+(e-56320);if(X.has(t)){i=n;break}}}}else if(255!==z[r-W]||Y.has(r)){i=n;break}}if(-1===i)return t;const n=[];i>0&&n.push(t.slice(0,i));for(let r=i;r<e;r++){const i=t.charCodeAt(r);if(i>=48&&i<=57||45===i){n.push(t[r]);continue}if(i<W){n.push(Y.has(i)?\"-\":t[r]);continue}if(i>=55296&&i<=56319){if(r+1<e){const e=t.charCodeAt(r+1);if(e>=56320&&e<=57343){const t=65536+(i-55296<<10)+(e-56320),s=X.get(t);if(void 0!==s){n.push(String.fromCharCode(s+48)),r++;continue}}}n.push(t[r]);continue}if(Y.has(i)){n.push(\"-\");continue}const s=z[i-W];n.push(255!==s?String.fromCharCode(s+48):t[r])}return n.join(\"\")}(i),\"0\"===i))return 0;if(e.hex&&H.test(i))return it(i,16);if(e.binary&&Q.test(i))return it(i,2);if(e.octal&&J.test(i))return it(i,8);if(isFinite(i)){if(i.includes(\"e\")||i.includes(\"E\"))return function(t,e,i){if(!i.eNotation)return t;const n=e.match(et);if(n){let r=n[1]||\"\";const s=-1===n[3].indexOf(\"e\")?\"E\":\"e\",o=n[2],a=r?t[o.length+1]===s:t[o.length]===s;return o.length>1&&a?t:(1!==o.length||!n[3].startsWith(`.${s}`)&&n[3][0]!==s)&&o.length>0?i.leadingZeros&&!a?(e=(n[1]||\"\")+n[3],Number(e)):t:Number(e)}return t}(t,i,e);{const r=Z.exec(i);if(r){const s=r[1]||\"\",o=r[2];let a=(n=r[3])&&-1!==n.indexOf(\".\")?(\".\"===(n=n.replace(/0+$/,\"\"))?n=\"0\":\".\"===n[0]?n=\"0\"+n:\".\"===n[n.length-1]&&(n=n.substring(0,n.length-1)),n):n;const l=s?\".\"===t[o.length+1]:\".\"===t[o.length];if(!e.leadingZeros&&(o.length>1||1===o.length&&!l))return t;{const n=Number(i),r=String(n);if(0===n)return n;if(-1!==r.search(/[eE]/))return e.eNotation?n:t;if(-1!==i.indexOf(\".\"))return\"0\"===r||r===a||r===`${s}${a}`?n:t;let l=o?a:i;return o?l===r||s+l===r?n:t:l===r||l===s+r?n:t}}return t}}var n;return function(t,e,i){const n=e===1/0;switch(i.infinity.toLowerCase()){case\"null\":return null;case\"infinity\":return e;case\"string\":return n?\"Infinity\":\"-Infinity\";default:return t}}(t,Number(i),e)}const et=/^([-+])?(0*)(\\d*(\\.\\d*)?[eE][-\\+]?\\d+)$/;function it(t,e){const i=t.trim();if(2!==e&&8!==e||(t=i.substring(2)),parseInt)return parseInt(t,e);if(Number.parseInt)return Number.parseInt(t,e);if(window&&window.parseInt)return window.parseInt(t,e);throw new Error(\"parseInt, Number.parseInt, window.parseInt are not supported\")}class nt{constructor(t){this._matcher=t}get separator(){return this._matcher.separator}getCurrentTag(){const t=this._matcher.path;return t.length>0?t[t.length-1].tag:void 0}getCurrentNamespace(){const t=this._matcher.path;return t.length>0?t[t.length-1].namespace:void 0}getAttrValue(t){const e=this._matcher.path;if(0!==e.length)return e[e.length-1].values?.[t]}hasAttr(t){const e=this._matcher.path;if(0===e.length)return!1;const i=e[e.length-1];return void 0!==i.values&&t in i.values}getAnyParentAttr(t){return this._matcher.getAnyParentAttr(t)}hasAnyParentAttr(t){return this._matcher.hasAnyParentAttr(t)}getPosition(){const t=this._matcher.path;return 0===t.length?-1:t[t.length-1].position??0}getCounter(){const t=this._matcher.path;return 0===t.length?-1:t[t.length-1].counter??0}getIndex(){return this.getPosition()}getDepth(){return this._matcher.path.length}toString(t,e=!0){return this._matcher.toString(t,e)}toArray(){return this._matcher.path.map(t=>t.tag)}matches(t){return this._matcher.matches(t)}matchesAny(t){return t.matchesAny(this._matcher)}}class rt{constructor(t={}){this.separator=t.separator||\".\",this.path=[],this.siblingStacks=[],this._pathStringCache=null,this._view=new nt(this),this._keptAttrs=[]}push(t,e=null,i=null,n=null){this._pathStringCache=null,this.path.length>0&&(this.path[this.path.length-1].values=void 0);const r=this.path.length;let s=this.siblingStacks[r];s||(s={counts:new Map,total:0},this.siblingStacks[r]=s);const o=i?`${i}:${t}`:t,a=s.counts.get(o)||0,l=s.total;s.counts.set(o,a+1),s.total++;const p={tag:t,position:l,counter:a};null!=i&&(p.namespace=i),null!=e&&(p.values=e),this.path.push(p);const c=this.path.length,h=null!==n?n.keep:null;if(null!=h&&h.length>0&&e)for(let t=0;t<h.length;t++){const i=h[t];void 0!==e[i]&&this._keptAttrs.push({depth:c,name:i,value:e[i]})}}pop(){if(0===this.path.length)return;this._pathStringCache=null;const t=this.path.pop();this.siblingStacks.length>this.path.length+1&&(this.siblingStacks.length=this.path.length+1);const e=this.path.length+1;for(;this._keptAttrs.length>0&&this._keptAttrs[this._keptAttrs.length-1].depth>=e;)this._keptAttrs.pop();return t}updateCurrent(t){if(this.path.length>0){const e=this.path[this.path.length-1];null!=t&&(e.values=t)}}getCurrentTag(){return this.path.length>0?this.path[this.path.length-1].tag:void 0}getCurrentNamespace(){return this.path.length>0?this.path[this.path.length-1].namespace:void 0}getAttrValue(t){if(0!==this.path.length)return this.path[this.path.length-1].values?.[t]}hasAttr(t){if(0===this.path.length)return!1;const e=this.path[this.path.length-1];return void 0!==e.values&&t in e.values}getAnyParentAttr(t){const e=this._keptAttrs;for(let i=e.length-1;i>=0;i--)if(e[i].name===t)return e[i].value}hasAnyParentAttr(t){const e=this._keptAttrs;for(let i=e.length-1;i>=0;i--)if(e[i].name===t)return!0;return!1}getPosition(){return 0===this.path.length?-1:this.path[this.path.length-1].position??0}getCounter(){return 0===this.path.length?-1:this.path[this.path.length-1].counter??0}getIndex(){return this.getPosition()}getDepth(){return this.path.length}toString(t,e=!0){const i=t||this.separator;if(i===this.separator&&!0===e){if(null!==this._pathStringCache)return this._pathStringCache;const t=this.path.map(t=>t.namespace?`${t.namespace}:${t.tag}`:t.tag).join(i);return this._pathStringCache=t,t}return this.path.map(t=>e&&t.namespace?`${t.namespace}:${t.tag}`:t.tag).join(i)}toArray(){return this.path.map(t=>t.tag)}reset(){this._pathStringCache=null,this.path=[],this.siblingStacks=[],this._keptAttrs=[]}matches(t){const e=t.segments;return 0!==e.length&&(t.hasDeepWildcard()?this._matchWithDeepWildcard(e):this._matchSimple(e))}_matchSimple(t){if(this.path.length!==t.length)return!1;for(let e=0;e<t.length;e++)if(!this._matchSegment(t[e],this.path[e],e===this.path.length-1))return!1;return!0}_matchWithDeepWildcard(t){let e=this.path.length-1,i=t.length-1;for(;i>=0&&e>=0;){const n=t[i];if(\"deep-wildcard\"===n.type){if(i--,i<0)return!0;const n=t[i];let r=!1;for(let t=e;t>=0;t--)if(this._matchSegment(n,this.path[t],t===this.path.length-1)){e=t-1,i--,r=!0;break}if(!r)return!1}else{if(!this._matchSegment(n,this.path[e],e===this.path.length-1))return!1;e--,i--}}return i<0}_matchSegment(t,e,i){if(\"*\"!==t.tag&&t.tag!==e.tag)return!1;if(void 0!==t.namespace&&\"*\"!==t.namespace&&t.namespace!==e.namespace)return!1;if(void 0!==t.attrName){if(!i)return!1;if(!e.values||!(t.attrName in e.values))return!1;if(void 0!==t.attrValue&&String(e.values[t.attrName])!==String(t.attrValue))return!1}if(void 0!==t.position){if(!i)return!1;const n=e.counter??0;if(\"first\"===t.position&&0!==n)return!1;if(\"odd\"===t.position&&n%2!=1)return!1;if(\"even\"===t.position&&n%2!=0)return!1;if(\"nth\"===t.position&&n!==t.positionValue)return!1}return!0}matchesAny(t){return t.matchesAny(this)}snapshot(){return{path:this.path.map(t=>({...t})),siblingStacks:this.siblingStacks.map(t=>t?{counts:new Map(t.counts),total:t.total}:t),keptAttrs:this._keptAttrs.map(t=>({...t}))}}restore(t){this._pathStringCache=null,this.path=t.path.map(t=>({...t})),this.siblingStacks=t.siblingStacks.map(t=>t?{counts:new Map(t.counts),total:t.total}:t),this._keptAttrs=(t.keptAttrs||[]).map(t=>({...t}))}readOnly(){return this._view}}class st{constructor(t,e={},i){this.pattern=t,this.separator=e.separator||\".\",this.segments=this._parse(t),this.data=i,this._hasDeepWildcard=this.segments.some(t=>\"deep-wildcard\"===t.type),this._hasAttributeCondition=this.segments.some(t=>void 0!==t.attrName),this._hasPositionSelector=this.segments.some(t=>void 0!==t.position)}_parse(t){const e=[];let i=0,n=\"\";for(;i<t.length;)t[i]===this.separator?i+1<t.length&&t[i+1]===this.separator?(n.trim()&&(e.push(this._parseSegment(n.trim())),n=\"\"),e.push({type:\"deep-wildcard\"}),i+=2):(n.trim()&&e.push(this._parseSegment(n.trim())),n=\"\",i++):(n+=t[i],i++);return n.trim()&&e.push(this._parseSegment(n.trim())),e}_parseSegment(t){const e={type:\"tag\"};let i=null,n=t;const r=t.match(/^([^\\[]+)(\\[[^\\]]*\\])(.*)$/);if(r&&(n=r[1]+r[3],r[2])){const t=r[2].slice(1,-1);t&&(i=t)}let s,o,a=n;if(n.includes(\"::\")){const e=n.indexOf(\"::\");if(s=n.substring(0,e).trim(),a=n.substring(e+2).trim(),!s)throw new Error(`Invalid namespace in pattern: ${t}`)}let l=null;if(a.includes(\":\")){const t=a.lastIndexOf(\":\"),e=a.substring(0,t).trim(),i=a.substring(t+1).trim();[\"first\",\"last\",\"odd\",\"even\"].includes(i)||/^nth\\(\\d+\\)$/.test(i)?(o=e,l=i):o=a}else o=a;if(!o)throw new Error(`Invalid segment pattern: ${t}`);if(e.tag=o,s&&(e.namespace=s),i)if(i.includes(\"=\")){const t=i.indexOf(\"=\");e.attrName=i.substring(0,t).trim(),e.attrValue=i.substring(t+1).trim()}else e.attrName=i.trim();if(l){const t=l.match(/^nth\\((\\d+)\\)$/);t?(e.position=\"nth\",e.positionValue=parseInt(t[1],10)):e.position=l}return e}get length(){return this.segments.length}hasDeepWildcard(){return this._hasDeepWildcard}hasAttributeCondition(){return this._hasAttributeCondition}hasPositionSelector(){return this._hasPositionSelector}toString(){return this.pattern}}class ot{constructor(){this._byDepthAndTag=new Map,this._wildcardByDepth=new Map,this._deepWildcards=[],this._deepByTerminalTag=new Map,this._patterns=new Set,this._sealed=!1}add(t){if(this._sealed)throw new TypeError(\"ExpressionSet is sealed. Create a new ExpressionSet to add more expressions.\");if(this._patterns.has(t.pattern))return this;if(this._patterns.add(t.pattern),t.hasDeepWildcard()){const e=t.segments[t.segments.length-1];if(e&&\"deep-wildcard\"!==e.type&&\"*\"!==e.tag){const i=e.tag;this._deepByTerminalTag.has(i)||this._deepByTerminalTag.set(i,[]),this._deepByTerminalTag.get(i).push(t)}else this._deepWildcards.push(t);return this}const e=t.length,i=t.segments[t.segments.length-1],n=i?.tag;if(n&&\"*\"!==n){const i=`${e}:${n}`;this._byDepthAndTag.has(i)||this._byDepthAndTag.set(i,[]),this._byDepthAndTag.get(i).push(t)}else this._wildcardByDepth.has(e)||this._wildcardByDepth.set(e,[]),this._wildcardByDepth.get(e).push(t);return this}addAll(t){for(const e of t)this.add(e);return this}has(t){return this._patterns.has(t.pattern)}get size(){return this._patterns.size}seal(){return this._sealed=!0,this}get isSealed(){return this._sealed}matchesAny(t){return null!==this.findMatch(t)}findMatch(t){const e=t.getDepth(),i=t.getCurrentTag(),n=`${e}:${i}`,r=this._byDepthAndTag.get(n);if(r)for(let e=0;e<r.length;e++)if(t.matches(r[e]))return r[e];const s=this._wildcardByDepth.get(e);if(s)for(let e=0;e<s.length;e++)if(t.matches(s[e]))return s[e];const o=this._deepByTerminalTag.get(i);if(o)for(let e=0;e<o.length;e++)if(t.matches(o[e]))return o[e];for(let e=0;e<this._deepWildcards.length;e++)if(t.matches(this._deepWildcards[e]))return this._deepWildcards[e];return null}}const at={cent:\"¢\",pound:\"£\",curren:\"¤\",yen:\"¥\",euro:\"€\",dollar:\"$\",fnof:\"ƒ\",inr:\"₹\",af:\"؋\",birr:\"ብር\",peso:\"₱\",rub:\"₽\",won:\"₩\",yuan:\"¥\",cedil:\"¸\"},lt={amp:\"&\",apos:\"'\",gt:\">\",lt:\"<\",quot:'\"'},pt={nbsp:\" \",copy:\"©\",reg:\"®\",trade:\"™\",mdash:\"—\",ndash:\"–\",hellip:\"…\",laquo:\"«\",raquo:\"»\",lsquo:\"‘\",rsquo:\"’\",ldquo:\"“\",rdquo:\"”\",bull:\"•\",para:\"¶\",sect:\"§\",deg:\"°\",frac12:\"½\",frac14:\"¼\",frac34:\"¾\"},ct=Object.freeze({ALLOW:\"allow\",BLOCK:\"block\",THROW:\"throw\"}),ht=new Set(\"!?\\\\\\\\/[]$%{}^&*()<>|+\");function dt(t){if(\"#\"===t[0])throw new Error(`[EntityReplacer] Invalid character '#' in entity name: \"${t}\"`);for(const e of t)if(ht.has(e))throw new Error(`[EntityReplacer] Invalid character '${e}' in entity name: \"${t}\"`);return t}function ut(...t){const e=Object.create(null);for(const i of t)if(i)for(const t of Object.keys(i)){const n=i[t];if(\"string\"==typeof n)e[t]=n;else if(n&&\"object\"==typeof n&&void 0!==n.val){const i=n.val;\"string\"==typeof i&&(e[t]=i)}}return e}const ft=\"external\",gt=\"base\",mt=\"all\",xt=Object.freeze({allow:0,leave:1,remove:2,throw:3}),bt=new Set([9,10,13]);class yt{constructor(t={}){var e;this._limit=t.limit||{},this._maxTotalExpansions=this._limit.maxTotalExpansions||0,this._maxExpandedLength=this._limit.maxExpandedLength||0,this._postCheck=\"function\"==typeof t.postCheck?t.postCheck:t=>t,this._limitTiers=(e=this._limit.applyLimitsTo??ft)&&e!==ft?e===mt?new Set([mt]):e===gt?new Set([gt]):Array.isArray(e)?new Set(e):new Set([ft]):new Set([ft]),this._numericAllowed=t.numericAllowed??!0,this._baseMap=ut(lt,t.namedEntities||null),this._externalMap=Object.create(null),this._inputMap=Object.create(null),this._totalExpansions=0,this._expandedLength=0,this._removeSet=new Set(t.remove&&Array.isArray(t.remove)?t.remove:[]),this._leaveSet=new Set(t.leave&&Array.isArray(t.leave)?t.leave:[]);const i=function(t){if(!t)return{xmlVersion:1,onLevel:xt.allow,nullLevel:xt.remove};const e=1.1===t.xmlVersion?1.1:1,i=xt[t.onNCR]??xt.allow,n=xt[t.nullNCR]??xt.remove;return{xmlVersion:e,onLevel:i,nullLevel:Math.max(n,xt.remove)}}(t.ncr);this._ncrXmlVersion=i.xmlVersion,this._ncrOnLevel=i.onLevel,this._ncrNullLevel=i.nullLevel,this._onExternalEntity=\"function\"==typeof t.onExternalEntity?t.onExternalEntity:null,this._onInputEntity=\"function\"==typeof t.onInputEntity?t.onInputEntity:null}_applyRegistrationHook(t,e,i,n){if(!t)return!0;const r=t(e,i);if(r===ct.BLOCK)return!1;if(r===ct.THROW)throw new Error(`[EntityDecoder] Registration of ${n} entity \"&${e};\" was rejected by hook`);return!0}setExternalEntities(t){if(t)for(const e of Object.keys(t))dt(e);if(!this._onExternalEntity)return void(this._externalMap=ut(t));const e=ut(t),i=Object.create(null);for(const[t,n]of Object.entries(e))this._applyRegistrationHook(this._onExternalEntity,t,n,\"external\")&&(i[t]=n);this._externalMap=i}addExternalEntity(t,e){dt(t),\"string\"==typeof e&&-1===e.indexOf(\"&\")&&this._applyRegistrationHook(this._onExternalEntity,t,e,\"external\")&&(this._externalMap[t]=e)}addInputEntities(t){if(this._totalExpansions=0,this._expandedLength=0,!this._onInputEntity)return void(this._inputMap=ut(t));const e=ut(t),i=Object.create(null);for(const[t,n]of Object.entries(e))this._applyRegistrationHook(this._onInputEntity,t,n,\"input\")&&(i[t]=n);this._inputMap=i}reset(){return this._inputMap=Object.create(null),this._totalExpansions=0,this._expandedLength=0,this}setXmlVersion(t){this._ncrXmlVersion=1.1===t?1.1:1}decode(t){if(\"string\"!=typeof t||0===t.length)return t;if(-1===t.indexOf(\"&\"))return t;const e=t,i=[],n=t.length;let r=0,s=0;const o=this._maxTotalExpansions>0,a=this._maxExpandedLength>0,l=o||a;for(;s<n;){if(38!==t.charCodeAt(s)){s++;continue}let e=s+1;for(;e<n&&59!==t.charCodeAt(e)&&e-s<=32;)e++;if(e>=n||59!==t.charCodeAt(e)){s++;continue}const p=t.slice(s+1,e);if(0===p.length){s++;continue}let c,h;if(this._removeSet.has(p))c=\"\",void 0===h&&(h=ft);else{if(this._leaveSet.has(p)){s++;continue}if(35===p.charCodeAt(0)){const t=this._resolveNCR(p);if(void 0===t){s++;continue}c=t,h=gt}else{const t=this._resolveName(p);c=t?.value,h=t?.tier}}if(void 0!==c){if(s>r&&i.push(t.slice(r,s)),i.push(c),r=e+1,s=r,l&&this._tierCounts(h)){if(o&&(this._totalExpansions++,this._totalExpansions>this._maxTotalExpansions))throw new Error(`[EntityReplacer] Entity expansion count limit exceeded: ${this._totalExpansions} > ${this._maxTotalExpansions}`);if(a){const t=c.length-(p.length+2);if(t>0&&(this._expandedLength+=t,this._expandedLength>this._maxExpandedLength))throw new Error(`[EntityReplacer] Expanded content length limit exceeded: ${this._expandedLength} > ${this._maxExpandedLength}`)}}}else s++}r<n&&i.push(t.slice(r));const p=0===i.length?t:i.join(\"\");return this._postCheck(p,e)}_tierCounts(t){return!!this._limitTiers.has(mt)||this._limitTiers.has(t)}_resolveName(t){return t in this._inputMap?{value:this._inputMap[t],tier:ft}:t in this._externalMap?{value:this._externalMap[t],tier:ft}:t in this._baseMap?{value:this._baseMap[t],tier:gt}:void 0}_classifyNCR(t){return 0===t?this._ncrNullLevel:t>=55296&&t<=57343||1===this._ncrXmlVersion&&t>=1&&t<=31&&!bt.has(t)?xt.remove:-1}_applyNCRAction(t,e,i){switch(t){case xt.allow:return String.fromCodePoint(i);case xt.remove:return\"\";case xt.leave:return;case xt.throw:throw new Error(`[EntityDecoder] Prohibited numeric character reference &${e}; (U+${i.toString(16).toUpperCase().padStart(4,\"0\")})`);default:return String.fromCodePoint(i)}}_resolveNCR(t){const e=t.charCodeAt(1);let i;if(i=120===e||88===e?parseInt(t.slice(2),16):parseInt(t.slice(1),10),Number.isNaN(i)||i<0||i>1114111)return;const n=this._classifyNCR(i);if(!this._numericAllowed&&n<xt.remove)return;const r=-1===n?this._ncrOnLevel:Math.max(this._ncrOnLevel,n);return this._applyNCRAction(r,t,i)}}const Nt=[{id:\"sql-block-comment-open\",description:\"SQL block comment open: /* ... */ — unusual in legitimate user text\",pattern:/\\/\\*/},{id:\"sql-union-select\",description:\"UNION SELECT — most common SQL injection aggregation attack\",pattern:/\\bUNION\\s{1,20}(?:ALL\\s{1,20})?SELECT\\b/i},{id:\"sql-drop-table\",description:\"DROP TABLE — destructive DDL injection\",pattern:/\\bDROP\\s{1,20}TABLE\\b/i},{id:\"sql-drop-database\",description:\"DROP DATABASE — destructive DDL injection\",pattern:/\\bDROP\\s{1,20}DATABASE\\b/i},{id:\"sql-insert-into\",description:\"INSERT INTO — data injection\",pattern:/\\bINSERT\\s{1,20}INTO\\b/i},{id:\"sql-delete-from\",description:\"DELETE FROM — data deletion injection\",pattern:/\\bDELETE\\s{1,20}FROM\\b/i},{id:\"sql-update-set\",description:\"UPDATE ... SET — data modification injection\",pattern:/\\bUPDATE\\b[\\s\\S]{1,60}\\bSET\\b/i},{id:\"sql-exec-xp\",description:\"EXEC xp_ — MSSQL extended stored procedure execution\",pattern:/\\bEXEC(?:UTE)?\\s{1,20}xp_/i},{id:\"sql-tautology-string\",description:'Classic string tautology: \\' OR \\'1\\'=\\'1 or \" OR \"1\"=\"1\"',pattern:/'\\s{0,10}OR\\s{0,10}'[^']{0,20}'\\s*=\\s*'[^']{0,20}/i},{id:\"sql-tautology-numeric\",description:\"Numeric tautology: OR 1=1\",pattern:/\\bOR\\s{1,10}1\\s*=\\s*1\\b/i},{id:\"sql-always-true-zero\",description:\"Numeric tautology: OR 0=0\",pattern:/\\bOR\\s{1,10}0\\s*=\\s*0\\b/i},{id:\"sql-sleep-benchmark\",description:\"Time-based blind injection: SLEEP() or BENCHMARK()\",pattern:/\\b(?:SLEEP|BENCHMARK)\\s*\\(/i},{id:\"sql-waitfor-delay\",description:\"MSSQL time-based blind injection: WAITFOR DELAY\",pattern:/\\bWAITFOR\\s{1,20}DELAY\\b/i},{id:\"sql-char-function\",description:\"CHAR() function — used to obfuscate injected strings\",pattern:/\\bCHAR\\s*\\(\\s*\\d{1,3}/i},{id:\"sql-information-schema\",description:\"INFORMATION_SCHEMA — reconnaissance query for table/column enumeration\",pattern:/\\bINFORMATION_SCHEMA\\b/i}],Et=[...Nt,{id:\"sql-line-comment\",description:\"SQL line comment: -- followed by whitespace or end of string\",pattern:/--(?:\\s|$)/},{id:\"sql-stacked-query\",description:\"Stacked queries: semicolon immediately followed by a SQL keyword\",pattern:/;\\s{0,10}(?:SELECT|INSERT|UPDATE|DELETE|DROP|CREATE|ALTER|EXEC)\\b/i},{id:\"sql-hex-encoding\",description:\"Hex-encoded string injection: 0x41414141 style (MySQL)\",pattern:/\\b0x[0-9a-f]{4,}/i}],wt=[{id:\"html-script-open\",description:\"<script opening tag\",pattern:/<script[\\s>/]/i},{id:\"html-script-close\",description:\"<\\/script closing tag\",pattern:/<\\/script[\\s>]/i},{id:\"html-javascript-protocol\",description:\"javascript: URI scheme (with optional whitespace/encoding)\",pattern:/j[\\t\\n\\r ]*a[\\t\\n\\r ]*v[\\t\\n\\r ]*a[\\t\\n\\r ]*s[\\t\\n\\r ]*c[\\t\\n\\r ]*r[\\t\\n\\r ]*i[\\t\\n\\r ]*p[\\t\\n\\r ]*t[\\t\\n\\r ]*:/i},{id:\"html-vbscript-protocol\",description:\"vbscript: URI scheme\",pattern:/vbscript[\\t\\n\\r ]*:/i},{id:\"html-data-html\",description:\"data:text/html URI — can execute scripts in browsers\",pattern:/data[\\t\\n\\r ]*:[\\t\\n\\r ]*text\\/html/i},{id:\"html-data-xhtml\",description:\"data:application/xhtml+xml URI\",pattern:/data[\\t\\n\\r ]*:[\\t\\n\\r ]*application\\/xhtml/i},{id:\"html-data-svg\",description:\"data:image/svg+xml URI — can execute scripts\",pattern:/data[\\t\\n\\r ]*:[\\t\\n\\r ]*image\\/svg\\+xml/i},{id:\"html-inline-event-handler\",description:\"Inline event handler attributes: onclick=, onerror=, onload=, etc.\",pattern:/\\bon\\w{1,30}\\s*=/i},{id:\"html-entity-obfuscated-script\",description:\"HTML-entity-encoded <script (e.g. &#x3C;script or &lt;script)\",pattern:/(?:&#x0*3[Cc];?|&#0*60;?|&lt;)\\s*script/i},{id:\"html-entity-obfuscated-javascript\",description:'HTML-entity-encoded javascript: (partial — catches common &#106; or &#x6a; for \"j\")',pattern:/(?:&#x0*6[Aa];?|&#0*106;?)\\s*(?:&#x0*61;?|a)[\\s\\S]{0,80}script\\s*:/i},{id:\"html-style-expression\",description:\"CSS expression() — IE-era code execution in style attributes\",pattern:/style[\\s\\S]{0,20}expression\\s*\\(/i},{id:\"html-object-embed\",description:\"<object or <embed tags that can load active content\",pattern:/<(?:object|embed)[\\s>/]/i},{id:\"html-base-tag\",description:\"<base href= — can hijack all relative URLs on a page\",pattern:/<base[\\s>]/i},{id:\"html-meta-refresh\",description:'<meta http-equiv=\"refresh\" — can redirect users',pattern:/<meta[\\s\\S]{0,40}http-equiv[\\s\\S]{0,20}refresh/i},{id:\"html-srcdoc\",description:\"srcdoc= attribute on iframes — embeds HTML that can run scripts\",pattern:/srcdoc\\s*=/i},{id:\"html-iframe\",description:\"<iframe tag\",pattern:/<iframe[\\s>/]/i},{id:\"html-form\",description:\"<form tag — can be used for phishing / credential harvesting injection\",pattern:/<form[\\s>/]/i}],vt=[{id:\"xml-cdata-injection\",description:\"CDATA section injection: <![CDATA[ breaks out of text node context\",pattern:/<!\\[CDATA\\[/i},{id:\"xml-cdata-close\",description:\"CDATA close sequence: ]]> can terminate an enclosing CDATA section\",pattern:/\\]\\]>/},{id:\"xml-processing-instruction\",description:\"XML processing instruction: <?xml-stylesheet or <?php etc.\",pattern:/<\\?(?:xml[\\- ]|php|asp)/i},{id:\"xml-doctype-injection\",description:\"DOCTYPE declaration embedded in content — can define entities\",pattern:/<!DOCTYPE(?:[\\s[]|$)/i},{id:\"xml-entity-system\",description:\"SYSTEM keyword — used in external entity declarations (XXE)\",pattern:/\\bSYSTEM\\s+[\"']/i},{id:\"xml-entity-public\",description:\"PUBLIC keyword — used in external entity declarations (XXE)\",pattern:/\\bPUBLIC\\s+[\"']/i},{id:\"xml-entity-declaration\",description:\"<!ENTITY declaration — defines entities, potential XXE or entity expansion\",pattern:/<!ENTITY[\\s%]/i},{id:\"xml-billion-laughs\",description:\"Entity reference chaining / billion laughs: repeated &eX; style references\",pattern:/(?:&\\w{1,20};){3,}/},{id:\"xml-namespace-confusion\",description:\"xmlns: attribute injection — can redefine namespaces to confuse parsers\",pattern:/\\bxmlns\\s*(?::\\w{1,40})?\\s*=/i},{id:\"xml-comment-injection\",description:\"\\x3c!-- comment injection — can hide content from some parsers\",pattern:/<!--/},{id:\"xml-comment-close\",description:\"--\\x3e closes an enclosing XML comment\",pattern:/-->/},{id:\"xml-pi-close\",description:\"?> closes an enclosing processing instruction\",pattern:/\\?>/}],St=[{id:\"svg-script-element\",description:\"<script element inside SVG executes JavaScript\",pattern:/<script[\\s>/]/i},{id:\"svg-xlink-href-javascript\",description:\"xlink:href with javascript: — classic SVG XSS via <a> or <use>\",pattern:/xlink\\s*:\\s*href\\s*=\\s*[\"']?\\s*javascript\\s*:/i},{id:\"svg-href-javascript\",description:\"href= with javascript: in SVG context (<a>, <animate>, etc.)\",pattern:/href\\s*=\\s*[\"']?\\s*javascript\\s*:/i},{id:\"svg-foreignobject\",description:\"<foreignObject embeds HTML inside SVG — can execute scripts\",pattern:/<foreignObject[\\s>/]/i},{id:\"svg-use-external\",description:\"<use xlink:href or href pointing to external resource (non-fragment URL)\",pattern:/<use[\\s\\S]{0,60}(?:xlink\\s*:\\s*)?href\\s*=\\s*(?:[\"'][^#]|[^\"'#\\s>])/i},{id:\"svg-animate-href\",description:'<animate attributeName=\"href\" — can dynamically change href to javascript:',pattern:/<animate[\\s\\S]{0,80}attributeName\\s*=\\s*[\"'][\\s]*href[\"']/i},{id:\"svg-animate-xlinkhref\",description:'<animate attributeName=\"xlink:href\"',pattern:/<animate[\\s\\S]{0,80}attributeName\\s*=\\s*[\"'][\\s]*xlink\\s*:\\s*href[\"']/i},{id:\"svg-set-javascript\",description:'<set to=\"javascript:...\" — sets an attribute to a javascript: URI',pattern:/<set[\\s\\S]{0,80}to\\s*=\\s*[\"']?\\s*javascript\\s*:/i},{id:\"svg-event-handler\",description:\"SVG-specific event handler attributes: onload=, onerror=, onactivate=, etc.\",pattern:/\\bon(?:load|error|activate|begin|end|repeat|focus|blur|click|mouse\\w{1,20}|key\\w{1,20})\\s*=/i},{id:\"svg-handler-generic\",description:\"Generic on* handler catch-all for SVG attributes\",pattern:/\\bon\\w{1,30}\\s*=/i},{id:\"svg-filter-feimage\",description:\"<feImage href= — filter primitive that can load external resources\",pattern:/<feImage[\\s\\S]{0,80}(?:xlink\\s*:\\s*)?href\\s*=/i},{id:\"svg-image-external\",description:\"<image xlink:href with http/https or javascript protocol\",pattern:/<image[\\s\\S]{0,80}(?:xlink\\s*:\\s*)?href\\s*=\\s*[\"']?\\s*(?:https?|javascript)\\s*:/i},{id:\"svg-style-javascript\",description:\"style= attribute containing javascript: (e.g. background:url(javascript:...))\",pattern:/style\\s*=[\\s\\S]{0,60}javascript\\s*:/i}],At=[{id:\"shell-path-traversal-unix\",description:\"Unix path traversal: ../ — climbing the directory tree\",pattern:/\\.\\.\\//},{id:\"shell-path-traversal-windows\",description:\"Windows path traversal: ..\\\\ — climbing the directory tree\",pattern:/\\.\\.\\\\/},{id:\"shell-path-traversal-encoded\",description:\"URL-encoded path traversal: %2e%2e or %2f variants\",pattern:/%2e%2e|%2f\\.\\.|\\.\\.%2f/i},{id:\"shell-null-byte\",description:\"Null byte injection: \\\\x00 or %00 — truncates strings in C-backed functions\",pattern:/\\x00|%00/},{id:\"shell-semicolon\",description:\"Semicolon command separator: cmd1; cmd2\",pattern:/;/},{id:\"shell-pipe\",description:\"Pipe operator: cmd1 | cmd2\",pattern:/\\|/},{id:\"shell-and-operator\",description:\"AND operator: cmd1 && cmd2\",pattern:/&&/},{id:\"shell-or-operator\",description:\"OR operator: cmd1 || cmd2\",pattern:/\\|\\|/},{id:\"shell-backtick\",description:\"Backtick command substitution: `cmd`\",pattern:/`/},{id:\"shell-dollar-paren\",description:\"Dollar-paren command substitution: $(cmd)\",pattern:/\\$\\(/},{id:\"shell-dollar-brace\",description:\"Dollar-brace variable expansion: ${var} — can be abused for injection\",pattern:/\\$\\{/},{id:\"shell-redirect-out\",description:\"Output redirection: cmd > file or cmd >> file\",pattern:/>{1,2}/},{id:\"shell-redirect-in\",description:\"Input redirection: cmd < file\",pattern:/</},{id:\"shell-newline-injection\",description:\"Newline injection: \\\\n or \\\\r — can inject new shell commands\",pattern:/[\\n\\r]/},{id:\"shell-glob-star\",description:\"Glob expansion: * or ? — can expand to unintended files\",pattern:/[/\\\\][*?]/},{id:\"shell-absolute-root\",description:\"Absolute root path injection: string starting with / or \\\\ (Windows UNC)\",pattern:/^(?:\\/|\\\\\\\\)/},{id:\"shell-windows-drive\",description:\"Windows drive letter path injection: C:\\\\ or D:/\",pattern:/^[a-zA-Z]:[/\\\\]/},{id:\"shell-curl-wget\",description:\"curl/wget with URL or flags — can exfiltrate data or download payloads\",pattern:/\\b(?:curl|wget)\\s+(?:https?:\\/\\/|ftp:\\/\\/|-)/i}],Tt=[{id:\"redos-nested-quantifier-plus\",description:\"Nested + quantifier inside a group with outer quantifier: (a+)+, (.+b)*, etc.\",pattern:/\\([^)]*\\+[^)]*\\)[+*]/},{id:\"redos-nested-quantifier-star\",description:\"Nested * quantifier: (a*)* or (a*)+ — catastrophic backtracking\",pattern:/\\([^)]*\\*[^)]*\\)[*+]/},{id:\"redos-nested-groups\",description:\"Doubly nested quantified groups: ((a+)+) — guaranteed catastrophic\",pattern:/\\(\\([^)]{0,40}\\)[+*]\\)[+*]/},{id:\"redos-alternation-overlap\",description:\"Overlapping alternation under quantifier: (a|a)+ — ambiguous NFA paths\",pattern:/\\(([^|()]{1,20})\\|(?:\\1)(?:\\|[^|()]{1,20}){0,5}\\)[+*?]{1,2}/},{id:\"redos-star-plus-concat\",description:\"(x*x)+ pattern — triggers super-linear backtracking\",pattern:/\\([^)]{0,10}\\*[^)]{0,10}\\)[+*]/},{id:\"redos-dot-star-greedy\",description:\"(.*){n,} or (.+){n,} — repeated greedy dot quantifiers\",pattern:/\\(\\.[*+]\\)\\{?\\d/},{id:\"redos-large-repetition\",description:\"Very large fixed or range repetition count {1000,} or {1000,n} — denial of service via backtracking\",pattern:/\\{\\d{4,}(?:,\\d*)?\\}/},{id:\"redos-catastrophic-alternation\",description:\"Long alternation with many similar branches — polynomial backtracking risk\",pattern:/\\([^)]{0,200}(?:\\|[^|)]{0,50}){9,}\\)/}],_t=\"[\\\"'\\\\s]*:\",Ct=[{id:\"nosql-where-operator\",description:\"$where — executes arbitrary JavaScript server-side in MongoDB\",pattern:new RegExp(`\\\\$where${_t}`,\"i\")},{id:\"nosql-ne-operator\",description:'$ne — \"not equal\" operator used to bypass equality checks',pattern:new RegExp(`\\\\$ne${_t}`,\"i\")},{id:\"nosql-gt-operator\",description:'$gt — \"greater than\" used to bypass password/value checks',pattern:new RegExp(`\\\\$gte?${_t}`,\"i\")},{id:\"nosql-lt-operator\",description:'$lt / $lte — \"less than\" bypass variants',pattern:new RegExp(`\\\\$lte?${_t}`,\"i\")},{id:\"nosql-regex-operator\",description:\"$regex — can be used to extract data character by character (blind injection)\",pattern:new RegExp(`\\\\$regex${_t}`,\"i\")},{id:\"nosql-or-operator\",description:\"$or — logical OR; used to create always-true conditions\",pattern:new RegExp(`\\\\$or${_t}\\\\s*\\\\[`,\"i\")},{id:\"nosql-and-operator\",description:\"$and — logical AND operator injection\",pattern:new RegExp(`\\\\$and${_t}\\\\s*\\\\[`,\"i\")},{id:\"nosql-nor-operator\",description:\"$nor — logical NOR operator injection\",pattern:new RegExp(`\\\\$nor${_t}\\\\s*\\\\[`,\"i\")},{id:\"nosql-exists-operator\",description:\"$exists — can enumerate fields to determine schema\",pattern:new RegExp(`\\\\$exists${_t}`,\"i\")},{id:\"nosql-in-operator\",description:\"$in — matches any value in a list; can enumerate values\",pattern:new RegExp(`\\\\$in${_t}\\\\s*\\\\[`,\"i\")},{id:\"nosql-expr-operator\",description:\"$expr — allows aggregation expressions in queries (MongoDB 3.6+)\",pattern:new RegExp(`\\\\$expr${_t}`,\"i\")},{id:\"nosql-function-operator\",description:\"$function — executes arbitrary JavaScript in MongoDB 4.4+\",pattern:new RegExp(`\\\\$function${_t}`,\"i\")},{id:\"nosql-accumulator-operator\",description:\"$accumulator — custom aggregation with arbitrary JS execution\",pattern:new RegExp(`\\\\$accumulator${_t}`,\"i\")},{id:\"nosql-proto-pollution\",description:\"__proto__ — prototype pollution via object key injection\",pattern:/__proto__/},{id:\"nosql-constructor-prototype\",description:\"constructor.prototype — alternative prototype pollution vector (dot notation or JSON key)\",pattern:/constructor[\\s\"':.,{\\[]*prototype/i},{id:\"nosql-proto-bracket\",description:'[\"__proto__\"] — bracket-notation prototype pollution',pattern:/\\[[\"']__proto__[\"']\\]/}],$t=[{id:\"log-crlf-injection\",description:\"CRLF injection: literal \\\\r or \\\\n embeds fake log lines\",pattern:/[\\r\\n]/},{id:\"log-url-encoded-crlf\",description:\"URL-encoded CRLF: %0d, %0a, %0D, %0A — decoded by some log parsers\",pattern:/%0[dDaA]/},{id:\"log-unicode-newline\",description:\"Unicode newline variants: U+2028 (line separator), U+2029 (paragraph separator)\",pattern:/[\\u2028\\u2029]/},{id:\"log-log4shell-jndi\",description:\"Log4Shell: ${jndi:...} triggers remote code execution in Apache Log4j\",pattern:/\\$\\{jndi\\s*:/i},{id:\"log-log4shell-obfuscated\",description:\"Obfuscated Log4Shell: ${::-j}... lookup-bypass prefix used to evade WAF detection\",pattern:/\\$\\{::-/},{id:\"log-log4j-lookup\",description:\"Log4j lookup syntax: ${env:...}, ${sys:...}, ${ctx:...} — data exfiltration\",pattern:/\\$\\{(?:env|sys|ctx|main|map|sd|web|docker|k8s|spring)\\s*:/i},{id:\"log-ssti-double-brace\",description:\"SSTI double-brace: {{expression}} — Jinja2, Twig, Handlebars, etc.\",pattern:/\\{\\{[\\s\\S]{0,80}\\}\\}/},{id:\"log-ssti-hash-brace\",description:\"SSTI hash-brace: #{expression} — Thymeleaf, Velocity, Ruby ERB\",pattern:/#\\{[\\s\\S]{0,80}\\}/},{id:\"log-ssti-dollar-brace\",description:\"SSTI/EL injection: ${expression with operators or method calls} — JSP EL, Freemarker, SpEL\",pattern:/\\$\\{[^}]*(?:\\.|\\(|\\*|\\+|\\bclass\\b|\\bruntime\\b|\\bprocess\\b|\\bexec\\b)[^}]{0,80}\\}/i},{id:\"log-ssti-percent-tag\",description:\"SSTI ERB/ASP tag: <%= expression %> — Ruby ERB, ASP\",pattern:/<%=[\\s\\S]{0,80}%>/},{id:\"log-null-byte\",description:\"Null byte: \\\\x00 or %00 — can truncate log entries in C-backed loggers\",pattern:/\\x00|%00/},{id:\"log-ansi-escape\",description:\"ANSI escape sequence: ESC[ — can manipulate terminal output when logs are tailed\",pattern:/\\x1b\\[/}];function Pt(t,e){const i=e.label??\"CUSTOM\";for(const n of e)if(n.pattern.test(t))return{context:i,id:n.id,description:n.description,pattern:n.pattern};return null}function Ot(t,e){(function(t){if(\"string\"!=typeof t)throw new TypeError(\"is-unsafe: first argument must be a string, got \"+typeof t)})(t),function(t){if(!(t instanceof RegExp)){if(!Array.isArray(t))throw new TypeError(\"is-unsafe: second argument must be a PatternList (e.g. HTML), an array of PatternLists (e.g. [HTML, XML]), or a RegExp. Got: \"+typeof t);if(0===t.length)throw new TypeError(\"is-unsafe: context must not be an empty array\");if(Array.isArray(t[0]))for(const e of t)if(!Array.isArray(e)||0===e.length)throw new TypeError(\"is-unsafe: each context in the array must be a non-empty pattern array (PatternList)\")}}(e);const{lists:i,regex:n}=function(t){return t instanceof RegExp?{lists:null,regex:t}:Array.isArray(t[0])?{lists:t,regex:null}:{lists:[t],regex:null}}(e);if(n)return n.test(t);for(const e of i)if(null!==Pt(t,e))return!0;return!1}function jt(t,e){if(!t)return{};const i=e.attributesGroupName?t[e.attributesGroupName]:t;if(!i)return{};const n={};for(const t in i)t.startsWith(e.attributeNamePrefix)?n[t.substring(e.attributeNamePrefix.length)]=i[t]:n[t]=i[t];return n}function It(t){if(!t||\"string\"!=typeof t)return;const e=t.indexOf(\":\");if(-1!==e&&e>0){const i=t.substring(0,e);if(\"xmlns\"!==i)return i}}wt.label=\"HTML\",vt.label=\"XML\",St.label=\"SVG\",Nt.label=\"SQL\",Et.label=\"SQL-STRICT\",At.label=\"SHELL\",Tt.label=\"REDOS\",Ct.label=\"NOSQL\",$t.label=\"LOG\",Object.freeze({HTML:wt,XML:vt,SVG:St,SQL:Nt,\"SQL-STRICT\":Et,SHELL:At,REDOS:Tt,NOSQL:Ct,LOG:$t});class kt{constructor(t,e){var i;this.options=t,this.currentNode=null,this.tagsNodeStack=[],this.parseXml=Vt,this.parseTextData=Lt,this.resolveNameSpace=Dt,this.buildAttributesMap=Mt,this.isItStopNode=Bt,this.replaceEntitiesValue=Ft,this.readStopNodeData=zt,this.saveTextToParentTag=Ut,this.addChild=qt,this.ignoreAttributesFn=\"function\"==typeof(i=this.options.ignoreAttributes)?i:Array.isArray(i)?t=>{for(const e of i){if(\"string\"==typeof e&&t===e)return!0;if(e instanceof RegExp&&e.test(t))return!0}}:()=>!1,this.entityExpansionCount=0,this.currentExpandedLength=0,this.doctypefound=!1;let n={...lt};this.options.entityDecoder?this.entityDecoder=this.options.entityDecoder:(\"object\"==typeof this.options.htmlEntities?n=this.options.htmlEntities:!0===this.options.htmlEntities&&(n={...pt,...at}),this.entityDecoder=new yt({namedEntities:{...n,...e},numericAllowed:this.options.htmlEntities,limit:{maxTotalExpansions:this.options.processEntities.maxTotalExpansions,maxExpandedLength:this.options.processEntities.maxExpandedLength,applyLimitsTo:this.options.processEntities.appliesTo},onInputEntity:(t,e)=>Ot(e,[wt,vt])?ct.BLOCK:ct.ALLOW})),this.matcher=new rt,this.readonlyMatcher=this.matcher.readOnly(),this.isCurrentNodeStopNode=!1,this.stopNodeExpressionsSet=new ot;const r=this.options.stopNodes;if(r&&r.length>0){for(let t=0;t<r.length;t++){const e=r[t];\"string\"==typeof e?this.stopNodeExpressionsSet.add(new st(e)):e instanceof st&&this.stopNodeExpressionsSet.add(e)}this.stopNodeExpressionsSet.seal()}}}function Lt(t,e,i,n,r,s,o){const a=this.options;if(void 0!==t&&(a.trimValues&&!n&&(t=t.trim()),t.length>0)){o||(t=this.replaceEntitiesValue(t,e,i));const n=a.jPath?i.toString():i,l=a.tagValueProcessor(e,t,n,r,s);return null==l?t:typeof l!=typeof t||l!==t?l:a.trimValues||t.trim()===t?Yt(t,a.parseTagValue,a.numberParseOptions):t}}function Dt(t){if(this.options.removeNSPrefix){const e=t.split(\":\"),i=\"/\"===t.charAt(0)?\"/\":\"\";if(\"xmlns\"===e[0])return\"\";2===e.length&&(t=i+e[1])}return t}const Rt=new RegExp(\"([^\\\\s=]+)\\\\s*(=\\\\s*(['\\\"])([\\\\s\\\\S]*?)\\\\3)?\",\"gm\");function Mt(t,e,i,n=!1){const s=this.options;if(!0===n||!0!==s.ignoreAttributes&&\"string\"==typeof t){const n=r(t,Rt),o=n.length,a={},l=new Array(o);let p=!1;const c={};for(let t=0;t<o;t++){const e=this.resolveNameSpace(n[t][1]),r=n[t][4];if(e.length&&void 0!==r){let n=r;s.trimValues&&(n=n.trim()),n=this.replaceEntitiesValue(n,i,this.readonlyMatcher),l[t]=n,c[e]=n,p=!0}}p&&\"object\"==typeof e&&e.updateCurrent&&e.updateCurrent(c);const h=s.jPath?e.toString():this.readonlyMatcher;let d=!1;for(let t=0;t<o;t++){const e=this.resolveNameSpace(n[t][1]);if(this.ignoreAttributesFn(e,h))continue;let i=s.attributeNamePrefix+e;if(e.length)if(s.transformAttributeName&&(i=s.transformAttributeName(i)),i=Qt(i,s),void 0!==n[t][4]){const n=l[t],r=s.attributeValueProcessor(e,n,h);a[i]=null==r?n:typeof r!=typeof n||r!==n?r:Yt(n,s.parseAttributeValue,s.numberParseOptions),d=!0}else s.allowBooleanAttributes&&(a[i]=!0,d=!0)}if(!d)return;if(s.attributesGroupName&&!s.preserveOrder){const t={};return t[s.attributesGroupName]=a,t}return a}}const Vt=function(t){t=t.replace(/\\r\\n?/g,\"\\n\");const e=new P(\"!xml\");let i=e,n=\"\";this.matcher.reset(),this.entityDecoder.reset(),this.entityExpansionCount=0,this.currentExpandedLength=0,this.doctypefound=!1;const r=this.options,s=new q(r.processEntities),o=t.length;for(let a=0;a<o;a++)if(\"<\"===t[a]){const l=t.charCodeAt(a+1);if(47===l){const e=Gt(t,\">\",a,\"Closing Tag is not closed.\");let s=t.substring(a+2,e).trim();if(r.removeNSPrefix){const t=s.indexOf(\":\");-1!==t&&(s=s.substr(t+1))}s=Ht(r.transformTagName,s,\"\",r).tagName,i&&(n=this.saveTextToParentTag(n,i,this.readonlyMatcher));const o=this.matcher.getCurrentTag();if(s&&r.unpairedTagsSet.has(s))throw new Error(`Unpaired tag can not be used as closing tag: </${s}>`);o&&r.unpairedTagsSet.has(o)&&(this.matcher.pop(),this.tagsNodeStack.pop()),this.matcher.pop(),this.isCurrentNodeStopNode=!1,i=this.tagsNodeStack.pop(),n=\"\",a=e}else if(63===l){let e=Wt(t,a,!1,\"?>\");if(!e)throw new Error(\"Pi Tag is not closed.\");n=this.saveTextToParentTag(n,i,this.readonlyMatcher);const o=this.buildAttributesMap(e.tagExp,this.matcher,e.tagName,!0);if(o){const t=o[this.options.attributeNamePrefix+\"version\"];this.entityDecoder.setXmlVersion(Number(t)||1),s.setXmlVersion(Number(t)||1)}if(r.ignoreDeclaration&&\"?xml\"===e.tagName||r.ignorePiTags);else{const t=new P(e.tagName);t.add(r.textNodeName,\"\"),e.tagName!==e.tagExp&&e.attrExpPresent&&!0!==r.ignoreAttributes&&(t[\":@\"]=o),this.addChild(i,t,this.readonlyMatcher,a)}a=e.closeIndex+1}else if(33===l&&45===t.charCodeAt(a+2)&&45===t.charCodeAt(a+3)){const e=Gt(t,\"--\\x3e\",a+4,\"Comment is not closed.\");if(r.commentPropName){const s=t.substring(a+4,e-2);n=this.saveTextToParentTag(n,i,this.readonlyMatcher),i.add(r.commentPropName,[{[r.textNodeName]:s}])}a=e}else if(33===l&&68===t.charCodeAt(a+2)){if(this.doctypefound)throw new Error(\"Multiple DOCTYPE declarations found.\");this.doctypefound=!0;const e=s.readDocType(t,a);this.entityDecoder.addInputEntities(e.entities),a=e.i}else if(33===l&&91===t.charCodeAt(a+2)){const e=Gt(t,\"]]>\",a,\"CDATA is not closed.\")-2,s=t.substring(a+9,e);n=this.saveTextToParentTag(n,i,this.readonlyMatcher);let o=this.parseTextData(s,i.tagname,this.readonlyMatcher,!0,!1,!0,!0);null==o&&(o=\"\"),r.cdataPropName?i.add(r.cdataPropName,[{[r.textNodeName]:s}]):i.add(r.textNodeName,o),a=e+2}else{let s=Wt(t,a,r.removeNSPrefix);if(!s){const e=t.substring(Math.max(0,a-50),Math.min(o,a+50));throw new Error(`readTagExp returned undefined at position ${a}. Context: \"${e}\"`)}let l=s.tagName;const p=s.rawTagName;let c=s.tagExp,h=s.attrExpPresent,d=s.closeIndex;if(({tagName:l,tagExp:c}=Ht(r.transformTagName,l,c,r)),r.strictReservedNames&&(l===r.commentPropName||l===r.cdataPropName||l===r.textNodeName||l===r.attributesGroupName))throw new Error(`Invalid tag name: ${l}`);i&&n&&\"!xml\"!==i.tagname&&(n=this.saveTextToParentTag(n,i,this.readonlyMatcher,!1));const u=i;u&&r.unpairedTagsSet.has(u.tagname)&&(i=this.tagsNodeStack.pop(),this.matcher.pop());let f=!1;c.length>0&&c.lastIndexOf(\"/\")===c.length-1&&(f=!0,\"/\"===l[l.length-1]?(l=l.substr(0,l.length-1),c=l):c=c.substr(0,c.length-1),h=l!==c);let g,m=null,x={};g=It(p),l!==e.tagname&&this.matcher.push(l,{},g),l!==c&&h&&(m=this.buildAttributesMap(c,this.matcher,l),m&&(x=jt(m,r))),l!==e.tagname&&(this.isCurrentNodeStopNode=this.isItStopNode());const b=a;if(this.isCurrentNodeStopNode){let e=\"\";if(f)a=s.closeIndex;else if(r.unpairedTagsSet.has(l))a=s.closeIndex;else{const i=this.readStopNodeData(t,p,d+1);if(!i)throw new Error(`Unexpected end of ${p}`);a=i.i,e=i.tagContent}const n=new P(l);m&&(n[\":@\"]=m),n.add(r.textNodeName,e),this.matcher.pop(),this.isCurrentNodeStopNode=!1,this.addChild(i,n,this.readonlyMatcher,b)}else{if(f){({tagName:l,tagExp:c}=Ht(r.transformTagName,l,c,r));const t=new P(l);m&&(t[\":@\"]=m),this.addChild(i,t,this.readonlyMatcher,b),this.matcher.pop(),this.isCurrentNodeStopNode=!1}else{if(r.unpairedTagsSet.has(l)){const t=new P(l);m&&(t[\":@\"]=m),this.addChild(i,t,this.readonlyMatcher,b),this.matcher.pop(),this.isCurrentNodeStopNode=!1,a=s.closeIndex;continue}{const t=new P(l);if(this.tagsNodeStack.length>r.maxNestedTags)throw new Error(\"Maximum nested tags exceeded\");this.tagsNodeStack.push(i),m&&(t[\":@\"]=m),this.addChild(i,t,this.readonlyMatcher,b),i=t}}n=\"\",a=d}}}else n+=t[a];return e.child};function qt(t,e,i,n){this.options.captureMetaData||(n=void 0);const r=this.options.jPath?i.toString():i,s=this.options.updateTag(e.tagname,r,e[\":@\"]);!1===s||(\"string\"==typeof s?(e.tagname=s,t.addChild(e,n)):t.addChild(e,n))}function Ft(t,e,i){const n=this.options.processEntities;if(!n||!n.enabled)return t;if(n.allowedTags){const r=this.options.jPath?i.toString():i;if(!(Array.isArray(n.allowedTags)?n.allowedTags.includes(e):n.allowedTags(e,r)))return t}if(n.tagFilter){const r=this.options.jPath?i.toString():i;if(!n.tagFilter(e,r))return t}return this.entityDecoder.decode(t)}function Ut(t,e,i,n){return t&&(void 0===n&&(n=0===e.child.length),void 0!==(t=this.parseTextData(t,e.tagname,i,!1,!!e[\":@\"]&&0!==Object.keys(e[\":@\"]).length,n))&&\"\"!==t&&e.add(this.options.textNodeName,t),t=\"\"),t}function Bt(){return 0!==this.stopNodeExpressionsSet.size&&this.matcher.matchesAny(this.stopNodeExpressionsSet)}function Gt(t,e,i,n){const r=t.indexOf(e,i);if(-1===r)throw new Error(n);return r+e.length-1}function Xt(t,e,i,n){const r=t.indexOf(e,i);if(-1===r)throw new Error(n);return r}function Wt(t,e,i,n=\">\"){const r=function(t,e,i=\">\"){let n=0;const r=t.length,s=i.charCodeAt(0),o=i.length>1?i.charCodeAt(1):-1;let a=\"\",l=e;for(let i=e;i<r;i++){const e=t.charCodeAt(i);if(n)e===n&&(n=0);else if(34===e||39===e)n=e;else if(e===s){if(-1===o)return a+=t.substring(l,i),{data:a,index:i};if(t.charCodeAt(i+1)===o)return a+=t.substring(l,i),{data:a,index:i}}else 9!==e||n||(a+=t.substring(l,i)+\" \",l=i+1)}}(t,e+1,n);if(!r)return;let s=r.data;const o=r.index,a=s.search(/\\s/);let l=s,p=!0;-1!==a&&(l=s.substring(0,a),s=s.substring(a+1).trimStart());const c=l;if(i){const t=l.indexOf(\":\");-1!==t&&(l=l.substr(t+1),p=l!==r.data.substr(t+1))}return{tagName:l,tagExp:s,closeIndex:o,attrExpPresent:p,rawTagName:c}}function zt(t,e,i){const n=i;let r=1;const s=t.length;for(;i<s;i++)if(\"<\"===t[i]){const s=t.charCodeAt(i+1);if(47===s){const s=Xt(t,\">\",i,`${e} is not closed`);if(t.substring(i+2,s).trim()===e&&(r--,0===r))return{tagContent:t.substring(n,i),i:s};i=s}else if(63===s)i=Gt(t,\"?>\",i+1,\"StopNode is not closed.\");else if(33===s&&45===t.charCodeAt(i+2)&&45===t.charCodeAt(i+3))i=Gt(t,\"--\\x3e\",i+3,\"StopNode is not closed.\");else if(33===s&&91===t.charCodeAt(i+2))i=Gt(t,\"]]>\",i,\"StopNode is not closed.\")-2;else{const n=Wt(t,i,!1);n&&((n&&n.tagName)===e&&\"/\"!==n.tagExp[n.tagExp.length-1]&&r++,i=n.closeIndex)}}}function Yt(t,e,i){if(e&&\"string\"==typeof t){const e=t.trim();return\"true\"===e||\"false\"!==e&&tt(t,i)}return void 0!==t?t:\"\"}function Ht(t,e,i,n){if(t){const n=t(e);i===e&&(i=n),e=n}return{tagName:e=Qt(e,n),tagExp:i}}function Qt(t,e){if(a.includes(t))throw new Error(`[SECURITY] Invalid name: \"${t}\" is a reserved JavaScript keyword that could cause prototype pollution`);return o.includes(t)?e.onDangerousProperty(t):t}const Jt=P.getMetaDataSymbol();function Zt(t,e){if(!t||\"object\"!=typeof t)return{};if(!e)return t;const i={};for(const n in t)n.startsWith(e)?i[n.substring(e.length)]=t[n]:i[n]=t[n];return i}function Kt(t,e,i,n){return te(t,e,i,n)}function te(t,e,i,n){let r;const s={};for(let o=0;o<t.length;o++){const a=t[o],l=ee(a);if(void 0!==l&&l!==e.textNodeName){const t=Zt(a[\":@\"]||{},e.attributeNamePrefix);i.push(l,t)}if(l===e.textNodeName)void 0===r?r=a[l]:r+=\"\"+a[l];else{if(void 0===l)continue;if(a[l]){let t=te(a[l],e,i,n);const r=ne(t,e);if(0===Object.keys(t).length&&e.alwaysCreateTextNode&&(t[e.textNodeName]=\"\"),a[\":@\"]?ie(t,a[\":@\"],n,e):1!==Object.keys(t).length||void 0===t[e.textNodeName]||e.alwaysCreateTextNode?0===Object.keys(t).length&&(e.alwaysCreateTextNode?t[e.textNodeName]=\"\":t=\"\"):t=t[e.textNodeName],void 0!==a[Jt]&&\"object\"==typeof t&&null!==t&&(t[Jt]=a[Jt]),void 0!==s[l]&&Object.prototype.hasOwnProperty.call(s,l))Array.isArray(s[l])||(s[l]=[s[l]]),s[l].push(t);else{const i=e.jPath?n.toString():n;e.isArray(l,i,r)?s[l]=[t]:s[l]=t}void 0!==l&&l!==e.textNodeName&&i.pop()}}}return\"string\"==typeof r?r.length>0&&(s[e.textNodeName]=r):void 0!==r&&(s[e.textNodeName]=r),s}function ee(t){const e=Object.keys(t);for(let t=0;t<e.length;t++){const i=e[t];if(\":@\"!==i)return i}}function ie(t,e,i,n){if(e){const r=Object.keys(e),s=r.length;for(let o=0;o<s;o++){const s=r[o],a=s.startsWith(n.attributeNamePrefix)?s.substring(n.attributeNamePrefix.length):s,l=n.jPath?i.toString()+\".\"+a:i;n.isArray(s,l,!0,!0)?t[s]=[e[s]]:t[s]=e[s]}}}function ne(t,e){const{textNodeName:i}=e,n=Object.keys(t).length;return 0===n||!(1!==n||!t[i]&&\"boolean\"!=typeof t[i]&&0!==t[i])}class re{constructor(t){this.externalEntities={},this.options=C(t)}parse(t,e){if(\"string\"!=typeof t&&t.toString)t=t.toString();else if(\"string\"!=typeof t)throw new Error(\"XML data is accepted in String or Bytes[] form.\");if(e){!0===e&&(e={});const i=p(t,e);if(!0!==i)throw Error(`${i.err.msg}:${i.err.line}:${i.err.col}`)}const i=new kt(this.options,this.externalEntities),n=i.parseXml(t);return this.options.preserveOrder||void 0===n?n:Kt(n,this.options,i.matcher,i.readonlyMatcher)}addEntity(t,e){if(-1!==e.indexOf(\"&\"))throw new Error(\"Entity value can't have '&'\");if(-1!==t.indexOf(\"&\")||-1!==t.indexOf(\";\"))throw new Error(\"An entity must be set without '&' and ';'. Eg. use '#xD' for '&#xD;'\");if(\"&\"===e)throw new Error(\"An entity with value '&' is not permitted\");this.externalEntities[t]=e}static getMetaDataSymbol(){return P.getMetaDataSymbol()}}function se(t){return String(t).replace(/--/g,\"- -\").replace(/--/g,\"- -\").replace(/-$/,\"- \")}function oe(t){return String(t).replace(/\\]\\]>/g,\"]]]]><![CDATA[>\")}function ae(t){return String(t).replace(/\"/g,\"&quot;\").replace(/'/g,\"&apos;\")}const le=\":A-Za-z_À-ÖØ-öø-˿Ͱ-ͽͿ-҆҈-῿‌-‍⁰-↏Ⰰ-⿯、-퟿豈-﷏ﷰ-�\",pe=\":A-Za-z_À-˿Ͱ-ͽͿ-҆҈-῿‌-‍⁰-↏Ⰰ-⿯、-퟿豈-﷏ﷰ-�𐀀-󯿿\",ce=pe+\"\\\\-\\\\.\\\\d·̀-ͯ҇‿-⁀\",he=(t,e,i=\"\")=>{const n=`[${t.replace(\":\",\"\")}][${e.replace(\":\",\"\")}]*`;return{name:new RegExp(`^[${t}][${e}]*$`,i),ncName:new RegExp(`^${n}$`,i),qName:new RegExp(`^${n}(?::${n})?$`,i),nmToken:new RegExp(`^[${e}]+$`,i),nmTokens:new RegExp(`^[${e}]+(?:\\\\s+[${e}]+)*$`,i)}},de=he(le,le+\"\\\\-\\\\.\\\\d·̀-ͯ‿-⁀\"),ue=he(pe,ce,\"u\"),fe=(t,{xmlVersion:e=\"1.0\"}={})=>((t=\"1.0\")=>\"1.1\"===t?ue:de)(e).qName.test(t);function ge(t,e,i,n,r){return i.sanitizeName?fe(t,{xmlVersion:r})?t:i.sanitizeName(t,{isAttribute:e,matcher:n.readOnly()}):t}function me(t,e){let i=\"\";e.format&&(i=\"\\n\");const n=[];if(e.stopNodes&&Array.isArray(e.stopNodes))for(let t=0;t<e.stopNodes.length;t++){const i=e.stopNodes[t];\"string\"==typeof i?n.push(new st(i)):i instanceof st&&n.push(i)}const r=function(t,e){if(!Array.isArray(t)||0===t.length)return\"1.0\";const i=t[0];if(\"?xml\"===Ee(i)){const t=i[\":@\"];if(t){const i=e.attributeNamePrefix+\"version\";if(t[i])return t[i]}}return\"1.0\"}(t,e);return xe(t,e,i,new rt,n,r)}function xe(t,e,i,n,r,s){let o=\"\",a=!1;if(e.maxNestedTags&&n.getDepth()>e.maxNestedTags)throw new Error(\"Maximum nested tags exceeded\");if(!Array.isArray(t)){if(null!=t){let i=t.toString();return i=Se(i,e),i}return\"\"}for(let l=0;l<t.length;l++){const p=t[l],c=Ee(p);if(void 0===c)continue;const h=c===e.textNodeName||c===e.cdataPropName||c===e.commentPropName||\"?\"===c[0]?c:ge(c,!1,e,n,s),d=be(p[\":@\"],e);n.push(h,d);const u=ve(n,r);if(h===e.textNodeName){let t=p[c];u||(t=e.tagValueProcessor(h,t),t=Se(t,e)),a&&(o+=i),o+=t,a=!1,n.pop();continue}if(h===e.cdataPropName){a&&(o+=i),o+=`<![CDATA[${oe(p[c][0][e.textNodeName])}]]>`,a=!1,n.pop();continue}if(h===e.commentPropName){o+=i+`\\x3c!--${se(p[c][0][e.textNodeName])}--\\x3e`,a=!0,n.pop();continue}if(\"?\"===h[0]){o+=(\"?xml\"===h?\"\":i)+`<${h}${we(p[\":@\"],e,u,n,s)}?>`,a=!0,n.pop();continue}let f=i;\"\"!==f&&(f+=e.indentBy);const g=i+`<${h}${we(p[\":@\"],e,u,n,s)}`;let m;m=u?ye(p[c],e):xe(p[c],e,f,n,r,s),-1!==e.unpairedTags.indexOf(h)?e.suppressUnpairedNode?o+=g+\">\":o+=g+\"/>\":m&&0!==m.length||!e.suppressEmptyNode?m&&m.endsWith(\">\")?o+=g+`>${m}${i}</${h}>`:(o+=g+\">\",m&&\"\"!==i&&(m.includes(\"/>\")||m.includes(\"</\"))?o+=i+e.indentBy+m+i:o+=m,o+=`</${h}>`):o+=g+\"/>\",a=!0,n.pop()}return o}function be(t,e){if(!t||e.ignoreAttributes)return null;const i={};let n=!1;for(let r in t)Object.prototype.hasOwnProperty.call(t,r)&&(i[r.startsWith(e.attributeNamePrefix)?r.substr(e.attributeNamePrefix.length):r]=ae(t[r]),n=!0);return n?i:null}function ye(t,e){if(!Array.isArray(t))return null!=t?t.toString():\"\";let i=\"\";for(let n=0;n<t.length;n++){const r=t[n],s=Ee(r);if(s===e.textNodeName)i+=r[s];else if(s===e.cdataPropName)i+=r[s][0][e.textNodeName];else if(s===e.commentPropName)i+=r[s][0][e.textNodeName];else{if(s&&\"?\"===s[0])continue;if(s){const t=Ne(r[\":@\"],e),n=ye(r[s],e);n&&0!==n.length?i+=`<${s}${t}>${n}</${s}>`:i+=`<${s}${t}/>`}}}return i}function Ne(t,e){let i=\"\";if(t&&!e.ignoreAttributes)for(let n in t){if(!Object.prototype.hasOwnProperty.call(t,n))continue;let r=t[n];!0===r&&e.suppressBooleanAttributes?i+=` ${n.substr(e.attributeNamePrefix.length)}`:i+=` ${n.substr(e.attributeNamePrefix.length)}=\"${ae(r)}\"`}return i}function Ee(t){const e=Object.keys(t);for(let i=0;i<e.length;i++){const n=e[i];if(Object.prototype.hasOwnProperty.call(t,n)&&\":@\"!==n)return n}}function we(t,e,i,n,r){let s=\"\";if(t&&!e.ignoreAttributes)for(let o in t){if(!Object.prototype.hasOwnProperty.call(t,o))continue;const a=o.substr(e.attributeNamePrefix.length),l=i?a:ge(a,!0,e,n,r);let p;i?p=t[o]:(p=e.attributeValueProcessor(o,t[o]),p=Se(p,e)),!0===p&&e.suppressBooleanAttributes?s+=` ${l}`:s+=` ${l}=\"${ae(p)}\"`}return s}function ve(t,e){if(!e||0===e.length)return!1;for(let i=0;i<e.length;i++)if(t.matches(e[i]))return!0;return!1}function Se(t,e){if(t&&t.length>0&&e.processEntities)for(let i=0;i<e.entities.length;i++){const n=e.entities[i];t=t.replace(n.regex,n.val)}return t}const Ae={attributeNamePrefix:\"@_\",attributesGroupName:!1,textNodeName:\"#text\",ignoreAttributes:!0,cdataPropName:!1,format:!1,indentBy:\" \",suppressEmptyNode:!1,suppressUnpairedNode:!0,suppressBooleanAttributes:!0,tagValueProcessor:function(t,e){return e},attributeValueProcessor:function(t,e){return e},preserveOrder:!1,commentPropName:!1,unpairedTags:[],entities:[{regex:new RegExp(\"&\",\"g\"),val:\"&amp;\"},{regex:new RegExp(\">\",\"g\"),val:\"&gt;\"},{regex:new RegExp(\"<\",\"g\"),val:\"&lt;\"},{regex:new RegExp(\"'\",\"g\"),val:\"&apos;\"},{regex:new RegExp('\"',\"g\"),val:\"&quot;\"}],processEntities:!0,stopNodes:[],oneListGroup:!1,maxNestedTags:100,jPath:!0,sanitizeName:!1};function Te(t){if(this.options=Object.assign({},Ae,t),this.options.stopNodes&&Array.isArray(this.options.stopNodes)&&(this.options.stopNodes=this.options.stopNodes.map(t=>\"string\"==typeof t&&t.startsWith(\"*.\")?\"..\"+t.substring(2):t)),this.stopNodeExpressions=[],this.options.stopNodes&&Array.isArray(this.options.stopNodes))for(let t=0;t<this.options.stopNodes.length;t++){const e=this.options.stopNodes[t];\"string\"==typeof e?this.stopNodeExpressions.push(new st(e)):e instanceof st&&this.stopNodeExpressions.push(e)}var e;!0===this.options.ignoreAttributes||this.options.attributesGroupName?this.isAttribute=function(){return!1}:(this.ignoreAttributesFn=\"function\"==typeof(e=this.options.ignoreAttributes)?e:Array.isArray(e)?t=>{for(const i of e){if(\"string\"==typeof i&&t===i)return!0;if(i instanceof RegExp&&i.test(t))return!0}}:()=>!1,this.attrPrefixLen=this.options.attributeNamePrefix.length,this.isAttribute=Pe),this.processTextOrObjNode=Ce,this.options.format?(this.indentate=$e,this.tagEndChar=\">\\n\",this.newLine=\"\\n\"):(this.indentate=function(){return\"\"},this.tagEndChar=\">\",this.newLine=\"\")}function _e(t,e,i,n,r){return i.sanitizeName?fe(t,{xmlVersion:r})?t:i.sanitizeName(t,{isAttribute:e,matcher:n.readOnly()}):t}function Ce(t,e,i,n,r){const s=this.extractAttributes(t);if(n.push(e,s),this.checkStopNode(n)){const r=this.buildRawContent(t),s=this.buildAttributesForStopNode(t);return n.pop(),this.buildObjectNode(r,e,s,i)}const o=this.j2x(t,i+1,n,r);return n.pop(),\"?\"===e[0]?this.buildTextValNode(\"\",e,o.attrStr,i,n):void 0!==t[this.options.textNodeName]&&1===Object.keys(t).length?this.buildTextValNode(t[this.options.textNodeName],e,o.attrStr,i,n):this.buildObjectNode(o.val,e,o.attrStr,i)}function $e(t){return this.options.indentBy.repeat(t)}function Pe(t){return!(!t.startsWith(this.options.attributeNamePrefix)||t===this.options.textNodeName)&&t.substr(this.attrPrefixLen)}Te.prototype.build=function(t){if(this.options.preserveOrder)return me(t,this.options);{Array.isArray(t)&&this.options.arrayNodeName&&this.options.arrayNodeName.length>1&&(t={[this.options.arrayNodeName]:t});const e=new rt,i=function(t,e){const i=t[\"?xml\"];if(i&&\"object\"==typeof i){if(e.attributesGroupName&&i[e.attributesGroupName]){const t=i[e.attributesGroupName][e.attributeNamePrefix+\"version\"];if(t)return t}const t=i[e.attributeNamePrefix+\"version\"];if(t)return t}return\"1.0\"}(t,this.options);return this.j2x(t,0,e,i).val}},Te.prototype.j2x=function(t,e,i,n){let r=\"\",s=\"\";if(this.options.maxNestedTags&&i.getDepth()>=this.options.maxNestedTags)throw new Error(\"Maximum nested tags exceeded\");const o=this.options.jPath?i.toString():i,a=this.checkStopNode(i);for(let l in t){if(!Object.prototype.hasOwnProperty.call(t,l))continue;const p=l===this.options.textNodeName||l===this.options.cdataPropName||l===this.options.commentPropName||this.options.attributesGroupName&&l===this.options.attributesGroupName||this.isAttribute(l)||\"?\"===l[0]?l:_e(l,!1,this.options,i,n);if(void 0===t[l])this.isAttribute(l)&&(s+=\"\");else if(null===t[l])this.isAttribute(l)||p===this.options.cdataPropName||p===this.options.commentPropName?s+=\"\":\"?\"===p[0]?s+=this.indentate(e)+\"<\"+p+\"?\"+this.tagEndChar:s+=this.indentate(e)+\"<\"+p+\"/\"+this.tagEndChar;else if(t[l]instanceof Date)s+=this.buildTextValNode(t[l],p,\"\",e,i);else if(\"object\"!=typeof t[l]){const c=this.isAttribute(l);if(c&&!this.ignoreAttributesFn(c,o)){const e=_e(c,!0,this.options,i,n);r+=this.buildAttrPairStr(e,\"\"+t[l],a)}else if(!c)if(l===this.options.textNodeName){let e=this.options.tagValueProcessor(l,\"\"+t[l]);s+=this.replaceEntitiesValue(e)}else{i.push(p);const n=this.checkStopNode(i);if(i.pop(),n){const i=\"\"+t[l];s+=\"\"===i?this.indentate(e)+\"<\"+p+this.closeTag(p)+this.tagEndChar:this.indentate(e)+\"<\"+p+\">\"+i+\"</\"+p+this.tagEndChar}else s+=this.buildTextValNode(t[l],p,\"\",e,i)}}else if(Array.isArray(t[l])){const r=t[l].length;let o=\"\",a=\"\";for(let c=0;c<r;c++){const r=t[l][c];if(void 0===r);else if(null===r)\"?\"===p[0]?s+=this.indentate(e)+\"<\"+p+\"?\"+this.tagEndChar:s+=this.indentate(e)+\"<\"+p+\"/\"+this.tagEndChar;else if(\"object\"==typeof r)if(this.options.oneListGroup){i.push(p);const t=this.j2x(r,e+1,i,n);i.pop(),o+=t.val,this.options.attributesGroupName&&r.hasOwnProperty(this.options.attributesGroupName)&&(a+=t.attrStr)}else o+=this.processTextOrObjNode(r,p,e,i,n);else if(this.options.oneListGroup){let t=this.options.tagValueProcessor(p,r);t=this.replaceEntitiesValue(t),o+=t}else{i.push(p);const t=this.checkStopNode(i);if(i.pop(),t){const t=\"\"+r;o+=\"\"===t?this.indentate(e)+\"<\"+p+this.closeTag(p)+this.tagEndChar:this.indentate(e)+\"<\"+p+\">\"+t+\"</\"+p+this.tagEndChar}else o+=this.buildTextValNode(r,p,\"\",e,i)}}this.options.oneListGroup&&(o=this.buildObjectNode(o,p,a,e)),s+=o}else if(this.options.attributesGroupName&&l===this.options.attributesGroupName){const e=Object.keys(t[l]),s=e.length;for(let o=0;o<s;o++){const s=_e(e[o],!0,this.options,i,n);r+=this.buildAttrPairStr(s,\"\"+t[l][e[o]],a)}}else s+=this.processTextOrObjNode(t[l],p,e,i,n)}return{attrStr:r,val:s}},Te.prototype.buildAttrPairStr=function(t,e,i){return i||(e=this.options.attributeValueProcessor(t,\"\"+e),e=this.replaceEntitiesValue(e)),this.options.suppressBooleanAttributes&&\"true\"===e?\" \"+t:\" \"+t+'=\"'+ae(e)+'\"'},Te.prototype.extractAttributes=function(t){if(!t||\"object\"!=typeof t)return null;const e={};let i=!1;if(this.options.attributesGroupName&&t[this.options.attributesGroupName]){const n=t[this.options.attributesGroupName];for(let t in n)Object.prototype.hasOwnProperty.call(n,t)&&(e[t.startsWith(this.options.attributeNamePrefix)?t.substring(this.options.attributeNamePrefix.length):t]=ae(n[t]),i=!0)}else for(let n in t){if(!Object.prototype.hasOwnProperty.call(t,n))continue;const r=this.isAttribute(n);r&&(e[r]=ae(t[n]),i=!0)}return i?e:null},Te.prototype.buildRawContent=function(t){if(\"string\"==typeof t)return t;if(\"object\"!=typeof t||null===t)return String(t);if(void 0!==t[this.options.textNodeName])return t[this.options.textNodeName];let e=\"\";for(let i in t){if(!Object.prototype.hasOwnProperty.call(t,i))continue;if(this.isAttribute(i))continue;if(this.options.attributesGroupName&&i===this.options.attributesGroupName)continue;const n=t[i];if(i===this.options.textNodeName)e+=n;else if(Array.isArray(n)){for(let t of n)if(\"string\"==typeof t||\"number\"==typeof t)e+=`<${i}>${t}</${i}>`;else if(\"object\"==typeof t&&null!==t){const n=this.buildRawContent(t),r=this.buildAttributesForStopNode(t);e+=\"\"===n?`<${i}${r}/>`:`<${i}${r}>${n}</${i}>`}}else if(\"object\"==typeof n&&null!==n){const t=this.buildRawContent(n),r=this.buildAttributesForStopNode(n);e+=\"\"===t?`<${i}${r}/>`:`<${i}${r}>${t}</${i}>`}else e+=`<${i}>${n}</${i}>`}return e},Te.prototype.buildAttributesForStopNode=function(t){if(!t||\"object\"!=typeof t)return\"\";let e=\"\";if(this.options.attributesGroupName&&t[this.options.attributesGroupName]){const i=t[this.options.attributesGroupName];for(let t in i){if(!Object.prototype.hasOwnProperty.call(i,t))continue;const n=t.startsWith(this.options.attributeNamePrefix)?t.substring(this.options.attributeNamePrefix.length):t,r=i[t];!0===r&&this.options.suppressBooleanAttributes?e+=\" \"+n:e+=\" \"+n+'=\"'+r+'\"'}}else for(let i in t){if(!Object.prototype.hasOwnProperty.call(t,i))continue;const n=this.isAttribute(i);if(n){const r=t[i];!0===r&&this.options.suppressBooleanAttributes?e+=\" \"+n:e+=\" \"+n+'=\"'+r+'\"'}}return e},Te.prototype.buildObjectNode=function(t,e,i,n){if(\"\"===t)return\"?\"===e[0]?this.indentate(n)+\"<\"+e+i+\"?\"+this.tagEndChar:this.indentate(n)+\"<\"+e+i+this.closeTag(e)+this.tagEndChar;if(\"?\"===e[0])return this.indentate(n)+\"<\"+e+i+\"?\"+this.tagEndChar;{let r=\"</\"+e+this.tagEndChar,s=\"\";return\"?\"===e[0]&&(s=\"?\",r=\"\"),!i&&\"\"!==i||-1!==t.indexOf(\"<\")?!1!==this.options.commentPropName&&e===this.options.commentPropName&&0===s.length?this.indentate(n)+`\\x3c!--${t}--\\x3e`+this.newLine:this.indentate(n)+\"<\"+e+i+s+this.tagEndChar+t+this.indentate(n)+r:this.indentate(n)+\"<\"+e+i+s+\">\"+t+r}},Te.prototype.closeTag=function(t){let e=\"\";return-1!==this.options.unpairedTags.indexOf(t)?this.options.suppressUnpairedNode||(e=\"/\"):e=this.options.suppressEmptyNode?\"/\":`></${t}`,e},Te.prototype.checkStopNode=function(t){if(!this.stopNodeExpressions||0===this.stopNodeExpressions.length)return!1;for(let e=0;e<this.stopNodeExpressions.length;e++)if(t.matches(this.stopNodeExpressions[e]))return!0;return!1},Te.prototype.buildTextValNode=function(t,e,i,n,r){if(!1!==this.options.cdataPropName&&e===this.options.cdataPropName){const e=oe(t);return this.indentate(n)+`<![CDATA[${e}]]>`+this.newLine}if(!1!==this.options.commentPropName&&e===this.options.commentPropName){const e=se(t);return this.indentate(n)+`\\x3c!--${e}--\\x3e`+this.newLine}if(\"?\"===e[0])return this.indentate(n)+\"<\"+e+i+\"?\"+this.tagEndChar;{let r=this.options.tagValueProcessor(e,t);return r=this.replaceEntitiesValue(r),\"\"===r?this.indentate(n)+\"<\"+e+i+this.closeTag(e)+this.tagEndChar:this.indentate(n)+\"<\"+e+i+\">\"+r+\"</\"+e+this.tagEndChar}},Te.prototype.replaceEntitiesValue=function(t){if(t&&t.length>0&&this.options.processEntities)for(let e=0;e<this.options.entities.length;e++){const i=this.options.entities[e];t=t.replace(i.regex,i.val)}return t};const Oe=Te,je={validate:p};module.exports=e})();","\"use strict\";\nObject.defineProperty(exports, \"__esModule\", { value: true });\nexports.parseXML = parseXML;\nconst fast_xml_parser_1 = require(\"fast-xml-parser\");\nconst parser = new fast_xml_parser_1.XMLParser({\n attributeNamePrefix: \"\",\n htmlEntities: true,\n ignoreAttributes: false,\n ignoreDeclaration: true,\n parseTagValue: false,\n trimValues: false,\n tagValueProcessor: (_, val) => (val.trim() === \"\" && val.includes(\"\\n\") ? \"\" : undefined),\n maxNestedTags: 1024,\n});\nparser.addEntity(\"#xD\", \"\\r\");\nparser.addEntity(\"#10\", \"\\n\");\nfunction parseXML(xmlString) {\n return parser.parse(xmlString, true);\n}\n","'use strict';\n\nvar xmlParser = require('./xml-parser');\n\nfunction escapeAttribute(value) {\n return value.replace(/&/g, \"&amp;\").replace(/</g, \"&lt;\").replace(/>/g, \"&gt;\").replace(/\"/g, \"&quot;\");\n}\n\nfunction escapeElement(value) {\n return value\n .replace(/&/g, \"&amp;\")\n .replace(/\"/g, \"&quot;\")\n .replace(/'/g, \"&apos;\")\n .replace(/</g, \"&lt;\")\n .replace(/>/g, \"&gt;\")\n .replace(/\\r/g, \"&#x0D;\")\n .replace(/\\n/g, \"&#x0A;\")\n .replace(/\\u0085/g, \"&#x85;\")\n .replace(/\\u2028/, \"&#x2028;\");\n}\n\nclass XmlText {\n value;\n constructor(value) {\n this.value = value;\n }\n toString() {\n return escapeElement(\"\" + this.value);\n }\n}\n\nclass XmlNode {\n name;\n children;\n attributes = {};\n static of(name, childText, withName) {\n const node = new XmlNode(name);\n if (childText !== undefined) {\n node.addChildNode(new XmlText(childText));\n }\n if (withName !== undefined) {\n node.withName(withName);\n }\n return node;\n }\n constructor(name, children = []) {\n this.name = name;\n this.children = children;\n }\n withName(name) {\n this.name = name;\n return this;\n }\n addAttribute(name, value) {\n this.attributes[name] = value;\n return this;\n }\n addChildNode(child) {\n this.children.push(child);\n return this;\n }\n removeAttribute(name) {\n delete this.attributes[name];\n return this;\n }\n n(name) {\n this.name = name;\n return this;\n }\n c(child) {\n this.children.push(child);\n return this;\n }\n a(name, value) {\n if (value != null) {\n this.attributes[name] = value;\n }\n return this;\n }\n cc(input, field, withName = field) {\n if (input[field] != null) {\n const node = XmlNode.of(field, input[field]).withName(withName);\n this.c(node);\n }\n }\n l(input, listName, memberName, valueProvider) {\n if (input[listName] != null) {\n const nodes = valueProvider();\n nodes.map((node) => {\n node.withName(memberName);\n this.c(node);\n });\n }\n }\n lc(input, listName, memberName, valueProvider) {\n if (input[listName] != null) {\n const nodes = valueProvider();\n const containerNode = new XmlNode(memberName);\n nodes.map((node) => {\n containerNode.c(node);\n });\n this.c(containerNode);\n }\n }\n toString() {\n const hasChildren = Boolean(this.children.length);\n let xmlText = `<${this.name}`;\n const attributes = this.attributes;\n for (const attributeName of Object.keys(attributes)) {\n const attribute = attributes[attributeName];\n if (attribute != null) {\n xmlText += ` ${attributeName}=\"${escapeAttribute(\"\" + attribute)}\"`;\n }\n }\n return (xmlText += !hasChildren ? \"/>\" : `>${this.children.map((c) => c.toString()).join(\"\")}</${this.name}>`);\n }\n}\n\nexports.parseXML = xmlParser.parseXML;\nexports.XmlNode = XmlNode;\nexports.XmlText = XmlText;\n","import { parseXML } from \"@aws-sdk/xml-builder\";\nimport { FromStringShapeDeserializer } from \"@smithy/core/protocols\";\nimport { NormalizedSchema } from \"@smithy/core/schema\";\nimport { getValueFromTextNode } from \"@smithy/smithy-client\";\nimport { toUtf8 } from \"@smithy/util-utf8\";\nimport { SerdeContextConfig } from \"../ConfigurableSerdeContext\";\nimport { UnionSerde } from \"../UnionSerde\";\nexport class XmlShapeDeserializer extends SerdeContextConfig {\n settings;\n stringDeserializer;\n constructor(settings) {\n super();\n this.settings = settings;\n this.stringDeserializer = new FromStringShapeDeserializer(settings);\n }\n setSerdeContext(serdeContext) {\n this.serdeContext = serdeContext;\n this.stringDeserializer.setSerdeContext(serdeContext);\n }\n read(schema, bytes, key) {\n const ns = NormalizedSchema.of(schema);\n const memberSchemas = ns.getMemberSchemas();\n const isEventPayload = ns.isStructSchema() &&\n ns.isMemberSchema() &&\n !!Object.values(memberSchemas).find((memberNs) => {\n return !!memberNs.getMemberTraits().eventPayload;\n });\n if (isEventPayload) {\n const output = {};\n const memberName = Object.keys(memberSchemas)[0];\n const eventMemberSchema = memberSchemas[memberName];\n if (eventMemberSchema.isBlobSchema()) {\n output[memberName] = bytes;\n }\n else {\n output[memberName] = this.read(memberSchemas[memberName], bytes);\n }\n return output;\n }\n const xmlString = (this.serdeContext?.utf8Encoder ?? toUtf8)(bytes);\n const parsedObject = this.parseXml(xmlString);\n return this.readSchema(schema, key ? parsedObject[key] : parsedObject);\n }\n readSchema(_schema, value) {\n const ns = NormalizedSchema.of(_schema);\n if (ns.isUnitSchema()) {\n return;\n }\n const traits = ns.getMergedTraits();\n if (ns.isListSchema() && !Array.isArray(value)) {\n return this.readSchema(ns, [value]);\n }\n if (value == null) {\n return value;\n }\n if (typeof value === \"object\") {\n const flat = !!traits.xmlFlattened;\n if (ns.isListSchema()) {\n const listValue = ns.getValueSchema();\n const buffer = [];\n const sourceKey = listValue.getMergedTraits().xmlName ?? \"member\";\n const source = flat ? value : (value[0] ?? value)[sourceKey];\n if (source == null) {\n return buffer;\n }\n const sourceArray = Array.isArray(source) ? source : [source];\n for (const v of sourceArray) {\n buffer.push(this.readSchema(listValue, v));\n }\n return buffer;\n }\n const buffer = {};\n if (ns.isMapSchema()) {\n const keyNs = ns.getKeySchema();\n const memberNs = ns.getValueSchema();\n let entries;\n if (flat) {\n entries = Array.isArray(value) ? value : [value];\n }\n else {\n entries = Array.isArray(value.entry) ? value.entry : [value.entry];\n }\n const keyProperty = keyNs.getMergedTraits().xmlName ?? \"key\";\n const valueProperty = memberNs.getMergedTraits().xmlName ?? \"value\";\n for (const entry of entries) {\n const key = entry[keyProperty];\n const value = entry[valueProperty];\n buffer[key] = this.readSchema(memberNs, value);\n }\n return buffer;\n }\n if (ns.isStructSchema()) {\n const union = ns.isUnionSchema();\n let unionSerde;\n if (union) {\n unionSerde = new UnionSerde(value, buffer);\n }\n for (const [memberName, memberSchema] of ns.structIterator()) {\n const memberTraits = memberSchema.getMergedTraits();\n const xmlObjectKey = !memberTraits.httpPayload\n ? memberSchema.getMemberTraits().xmlName ?? memberName\n : memberTraits.xmlName ?? memberSchema.getName();\n if (union) {\n unionSerde.mark(xmlObjectKey);\n }\n if (value[xmlObjectKey] != null) {\n buffer[memberName] = this.readSchema(memberSchema, value[xmlObjectKey]);\n }\n }\n if (union) {\n unionSerde.writeUnknown();\n }\n return buffer;\n }\n if (ns.isDocumentSchema()) {\n return value;\n }\n throw new Error(`@aws-sdk/core/protocols - xml deserializer unhandled schema type for ${ns.getName(true)}`);\n }\n if (ns.isListSchema()) {\n return [];\n }\n if (ns.isMapSchema() || ns.isStructSchema()) {\n return {};\n }\n return this.stringDeserializer.read(ns, value);\n }\n parseXml(xml) {\n if (xml.length) {\n let parsedObj;\n try {\n parsedObj = parseXML(xml);\n }\n catch (e) {\n if (e && typeof e === \"object\") {\n Object.defineProperty(e, \"$responseBodyText\", {\n value: xml,\n });\n }\n throw e;\n }\n const textNodeName = \"#text\";\n const key = Object.keys(parsedObj)[0];\n const parsedObjToReturn = parsedObj[key];\n if (parsedObjToReturn[textNodeName]) {\n parsedObjToReturn[key] = parsedObjToReturn[textNodeName];\n delete parsedObjToReturn[textNodeName];\n }\n return getValueFromTextNode(parsedObjToReturn);\n }\n return {};\n }\n}\n","import { determineTimestampFormat, extendedEncodeURIComponent } from \"@smithy/core/protocols\";\nimport { NormalizedSchema } from \"@smithy/core/schema\";\nimport { generateIdempotencyToken, NumericValue } from \"@smithy/core/serde\";\nimport { dateToUtcString } from \"@smithy/smithy-client\";\nimport { toBase64 } from \"@smithy/util-base64\";\nimport { SerdeContextConfig } from \"../ConfigurableSerdeContext\";\nexport class QueryShapeSerializer extends SerdeContextConfig {\n settings;\n buffer;\n constructor(settings) {\n super();\n this.settings = settings;\n }\n write(schema, value, prefix = \"\") {\n if (this.buffer === undefined) {\n this.buffer = \"\";\n }\n const ns = NormalizedSchema.of(schema);\n if (prefix && !prefix.endsWith(\".\")) {\n prefix += \".\";\n }\n if (ns.isBlobSchema()) {\n if (typeof value === \"string\" || value instanceof Uint8Array) {\n this.writeKey(prefix);\n this.writeValue((this.serdeContext?.base64Encoder ?? toBase64)(value));\n }\n }\n else if (ns.isBooleanSchema() || ns.isNumericSchema() || ns.isStringSchema()) {\n if (value != null) {\n this.writeKey(prefix);\n this.writeValue(String(value));\n }\n else if (ns.isIdempotencyToken()) {\n this.writeKey(prefix);\n this.writeValue(generateIdempotencyToken());\n }\n }\n else if (ns.isBigIntegerSchema()) {\n if (value != null) {\n this.writeKey(prefix);\n this.writeValue(String(value));\n }\n }\n else if (ns.isBigDecimalSchema()) {\n if (value != null) {\n this.writeKey(prefix);\n this.writeValue(value instanceof NumericValue ? value.string : String(value));\n }\n }\n else if (ns.isTimestampSchema()) {\n if (value instanceof Date) {\n this.writeKey(prefix);\n const format = determineTimestampFormat(ns, this.settings);\n switch (format) {\n case 5:\n this.writeValue(value.toISOString().replace(\".000Z\", \"Z\"));\n break;\n case 6:\n this.writeValue(dateToUtcString(value));\n break;\n case 7:\n this.writeValue(String(value.getTime() / 1000));\n break;\n }\n }\n }\n else if (ns.isDocumentSchema()) {\n if (Array.isArray(value)) {\n this.write(64 | 15, value, prefix);\n }\n else if (value instanceof Date) {\n this.write(4, value, prefix);\n }\n else if (value instanceof Uint8Array) {\n this.write(21, value, prefix);\n }\n else if (value && typeof value === \"object\") {\n this.write(128 | 15, value, prefix);\n }\n else {\n this.writeKey(prefix);\n this.writeValue(String(value));\n }\n }\n else if (ns.isListSchema()) {\n if (Array.isArray(value)) {\n if (value.length === 0) {\n if (this.settings.serializeEmptyLists) {\n this.writeKey(prefix);\n this.writeValue(\"\");\n }\n }\n else {\n const member = ns.getValueSchema();\n const flat = this.settings.flattenLists || ns.getMergedTraits().xmlFlattened;\n let i = 1;\n for (const item of value) {\n if (item == null) {\n continue;\n }\n const traits = member.getMergedTraits();\n const suffix = this.getKey(\"member\", traits.xmlName, traits.ec2QueryName);\n const key = flat ? `${prefix}${i}` : `${prefix}${suffix}.${i}`;\n this.write(member, item, key);\n ++i;\n }\n }\n }\n }\n else if (ns.isMapSchema()) {\n if (value && typeof value === \"object\") {\n const keySchema = ns.getKeySchema();\n const memberSchema = ns.getValueSchema();\n const flat = ns.getMergedTraits().xmlFlattened;\n let i = 1;\n for (const [k, v] of Object.entries(value)) {\n if (v == null) {\n continue;\n }\n const keyTraits = keySchema.getMergedTraits();\n const keySuffix = this.getKey(\"key\", keyTraits.xmlName, keyTraits.ec2QueryName);\n const key = flat ? `${prefix}${i}.${keySuffix}` : `${prefix}entry.${i}.${keySuffix}`;\n const valTraits = memberSchema.getMergedTraits();\n const valueSuffix = this.getKey(\"value\", valTraits.xmlName, valTraits.ec2QueryName);\n const valueKey = flat ? `${prefix}${i}.${valueSuffix}` : `${prefix}entry.${i}.${valueSuffix}`;\n this.write(keySchema, k, key);\n this.write(memberSchema, v, valueKey);\n ++i;\n }\n }\n }\n else if (ns.isStructSchema()) {\n if (value && typeof value === \"object\") {\n let didWriteMember = false;\n for (const [memberName, member] of ns.structIterator()) {\n if (value[memberName] == null && !member.isIdempotencyToken()) {\n continue;\n }\n const traits = member.getMergedTraits();\n const suffix = this.getKey(memberName, traits.xmlName, traits.ec2QueryName, \"struct\");\n const key = `${prefix}${suffix}`;\n this.write(member, value[memberName], key);\n didWriteMember = true;\n }\n if (!didWriteMember && ns.isUnionSchema()) {\n const { $unknown } = value;\n if (Array.isArray($unknown)) {\n const [k, v] = $unknown;\n const key = `${prefix}${k}`;\n this.write(15, v, key);\n }\n }\n }\n }\n else if (ns.isUnitSchema()) {\n }\n else {\n throw new Error(`@aws-sdk/core/protocols - QuerySerializer unrecognized schema type ${ns.getName(true)}`);\n }\n }\n flush() {\n if (this.buffer === undefined) {\n throw new Error(\"@aws-sdk/core/protocols - QuerySerializer cannot flush with nothing written to buffer.\");\n }\n const str = this.buffer;\n delete this.buffer;\n return str;\n }\n getKey(memberName, xmlName, ec2QueryName, keySource) {\n const { ec2, capitalizeKeys } = this.settings;\n if (ec2 && ec2QueryName) {\n return ec2QueryName;\n }\n const key = xmlName ?? memberName;\n if (capitalizeKeys && keySource === \"struct\") {\n return key[0].toUpperCase() + key.slice(1);\n }\n return key;\n }\n writeKey(key) {\n if (key.endsWith(\".\")) {\n key = key.slice(0, key.length - 1);\n }\n this.buffer += `&${extendedEncodeURIComponent(key)}=`;\n }\n writeValue(value) {\n this.buffer += extendedEncodeURIComponent(value);\n }\n}\n","import { collectBody, RpcProtocol } from \"@smithy/core/protocols\";\nimport { deref, NormalizedSchema, TypeRegistry } from \"@smithy/core/schema\";\nimport { ProtocolLib } from \"../ProtocolLib\";\nimport { XmlShapeDeserializer } from \"../xml/XmlShapeDeserializer\";\nimport { QueryShapeSerializer } from \"./QueryShapeSerializer\";\nexport class AwsQueryProtocol extends RpcProtocol {\n options;\n serializer;\n deserializer;\n mixin = new ProtocolLib();\n constructor(options) {\n super({\n defaultNamespace: options.defaultNamespace,\n });\n this.options = options;\n const settings = {\n timestampFormat: {\n useTrait: true,\n default: 5,\n },\n httpBindings: false,\n xmlNamespace: options.xmlNamespace,\n serviceNamespace: options.defaultNamespace,\n serializeEmptyLists: true,\n };\n this.serializer = new QueryShapeSerializer(settings);\n this.deserializer = new XmlShapeDeserializer(settings);\n }\n getShapeId() {\n return \"aws.protocols#awsQuery\";\n }\n setSerdeContext(serdeContext) {\n this.serializer.setSerdeContext(serdeContext);\n this.deserializer.setSerdeContext(serdeContext);\n }\n getPayloadCodec() {\n throw new Error(\"AWSQuery protocol has no payload codec.\");\n }\n async serializeRequest(operationSchema, input, context) {\n const request = await super.serializeRequest(operationSchema, input, context);\n if (!request.path.endsWith(\"/\")) {\n request.path += \"/\";\n }\n Object.assign(request.headers, {\n \"content-type\": `application/x-www-form-urlencoded`,\n });\n if (deref(operationSchema.input) === \"unit\" || !request.body) {\n request.body = \"\";\n }\n const action = operationSchema.name.split(\"#\")[1] ?? operationSchema.name;\n request.body = `Action=${action}&Version=${this.options.version}` + request.body;\n if (request.body.endsWith(\"&\")) {\n request.body = request.body.slice(-1);\n }\n return request;\n }\n async deserializeResponse(operationSchema, context, response) {\n const deserializer = this.deserializer;\n const ns = NormalizedSchema.of(operationSchema.output);\n const dataObject = {};\n if (response.statusCode >= 300) {\n const bytes = await collectBody(response.body, context);\n if (bytes.byteLength > 0) {\n Object.assign(dataObject, await deserializer.read(15, bytes));\n }\n await this.handleError(operationSchema, context, response, dataObject, this.deserializeMetadata(response));\n }\n for (const header in response.headers) {\n const value = response.headers[header];\n delete response.headers[header];\n response.headers[header.toLowerCase()] = value;\n }\n const shortName = operationSchema.name.split(\"#\")[1] ?? operationSchema.name;\n const awsQueryResultKey = ns.isStructSchema() && this.useNestedResult() ? shortName + \"Result\" : undefined;\n const bytes = await collectBody(response.body, context);\n if (bytes.byteLength > 0) {\n Object.assign(dataObject, await deserializer.read(ns, bytes, awsQueryResultKey));\n }\n const output = {\n $metadata: this.deserializeMetadata(response),\n ...dataObject,\n };\n return output;\n }\n useNestedResult() {\n return true;\n }\n async handleError(operationSchema, context, response, dataObject, metadata) {\n const errorIdentifier = this.loadQueryErrorCode(response, dataObject) ?? \"Unknown\";\n const errorData = this.loadQueryError(dataObject) ?? {};\n const message = this.loadQueryErrorMessage(dataObject);\n errorData.message = message;\n errorData.Error = {\n Type: errorData.Type,\n Code: errorData.Code,\n Message: message,\n };\n const { errorSchema, errorMetadata } = await this.mixin.getErrorSchemaOrThrowBaseException(errorIdentifier, this.options.defaultNamespace, response, errorData, metadata, this.mixin.findQueryCompatibleError);\n const ns = NormalizedSchema.of(errorSchema);\n const ErrorCtor = TypeRegistry.for(errorSchema[1]).getErrorCtor(errorSchema) ?? Error;\n const exception = new ErrorCtor(message);\n const output = {\n Type: errorData.Error.Type,\n Code: errorData.Error.Code,\n Error: errorData.Error,\n };\n for (const [name, member] of ns.structIterator()) {\n const target = member.getMergedTraits().xmlName ?? name;\n const value = errorData[target] ?? dataObject[target];\n output[name] = this.deserializer.readSchema(member, value);\n }\n throw this.mixin.decorateServiceException(Object.assign(exception, errorMetadata, {\n $fault: ns.getMergedTraits().error,\n message,\n }, output), dataObject);\n }\n loadQueryErrorCode(output, data) {\n const code = (data.Errors?.[0]?.Error ?? data.Errors?.Error ?? data.Error)?.Code;\n if (code !== undefined) {\n return code;\n }\n if (output.statusCode == 404) {\n return \"NotFound\";\n }\n }\n loadQueryError(data) {\n return data.Errors?.[0]?.Error ?? data.Errors?.Error ?? data.Error;\n }\n loadQueryErrorMessage(data) {\n const errorData = this.loadQueryError(data);\n return errorData?.message ?? errorData?.Message ?? data.message ?? data.Message ?? \"Unknown\";\n }\n getDefaultContentType() {\n return \"application/x-www-form-urlencoded\";\n }\n}\n","import { AwsQueryProtocol } from \"./AwsQueryProtocol\";\nexport class AwsEc2QueryProtocol extends AwsQueryProtocol {\n options;\n constructor(options) {\n super(options);\n this.options = options;\n const ec2Settings = {\n capitalizeKeys: true,\n flattenLists: true,\n serializeEmptyLists: false,\n ec2: true,\n };\n Object.assign(this.serializer.settings, ec2Settings);\n }\n getShapeId() {\n return \"aws.protocols#ec2Query\";\n }\n useNestedResult() {\n return false;\n }\n}\n","export {};\n","import { parseXML } from \"@aws-sdk/xml-builder\";\nimport { getValueFromTextNode } from \"@smithy/smithy-client\";\nimport { collectBodyString } from \"../common\";\nexport const parseXmlBody = (streamBody, context) => collectBodyString(streamBody, context).then((encoded) => {\n if (encoded.length) {\n let parsedObj;\n try {\n parsedObj = parseXML(encoded);\n }\n catch (e) {\n if (e && typeof e === \"object\") {\n Object.defineProperty(e, \"$responseBodyText\", {\n value: encoded,\n });\n }\n throw e;\n }\n const textNodeName = \"#text\";\n const key = Object.keys(parsedObj)[0];\n const parsedObjToReturn = parsedObj[key];\n if (parsedObjToReturn[textNodeName]) {\n parsedObjToReturn[key] = parsedObjToReturn[textNodeName];\n delete parsedObjToReturn[textNodeName];\n }\n return getValueFromTextNode(parsedObjToReturn);\n }\n return {};\n});\nexport const parseXmlErrorBody = async (errorBody, context) => {\n const value = await parseXmlBody(errorBody, context);\n if (value.Error) {\n value.Error.message = value.Error.message ?? value.Error.Message;\n }\n return value;\n};\nexport const loadRestXmlErrorCode = (output, data) => {\n if (data?.Error?.Code !== undefined) {\n return data.Error.Code;\n }\n if (data?.Code !== undefined) {\n return data.Code;\n }\n if (output.statusCode == 404) {\n return \"NotFound\";\n }\n};\n","import { XmlNode, XmlText } from \"@aws-sdk/xml-builder\";\nimport { determineTimestampFormat } from \"@smithy/core/protocols\";\nimport { NormalizedSchema } from \"@smithy/core/schema\";\nimport { generateIdempotencyToken, NumericValue } from \"@smithy/core/serde\";\nimport { dateToUtcString } from \"@smithy/smithy-client\";\nimport { fromBase64, toBase64 } from \"@smithy/util-base64\";\nimport { SerdeContextConfig } from \"../ConfigurableSerdeContext\";\nexport class XmlShapeSerializer extends SerdeContextConfig {\n settings;\n stringBuffer;\n byteBuffer;\n buffer;\n constructor(settings) {\n super();\n this.settings = settings;\n }\n write(schema, value) {\n const ns = NormalizedSchema.of(schema);\n if (ns.isStringSchema() && typeof value === \"string\") {\n this.stringBuffer = value;\n }\n else if (ns.isBlobSchema()) {\n this.byteBuffer =\n \"byteLength\" in value\n ? value\n : (this.serdeContext?.base64Decoder ?? fromBase64)(value);\n }\n else {\n this.buffer = this.writeStruct(ns, value, undefined);\n const traits = ns.getMergedTraits();\n if (traits.httpPayload && !traits.xmlName) {\n this.buffer.withName(ns.getName());\n }\n }\n }\n flush() {\n if (this.byteBuffer !== undefined) {\n const bytes = this.byteBuffer;\n delete this.byteBuffer;\n return bytes;\n }\n if (this.stringBuffer !== undefined) {\n const str = this.stringBuffer;\n delete this.stringBuffer;\n return str;\n }\n const buffer = this.buffer;\n if (this.settings.xmlNamespace) {\n if (!buffer?.attributes?.[\"xmlns\"]) {\n buffer.addAttribute(\"xmlns\", this.settings.xmlNamespace);\n }\n }\n delete this.buffer;\n return buffer.toString();\n }\n writeStruct(ns, value, parentXmlns) {\n const traits = ns.getMergedTraits();\n const name = ns.isMemberSchema() && !traits.httpPayload\n ? ns.getMemberTraits().xmlName ?? ns.getMemberName()\n : traits.xmlName ?? ns.getName();\n if (!name || !ns.isStructSchema()) {\n throw new Error(`@aws-sdk/core/protocols - xml serializer, cannot write struct with empty name or non-struct, schema=${ns.getName(true)}.`);\n }\n const structXmlNode = XmlNode.of(name);\n const [xmlnsAttr, xmlns] = this.getXmlnsAttribute(ns, parentXmlns);\n for (const [memberName, memberSchema] of ns.structIterator()) {\n const val = value[memberName];\n if (val != null || memberSchema.isIdempotencyToken()) {\n if (memberSchema.getMergedTraits().xmlAttribute) {\n structXmlNode.addAttribute(memberSchema.getMergedTraits().xmlName ?? memberName, this.writeSimple(memberSchema, val));\n continue;\n }\n if (memberSchema.isListSchema()) {\n this.writeList(memberSchema, val, structXmlNode, xmlns);\n }\n else if (memberSchema.isMapSchema()) {\n this.writeMap(memberSchema, val, structXmlNode, xmlns);\n }\n else if (memberSchema.isStructSchema()) {\n structXmlNode.addChildNode(this.writeStruct(memberSchema, val, xmlns));\n }\n else {\n const memberNode = XmlNode.of(memberSchema.getMergedTraits().xmlName ?? memberSchema.getMemberName());\n this.writeSimpleInto(memberSchema, val, memberNode, xmlns);\n structXmlNode.addChildNode(memberNode);\n }\n }\n }\n const { $unknown } = value;\n if ($unknown && ns.isUnionSchema() && Array.isArray($unknown) && Object.keys(value).length === 1) {\n const [k, v] = $unknown;\n const node = XmlNode.of(k);\n if (typeof v !== \"string\") {\n if (value instanceof XmlNode || value instanceof XmlText) {\n structXmlNode.addChildNode(value);\n }\n else {\n throw new Error(`@aws-sdk - $unknown union member in XML requires ` +\n `value of type string, @aws-sdk/xml-builder::XmlNode or XmlText.`);\n }\n }\n this.writeSimpleInto(0, v, node, xmlns);\n structXmlNode.addChildNode(node);\n }\n if (xmlns) {\n structXmlNode.addAttribute(xmlnsAttr, xmlns);\n }\n return structXmlNode;\n }\n writeList(listMember, array, container, parentXmlns) {\n if (!listMember.isMemberSchema()) {\n throw new Error(`@aws-sdk/core/protocols - xml serializer, cannot write non-member list: ${listMember.getName(true)}`);\n }\n const listTraits = listMember.getMergedTraits();\n const listValueSchema = listMember.getValueSchema();\n const listValueTraits = listValueSchema.getMergedTraits();\n const sparse = !!listValueTraits.sparse;\n const flat = !!listTraits.xmlFlattened;\n const [xmlnsAttr, xmlns] = this.getXmlnsAttribute(listMember, parentXmlns);\n const writeItem = (container, value) => {\n if (listValueSchema.isListSchema()) {\n this.writeList(listValueSchema, Array.isArray(value) ? value : [value], container, xmlns);\n }\n else if (listValueSchema.isMapSchema()) {\n this.writeMap(listValueSchema, value, container, xmlns);\n }\n else if (listValueSchema.isStructSchema()) {\n const struct = this.writeStruct(listValueSchema, value, xmlns);\n container.addChildNode(struct.withName(flat ? listTraits.xmlName ?? listMember.getMemberName() : listValueTraits.xmlName ?? \"member\"));\n }\n else {\n const listItemNode = XmlNode.of(flat ? listTraits.xmlName ?? listMember.getMemberName() : listValueTraits.xmlName ?? \"member\");\n this.writeSimpleInto(listValueSchema, value, listItemNode, xmlns);\n container.addChildNode(listItemNode);\n }\n };\n if (flat) {\n for (const value of array) {\n if (sparse || value != null) {\n writeItem(container, value);\n }\n }\n }\n else {\n const listNode = XmlNode.of(listTraits.xmlName ?? listMember.getMemberName());\n if (xmlns) {\n listNode.addAttribute(xmlnsAttr, xmlns);\n }\n for (const value of array) {\n if (sparse || value != null) {\n writeItem(listNode, value);\n }\n }\n container.addChildNode(listNode);\n }\n }\n writeMap(mapMember, map, container, parentXmlns, containerIsMap = false) {\n if (!mapMember.isMemberSchema()) {\n throw new Error(`@aws-sdk/core/protocols - xml serializer, cannot write non-member map: ${mapMember.getName(true)}`);\n }\n const mapTraits = mapMember.getMergedTraits();\n const mapKeySchema = mapMember.getKeySchema();\n const mapKeyTraits = mapKeySchema.getMergedTraits();\n const keyTag = mapKeyTraits.xmlName ?? \"key\";\n const mapValueSchema = mapMember.getValueSchema();\n const mapValueTraits = mapValueSchema.getMergedTraits();\n const valueTag = mapValueTraits.xmlName ?? \"value\";\n const sparse = !!mapValueTraits.sparse;\n const flat = !!mapTraits.xmlFlattened;\n const [xmlnsAttr, xmlns] = this.getXmlnsAttribute(mapMember, parentXmlns);\n const addKeyValue = (entry, key, val) => {\n const keyNode = XmlNode.of(keyTag, key);\n const [keyXmlnsAttr, keyXmlns] = this.getXmlnsAttribute(mapKeySchema, xmlns);\n if (keyXmlns) {\n keyNode.addAttribute(keyXmlnsAttr, keyXmlns);\n }\n entry.addChildNode(keyNode);\n let valueNode = XmlNode.of(valueTag);\n if (mapValueSchema.isListSchema()) {\n this.writeList(mapValueSchema, val, valueNode, xmlns);\n }\n else if (mapValueSchema.isMapSchema()) {\n this.writeMap(mapValueSchema, val, valueNode, xmlns, true);\n }\n else if (mapValueSchema.isStructSchema()) {\n valueNode = this.writeStruct(mapValueSchema, val, xmlns);\n }\n else {\n this.writeSimpleInto(mapValueSchema, val, valueNode, xmlns);\n }\n entry.addChildNode(valueNode);\n };\n if (flat) {\n for (const [key, val] of Object.entries(map)) {\n if (sparse || val != null) {\n const entry = XmlNode.of(mapTraits.xmlName ?? mapMember.getMemberName());\n addKeyValue(entry, key, val);\n container.addChildNode(entry);\n }\n }\n }\n else {\n let mapNode;\n if (!containerIsMap) {\n mapNode = XmlNode.of(mapTraits.xmlName ?? mapMember.getMemberName());\n if (xmlns) {\n mapNode.addAttribute(xmlnsAttr, xmlns);\n }\n container.addChildNode(mapNode);\n }\n for (const [key, val] of Object.entries(map)) {\n if (sparse || val != null) {\n const entry = XmlNode.of(\"entry\");\n addKeyValue(entry, key, val);\n (containerIsMap ? container : mapNode).addChildNode(entry);\n }\n }\n }\n }\n writeSimple(_schema, value) {\n if (null === value) {\n throw new Error(\"@aws-sdk/core/protocols - (XML serializer) cannot write null value.\");\n }\n const ns = NormalizedSchema.of(_schema);\n let nodeContents = null;\n if (value && typeof value === \"object\") {\n if (ns.isBlobSchema()) {\n nodeContents = (this.serdeContext?.base64Encoder ?? toBase64)(value);\n }\n else if (ns.isTimestampSchema() && value instanceof Date) {\n const format = determineTimestampFormat(ns, this.settings);\n switch (format) {\n case 5:\n nodeContents = value.toISOString().replace(\".000Z\", \"Z\");\n break;\n case 6:\n nodeContents = dateToUtcString(value);\n break;\n case 7:\n nodeContents = String(value.getTime() / 1000);\n break;\n default:\n console.warn(\"Missing timestamp format, using http date\", value);\n nodeContents = dateToUtcString(value);\n break;\n }\n }\n else if (ns.isBigDecimalSchema() && value) {\n if (value instanceof NumericValue) {\n return value.string;\n }\n return String(value);\n }\n else if (ns.isMapSchema() || ns.isListSchema()) {\n throw new Error(\"@aws-sdk/core/protocols - xml serializer, cannot call _write() on List/Map schema, call writeList or writeMap() instead.\");\n }\n else {\n throw new Error(`@aws-sdk/core/protocols - xml serializer, unhandled schema type for object value and schema: ${ns.getName(true)}`);\n }\n }\n if (ns.isBooleanSchema() || ns.isNumericSchema() || ns.isBigIntegerSchema() || ns.isBigDecimalSchema()) {\n nodeContents = String(value);\n }\n if (ns.isStringSchema()) {\n if (value === undefined && ns.isIdempotencyToken()) {\n nodeContents = generateIdempotencyToken();\n }\n else {\n nodeContents = String(value);\n }\n }\n if (nodeContents === null) {\n throw new Error(`Unhandled schema-value pair ${ns.getName(true)}=${value}`);\n }\n return nodeContents;\n }\n writeSimpleInto(_schema, value, into, parentXmlns) {\n const nodeContents = this.writeSimple(_schema, value);\n const ns = NormalizedSchema.of(_schema);\n const content = new XmlText(nodeContents);\n const [xmlnsAttr, xmlns] = this.getXmlnsAttribute(ns, parentXmlns);\n if (xmlns) {\n into.addAttribute(xmlnsAttr, xmlns);\n }\n into.addChildNode(content);\n }\n getXmlnsAttribute(ns, parentXmlns) {\n const traits = ns.getMergedTraits();\n const [prefix, xmlns] = traits.xmlNamespace ?? [];\n if (xmlns && xmlns !== parentXmlns) {\n return [prefix ? `xmlns:${prefix}` : \"xmlns\", xmlns];\n }\n return [void 0, void 0];\n }\n}\n","import { SerdeContextConfig } from \"../ConfigurableSerdeContext\";\nimport { XmlShapeDeserializer } from \"./XmlShapeDeserializer\";\nimport { XmlShapeSerializer } from \"./XmlShapeSerializer\";\nexport class XmlCodec extends SerdeContextConfig {\n settings;\n constructor(settings) {\n super();\n this.settings = settings;\n }\n createSerializer() {\n const serializer = new XmlShapeSerializer(this.settings);\n serializer.setSerdeContext(this.serdeContext);\n return serializer;\n }\n createDeserializer() {\n const deserializer = new XmlShapeDeserializer(this.settings);\n deserializer.setSerdeContext(this.serdeContext);\n return deserializer;\n }\n}\n","import { HttpBindingProtocol, HttpInterceptingShapeDeserializer, HttpInterceptingShapeSerializer, } from \"@smithy/core/protocols\";\nimport { NormalizedSchema, TypeRegistry } from \"@smithy/core/schema\";\nimport { ProtocolLib } from \"../ProtocolLib\";\nimport { loadRestXmlErrorCode } from \"./parseXmlBody\";\nimport { XmlCodec } from \"./XmlCodec\";\nexport class AwsRestXmlProtocol extends HttpBindingProtocol {\n codec;\n serializer;\n deserializer;\n mixin = new ProtocolLib();\n constructor(options) {\n super(options);\n const settings = {\n timestampFormat: {\n useTrait: true,\n default: 5,\n },\n httpBindings: true,\n xmlNamespace: options.xmlNamespace,\n serviceNamespace: options.defaultNamespace,\n };\n this.codec = new XmlCodec(settings);\n this.serializer = new HttpInterceptingShapeSerializer(this.codec.createSerializer(), settings);\n this.deserializer = new HttpInterceptingShapeDeserializer(this.codec.createDeserializer(), settings);\n }\n getPayloadCodec() {\n return this.codec;\n }\n getShapeId() {\n return \"aws.protocols#restXml\";\n }\n async serializeRequest(operationSchema, input, context) {\n const request = await super.serializeRequest(operationSchema, input, context);\n const inputSchema = NormalizedSchema.of(operationSchema.input);\n if (!request.headers[\"content-type\"]) {\n const contentType = this.mixin.resolveRestContentType(this.getDefaultContentType(), inputSchema);\n if (contentType) {\n request.headers[\"content-type\"] = contentType;\n }\n }\n if (typeof request.body === \"string\" &&\n request.headers[\"content-type\"] === this.getDefaultContentType() &&\n !request.body.startsWith(\"<?xml \") &&\n !this.hasUnstructuredPayloadBinding(inputSchema)) {\n request.body = '<?xml version=\"1.0\" encoding=\"UTF-8\"?>' + request.body;\n }\n return request;\n }\n async deserializeResponse(operationSchema, context, response) {\n return super.deserializeResponse(operationSchema, context, response);\n }\n async handleError(operationSchema, context, response, dataObject, metadata) {\n const errorIdentifier = loadRestXmlErrorCode(response, dataObject) ?? \"Unknown\";\n if (dataObject.Error && typeof dataObject.Error === \"object\") {\n for (const key of Object.keys(dataObject.Error)) {\n dataObject[key] = dataObject.Error[key];\n if (key.toLowerCase() === \"message\") {\n dataObject.message = dataObject.Error[key];\n }\n }\n }\n if (dataObject.RequestId && !metadata.requestId) {\n metadata.requestId = dataObject.RequestId;\n }\n const { errorSchema, errorMetadata } = await this.mixin.getErrorSchemaOrThrowBaseException(errorIdentifier, this.options.defaultNamespace, response, dataObject, metadata);\n const ns = NormalizedSchema.of(errorSchema);\n const message = dataObject.Error?.message ?? dataObject.Error?.Message ?? dataObject.message ?? dataObject.Message ?? \"Unknown\";\n const ErrorCtor = TypeRegistry.for(errorSchema[1]).getErrorCtor(errorSchema) ?? Error;\n const exception = new ErrorCtor(message);\n await this.deserializeHttpMessage(errorSchema, context, response, dataObject);\n const output = {};\n for (const [name, member] of ns.structIterator()) {\n const target = member.getMergedTraits().xmlName ?? name;\n const value = dataObject.Error?.[target] ?? dataObject[target];\n output[name] = this.codec.createDeserializer().readSchema(member, value);\n }\n throw this.mixin.decorateServiceException(Object.assign(exception, errorMetadata, {\n $fault: ns.getMergedTraits().error,\n message,\n }, output), dataObject);\n }\n getDefaultContentType() {\n return \"application/xml\";\n }\n hasUnstructuredPayloadBinding(ns) {\n for (const [, member] of ns.structIterator()) {\n if (member.getMergedTraits().httpPayload) {\n return !(member.isStructSchema() || member.isMapSchema() || member.isListSchema());\n }\n }\n return false;\n }\n}\n","export * from \"./cbor/AwsSmithyRpcV2CborProtocol\";\nexport * from \"./coercing-serializers\";\nexport * from \"./json/AwsJson1_0Protocol\";\nexport * from \"./json/AwsJson1_1Protocol\";\nexport * from \"./json/AwsJsonRpcProtocol\";\nexport * from \"./json/AwsRestJsonProtocol\";\nexport * from \"./json/JsonCodec\";\nexport * from \"./json/JsonShapeDeserializer\";\nexport * from \"./json/JsonShapeSerializer\";\nexport * from \"./json/awsExpectUnion\";\nexport * from \"./json/parseJsonBody\";\nexport * from \"./query/AwsEc2QueryProtocol\";\nexport * from \"./query/AwsQueryProtocol\";\nexport * from \"./query/QuerySerializerSettings\";\nexport * from \"./query/QueryShapeSerializer\";\nexport * from \"./xml/AwsRestXmlProtocol\";\nexport * from \"./xml/XmlCodec\";\nexport * from \"./xml/XmlShapeDeserializer\";\nexport * from \"./xml/XmlShapeSerializer\";\nexport * from \"./xml/parseXmlBody\";\n","export * from \"./submodules/client/index\";\nexport * from \"./submodules/httpAuthSchemes/index\";\nexport * from \"./submodules/protocols/index\";\n","'use strict';\n\nvar protocolHttp = require('@smithy/protocol-http');\n\nfunction resolveHostHeaderConfig(input) {\n return input;\n}\nconst hostHeaderMiddleware = (options) => (next) => async (args) => {\n if (!protocolHttp.HttpRequest.isInstance(args.request))\n return next(args);\n const { request } = args;\n const { handlerProtocol = \"\" } = options.requestHandler.metadata || {};\n if (handlerProtocol.indexOf(\"h2\") >= 0 && !request.headers[\":authority\"]) {\n delete request.headers[\"host\"];\n request.headers[\":authority\"] = request.hostname + (request.port ? \":\" + request.port : \"\");\n }\n else if (!request.headers[\"host\"]) {\n let host = request.hostname;\n if (request.port != null)\n host += `:${request.port}`;\n request.headers[\"host\"] = host;\n }\n return next(args);\n};\nconst hostHeaderMiddlewareOptions = {\n name: \"hostHeaderMiddleware\",\n step: \"build\",\n priority: \"low\",\n tags: [\"HOST\"],\n override: true,\n};\nconst getHostHeaderPlugin = (options) => ({\n applyToStack: (clientStack) => {\n clientStack.add(hostHeaderMiddleware(options), hostHeaderMiddlewareOptions);\n },\n});\n\nexports.getHostHeaderPlugin = getHostHeaderPlugin;\nexports.hostHeaderMiddleware = hostHeaderMiddleware;\nexports.hostHeaderMiddlewareOptions = hostHeaderMiddlewareOptions;\nexports.resolveHostHeaderConfig = resolveHostHeaderConfig;\n","'use strict';\n\nconst loggerMiddleware = () => (next, context) => async (args) => {\n try {\n const response = await next(args);\n const { clientName, commandName, logger, dynamoDbDocumentClientOptions = {} } = context;\n const { overrideInputFilterSensitiveLog, overrideOutputFilterSensitiveLog } = dynamoDbDocumentClientOptions;\n const inputFilterSensitiveLog = overrideInputFilterSensitiveLog ?? context.inputFilterSensitiveLog;\n const outputFilterSensitiveLog = overrideOutputFilterSensitiveLog ?? context.outputFilterSensitiveLog;\n const { $metadata, ...outputWithoutMetadata } = response.output;\n logger?.info?.({\n clientName,\n commandName,\n input: inputFilterSensitiveLog(args.input),\n output: outputFilterSensitiveLog(outputWithoutMetadata),\n metadata: $metadata,\n });\n return response;\n }\n catch (error) {\n const { clientName, commandName, logger, dynamoDbDocumentClientOptions = {} } = context;\n const { overrideInputFilterSensitiveLog } = dynamoDbDocumentClientOptions;\n const inputFilterSensitiveLog = overrideInputFilterSensitiveLog ?? context.inputFilterSensitiveLog;\n logger?.error?.({\n clientName,\n commandName,\n input: inputFilterSensitiveLog(args.input),\n error,\n metadata: error.$metadata,\n });\n throw error;\n }\n};\nconst loggerMiddlewareOptions = {\n name: \"loggerMiddleware\",\n tags: [\"LOGGER\"],\n step: \"initialize\",\n override: true,\n};\nconst getLoggerPlugin = (options) => ({\n applyToStack: (clientStack) => {\n clientStack.add(loggerMiddleware(), loggerMiddlewareOptions);\n },\n});\n\nexports.getLoggerPlugin = getLoggerPlugin;\nexports.loggerMiddleware = loggerMiddleware;\nexports.loggerMiddlewareOptions = loggerMiddlewareOptions;\n","const PROTECTED_KEYS = {\n REQUEST_ID: Symbol.for(\"_AWS_LAMBDA_REQUEST_ID\"),\n X_RAY_TRACE_ID: Symbol.for(\"_AWS_LAMBDA_X_RAY_TRACE_ID\"),\n TENANT_ID: Symbol.for(\"_AWS_LAMBDA_TENANT_ID\"),\n};\nconst NO_GLOBAL_AWS_LAMBDA = [\"true\", \"1\"].includes(process.env?.AWS_LAMBDA_NODEJS_NO_GLOBAL_AWSLAMBDA ?? \"\");\nif (!NO_GLOBAL_AWS_LAMBDA) {\n globalThis.awslambda = globalThis.awslambda || {};\n}\nclass InvokeStoreBase {\n static PROTECTED_KEYS = PROTECTED_KEYS;\n isProtectedKey(key) {\n return Object.values(PROTECTED_KEYS).includes(key);\n }\n getRequestId() {\n return this.get(PROTECTED_KEYS.REQUEST_ID) ?? \"-\";\n }\n getXRayTraceId() {\n return this.get(PROTECTED_KEYS.X_RAY_TRACE_ID);\n }\n getTenantId() {\n return this.get(PROTECTED_KEYS.TENANT_ID);\n }\n}\nclass InvokeStoreSingle extends InvokeStoreBase {\n currentContext;\n getContext() {\n return this.currentContext;\n }\n hasContext() {\n return this.currentContext !== undefined;\n }\n get(key) {\n return this.currentContext?.[key];\n }\n set(key, value) {\n if (this.isProtectedKey(key)) {\n throw new Error(`Cannot modify protected Lambda context field: ${String(key)}`);\n }\n this.currentContext = this.currentContext || {};\n this.currentContext[key] = value;\n }\n run(context, fn) {\n this.currentContext = context;\n return fn();\n }\n}\nclass InvokeStoreMulti extends InvokeStoreBase {\n als;\n static async create() {\n const instance = new InvokeStoreMulti();\n const asyncHooks = await import('node:async_hooks');\n instance.als = new asyncHooks.AsyncLocalStorage();\n return instance;\n }\n getContext() {\n return this.als.getStore();\n }\n hasContext() {\n return this.als.getStore() !== undefined;\n }\n get(key) {\n return this.als.getStore()?.[key];\n }\n set(key, value) {\n if (this.isProtectedKey(key)) {\n throw new Error(`Cannot modify protected Lambda context field: ${String(key)}`);\n }\n const store = this.als.getStore();\n if (!store) {\n throw new Error(\"No context available\");\n }\n store[key] = value;\n }\n run(context, fn) {\n return this.als.run(context, fn);\n }\n}\nvar InvokeStore;\n(function (InvokeStore) {\n let instance = null;\n async function getInstanceAsync(forceInvokeStoreMulti) {\n if (!instance) {\n instance = (async () => {\n const isMulti = forceInvokeStoreMulti === true || \"AWS_LAMBDA_MAX_CONCURRENCY\" in process.env;\n const newInstance = isMulti\n ? await InvokeStoreMulti.create()\n : new InvokeStoreSingle();\n if (!NO_GLOBAL_AWS_LAMBDA && globalThis.awslambda?.InvokeStore) {\n return globalThis.awslambda.InvokeStore;\n }\n else if (!NO_GLOBAL_AWS_LAMBDA && globalThis.awslambda) {\n globalThis.awslambda.InvokeStore = newInstance;\n return newInstance;\n }\n else {\n return newInstance;\n }\n })();\n }\n return instance;\n }\n InvokeStore.getInstanceAsync = getInstanceAsync;\n InvokeStore._testing = process.env.AWS_LAMBDA_BENCHMARK_MODE === \"1\"\n ? {\n reset: () => {\n instance = null;\n if (globalThis.awslambda?.InvokeStore) {\n delete globalThis.awslambda.InvokeStore;\n }\n globalThis.awslambda = { InvokeStore: undefined };\n },\n }\n : undefined;\n})(InvokeStore || (InvokeStore = {}));\n\nexport { InvokeStore, InvokeStoreBase };\n","\"use strict\";\nObject.defineProperty(exports, \"__esModule\", { value: true });\nexports.recursionDetectionMiddleware = void 0;\nconst lambda_invoke_store_1 = require(\"@aws/lambda-invoke-store\");\nconst protocol_http_1 = require(\"@smithy/protocol-http\");\nconst TRACE_ID_HEADER_NAME = \"X-Amzn-Trace-Id\";\nconst ENV_LAMBDA_FUNCTION_NAME = \"AWS_LAMBDA_FUNCTION_NAME\";\nconst ENV_TRACE_ID = \"_X_AMZN_TRACE_ID\";\nconst recursionDetectionMiddleware = () => (next) => async (args) => {\n const { request } = args;\n if (!protocol_http_1.HttpRequest.isInstance(request)) {\n return next(args);\n }\n const traceIdHeader = Object.keys(request.headers ?? {}).find((h) => h.toLowerCase() === TRACE_ID_HEADER_NAME.toLowerCase()) ??\n TRACE_ID_HEADER_NAME;\n if (request.headers.hasOwnProperty(traceIdHeader)) {\n return next(args);\n }\n const functionName = process.env[ENV_LAMBDA_FUNCTION_NAME];\n const traceIdFromEnv = process.env[ENV_TRACE_ID];\n const invokeStore = await lambda_invoke_store_1.InvokeStore.getInstanceAsync();\n const traceIdFromInvokeStore = invokeStore?.getXRayTraceId();\n const traceId = traceIdFromInvokeStore ?? traceIdFromEnv;\n const nonEmptyString = (str) => typeof str === \"string\" && str.length > 0;\n if (nonEmptyString(functionName) && nonEmptyString(traceId)) {\n request.headers[TRACE_ID_HEADER_NAME] = traceId;\n }\n return next({\n ...args,\n request,\n });\n};\nexports.recursionDetectionMiddleware = recursionDetectionMiddleware;\n","'use strict';\n\nvar recursionDetectionMiddleware = require('./recursionDetectionMiddleware');\n\nconst recursionDetectionMiddlewareOptions = {\n step: \"build\",\n tags: [\"RECURSION_DETECTION\"],\n name: \"recursionDetectionMiddleware\",\n override: true,\n priority: \"low\",\n};\n\nconst getRecursionDetectionPlugin = (options) => ({\n applyToStack: (clientStack) => {\n clientStack.add(recursionDetectionMiddleware.recursionDetectionMiddleware(), recursionDetectionMiddlewareOptions);\n },\n});\n\nexports.getRecursionDetectionPlugin = getRecursionDetectionPlugin;\nObject.prototype.hasOwnProperty.call(recursionDetectionMiddleware, '__proto__') &&\n !Object.prototype.hasOwnProperty.call(exports, '__proto__') &&\n Object.defineProperty(exports, '__proto__', {\n enumerable: true,\n value: recursionDetectionMiddleware['__proto__']\n });\n\nObject.keys(recursionDetectionMiddleware).forEach(function (k) {\n if (k !== 'default' && !Object.prototype.hasOwnProperty.call(exports, k)) exports[k] = recursionDetectionMiddleware[k];\n});\n","'use strict';\n\nconst booleanSelector = (obj, key, type) => {\n if (!(key in obj))\n return undefined;\n if (obj[key] === \"true\")\n return true;\n if (obj[key] === \"false\")\n return false;\n throw new Error(`Cannot load ${type} \"${key}\". Expected \"true\" or \"false\", got ${obj[key]}.`);\n};\n\nconst numberSelector = (obj, key, type) => {\n if (!(key in obj))\n return undefined;\n const numberValue = parseInt(obj[key], 10);\n if (Number.isNaN(numberValue)) {\n throw new TypeError(`Cannot load ${type} '${key}'. Expected number, got '${obj[key]}'.`);\n }\n return numberValue;\n};\n\nexports.SelectorType = void 0;\n(function (SelectorType) {\n SelectorType[\"ENV\"] = \"env\";\n SelectorType[\"CONFIG\"] = \"shared config entry\";\n})(exports.SelectorType || (exports.SelectorType = {}));\n\nexports.booleanSelector = booleanSelector;\nexports.numberSelector = numberSelector;\n","'use strict';\n\nvar types = require('@smithy/types');\n\nclass EndpointCache {\n capacity;\n data = new Map();\n parameters = [];\n constructor({ size, params }) {\n this.capacity = size ?? 50;\n if (params) {\n this.parameters = params;\n }\n }\n get(endpointParams, resolver) {\n const key = this.hash(endpointParams);\n if (key === false) {\n return resolver();\n }\n if (!this.data.has(key)) {\n if (this.data.size > this.capacity + 10) {\n const keys = this.data.keys();\n let i = 0;\n while (true) {\n const { value, done } = keys.next();\n this.data.delete(value);\n if (done || ++i > 10) {\n break;\n }\n }\n }\n this.data.set(key, resolver());\n }\n return this.data.get(key);\n }\n size() {\n return this.data.size;\n }\n hash(endpointParams) {\n let buffer = \"\";\n const { parameters } = this;\n if (parameters.length === 0) {\n return false;\n }\n for (const param of parameters) {\n const val = String(endpointParams[param] ?? \"\");\n if (val.includes(\"|;\")) {\n return false;\n }\n buffer += val + \"|;\";\n }\n return buffer;\n }\n}\n\nconst IP_V4_REGEX = new RegExp(`^(?:25[0-5]|2[0-4]\\\\d|1\\\\d\\\\d|[1-9]\\\\d|\\\\d)(?:\\\\.(?:25[0-5]|2[0-4]\\\\d|1\\\\d\\\\d|[1-9]\\\\d|\\\\d)){3}$`);\nconst isIpAddress = (value) => IP_V4_REGEX.test(value) || (value.startsWith(\"[\") && value.endsWith(\"]\"));\n\nconst VALID_HOST_LABEL_REGEX = new RegExp(`^(?!.*-$)(?!-)[a-zA-Z0-9-]{1,63}$`);\nconst isValidHostLabel = (value, allowSubDomains = false) => {\n if (!allowSubDomains) {\n return VALID_HOST_LABEL_REGEX.test(value);\n }\n const labels = value.split(\".\");\n for (const label of labels) {\n if (!isValidHostLabel(label)) {\n return false;\n }\n }\n return true;\n};\n\nconst customEndpointFunctions = {};\n\nconst debugId = \"endpoints\";\n\nfunction toDebugString(input) {\n if (typeof input !== \"object\" || input == null) {\n return input;\n }\n if (\"ref\" in input) {\n return `$${toDebugString(input.ref)}`;\n }\n if (\"fn\" in input) {\n return `${input.fn}(${(input.argv || []).map(toDebugString).join(\", \")})`;\n }\n return JSON.stringify(input, null, 2);\n}\n\nclass EndpointError extends Error {\n constructor(message) {\n super(message);\n this.name = \"EndpointError\";\n }\n}\n\nconst booleanEquals = (value1, value2) => value1 === value2;\n\nconst getAttrPathList = (path) => {\n const parts = path.split(\".\");\n const pathList = [];\n for (const part of parts) {\n const squareBracketIndex = part.indexOf(\"[\");\n if (squareBracketIndex !== -1) {\n if (part.indexOf(\"]\") !== part.length - 1) {\n throw new EndpointError(`Path: '${path}' does not end with ']'`);\n }\n const arrayIndex = part.slice(squareBracketIndex + 1, -1);\n if (Number.isNaN(parseInt(arrayIndex))) {\n throw new EndpointError(`Invalid array index: '${arrayIndex}' in path: '${path}'`);\n }\n if (squareBracketIndex !== 0) {\n pathList.push(part.slice(0, squareBracketIndex));\n }\n pathList.push(arrayIndex);\n }\n else {\n pathList.push(part);\n }\n }\n return pathList;\n};\n\nconst getAttr = (value, path) => getAttrPathList(path).reduce((acc, index) => {\n if (typeof acc !== \"object\") {\n throw new EndpointError(`Index '${index}' in '${path}' not found in '${JSON.stringify(value)}'`);\n }\n else if (Array.isArray(acc)) {\n return acc[parseInt(index)];\n }\n return acc[index];\n}, value);\n\nconst isSet = (value) => value != null;\n\nconst not = (value) => !value;\n\nconst DEFAULT_PORTS = {\n [types.EndpointURLScheme.HTTP]: 80,\n [types.EndpointURLScheme.HTTPS]: 443,\n};\nconst parseURL = (value) => {\n const whatwgURL = (() => {\n try {\n if (value instanceof URL) {\n return value;\n }\n if (typeof value === \"object\" && \"hostname\" in value) {\n const { hostname, port, protocol = \"\", path = \"\", query = {} } = value;\n const url = new URL(`${protocol}//${hostname}${port ? `:${port}` : \"\"}${path}`);\n url.search = Object.entries(query)\n .map(([k, v]) => `${k}=${v}`)\n .join(\"&\");\n return url;\n }\n return new URL(value);\n }\n catch (error) {\n return null;\n }\n })();\n if (!whatwgURL) {\n console.error(`Unable to parse ${JSON.stringify(value)} as a whatwg URL.`);\n return null;\n }\n const urlString = whatwgURL.href;\n const { host, hostname, pathname, protocol, search } = whatwgURL;\n if (search) {\n return null;\n }\n const scheme = protocol.slice(0, -1);\n if (!Object.values(types.EndpointURLScheme).includes(scheme)) {\n return null;\n }\n const isIp = isIpAddress(hostname);\n const inputContainsDefaultPort = urlString.includes(`${host}:${DEFAULT_PORTS[scheme]}`) ||\n (typeof value === \"string\" && value.includes(`${host}:${DEFAULT_PORTS[scheme]}`));\n const authority = `${host}${inputContainsDefaultPort ? `:${DEFAULT_PORTS[scheme]}` : ``}`;\n return {\n scheme,\n authority,\n path: pathname,\n normalizedPath: pathname.endsWith(\"/\") ? pathname : `${pathname}/`,\n isIp,\n };\n};\n\nconst stringEquals = (value1, value2) => value1 === value2;\n\nconst substring = (input, start, stop, reverse) => {\n if (start >= stop || input.length < stop || /[^\\u0000-\\u007f]/.test(input)) {\n return null;\n }\n if (!reverse) {\n return input.substring(start, stop);\n }\n return input.substring(input.length - stop, input.length - start);\n};\n\nconst uriEncode = (value) => encodeURIComponent(value).replace(/[!*'()]/g, (c) => `%${c.charCodeAt(0).toString(16).toUpperCase()}`);\n\nconst endpointFunctions = {\n booleanEquals,\n getAttr,\n isSet,\n isValidHostLabel,\n not,\n parseURL,\n stringEquals,\n substring,\n uriEncode,\n};\n\nconst evaluateTemplate = (template, options) => {\n const evaluatedTemplateArr = [];\n const templateContext = {\n ...options.endpointParams,\n ...options.referenceRecord,\n };\n let currentIndex = 0;\n while (currentIndex < template.length) {\n const openingBraceIndex = template.indexOf(\"{\", currentIndex);\n if (openingBraceIndex === -1) {\n evaluatedTemplateArr.push(template.slice(currentIndex));\n break;\n }\n evaluatedTemplateArr.push(template.slice(currentIndex, openingBraceIndex));\n const closingBraceIndex = template.indexOf(\"}\", openingBraceIndex);\n if (closingBraceIndex === -1) {\n evaluatedTemplateArr.push(template.slice(openingBraceIndex));\n break;\n }\n if (template[openingBraceIndex + 1] === \"{\" && template[closingBraceIndex + 1] === \"}\") {\n evaluatedTemplateArr.push(template.slice(openingBraceIndex + 1, closingBraceIndex));\n currentIndex = closingBraceIndex + 2;\n }\n const parameterName = template.substring(openingBraceIndex + 1, closingBraceIndex);\n if (parameterName.includes(\"#\")) {\n const [refName, attrName] = parameterName.split(\"#\");\n evaluatedTemplateArr.push(getAttr(templateContext[refName], attrName));\n }\n else {\n evaluatedTemplateArr.push(templateContext[parameterName]);\n }\n currentIndex = closingBraceIndex + 1;\n }\n return evaluatedTemplateArr.join(\"\");\n};\n\nconst getReferenceValue = ({ ref }, options) => {\n const referenceRecord = {\n ...options.endpointParams,\n ...options.referenceRecord,\n };\n return referenceRecord[ref];\n};\n\nconst evaluateExpression = (obj, keyName, options) => {\n if (typeof obj === \"string\") {\n return evaluateTemplate(obj, options);\n }\n else if (obj[\"fn\"]) {\n return group$2.callFunction(obj, options);\n }\n else if (obj[\"ref\"]) {\n return getReferenceValue(obj, options);\n }\n throw new EndpointError(`'${keyName}': ${String(obj)} is not a string, function or reference.`);\n};\nconst callFunction = ({ fn, argv }, options) => {\n const evaluatedArgs = argv.map((arg) => [\"boolean\", \"number\"].includes(typeof arg) ? arg : group$2.evaluateExpression(arg, \"arg\", options));\n const fnSegments = fn.split(\".\");\n if (fnSegments[0] in customEndpointFunctions && fnSegments[1] != null) {\n return customEndpointFunctions[fnSegments[0]][fnSegments[1]](...evaluatedArgs);\n }\n return endpointFunctions[fn](...evaluatedArgs);\n};\nconst group$2 = {\n evaluateExpression,\n callFunction,\n};\n\nconst evaluateCondition = ({ assign, ...fnArgs }, options) => {\n if (assign && assign in options.referenceRecord) {\n throw new EndpointError(`'${assign}' is already defined in Reference Record.`);\n }\n const value = callFunction(fnArgs, options);\n options.logger?.debug?.(`${debugId} evaluateCondition: ${toDebugString(fnArgs)} = ${toDebugString(value)}`);\n return {\n result: value === \"\" ? true : !!value,\n ...(assign != null && { toAssign: { name: assign, value } }),\n };\n};\n\nconst evaluateConditions = (conditions = [], options) => {\n const conditionsReferenceRecord = {};\n for (const condition of conditions) {\n const { result, toAssign } = evaluateCondition(condition, {\n ...options,\n referenceRecord: {\n ...options.referenceRecord,\n ...conditionsReferenceRecord,\n },\n });\n if (!result) {\n return { result };\n }\n if (toAssign) {\n conditionsReferenceRecord[toAssign.name] = toAssign.value;\n options.logger?.debug?.(`${debugId} assign: ${toAssign.name} := ${toDebugString(toAssign.value)}`);\n }\n }\n return { result: true, referenceRecord: conditionsReferenceRecord };\n};\n\nconst getEndpointHeaders = (headers, options) => Object.entries(headers).reduce((acc, [headerKey, headerVal]) => ({\n ...acc,\n [headerKey]: headerVal.map((headerValEntry) => {\n const processedExpr = evaluateExpression(headerValEntry, \"Header value entry\", options);\n if (typeof processedExpr !== \"string\") {\n throw new EndpointError(`Header '${headerKey}' value '${processedExpr}' is not a string`);\n }\n return processedExpr;\n }),\n}), {});\n\nconst getEndpointProperties = (properties, options) => Object.entries(properties).reduce((acc, [propertyKey, propertyVal]) => ({\n ...acc,\n [propertyKey]: group$1.getEndpointProperty(propertyVal, options),\n}), {});\nconst getEndpointProperty = (property, options) => {\n if (Array.isArray(property)) {\n return property.map((propertyEntry) => getEndpointProperty(propertyEntry, options));\n }\n switch (typeof property) {\n case \"string\":\n return evaluateTemplate(property, options);\n case \"object\":\n if (property === null) {\n throw new EndpointError(`Unexpected endpoint property: ${property}`);\n }\n return group$1.getEndpointProperties(property, options);\n case \"boolean\":\n return property;\n default:\n throw new EndpointError(`Unexpected endpoint property type: ${typeof property}`);\n }\n};\nconst group$1 = {\n getEndpointProperty,\n getEndpointProperties,\n};\n\nconst getEndpointUrl = (endpointUrl, options) => {\n const expression = evaluateExpression(endpointUrl, \"Endpoint URL\", options);\n if (typeof expression === \"string\") {\n try {\n return new URL(expression);\n }\n catch (error) {\n console.error(`Failed to construct URL with ${expression}`, error);\n throw error;\n }\n }\n throw new EndpointError(`Endpoint URL must be a string, got ${typeof expression}`);\n};\n\nconst evaluateEndpointRule = (endpointRule, options) => {\n const { conditions, endpoint } = endpointRule;\n const { result, referenceRecord } = evaluateConditions(conditions, options);\n if (!result) {\n return;\n }\n const endpointRuleOptions = {\n ...options,\n referenceRecord: { ...options.referenceRecord, ...referenceRecord },\n };\n const { url, properties, headers } = endpoint;\n options.logger?.debug?.(`${debugId} Resolving endpoint from template: ${toDebugString(endpoint)}`);\n return {\n ...(headers != undefined && {\n headers: getEndpointHeaders(headers, endpointRuleOptions),\n }),\n ...(properties != undefined && {\n properties: getEndpointProperties(properties, endpointRuleOptions),\n }),\n url: getEndpointUrl(url, endpointRuleOptions),\n };\n};\n\nconst evaluateErrorRule = (errorRule, options) => {\n const { conditions, error } = errorRule;\n const { result, referenceRecord } = evaluateConditions(conditions, options);\n if (!result) {\n return;\n }\n throw new EndpointError(evaluateExpression(error, \"Error\", {\n ...options,\n referenceRecord: { ...options.referenceRecord, ...referenceRecord },\n }));\n};\n\nconst evaluateRules = (rules, options) => {\n for (const rule of rules) {\n if (rule.type === \"endpoint\") {\n const endpointOrUndefined = evaluateEndpointRule(rule, options);\n if (endpointOrUndefined) {\n return endpointOrUndefined;\n }\n }\n else if (rule.type === \"error\") {\n evaluateErrorRule(rule, options);\n }\n else if (rule.type === \"tree\") {\n const endpointOrUndefined = group.evaluateTreeRule(rule, options);\n if (endpointOrUndefined) {\n return endpointOrUndefined;\n }\n }\n else {\n throw new EndpointError(`Unknown endpoint rule: ${rule}`);\n }\n }\n throw new EndpointError(`Rules evaluation failed`);\n};\nconst evaluateTreeRule = (treeRule, options) => {\n const { conditions, rules } = treeRule;\n const { result, referenceRecord } = evaluateConditions(conditions, options);\n if (!result) {\n return;\n }\n return group.evaluateRules(rules, {\n ...options,\n referenceRecord: { ...options.referenceRecord, ...referenceRecord },\n });\n};\nconst group = {\n evaluateRules,\n evaluateTreeRule,\n};\n\nconst resolveEndpoint = (ruleSetObject, options) => {\n const { endpointParams, logger } = options;\n const { parameters, rules } = ruleSetObject;\n options.logger?.debug?.(`${debugId} Initial EndpointParams: ${toDebugString(endpointParams)}`);\n const paramsWithDefault = Object.entries(parameters)\n .filter(([, v]) => v.default != null)\n .map(([k, v]) => [k, v.default]);\n if (paramsWithDefault.length > 0) {\n for (const [paramKey, paramDefaultValue] of paramsWithDefault) {\n endpointParams[paramKey] = endpointParams[paramKey] ?? paramDefaultValue;\n }\n }\n const requiredParams = Object.entries(parameters)\n .filter(([, v]) => v.required)\n .map(([k]) => k);\n for (const requiredParam of requiredParams) {\n if (endpointParams[requiredParam] == null) {\n throw new EndpointError(`Missing required parameter: '${requiredParam}'`);\n }\n }\n const endpoint = evaluateRules(rules, { endpointParams, logger, referenceRecord: {} });\n options.logger?.debug?.(`${debugId} Resolved endpoint: ${toDebugString(endpoint)}`);\n return endpoint;\n};\n\nexports.EndpointCache = EndpointCache;\nexports.EndpointError = EndpointError;\nexports.customEndpointFunctions = customEndpointFunctions;\nexports.isIpAddress = isIpAddress;\nexports.isValidHostLabel = isValidHostLabel;\nexports.resolveEndpoint = resolveEndpoint;\n","'use strict';\n\nvar utilEndpoints = require('@smithy/util-endpoints');\nvar urlParser = require('@smithy/url-parser');\n\nconst isVirtualHostableS3Bucket = (value, allowSubDomains = false) => {\n if (allowSubDomains) {\n for (const label of value.split(\".\")) {\n if (!isVirtualHostableS3Bucket(label)) {\n return false;\n }\n }\n return true;\n }\n if (!utilEndpoints.isValidHostLabel(value)) {\n return false;\n }\n if (value.length < 3 || value.length > 63) {\n return false;\n }\n if (value !== value.toLowerCase()) {\n return false;\n }\n if (utilEndpoints.isIpAddress(value)) {\n return false;\n }\n return true;\n};\n\nconst ARN_DELIMITER = \":\";\nconst RESOURCE_DELIMITER = \"/\";\nconst parseArn = (value) => {\n const segments = value.split(ARN_DELIMITER);\n if (segments.length < 6)\n return null;\n const [arn, partition, service, region, accountId, ...resourcePath] = segments;\n if (arn !== \"arn\" || partition === \"\" || service === \"\" || resourcePath.join(ARN_DELIMITER) === \"\")\n return null;\n const resourceId = resourcePath.map((resource) => resource.split(RESOURCE_DELIMITER)).flat();\n return {\n partition,\n service,\n region,\n accountId,\n resourceId,\n };\n};\n\nvar partitions = [\n\t{\n\t\tid: \"aws\",\n\t\toutputs: {\n\t\t\tdnsSuffix: \"amazonaws.com\",\n\t\t\tdualStackDnsSuffix: \"api.aws\",\n\t\t\timplicitGlobalRegion: \"us-east-1\",\n\t\t\tname: \"aws\",\n\t\t\tsupportsDualStack: true,\n\t\t\tsupportsFIPS: true\n\t\t},\n\t\tregionRegex: \"^(us|eu|ap|sa|ca|me|af|il|mx)\\\\-\\\\w+\\\\-\\\\d+$\",\n\t\tregions: {\n\t\t\t\"af-south-1\": {\n\t\t\t\tdescription: \"Africa (Cape Town)\"\n\t\t\t},\n\t\t\t\"ap-east-1\": {\n\t\t\t\tdescription: \"Asia Pacific (Hong Kong)\"\n\t\t\t},\n\t\t\t\"ap-east-2\": {\n\t\t\t\tdescription: \"Asia Pacific (Taipei)\"\n\t\t\t},\n\t\t\t\"ap-northeast-1\": {\n\t\t\t\tdescription: \"Asia Pacific (Tokyo)\"\n\t\t\t},\n\t\t\t\"ap-northeast-2\": {\n\t\t\t\tdescription: \"Asia Pacific (Seoul)\"\n\t\t\t},\n\t\t\t\"ap-northeast-3\": {\n\t\t\t\tdescription: \"Asia Pacific (Osaka)\"\n\t\t\t},\n\t\t\t\"ap-south-1\": {\n\t\t\t\tdescription: \"Asia Pacific (Mumbai)\"\n\t\t\t},\n\t\t\t\"ap-south-2\": {\n\t\t\t\tdescription: \"Asia Pacific (Hyderabad)\"\n\t\t\t},\n\t\t\t\"ap-southeast-1\": {\n\t\t\t\tdescription: \"Asia Pacific (Singapore)\"\n\t\t\t},\n\t\t\t\"ap-southeast-2\": {\n\t\t\t\tdescription: \"Asia Pacific (Sydney)\"\n\t\t\t},\n\t\t\t\"ap-southeast-3\": {\n\t\t\t\tdescription: \"Asia Pacific (Jakarta)\"\n\t\t\t},\n\t\t\t\"ap-southeast-4\": {\n\t\t\t\tdescription: \"Asia Pacific (Melbourne)\"\n\t\t\t},\n\t\t\t\"ap-southeast-5\": {\n\t\t\t\tdescription: \"Asia Pacific (Malaysia)\"\n\t\t\t},\n\t\t\t\"ap-southeast-6\": {\n\t\t\t\tdescription: \"Asia Pacific (New Zealand)\"\n\t\t\t},\n\t\t\t\"ap-southeast-7\": {\n\t\t\t\tdescription: \"Asia Pacific (Thailand)\"\n\t\t\t},\n\t\t\t\"aws-global\": {\n\t\t\t\tdescription: \"aws global region\"\n\t\t\t},\n\t\t\t\"ca-central-1\": {\n\t\t\t\tdescription: \"Canada (Central)\"\n\t\t\t},\n\t\t\t\"ca-west-1\": {\n\t\t\t\tdescription: \"Canada West (Calgary)\"\n\t\t\t},\n\t\t\t\"eu-central-1\": {\n\t\t\t\tdescription: \"Europe (Frankfurt)\"\n\t\t\t},\n\t\t\t\"eu-central-2\": {\n\t\t\t\tdescription: \"Europe (Zurich)\"\n\t\t\t},\n\t\t\t\"eu-north-1\": {\n\t\t\t\tdescription: \"Europe (Stockholm)\"\n\t\t\t},\n\t\t\t\"eu-south-1\": {\n\t\t\t\tdescription: \"Europe (Milan)\"\n\t\t\t},\n\t\t\t\"eu-south-2\": {\n\t\t\t\tdescription: \"Europe (Spain)\"\n\t\t\t},\n\t\t\t\"eu-west-1\": {\n\t\t\t\tdescription: \"Europe (Ireland)\"\n\t\t\t},\n\t\t\t\"eu-west-2\": {\n\t\t\t\tdescription: \"Europe (London)\"\n\t\t\t},\n\t\t\t\"eu-west-3\": {\n\t\t\t\tdescription: \"Europe (Paris)\"\n\t\t\t},\n\t\t\t\"il-central-1\": {\n\t\t\t\tdescription: \"Israel (Tel Aviv)\"\n\t\t\t},\n\t\t\t\"me-central-1\": {\n\t\t\t\tdescription: \"Middle East (UAE)\"\n\t\t\t},\n\t\t\t\"me-south-1\": {\n\t\t\t\tdescription: \"Middle East (Bahrain)\"\n\t\t\t},\n\t\t\t\"mx-central-1\": {\n\t\t\t\tdescription: \"Mexico (Central)\"\n\t\t\t},\n\t\t\t\"sa-east-1\": {\n\t\t\t\tdescription: \"South America (Sao Paulo)\"\n\t\t\t},\n\t\t\t\"us-east-1\": {\n\t\t\t\tdescription: \"US East (N. Virginia)\"\n\t\t\t},\n\t\t\t\"us-east-2\": {\n\t\t\t\tdescription: \"US East (Ohio)\"\n\t\t\t},\n\t\t\t\"us-west-1\": {\n\t\t\t\tdescription: \"US West (N. California)\"\n\t\t\t},\n\t\t\t\"us-west-2\": {\n\t\t\t\tdescription: \"US West (Oregon)\"\n\t\t\t}\n\t\t}\n\t},\n\t{\n\t\tid: \"aws-cn\",\n\t\toutputs: {\n\t\t\tdnsSuffix: \"amazonaws.com.cn\",\n\t\t\tdualStackDnsSuffix: \"api.amazonwebservices.com.cn\",\n\t\t\timplicitGlobalRegion: \"cn-northwest-1\",\n\t\t\tname: \"aws-cn\",\n\t\t\tsupportsDualStack: true,\n\t\t\tsupportsFIPS: true\n\t\t},\n\t\tregionRegex: \"^cn\\\\-\\\\w+\\\\-\\\\d+$\",\n\t\tregions: {\n\t\t\t\"aws-cn-global\": {\n\t\t\t\tdescription: \"aws-cn global region\"\n\t\t\t},\n\t\t\t\"cn-north-1\": {\n\t\t\t\tdescription: \"China (Beijing)\"\n\t\t\t},\n\t\t\t\"cn-northwest-1\": {\n\t\t\t\tdescription: \"China (Ningxia)\"\n\t\t\t}\n\t\t}\n\t},\n\t{\n\t\tid: \"aws-eusc\",\n\t\toutputs: {\n\t\t\tdnsSuffix: \"amazonaws.eu\",\n\t\t\tdualStackDnsSuffix: \"api.amazonwebservices.eu\",\n\t\t\timplicitGlobalRegion: \"eusc-de-east-1\",\n\t\t\tname: \"aws-eusc\",\n\t\t\tsupportsDualStack: true,\n\t\t\tsupportsFIPS: true\n\t\t},\n\t\tregionRegex: \"^eusc\\\\-(de)\\\\-\\\\w+\\\\-\\\\d+$\",\n\t\tregions: {\n\t\t\t\"eusc-de-east-1\": {\n\t\t\t\tdescription: \"AWS European Sovereign Cloud (Germany)\"\n\t\t\t}\n\t\t}\n\t},\n\t{\n\t\tid: \"aws-iso\",\n\t\toutputs: {\n\t\t\tdnsSuffix: \"c2s.ic.gov\",\n\t\t\tdualStackDnsSuffix: \"api.aws.ic.gov\",\n\t\t\timplicitGlobalRegion: \"us-iso-east-1\",\n\t\t\tname: \"aws-iso\",\n\t\t\tsupportsDualStack: true,\n\t\t\tsupportsFIPS: true\n\t\t},\n\t\tregionRegex: \"^us\\\\-iso\\\\-\\\\w+\\\\-\\\\d+$\",\n\t\tregions: {\n\t\t\t\"aws-iso-global\": {\n\t\t\t\tdescription: \"aws-iso global region\"\n\t\t\t},\n\t\t\t\"us-iso-east-1\": {\n\t\t\t\tdescription: \"US ISO East\"\n\t\t\t},\n\t\t\t\"us-iso-west-1\": {\n\t\t\t\tdescription: \"US ISO WEST\"\n\t\t\t}\n\t\t}\n\t},\n\t{\n\t\tid: \"aws-iso-b\",\n\t\toutputs: {\n\t\t\tdnsSuffix: \"sc2s.sgov.gov\",\n\t\t\tdualStackDnsSuffix: \"api.aws.scloud\",\n\t\t\timplicitGlobalRegion: \"us-isob-east-1\",\n\t\t\tname: \"aws-iso-b\",\n\t\t\tsupportsDualStack: true,\n\t\t\tsupportsFIPS: true\n\t\t},\n\t\tregionRegex: \"^us\\\\-isob\\\\-\\\\w+\\\\-\\\\d+$\",\n\t\tregions: {\n\t\t\t\"aws-iso-b-global\": {\n\t\t\t\tdescription: \"aws-iso-b global region\"\n\t\t\t},\n\t\t\t\"us-isob-east-1\": {\n\t\t\t\tdescription: \"US ISOB East (Ohio)\"\n\t\t\t},\n\t\t\t\"us-isob-west-1\": {\n\t\t\t\tdescription: \"US ISOB West\"\n\t\t\t}\n\t\t}\n\t},\n\t{\n\t\tid: \"aws-iso-e\",\n\t\toutputs: {\n\t\t\tdnsSuffix: \"cloud.adc-e.uk\",\n\t\t\tdualStackDnsSuffix: \"api.cloud-aws.adc-e.uk\",\n\t\t\timplicitGlobalRegion: \"eu-isoe-west-1\",\n\t\t\tname: \"aws-iso-e\",\n\t\t\tsupportsDualStack: true,\n\t\t\tsupportsFIPS: true\n\t\t},\n\t\tregionRegex: \"^eu\\\\-isoe\\\\-\\\\w+\\\\-\\\\d+$\",\n\t\tregions: {\n\t\t\t\"aws-iso-e-global\": {\n\t\t\t\tdescription: \"aws-iso-e global region\"\n\t\t\t},\n\t\t\t\"eu-isoe-west-1\": {\n\t\t\t\tdescription: \"EU ISOE West\"\n\t\t\t}\n\t\t}\n\t},\n\t{\n\t\tid: \"aws-iso-f\",\n\t\toutputs: {\n\t\t\tdnsSuffix: \"csp.hci.ic.gov\",\n\t\t\tdualStackDnsSuffix: \"api.aws.hci.ic.gov\",\n\t\t\timplicitGlobalRegion: \"us-isof-south-1\",\n\t\t\tname: \"aws-iso-f\",\n\t\t\tsupportsDualStack: true,\n\t\t\tsupportsFIPS: true\n\t\t},\n\t\tregionRegex: \"^us\\\\-isof\\\\-\\\\w+\\\\-\\\\d+$\",\n\t\tregions: {\n\t\t\t\"aws-iso-f-global\": {\n\t\t\t\tdescription: \"aws-iso-f global region\"\n\t\t\t},\n\t\t\t\"us-isof-east-1\": {\n\t\t\t\tdescription: \"US ISOF EAST\"\n\t\t\t},\n\t\t\t\"us-isof-south-1\": {\n\t\t\t\tdescription: \"US ISOF SOUTH\"\n\t\t\t}\n\t\t}\n\t},\n\t{\n\t\tid: \"aws-us-gov\",\n\t\toutputs: {\n\t\t\tdnsSuffix: \"amazonaws.com\",\n\t\t\tdualStackDnsSuffix: \"api.aws\",\n\t\t\timplicitGlobalRegion: \"us-gov-west-1\",\n\t\t\tname: \"aws-us-gov\",\n\t\t\tsupportsDualStack: true,\n\t\t\tsupportsFIPS: true\n\t\t},\n\t\tregionRegex: \"^us\\\\-gov\\\\-\\\\w+\\\\-\\\\d+$\",\n\t\tregions: {\n\t\t\t\"aws-us-gov-global\": {\n\t\t\t\tdescription: \"aws-us-gov global region\"\n\t\t\t},\n\t\t\t\"us-gov-east-1\": {\n\t\t\t\tdescription: \"AWS GovCloud (US-East)\"\n\t\t\t},\n\t\t\t\"us-gov-west-1\": {\n\t\t\t\tdescription: \"AWS GovCloud (US-West)\"\n\t\t\t}\n\t\t}\n\t}\n];\nvar version = \"1.1\";\nvar partitionsInfo = {\n\tpartitions: partitions,\n\tversion: version\n};\n\nlet selectedPartitionsInfo = partitionsInfo;\nlet selectedUserAgentPrefix = \"\";\nconst partition = (value) => {\n const { partitions } = selectedPartitionsInfo;\n for (const partition of partitions) {\n const { regions, outputs } = partition;\n for (const [region, regionData] of Object.entries(regions)) {\n if (region === value) {\n return {\n ...outputs,\n ...regionData,\n };\n }\n }\n }\n for (const partition of partitions) {\n const { regionRegex, outputs } = partition;\n if (new RegExp(regionRegex).test(value)) {\n return {\n ...outputs,\n };\n }\n }\n const DEFAULT_PARTITION = partitions.find((partition) => partition.id === \"aws\");\n if (!DEFAULT_PARTITION) {\n throw new Error(\"Provided region was not found in the partition array or regex,\" +\n \" and default partition with id 'aws' doesn't exist.\");\n }\n return {\n ...DEFAULT_PARTITION.outputs,\n };\n};\nconst setPartitionInfo = (partitionsInfo, userAgentPrefix = \"\") => {\n selectedPartitionsInfo = partitionsInfo;\n selectedUserAgentPrefix = userAgentPrefix;\n};\nconst useDefaultPartitionInfo = () => {\n setPartitionInfo(partitionsInfo, \"\");\n};\nconst getUserAgentPrefix = () => selectedUserAgentPrefix;\n\nconst awsEndpointFunctions = {\n isVirtualHostableS3Bucket: isVirtualHostableS3Bucket,\n parseArn: parseArn,\n partition: partition,\n};\nutilEndpoints.customEndpointFunctions.aws = awsEndpointFunctions;\n\nconst resolveDefaultAwsRegionalEndpointsConfig = (input) => {\n if (typeof input.endpointProvider !== \"function\") {\n throw new Error(\"@aws-sdk/util-endpoint - endpointProvider and endpoint missing in config for this client.\");\n }\n const { endpoint } = input;\n if (endpoint === undefined) {\n input.endpoint = async () => {\n return toEndpointV1(input.endpointProvider({\n Region: typeof input.region === \"function\" ? await input.region() : input.region,\n UseDualStack: typeof input.useDualstackEndpoint === \"function\"\n ? await input.useDualstackEndpoint()\n : input.useDualstackEndpoint,\n UseFIPS: typeof input.useFipsEndpoint === \"function\" ? await input.useFipsEndpoint() : input.useFipsEndpoint,\n Endpoint: undefined,\n }, { logger: input.logger }));\n };\n }\n return input;\n};\nconst toEndpointV1 = (endpoint) => urlParser.parseUrl(endpoint.url);\n\nexports.EndpointError = utilEndpoints.EndpointError;\nexports.isIpAddress = utilEndpoints.isIpAddress;\nexports.resolveEndpoint = utilEndpoints.resolveEndpoint;\nexports.awsEndpointFunctions = awsEndpointFunctions;\nexports.getUserAgentPrefix = getUserAgentPrefix;\nexports.partition = partition;\nexports.resolveDefaultAwsRegionalEndpointsConfig = resolveDefaultAwsRegionalEndpointsConfig;\nexports.setPartitionInfo = setPartitionInfo;\nexports.toEndpointV1 = toEndpointV1;\nexports.useDefaultPartitionInfo = useDefaultPartitionInfo;\n","'use strict';\n\nconst CLOCK_SKEW_ERROR_CODES = [\n \"AuthFailure\",\n \"InvalidSignatureException\",\n \"RequestExpired\",\n \"RequestInTheFuture\",\n \"RequestTimeTooSkewed\",\n \"SignatureDoesNotMatch\",\n];\nconst THROTTLING_ERROR_CODES = [\n \"BandwidthLimitExceeded\",\n \"EC2ThrottledException\",\n \"LimitExceededException\",\n \"PriorRequestNotComplete\",\n \"ProvisionedThroughputExceededException\",\n \"RequestLimitExceeded\",\n \"RequestThrottled\",\n \"RequestThrottledException\",\n \"SlowDown\",\n \"ThrottledException\",\n \"Throttling\",\n \"ThrottlingException\",\n \"TooManyRequestsException\",\n \"TransactionInProgressException\",\n];\nconst TRANSIENT_ERROR_CODES = [\"TimeoutError\", \"RequestTimeout\", \"RequestTimeoutException\"];\nconst TRANSIENT_ERROR_STATUS_CODES = [500, 502, 503, 504];\nconst NODEJS_TIMEOUT_ERROR_CODES = [\"ECONNRESET\", \"ECONNREFUSED\", \"EPIPE\", \"ETIMEDOUT\"];\nconst NODEJS_NETWORK_ERROR_CODES = [\"EHOSTUNREACH\", \"ENETUNREACH\", \"ENOTFOUND\"];\n\nconst isRetryableByTrait = (error) => error?.$retryable !== undefined;\nconst isClockSkewError = (error) => CLOCK_SKEW_ERROR_CODES.includes(error.name);\nconst isClockSkewCorrectedError = (error) => error.$metadata?.clockSkewCorrected;\nconst isBrowserNetworkError = (error) => {\n const errorMessages = new Set([\n \"Failed to fetch\",\n \"NetworkError when attempting to fetch resource\",\n \"The Internet connection appears to be offline\",\n \"Load failed\",\n \"Network request failed\",\n ]);\n const isValid = error && error instanceof TypeError;\n if (!isValid) {\n return false;\n }\n return errorMessages.has(error.message);\n};\nconst isThrottlingError = (error) => error.$metadata?.httpStatusCode === 429 ||\n THROTTLING_ERROR_CODES.includes(error.name) ||\n error.$retryable?.throttling == true;\nconst isTransientError = (error, depth = 0) => isRetryableByTrait(error) ||\n isClockSkewCorrectedError(error) ||\n TRANSIENT_ERROR_CODES.includes(error.name) ||\n NODEJS_TIMEOUT_ERROR_CODES.includes(error?.code || \"\") ||\n NODEJS_NETWORK_ERROR_CODES.includes(error?.code || \"\") ||\n TRANSIENT_ERROR_STATUS_CODES.includes(error.$metadata?.httpStatusCode || 0) ||\n isBrowserNetworkError(error) ||\n (error.cause !== undefined && depth <= 10 && isTransientError(error.cause, depth + 1));\nconst isServerError = (error) => {\n if (error.$metadata?.httpStatusCode !== undefined) {\n const statusCode = error.$metadata.httpStatusCode;\n if (500 <= statusCode && statusCode <= 599 && !isTransientError(error)) {\n return true;\n }\n return false;\n }\n return false;\n};\n\nexports.isBrowserNetworkError = isBrowserNetworkError;\nexports.isClockSkewCorrectedError = isClockSkewCorrectedError;\nexports.isClockSkewError = isClockSkewError;\nexports.isRetryableByTrait = isRetryableByTrait;\nexports.isServerError = isServerError;\nexports.isThrottlingError = isThrottlingError;\nexports.isTransientError = isTransientError;\n","'use strict';\n\nvar serviceErrorClassification = require('@smithy/service-error-classification');\n\nexports.RETRY_MODES = void 0;\n(function (RETRY_MODES) {\n RETRY_MODES[\"STANDARD\"] = \"standard\";\n RETRY_MODES[\"ADAPTIVE\"] = \"adaptive\";\n})(exports.RETRY_MODES || (exports.RETRY_MODES = {}));\nconst DEFAULT_MAX_ATTEMPTS = 3;\nconst DEFAULT_RETRY_MODE = exports.RETRY_MODES.STANDARD;\n\nclass DefaultRateLimiter {\n static setTimeoutFn = setTimeout;\n beta;\n minCapacity;\n minFillRate;\n scaleConstant;\n smooth;\n currentCapacity = 0;\n enabled = false;\n lastMaxRate = 0;\n measuredTxRate = 0;\n requestCount = 0;\n fillRate;\n lastThrottleTime;\n lastTimestamp = 0;\n lastTxRateBucket;\n maxCapacity;\n timeWindow = 0;\n constructor(options) {\n this.beta = options?.beta ?? 0.7;\n this.minCapacity = options?.minCapacity ?? 1;\n this.minFillRate = options?.minFillRate ?? 0.5;\n this.scaleConstant = options?.scaleConstant ?? 0.4;\n this.smooth = options?.smooth ?? 0.8;\n const currentTimeInSeconds = this.getCurrentTimeInSeconds();\n this.lastThrottleTime = currentTimeInSeconds;\n this.lastTxRateBucket = Math.floor(this.getCurrentTimeInSeconds());\n this.fillRate = this.minFillRate;\n this.maxCapacity = this.minCapacity;\n }\n getCurrentTimeInSeconds() {\n return Date.now() / 1000;\n }\n async getSendToken() {\n return this.acquireTokenBucket(1);\n }\n async acquireTokenBucket(amount) {\n if (!this.enabled) {\n return;\n }\n this.refillTokenBucket();\n if (amount > this.currentCapacity) {\n const delay = ((amount - this.currentCapacity) / this.fillRate) * 1000;\n await new Promise((resolve) => DefaultRateLimiter.setTimeoutFn(resolve, delay));\n }\n this.currentCapacity = this.currentCapacity - amount;\n }\n refillTokenBucket() {\n const timestamp = this.getCurrentTimeInSeconds();\n if (!this.lastTimestamp) {\n this.lastTimestamp = timestamp;\n return;\n }\n const fillAmount = (timestamp - this.lastTimestamp) * this.fillRate;\n this.currentCapacity = Math.min(this.maxCapacity, this.currentCapacity + fillAmount);\n this.lastTimestamp = timestamp;\n }\n updateClientSendingRate(response) {\n let calculatedRate;\n this.updateMeasuredRate();\n if (serviceErrorClassification.isThrottlingError(response)) {\n const rateToUse = !this.enabled ? this.measuredTxRate : Math.min(this.measuredTxRate, this.fillRate);\n this.lastMaxRate = rateToUse;\n this.calculateTimeWindow();\n this.lastThrottleTime = this.getCurrentTimeInSeconds();\n calculatedRate = this.cubicThrottle(rateToUse);\n this.enableTokenBucket();\n }\n else {\n this.calculateTimeWindow();\n calculatedRate = this.cubicSuccess(this.getCurrentTimeInSeconds());\n }\n const newRate = Math.min(calculatedRate, 2 * this.measuredTxRate);\n this.updateTokenBucketRate(newRate);\n }\n calculateTimeWindow() {\n this.timeWindow = this.getPrecise(Math.pow((this.lastMaxRate * (1 - this.beta)) / this.scaleConstant, 1 / 3));\n }\n cubicThrottle(rateToUse) {\n return this.getPrecise(rateToUse * this.beta);\n }\n cubicSuccess(timestamp) {\n return this.getPrecise(this.scaleConstant * Math.pow(timestamp - this.lastThrottleTime - this.timeWindow, 3) + this.lastMaxRate);\n }\n enableTokenBucket() {\n this.enabled = true;\n }\n updateTokenBucketRate(newRate) {\n this.refillTokenBucket();\n this.fillRate = Math.max(newRate, this.minFillRate);\n this.maxCapacity = Math.max(newRate, this.minCapacity);\n this.currentCapacity = Math.min(this.currentCapacity, this.maxCapacity);\n }\n updateMeasuredRate() {\n const t = this.getCurrentTimeInSeconds();\n const timeBucket = Math.floor(t * 2) / 2;\n this.requestCount++;\n if (timeBucket > this.lastTxRateBucket) {\n const currentRate = this.requestCount / (timeBucket - this.lastTxRateBucket);\n this.measuredTxRate = this.getPrecise(currentRate * this.smooth + this.measuredTxRate * (1 - this.smooth));\n this.requestCount = 0;\n this.lastTxRateBucket = timeBucket;\n }\n }\n getPrecise(num) {\n return parseFloat(num.toFixed(8));\n }\n}\n\nconst DEFAULT_RETRY_DELAY_BASE = 100;\nconst MAXIMUM_RETRY_DELAY = 20 * 1000;\nconst THROTTLING_RETRY_DELAY_BASE = 500;\nconst INITIAL_RETRY_TOKENS = 500;\nconst RETRY_COST = 5;\nconst TIMEOUT_RETRY_COST = 10;\nconst NO_RETRY_INCREMENT = 1;\nconst INVOCATION_ID_HEADER = \"amz-sdk-invocation-id\";\nconst REQUEST_HEADER = \"amz-sdk-request\";\n\nconst getDefaultRetryBackoffStrategy = () => {\n let delayBase = DEFAULT_RETRY_DELAY_BASE;\n const computeNextBackoffDelay = (attempts) => {\n return Math.floor(Math.min(MAXIMUM_RETRY_DELAY, Math.random() * 2 ** attempts * delayBase));\n };\n const setDelayBase = (delay) => {\n delayBase = delay;\n };\n return {\n computeNextBackoffDelay,\n setDelayBase,\n };\n};\n\nconst createDefaultRetryToken = ({ retryDelay, retryCount, retryCost, }) => {\n const getRetryCount = () => retryCount;\n const getRetryDelay = () => Math.min(MAXIMUM_RETRY_DELAY, retryDelay);\n const getRetryCost = () => retryCost;\n return {\n getRetryCount,\n getRetryDelay,\n getRetryCost,\n };\n};\n\nclass StandardRetryStrategy {\n maxAttempts;\n mode = exports.RETRY_MODES.STANDARD;\n capacity = INITIAL_RETRY_TOKENS;\n retryBackoffStrategy = getDefaultRetryBackoffStrategy();\n maxAttemptsProvider;\n constructor(maxAttempts) {\n this.maxAttempts = maxAttempts;\n this.maxAttemptsProvider = typeof maxAttempts === \"function\" ? maxAttempts : async () => maxAttempts;\n }\n async acquireInitialRetryToken(retryTokenScope) {\n return createDefaultRetryToken({\n retryDelay: DEFAULT_RETRY_DELAY_BASE,\n retryCount: 0,\n });\n }\n async refreshRetryTokenForRetry(token, errorInfo) {\n const maxAttempts = await this.getMaxAttempts();\n if (this.shouldRetry(token, errorInfo, maxAttempts)) {\n const errorType = errorInfo.errorType;\n this.retryBackoffStrategy.setDelayBase(errorType === \"THROTTLING\" ? THROTTLING_RETRY_DELAY_BASE : DEFAULT_RETRY_DELAY_BASE);\n const delayFromErrorType = this.retryBackoffStrategy.computeNextBackoffDelay(token.getRetryCount());\n const retryDelay = errorInfo.retryAfterHint\n ? Math.max(errorInfo.retryAfterHint.getTime() - Date.now() || 0, delayFromErrorType)\n : delayFromErrorType;\n const capacityCost = this.getCapacityCost(errorType);\n this.capacity -= capacityCost;\n return createDefaultRetryToken({\n retryDelay,\n retryCount: token.getRetryCount() + 1,\n retryCost: capacityCost,\n });\n }\n throw new Error(\"No retry token available\");\n }\n recordSuccess(token) {\n this.capacity = Math.max(INITIAL_RETRY_TOKENS, this.capacity + (token.getRetryCost() ?? NO_RETRY_INCREMENT));\n }\n getCapacity() {\n return this.capacity;\n }\n async getMaxAttempts() {\n try {\n return await this.maxAttemptsProvider();\n }\n catch (error) {\n console.warn(`Max attempts provider could not resolve. Using default of ${DEFAULT_MAX_ATTEMPTS}`);\n return DEFAULT_MAX_ATTEMPTS;\n }\n }\n shouldRetry(tokenToRenew, errorInfo, maxAttempts) {\n const attempts = tokenToRenew.getRetryCount() + 1;\n return (attempts < maxAttempts &&\n this.capacity >= this.getCapacityCost(errorInfo.errorType) &&\n this.isRetryableError(errorInfo.errorType));\n }\n getCapacityCost(errorType) {\n return errorType === \"TRANSIENT\" ? TIMEOUT_RETRY_COST : RETRY_COST;\n }\n isRetryableError(errorType) {\n return errorType === \"THROTTLING\" || errorType === \"TRANSIENT\";\n }\n}\n\nclass AdaptiveRetryStrategy {\n maxAttemptsProvider;\n rateLimiter;\n standardRetryStrategy;\n mode = exports.RETRY_MODES.ADAPTIVE;\n constructor(maxAttemptsProvider, options) {\n this.maxAttemptsProvider = maxAttemptsProvider;\n const { rateLimiter } = options ?? {};\n this.rateLimiter = rateLimiter ?? new DefaultRateLimiter();\n this.standardRetryStrategy = new StandardRetryStrategy(maxAttemptsProvider);\n }\n async acquireInitialRetryToken(retryTokenScope) {\n await this.rateLimiter.getSendToken();\n return this.standardRetryStrategy.acquireInitialRetryToken(retryTokenScope);\n }\n async refreshRetryTokenForRetry(tokenToRenew, errorInfo) {\n this.rateLimiter.updateClientSendingRate(errorInfo);\n return this.standardRetryStrategy.refreshRetryTokenForRetry(tokenToRenew, errorInfo);\n }\n recordSuccess(token) {\n this.rateLimiter.updateClientSendingRate({});\n this.standardRetryStrategy.recordSuccess(token);\n }\n}\n\nclass ConfiguredRetryStrategy extends StandardRetryStrategy {\n computeNextBackoffDelay;\n constructor(maxAttempts, computeNextBackoffDelay = DEFAULT_RETRY_DELAY_BASE) {\n super(typeof maxAttempts === \"function\" ? maxAttempts : async () => maxAttempts);\n if (typeof computeNextBackoffDelay === \"number\") {\n this.computeNextBackoffDelay = () => computeNextBackoffDelay;\n }\n else {\n this.computeNextBackoffDelay = computeNextBackoffDelay;\n }\n }\n async refreshRetryTokenForRetry(tokenToRenew, errorInfo) {\n const token = await super.refreshRetryTokenForRetry(tokenToRenew, errorInfo);\n token.getRetryDelay = () => this.computeNextBackoffDelay(token.getRetryCount());\n return token;\n }\n}\n\nexports.AdaptiveRetryStrategy = AdaptiveRetryStrategy;\nexports.ConfiguredRetryStrategy = ConfiguredRetryStrategy;\nexports.DEFAULT_MAX_ATTEMPTS = DEFAULT_MAX_ATTEMPTS;\nexports.DEFAULT_RETRY_DELAY_BASE = DEFAULT_RETRY_DELAY_BASE;\nexports.DEFAULT_RETRY_MODE = DEFAULT_RETRY_MODE;\nexports.DefaultRateLimiter = DefaultRateLimiter;\nexports.INITIAL_RETRY_TOKENS = INITIAL_RETRY_TOKENS;\nexports.INVOCATION_ID_HEADER = INVOCATION_ID_HEADER;\nexports.MAXIMUM_RETRY_DELAY = MAXIMUM_RETRY_DELAY;\nexports.NO_RETRY_INCREMENT = NO_RETRY_INCREMENT;\nexports.REQUEST_HEADER = REQUEST_HEADER;\nexports.RETRY_COST = RETRY_COST;\nexports.StandardRetryStrategy = StandardRetryStrategy;\nexports.THROTTLING_RETRY_DELAY_BASE = THROTTLING_RETRY_DELAY_BASE;\nexports.TIMEOUT_RETRY_COST = TIMEOUT_RETRY_COST;\n","'use strict';\n\nvar core = require('@smithy/core');\nvar utilEndpoints = require('@aws-sdk/util-endpoints');\nvar protocolHttp = require('@smithy/protocol-http');\nvar core$1 = require('@aws-sdk/core');\nvar utilRetry = require('@smithy/util-retry');\n\nconst DEFAULT_UA_APP_ID = undefined;\nfunction isValidUserAgentAppId(appId) {\n if (appId === undefined) {\n return true;\n }\n return typeof appId === \"string\" && appId.length <= 50;\n}\nfunction resolveUserAgentConfig(input) {\n const normalizedAppIdProvider = core.normalizeProvider(input.userAgentAppId ?? DEFAULT_UA_APP_ID);\n const { customUserAgent } = input;\n return Object.assign(input, {\n customUserAgent: typeof customUserAgent === \"string\" ? [[customUserAgent]] : customUserAgent,\n userAgentAppId: async () => {\n const appId = await normalizedAppIdProvider();\n if (!isValidUserAgentAppId(appId)) {\n const logger = input.logger?.constructor?.name === \"NoOpLogger\" || !input.logger ? console : input.logger;\n if (typeof appId !== \"string\") {\n logger?.warn(\"userAgentAppId must be a string or undefined.\");\n }\n else if (appId.length > 50) {\n logger?.warn(\"The provided userAgentAppId exceeds the maximum length of 50 characters.\");\n }\n }\n return appId;\n },\n });\n}\n\nconst ACCOUNT_ID_ENDPOINT_REGEX = /\\d{12}\\.ddb/;\nasync function checkFeatures(context, config, args) {\n const request = args.request;\n if (request?.headers?.[\"smithy-protocol\"] === \"rpc-v2-cbor\") {\n core$1.setFeature(context, \"PROTOCOL_RPC_V2_CBOR\", \"M\");\n }\n if (typeof config.retryStrategy === \"function\") {\n const retryStrategy = await config.retryStrategy();\n if (typeof retryStrategy.mode === \"string\") {\n switch (retryStrategy.mode) {\n case utilRetry.RETRY_MODES.ADAPTIVE:\n core$1.setFeature(context, \"RETRY_MODE_ADAPTIVE\", \"F\");\n break;\n case utilRetry.RETRY_MODES.STANDARD:\n core$1.setFeature(context, \"RETRY_MODE_STANDARD\", \"E\");\n break;\n }\n }\n }\n if (typeof config.accountIdEndpointMode === \"function\") {\n const endpointV2 = context.endpointV2;\n if (String(endpointV2?.url?.hostname).match(ACCOUNT_ID_ENDPOINT_REGEX)) {\n core$1.setFeature(context, \"ACCOUNT_ID_ENDPOINT\", \"O\");\n }\n switch (await config.accountIdEndpointMode?.()) {\n case \"disabled\":\n core$1.setFeature(context, \"ACCOUNT_ID_MODE_DISABLED\", \"Q\");\n break;\n case \"preferred\":\n core$1.setFeature(context, \"ACCOUNT_ID_MODE_PREFERRED\", \"P\");\n break;\n case \"required\":\n core$1.setFeature(context, \"ACCOUNT_ID_MODE_REQUIRED\", \"R\");\n break;\n }\n }\n const identity = context.__smithy_context?.selectedHttpAuthScheme?.identity;\n if (identity?.$source) {\n const credentials = identity;\n if (credentials.accountId) {\n core$1.setFeature(context, \"RESOLVED_ACCOUNT_ID\", \"T\");\n }\n for (const [key, value] of Object.entries(credentials.$source ?? {})) {\n core$1.setFeature(context, key, value);\n }\n }\n}\n\nconst USER_AGENT = \"user-agent\";\nconst X_AMZ_USER_AGENT = \"x-amz-user-agent\";\nconst SPACE = \" \";\nconst UA_NAME_SEPARATOR = \"/\";\nconst UA_NAME_ESCAPE_REGEX = /[^!$%&'*+\\-.^_`|~\\w]/g;\nconst UA_VALUE_ESCAPE_REGEX = /[^!$%&'*+\\-.^_`|~\\w#]/g;\nconst UA_ESCAPE_CHAR = \"-\";\n\nconst BYTE_LIMIT = 1024;\nfunction encodeFeatures(features) {\n let buffer = \"\";\n for (const key in features) {\n const val = features[key];\n if (buffer.length + val.length + 1 <= BYTE_LIMIT) {\n if (buffer.length) {\n buffer += \",\" + val;\n }\n else {\n buffer += val;\n }\n continue;\n }\n break;\n }\n return buffer;\n}\n\nconst userAgentMiddleware = (options) => (next, context) => async (args) => {\n const { request } = args;\n if (!protocolHttp.HttpRequest.isInstance(request)) {\n return next(args);\n }\n const { headers } = request;\n const userAgent = context?.userAgent?.map(escapeUserAgent) || [];\n const defaultUserAgent = (await options.defaultUserAgentProvider()).map(escapeUserAgent);\n await checkFeatures(context, options, args);\n const awsContext = context;\n defaultUserAgent.push(`m/${encodeFeatures(Object.assign({}, context.__smithy_context?.features, awsContext.__aws_sdk_context?.features))}`);\n const customUserAgent = options?.customUserAgent?.map(escapeUserAgent) || [];\n const appId = await options.userAgentAppId();\n if (appId) {\n defaultUserAgent.push(escapeUserAgent([`app`, `${appId}`]));\n }\n const prefix = utilEndpoints.getUserAgentPrefix();\n const sdkUserAgentValue = (prefix ? [prefix] : [])\n .concat([...defaultUserAgent, ...userAgent, ...customUserAgent])\n .join(SPACE);\n const normalUAValue = [\n ...defaultUserAgent.filter((section) => section.startsWith(\"aws-sdk-\")),\n ...customUserAgent,\n ].join(SPACE);\n if (options.runtime !== \"browser\") {\n if (normalUAValue) {\n headers[X_AMZ_USER_AGENT] = headers[X_AMZ_USER_AGENT]\n ? `${headers[USER_AGENT]} ${normalUAValue}`\n : normalUAValue;\n }\n headers[USER_AGENT] = sdkUserAgentValue;\n }\n else {\n headers[X_AMZ_USER_AGENT] = sdkUserAgentValue;\n }\n return next({\n ...args,\n request,\n });\n};\nconst escapeUserAgent = (userAgentPair) => {\n const name = userAgentPair[0]\n .split(UA_NAME_SEPARATOR)\n .map((part) => part.replace(UA_NAME_ESCAPE_REGEX, UA_ESCAPE_CHAR))\n .join(UA_NAME_SEPARATOR);\n const version = userAgentPair[1]?.replace(UA_VALUE_ESCAPE_REGEX, UA_ESCAPE_CHAR);\n const prefixSeparatorIndex = name.indexOf(UA_NAME_SEPARATOR);\n const prefix = name.substring(0, prefixSeparatorIndex);\n let uaName = name.substring(prefixSeparatorIndex + 1);\n if (prefix === \"api\") {\n uaName = uaName.toLowerCase();\n }\n return [prefix, uaName, version]\n .filter((item) => item && item.length > 0)\n .reduce((acc, item, index) => {\n switch (index) {\n case 0:\n return item;\n case 1:\n return `${acc}/${item}`;\n default:\n return `${acc}#${item}`;\n }\n }, \"\");\n};\nconst getUserAgentMiddlewareOptions = {\n name: \"getUserAgentMiddleware\",\n step: \"build\",\n priority: \"low\",\n tags: [\"SET_USER_AGENT\", \"USER_AGENT\"],\n override: true,\n};\nconst getUserAgentPlugin = (config) => ({\n applyToStack: (clientStack) => {\n clientStack.add(userAgentMiddleware(config), getUserAgentMiddlewareOptions);\n },\n});\n\nexports.DEFAULT_UA_APP_ID = DEFAULT_UA_APP_ID;\nexports.getUserAgentMiddlewareOptions = getUserAgentMiddlewareOptions;\nexports.getUserAgentPlugin = getUserAgentPlugin;\nexports.resolveUserAgentConfig = resolveUserAgentConfig;\nexports.userAgentMiddleware = userAgentMiddleware;\n","'use strict';\n\nvar utilConfigProvider = require('@smithy/util-config-provider');\nvar utilMiddleware = require('@smithy/util-middleware');\nvar utilEndpoints = require('@smithy/util-endpoints');\n\nconst ENV_USE_DUALSTACK_ENDPOINT = \"AWS_USE_DUALSTACK_ENDPOINT\";\nconst CONFIG_USE_DUALSTACK_ENDPOINT = \"use_dualstack_endpoint\";\nconst DEFAULT_USE_DUALSTACK_ENDPOINT = false;\nconst NODE_USE_DUALSTACK_ENDPOINT_CONFIG_OPTIONS = {\n environmentVariableSelector: (env) => utilConfigProvider.booleanSelector(env, ENV_USE_DUALSTACK_ENDPOINT, utilConfigProvider.SelectorType.ENV),\n configFileSelector: (profile) => utilConfigProvider.booleanSelector(profile, CONFIG_USE_DUALSTACK_ENDPOINT, utilConfigProvider.SelectorType.CONFIG),\n default: false,\n};\n\nconst ENV_USE_FIPS_ENDPOINT = \"AWS_USE_FIPS_ENDPOINT\";\nconst CONFIG_USE_FIPS_ENDPOINT = \"use_fips_endpoint\";\nconst DEFAULT_USE_FIPS_ENDPOINT = false;\nconst NODE_USE_FIPS_ENDPOINT_CONFIG_OPTIONS = {\n environmentVariableSelector: (env) => utilConfigProvider.booleanSelector(env, ENV_USE_FIPS_ENDPOINT, utilConfigProvider.SelectorType.ENV),\n configFileSelector: (profile) => utilConfigProvider.booleanSelector(profile, CONFIG_USE_FIPS_ENDPOINT, utilConfigProvider.SelectorType.CONFIG),\n default: false,\n};\n\nconst resolveCustomEndpointsConfig = (input) => {\n const { tls, endpoint, urlParser, useDualstackEndpoint } = input;\n return Object.assign(input, {\n tls: tls ?? true,\n endpoint: utilMiddleware.normalizeProvider(typeof endpoint === \"string\" ? urlParser(endpoint) : endpoint),\n isCustomEndpoint: true,\n useDualstackEndpoint: utilMiddleware.normalizeProvider(useDualstackEndpoint ?? false),\n });\n};\n\nconst getEndpointFromRegion = async (input) => {\n const { tls = true } = input;\n const region = await input.region();\n const dnsHostRegex = new RegExp(/^([a-zA-Z0-9]|[a-zA-Z0-9][a-zA-Z0-9-]{0,61}[a-zA-Z0-9])$/);\n if (!dnsHostRegex.test(region)) {\n throw new Error(\"Invalid region in client config\");\n }\n const useDualstackEndpoint = await input.useDualstackEndpoint();\n const useFipsEndpoint = await input.useFipsEndpoint();\n const { hostname } = (await input.regionInfoProvider(region, { useDualstackEndpoint, useFipsEndpoint })) ?? {};\n if (!hostname) {\n throw new Error(\"Cannot resolve hostname from client config\");\n }\n return input.urlParser(`${tls ? \"https:\" : \"http:\"}//${hostname}`);\n};\n\nconst resolveEndpointsConfig = (input) => {\n const useDualstackEndpoint = utilMiddleware.normalizeProvider(input.useDualstackEndpoint ?? false);\n const { endpoint, useFipsEndpoint, urlParser, tls } = input;\n return Object.assign(input, {\n tls: tls ?? true,\n endpoint: endpoint\n ? utilMiddleware.normalizeProvider(typeof endpoint === \"string\" ? urlParser(endpoint) : endpoint)\n : () => getEndpointFromRegion({ ...input, useDualstackEndpoint, useFipsEndpoint }),\n isCustomEndpoint: !!endpoint,\n useDualstackEndpoint,\n });\n};\n\nconst REGION_ENV_NAME = \"AWS_REGION\";\nconst REGION_INI_NAME = \"region\";\nconst NODE_REGION_CONFIG_OPTIONS = {\n environmentVariableSelector: (env) => env[REGION_ENV_NAME],\n configFileSelector: (profile) => profile[REGION_INI_NAME],\n default: () => {\n throw new Error(\"Region is missing\");\n },\n};\nconst NODE_REGION_CONFIG_FILE_OPTIONS = {\n preferredFile: \"credentials\",\n};\n\nconst validRegions = new Set();\nconst checkRegion = (region, check = utilEndpoints.isValidHostLabel) => {\n if (!validRegions.has(region) && !check(region)) {\n if (region === \"*\") {\n console.warn(`@smithy/config-resolver WARN - Please use the caller region instead of \"*\". See \"sigv4a\" in https://github.com/aws/aws-sdk-js-v3/blob/main/supplemental-docs/CLIENTS.md.`);\n }\n else {\n throw new Error(`Region not accepted: region=\"${region}\" is not a valid hostname component.`);\n }\n }\n else {\n validRegions.add(region);\n }\n};\n\nconst isFipsRegion = (region) => typeof region === \"string\" && (region.startsWith(\"fips-\") || region.endsWith(\"-fips\"));\n\nconst getRealRegion = (region) => isFipsRegion(region)\n ? [\"fips-aws-global\", \"aws-fips\"].includes(region)\n ? \"us-east-1\"\n : region.replace(/fips-(dkr-|prod-)?|-fips/, \"\")\n : region;\n\nconst resolveRegionConfig = (input) => {\n const { region, useFipsEndpoint } = input;\n if (!region) {\n throw new Error(\"Region is missing\");\n }\n return Object.assign(input, {\n region: async () => {\n const providedRegion = typeof region === \"function\" ? await region() : region;\n const realRegion = getRealRegion(providedRegion);\n checkRegion(realRegion);\n return realRegion;\n },\n useFipsEndpoint: async () => {\n const providedRegion = typeof region === \"string\" ? region : await region();\n if (isFipsRegion(providedRegion)) {\n return true;\n }\n return typeof useFipsEndpoint !== \"function\" ? Promise.resolve(!!useFipsEndpoint) : useFipsEndpoint();\n },\n });\n};\n\nconst getHostnameFromVariants = (variants = [], { useFipsEndpoint, useDualstackEndpoint }) => variants.find(({ tags }) => useFipsEndpoint === tags.includes(\"fips\") && useDualstackEndpoint === tags.includes(\"dualstack\"))?.hostname;\n\nconst getResolvedHostname = (resolvedRegion, { regionHostname, partitionHostname }) => regionHostname\n ? regionHostname\n : partitionHostname\n ? partitionHostname.replace(\"{region}\", resolvedRegion)\n : undefined;\n\nconst getResolvedPartition = (region, { partitionHash }) => Object.keys(partitionHash || {}).find((key) => partitionHash[key].regions.includes(region)) ?? \"aws\";\n\nconst getResolvedSigningRegion = (hostname, { signingRegion, regionRegex, useFipsEndpoint }) => {\n if (signingRegion) {\n return signingRegion;\n }\n else if (useFipsEndpoint) {\n const regionRegexJs = regionRegex.replace(\"\\\\\\\\\", \"\\\\\").replace(/^\\^/g, \"\\\\.\").replace(/\\$$/g, \"\\\\.\");\n const regionRegexmatchArray = hostname.match(regionRegexJs);\n if (regionRegexmatchArray) {\n return regionRegexmatchArray[0].slice(1, -1);\n }\n }\n};\n\nconst getRegionInfo = (region, { useFipsEndpoint = false, useDualstackEndpoint = false, signingService, regionHash, partitionHash, }) => {\n const partition = getResolvedPartition(region, { partitionHash });\n const resolvedRegion = region in regionHash ? region : partitionHash[partition]?.endpoint ?? region;\n const hostnameOptions = { useFipsEndpoint, useDualstackEndpoint };\n const regionHostname = getHostnameFromVariants(regionHash[resolvedRegion]?.variants, hostnameOptions);\n const partitionHostname = getHostnameFromVariants(partitionHash[partition]?.variants, hostnameOptions);\n const hostname = getResolvedHostname(resolvedRegion, { regionHostname, partitionHostname });\n if (hostname === undefined) {\n throw new Error(`Endpoint resolution failed for: ${{ resolvedRegion, useFipsEndpoint, useDualstackEndpoint }}`);\n }\n const signingRegion = getResolvedSigningRegion(hostname, {\n signingRegion: regionHash[resolvedRegion]?.signingRegion,\n regionRegex: partitionHash[partition].regionRegex,\n useFipsEndpoint,\n });\n return {\n partition,\n signingService,\n hostname,\n ...(signingRegion && { signingRegion }),\n ...(regionHash[resolvedRegion]?.signingService && {\n signingService: regionHash[resolvedRegion].signingService,\n }),\n };\n};\n\nexports.CONFIG_USE_DUALSTACK_ENDPOINT = CONFIG_USE_DUALSTACK_ENDPOINT;\nexports.CONFIG_USE_FIPS_ENDPOINT = CONFIG_USE_FIPS_ENDPOINT;\nexports.DEFAULT_USE_DUALSTACK_ENDPOINT = DEFAULT_USE_DUALSTACK_ENDPOINT;\nexports.DEFAULT_USE_FIPS_ENDPOINT = DEFAULT_USE_FIPS_ENDPOINT;\nexports.ENV_USE_DUALSTACK_ENDPOINT = ENV_USE_DUALSTACK_ENDPOINT;\nexports.ENV_USE_FIPS_ENDPOINT = ENV_USE_FIPS_ENDPOINT;\nexports.NODE_REGION_CONFIG_FILE_OPTIONS = NODE_REGION_CONFIG_FILE_OPTIONS;\nexports.NODE_REGION_CONFIG_OPTIONS = NODE_REGION_CONFIG_OPTIONS;\nexports.NODE_USE_DUALSTACK_ENDPOINT_CONFIG_OPTIONS = NODE_USE_DUALSTACK_ENDPOINT_CONFIG_OPTIONS;\nexports.NODE_USE_FIPS_ENDPOINT_CONFIG_OPTIONS = NODE_USE_FIPS_ENDPOINT_CONFIG_OPTIONS;\nexports.REGION_ENV_NAME = REGION_ENV_NAME;\nexports.REGION_INI_NAME = REGION_INI_NAME;\nexports.getRegionInfo = getRegionInfo;\nexports.resolveCustomEndpointsConfig = resolveCustomEndpointsConfig;\nexports.resolveEndpointsConfig = resolveEndpointsConfig;\nexports.resolveRegionConfig = resolveRegionConfig;\n","'use strict';\n\nvar protocolHttp = require('@smithy/protocol-http');\n\nconst CONTENT_LENGTH_HEADER = \"content-length\";\nfunction contentLengthMiddleware(bodyLengthChecker) {\n return (next) => async (args) => {\n const request = args.request;\n if (protocolHttp.HttpRequest.isInstance(request)) {\n const { body, headers } = request;\n if (body &&\n Object.keys(headers)\n .map((str) => str.toLowerCase())\n .indexOf(CONTENT_LENGTH_HEADER) === -1) {\n try {\n const length = bodyLengthChecker(body);\n request.headers = {\n ...request.headers,\n [CONTENT_LENGTH_HEADER]: String(length),\n };\n }\n catch (error) {\n }\n }\n }\n return next({\n ...args,\n request,\n });\n };\n}\nconst contentLengthMiddlewareOptions = {\n step: \"build\",\n tags: [\"SET_CONTENT_LENGTH\", \"CONTENT_LENGTH\"],\n name: \"contentLengthMiddleware\",\n override: true,\n};\nconst getContentLengthPlugin = (options) => ({\n applyToStack: (clientStack) => {\n clientStack.add(contentLengthMiddleware(options.bodyLengthChecker), contentLengthMiddlewareOptions);\n },\n});\n\nexports.contentLengthMiddleware = contentLengthMiddleware;\nexports.contentLengthMiddlewareOptions = contentLengthMiddlewareOptions;\nexports.getContentLengthPlugin = getContentLengthPlugin;\n","\"use strict\";\nObject.defineProperty(exports, \"__esModule\", { value: true });\nexports.getEndpointUrlConfig = void 0;\nconst shared_ini_file_loader_1 = require(\"@smithy/shared-ini-file-loader\");\nconst ENV_ENDPOINT_URL = \"AWS_ENDPOINT_URL\";\nconst CONFIG_ENDPOINT_URL = \"endpoint_url\";\nconst getEndpointUrlConfig = (serviceId) => ({\n environmentVariableSelector: (env) => {\n const serviceSuffixParts = serviceId.split(\" \").map((w) => w.toUpperCase());\n const serviceEndpointUrl = env[[ENV_ENDPOINT_URL, ...serviceSuffixParts].join(\"_\")];\n if (serviceEndpointUrl)\n return serviceEndpointUrl;\n const endpointUrl = env[ENV_ENDPOINT_URL];\n if (endpointUrl)\n return endpointUrl;\n return undefined;\n },\n configFileSelector: (profile, config) => {\n if (config && profile.services) {\n const servicesSection = config[[\"services\", profile.services].join(shared_ini_file_loader_1.CONFIG_PREFIX_SEPARATOR)];\n if (servicesSection) {\n const servicePrefixParts = serviceId.split(\" \").map((w) => w.toLowerCase());\n const endpointUrl = servicesSection[[servicePrefixParts.join(\"_\"), CONFIG_ENDPOINT_URL].join(shared_ini_file_loader_1.CONFIG_PREFIX_SEPARATOR)];\n if (endpointUrl)\n return endpointUrl;\n }\n }\n const endpointUrl = profile[CONFIG_ENDPOINT_URL];\n if (endpointUrl)\n return endpointUrl;\n return undefined;\n },\n default: undefined,\n});\nexports.getEndpointUrlConfig = getEndpointUrlConfig;\n","\"use strict\";\nObject.defineProperty(exports, \"__esModule\", { value: true });\nexports.getEndpointFromConfig = void 0;\nconst node_config_provider_1 = require(\"@smithy/node-config-provider\");\nconst getEndpointUrlConfig_1 = require(\"./getEndpointUrlConfig\");\nconst getEndpointFromConfig = async (serviceId) => (0, node_config_provider_1.loadConfig)((0, getEndpointUrlConfig_1.getEndpointUrlConfig)(serviceId ?? \"\"))();\nexports.getEndpointFromConfig = getEndpointFromConfig;\n","'use strict';\n\nvar protocolHttp = require('@smithy/protocol-http');\nvar endpoints = require('@smithy/core/endpoints');\n\nconst deserializerMiddleware = (options, deserializer) => (next, context) => async (args) => {\n const { response } = await next(args);\n try {\n const parsed = await deserializer(response, options);\n return {\n response,\n output: parsed,\n };\n }\n catch (error) {\n Object.defineProperty(error, \"$response\", {\n value: response,\n enumerable: false,\n writable: false,\n configurable: false,\n });\n if (!(\"$metadata\" in error)) {\n const hint = `Deserialization error: to see the raw response, inspect the hidden field {error}.$response on this object.`;\n try {\n error.message += \"\\n \" + hint;\n }\n catch (e) {\n if (!context.logger || context.logger?.constructor?.name === \"NoOpLogger\") {\n console.warn(hint);\n }\n else {\n context.logger?.warn?.(hint);\n }\n }\n if (typeof error.$responseBodyText !== \"undefined\") {\n if (error.$response) {\n error.$response.body = error.$responseBodyText;\n }\n }\n try {\n if (protocolHttp.HttpResponse.isInstance(response)) {\n const { headers = {} } = response;\n const headerEntries = Object.entries(headers);\n error.$metadata = {\n httpStatusCode: response.statusCode,\n requestId: findHeader(/^x-[\\w-]+-request-?id$/, headerEntries),\n extendedRequestId: findHeader(/^x-[\\w-]+-id-2$/, headerEntries),\n cfId: findHeader(/^x-[\\w-]+-cf-id$/, headerEntries),\n };\n }\n }\n catch (e) {\n }\n }\n throw error;\n }\n};\nconst findHeader = (pattern, headers) => {\n return (headers.find(([k]) => {\n return k.match(pattern);\n }) || [void 0, void 0])[1];\n};\n\nconst serializerMiddleware = (options, serializer) => (next, context) => async (args) => {\n const endpointConfig = options;\n const endpoint = context.endpointV2\n ? async () => endpoints.toEndpointV1(context.endpointV2)\n : endpointConfig.endpoint;\n if (!endpoint) {\n throw new Error(\"No valid endpoint provider available.\");\n }\n const request = await serializer(args.input, { ...options, endpoint });\n return next({\n ...args,\n request,\n });\n};\n\nconst deserializerMiddlewareOption = {\n name: \"deserializerMiddleware\",\n step: \"deserialize\",\n tags: [\"DESERIALIZER\"],\n override: true,\n};\nconst serializerMiddlewareOption = {\n name: \"serializerMiddleware\",\n step: \"serialize\",\n tags: [\"SERIALIZER\"],\n override: true,\n};\nfunction getSerdePlugin(config, serializer, deserializer) {\n return {\n applyToStack: (commandStack) => {\n commandStack.add(deserializerMiddleware(config, deserializer), deserializerMiddlewareOption);\n commandStack.add(serializerMiddleware(config, serializer), serializerMiddlewareOption);\n },\n };\n}\n\nexports.deserializerMiddleware = deserializerMiddleware;\nexports.deserializerMiddlewareOption = deserializerMiddlewareOption;\nexports.getSerdePlugin = getSerdePlugin;\nexports.serializerMiddleware = serializerMiddleware;\nexports.serializerMiddlewareOption = serializerMiddlewareOption;\n","'use strict';\n\nvar getEndpointFromConfig = require('./adaptors/getEndpointFromConfig');\nvar urlParser = require('@smithy/url-parser');\nvar core = require('@smithy/core');\nvar utilMiddleware = require('@smithy/util-middleware');\nvar middlewareSerde = require('@smithy/middleware-serde');\n\nconst resolveParamsForS3 = async (endpointParams) => {\n const bucket = endpointParams?.Bucket || \"\";\n if (typeof endpointParams.Bucket === \"string\") {\n endpointParams.Bucket = bucket.replace(/#/g, encodeURIComponent(\"#\")).replace(/\\?/g, encodeURIComponent(\"?\"));\n }\n if (isArnBucketName(bucket)) {\n if (endpointParams.ForcePathStyle === true) {\n throw new Error(\"Path-style addressing cannot be used with ARN buckets\");\n }\n }\n else if (!isDnsCompatibleBucketName(bucket) ||\n (bucket.indexOf(\".\") !== -1 && !String(endpointParams.Endpoint).startsWith(\"http:\")) ||\n bucket.toLowerCase() !== bucket ||\n bucket.length < 3) {\n endpointParams.ForcePathStyle = true;\n }\n if (endpointParams.DisableMultiRegionAccessPoints) {\n endpointParams.disableMultiRegionAccessPoints = true;\n endpointParams.DisableMRAP = true;\n }\n return endpointParams;\n};\nconst DOMAIN_PATTERN = /^[a-z0-9][a-z0-9\\.\\-]{1,61}[a-z0-9]$/;\nconst IP_ADDRESS_PATTERN = /(\\d+\\.){3}\\d+/;\nconst DOTS_PATTERN = /\\.\\./;\nconst isDnsCompatibleBucketName = (bucketName) => DOMAIN_PATTERN.test(bucketName) && !IP_ADDRESS_PATTERN.test(bucketName) && !DOTS_PATTERN.test(bucketName);\nconst isArnBucketName = (bucketName) => {\n const [arn, partition, service, , , bucket] = bucketName.split(\":\");\n const isArn = arn === \"arn\" && bucketName.split(\":\").length >= 6;\n const isValidArn = Boolean(isArn && partition && service && bucket);\n if (isArn && !isValidArn) {\n throw new Error(`Invalid ARN: ${bucketName} was an invalid ARN.`);\n }\n return isValidArn;\n};\n\nconst createConfigValueProvider = (configKey, canonicalEndpointParamKey, config, isClientContextParam = false) => {\n const configProvider = async () => {\n let configValue;\n if (isClientContextParam) {\n const clientContextParams = config.clientContextParams;\n const nestedValue = clientContextParams?.[configKey];\n configValue = nestedValue ?? config[configKey] ?? config[canonicalEndpointParamKey];\n }\n else {\n configValue = config[configKey] ?? config[canonicalEndpointParamKey];\n }\n if (typeof configValue === \"function\") {\n return configValue();\n }\n return configValue;\n };\n if (configKey === \"credentialScope\" || canonicalEndpointParamKey === \"CredentialScope\") {\n return async () => {\n const credentials = typeof config.credentials === \"function\" ? await config.credentials() : config.credentials;\n const configValue = credentials?.credentialScope ?? credentials?.CredentialScope;\n return configValue;\n };\n }\n if (configKey === \"accountId\" || canonicalEndpointParamKey === \"AccountId\") {\n return async () => {\n const credentials = typeof config.credentials === \"function\" ? await config.credentials() : config.credentials;\n const configValue = credentials?.accountId ?? credentials?.AccountId;\n return configValue;\n };\n }\n if (configKey === \"endpoint\" || canonicalEndpointParamKey === \"endpoint\") {\n return async () => {\n if (config.isCustomEndpoint === false) {\n return undefined;\n }\n const endpoint = await configProvider();\n if (endpoint && typeof endpoint === \"object\") {\n if (\"url\" in endpoint) {\n return endpoint.url.href;\n }\n if (\"hostname\" in endpoint) {\n const { protocol, hostname, port, path } = endpoint;\n return `${protocol}//${hostname}${port ? \":\" + port : \"\"}${path}`;\n }\n }\n return endpoint;\n };\n }\n return configProvider;\n};\n\nconst toEndpointV1 = (endpoint) => {\n if (typeof endpoint === \"object\") {\n if (\"url\" in endpoint) {\n const v1Endpoint = urlParser.parseUrl(endpoint.url);\n if (endpoint.headers) {\n v1Endpoint.headers = {};\n for (const [name, values] of Object.entries(endpoint.headers)) {\n v1Endpoint.headers[name.toLowerCase()] = values.join(\", \");\n }\n }\n return v1Endpoint;\n }\n return endpoint;\n }\n return urlParser.parseUrl(endpoint);\n};\n\nconst getEndpointFromInstructions = async (commandInput, instructionsSupplier, clientConfig, context) => {\n if (!clientConfig.isCustomEndpoint) {\n let endpointFromConfig;\n if (clientConfig.serviceConfiguredEndpoint) {\n endpointFromConfig = await clientConfig.serviceConfiguredEndpoint();\n }\n else {\n endpointFromConfig = await getEndpointFromConfig.getEndpointFromConfig(clientConfig.serviceId);\n }\n if (endpointFromConfig) {\n clientConfig.endpoint = () => Promise.resolve(toEndpointV1(endpointFromConfig));\n clientConfig.isCustomEndpoint = true;\n }\n }\n const endpointParams = await resolveParams(commandInput, instructionsSupplier, clientConfig);\n if (typeof clientConfig.endpointProvider !== \"function\") {\n throw new Error(\"config.endpointProvider is not set.\");\n }\n const endpoint = clientConfig.endpointProvider(endpointParams, context);\n if (clientConfig.isCustomEndpoint && clientConfig.endpoint) {\n const customEndpoint = await clientConfig.endpoint();\n if (customEndpoint?.headers) {\n endpoint.headers ??= {};\n for (const [name, value] of Object.entries(customEndpoint.headers)) {\n endpoint.headers[name] = Array.isArray(value) ? value : [value];\n }\n }\n }\n return endpoint;\n};\nconst resolveParams = async (commandInput, instructionsSupplier, clientConfig) => {\n const endpointParams = {};\n const instructions = instructionsSupplier?.getEndpointParameterInstructions?.() || {};\n for (const [name, instruction] of Object.entries(instructions)) {\n switch (instruction.type) {\n case \"staticContextParams\":\n endpointParams[name] = instruction.value;\n break;\n case \"contextParams\":\n endpointParams[name] = commandInput[instruction.name];\n break;\n case \"clientContextParams\":\n case \"builtInParams\":\n endpointParams[name] = await createConfigValueProvider(instruction.name, name, clientConfig, instruction.type !== \"builtInParams\")();\n break;\n case \"operationContextParams\":\n endpointParams[name] = instruction.get(commandInput);\n break;\n default:\n throw new Error(\"Unrecognized endpoint parameter instruction: \" + JSON.stringify(instruction));\n }\n }\n if (Object.keys(instructions).length === 0) {\n Object.assign(endpointParams, clientConfig);\n }\n if (String(clientConfig.serviceId).toLowerCase() === \"s3\") {\n await resolveParamsForS3(endpointParams);\n }\n return endpointParams;\n};\n\nconst endpointMiddleware = ({ config, instructions, }) => {\n return (next, context) => async (args) => {\n if (config.isCustomEndpoint) {\n core.setFeature(context, \"ENDPOINT_OVERRIDE\", \"N\");\n }\n const endpoint = await getEndpointFromInstructions(args.input, {\n getEndpointParameterInstructions() {\n return instructions;\n },\n }, { ...config }, context);\n context.endpointV2 = endpoint;\n context.authSchemes = endpoint.properties?.authSchemes;\n const authScheme = context.authSchemes?.[0];\n if (authScheme) {\n context[\"signing_region\"] = authScheme.signingRegion;\n context[\"signing_service\"] = authScheme.signingName;\n const smithyContext = utilMiddleware.getSmithyContext(context);\n const httpAuthOption = smithyContext?.selectedHttpAuthScheme?.httpAuthOption;\n if (httpAuthOption) {\n httpAuthOption.signingProperties = Object.assign(httpAuthOption.signingProperties || {}, {\n signing_region: authScheme.signingRegion,\n signingRegion: authScheme.signingRegion,\n signing_service: authScheme.signingName,\n signingName: authScheme.signingName,\n signingRegionSet: authScheme.signingRegionSet,\n }, authScheme.properties);\n }\n }\n return next({\n ...args,\n });\n };\n};\n\nconst endpointMiddlewareOptions = {\n step: \"serialize\",\n tags: [\"ENDPOINT_PARAMETERS\", \"ENDPOINT_V2\", \"ENDPOINT\"],\n name: \"endpointV2Middleware\",\n override: true,\n relation: \"before\",\n toMiddleware: middlewareSerde.serializerMiddlewareOption.name,\n};\nconst getEndpointPlugin = (config, instructions) => ({\n applyToStack: (clientStack) => {\n clientStack.addRelativeTo(endpointMiddleware({\n config,\n instructions,\n }), endpointMiddlewareOptions);\n },\n});\n\nconst resolveEndpointConfig = (input) => {\n const tls = input.tls ?? true;\n const { endpoint, useDualstackEndpoint, useFipsEndpoint } = input;\n const customEndpointProvider = endpoint != null ? async () => toEndpointV1(await utilMiddleware.normalizeProvider(endpoint)()) : undefined;\n const isCustomEndpoint = !!endpoint;\n const resolvedConfig = Object.assign(input, {\n endpoint: customEndpointProvider,\n tls,\n isCustomEndpoint,\n useDualstackEndpoint: utilMiddleware.normalizeProvider(useDualstackEndpoint ?? false),\n useFipsEndpoint: utilMiddleware.normalizeProvider(useFipsEndpoint ?? false),\n });\n let configuredEndpointPromise = undefined;\n resolvedConfig.serviceConfiguredEndpoint = async () => {\n if (input.serviceId && !configuredEndpointPromise) {\n configuredEndpointPromise = getEndpointFromConfig.getEndpointFromConfig(input.serviceId);\n }\n return configuredEndpointPromise;\n };\n return resolvedConfig;\n};\n\nconst resolveEndpointRequiredConfig = (input) => {\n const { endpoint } = input;\n if (endpoint === undefined) {\n input.endpoint = async () => {\n throw new Error(\"@smithy/middleware-endpoint: (default endpointRuleSet) endpoint is not set - you must configure an endpoint.\");\n };\n }\n return input;\n};\n\nexports.endpointMiddleware = endpointMiddleware;\nexports.endpointMiddlewareOptions = endpointMiddlewareOptions;\nexports.getEndpointFromInstructions = getEndpointFromInstructions;\nexports.getEndpointPlugin = getEndpointPlugin;\nexports.resolveEndpointConfig = resolveEndpointConfig;\nexports.resolveEndpointRequiredConfig = resolveEndpointRequiredConfig;\nexports.resolveParams = resolveParams;\nexports.toEndpointV1 = toEndpointV1;\n","\"use strict\";\nObject.defineProperty(exports, \"__esModule\", { value: true });\nexports.isStreamingPayload = void 0;\nconst stream_1 = require(\"stream\");\nconst isStreamingPayload = (request) => request?.body instanceof stream_1.Readable ||\n (typeof ReadableStream !== \"undefined\" && request?.body instanceof ReadableStream);\nexports.isStreamingPayload = isStreamingPayload;\n","'use strict';\n\nvar utilRetry = require('@smithy/util-retry');\nvar protocolHttp = require('@smithy/protocol-http');\nvar serviceErrorClassification = require('@smithy/service-error-classification');\nvar uuid = require('@smithy/uuid');\nvar utilMiddleware = require('@smithy/util-middleware');\nvar smithyClient = require('@smithy/smithy-client');\nvar isStreamingPayload = require('./isStreamingPayload/isStreamingPayload');\n\nconst getDefaultRetryQuota = (initialRetryTokens, options) => {\n const MAX_CAPACITY = initialRetryTokens;\n const noRetryIncrement = utilRetry.NO_RETRY_INCREMENT;\n const retryCost = utilRetry.RETRY_COST;\n const timeoutRetryCost = utilRetry.TIMEOUT_RETRY_COST;\n let availableCapacity = initialRetryTokens;\n const getCapacityAmount = (error) => (error.name === \"TimeoutError\" ? timeoutRetryCost : retryCost);\n const hasRetryTokens = (error) => getCapacityAmount(error) <= availableCapacity;\n const retrieveRetryTokens = (error) => {\n if (!hasRetryTokens(error)) {\n throw new Error(\"No retry token available\");\n }\n const capacityAmount = getCapacityAmount(error);\n availableCapacity -= capacityAmount;\n return capacityAmount;\n };\n const releaseRetryTokens = (capacityReleaseAmount) => {\n availableCapacity += capacityReleaseAmount ?? noRetryIncrement;\n availableCapacity = Math.min(availableCapacity, MAX_CAPACITY);\n };\n return Object.freeze({\n hasRetryTokens,\n retrieveRetryTokens,\n releaseRetryTokens,\n });\n};\n\nconst defaultDelayDecider = (delayBase, attempts) => Math.floor(Math.min(utilRetry.MAXIMUM_RETRY_DELAY, Math.random() * 2 ** attempts * delayBase));\n\nconst defaultRetryDecider = (error) => {\n if (!error) {\n return false;\n }\n return serviceErrorClassification.isRetryableByTrait(error) || serviceErrorClassification.isClockSkewError(error) || serviceErrorClassification.isThrottlingError(error) || serviceErrorClassification.isTransientError(error);\n};\n\nconst asSdkError = (error) => {\n if (error instanceof Error)\n return error;\n if (error instanceof Object)\n return Object.assign(new Error(), error);\n if (typeof error === \"string\")\n return new Error(error);\n return new Error(`AWS SDK error wrapper for ${error}`);\n};\n\nclass StandardRetryStrategy {\n maxAttemptsProvider;\n retryDecider;\n delayDecider;\n retryQuota;\n mode = utilRetry.RETRY_MODES.STANDARD;\n constructor(maxAttemptsProvider, options) {\n this.maxAttemptsProvider = maxAttemptsProvider;\n this.retryDecider = options?.retryDecider ?? defaultRetryDecider;\n this.delayDecider = options?.delayDecider ?? defaultDelayDecider;\n this.retryQuota = options?.retryQuota ?? getDefaultRetryQuota(utilRetry.INITIAL_RETRY_TOKENS);\n }\n shouldRetry(error, attempts, maxAttempts) {\n return attempts < maxAttempts && this.retryDecider(error) && this.retryQuota.hasRetryTokens(error);\n }\n async getMaxAttempts() {\n let maxAttempts;\n try {\n maxAttempts = await this.maxAttemptsProvider();\n }\n catch (error) {\n maxAttempts = utilRetry.DEFAULT_MAX_ATTEMPTS;\n }\n return maxAttempts;\n }\n async retry(next, args, options) {\n let retryTokenAmount;\n let attempts = 0;\n let totalDelay = 0;\n const maxAttempts = await this.getMaxAttempts();\n const { request } = args;\n if (protocolHttp.HttpRequest.isInstance(request)) {\n request.headers[utilRetry.INVOCATION_ID_HEADER] = uuid.v4();\n }\n while (true) {\n try {\n if (protocolHttp.HttpRequest.isInstance(request)) {\n request.headers[utilRetry.REQUEST_HEADER] = `attempt=${attempts + 1}; max=${maxAttempts}`;\n }\n if (options?.beforeRequest) {\n await options.beforeRequest();\n }\n const { response, output } = await next(args);\n if (options?.afterRequest) {\n options.afterRequest(response);\n }\n this.retryQuota.releaseRetryTokens(retryTokenAmount);\n output.$metadata.attempts = attempts + 1;\n output.$metadata.totalRetryDelay = totalDelay;\n return { response, output };\n }\n catch (e) {\n const err = asSdkError(e);\n attempts++;\n if (this.shouldRetry(err, attempts, maxAttempts)) {\n retryTokenAmount = this.retryQuota.retrieveRetryTokens(err);\n const delayFromDecider = this.delayDecider(serviceErrorClassification.isThrottlingError(err) ? utilRetry.THROTTLING_RETRY_DELAY_BASE : utilRetry.DEFAULT_RETRY_DELAY_BASE, attempts);\n const delayFromResponse = getDelayFromRetryAfterHeader(err.$response);\n const delay = Math.max(delayFromResponse || 0, delayFromDecider);\n totalDelay += delay;\n await new Promise((resolve) => setTimeout(resolve, delay));\n continue;\n }\n if (!err.$metadata) {\n err.$metadata = {};\n }\n err.$metadata.attempts = attempts;\n err.$metadata.totalRetryDelay = totalDelay;\n throw err;\n }\n }\n }\n}\nconst getDelayFromRetryAfterHeader = (response) => {\n if (!protocolHttp.HttpResponse.isInstance(response))\n return;\n const retryAfterHeaderName = Object.keys(response.headers).find((key) => key.toLowerCase() === \"retry-after\");\n if (!retryAfterHeaderName)\n return;\n const retryAfter = response.headers[retryAfterHeaderName];\n const retryAfterSeconds = Number(retryAfter);\n if (!Number.isNaN(retryAfterSeconds))\n return retryAfterSeconds * 1000;\n const retryAfterDate = new Date(retryAfter);\n return retryAfterDate.getTime() - Date.now();\n};\n\nclass AdaptiveRetryStrategy extends StandardRetryStrategy {\n rateLimiter;\n constructor(maxAttemptsProvider, options) {\n const { rateLimiter, ...superOptions } = options ?? {};\n super(maxAttemptsProvider, superOptions);\n this.rateLimiter = rateLimiter ?? new utilRetry.DefaultRateLimiter();\n this.mode = utilRetry.RETRY_MODES.ADAPTIVE;\n }\n async retry(next, args) {\n return super.retry(next, args, {\n beforeRequest: async () => {\n return this.rateLimiter.getSendToken();\n },\n afterRequest: (response) => {\n this.rateLimiter.updateClientSendingRate(response);\n },\n });\n }\n}\n\nconst ENV_MAX_ATTEMPTS = \"AWS_MAX_ATTEMPTS\";\nconst CONFIG_MAX_ATTEMPTS = \"max_attempts\";\nconst NODE_MAX_ATTEMPT_CONFIG_OPTIONS = {\n environmentVariableSelector: (env) => {\n const value = env[ENV_MAX_ATTEMPTS];\n if (!value)\n return undefined;\n const maxAttempt = parseInt(value);\n if (Number.isNaN(maxAttempt)) {\n throw new Error(`Environment variable ${ENV_MAX_ATTEMPTS} mast be a number, got \"${value}\"`);\n }\n return maxAttempt;\n },\n configFileSelector: (profile) => {\n const value = profile[CONFIG_MAX_ATTEMPTS];\n if (!value)\n return undefined;\n const maxAttempt = parseInt(value);\n if (Number.isNaN(maxAttempt)) {\n throw new Error(`Shared config file entry ${CONFIG_MAX_ATTEMPTS} mast be a number, got \"${value}\"`);\n }\n return maxAttempt;\n },\n default: utilRetry.DEFAULT_MAX_ATTEMPTS,\n};\nconst resolveRetryConfig = (input) => {\n const { retryStrategy, retryMode } = input;\n const maxAttempts = utilMiddleware.normalizeProvider(input.maxAttempts ?? utilRetry.DEFAULT_MAX_ATTEMPTS);\n let controller = retryStrategy\n ? Promise.resolve(retryStrategy)\n : undefined;\n const getDefault = async () => (await utilMiddleware.normalizeProvider(retryMode)()) === utilRetry.RETRY_MODES.ADAPTIVE\n ? new utilRetry.AdaptiveRetryStrategy(maxAttempts)\n : new utilRetry.StandardRetryStrategy(maxAttempts);\n return Object.assign(input, {\n maxAttempts,\n retryStrategy: () => (controller ??= getDefault()),\n });\n};\nconst ENV_RETRY_MODE = \"AWS_RETRY_MODE\";\nconst CONFIG_RETRY_MODE = \"retry_mode\";\nconst NODE_RETRY_MODE_CONFIG_OPTIONS = {\n environmentVariableSelector: (env) => env[ENV_RETRY_MODE],\n configFileSelector: (profile) => profile[CONFIG_RETRY_MODE],\n default: utilRetry.DEFAULT_RETRY_MODE,\n};\n\nconst omitRetryHeadersMiddleware = () => (next) => async (args) => {\n const { request } = args;\n if (protocolHttp.HttpRequest.isInstance(request)) {\n delete request.headers[utilRetry.INVOCATION_ID_HEADER];\n delete request.headers[utilRetry.REQUEST_HEADER];\n }\n return next(args);\n};\nconst omitRetryHeadersMiddlewareOptions = {\n name: \"omitRetryHeadersMiddleware\",\n tags: [\"RETRY\", \"HEADERS\", \"OMIT_RETRY_HEADERS\"],\n relation: \"before\",\n toMiddleware: \"awsAuthMiddleware\",\n override: true,\n};\nconst getOmitRetryHeadersPlugin = (options) => ({\n applyToStack: (clientStack) => {\n clientStack.addRelativeTo(omitRetryHeadersMiddleware(), omitRetryHeadersMiddlewareOptions);\n },\n});\n\nconst retryMiddleware = (options) => (next, context) => async (args) => {\n let retryStrategy = await options.retryStrategy();\n const maxAttempts = await options.maxAttempts();\n if (isRetryStrategyV2(retryStrategy)) {\n retryStrategy = retryStrategy;\n let retryToken = await retryStrategy.acquireInitialRetryToken(context[\"partition_id\"]);\n let lastError = new Error();\n let attempts = 0;\n let totalRetryDelay = 0;\n const { request } = args;\n const isRequest = protocolHttp.HttpRequest.isInstance(request);\n if (isRequest) {\n request.headers[utilRetry.INVOCATION_ID_HEADER] = uuid.v4();\n }\n while (true) {\n try {\n if (isRequest) {\n request.headers[utilRetry.REQUEST_HEADER] = `attempt=${attempts + 1}; max=${maxAttempts}`;\n }\n const { response, output } = await next(args);\n retryStrategy.recordSuccess(retryToken);\n output.$metadata.attempts = attempts + 1;\n output.$metadata.totalRetryDelay = totalRetryDelay;\n return { response, output };\n }\n catch (e) {\n const retryErrorInfo = getRetryErrorInfo(e);\n lastError = asSdkError(e);\n if (isRequest && isStreamingPayload.isStreamingPayload(request)) {\n (context.logger instanceof smithyClient.NoOpLogger ? console : context.logger)?.warn(\"An error was encountered in a non-retryable streaming request.\");\n throw lastError;\n }\n try {\n retryToken = await retryStrategy.refreshRetryTokenForRetry(retryToken, retryErrorInfo);\n }\n catch (refreshError) {\n if (!lastError.$metadata) {\n lastError.$metadata = {};\n }\n lastError.$metadata.attempts = attempts + 1;\n lastError.$metadata.totalRetryDelay = totalRetryDelay;\n throw lastError;\n }\n attempts = retryToken.getRetryCount();\n const delay = retryToken.getRetryDelay();\n totalRetryDelay += delay;\n await new Promise((resolve) => setTimeout(resolve, delay));\n }\n }\n }\n else {\n retryStrategy = retryStrategy;\n if (retryStrategy?.mode)\n context.userAgent = [...(context.userAgent || []), [\"cfg/retry-mode\", retryStrategy.mode]];\n return retryStrategy.retry(next, args);\n }\n};\nconst isRetryStrategyV2 = (retryStrategy) => typeof retryStrategy.acquireInitialRetryToken !== \"undefined\" &&\n typeof retryStrategy.refreshRetryTokenForRetry !== \"undefined\" &&\n typeof retryStrategy.recordSuccess !== \"undefined\";\nconst getRetryErrorInfo = (error) => {\n const errorInfo = {\n error,\n errorType: getRetryErrorType(error),\n };\n const retryAfterHint = getRetryAfterHint(error.$response);\n if (retryAfterHint) {\n errorInfo.retryAfterHint = retryAfterHint;\n }\n return errorInfo;\n};\nconst getRetryErrorType = (error) => {\n if (serviceErrorClassification.isThrottlingError(error))\n return \"THROTTLING\";\n if (serviceErrorClassification.isTransientError(error))\n return \"TRANSIENT\";\n if (serviceErrorClassification.isServerError(error))\n return \"SERVER_ERROR\";\n return \"CLIENT_ERROR\";\n};\nconst retryMiddlewareOptions = {\n name: \"retryMiddleware\",\n tags: [\"RETRY\"],\n step: \"finalizeRequest\",\n priority: \"high\",\n override: true,\n};\nconst getRetryPlugin = (options) => ({\n applyToStack: (clientStack) => {\n clientStack.add(retryMiddleware(options), retryMiddlewareOptions);\n },\n});\nconst getRetryAfterHint = (response) => {\n if (!protocolHttp.HttpResponse.isInstance(response))\n return;\n const retryAfterHeaderName = Object.keys(response.headers).find((key) => key.toLowerCase() === \"retry-after\");\n if (!retryAfterHeaderName)\n return;\n const retryAfter = response.headers[retryAfterHeaderName];\n const retryAfterSeconds = Number(retryAfter);\n if (!Number.isNaN(retryAfterSeconds))\n return new Date(retryAfterSeconds * 1000);\n const retryAfterDate = new Date(retryAfter);\n return retryAfterDate;\n};\n\nexports.AdaptiveRetryStrategy = AdaptiveRetryStrategy;\nexports.CONFIG_MAX_ATTEMPTS = CONFIG_MAX_ATTEMPTS;\nexports.CONFIG_RETRY_MODE = CONFIG_RETRY_MODE;\nexports.ENV_MAX_ATTEMPTS = ENV_MAX_ATTEMPTS;\nexports.ENV_RETRY_MODE = ENV_RETRY_MODE;\nexports.NODE_MAX_ATTEMPT_CONFIG_OPTIONS = NODE_MAX_ATTEMPT_CONFIG_OPTIONS;\nexports.NODE_RETRY_MODE_CONFIG_OPTIONS = NODE_RETRY_MODE_CONFIG_OPTIONS;\nexports.StandardRetryStrategy = StandardRetryStrategy;\nexports.defaultDelayDecider = defaultDelayDecider;\nexports.defaultRetryDecider = defaultRetryDecider;\nexports.getOmitRetryHeadersPlugin = getOmitRetryHeadersPlugin;\nexports.getRetryAfterHint = getRetryAfterHint;\nexports.getRetryPlugin = getRetryPlugin;\nexports.omitRetryHeadersMiddleware = omitRetryHeadersMiddleware;\nexports.omitRetryHeadersMiddlewareOptions = omitRetryHeadersMiddlewareOptions;\nexports.resolveRetryConfig = resolveRetryConfig;\nexports.retryMiddleware = retryMiddleware;\nexports.retryMiddlewareOptions = retryMiddlewareOptions;\n","'use strict';\n\nvar node_os = require('node:os');\nvar node_process = require('node:process');\nvar utilConfigProvider = require('@smithy/util-config-provider');\nvar promises = require('node:fs/promises');\nvar node_path = require('node:path');\nvar middlewareUserAgent = require('@aws-sdk/middleware-user-agent');\n\nconst getRuntimeUserAgentPair = () => {\n const runtimesToCheck = [\"deno\", \"bun\", \"llrt\"];\n for (const runtime of runtimesToCheck) {\n if (node_process.versions[runtime]) {\n return [`md/${runtime}`, node_process.versions[runtime]];\n }\n }\n return [\"md/nodejs\", node_process.versions.node];\n};\n\nconst getNodeModulesParentDirs = (dirname) => {\n const cwd = process.cwd();\n if (!dirname) {\n return [cwd];\n }\n const normalizedPath = node_path.normalize(dirname);\n const parts = normalizedPath.split(node_path.sep);\n const nodeModulesIndex = parts.indexOf(\"node_modules\");\n const parentDir = nodeModulesIndex !== -1 ? parts.slice(0, nodeModulesIndex).join(node_path.sep) : normalizedPath;\n if (cwd === parentDir) {\n return [cwd];\n }\n return [parentDir, cwd];\n};\n\nconst SEMVER_REGEX = /^(0|[1-9]\\d*)\\.(0|[1-9]\\d*)\\.(0|[1-9]\\d*)(?:-((?:0|[1-9]\\d*|\\d*[a-zA-Z-][0-9a-zA-Z-]*)(?:\\.(?:0|[1-9]\\d*|\\d*[a-zA-Z-][0-9a-zA-Z-]*))*))?(?:\\+[0-9a-zA-Z-]+(?:\\.[0-9a-zA-Z-]+)*)?$/;\nconst getSanitizedTypeScriptVersion = (version = \"\") => {\n const match = version.match(SEMVER_REGEX);\n if (!match) {\n return undefined;\n }\n const [major, minor, patch, prerelease] = [match[1], match[2], match[3], match[4]];\n return prerelease ? `${major}.${minor}.${patch}-${prerelease}` : `${major}.${minor}.${patch}`;\n};\n\nconst ALLOWED_PREFIXES = [\"^\", \"~\", \">=\", \"<=\", \">\", \"<\"];\nconst ALLOWED_DIST_TAGS = [\"latest\", \"beta\", \"dev\", \"rc\", \"insiders\", \"next\"];\nconst getSanitizedDevTypeScriptVersion = (version = \"\") => {\n if (ALLOWED_DIST_TAGS.includes(version)) {\n return version;\n }\n const prefix = ALLOWED_PREFIXES.find((p) => version.startsWith(p)) ?? \"\";\n const sanitizedTypeScriptVersion = getSanitizedTypeScriptVersion(version.slice(prefix.length));\n if (!sanitizedTypeScriptVersion) {\n return undefined;\n }\n return `${prefix}${sanitizedTypeScriptVersion}`;\n};\n\nlet tscVersion;\nconst TS_PACKAGE_JSON = node_path.join(\"node_modules\", \"typescript\", \"package.json\");\nconst getTypeScriptUserAgentPair = async () => {\n if (tscVersion === null) {\n return undefined;\n }\n else if (typeof tscVersion === \"string\") {\n return [\"md/tsc\", tscVersion];\n }\n let isTypeScriptDetectionDisabled = false;\n try {\n isTypeScriptDetectionDisabled =\n utilConfigProvider.booleanSelector(process.env, \"AWS_SDK_JS_TYPESCRIPT_DETECTION_DISABLED\", utilConfigProvider.SelectorType.ENV) || false;\n }\n catch { }\n if (isTypeScriptDetectionDisabled) {\n tscVersion = null;\n return undefined;\n }\n const dirname = typeof __dirname !== \"undefined\" ? __dirname : undefined;\n const nodeModulesParentDirs = getNodeModulesParentDirs(dirname);\n let versionFromApp;\n for (const nodeModulesParentDir of nodeModulesParentDirs) {\n try {\n const appPackageJsonPath = node_path.join(nodeModulesParentDir, \"package.json\");\n const packageJson = await promises.readFile(appPackageJsonPath, \"utf-8\");\n const { dependencies, devDependencies } = JSON.parse(packageJson);\n const version = devDependencies?.typescript ?? dependencies?.typescript;\n if (typeof version !== \"string\") {\n continue;\n }\n versionFromApp = version;\n break;\n }\n catch {\n }\n }\n if (!versionFromApp) {\n tscVersion = null;\n return undefined;\n }\n let versionFromNodeModules;\n for (const nodeModulesParentDir of nodeModulesParentDirs) {\n try {\n const tsPackageJsonPath = node_path.join(nodeModulesParentDir, TS_PACKAGE_JSON);\n const packageJson = await promises.readFile(tsPackageJsonPath, \"utf-8\");\n const { version } = JSON.parse(packageJson);\n const sanitizedVersion = getSanitizedTypeScriptVersion(version);\n if (typeof sanitizedVersion !== \"string\") {\n continue;\n }\n versionFromNodeModules = sanitizedVersion;\n break;\n }\n catch {\n }\n }\n if (versionFromNodeModules) {\n tscVersion = versionFromNodeModules;\n return [\"md/tsc\", tscVersion];\n }\n const sanitizedVersion = getSanitizedDevTypeScriptVersion(versionFromApp);\n if (typeof sanitizedVersion !== \"string\") {\n tscVersion = null;\n return undefined;\n }\n tscVersion = `dev_${sanitizedVersion}`;\n return [\"md/tsc\", tscVersion];\n};\n\nconst crtAvailability = {\n isCrtAvailable: false,\n};\n\nconst isCrtAvailable = () => {\n if (crtAvailability.isCrtAvailable) {\n return [\"md/crt-avail\"];\n }\n return null;\n};\n\nconst createDefaultUserAgentProvider = ({ serviceId, clientVersion }) => {\n const runtimeUserAgentPair = getRuntimeUserAgentPair();\n return async (config) => {\n const sections = [\n [\"aws-sdk-js\", clientVersion],\n [\"ua\", \"2.1\"],\n [`os/${node_os.platform()}`, node_os.release()],\n [\"lang/js\"],\n runtimeUserAgentPair,\n ];\n const typescriptUserAgentPair = await getTypeScriptUserAgentPair();\n if (typescriptUserAgentPair) {\n sections.push(typescriptUserAgentPair);\n }\n const crtAvailable = isCrtAvailable();\n if (crtAvailable) {\n sections.push(crtAvailable);\n }\n if (serviceId) {\n sections.push([`api/${serviceId}`, clientVersion]);\n }\n if (node_process.env.AWS_EXECUTION_ENV) {\n sections.push([`exec-env/${node_process.env.AWS_EXECUTION_ENV}`]);\n }\n const appId = await config?.userAgentAppId?.();\n const resolvedUserAgent = appId ? [...sections, [`app/${appId}`]] : [...sections];\n return resolvedUserAgent;\n };\n};\nconst defaultUserAgent = createDefaultUserAgentProvider;\n\nconst UA_APP_ID_ENV_NAME = \"AWS_SDK_UA_APP_ID\";\nconst UA_APP_ID_INI_NAME = \"sdk_ua_app_id\";\nconst UA_APP_ID_INI_NAME_DEPRECATED = \"sdk-ua-app-id\";\nconst NODE_APP_ID_CONFIG_OPTIONS = {\n environmentVariableSelector: (env) => env[UA_APP_ID_ENV_NAME],\n configFileSelector: (profile) => profile[UA_APP_ID_INI_NAME] ?? profile[UA_APP_ID_INI_NAME_DEPRECATED],\n default: middlewareUserAgent.DEFAULT_UA_APP_ID,\n};\n\nexports.NODE_APP_ID_CONFIG_OPTIONS = NODE_APP_ID_CONFIG_OPTIONS;\nexports.UA_APP_ID_ENV_NAME = UA_APP_ID_ENV_NAME;\nexports.UA_APP_ID_INI_NAME = UA_APP_ID_INI_NAME;\nexports.createDefaultUserAgentProvider = createDefaultUserAgentProvider;\nexports.crtAvailability = crtAvailability;\nexports.defaultUserAgent = defaultUserAgent;\n","'use strict';\n\nvar utilBufferFrom = require('@smithy/util-buffer-from');\nvar utilUtf8 = require('@smithy/util-utf8');\nvar buffer = require('buffer');\nvar crypto = require('crypto');\n\nclass Hash {\n algorithmIdentifier;\n secret;\n hash;\n constructor(algorithmIdentifier, secret) {\n this.algorithmIdentifier = algorithmIdentifier;\n this.secret = secret;\n this.reset();\n }\n update(toHash, encoding) {\n this.hash.update(utilUtf8.toUint8Array(castSourceData(toHash, encoding)));\n }\n digest() {\n return Promise.resolve(this.hash.digest());\n }\n reset() {\n this.hash = this.secret\n ? crypto.createHmac(this.algorithmIdentifier, castSourceData(this.secret))\n : crypto.createHash(this.algorithmIdentifier);\n }\n}\nfunction castSourceData(toCast, encoding) {\n if (buffer.Buffer.isBuffer(toCast)) {\n return toCast;\n }\n if (typeof toCast === \"string\") {\n return utilBufferFrom.fromString(toCast, encoding);\n }\n if (ArrayBuffer.isView(toCast)) {\n return utilBufferFrom.fromArrayBuffer(toCast.buffer, toCast.byteOffset, toCast.byteLength);\n }\n return utilBufferFrom.fromArrayBuffer(toCast);\n}\n\nexports.Hash = Hash;\n","'use strict';\n\nvar node_fs = require('node:fs');\n\nconst calculateBodyLength = (body) => {\n if (!body) {\n return 0;\n }\n if (typeof body === \"string\") {\n return Buffer.byteLength(body);\n }\n else if (typeof body.byteLength === \"number\") {\n return body.byteLength;\n }\n else if (typeof body.size === \"number\") {\n return body.size;\n }\n else if (typeof body.start === \"number\" && typeof body.end === \"number\") {\n return body.end + 1 - body.start;\n }\n else if (body instanceof node_fs.ReadStream) {\n if (body.path != null) {\n return node_fs.lstatSync(body.path).size;\n }\n else if (typeof body.fd === \"number\") {\n return node_fs.fstatSync(body.fd).size;\n }\n }\n throw new Error(`Body Length computation failed for ${body}`);\n};\n\nexports.calculateBodyLength = calculateBodyLength;\n","'use strict';\n\nvar configResolver = require('@smithy/config-resolver');\nvar nodeConfigProvider = require('@smithy/node-config-provider');\nvar propertyProvider = require('@smithy/property-provider');\n\nconst AWS_EXECUTION_ENV = \"AWS_EXECUTION_ENV\";\nconst AWS_REGION_ENV = \"AWS_REGION\";\nconst AWS_DEFAULT_REGION_ENV = \"AWS_DEFAULT_REGION\";\nconst ENV_IMDS_DISABLED = \"AWS_EC2_METADATA_DISABLED\";\nconst DEFAULTS_MODE_OPTIONS = [\"in-region\", \"cross-region\", \"mobile\", \"standard\", \"legacy\"];\nconst IMDS_REGION_PATH = \"/latest/meta-data/placement/region\";\n\nconst AWS_DEFAULTS_MODE_ENV = \"AWS_DEFAULTS_MODE\";\nconst AWS_DEFAULTS_MODE_CONFIG = \"defaults_mode\";\nconst NODE_DEFAULTS_MODE_CONFIG_OPTIONS = {\n environmentVariableSelector: (env) => {\n return env[AWS_DEFAULTS_MODE_ENV];\n },\n configFileSelector: (profile) => {\n return profile[AWS_DEFAULTS_MODE_CONFIG];\n },\n default: \"legacy\",\n};\n\nconst resolveDefaultsModeConfig = ({ region = nodeConfigProvider.loadConfig(configResolver.NODE_REGION_CONFIG_OPTIONS), defaultsMode = nodeConfigProvider.loadConfig(NODE_DEFAULTS_MODE_CONFIG_OPTIONS), } = {}) => propertyProvider.memoize(async () => {\n const mode = typeof defaultsMode === \"function\" ? await defaultsMode() : defaultsMode;\n switch (mode?.toLowerCase()) {\n case \"auto\":\n return resolveNodeDefaultsModeAuto(region);\n case \"in-region\":\n case \"cross-region\":\n case \"mobile\":\n case \"standard\":\n case \"legacy\":\n return Promise.resolve(mode?.toLocaleLowerCase());\n case undefined:\n return Promise.resolve(\"legacy\");\n default:\n throw new Error(`Invalid parameter for \"defaultsMode\", expect ${DEFAULTS_MODE_OPTIONS.join(\", \")}, got ${mode}`);\n }\n});\nconst resolveNodeDefaultsModeAuto = async (clientRegion) => {\n if (clientRegion) {\n const resolvedRegion = typeof clientRegion === \"function\" ? await clientRegion() : clientRegion;\n const inferredRegion = await inferPhysicalRegion();\n if (!inferredRegion) {\n return \"standard\";\n }\n if (resolvedRegion === inferredRegion) {\n return \"in-region\";\n }\n else {\n return \"cross-region\";\n }\n }\n return \"standard\";\n};\nconst inferPhysicalRegion = async () => {\n if (process.env[AWS_EXECUTION_ENV] && (process.env[AWS_REGION_ENV] || process.env[AWS_DEFAULT_REGION_ENV])) {\n return process.env[AWS_REGION_ENV] ?? process.env[AWS_DEFAULT_REGION_ENV];\n }\n if (!process.env[ENV_IMDS_DISABLED]) {\n try {\n const { getInstanceMetadataEndpoint, httpRequest } = await import('@smithy/credential-provider-imds');\n const endpoint = await getInstanceMetadataEndpoint();\n return (await httpRequest({ ...endpoint, path: IMDS_REGION_PATH })).toString();\n }\n catch (e) {\n }\n }\n};\n\nexports.resolveDefaultsModeConfig = resolveDefaultsModeConfig;\n","\"use strict\";\nObject.defineProperty(exports, \"__esModule\", { value: true });\nexports.warning = void 0;\nexports.stsRegionDefaultResolver = stsRegionDefaultResolver;\nconst config_resolver_1 = require(\"@smithy/config-resolver\");\nconst node_config_provider_1 = require(\"@smithy/node-config-provider\");\nfunction stsRegionDefaultResolver(loaderConfig = {}) {\n return (0, node_config_provider_1.loadConfig)({\n ...config_resolver_1.NODE_REGION_CONFIG_OPTIONS,\n async default() {\n if (!exports.warning.silence) {\n console.warn(\"@aws-sdk - WARN - default STS region of us-east-1 used. See @aws-sdk/credential-providers README and set a region explicitly.\");\n }\n return \"us-east-1\";\n },\n }, { ...config_resolver_1.NODE_REGION_CONFIG_FILE_OPTIONS, ...loaderConfig });\n}\nexports.warning = {\n silence: false,\n};\n","'use strict';\n\nvar stsRegionDefaultResolver = require('./regionConfig/stsRegionDefaultResolver');\nvar configResolver = require('@smithy/config-resolver');\n\nconst getAwsRegionExtensionConfiguration = (runtimeConfig) => {\n return {\n setRegion(region) {\n runtimeConfig.region = region;\n },\n region() {\n return runtimeConfig.region;\n },\n };\n};\nconst resolveAwsRegionExtensionConfiguration = (awsRegionExtensionConfiguration) => {\n return {\n region: awsRegionExtensionConfiguration.region(),\n };\n};\n\nexports.NODE_REGION_CONFIG_FILE_OPTIONS = configResolver.NODE_REGION_CONFIG_FILE_OPTIONS;\nexports.NODE_REGION_CONFIG_OPTIONS = configResolver.NODE_REGION_CONFIG_OPTIONS;\nexports.REGION_ENV_NAME = configResolver.REGION_ENV_NAME;\nexports.REGION_INI_NAME = configResolver.REGION_INI_NAME;\nexports.resolveRegionConfig = configResolver.resolveRegionConfig;\nexports.getAwsRegionExtensionConfiguration = getAwsRegionExtensionConfiguration;\nexports.resolveAwsRegionExtensionConfiguration = resolveAwsRegionExtensionConfiguration;\nObject.prototype.hasOwnProperty.call(stsRegionDefaultResolver, '__proto__') &&\n !Object.prototype.hasOwnProperty.call(exports, '__proto__') &&\n Object.defineProperty(exports, '__proto__', {\n enumerable: true,\n value: stsRegionDefaultResolver['__proto__']\n });\n\nObject.keys(stsRegionDefaultResolver).forEach(function (k) {\n if (k !== 'default' && !Object.prototype.hasOwnProperty.call(exports, k)) exports[k] = stsRegionDefaultResolver[k];\n});\n"],"x_google_ignoreList":[0,1,2,3,4,5,6,7,8,9,10,11,12,13,14,15,16,17,18,19,20,21,22,23,24,25,26,27,28,29,30,31,32,33,34,35,36,37,38,39,40,41,42,43,44,45,46,47,48,49,50,51,52,53,54,55,56,57,58,59,60,61,62,63,64,65,66,67,68,69,70,71,72,73,74,75,76,77,78,79,80,81,82,83,84,85,86,87,88,89,90,91,92,93,94,95,96,97,98,99],"mappings":";;;;;;;;;;;;;;;CACa,iBAAiB,aAAaA,gCAAa,WAAW,SAAS,GAAG,SAAS,SAAS,QAAQ,SAAS,SAAS,OAAO;;;;;;;CCDrH,wBAAwB,sBAAsB,IAAI,KAAK,KAAK,KAAK,GAAG,kBAAkB;;;;;;;4BCArC;CACjD,iBAAiB,WAAW,sBAAsB,KAAK,IAAI,qBAAqB,kBAAkB,CAAC,SAAS,GAAG,UAAU,IAAI;;;;;;;qBCD1F;CACnC,+BAA+B,WAAW,6BAA6B;EAChF,MAAM,gBAAgB,KAAK,MAAM,UAAU;AAC3C,MAAI,cAAc,eAAe,yBAAyB,CACtD,QAAO,gBAAgB,KAAK,KAAK;AAErC,SAAO;;;;;;;;;;;;;;;;;aELiF;CACtF,6BAA6B,MAAM,aAAa;AAClD,MAAI,CAAC,SACD,OAAM,IAAI,MAAM,cAAc,KAAK,0CAA0C;AAEjF,SAAO;;CAEE,4BAA4B,OAAO,sBAAsB;EAClE,MAAM,UAAU,0BAA0B,WAAW,kBAAkB,QAAQ;EAC/E,MAAM,SAAS,0BAA0B,UAAU,kBAAkB,OAAO;EAC5E,MAAM,aAAa,QAAQ,YAAY,YAAY,cAAc;AAMjE,SAAO;GACH;GACA,QANW,MADQ,0BAA0B,UAAU,OAAO,OAAO,CACrC,WAAW;GAO3C,eANkB,mBAAmB;GAOrC,kBANqB,mBAAmB;GAOxC,aANgB,mBAAmB;GAOtC;;CAEQ,oBAAb,MAA+B;EAC3B,MAAM,KAAK,aAAa,UAAU,mBAAmB;AACjD,OAAI,CAACC,+BAAY,WAAW,YAAY,CACpC,OAAM,IAAI,MAAM,uEAAuE;GAE3F,MAAM,iBAAiB,MAAM,0BAA0B,kBAAkB;GACzE,MAAM,EAAE,QAAQ,WAAW;GAC3B,IAAI,EAAE,eAAe,gBAAgB;GACrC,MAAM,0BAA0B,kBAAkB;AAClD,OAAI,yBAAyB,aAAa,UAAU,OAAO;IACvD,MAAM,CAAC,OAAO,UAAU,wBAAwB;AAChD,QAAI,OAAO,SAAS,YAAY,QAAQ,SAAS,SAAS;AACtD,qBAAgB,QAAQ,iBAAiB;AACzC,mBAAc,QAAQ,eAAe;;;AAQ7C,UALsB,MAAM,OAAO,KAAK,aAAa;IACjD,aAAa,qBAAqB,OAAO,kBAAkB;IAC5C;IACf,gBAAgB;IACnB,CAAC;;EAGN,aAAa,mBAAmB;AAC5B,WAAQ,UAAU;IACd,MAAM,aAAa,MAAM,cAAc,cAAc,MAAM,UAAU;AACrE,QAAI,YAAY;KACZ,MAAM,SAAS,0BAA0B,UAAU,kBAAkB,OAAO;KAC5E,MAAM,2BAA2B,OAAO;AACxC,YAAO,oBAAoB,4BAA4B,YAAY,OAAO,kBAAkB;AAE5F,SAD2B,OAAO,sBAAsB,4BAC9B,MAAM,UAC5B,OAAM,UAAU,qBAAqB;;AAG7C,UAAM;;;EAGd,eAAe,cAAc,mBAAmB;GAC5C,MAAM,aAAa,cAAc,aAAa;AAC9C,OAAI,YAAY;IACZ,MAAM,SAAS,0BAA0B,UAAU,kBAAkB,OAAO;AAC5E,WAAO,oBAAoB,4BAA4B,YAAY,OAAO,kBAAkB;;;;CAI3F,oBAAoB;;;;;;;;aCtEe;yBACmC;CACtE,qBAAb,cAAwC,kBAAkB;EACtD,MAAM,KAAK,aAAa,UAAU,mBAAmB;AACjD,OAAI,CAACC,+BAAY,WAAW,YAAY,CACpC,OAAM,IAAI,MAAM,uEAAuE;GAE3F,MAAM,EAAE,QAAQ,QAAQ,eAAe,kBAAkB,gBAAgB,MAAM,0BAA0B,kBAAkB;GAE3H,MAAM,uBADiC,MAAM,OAAO,0BAA0B,IAE1E,oBAAoB,CAAC,cAAc,EAAE,KAAK,IAAI;AAMlD,UALsB,MAAM,OAAO,KAAK,aAAa;IACjD,aAAa,qBAAqB,OAAO,kBAAkB;IAC3D,eAAe;IACf,gBAAgB;IACnB,CAAC;;;;;;;;;CChBG,mCAAmC,QAAQ,OAAO,QAAQ,YAAY,IAAI,SAAS,IAAI,IAAI,MAAM,IAAI,CAAC,KAAK,SAAS,KAAK,MAAM,CAAC,GAAG,EAAE;;;;;;;CCArI,wBAAwB,gBAAgB,oBAAoB,YAAY,QAAQ,UAAU,IAAI,CAAC,aAAa;;;;;;;uCCA9B;4BACtB;CAC/D,sCAAsC;CACtC,yCAAyC;CAClC,sCAAsC;EAC/C,8BAA8B,KAAK,YAAY;AAC3C,OAAI,SAAS,aAET;QADuB,qBAAqB,QAAQ,YAAY,IAC1C,IAClB,QAAO,CAAC,iBAAiB;;AAEjC,OAAI,EAAE,uCAAuC,KACzC,QAAO;AACX,UAAO,gCAAgC,IAAI,qCAAqC;;EAEpF,qBAAqB,YAAY;AAC7B,OAAI,EAAE,0CAA0C,SAC5C,QAAO;AACX,UAAO,gCAAgC,QAAQ,wCAAwC;;EAE3F,SAAS,EAAE;EACd;;;;;;;;CCpBYC,sBAAoB,YAAY,QAAQC,2CAAwB,QAAQA,yCAAsB,EAAE;;;;;;;CCDhG,sBAAsB,sBAAsB,yBAAyB;AAC9E,MAAI,CAAC,wBAAwB,qBAAqB,WAAW,EACzD,QAAO;EAEX,MAAM,uBAAuB,EAAE;AAC/B,OAAK,MAAM,uBAAuB,qBAC9B,MAAK,MAAM,uBAAuB,qBAE9B,KADgC,oBAAoB,SAAS,MAAM,IAAI,CAAC,OACxC,oBAC5B,sBAAqB,KAAK,oBAAoB;AAI1D,OAAK,MAAM,uBAAuB,qBAC9B,KAAI,CAAC,qBAAqB,MAAM,EAAE,eAAe,aAAa,oBAAoB,SAAS,CACvF,sBAAqB,KAAK,oBAAoB;AAGtD,SAAO;;;;;;AChBX,SAAS,4BAA4B,iBAAiB;CAClD,MAAM,sBAAM,IAAI,KAAK;AACrB,MAAK,MAAM,UAAU,gBACjB,KAAI,IAAI,OAAO,UAAU,OAAO;AAEpC,QAAO;;;;;0BAN+C;CAQ7C,4BAA4B,QAAQ,eAAe,MAAM,YAAY,OAAO,SAAS;EAG9F,MAAM,kBAAkB,mBAFR,OAAO,uBAAuB,MAAM,UAAU,iCAAiC,QAAQ,SAAS,KAAK,MAAM,CAAC,EAC/F,OAAO,uBAAuB,MAAM,OAAO,sBAAsB,GAAG,EAAE,CAC1B;EACzE,MAAM,cAAc,4BAA4B,OAAO,gBAAgB;EACvE,MAAM,yDAAiC,QAAQ;EAC/C,MAAM,iBAAiB,EAAE;AACzB,OAAK,MAAM,UAAU,iBAAiB;GAClC,MAAM,SAAS,YAAY,IAAI,OAAO,SAAS;AAC/C,OAAI,CAAC,QAAQ;AACT,mBAAe,KAAK,oBAAoB,OAAO,SAAS,sCAAsC;AAC9F;;GAEJ,MAAM,mBAAmB,OAAO,iBAAiB,MAAM,UAAU,+BAA+B,OAAO,CAAC;AACxG,OAAI,CAAC,kBAAkB;AACnB,mBAAe,KAAK,oBAAoB,OAAO,SAAS,iDAAiD;AACzG;;GAEJ,MAAM,EAAE,qBAAqB,EAAE,EAAE,oBAAoB,EAAE,KAAK,OAAO,sBAAsB,QAAQ,QAAQ,IAAI,EAAE;AAC/G,UAAO,qBAAqB,OAAO,OAAO,OAAO,sBAAsB,EAAE,EAAE,mBAAmB;AAC9F,UAAO,oBAAoB,OAAO,OAAO,OAAO,qBAAqB,EAAE,EAAE,kBAAkB;AAC3F,iBAAc,yBAAyB;IACnC,gBAAgB;IAChB,UAAU,MAAM,iBAAiB,OAAO,mBAAmB;IAC3D,QAAQ,OAAO;IAClB;AACD;;AAEJ,MAAI,CAAC,cAAc,uBACf,OAAM,IAAI,MAAM,eAAe,KAAK,KAAK,CAAC;AAE9C,SAAO,KAAK,KAAK;;;;;;;;gCCxCiD;CACzD,iDAAiD;EAC1D,MAAM;EACN,MAAM,CAAC,mBAAmB;EAC1B,MAAM;EACN,UAAU;EACV,UAAU;EACV,cAAc;EACjB;CACY,0CAA0C,QAAQ,EAAE,kCAAkC,sCAAuC,EACtI,eAAe,gBAAgB;AAC3B,cAAY,cAAc,yBAAyB,QAAQ;GACvD;GACA;GACH,CAAC,EAAE,+CAA+C;IAE1D;;;;;;;gCChBqE;CACzD,kCAAkC;EAC3C,MAAM;EACN,MAAM,CAAC,mBAAmB;EAC1B,MAAM;EACN,UAAU;EACV,UAAU;EACV,cAAc;EACjB;CACY,2BAA2B,QAAQ,EAAE,kCAAkC,sCAAuC,EACvH,eAAe,gBAAgB;AAC3B,cAAY,cAAc,yBAAyB,QAAQ;GACvD;GACA;GACH,CAAC,EAAE,gCAAgC;IAE3C;;;;;;;;;;;;;;;;;CEdK,uBAAuB,uBAAuB,UAAU;AAC1D,QAAM;;CAEJ,yBAAyB,cAAc,sBAAsB;CACtD,yBAAyB,YAAY,MAAM,YAAY,OAAO,SAAS;AAChF,MAAI,CAACC,+BAAY,WAAW,KAAK,QAAQ,CACrC,QAAO,KAAK,KAAK;EAGrB,MAAM,kDADiC,QAAQ,CAClB;AAC7B,MAAI,CAAC,OACD,OAAM,IAAI,MAAM,yDAAyD;EAE7E,MAAM,EAAE,gBAAgB,EAAE,oBAAoB,EAAE,IAAI,UAAU,WAAY;EAC1E,MAAM,SAAS,MAAM,KAAK;GACtB,GAAG;GACH,SAAS,MAAM,OAAO,KAAK,KAAK,SAAS,UAAU,kBAAkB;GACxE,CAAC,CAAC,OAAO,OAAO,gBAAgB,qBAAqB,kBAAkB,CAAC;AACzE,GAAC,OAAO,kBAAkB,uBAAuB,OAAO,UAAU,kBAAkB;AACpF,SAAO;;;;;;;;6BCrBqD;CACnD,+BAA+B;EACxC,MAAM;EACN,MAAM,CAAC,eAAe;EACtB,MAAM;EACN,SAAS;GAAC;GAAoB;GAAmB;GAAoB;EACrE,UAAU;EACV,UAAU;EACV,cAAc;EACjB;CACY,wBAAwB,YAAY,EAC7C,eAAe,gBAAgB;AAC3B,cAAY,cAAc,sBAAsB,OAAO,EAAE,6BAA6B;IAE7F;;;;;;;;;;;;;;CEdY,qBAAqB,UAAU;AACxC,MAAI,OAAO,UAAU,WACjB,QAAO;EACX,MAAM,cAAc,QAAQ,QAAQ,MAAM;AAC1C,eAAa;;;;;;ACCjB,SAAgB,gBAAgB,YAAY,aAAa,gBAAgB,iBAAiB,mBAAmB;AACzG,QAAO,gBAAgB,kBAAkB,QAAQ,OAAO,GAAG,qBAAqB;EAC5E,MAAM,SAAS;EACf,IAAI,QAAQ,OAAO,iBAAiB,OAAO;EAC3C,IAAI,UAAU;EACd,IAAI;AACJ,SAAO,SAAS;AACZ,UAAO,kBAAkB;AACzB,OAAI,kBACA,QAAO,qBAAqB,OAAO,sBAAsB,OAAO;AAEpE,OAAI,OAAO,kBAAkB,WACzB,QAAO,MAAM,uBAAuB,aAAa,OAAO,QAAQ,OAAO,OAAO,aAAa,GAAG,oBAAoB;OAGlH,OAAM,IAAI,MAAM,wCAAwC,WAAW,OAAO;AAE9E,SAAM;GACN,MAAM,YAAY;AAClB,WAAQ,IAAI,MAAM,gBAAgB;AAClC,aAAU,CAAC,EAAE,UAAU,CAAC,OAAO,mBAAmB,UAAU;;AAEhE,SAAO;;;;;CA3BT,yBAAyB,OAAO,aAAa,QAAQ,OAAO,eAAe,MAAM,GAAG,GAAG,SAAS;EAClG,IAAI,UAAU,IAAI,YAAY,MAAM;AACpC,YAAU,YAAY,QAAQ,IAAI;AAClC,SAAO,MAAM,OAAO,KAAK,SAAS,GAAG,KAAK;;CA2BxC,OAAO,YAAY,SAAS;EAC9B,IAAIC,WAAS;EACb,MAAM,iBAAiB,KAAK,MAAM,IAAI;AACtC,OAAK,MAAM,QAAQ,gBAAgB;AAC/B,OAAI,CAACA,YAAU,OAAOA,aAAW,SAC7B;AAEJ,cAASA,SAAO;;AAEpB,SAAOA;;;;;;;mBCvC6C;;;;;ACAxD,SAAgB,WAAW,SAAS,SAAS,OAAO;AAChD,KAAI,CAAC,QAAQ,iBACT,SAAQ,mBAAmB,EACvB,UAAU,EAAE,EACf;UAEI,CAAC,QAAQ,iBAAiB,SAC/B,SAAQ,iBAAiB,WAAW,EAAE;AAE1C,SAAQ,iBAAiB,SAAS,WAAW;;;;;;;;CCTpC,gCAAb,MAA2C;EACvC,8BAAc,IAAI,KAAK;EACvB,YAAY,QAAQ;AAChB,QAAK,MAAM,CAAC,KAAK,UAAU,OAAO,QAAQ,OAAO,CAC7C,KAAI,UAAU,OACV,MAAK,YAAY,IAAI,KAAK,MAAM;;EAI5C,oBAAoB,UAAU;AAC1B,UAAO,KAAK,YAAY,IAAI,SAAS;;;;;;;;;;;CCRhC,uBAAb,MAAkC;EAC9B,MAAM,KAAK,aAAa,UAAU,mBAAmB;AACjD,OAAI,CAAC,kBACD,OAAM,IAAI,MAAM,oGAAoG;AAExH,OAAI,CAAC,kBAAkB,KACnB,OAAM,IAAI,MAAM,wFAAwF;AAE5G,OAAI,CAAC,kBAAkB,GACnB,OAAM,IAAI,MAAM,sFAAsF;AAE1G,OAAI,CAAC,SAAS,OACV,OAAM,IAAI,MAAM,8EAA8E;GAElG,MAAM,gBAAgBC,+BAAY,MAAM,YAAY;AACpD,OAAI,kBAAkB,OAAOC,0CAAuB,MAChD,eAAc,MAAM,kBAAkB,QAAQ,SAAS;YAElD,kBAAkB,OAAOA,0CAAuB,OACrD,eAAc,QAAQ,kBAAkB,QAAQ,kBAAkB,SAC5D,GAAG,kBAAkB,OAAO,GAAG,SAAS,WACxC,SAAS;OAGf,OAAM,IAAI,MAAM,yFAEZ,kBAAkB,KAClB,IAAI;AAEZ,UAAO;;;;;;;;;;CC9BF,uBAAb,MAAkC;EAC9B,MAAM,KAAK,aAAa,UAAU,mBAAmB;GACjD,MAAM,gBAAgBC,+BAAY,MAAM,YAAY;AACpD,OAAI,CAAC,SAAS,MACV,OAAM,IAAI,MAAM,4EAA4E;AAEhG,iBAAc,QAAQ,mBAAmB,UAAU,SAAS;AAC5D,UAAO;;;;;;;;;CCRF,eAAb,MAA0B;EACtB,MAAM,KAAK,aAAa,UAAU,mBAAmB;AACjD,UAAO;;;;;;;;;;;;;;;;;CEFF,mCAAmC,iBAAiB,SAASC,oBAAkB,UAAU;AAClG,SAAO,2BAA2B,SAAS,IAAI,SAAS,WAAW,SAAS,GAAG,KAAK,KAAK,GAAG;;CAEnF,gBAAgB;CAChB,oBAAoB,gCAAgC,cAAc;CAClE,8BAA8B,aAAa,SAAS,eAAe;CACnE,2BAA2B,UAAU,WAAW,oBAAoB;AAC7E,MAAI,aAAa,OACb;EAEJ,MAAM,qBAAqB,OAAO,aAAa,aAAa,YAAY,QAAQ,QAAQ,SAAS,GAAG;EACpG,IAAI;EACJ,IAAI;EACJ,IAAI;EACJ,IAAI,aAAa;EACjB,MAAM,mBAAmB,OAAO,YAAY;AACxC,OAAI,CAAC,QACD,WAAU,mBAAmB,QAAQ;AAEzC,OAAI;AACA,eAAW,MAAM;AACjB,gBAAY;AACZ,iBAAa;aAET;AACJ,cAAU;;AAEd,UAAO;;AAEX,MAAI,cAAc,OACd,QAAO,OAAO,YAAY;AACtB,OAAI,CAAC,aAAa,SAAS,aACvB,YAAW,MAAM,iBAAiB,QAAQ;AAE9C,UAAO;;AAGf,SAAO,OAAO,YAAY;AACtB,OAAI,CAAC,aAAa,SAAS,aACvB,YAAW,MAAM,iBAAiB,QAAQ;AAE9C,OAAI,WACA,QAAO;AAEX,OAAI,CAAC,gBAAgB,SAAS,EAAE;AAC5B,iBAAa;AACb,WAAO;;AAEX,OAAI,UAAU,SAAS,EAAE;AACrB,UAAM,iBAAiB,QAAQ;AAC/B,WAAO;;AAEX,UAAO;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;uBEhDgD;;;;;;;;;;iBCJd;;CAEpC,6BAA6B,WAAW;AACjD,SAAO,yBAAyB,kBAAkB,OAAO,uBAAuB;AAChF,SAAO;;CAEE,6BAA6B;EACtC,4BAA4B,KAAK;AAC7B,OAAI,IAAI,8BACJ,QAAO,IAAI,8BAA8B,MAAM,IAAI,CAAC,KAAK,MAAM,EAAE,MAAM,CAAC;AAE5E,SAAM,IAAIC,iCAAc,iDAAiD,EACrE,aAAa,MAChB,CAAC;;EAEN,mBAAmB,SAAS;AACxB,OAAI,QAAQ,0BACR,SAAQ,QAAQ,6BAA6B,IAAI,MAAM,IAAI,CAAC,KAAK,MAAM,EAAE,MAAM,CAAC;AAEpF,SAAM,IAAIA,iCAAc,iDAAiD,EACrE,aAAa,MAChB,CAAC;;EAEN,SAAS;EACZ;;;;;;CCtBD,IAAI;CACJ,IAAI;CACJ,IAAI;CACJ,IAAI;CACJ,IAAI;CACJ,IAAI;CAEJ,MAAM,wBAAwB;CAC9B,MAAM,yBAAyB;CAC/B,MAAM,uBAAuB;CAC7B,MAAM,6BAA6B;CACnC,MAAM,sBAAsB;CAC5B,MAAM,wBAAwB;CAC9B,MAAM,oBAAoB;CAC1B,MAAM,mBAAmB;CACzB,MAAM,cAAc;CACpB,MAAM,kBAAkB,qBAAqB,aAAa;CAC1D,MAAM,cAAc;CACpB,MAAM,oBAAoB;EAAC;EAAa;EAAiB;EAAY;CACrE,MAAM,mBAAmB,sBAAsB,aAAa;CAC5D,MAAM,gBAAgB;CACtB,MAAM,eAAe,kBAAkB,aAAa;CACpD,MAAM,cAAc;CACpB,MAAM,4BAA4B;EAC9B,eAAe;EACf,iBAAiB;EACjB,YAAY;EACZ,QAAQ;EACR,MAAM;EACN,cAAc;EACd,gBAAgB;EAChB,QAAQ;EACR,SAAS;EACT,IAAI;EACJ,SAAS;EACT,qBAAqB;EACrB,SAAS;EACT,cAAc;EACd,mBAAmB;EACtB;CACD,MAAM,uBAAuB;CAC7B,MAAM,qBAAqB;CAC3B,MAAM,sBAAsB,CAAC,YAAY,SAAS;CAClD,MAAM,uBAAuB;CAC7B,MAAM,2BAA2B;CACjC,MAAM,6BAA6B;CACnC,MAAM,mBAAmB;CACzB,MAAM,iBAAiB;CACvB,MAAM,sBAAsB;CAC5B,MAAM,oBAAoB,OAAU,KAAK;CAEzC,MAAM,kBAAkB,EAAE;CAC1B,MAAM,aAAa,EAAE;CACrB,MAAM,eAAe,WAAW,QAAQ,YAAY,GAAG,UAAU,GAAG,OAAO,GAAG,QAAQ,GAAG;CACzF,MAAM,gBAAgB,OAAO,mBAAmB,aAAa,WAAW,QAAQ,YAAY;EACxF,MAAM,YAAY,MAAM,KAAK,mBAAmB,YAAY,iBAAiB,YAAY,YAAY;EACrG,MAAM,WAAW,GAAG,UAAU,GAAG,OAAO,GAAG,QAAQ,GAAG,gBAAgB,MAAM,UAAU,CAAC,GAAG,YAAY;AACtG,MAAI,YAAY,gBACZ,QAAO,gBAAgB;AAE3B,aAAW,KAAK,SAAS;AACzB,SAAO,WAAW,SAAS,eACvB,QAAO,gBAAgB,WAAW,OAAO;EAE7C,IAAI,MAAM,OAAO,YAAY;AAC7B,OAAK,MAAM,YAAY;GAAC;GAAW;GAAQ;GAAS;GAAoB,CACpE,OAAM,MAAM,KAAK,mBAAmB,KAAK,SAAS;AAEtD,SAAQ,gBAAgB,YAAY;;CAExC,MAAM,6BAA6B;AAC/B,aAAW,SAAS;AACpB,SAAO,KAAK,gBAAgB,CAAC,SAAS,aAAa;AAC/C,UAAO,gBAAgB;IACzB;;CAEN,MAAM,QAAQ,MAAM,QAAQ,WAAS;EACjC,MAAM,OAAO,IAAI,KAAK,OAAO;AAC7B,OAAK,OAAO,SAAS,aAAaC,OAAK,CAAC;AACxC,SAAO,KAAK,QAAQ;;CAGxB,MAAM,uBAAuB,EAAE,WAAW,mBAAmB,oBAAoB;EAC7E,MAAM,YAAY,EAAE;AACpB,OAAK,MAAM,cAAc,OAAO,KAAK,QAAQ,CAAC,MAAM,EAAE;AAClD,OAAI,QAAQ,eAAe,OACvB;GAEJ,MAAM,sBAAsB,WAAW,aAAa;AACpD,OAAI,uBAAuB,6BACvB,mBAAmB,IAAI,oBAAoB,IAC3C,qBAAqB,KAAK,oBAAoB,IAC9C,mBAAmB,KAAK,oBAAoB,EAC5C;QAAI,CAAC,mBAAoB,mBAAmB,CAAC,gBAAgB,IAAI,oBAAoB,CACjF;;AAGR,aAAU,uBAAuB,QAAQ,YAAY,MAAM,CAAC,QAAQ,QAAQ,IAAI;;AAEpF,SAAO;;CAGX,MAAM,iBAAiB,OAAO,EAAE,SAAS,QAAQ,oBAAoB;AACjE,OAAK,MAAM,cAAc,OAAO,KAAK,QAAQ,CACzC,KAAI,WAAW,aAAa,KAAK,cAC7B,QAAO,QAAQ;AAGvB,MAAI,QAAQ,OACR,QAAO;WAEF,OAAO,SAAS,YAAY,YAAY,OAAO,KAAK,IAAI,cAAc,cAAc,KAAK,EAAE;GAChG,MAAM,WAAW,IAAI,iBAAiB;AACtC,YAAS,OAAO,SAAS,aAAa,KAAK,CAAC;AAC5C,UAAO,gBAAgB,MAAM,MAAM,SAAS,QAAQ,CAAC;;AAEzD,SAAO;;CAGX,IAAM,kBAAN,MAAsB;EAClB,OAAO,SAAS;GACZ,MAAM,SAAS,EAAE;AACjB,QAAK,MAAM,cAAc,OAAO,KAAK,QAAQ,EAAE;IAC3C,MAAM,QAAQ,SAAS,SAAS,WAAW;AAC3C,WAAO,KAAK,WAAW,KAAK,CAAC,MAAM,WAAW,CAAC,EAAE,OAAO,KAAK,kBAAkB,QAAQ,YAAY,CAAC;;GAExG,MAAM,MAAM,IAAI,WAAW,OAAO,QAAQ,OAAO,UAAU,QAAQ,MAAM,YAAY,EAAE,CAAC;GACxF,IAAI,WAAW;AACf,QAAK,MAAM,SAAS,QAAQ;AACxB,QAAI,IAAI,OAAO,SAAS;AACxB,gBAAY,MAAM;;AAEtB,UAAO;;EAEX,kBAAkB,QAAQ;AACtB,WAAQ,OAAO,MAAf;IACI,KAAK,UACD,QAAO,WAAW,KAAK,CAAC,OAAO,QAAQ,IAAI,EAAE,CAAC;IAClD,KAAK,OACD,QAAO,WAAW,KAAK,CAAC,GAAG,OAAO,MAAM,CAAC;IAC7C,KAAK;KACD,MAAM,4BAAY,IAAI,yBAAS,IAAI,YAAY,EAAE,CAAC;AAClD,eAAU,SAAS,GAAG,EAAE;AACxB,eAAU,SAAS,GAAG,OAAO,OAAO,MAAM;AAC1C,YAAO,IAAI,WAAW,UAAU,OAAO;IAC3C,KAAK;KACD,MAAM,0BAAU,IAAI,yBAAS,IAAI,YAAY,EAAE,CAAC;AAChD,aAAQ,SAAS,GAAG,EAAE;AACtB,aAAQ,SAAS,GAAG,OAAO,OAAO,MAAM;AACxC,YAAO,IAAI,WAAW,QAAQ,OAAO;IACzC,KAAK;KACD,MAAM,YAAY,IAAI,WAAW,EAAE;AACnC,eAAU,KAAK;AACf,eAAU,IAAI,OAAO,MAAM,OAAO,EAAE;AACpC,YAAO;IACX,KAAK;KACD,MAAM,UAAU,IAAI,SAAS,IAAI,YAAY,IAAI,OAAO,MAAM,WAAW,CAAC;AAC1E,aAAQ,SAAS,GAAG,EAAE;AACtB,aAAQ,UAAU,GAAG,OAAO,MAAM,YAAY,MAAM;KACpD,MAAM,WAAW,IAAI,WAAW,QAAQ,OAAO;AAC/C,cAAS,IAAI,OAAO,OAAO,EAAE;AAC7B,YAAO;IACX,KAAK;KACD,MAAM,YAAY,SAAS,SAAS,OAAO,MAAM;KACjD,MAAM,UAAU,IAAI,SAAS,IAAI,YAAY,IAAI,UAAU,WAAW,CAAC;AACvE,aAAQ,SAAS,GAAG,EAAE;AACtB,aAAQ,UAAU,GAAG,UAAU,YAAY,MAAM;KACjD,MAAM,WAAW,IAAI,WAAW,QAAQ,OAAO;AAC/C,cAAS,IAAI,WAAW,EAAE;AAC1B,YAAO;IACX,KAAK;KACD,MAAM,UAAU,IAAI,WAAW,EAAE;AACjC,aAAQ,KAAK;AACb,aAAQ,IAAI,MAAM,WAAW,OAAO,MAAM,SAAS,CAAC,CAAC,OAAO,EAAE;AAC9D,YAAO;IACX,KAAK;AACD,SAAI,CAAC,aAAa,KAAK,OAAO,MAAM,CAChC,OAAM,IAAI,MAAM,0BAA0B,OAAO,QAAQ;KAE7D,MAAM,YAAY,IAAI,WAAW,GAAG;AACpC,eAAU,KAAK;AACf,eAAU,IAAI,gBAAgB,QAAQ,OAAO,MAAM,QAAQ,OAAO,GAAG,CAAC,EAAE,EAAE;AAC1E,YAAO;;;;CAIvB,MAAM,eAAe;CACrB,IAAM,QAAN,MAAM,MAAM;EACR;EACA,YAAY,OAAO;AACf,QAAK,QAAQ;AACb,OAAI,MAAM,eAAe,EACrB,OAAM,IAAI,MAAM,wCAAwC;;EAGhE,OAAO,WAAW,QAAQ;AACtB,OAAI,SAAS,sBAA6B,SAAS,oBAC/C,OAAM,IAAI,MAAM,GAAG,OAAO,qEAAqE;GAEnG,MAAM,QAAQ,IAAI,WAAW,EAAE;AAC/B,QAAK,IAAI,IAAI,GAAG,YAAY,KAAK,IAAI,KAAK,MAAM,OAAO,CAAC,EAAE,IAAI,MAAM,YAAY,GAAG,KAAK,aAAa,IACjG,OAAM,KAAK;AAEf,OAAI,SAAS,EACT,QAAO,MAAM;AAEjB,UAAO,IAAI,MAAM,MAAM;;EAE3B,UAAU;GACN,MAAM,QAAQ,KAAK,MAAM,MAAM,EAAE;GACjC,MAAM,WAAW,MAAM,KAAK;AAC5B,OAAI,SACA,QAAO,MAAM;AAEjB,UAAO,SAAS,gBAAgB,MAAM,MAAM,EAAE,GAAG,IAAI,WAAW,KAAK;;EAEzE,WAAW;AACP,UAAO,OAAO,KAAK,SAAS,CAAC;;;CAGrC,SAAS,OAAO,OAAO;AACnB,OAAK,IAAI,IAAI,GAAG,IAAI,GAAG,IACnB,OAAM,MAAM;AAEhB,OAAK,IAAI,IAAI,GAAG,IAAI,IAAI,KAAK;AACzB,SAAM;AACN,OAAI,MAAM,OAAO,EACb;;;CAIZ,MAAM,aAAa,cAAc,YAAY;AACzC,iBAAe,aAAa,aAAa;AACzC,OAAK,MAAM,cAAc,OAAO,KAAK,QAAQ,CACzC,KAAI,iBAAiB,WAAW,aAAa,CACzC,QAAO;AAGf,SAAO;;CAGX,MAAM,sBAAsB,SAAS,UAAU,EAAE,KAAK;EAClD,MAAM,EAAE,SAAS,QAAQ,EAAE,KAAK,aAAa,YAAY,MAAM,QAAQ;AACvE,OAAK,MAAM,QAAQ,OAAO,KAAK,QAAQ,EAAE;GACrC,MAAM,QAAQ,KAAK,aAAa;AAChC,OAAK,MAAM,MAAM,GAAG,EAAE,KAAK,YAAY,CAAC,QAAQ,oBAAoB,IAAI,MAAM,IAC1E,QAAQ,kBAAkB,IAAI,MAAM,EAAE;AACtC,UAAM,QAAQ,QAAQ;AACtB,WAAO,QAAQ;;;AAGvB,SAAO;GACH,GAAG;GACH;GACA;GACH;;CAGL,MAAM,kBAAkB,YAAY;AAChC,YAAU,aAAa,YAAY,MAAM,QAAQ;AACjD,OAAK,MAAM,cAAc,OAAO,KAAK,QAAQ,QAAQ,CACjD,KAAI,kBAAkB,QAAQ,WAAW,aAAa,CAAC,GAAG,GACtD,QAAO,QAAQ,QAAQ;AAG/B,SAAO;;CAGX,MAAM,qBAAqB,EAAE,QAAQ,EAAE,OAAO;EAC1C,MAAM,OAAO,EAAE;EACf,MAAM,aAAa,EAAE;AACrB,OAAK,MAAM,OAAO,OAAO,KAAK,MAAM,EAAE;AAClC,OAAI,IAAI,aAAa,KAAK,iBACtB;GAEJ,MAAM,aAAa,cAAc,UAAU,IAAI;AAC/C,QAAK,KAAK,WAAW;GACrB,MAAM,QAAQ,MAAM;AACpB,OAAI,OAAO,UAAU,SACjB,YAAW,cAAc,GAAG,WAAW,GAAG,cAAc,UAAU,MAAM;YAEnE,MAAM,QAAQ,MAAM,CACzB,YAAW,cAAc,MACpB,MAAM,EAAE,CACR,QAAQ,SAAS,YAAU,QAAQ,OAAO,CAAC,GAAG,WAAW,GAAG,cAAc,UAAUC,QAAM,GAAG,CAAC,EAAE,EAAE,CAAC,CACnG,MAAM,CACN,KAAK,IAAI;;AAGtB,SAAO,KACF,MAAM,CACN,KAAK,QAAQ,WAAW,KAAK,CAC7B,QAAQ,iBAAeC,aAAW,CAClC,KAAK,IAAI;;CAGlB,MAAM,WAAW,SAAS,OAAO,KAAK,CACjC,aAAa,CACb,QAAQ,aAAa,IAAI;CAC9B,MAAM,UAAU,SAAS;AACrB,MAAI,OAAO,SAAS,SAChB,wBAAO,IAAI,KAAK,OAAO,IAAK;AAEhC,MAAI,OAAO,SAAS,UAAU;AAC1B,OAAI,OAAO,KAAK,CACZ,wBAAO,IAAI,KAAK,OAAO,KAAK,GAAG,IAAK;AAExC,UAAO,IAAI,KAAK,KAAK;;AAEzB,SAAO;;CAGX,IAAM,kBAAN,MAAsB;EAClB;EACA;EACA;EACA;EACA;EACA;EACA,YAAY,EAAE,eAAe,aAAa,QAAQ,SAAS,QAAQ,gBAAgB,QAAS;AACxF,QAAK,UAAU;AACf,QAAK,SAAS;AACd,QAAK,gBAAgB;AACrB,QAAK,gBAAgB,OAAO,kBAAkB,YAAY,gBAAgB;AAC1E,QAAK,iBAAiB,eAAe,kBAAkB,OAAO;AAC9D,QAAK,qBAAqB,eAAe,kBAAkB,YAAY;;EAE3E,uBAAuB,SAAS,kBAAkB,aAAa;GAC3D,MAAM,gBAAgB,OAAO,KAAK,iBAAiB,CAAC,MAAM;AAC1D,UAAO,GAAG,QAAQ,OAAO;EAC/B,KAAK,iBAAiB,QAAQ,CAAC;EAC/B,kBAAkB,QAAQ,CAAC;EAC3B,cAAc,KAAK,SAAS,GAAG,KAAK,GAAG,iBAAiB,QAAQ,CAAC,KAAK,KAAK,CAAC;;EAE5E,cAAc,KAAK,IAAI,CAAC;EACxB;;EAEE,MAAM,mBAAmB,UAAU,iBAAiB,kBAAkB,qBAAqB;GACvF,MAAM,OAAO,IAAI,KAAK,QAAQ;AAC9B,QAAK,OAAO,SAAS,aAAa,iBAAiB,CAAC;GACpD,MAAM,gBAAgB,MAAM,KAAK,QAAQ;AACzC,UAAO,GAAG,oBAAoB;EACpC,SAAS;EACT,gBAAgB;EAChB,gBAAgB,MAAM,cAAc;;EAElC,iBAAiB,EAAE,QAAQ;AACvB,OAAI,KAAK,eAAe;IACpB,MAAM,yBAAyB,EAAE;AACjC,SAAK,MAAM,eAAe,KAAK,MAAM,IAAI,EAAE;AACvC,SAAI,aAAa,WAAW,EACxB;AACJ,SAAI,gBAAgB,IAChB;AACJ,SAAI,gBAAgB,KAChB,wBAAuB,KAAK;SAG5B,wBAAuB,KAAK,YAAY;;IAGhD,MAAM,iBAAiB,GAAG,MAAM,WAAW,IAAI,GAAG,MAAM,KAAK,uBAAuB,KAAK,IAAI,GAAG,uBAAuB,SAAS,KAAK,MAAM,SAAS,IAAI,GAAG,MAAM;AAEjK,WADsB,cAAc,UAAU,eAAe,CACxC,QAAQ,QAAQ,IAAI;;AAE7C,UAAO;;EAEX,4BAA4B,aAAa;AACrC,OAAI,OAAO,gBAAgB,YACvB,OAAO,YAAY,gBAAgB,YACnC,OAAO,YAAY,oBAAoB,SACvC,OAAM,IAAI,MAAM,0CAA0C;;EAGlE,WAAW,KAAK;GACZ,MAAM,WAAW,QAAQ,IAAI,CAAC,QAAQ,UAAU,GAAG;AACnD,UAAO;IACH;IACA,WAAW,SAAS,MAAM,GAAG,EAAE;IAClC;;EAEL,uBAAuB,SAAS;AAC5B,UAAO,OAAO,KAAK,QAAQ,CAAC,MAAM,CAAC,KAAK,IAAI;;;CAIpD,IAAM,cAAN,cAA0B,gBAAgB;EACtC,kBAAkB,IAAI,iBAAiB;EACvC,YAAY,EAAE,eAAe,aAAa,QAAQ,SAAS,QAAQ,gBAAgB,QAAS;AACxF,SAAM;IACF;IACA;IACA;IACA;IACA;IACA;IACH,CAAC;;EAEN,MAAM,QAAQ,iBAAiB,UAAU,EAAE,EAAE;GACzC,MAAM,EAAE,8BAAc,IAAI,MAAM,EAAE,YAAY,MAAM,mBAAmB,oBAAoB,iBAAiB,kBAAkB,eAAe,mBAAoB;GACjK,MAAM,cAAc,MAAM,KAAK,oBAAoB;AACnD,QAAK,4BAA4B,YAAY;GAC7C,MAAM,SAAS,iBAAkB,MAAM,KAAK,gBAAgB;GAC5D,MAAM,EAAE,UAAU,cAAc,KAAK,WAAW,YAAY;AAC5D,OAAI,YAAY,kBACZ,QAAO,QAAQ,OAAO,mGAA6G;GAEvI,MAAM,QAAQ,YAAY,WAAW,QAAQ,kBAAkB,KAAK,QAAQ;GAC5E,MAAM,UAAU,mBAAmB,eAAe,gBAAgB,EAAE;IAAE;IAAoB;IAAkB,CAAC;AAC7G,OAAI,YAAY,aACZ,SAAQ,MAAM,qBAAqB,YAAY;AAEnD,WAAQ,MAAM,yBAAyB;AACvC,WAAQ,MAAM,0BAA0B,GAAG,YAAY,YAAY,GAAG;AACtE,WAAQ,MAAM,wBAAwB;AACtC,WAAQ,MAAM,uBAAuB,UAAU,SAAS,GAAG;GAC3D,MAAM,mBAAmB,oBAAoB,SAAS,mBAAmB,gBAAgB;AACzF,WAAQ,MAAM,8BAA8B,KAAK,uBAAuB,iBAAiB;AACzF,WAAQ,MAAM,yBAAyB,MAAM,KAAK,aAAa,UAAU,OAAO,KAAK,cAAc,aAAa,QAAQ,WAAW,eAAe,EAAE,KAAK,uBAAuB,SAAS,kBAAkB,MAAM,eAAe,iBAAiB,KAAK,OAAO,CAAC,CAAC;AAC/P,UAAO;;EAEX,MAAM,KAAK,QAAQ,SAAS;AACxB,OAAI,OAAO,WAAW,SAClB,QAAO,KAAK,WAAW,QAAQ,QAAQ;YAElC,OAAO,WAAW,OAAO,QAC9B,QAAO,KAAK,UAAU,QAAQ,QAAQ;YAEjC,OAAO,QACZ,QAAO,KAAK,YAAY,QAAQ,QAAQ;OAGxC,QAAO,KAAK,YAAY,QAAQ,QAAQ;;EAGhD,MAAM,UAAU,EAAE,SAAS,sBAAW,EAAE,8BAAc,IAAI,MAAM,EAAE,gBAAgB,eAAe,kBAAkB;GAC/G,MAAM,SAAS,iBAAkB,MAAM,KAAK,gBAAgB;GAC5D,MAAM,EAAE,WAAW,aAAa,KAAK,WAAW,YAAY;GAC5D,MAAM,QAAQ,YAAY,WAAW,QAAQ,kBAAkB,KAAK,QAAQ;GAC5E,MAAM,gBAAgB,MAAM,eAAe;IAAE,SAAS,EAAE;IAAE,MAAMC;IAAS,EAAE,KAAK,OAAO;GACvF,MAAM,OAAO,IAAI,KAAK,QAAQ;AAC9B,QAAK,OAAO,QAAQ;GAEpB,MAAM,eAAe;IACjB;IACA;IACA;IACA;IALkB,gBAAgB,MAAM,MAAM,KAAK,QAAQ,CAAC;IAO5D;IACH,CAAC,KAAK,KAAK;AACZ,UAAO,KAAK,WAAW,cAAc;IAAE;IAAa,eAAe;IAAQ;IAAgB,CAAC;;EAEhG,MAAM,YAAY,iBAAiB,EAAE,8BAAc,IAAI,MAAM,EAAE,eAAe,kBAAkB;AAU5F,UATgB,KAAK,UAAU;IAC3B,SAAS,KAAK,gBAAgB,OAAO,gBAAgB,QAAQ,QAAQ;IACrE,SAAS,gBAAgB,QAAQ;IACpC,EAAE;IACC;IACA;IACA;IACA,gBAAgB,gBAAgB;IACnC,CAAC,CACa,MAAM,cAAc;AAC/B,WAAO;KAAE,SAAS,gBAAgB;KAAS;KAAW;KACxD;;EAEN,MAAM,WAAW,cAAc,EAAE,8BAAc,IAAI,MAAM,EAAE,eAAe,mBAAmB,EAAE,EAAE;GAC7F,MAAM,cAAc,MAAM,KAAK,oBAAoB;AACnD,QAAK,4BAA4B,YAAY;GAC7C,MAAM,SAAS,iBAAkB,MAAM,KAAK,gBAAgB;GAC5D,MAAM,EAAE,cAAc,KAAK,WAAW,YAAY;GAClD,MAAM,OAAO,IAAI,KAAK,OAAO,MAAM,KAAK,cAAc,aAAa,QAAQ,WAAW,eAAe,CAAC;AACtG,QAAK,OAAO,SAAS,aAAa,aAAa,CAAC;AAChD,UAAO,gBAAgB,MAAM,MAAM,KAAK,QAAQ,CAAC;;EAErD,MAAM,YAAY,eAAe,EAAE,8BAAc,IAAI,MAAM,EAAE,iBAAiB,mBAAmB,eAAe,mBAAoB,EAAE,EAAE;GACpI,MAAM,cAAc,MAAM,KAAK,oBAAoB;AACnD,QAAK,4BAA4B,YAAY;GAC7C,MAAM,SAAS,iBAAkB,MAAM,KAAK,gBAAgB;GAC5D,MAAM,UAAU,eAAe,cAAc;GAC7C,MAAM,EAAE,UAAU,cAAc,KAAK,WAAW,YAAY;GAC5D,MAAM,QAAQ,YAAY,WAAW,QAAQ,kBAAkB,KAAK,QAAQ;AAC5E,WAAQ,QAAQ,mBAAmB;AACnC,OAAI,YAAY,aACZ,SAAQ,QAAQ,gBAAgB,YAAY;GAEhD,MAAM,cAAc,MAAM,eAAe,SAAS,KAAK,OAAO;AAC9D,OAAI,CAAC,UAAU,eAAe,QAAQ,QAAQ,IAAI,KAAK,cACnD,SAAQ,QAAQ,iBAAiB;GAErC,MAAM,mBAAmB,oBAAoB,SAAS,mBAAmB,gBAAgB;GACzF,MAAM,YAAY,MAAM,KAAK,aAAa,UAAU,OAAO,KAAK,cAAc,aAAa,QAAQ,WAAW,eAAe,EAAE,KAAK,uBAAuB,SAAS,kBAAkB,YAAY,CAAC;AACnM,WAAQ,QAAQ,eACZ,GAAG,qBAAqB,cACN,YAAY,YAAY,GAAG,MAAM,kBAC9B,KAAK,uBAAuB,iBAAiB,CAAC,cAClD;AACrB,UAAO;;EAEX,MAAM,aAAa,UAAU,iBAAiB,YAAY,kBAAkB;GACxE,MAAM,eAAe,MAAM,KAAK,mBAAmB,UAAU,iBAAiB,kBAAkB,qBAAqB;GACrH,MAAM,OAAO,IAAI,KAAK,OAAO,MAAM,WAAW;AAC9C,QAAK,OAAO,SAAS,aAAa,aAAa,CAAC;AAChD,UAAO,gBAAgB,MAAM,MAAM,KAAK,QAAQ,CAAC;;EAErD,cAAc,aAAa,QAAQ,WAAW,SAAS;AACnD,UAAO,cAAc,KAAK,QAAQ,aAAa,WAAW,QAAQ,WAAW,KAAK,QAAQ;;;CAIlG,MAAM,wBAAwB,EAC1B,cAAc,MACjB;AAED,SAAQ,uBAAuB;AAC/B,SAAQ,2BAA2B;AACnC,SAAQ,wBAAwB;AAChC,SAAQ,4BAA4B;AACpC,SAAQ,kBAAkB;AAC1B,SAAQ,uBAAuB;AAC/B,SAAQ,cAAc;AACtB,SAAQ,yBAAyB;AACjC,SAAQ,cAAc;AACtB,SAAQ,6BAA6B;AACrC,SAAQ,sBAAsB;AAC9B,SAAQ,oBAAoB;AAC5B,SAAQ,cAAc;AACtB,SAAQ,sBAAsB;AAC9B,SAAQ,iBAAiB;AACzB,SAAQ,oBAAoB;AAC5B,SAAQ,uBAAuB;AAC/B,SAAQ,mBAAmB;AAC3B,SAAQ,qBAAqB;AAC7B,SAAQ,gBAAgB;AACxB,SAAQ,mBAAmB;AAC3B,SAAQ,wBAAwB;AAChC,SAAQ,6BAA6B;AACrC,SAAQ,cAAc;AACtB,SAAQ,kBAAkB;AAC1B,SAAQ,eAAe;AACvB,SAAQ,oBAAoB;AAC5B,SAAQ,sBAAsB;AAC9B,SAAQ,mBAAmB;AAC3B,SAAQ,uBAAuB;AAC/B,SAAQ,cAAc;AACtB,SAAQ,sBAAsB;AAC9B,SAAQ,oBAAoB;AAC5B,SAAQ,iBAAiB;AACzB,SAAQ,gBAAgB;AACxB,SAAQ,YAAY;AACpB,SAAQ,qBAAqB;AAC7B,SAAQ,iBAAiB;AACzB,SAAQ,wBAAwB;;;;;AClchC,SAAS,4BAA4B,QAAQ,EAAE,aAAa,6BAA8B;CACtF,IAAI;AACJ,KAAI,YACA,KAAI,CAAC,aAAa,SACd,uBAAsB,wBAAwB,aAAa,mBAAmB,2BAA2B;KAGzG,uBAAsB;UAItB,0BACA,uBAAsB,kBAAkB,0BAA0B,OAAO,OAAO,EAAE,EAAE,QAAQ,EACxF,oBAAoB,QACvB,CAAC,CAAC,CAAC;KAGJ,uBAAsB,YAAY;AAC9B,QAAM,IAAI,MAAM,wHAAwH;;AAIpJ,qBAAoB,WAAW;AAC/B,QAAO;;AAEX,SAAS,iBAAiB,QAAQ,qBAAqB;AACnD,KAAI,oBAAoB,YACpB,QAAO;CAEX,MAAM,KAAK,OAAO,YAAY,oBAAoB;EAAE,GAAG;EAAS,oBAAoB;EAAQ,CAAC;AAC7F,IAAG,WAAW,oBAAoB;AAClC,IAAG,cAAc;AACjB,QAAO;;;;cAzIiD;iBAC8D;;CAE7G,4BAA4B,WAAW;EAChD,IAAI,mBAAmB,OAAO;EAC9B,IAAI,iBAAiB,CAAC,CAAC,OAAO;EAC9B,IAAI,sBAAsB;AAC1B,SAAO,eAAe,QAAQ,eAAe;GACzC,IAAI,aAAa;AACb,QAAI,eAAe,gBAAgB,oBAAoB,gBAAgB,oBACnE,kBAAiB;AAErB,uBAAmB;IAKnB,MAAM,gBAAgB,iBAAiB,QAJd,4BAA4B,QAAQ;KACzD,aAAa;KACb,2BAA2B,OAAO;KACrC,CAAC,CAC8D;AAChE,QAAI,kBAAkB,CAAC,cAAc,YAAY;KAC7C,MAAM,qBAAqB,OAAO,qBAAqB,YAAY,qBAAqB;AACxF,2BAAsB,OAAO,YAAY;MAErC,MAAM,kBADQ,MAAM,cAAc,QAAQ;AAE1C,UAAI,uBAAuB,CAAC,gBAAgB,WAAW,OAAO,KAAK,gBAAgB,QAAQ,CAAC,WAAW,GACnG,QAAO,qBAAqB,iBAAiB,oBAAoB,IAAI;AAEzE,aAAO;;AAEX,yBAAoB,WAAW,cAAc;AAC7C,yBAAoB,cAAc,cAAc;AAChD,yBAAoB,aAAa;UAGjC,uBAAsB;;GAG9B,MAAM;AACF,WAAO;;GAEX,YAAY;GACZ,cAAc;GACjB,CAAC;AACF,SAAO,cAAc;EACrB,MAAM,EAAE,oBAAoB,MAAM,oBAAoB,OAAO,qBAAqB,GAAG,WAAY;EACjG,IAAI;AACJ,MAAI,OAAO,OACP,UAAS,kBAAkB,OAAO,OAAO;WAEpC,OAAO,mBACZ,gBAAe,kBAAkB,OAAO,OAAO,EAAE,CAC5C,KAAK,OAAO,WAAW,CACvB,MAAM,OAAO,mBAAmB,QAAQ;GACrC,iBAAiB,MAAM,OAAO,iBAAiB;GAC/C,sBAAsB,MAAM,OAAO,sBAAsB;GAC5D,CAAC,IAAK,EAAE,EACT,OACH,CAAC,CACG,MAAM,CAAC,YAAY,YAAY;GAChC,MAAM,EAAE,eAAe,mBAAmB;AAC1C,UAAO,gBAAgB,OAAO,iBAAiB,iBAAiB;AAChE,UAAO,cAAc,OAAO,eAAe,kBAAkB,OAAO;GACpE,MAAM,SAAS;IACX,GAAG;IACH,aAAa,OAAO;IACpB,QAAQ,OAAO;IACf,SAAS,OAAO;IAChB;IACA,eAAe;IAClB;AAED,UAAO,KADY,OAAO,qBAAqBC,gCACzB,OAAO;IAC/B;MAGF,UAAS,OAAO,eAAe;AAC3B,gBAAa,OAAO,OAAO,EAAE,EAAE;IAC3B,MAAM;IACN,aAAa,OAAO,eAAe,OAAO;IAC1C,eAAe,MAAM,kBAAkB,OAAO,OAAO,EAAE;IACvD,YAAY,EAAE;IACjB,EAAE,WAAW;GACd,MAAM,gBAAgB,WAAW;GACjC,MAAM,iBAAiB,WAAW;AAClC,UAAO,gBAAgB,OAAO,iBAAiB;AAC/C,UAAO,cAAc,OAAO,eAAe,kBAAkB,OAAO;GACpE,MAAM,SAAS;IACX,GAAG;IACH,aAAa,OAAO;IACpB,QAAQ,OAAO;IACf,SAAS,OAAO;IAChB;IACA,eAAe;IAClB;AAED,UAAO,KADY,OAAO,qBAAqBA,gCACzB,OAAO;;AAQrC,SALuB,OAAO,OAAO,QAAQ;GACzC;GACA;GACA;GACH,CAAC;;CAGO,2BAA2B;;;;;;yBCxG8D;0BAC5C;;;;;;;;;;;;;;;;;;;;;;;;;;;AEgB1D,SAAgB,MAAM,MAAM;AACxB,QAAO,OAAO,WAAW,cAAc,OAAO,MAAM,KAAK,GAAG,IAAI,WAAW,KAAK;;AAGpF,SAAgB,IAAI,QAAM;AACtB,QAAK,aAAa;AAClB,QAAOC;;;;CAvBE,cAAc;CACd,qBAAqB;CACrB,8BAA8B;CAC9B,kBAAkB;CAClB,YAAY;CACZ,WAAW;CACX,WAAW;CACX,eAAe;CACf,eAAe;CACf,cAAc;CACd,cAAc;CACd,mBAAmB;CACnB,kBAAkB;CAClB,kBAAkB;CAClB,kBAAkB;CAClB,kBAAkB;CAClB,kBAAkB;CAIlB,YAAY,OAAO,+BAA+B;;;;;ACX/D,SAAgB,WAAW,OAAO;AAC9B,WAAU;AACV,cAAW,IAAI,SAAS,QAAQ,QAAQ,QAAQ,YAAY,QAAQ,WAAW;;AAEnF,SAAgB,OAAO,IAAI,IAAI;AAC3B,KAAI,MAAM,GACN,OAAM,IAAI,MAAM,sCAAsC;CAE1D,MAAM,SAAS,QAAQ,MAAM,QAAgB;CAC7C,MAAM,QAAQ,QAAQ,MAAM;AAC5B,SAAQ,OAAR;EACI,KAAK;EACL,KAAK;EACL,KAAK;GACD,IAAI;GACJ,IAAI;AACJ,OAAI,QAAQ,IAAI;AACZ,kBAAc;AACd,aAAS;SAGT,SAAQ,OAAR;IACI,KAAK;IACL,KAAK;IACL,KAAK;IACL,KAAK;KACD,MAAM,cAAc,2BAA2B;KAC/C,MAAM,cAAe,cAAc;AACnC,cAAS;AACT,SAAI,KAAK,KAAK,YACV,OAAM,IAAI,MAAM,eAAe,YAAY,kCAAkC;KAEjF,MAAM,aAAa,KAAK;AACxB,SAAI,gBAAgB,EAChB,eAAc,QAAQ;cAEjB,gBAAgB,EACrB,eAAcC,WAAS,UAAU,WAAW;cAEvC,gBAAgB,EACrB,eAAcA,WAAS,UAAU,WAAW;SAG5C,eAAcA,WAAS,aAAa,WAAW;AAEnD;IACJ,QACI,OAAM,IAAI,MAAM,0BAA0B,MAAM,GAAG;;AAG/D,OAAI,UAAU,aAAa;AACvB,cAAU;AACV,WAAO,WAAW,YAAY;cAEzB,UAAU,oBAAoB;IACnC,IAAI;AACJ,QAAI,OAAO,gBAAgB,SACvB,eAAc,OAAO,GAAG,GAAG;QAG3B,eAAc,KAAK;AAEvB,cAAU;AACV,WAAO,WAAW,YAAY;cAG1B,UAAU,KAAK,UAAU,GAAG;IAC5B,MAAM,SAAS,YAAY,KAAK,QAAQ,GAAG;IAC3C,IAAI,IAAI,OAAO,EAAE;IACjB,MAAM,QAAQ,KAAK,SAAS;AAC5B,SAAK,IAAI,IAAI,OAAO,IAAI,QAAQ,QAAQ,EAAE,EACtC,KAAK,KAAK,OAAO,EAAE,GAAI,OAAO,QAAQ,GAAG;AAE7C,cAAU,SAAS,UAAU;AAC7B,WAAO,UAAU,IAAI,CAAC,IAAI,OAAO,EAAE,GAAG;cAEjC,UAAU,GAAG;IAElB,MAAM,CAAC,UAAU,YADO,OAAO,KAAK,QAAQ,GAAG;IAE/C,MAAM,aAAa,WAAW,IAAI,KAAK;IACvC,MAAM,cAAc,IAAI,OAAO,KAAK,IAAI,SAAS,GAAG,EAAE,GAAG,OAAO,OAAO,WAAW,GAAG,OAAO,SAAS,CAAC;IACtG,IAAI;IACJ,MAAM,OAAO,WAAW,IAAI,MAAM;AAClC,oBACI,aAAa,IACP,cACA,YAAY,MAAM,GAAG,YAAY,SAAS,SAAS,GAAG,MAAM,YAAY,MAAM,SAAS;AACjG,oBAAgB,cAAc,QAAQ,QAAQ,GAAG;AACjD,QAAI,kBAAkB,GAClB,iBAAgB;AAEpB,QAAI,cAAc,OAAO,IACrB,iBAAgB,MAAM;AAE1B,oBAAgB,OAAO;AACvB,cAAU,SAAS;AACnB,WAAO,GAAG,cAAc;UAEvB;IACD,MAAM,QAAQ,OAAO,KAAK,QAAQ,GAAG;AAErC,cAAU,SADU;AAEpB,WAAO,IAAI;KAAE,KAAK,WAAW,YAAY;KAAE;KAAO,CAAC;;EAG/D,KAAK;EACL,KAAK;EACL,KAAK;EACL,KAAK,4BACD,KAAI,UAAU,gBACV,SAAQ,OAAR;GACI,KAAK,gBACD,QAAO,2BAA2B,IAAI,GAAG;GAC7C,KAAK,SACD,QAAO,oBAAoB,IAAI,GAAG;GACtC,KAAK,UACD,QAAO,qBAAqB,IAAI,GAAG;GACvC,KAAK,4BACD,QAAO,uCAAuC,IAAI,GAAG;;MAI7D,SAAQ,OAAR;GACI,KAAK,gBACD,QAAO,iBAAiB,IAAI,GAAG;GACnC,KAAK,SACD,QAAO,UAAU,IAAI,GAAG;GAC5B,KAAK,UACD,QAAO,WAAW,IAAI,GAAG;GAC7B,KAAK,4BACD,QAAO,6BAA6B,IAAI,GAAG;;EAG3D,QACI,QAAO,cAAc,IAAI,GAAG;;;AAGxC,SAAS,YAAY,OAAO,IAAI,IAAI;AAChC,KAAIC,gBAAc,MAAM,aAAa,SAAS,SAC1C,QAAO,MAAM,SAAS,SAAS,IAAI,GAAG;AAE1C,KAAI,YACA,QAAO,YAAY,OAAO,MAAM,SAAS,IAAI,GAAG,CAAC;AAErD,uCAAc,MAAM,SAAS,IAAI,GAAG,CAAC;;AAEzC,SAAS,OAAO,YAAY;CACxB,MAAM,MAAM,OAAO,WAAW;AAC9B,KAAI,MAAM,OAAO,oBAAoB,OAAO,mBAAmB,IAC3D,SAAQ,qBAAK,IAAI,MAAM,yCAAyC,WAAW,OAAO,IAAI,0BAA0B,CAAC;AAErH,QAAO;;AAQX,SAAgB,eAAe,GAAG,GAAG;CACjC,MAAM,OAAO,KAAK;CAClB,MAAM,YAAY,IAAI,QAAgB;CACtC,MAAM,YAAa,IAAI,MAAgB,IAAK;CAC5C,MAAM,SAAS,SAAS,IAAI,IAAI;CAChC,IAAI;CACJ,IAAI;AACJ,KAAI,aAAa,EACb,KAAI,aAAa,EACb,QAAO;MAEN;AACD,sBAAoB,KAAK,IAAI,GAAG,IAAO;AACvC,cAAY;;UAGX,aAAa,GAClB,KAAI,aAAa,EACb,QAAO,SAAS;KAGhB,QAAO;MAGV;AACD,sBAAoB,KAAK,IAAI,GAAG,WAAW,GAAG;AAC9C,cAAY;;AAEhB,cAAa,WAAW;AACxB,QAAO,UAAU,oBAAoB;;AAEzC,SAAS,YAAY,IAAI,IAAI;CACzB,MAAM,QAAQ,QAAQ,MAAM;AAC5B,KAAI,QAAQ,IAAI;AACZ,YAAU;AACV,SAAO;;AAEX,KAAI,UAAU,mBACV,UAAU,mBACV,UAAU,mBACV,UAAU,iBAAiB;EAC3B,MAAM,cAAc,2BAA2B;AAC/C,YAAW,cAAc;AACzB,MAAI,KAAK,KAAK,QACV,OAAM,IAAI,MAAM,eAAe,YAAY,kCAAkC;EAEjF,MAAM,aAAa,KAAK;AACxB,MAAI,gBAAgB,EAChB,QAAO,QAAQ;WAEV,gBAAgB,EACrB,QAAOD,WAAS,UAAU,WAAW;WAEhC,gBAAgB,EACrB,QAAOA,WAAS,UAAU,WAAW;AAEzC,SAAO,OAAOA,WAAS,aAAa,WAAW,CAAC;;AAEpD,OAAM,IAAI,MAAM,0BAA0B,MAAM,GAAG;;AAEvD,SAAS,iBAAiB,IAAI,IAAI;CAC9B,MAAM,SAAS,YAAY,IAAI,GAAG;CAClC,MAAM,SAAS;AACf,OAAM;AACN,KAAI,KAAK,KAAK,OACV,OAAM,IAAI,MAAM,cAAc,OAAO,kCAAkC;CAE3E,MAAM,QAAQ,YAAY,SAAS,IAAI,KAAK,OAAO;AACnD,WAAU,SAAS;AACnB,QAAO;;AAEX,SAAS,2BAA2B,IAAI,IAAI;AACxC,OAAM;CACN,MAAM,SAAS,EAAE;AACjB,MAAK,MAAM,OAAO,IAAI,KAAK,KAAK;AAC5B,MAAI,QAAQ,QAAQ,KAAa;GAC7B,MAAME,SAAO,MAAM,OAAO,OAAO;AACjC,UAAK,IAAI,QAAQ,EAAE;AACnB,aAAU,KAAK,OAAO;AACtB,UAAO,YAAYA,QAAM,GAAGA,OAAK,OAAO;;EAE5C,MAAM,SAAS,QAAQ,MAAM,QAAgB;EAC7C,MAAM,QAAQ,QAAQ,MAAM;AAC5B,MAAI,UAAU,gBACV,OAAM,IAAI,MAAM,yBAAyB,MAAM,wBAAwB;AAE3E,MAAI,UAAU,gBACV,OAAM,IAAI,MAAM,4BAA4B;EAEhD,MAAM,QAAQ,6BAA6B,IAAI,GAAG;AAElD,QADe;AAEf,OAAK,IAAI,IAAI,GAAG,IAAI,MAAM,QAAQ,EAAE,EAChC,QAAO,KAAK,MAAM,GAAG;;AAG7B,OAAM,IAAI,MAAM,yBAAyB;;AAE7C,SAAS,6BAA6B,IAAI,IAAI;CAC1C,MAAM,SAAS,YAAY,IAAI,GAAG;CAClC,MAAM,SAAS;AACf,OAAM;AACN,KAAI,KAAK,KAAK,OACV,OAAM,IAAI,MAAM,gCAAgC,OAAO,kCAAkC;CAE7F,MAAM,QAAQ,QAAQ,SAAS,IAAI,KAAK,OAAO;AAC/C,WAAU,SAAS;AACnB,QAAO;;AAEX,SAAS,uCAAuC,IAAI,IAAI;AACpD,OAAM;CACN,MAAM,SAAS,EAAE;AACjB,MAAK,MAAM,OAAO,IAAI,KAAK,KAAK;AAC5B,MAAI,QAAQ,QAAQ,KAAa;GAC7B,MAAMA,SAAO,MAAM,OAAO,OAAO;AACjC,UAAK,IAAI,QAAQ,EAAE;AACnB,aAAU,KAAK,OAAO;AACtB,UAAOA;;EAEX,MAAM,SAAS,QAAQ,MAAM,QAAgB;EAC7C,MAAM,QAAQ,QAAQ,MAAM;AAC5B,MAAI,UAAU,4BACV,OAAM,IAAI,MAAM,yBAAyB,MAAM,wBAAwB;AAE3E,MAAI,UAAU,gBACV,OAAM,IAAI,MAAM,4BAA4B;EAEhD,MAAM,QAAQ,6BAA6B,IAAI,GAAG;AAElD,QADe;AAEf,OAAK,IAAI,IAAI,GAAG,IAAI,MAAM,QAAQ,EAAE,EAChC,QAAO,KAAK,MAAM,GAAG;;AAG7B,OAAM,IAAI,MAAM,yBAAyB;;AAE7C,SAAS,WAAW,IAAI,IAAI;CACxB,MAAM,iBAAiB,YAAY,IAAI,GAAG;CAC1C,MAAM,SAAS;AACf,OAAM;CACN,MAAM,OAAO;CACb,MAAM,OAAO,MAAM,eAAe;AAClC,MAAK,IAAI,IAAI,GAAG,IAAI,gBAAgB,EAAE,GAAG;EACrC,MAAM,OAAO,OAAO,IAAI,GAAG;EAC3B,MAAM,aAAa;AACnB,OAAK,KAAK;AACV,QAAM;;AAEV,WAAU,UAAU,KAAK;AACzB,QAAO;;AAEX,SAAS,qBAAqB,IAAI,IAAI;AAClC,OAAM;CACN,MAAM,OAAO,EAAE;AACf,MAAK,MAAM,OAAO,IAAI,KAAK,KAAK;AAC5B,MAAI,QAAQ,QAAQ,KAAa;AAC7B,aAAU,KAAK,OAAO;AACtB,UAAO;;EAEX,MAAM,OAAO,OAAO,IAAI,GAAG;AAE3B,QADU;AAEV,OAAK,KAAK,KAAK;;AAEnB,OAAM,IAAI,MAAM,yBAAyB;;AAE7C,SAAS,UAAU,IAAI,IAAI;CACvB,MAAM,gBAAgB,YAAY,IAAI,GAAG;CACzC,MAAM,SAAS;AACf,OAAM;CACN,MAAM,OAAO;CACb,MAAM,MAAM,EAAE;AACd,MAAK,IAAI,IAAI,GAAG,IAAI,eAAe,EAAE,GAAG;AACpC,MAAI,MAAM,GACN,OAAM,IAAI,MAAM,iCAAiC;EAErD,MAAM,SAAS,QAAQ,MAAM,QAAgB;AAC7C,MAAI,UAAU,gBACV,OAAM,IAAI,MAAM,yBAAyB,MAAM,wBAAwB,GAAG,GAAG;EAEjF,MAAM,MAAM,OAAO,IAAI,GAAG;AAC1B,QAAM;EACN,MAAM,QAAQ,OAAO,IAAI,GAAG;AAC5B,QAAM;AACN,MAAI,OAAO;;AAEf,WAAU,UAAU,KAAK;AACzB,QAAO;;AAEX,SAAS,oBAAoB,IAAI,IAAI;AACjC,OAAM;CACN,MAAM,OAAO;CACb,MAAM,MAAM,EAAE;AACd,QAAO,KAAK,KAAK;AACb,MAAI,MAAM,GACN,OAAM,IAAI,MAAM,iCAAiC;AAErD,MAAI,QAAQ,QAAQ,KAAa;AAC7B,aAAU,KAAK,OAAO;AACtB,UAAO;;EAEX,MAAM,SAAS,QAAQ,MAAM,QAAgB;AAC7C,MAAI,UAAU,gBACV,OAAM,IAAI,MAAM,yBAAyB,MAAM,eAAe;EAElE,MAAM,MAAM,OAAO,IAAI,GAAG;AAC1B,QAAM;EACN,MAAM,QAAQ,OAAO,IAAI,GAAG;AAC5B,QAAM;AACN,MAAI,OAAO;;AAEf,OAAM,IAAI,MAAM,yBAAyB;;AAE7C,SAAS,cAAc,IAAI,IAAI;CAC3B,MAAM,QAAQ,QAAQ,MAAM;AAC5B,SAAQ,OAAR;EACI,KAAK;EACL,KAAK;AACD,aAAU;AACV,UAAO,UAAU;EACrB,KAAK;AACD,aAAU;AACV,UAAO;EACX,KAAK;AACD,aAAU;AACV,UAAO;EACX,KAAK;AACD,OAAI,KAAK,KAAK,EACV,OAAM,IAAI,MAAM,oCAAoC;AAExD,aAAU;AACV,UAAO,eAAe,QAAQ,KAAK,IAAI,QAAQ,KAAK,GAAG;EAC3D,KAAK;AACD,OAAI,KAAK,KAAK,EACV,OAAM,IAAI,MAAM,oCAAoC;AAExD,aAAU;AACV,UAAOF,WAAS,WAAW,KAAK,EAAE;EACtC,KAAK;AACD,OAAI,KAAK,KAAK,EACV,OAAM,IAAI,MAAM,oCAAoC;AAExD,aAAU;AACV,UAAOA,WAAS,WAAW,KAAK,EAAE;EACtC,QACI,OAAM,IAAI,MAAM,0BAA0B,MAAM,GAAG;;;AAG/D,SAAS,WAAW,QAAQ;AACxB,KAAI,OAAO,WAAW,SAClB,QAAO;CAEX,MAAM,MAAM,OAAO,OAAO;AAC1B,KAAI,OAAO,oBAAoB,OAAO,OAAO,OAAO,iBAChD,QAAO;AAEX,QAAO;;;;aAxa6B;;kBAEgQ;CAClS,mBAAmB,OAAO,gBAAgB;CAC1CC,eAAa,OAAO,WAAW;CACjC,UAAU,MAAM,EAAE;CAClBD,aAAW,IAAI,SAAS,QAAQ,QAAQ,QAAQ,YAAY,QAAQ,WAAW;CAC7E,cAAc,mBAAmB,IAAI,aAAa,GAAG;CACvD,UAAU;CA0JR,6BAA6B;GAC9B,kBAAkB;GAClB,kBAAkB;GAClB,kBAAkB;GAClB,kBAAkB;EACtB;;;;;AC/JD,SAAS,YAAY,OAAO;AAExB,KADkB,KAAK,aAAa,SACpB,MACZ,KAAI,SAAS,KACT,QAAO,KAAK,IAAI,KAAK,aAAa,GAAG,KAAK,aAAa,MAAM,CAAC;KAG9D,QAAO,KAAK,aAAa,QAAQ,KAAW;;AAIxD,SAAgB,eAAe;CAC3B,MAAM,MAAM,MAAM,OAAO;AACzB,KAAI,IAAI,KAAK,SAAS,GAAG,OAAO,EAAE,EAAE;AACpC,UAAS;AACT,QAAO;;AAEX,SAAgB,OAAO,MAAM;CACzB,MAAM,MAAM;AACZ,QAAO,MAAM,KAAK;AAClB,KAAI,IACA,KAAI,IAAI,KACJ,KAAI,KAAK,MAAM,GAAG,GAAG,IAAI,WAAW;KAGpC,MAAK,IAAI,KAAK,EAAE;AAGxB,YAAW,IAAI,SAAS,KAAK,QAAQ,KAAK,YAAY,KAAK,WAAW;;AAE1E,SAAS,aAAa,OAAO,OAAO;AAChC,KAAI,QAAQ,GACR,MAAK,YAAa,SAAS,IAAK;UAE3B,QAAQ,KAAQ;AACrB,OAAK,YAAa,SAAS,IAAK;AAChC,OAAK,YAAY;YAEZ,QAAQ,OAAS;AACtB,OAAK,YAAa,SAAS,IAAK;AAChC,WAAS,UAAU,QAAQ,MAAM;AACjC,YAAU;YAEL,QAAQ,KAAK,IAAI;AACtB,OAAK,YAAa,SAAS,IAAK;AAChC,WAAS,UAAU,QAAQ,MAAM;AACjC,YAAU;QAET;AACD,OAAK,YAAa,SAAS,IAAK;AAChC,WAAS,aAAa,QAAQ,OAAO,UAAU,WAAW,QAAQ,OAAO,MAAM,CAAC;AAChF,YAAU;;;AAGlB,SAAgB,OAAO,QAAQ;CAC3B,MAAM,cAAc,CAAC,OAAO;AAC5B,QAAO,YAAY,QAAQ;EACvB,MAAM,QAAQ,YAAY,KAAK;AAC/B,cAAY,OAAO,UAAU,WAAW,MAAM,SAAS,IAAI,GAAG;AAC9D,MAAI,OAAO,UAAU,UAAU;AAC3B,OAAI,YAAY;AACZ,iBAAa,iBAAiB,OAAO,WAAW,MAAM,CAAC;AACvD,cAAU,KAAK,MAAM,OAAO,OAAO;UAElC;IACD,MAAM,yCAAiB,MAAM;AAC7B,iBAAa,iBAAiB,MAAM,WAAW;AAC/C,SAAK,IAAI,OAAO,OAAO;AACvB,cAAU,MAAM;;AAEpB;aAEK,OAAO,UAAU,UAAU;AAChC,OAAI,OAAO,UAAU,MAAM,EAAE;IACzB,MAAM,cAAc,SAAS;IAC7B,MAAM,QAAQ,cAAc,cAAc;IAC1C,MAAM,QAAQ,cAAc,QAAQ,CAAC,QAAQ;AAC7C,QAAI,QAAQ,GACR,MAAK,YAAa,SAAS,IAAK;aAE3B,QAAQ,KAAK;AAClB,UAAK,YAAa,SAAS,IAAK;AAChC,UAAK,YAAY;eAEZ,QAAQ,OAAO;AACpB,UAAK,YAAa,SAAS,IAAK;AAChC,UAAK,YAAY,SAAS;AAC1B,UAAK,YAAY;eAEZ,QAAQ,YAAY;AACzB,UAAK,YAAa,SAAS,IAAK;AAChC,cAAS,UAAU,QAAQ,MAAM;AACjC,eAAU;WAET;AACD,UAAK,YAAa,SAAS,IAAK;AAChC,cAAS,aAAa,QAAQ,OAAO,MAAM,CAAC;AAC5C,eAAU;;AAEd;;AAEJ,QAAK,YAAa,gBAAgB,IAAK;AACvC,YAAS,WAAW,QAAQ,MAAM;AAClC,aAAU;AACV;aAEK,OAAO,UAAU,UAAU;GAChC,MAAM,cAAc,SAAS;GAC7B,MAAM,QAAQ,cAAc,cAAc;GAC1C,MAAM,QAAQ,cAAc,QAAQ,CAAC,QAAQ,OAAO,EAAE;GACtD,MAAM,IAAI,OAAO,MAAM;AACvB,OAAI,IAAI,GACJ,MAAK,YAAa,SAAS,IAAK;YAE3B,IAAI,KAAK;AACd,SAAK,YAAa,SAAS,IAAK;AAChC,SAAK,YAAY;cAEZ,IAAI,OAAO;AAChB,SAAK,YAAa,SAAS,IAAK;AAChC,SAAK,YAAY,KAAK;AACtB,SAAK,YAAY,IAAI;cAEhB,IAAI,YAAY;AACrB,SAAK,YAAa,SAAS,IAAK;AAChC,aAAS,UAAU,QAAQ,EAAE;AAC7B,cAAU;cAEL,QAAQ,OAAO,uBAAuB,EAAE;AAC7C,SAAK,YAAa,SAAS,IAAK;AAChC,aAAS,aAAa,QAAQ,MAAM;AACpC,cAAU;UAET;IACD,MAAM,eAAe,MAAM,SAAS,EAAE;IACtC,MAAM,cAAc,IAAI,WAAW,KAAK,KAAK,aAAa,SAAS,EAAE,CAAC;IACtE,IAAI,IAAI;IACR,IAAI,IAAI;AACR,WAAO,YAAY,aAAa,EAAE,KAAK,GAAG;AACtC,iBAAY,YAAY,aAAa,KAAK,OAAO,IAAI,OAAO,IAAI,CAAC;AACjE,WAAM,OAAO,EAAE;;AAEnB,gBAAY,YAAY,aAAa,EAAE;AACvC,SAAK,YAAY,cAAc,MAAc;AAC7C,QAAI,WACA,cAAa,6BAA6B,OAAO,WAAW,YAAY,CAAC;QAGzE,cAAa,6BAA6B,YAAY,WAAW;AAErE,SAAK,IAAI,aAAa,OAAO;AAC7B,cAAU,YAAY;;AAE1B;aAEK,UAAU,MAAM;AACrB,QAAK,YAAa,gBAAgB,IAAK;AACvC;aAEK,OAAO,UAAU,WAAW;AACjC,QAAK,YAAa,gBAAgB,KAAM,QAAQ,cAAc;AAC9D;aAEK,OAAO,UAAU,YACtB,OAAM,IAAI,MAAM,+DAA+D;WAE1E,MAAM,QAAQ,MAAM,EAAE;AAC3B,QAAK,IAAI,IAAI,MAAM,SAAS,GAAG,KAAK,GAAG,EAAE,EACrC,aAAY,KAAK,MAAM,GAAG;AAE9B,gBAAa,WAAW,MAAM,OAAO;AACrC;aAEK,OAAO,MAAM,eAAe,UAAU;AAC3C,eAAY,MAAM,SAAS,EAAE;AAC7B,gBAAa,6BAA6B,MAAM,OAAO;AACvD,QAAK,IAAI,OAAO,OAAO;AACvB,aAAU,MAAM;AAChB;aAEK,OAAO,UAAU,UAAU;AAChC,OAAI,iBAAiB,cAAc;IAC/B,MAAM,eAAe,MAAM,OAAO,QAAQ,IAAI;IAC9C,MAAM,WAAW,iBAAiB,KAAK,IAAI,eAAe,MAAM,OAAO,SAAS;IAChF,MAAM,WAAW,OAAO,MAAM,OAAO,QAAQ,KAAK,GAAG,CAAC;AACtD,SAAK,YAAY;AACjB,gBAAY,KAAK,SAAS;AAC1B,gBAAY,KAAK,SAAS;AAC1B,iBAAa,WAAW,EAAE;AAC1B;;AAEJ,OAAI,MAAM,WACN,KAAI,SAAS,SAAS,WAAW,OAAO;AACpC,gBAAY,KAAK,MAAM,MAAM;AAC7B,iBAAa,UAAU,MAAM,IAAI;AACjC;SAGA,OAAM,IAAI,MAAM,yEAAyE,KAAK,UAAU,MAAM,CAAC;GAGvH,MAAM,OAAO,OAAO,KAAK,MAAM;AAC/B,QAAK,IAAI,IAAI,KAAK,SAAS,GAAG,KAAK,GAAG,EAAE,GAAG;IACvC,MAAM,MAAM,KAAK;AACjB,gBAAY,KAAK,MAAM,KAAK;AAC5B,gBAAY,KAAK,IAAI;;AAEzB,gBAAa,UAAU,KAAK,OAAO;AACnC;;AAEJ,QAAM,IAAI,MAAM,aAAa,OAAO,aAAa,QAAQ,OAAO,MAAM,+BAA+B;;;;;aA1N3D;;kBAEsN;CAClQ,aAAa,OAAO,WAAW;CAEjC,OAAO,MADS,KACS;CACzB,WAAW,IAAI,SAAS,KAAK,QAAQ,KAAK,YAAY,KAAK,WAAW;CACtE,SAAS;;;;;;;mBCPsC;mBACU;CAChD,OAAO;EAChB,YAAY,WAAS;AACjB,cAAWG,UAAQ;AACnB,UAAO,OAAO,GAAGA,UAAQ,OAAO;;EAEpC,UAAU,OAAO;AACb,OAAI;AACA,WAAO,MAAM;AACb,WAAO,cAAc;YAElB,GAAG;AACN,kBAAc;AACd,UAAM;;;EAGd,qBAAqB,MAAM;AACvB,UAAO,KAAK;;EAEnB;;;;;;;kBChBkC;CAiBtB,aAAa,SAAS;AAC/B,SAAO,IAAI;GACP,KAAK;GACL,OAAO,KAAK,SAAS,GAAG;GAC3B,CAAC;;CAOO,gCAAgC,QAAQ,WAAS;EAC1D,MAAM,qBAAqB,aAAa;GACpC,IAAI,aAAa;AACjB,OAAI,OAAO,eAAe,SACtB,cAAa,WAAW,UAAU;AAEtC,OAAI,WAAW,QAAQ,IAAI,IAAI,EAC3B,cAAa,WAAW,MAAM,IAAI,CAAC;AAEvC,OAAI,WAAW,QAAQ,IAAI,IAAI,EAC3B,cAAa,WAAW,MAAM,IAAI,CAAC;AAEvC,OAAI,WAAW,QAAQ,IAAI,IAAI,EAC3B,cAAa,WAAW,MAAM,IAAI,CAAC;AAEvC,UAAO;;AAEX,MAAIC,OAAK,cAAc,OACnB,QAAO,kBAAkBA,OAAK,UAAU;EAE5C,MAAM,UAAU,OAAO,KAAKA,OAAK,CAAC,MAAM,QAAQ,IAAI,aAAa,KAAK,OAAO;AAC7E,MAAI,WAAWA,OAAK,aAAa,OAC7B,QAAO,kBAAkBA,OAAK,SAAS;;;;;;;;mBCtDO;cACC;aAC6B;;cAGtD;qBACc;CAC/B,YAAb,cAA+B,aAAa;EACxC,mBAAmB;GACf,MAAM,aAAa,IAAI,qBAAqB;AAC5C,cAAW,gBAAgB,KAAK,aAAa;AAC7C,UAAO;;EAEX,qBAAqB;GACjB,MAAM,eAAe,IAAI,uBAAuB;AAChD,gBAAa,gBAAgB,KAAK,aAAa;AAC/C,UAAO;;;CAGF,sBAAb,cAAyC,aAAa;EAClD;EACA,MAAM,QAAQ,OAAO;AACjB,QAAK,QAAQ,KAAK,UAAU,QAAQ,MAAM;;EAE9C,UAAU,QAAQ,QAAQ;GACtB,MAAM,KAAK,iBAAiB,GAAG,OAAO;AACtC,OAAI,UAAU,MAAM;AAChB,QAAI,GAAG,oBAAoB,CACvB,oCAAiC;AAErC,WAAO;;AAEX,OAAI,GAAG,cAAc,EAAE;AACnB,QAAI,OAAO,WAAW,SAClB,SAAQ,KAAK,cAAc,iBAAiBC,+BAAY,OAAO;AAEnE,WAAO;;AAEX,OAAI,GAAG,mBAAmB,EAAE;AACxB,QAAI,OAAO,WAAW,YAAY,OAAO,WAAW,SAChD,QAAO,0BAAU,IAAI,KAAM,OAAO,OAAO,GAAG,MAAQ,EAAE,CAAC;AAE3D,WAAO,UAAU,OAAO;;AAE5B,OAAI,OAAO,WAAW,cAAc,OAAO,WAAW,UAAU;IAC5D,MAAM,eAAe;AACrB,QAAI,GAAG,cAAc,IAAI,MAAM,QAAQ,aAAa,EAAE;KAClD,MAAM,SAAS,CAAC,CAAC,GAAG,iBAAiB,CAAC;KACtC,MAAM,WAAW,EAAE;KACnB,IAAI,IAAI;AACR,UAAK,MAAM,QAAQ,cAAc;MAC7B,MAAM,QAAQ,KAAK,UAAU,GAAG,gBAAgB,EAAE,KAAK;AACvD,UAAI,SAAS,QAAQ,OACjB,UAAS,OAAO;;AAGxB,YAAO;;AAEX,QAAI,wBAAwB,KACxB,QAAO,UAAU,aAAa;IAElC,MAAM,YAAY,EAAE;AACpB,QAAI,GAAG,aAAa,EAAE;KAClB,MAAM,SAAS,CAAC,CAAC,GAAG,iBAAiB,CAAC;AACtC,UAAK,MAAM,OAAO,OAAO,KAAK,aAAa,EAAE;MACzC,MAAM,QAAQ,KAAK,UAAU,GAAG,gBAAgB,EAAE,aAAa,KAAK;AACpE,UAAI,SAAS,QAAQ,OACjB,WAAU,OAAO;;eAIpB,GAAG,gBAAgB,EAAE;AAC1B,UAAK,MAAM,CAAC,KAAK,iBAAiB,GAAG,gBAAgB,EAAE;MACnD,MAAM,QAAQ,KAAK,UAAU,cAAc,aAAa,KAAK;AAC7D,UAAI,SAAS,KACT,WAAU,OAAO;;AAIzB,SADgB,GAAG,eAAe,IACnB,MAAM,QAAQ,aAAa,SAAS,EAAE;MACjD,MAAM,CAAC,GAAG,KAAK,aAAa;AAC5B,gBAAU,KAAK;gBAEV,OAAO,aAAa,WAAW,UACpC;WAAK,MAAM,CAAC,GAAG,MAAM,OAAO,QAAQ,aAAa,CAC7C,KAAI,EAAE,KAAK,WACP,WAAU,KAAK,KAAK,UAAU,IAAI,EAAE;;eAK3C,GAAG,kBAAkB,CAC1B,MAAK,MAAM,OAAO,OAAO,KAAK,aAAa,CACvC,WAAU,OAAO,KAAK,UAAU,GAAG,gBAAgB,EAAE,aAAa,KAAK;aAGtE,GAAG,oBAAoB,CAC5B,QAAO;AAEX,WAAO;;AAEX,UAAO;;EAEX,QAAQ;GACJ,MAAMC,WAAS,KAAK,UAAU,KAAK,MAAM;AACzC,QAAK,QAAQ;AACb,UAAOA;;;CAGF,wBAAb,cAA2C,aAAa;EACpD,KAAK,QAAQ,OAAO;GAChB,MAAMC,SAAO,KAAK,YAAY,MAAM;AACpC,UAAO,KAAK,UAAU,QAAQA,OAAK;;EAEvC,UAAU,SAAS,OAAO;GACtB,MAAM,KAAK,iBAAiB,GAAG,QAAQ;AACvC,OAAI,GAAG,mBAAmB,EAAE;AACxB,QAAI,OAAO,UAAU,SACjB,QAAO,qBAAqB,MAAM;AAEtC,QAAI,OAAO,UAAU,UACjB;SAAI,MAAM,QAAQ,KAAK,WAAW,MAC9B,QAAO,qBAAqB,MAAM,MAAM;;;AAIpD,OAAI,GAAG,cAAc,EAAE;AACnB,QAAI,OAAO,UAAU,SACjB,SAAQ,KAAK,cAAc,iBAAiBF,+BAAY,MAAM;AAElE,WAAO;;AAEX,OAAI,OAAO,UAAU,eACjB,OAAO,UAAU,aACjB,OAAO,UAAU,YACjB,OAAO,UAAU,YACjB,OAAO,UAAU,YACjB,OAAO,UAAU,SACjB,QAAO;YAEF,OAAO,UAAU,UAAU;AAChC,QAAI,UAAU,KACV,QAAO;AAEX,QAAI,gBAAgB,MAChB,QAAO;AAEX,QAAI,iBAAiB,KACjB,QAAO;AAEX,QAAI,GAAG,kBAAkB,CACrB,QAAO;AAEX,QAAI,GAAG,cAAc,EAAE;KACnB,MAAM,WAAW,EAAE;KACnB,MAAM,eAAe,GAAG,gBAAgB;AACxC,UAAK,MAAM,QAAQ,OAAO;MACtB,MAAM,YAAY,KAAK,UAAU,cAAc,KAAK;AACpD,eAAS,KAAK,UAAU;;AAE5B,YAAO;;IAEX,MAAM,YAAY,EAAE;AACpB,QAAI,GAAG,aAAa,EAAE;KAClB,MAAM,eAAe,GAAG,gBAAgB;AACxC,UAAK,MAAM,OAAO,OAAO,KAAK,MAAM,CAEhC,WAAU,OADQ,KAAK,UAAU,cAAc,MAAM,KAAK;eAIzD,GAAG,gBAAgB,EAAE;KAC1B,MAAM,UAAU,GAAG,eAAe;KAClC,IAAI;AACJ,SAAI,QACA,QAAO,IAAI,IAAI,OAAO,KAAK,MAAM,CAAC,QAAQ,MAAM,MAAM,SAAS,CAAC;AAEpE,UAAK,MAAM,CAAC,KAAK,iBAAiB,GAAG,gBAAgB,EAAE;AACnD,UAAI,QACA,MAAK,OAAO,IAAI;AAEpB,UAAI,MAAM,QAAQ,KACd,WAAU,OAAO,KAAK,UAAU,cAAc,MAAM,KAAK;;AAGjE,SAAI,WAAW,MAAM,SAAS,KAAK,OAAO,KAAK,UAAU,CAAC,WAAW,GAAG;MACpE,MAAM,IAAI,KAAK,QAAQ,CAAC,MAAM,CAAC;AAC/B,gBAAU,WAAW,CAAC,GAAG,MAAM,GAAG;gBAE7B,OAAO,MAAM,WAAW,UAC7B;WAAK,MAAM,CAAC,GAAG,MAAM,OAAO,QAAQ,MAAM,CACtC,KAAI,EAAE,KAAK,WACP,WAAU,KAAK;;eAKtB,iBAAiB,aACtB,QAAO;AAEX,WAAO;SAGP,QAAO;;;;;;;;;mBC1MkC;cACF;;iBAGX;qBACuB;CAClD,0BAAb,cAA6C,YAAY;EACrD,QAAQ,IAAI,WAAW;EACvB,aAAa,KAAK,MAAM,kBAAkB;EAC1C,eAAe,KAAK,MAAM,oBAAoB;EAC9C,YAAY,EAAE,kBAAkB,uBAAwB;AACpD,SAAM;IAAE;IAAkB;IAAqB,CAAC;;EAEpD,aAAa;AACT,UAAO;;EAEX,kBAAkB;AACd,UAAO,KAAK;;EAEhB,MAAM,iBAAiB,iBAAiB,OAAO,SAAS;GACpD,MAAM,UAAU,MAAM,MAAM,iBAAiB,iBAAiB,OAAO,QAAQ;AAC7E,UAAO,OAAO,QAAQ,SAAS;IAC3B,gBAAgB,KAAK,uBAAuB;IAC5C,mBAAmB;IACnB,QAAQ,KAAK,uBAAuB;IACvC,CAAC;AACF,OAAI,MAAM,gBAAgB,MAAM,KAAK,QAAQ;AACzC,WAAO,QAAQ;AACf,WAAO,QAAQ,QAAQ;UAEtB;AACD,QAAI,CAAC,QAAQ,MAAM;AACf,UAAK,WAAW,MAAM,IAAI,EAAE,CAAC;AAC7B,aAAQ,OAAO,KAAK,WAAW,OAAO;;AAE1C,QAAI;AACA,aAAQ,QAAQ,oBAAoB,OAAO,QAAQ,KAAK,WAAW;aAEhE,GAAG;;GAEd,MAAM,EAAE,SAAS,uDAA+B,QAAQ;GACxD,MAAM,OAAO,YAAY,QAAQ,aAAa;AAC9C,OAAI,QAAQ,KAAK,SAAS,IAAI,CAC1B,SAAQ,QAAQ,KAAK,MAAM,EAAE;OAG7B,SAAQ,QAAQ;AAEpB,UAAO;;EAEX,MAAM,oBAAoB,iBAAiB,SAAS,UAAU;AAC1D,UAAO,MAAM,oBAAoB,iBAAiB,SAAS,SAAS;;EAExE,MAAM,YAAY,iBAAiB,SAAS,UAAU,YAAY,UAAU;GACxE,MAAM,YAAY,6BAA6B,UAAU,WAAW,IAAI;GACxE,MAAM,gBAAgB;IAClB,WAAW;IACX,QAAQ,SAAS,cAAc,MAAM,WAAW;IACnD;GACD,IAAI,YAAY,KAAK,QAAQ;AAC7B,OAAI,UAAU,SAAS,IAAI,CACvB,EAAC,aAAa,UAAU,MAAM,IAAI;GAEtC,MAAM,WAAW,KAAK;GACtB,MAAM,aAAa,aAAa,IAAI,UAAU;AAC9C,YAAS,SAAS,WAAW;GAC7B,IAAI;AACJ,OAAI;AACA,kBAAc,SAAS,UAAU,UAAU;YAExC,GAAG;AACN,QAAI,WAAW,QACX,YAAW,UAAU,WAAW;IAEpC,MAAM,oBAAoB,aAAa,IAAI,6BAA6B,UAAU;AAClF,aAAS,SAAS,kBAAkB;IACpC,MAAM,sBAAsB,SAAS,kBAAkB;AACvD,QAAI,qBAAqB;KACrB,MAAMG,cAAY,SAAS,aAAa,oBAAoB;AAC5D,WAAM,OAAO,OAAO,IAAIA,YAAU,EAAE,MAAM,WAAW,CAAC,EAAE,eAAe,WAAW;;AAEtF,UAAM,OAAO,OAAO,IAAI,MAAM,UAAU,EAAE,eAAe,WAAW;;GAExE,MAAM,KAAK,iBAAiB,GAAG,YAAY;GAC3C,MAAM,YAAY,SAAS,aAAa,YAAY;GACpD,MAAM,UAAU,WAAW,WAAW,WAAW,WAAW;GAC5D,MAAM,YAAY,IAAI,UAAU,QAAQ;GACxC,MAAM,SAAS,EAAE;AACjB,QAAK,MAAM,CAAC,MAAM,WAAW,GAAG,gBAAgB,CAC5C,QAAO,QAAQ,KAAK,aAAa,UAAU,QAAQ,WAAW,MAAM;AAExE,SAAM,OAAO,OAAO,WAAW,eAAe;IAC1C,QAAQ,GAAG,iBAAiB,CAAC;IAC7B;IACH,EAAE,OAAO;;EAEd,wBAAwB;AACpB,UAAO;;;;;;;;;;;;;;;;;cEjGsD;;CAExD,cAAb,MAAyB;EACrB;EACA,YAAY,cAAc,OAAO;AAC7B,QAAK,cAAc;;EAEvB,uBAAuB,oBAAoB,aAAa;GACpD,MAAM,UAAU,YAAY,kBAAkB;GAC9C,MAAM,oBAAoB,OAAO,OAAO,QAAQ,CAAC,MAAM,MAAM;AACzD,WAAO,CAAC,CAAC,EAAE,iBAAiB,CAAC;KAC/B;AACF,OAAI,mBAAmB;IACnB,MAAM,YAAY,kBAAkB,iBAAiB,CAAC;AACtD,QAAI,UACA,QAAO;aAEF,kBAAkB,gBAAgB,CACvC,QAAO;aAEF,kBAAkB,cAAc,CACrC,QAAO;QAGP,QAAO;cAGN,CAAC,YAAY,cAAc,EAMhC;QALgB,OAAO,OAAO,QAAQ,CAAC,MAAM,MAAM;KAC/C,MAAM,EAAE,WAAW,iBAAiB,YAAY,WAAW,sBAAsB,EAAE,iBAAiB;AAEpG,YAAO,CAAC,aAAa,CAAC,mBAAmB,CAAC,cAAc,CAAC,aADjC,sBAAsB,KAAK;MAErD,CAEE,QAAO;;;EAInB,MAAM,mCAAmC,iBAAiB,kBAAkB,UAAU,YAAY,UAAU,gBAAgB;GACxH,IAAI,YAAY;GAChB,IAAI,YAAY;AAChB,OAAI,gBAAgB,SAAS,IAAI,CAC7B,EAAC,WAAW,aAAa,gBAAgB,MAAM,IAAI;GAEvD,MAAM,gBAAgB;IAClB,WAAW;IACX,QAAQ,SAAS,aAAa,MAAM,WAAW;IAClD;GACD,MAAM,WAAW,aAAa,IAAI,UAAU;AAC5C,OAAI;AAEA,WAAO;KAAE,aADW,iBAAiB,UAAU,UAAU,IAAI,SAAS,UAAU,gBAAgB;KAC1E;KAAe;YAElC,GAAG;AACN,eAAW,UAAU,WAAW,WAAW,WAAW,WAAW;IACjE,MAAM,YAAY,aAAa,IAAI,6BAA6B,UAAU;IAC1E,MAAM,sBAAsB,UAAU,kBAAkB;AACxD,QAAI,qBAAqB;KACrB,MAAM,YAAY,UAAU,aAAa,oBAAoB,IAAI;AACjE,WAAM,KAAK,yBAAyB,OAAO,OAAO,IAAI,UAAU,EAAE,MAAM,WAAW,CAAC,EAAE,cAAc,EAAE,WAAW;;AAErH,UAAM,KAAK,yBAAyB,OAAO,OAAO,IAAI,MAAM,UAAU,EAAE,cAAc,EAAE,WAAW;;;EAG3G,yBAAyB,WAAW,YAAY,EAAE,EAAE;AAChD,OAAI,KAAK,aAAa;IAClB,MAAM,MAAM,UAAU,WAAW,UAAU;IAC3C,MAAM,yDAAiC,WAAW,UAAU;AAC5D,QAAI,IACA,OAAM,UAAU;AAEpB,UAAM,QAAQ;KACV,GAAG,MAAM;KACT,MAAM,MAAM,OAAO;KACnB,MAAM,MAAM,OAAO;KACnB,SAAS,MAAM,OAAO,WAAW,MAAM,OAAO,WAAW;KAC5D;IACD,MAAM,QAAQ,MAAM,UAAU;AAC9B,QAAI,MACA,OAAM,YAAY;AAEtB,WAAO;;AAEX,2DAAgC,WAAW,UAAU;;EAEzD,oBAAoB,QAAQ,UAAU;GAClC,MAAM,mBAAmB,SAAS,UAAU;AAC5C,OAAI,WAAW,UAAa,oBAAoB,MAAM;IAClD,MAAM,CAAC,MAAM,QAAQ,iBAAiB,MAAM,IAAI;IAChD,MAAM,UAAU,OAAO,QAAQ,OAAO;IACtC,MAAMC,UAAQ;KACV;KACA;KACH;AACD,WAAO,OAAO,QAAQA,QAAM;AAC5B,SAAK,MAAM,CAAC,GAAG,MAAM,QACjB,SAAM,MAAM,YAAY,YAAY,KAAK;AAE7C,WAAOA,QAAM;AACb,WAAO,QAAQA;;;EAGvB,kBAAkB,sBAAsB,WAAW;AAC/C,OAAI,qBAAqB,MACrB,WAAU,QAAQ,qBAAqB;AAE3C,OAAI,qBAAqB,KACrB,WAAU,OAAO,qBAAqB;AAE1C,OAAI,qBAAqB,KACrB,WAAU,OAAO,qBAAqB;;EAG9C,yBAAyB,UAAU,WAAW;AAC1C,OAAI;AACA,WAAO,SAAS,UAAU,UAAU;YAEjC,GAAG;AACN,WAAO,SAAS,MAAM,WAAW,iBAAiB,GAAG,OAAO,CAAC,iBAAiB,CAAC,gBAAgB,OAAO,UAAU;;;;;;;;;;YCtHlC;cACrB;mBACxB;CAChC,6BAAb,cAAgD,wBAAwB;EACpE;EACA;EACA,YAAY,EAAE,kBAAkB,sBAAuB;AACnD,SAAM,EAAE,kBAAkB,CAAC;AAC3B,QAAK,qBAAqB,CAAC,CAAC;AAC5B,QAAK,QAAQ,IAAI,YAAY,KAAK,mBAAmB;;EAEzD,MAAM,iBAAiB,iBAAiB,OAAO,SAAS;GACpD,MAAM,UAAU,MAAM,MAAM,iBAAiB,iBAAiB,OAAO,QAAQ;AAC7E,OAAI,KAAK,mBACL,SAAQ,QAAQ,uBAAuB;AAE3C,UAAO;;EAEX,MAAM,YAAY,iBAAiB,SAAS,UAAU,YAAY,UAAU;AACxE,OAAI,KAAK,mBACL,MAAK,MAAM,oBAAoB,YAAY,SAAS;GAExD,MAAM,mBAAmB;IACrB,MAAM,eAAe,SAAS,QAAQ;AACtC,QAAI,gBAAgB,KAAK,mBACrB,QAAO,aAAa,MAAM,IAAI,CAAC;AAEnC,WAAO,6BAA6B,UAAU,WAAW,IAAI;OAC7D;GACJ,MAAM,EAAE,aAAa,kBAAkB,MAAM,KAAK,MAAM,mCAAmC,WAAW,KAAK,QAAQ,kBAAkB,UAAU,YAAY,UAAU,KAAK,qBAAqB,KAAK,MAAM,2BAA2B,OAAU;GAC/O,MAAM,KAAK,iBAAiB,GAAG,YAAY;GAC3C,MAAM,UAAU,WAAW,WAAW,WAAW,WAAW;GAE5D,MAAM,YAAY,MADA,aAAa,IAAI,YAAY,GAAG,CAAC,aAAa,YAAY,KAAI,OAChD,QAAQ;GACxC,MAAM,SAAS,EAAE;AACjB,QAAK,MAAM,CAAC,MAAM,WAAW,GAAG,gBAAgB,CAC5C,KAAI,WAAW,SAAS,KACpB,QAAO,QAAQ,KAAK,aAAa,UAAU,QAAQ,WAAW,MAAM;AAG5E,OAAI,KAAK,mBACL,MAAK,MAAM,kBAAkB,YAAY,OAAO;AAEpD,SAAM,KAAK,MAAM,yBAAyB,OAAO,OAAO,WAAW,eAAe;IAC9E,QAAQ,GAAG,iBAAiB,CAAC;IAC7B;IACH,EAAE,OAAO,EAAE,WAAW;;;;;;;;;CC9ClB,UAAU,QAAQ;AAC3B,MAAI,OAAO,KACP,QAAO;AAEX,MAAI,OAAO,QAAQ,YAAY,OAAO,QAAQ,UAAU;GACpD,MAAM,0BAAU,IAAI,MAAM,mBAAmB,IAAI,+BAA+B;AAChF,WAAQ,OAAO;AACf,WAAQ,KAAK,QAAQ;AACrB,UAAO,OAAO,IAAI;;AAEtB,MAAI,OAAO,QAAQ,WAAW;GAC1B,MAAM,0BAAU,IAAI,MAAM,oBAAoB,IAAI,+BAA+B;AACjF,WAAQ,OAAO;AACf,WAAQ,KAAK,QAAQ;AACrB,UAAO,OAAO,IAAI;;AAEtB,SAAO;;CAEE,WAAW,QAAQ;AAC5B,MAAI,OAAO,KACP,QAAO;AAEX,MAAI,OAAO,QAAQ,UAAU;AAE7B,MAAI,OAAO,QAAQ,UAAU;GACzB,MAAM,YAAY,IAAI,aAAa;AACnC,OAAI,QAAQ,MAAM,cAAc,WAAW,cAAc,QAAQ;IAC7D,MAAM,0BAAU,IAAI,MAAM,oBAAoB,IAAI,iCAAiC;AACnF,YAAQ,OAAO;AACf,YAAQ,KAAK,QAAQ;;AAEzB,UAAO,QAAQ,MAAM,cAAc;;AAEvC,SAAO;;CAEE,UAAU,QAAQ;AAC3B,MAAI,OAAO,KACP,QAAO;AAEX,MAAI,OAAO,QAAQ,WAAW;AAE9B,MAAI,OAAO,QAAQ,UAAU;GACzB,MAAM,MAAM,OAAO,IAAI;AACvB,OAAI,IAAI,UAAU,KAAK,KAAK;IACxB,MAAM,0BAAU,IAAI,MAAM,oBAAoB,IAAI,gCAAgC;AAClF,YAAQ,OAAO;AACf,YAAQ,KAAK,QAAQ;AACrB,WAAO;;AAEX,UAAO;;AAEX,SAAO;;;;;;;;CCnDE,qBAAb,MAAgC;EAC5B;EACA,gBAAgB,cAAc;AAC1B,QAAK,eAAe;;;;;;;;;CCHf,aAAb,MAAwB;EACpB;EACA;EACA;EACA,YAAY,MAAM,IAAI;AAClB,QAAK,OAAO;AACZ,QAAK,KAAK;AACV,QAAK,OAAO,IAAI,IAAI,OAAO,KAAK,KAAK,KAAK,CAAC,QAAQ,MAAM,MAAM,SAAS,CAAC;;EAE7E,KAAK,KAAK;AACN,QAAK,KAAK,OAAO,IAAI;;EAEzB,aAAa;AACT,UAAO,KAAK,KAAK,SAAS,KAAK,OAAO,KAAK,KAAK,GAAG,CAAC,WAAW;;EAEnE,eAAe;AACX,OAAI,KAAK,YAAY,EAAE;IACnB,MAAM,IAAI,KAAK,KAAK,QAAQ,CAAC,MAAM,CAAC;IACpC,MAAM,IAAI,KAAK,KAAK;AACpB,SAAK,GAAG,WAAW,CAAC,GAAG,EAAE;;;;;;;;AClBrC,SAAgB,YAAY,KAAK,OAAO,SAAS;AAC7C,KAAI,SAAS,QAAQ;EACjB,MAAM,gBAAgB,QAAQ;AAC9B,MAAI,OAAO,UAAU,UACjB;OAAI,QAAQ,OAAO,oBAAoB,QAAQ,OAAO,oBAAoB,kBAAkB,OAAO,MAAM,CAErG,KADqB,cAAc,SAAS,IAAI,CAE5C,QAAO,IAAI,aAAa,eAAe,aAAa;OAGpD,QAAO,OAAO,cAAc;;;AAK5C,QAAO;;;aAhBuC;;;;;;;;;CCErC,qBAAqB,YAAY,gDAAwB,YAAY,QAAQ,CAAC,MAAM,UAAU,SAAS,eAAeC,2BAAQ,KAAK,CAAC;;;;;;;cCFnG;CACjC,iBAAiB,YAAY,YAAY,kBAAkB,YAAY,QAAQ,CAAC,MAAM,YAAY;AAC3G,MAAI,QAAQ,OACR,KAAI;AACA,UAAO,KAAK,MAAM,QAAQ;WAEvB,GAAG;AACN,OAAI,GAAG,SAAS,cACZ,QAAO,eAAe,GAAG,qBAAqB,EAC1C,OAAO,SACV,CAAC;AAEN,SAAM;;AAGd,SAAO,EAAE;GACX;CACW,qBAAqB,OAAO,WAAW,YAAY;EAC5D,MAAM,QAAQ,MAAM,cAAc,WAAW,QAAQ;AACrD,QAAM,UAAU,MAAM,WAAW,MAAM;AACvC,SAAO;;CAEE,yBAAyB,QAAQ,WAAS;EACnD,MAAM,WAAW,QAAQ,QAAQ,OAAO,KAAK,OAAO,CAAC,MAAM,MAAM,EAAE,aAAa,KAAK,IAAI,aAAa,CAAC;EACvG,MAAM,qBAAqB,aAAa;GACpC,IAAI,aAAa;AACjB,OAAI,OAAO,eAAe,SACtB,cAAa,WAAW,UAAU;AAEtC,OAAI,WAAW,QAAQ,IAAI,IAAI,EAC3B,cAAa,WAAW,MAAM,IAAI,CAAC;AAEvC,OAAI,WAAW,QAAQ,IAAI,IAAI,EAC3B,cAAa,WAAW,MAAM,IAAI,CAAC;AAEvC,OAAI,WAAW,QAAQ,IAAI,IAAI,EAC3B,cAAa,WAAW,MAAM,IAAI,CAAC;AAEvC,UAAO;;EAEX,MAAM,YAAY,QAAQ,OAAO,SAAS,mBAAmB;AAC7D,MAAI,cAAc,OACd,QAAO,kBAAkB,OAAO,QAAQ,WAAW;AAEvD,MAAIC,UAAQ,OAAOA,WAAS,UAAU;GAClC,MAAM,UAAU,QAAQA,QAAM,OAAO;AACrC,OAAI,WAAWA,OAAK,aAAa,OAC7B,QAAO,kBAAkBA,OAAK,SAAS;AAE3C,OAAIA,OAAK,cAAc,OACnB,QAAO,kBAAkBA,OAAK,UAAU;;;;;;;;;mBClDc;cACX;aACuF;;gCAE7E;kBACtB;mBACC;qBACI;CACnC,wBAAb,cAA2C,mBAAmB;EAC1D;EACA,YAAY,UAAU;AAClB,UAAO;AACP,QAAK,WAAW;;EAEpB,MAAM,KAAK,QAAQ,QAAM;AACrB,UAAO,KAAK,MAAM,QAAQ,OAAOC,WAAS,WAAW,KAAK,MAAMA,QAAM,YAAY,GAAG,MAAM,cAAcA,QAAM,KAAK,aAAa,CAAC;;EAEtI,WAAW,QAAQ,QAAM;AACrB,UAAO,KAAK,MAAM,QAAQA,OAAK;;EAEnC,MAAM,QAAQ,OAAO;GACjB,MAAM,WAAW,UAAU,QAAQ,OAAO,UAAU;GACpD,MAAM,KAAK,iBAAiB,GAAG,OAAO;AACtC,OAAI,UAAU;AACV,QAAI,GAAG,gBAAgB,EAAE;KACrB,MAAM,SAAS;KACf,MAAM,QAAQ,GAAG,eAAe;KAChC,MAAM,MAAM,EAAE;KACd,IAAI,UAAU,KAAK;KACnB,MAAM,EAAE,aAAa,KAAK;AAC1B,SAAI,SACA,WAAU,EAAE;KAEhB,IAAI;AACJ,SAAI,MACA,cAAa,IAAI,WAAW,QAAQ,IAAI;AAE5C,UAAK,MAAM,CAAC,YAAY,iBAAiB,GAAG,gBAAgB,EAAE;MAC1D,IAAI,UAAU;AACd,UAAI,UAAU;AACV,iBAAU,aAAa,iBAAiB,CAAC,YAAY;AACrD,eAAQ,WAAW;;AAEvB,UAAI,MACA,YAAW,KAAK,QAAQ;AAE5B,UAAI,OAAO,YAAY,KACnB,KAAI,cAAc,KAAK,MAAM,cAAc,OAAO,SAAS;;AAGnE,SAAI,MACA,YAAW,cAAc;cAEpB,OAAO,OAAO,WAAW,SAC9B,MAAK,MAAM,CAAC,GAAG,MAAM,OAAO,QAAQ,OAAO,EAAE;MACzC,MAAM,IAAI,WAAW,QAAQ,MAAM,IAAI;AACvC,UAAI,EAAE,KAAK,KACP,KAAI,KAAK;;AAIrB,YAAO;;AAEX,QAAI,MAAM,QAAQ,MAAM,IAAI,GAAG,cAAc,EAAE;KAC3C,MAAM,aAAa,GAAG,gBAAgB;KACtC,MAAM,MAAM,EAAE;AACd,UAAK,MAAM,QAAQ,MACf,KAAI,KAAK,KAAK,MAAM,YAAY,KAAK,CAAC;AAE1C,YAAO;;AAEX,QAAI,GAAG,aAAa,EAAE;KAClB,MAAM,YAAY,GAAG,gBAAgB;KACrC,MAAM,MAAM,EAAE;AACd,UAAK,MAAM,CAAC,IAAI,OAAO,OAAO,QAAQ,MAAM,CACxC,KAAI,MAAM,KAAK,MAAM,WAAW,GAAG;AAEvC,YAAO;;;AAGf,OAAI,GAAG,cAAc,IAAI,OAAO,UAAU,SACtC,2CAAkB,MAAM;GAE5B,MAAM,YAAY,GAAG,iBAAiB,CAAC;AACvC,OAAI,GAAG,gBAAgB,IAAI,OAAO,UAAU,YAAY,WAAW;AAE/D,QADe,cAAc,sBAAsB,UAAU,SAAS,QAAQ,CAE1E,QAAO,eAAe,KAAK,MAAM;AAErC,WAAO;;AAEX,OAAI,GAAG,mBAAmB,IAAI,SAAS,KAEnC,SADe,yBAAyB,IAAI,KAAK,SAAS,EAC1D;IACI,KAAK,EACD,QAAO,+BAA+B,MAAM;IAChD,KAAK,EACD,QAAO,qBAAqB,MAAM;IACtC,KAAK,EACD,QAAO,oBAAoB,MAAM;IACrC;AACI,aAAQ,KAAK,kEAAkE,MAAM;AACrF,YAAO,IAAI,KAAK,MAAM;;AAGlC,OAAI,GAAG,oBAAoB,KAAK,OAAO,UAAU,YAAY,OAAO,UAAU,UAC1E,QAAO,OAAO,MAAM;AAExB,OAAI,GAAG,oBAAoB,IAAI,SAAS,QAAW;AAC/C,QAAI,iBAAiB,aACjB,QAAO;IAEX,MAAM,UAAU;AAChB,QAAI,QAAQ,SAAS,gBAAgB,YAAY,QAC7C,QAAO,IAAI,aAAa,QAAQ,QAAQ,QAAQ,KAAK;AAEzD,WAAO,IAAI,aAAa,OAAO,MAAM,EAAE,aAAa;;AAExD,OAAI,GAAG,iBAAiB,IAAI,OAAO,UAAU,UAAU;AACnD,YAAQ,OAAR;KACI,KAAK,WACD,QAAO;KACX,KAAK,YACD,QAAO;KACX,KAAK,MACD,QAAO;;AAEf,WAAO;;AAEX,OAAI,GAAG,kBAAkB,CACrB,KAAI,UAAU;IACV,MAAM,MAAM,MAAM,QAAQ,MAAM,GAAG,EAAE,GAAG,EAAE;AAC1C,SAAK,MAAM,CAAC,GAAG,MAAM,OAAO,QAAQ,MAAM,CACtC,KAAI,aAAa,aACb,KAAI,KAAK;QAGT,KAAI,KAAK,KAAK,MAAM,IAAI,EAAE;AAGlC,WAAO;SAGP,QAAO,gBAAgB,MAAM;AAGrC,UAAO;;;;;;;;;aClJmC;CAC5C,uBAAuB,OAAO,aAAa,IAAI;CACxC,eAAb,MAA0B;EACtB,yBAAS,IAAI,KAAK;EAClB,UAAU;EACV,QAAQ;EACR,iBAAiB;AACb,OAAI,KAAK,UAAU,EACf,OAAM,IAAI,MAAM,0DAA0D;AAE9E,OAAI,KAAK,UAAU,EACf,OAAM,IAAI,MAAM,oDAAoD;AAExE,QAAK,QAAQ;AACb,WAAQ,KAAK,UAAU;AACnB,QAAI,iBAAiB,cAAc;KAC/B,MAAM,IAAI,GAAG,uBAAuB,OAAO,KAAK,UAAU,KAAK,MAAM;AACrE,UAAK,OAAO,IAAI,IAAI,EAAE,IAAI,MAAM,OAAO;AACvC,YAAO;;AAEX,QAAI,OAAO,UAAU,UAAU;KAC3B,MAAM,IAAI,MAAM,UAAU;KAC1B,MAAM,IAAI,GAAG,uBAAuB,MAAM,KAAK,UAAU,KAAK;AAC9D,UAAK,OAAO,IAAI,IAAI,EAAE,IAAI,EAAE;AAC5B,YAAO;;AAEX,WAAO;;;EAGf,cAAc,MAAM;AAChB,OAAI,KAAK,UAAU,EACf,OAAM,IAAI,MAAM,0DAA0D;AAE9E,OAAI,KAAK,UAAU,EACf,OAAM,IAAI,MAAM,oDAAoD;AAExE,QAAK,QAAQ;AACb,OAAI,KAAK,YAAY,EACjB,QAAO;AAEX,QAAK,MAAM,CAAC,KAAK,UAAU,KAAK,OAC5B,QAAO,KAAK,QAAQ,KAAK,MAAM;AAEnC,UAAO;;;;;;;;;mBC3CmD;cACX;aACsD;;gCAE5C;oBACnB;CACjC,sBAAb,cAAyC,mBAAmB;EACxD;EACA;EACA,cAAc;EACd;EACA,YAAY,UAAU;AAClB,UAAO;AACP,QAAK,WAAW;;EAEpB,MAAM,QAAQ,OAAO;AACjB,QAAK,aAAa,iBAAiB,GAAG,OAAO;AAC7C,QAAK,SAAS,KAAK,OAAO,KAAK,YAAY,MAAM;;EAErD,2BAA2B,QAAQ,OAAO;AACtC,QAAK,MAAM,QAAQ,MAAM;AACzB,OAAI,OAAO,KAAK,WAAW,SACvB,MAAK,OAAO,SAAS,iBAAiB,GAAG,OAAO,CAAC,QAAQ,KAAK;;EAGtE,QAAQ;GACJ,MAAM,EAAE,YAAY,gBAAgB;AACpC,QAAK,aAAa;AAClB,QAAK,cAAc;AACnB,OAAI,YAAY,gBAAgB,IAAI,YAAY,kBAAkB,EAAE;AAChE,QAAI,CAAC,YACD,QAAO,KAAK,UAAU,KAAK,OAAO;IAEtC,MAAM,WAAW,IAAI,cAAc;AACnC,WAAO,SAAS,cAAc,KAAK,UAAU,KAAK,QAAQ,SAAS,gBAAgB,EAAE,EAAE,CAAC;;AAE5F,UAAO,KAAK;;EAEhB,OAAO,QAAQ,OAAO,WAAW;GAC7B,MAAM,WAAW,UAAU,QAAQ,OAAO,UAAU;GACpD,MAAM,KAAK,iBAAiB,GAAG,OAAO;AACtC,OAAI,UAAU;AACV,QAAI,GAAG,gBAAgB,EAAE;KACrB,MAAM,SAAS;KACf,MAAM,MAAM,EAAE;KACd,MAAM,EAAE,aAAa,KAAK;KAC1B,IAAI,UAAU,KAAK;AACnB,SAAI,SACA,WAAU,EAAE;AAEhB,UAAK,MAAM,CAAC,YAAY,iBAAiB,GAAG,gBAAgB,EAAE;MAC1D,MAAM,oBAAoB,KAAK,OAAO,cAAc,OAAO,aAAa,GAAG;AAC3E,UAAI,sBAAsB,QAAW;OACjC,IAAI,YAAY;AAChB,WAAI,UAAU;AACV,oBAAY,aAAa,iBAAiB,CAAC,YAAY;AACvD,gBAAQ,cAAc;;AAE1B,WAAI,aAAa;;;AAGzB,SAAI,GAAG,eAAe,IAAI,OAAO,KAAK,IAAI,CAAC,WAAW,GAAG;MACrD,MAAM,EAAE,aAAa;AACrB,UAAI,MAAM,QAAQ,SAAS,EAAE;OACzB,MAAM,CAAC,GAAG,KAAK;AACf,WAAI,KAAK,KAAK,OAAO,IAAI,EAAE;;gBAG1B,OAAO,OAAO,WAAW,SAC9B,MAAK,MAAM,CAAC,GAAG,MAAM,OAAO,QAAQ,OAAO,EAAE;MACzC,MAAM,YAAY,WAAW,QAAQ,MAAM,IAAI;AAC/C,UAAI,EAAE,aAAa,KACf,KAAI,aAAa,KAAK,OAAO,IAAI,EAAE;;AAI/C,YAAO;;AAEX,QAAI,MAAM,QAAQ,MAAM,IAAI,GAAG,cAAc,EAAE;KAC3C,MAAM,aAAa,GAAG,gBAAgB;KACtC,MAAM,MAAM,EAAE;KACd,MAAM,SAAS,CAAC,CAAC,GAAG,iBAAiB,CAAC;AACtC,UAAK,MAAM,QAAQ,MACf,KAAI,UAAU,QAAQ,KAClB,KAAI,KAAK,KAAK,OAAO,YAAY,KAAK,CAAC;AAG/C,YAAO;;AAEX,QAAI,GAAG,aAAa,EAAE;KAClB,MAAM,YAAY,GAAG,gBAAgB;KACrC,MAAM,MAAM,EAAE;KACd,MAAM,SAAS,CAAC,CAAC,GAAG,iBAAiB,CAAC;AACtC,UAAK,MAAM,CAAC,IAAI,OAAO,OAAO,QAAQ,MAAM,CACxC,KAAI,UAAU,MAAM,KAChB,KAAI,MAAM,KAAK,OAAO,WAAW,GAAG;AAG5C,YAAO;;AAEX,QAAI,iBAAiB,eAAe,GAAG,cAAc,IAAI,GAAG,kBAAkB,GAAG;AAC7E,SAAI,OAAO,KAAK,WACZ,QAAO;AAEX,aAAQ,KAAK,cAAc,iBAAiBC,6BAAU,MAAM;;AAEhE,QAAI,iBAAiB,SAAS,GAAG,mBAAmB,IAAI,GAAG,kBAAkB,EAEzE,SADe,yBAAyB,IAAI,KAAK,SAAS,EAC1D;KACI,KAAK,EACD,QAAO,MAAM,aAAa,CAAC,QAAQ,SAAS,IAAI;KACpD,KAAK,EACD,QAAOC,kBAAgB,MAAM;KACjC,KAAK,EACD,QAAO,MAAM,SAAS,GAAG;KAC7B;AACI,cAAQ,KAAK,iDAAiD,MAAM;AACpE,aAAO,MAAM,SAAS,GAAG;;AAGrC,QAAI,iBAAiB,aACjB,MAAK,cAAc;;AAG3B,OAAI,UAAU,QAAQ,WAAW,gBAAgB,CAC7C;AAEJ,OAAI,GAAG,gBAAgB,EAAE;AACrB,QAAI,OAAO,UAAU,eAAe,GAAG,oBAAoB,CACvD,oCAAiC;IAErC,MAAM,YAAY,GAAG,iBAAiB,CAAC;AACvC,QAAI,SAAS,QAAQ,WAEjB;SADe,cAAc,sBAAsB,UAAU,SAAS,QAAQ,CAE1E,QAAO,eAAe,KAAK,MAAM;;AAGzC,WAAO;;AAEX,OAAI,OAAO,UAAU,YAAY,GAAG,iBAAiB,EAAE;AACnD,QAAI,KAAK,IAAI,MAAM,KAAK,YAAY,MAAM,MAAM,CAC5C,QAAO,OAAO,MAAM;AAExB,WAAO;;AAEX,OAAI,OAAO,UAAU,YAAY,GAAG,cAAc,EAAE;AAChD,QAAI,OAAO,KAAK,WACZ,QAAO;AAEX,YAAQ,KAAK,cAAc,iBAAiBD,6BAAU,MAAM;;AAEhE,OAAI,OAAO,UAAU,SACjB,MAAK,cAAc;AAEvB,OAAI,GAAG,kBAAkB,CACrB,KAAI,UAAU;IACV,MAAM,MAAM,MAAM,QAAQ,MAAM,GAAG,EAAE,GAAG,EAAE;AAC1C,SAAK,MAAM,CAAC,GAAG,MAAM,OAAO,QAAQ,MAAM,CACtC,KAAI,aAAa,cAAc;AAC3B,UAAK,cAAc;AACnB,SAAI,KAAK;UAGT,KAAI,KAAK,KAAK,OAAO,IAAI,EAAE;AAGnC,WAAO;SAGP,QAAO,gBAAgB,MAAM;AAGrC,UAAO;;;;;;;;;gCC7KkD;6BACD;2BACJ;CAC/C,YAAb,cAA+B,mBAAmB;EAC9C;EACA,YAAY,UAAU;AAClB,UAAO;AACP,QAAK,WAAW;;EAEpB,mBAAmB;GACf,MAAM,aAAa,IAAI,oBAAoB,KAAK,SAAS;AACzD,cAAW,gBAAgB,KAAK,aAAa;AAC7C,UAAO;;EAEX,qBAAqB;GACjB,MAAM,eAAe,IAAI,sBAAsB,KAAK,SAAS;AAC7D,gBAAa,gBAAgB,KAAK,aAAa;AAC/C,UAAO;;;;;;;;;mBCjBsC;cACuB;mBAC/B;iBACL;qBACgB;CAC3C,qBAAb,cAAwC,YAAY;EAChD;EACA;EACA;EACA;EACA;EACA;EACA,YAAY,EAAE,kBAAkB,eAAe,oBAAoB,aAAc;AAC7E,SAAM,EACF,kBACH,CAAC;AACF,QAAK,gBAAgB;AACrB,QAAK,QACD,aACI,IAAI,UAAU;IACV,iBAAiB;KACb,UAAU;KACV,SAAS;KACZ;IACD,UAAU;IACb,CAAC;AACV,QAAK,aAAa,KAAK,MAAM,kBAAkB;AAC/C,QAAK,eAAe,KAAK,MAAM,oBAAoB;AACnD,QAAK,qBAAqB,CAAC,CAAC;AAC5B,QAAK,QAAQ,IAAI,YAAY,KAAK,mBAAmB;;EAEzD,MAAM,iBAAiB,iBAAiB,OAAO,SAAS;GACpD,MAAM,UAAU,MAAM,MAAM,iBAAiB,iBAAiB,OAAO,QAAQ;AAC7E,OAAI,CAAC,QAAQ,KAAK,SAAS,IAAI,CAC3B,SAAQ,QAAQ;AAEpB,UAAO,OAAO,QAAQ,SAAS;IAC3B,gBAAgB,0BAA0B,KAAK,mBAAmB;IAClE,gBAAgB,GAAG,KAAK,cAAc,GAAG,gBAAgB;IAC5D,CAAC;AACF,OAAI,KAAK,mBACL,SAAQ,QAAQ,uBAAuB;AAE3C,OAAI,MAAM,gBAAgB,MAAM,KAAK,UAAU,CAAC,QAAQ,KACpD,SAAQ,OAAO;AAEnB,UAAO;;EAEX,kBAAkB;AACd,UAAO,KAAK;;EAEhB,MAAM,YAAY,iBAAiB,SAAS,UAAU,YAAY,UAAU;AACxE,OAAI,KAAK,mBACL,MAAK,MAAM,oBAAoB,YAAY,SAAS;GAExD,MAAM,kBAAkB,sBAAsB,UAAU,WAAW,IAAI;GACvE,MAAM,EAAE,aAAa,kBAAkB,MAAM,KAAK,MAAM,mCAAmC,iBAAiB,KAAK,QAAQ,kBAAkB,UAAU,YAAY,UAAU,KAAK,qBAAqB,KAAK,MAAM,2BAA2B,OAAU;GACrP,MAAM,KAAK,iBAAiB,GAAG,YAAY;GAC3C,MAAM,UAAU,WAAW,WAAW,WAAW,WAAW;GAE5D,MAAM,YAAY,MADA,aAAa,IAAI,YAAY,GAAG,CAAC,aAAa,YAAY,KAAI,OAChD,QAAQ;GACxC,MAAM,SAAS,EAAE;AACjB,QAAK,MAAM,CAAC,MAAM,WAAW,GAAG,gBAAgB,CAC5C,KAAI,WAAW,SAAS,KACpB,QAAO,QAAQ,KAAK,MAAM,oBAAoB,CAAC,WAAW,QAAQ,WAAW,MAAM;AAG3F,OAAI,KAAK,mBACL,MAAK,MAAM,kBAAkB,YAAY,OAAO;AAEpD,SAAM,KAAK,MAAM,yBAAyB,OAAO,OAAO,WAAW,eAAe;IAC9E,QAAQ,GAAG,iBAAiB,CAAC;IAC7B;IACH,EAAE,OAAO,EAAE,WAAW;;;;;;;;;0BCzE2B;CAC7C,qBAAb,cAAwC,mBAAmB;EACvD,YAAY,EAAE,kBAAkB,eAAe,oBAAoB,aAAc;AAC7E,SAAM;IACF;IACA;IACA;IACA;IACH,CAAC;;EAEN,aAAa;AACT,UAAO;;EAEX,oBAAoB;AAChB,UAAO;;EAEX,wBAAwB;AACpB,UAAO;;;;;;;;;0BCjB2C;CAC7C,qBAAb,cAAwC,mBAAmB;EACvD,YAAY,EAAE,kBAAkB,eAAe,oBAAoB,aAAc;AAC7E,SAAM;IACF;IACA;IACA;IACA;IACH,CAAC;;EAEN,aAAa;AACT,UAAO;;EAEX,oBAAoB;AAChB,UAAO;;EAEX,wBAAwB;AACpB,UAAO;;;;;;;;;mBCjBmH;cAC7D;mBACxB;iBACL;qBACgB;CAC3C,sBAAb,cAAyC,oBAAoB;EACzD;EACA;EACA;EACA,QAAQ,IAAI,aAAa;EACzB,YAAY,EAAE,oBAAoB;AAC9B,SAAM,EACF,kBACH,CAAC;GACF,MAAM,WAAW;IACb,iBAAiB;KACb,UAAU;KACV,SAAS;KACZ;IACD,cAAc;IACd,UAAU;IACb;AACD,QAAK,QAAQ,IAAI,UAAU,SAAS;AACpC,QAAK,aAAa,IAAI,gCAAgC,KAAK,MAAM,kBAAkB,EAAE,SAAS;AAC9F,QAAK,eAAe,IAAI,kCAAkC,KAAK,MAAM,oBAAoB,EAAE,SAAS;;EAExG,aAAa;AACT,UAAO;;EAEX,kBAAkB;AACd,UAAO,KAAK;;EAEhB,gBAAgB,cAAc;AAC1B,QAAK,MAAM,gBAAgB,aAAa;AACxC,SAAM,gBAAgB,aAAa;;EAEvC,MAAM,iBAAiB,iBAAiB,OAAO,SAAS;GACpD,MAAM,UAAU,MAAM,MAAM,iBAAiB,iBAAiB,OAAO,QAAQ;GAC7E,MAAM,cAAc,iBAAiB,GAAG,gBAAgB,MAAM;AAC9D,OAAI,CAAC,QAAQ,QAAQ,iBAAiB;IAClC,MAAM,cAAc,KAAK,MAAM,uBAAuB,KAAK,uBAAuB,EAAE,YAAY;AAChG,QAAI,YACA,SAAQ,QAAQ,kBAAkB;;AAG1C,OAAI,QAAQ,QAAQ,QAAQ,QAAQ,QAAQ,oBAAoB,KAAK,uBAAuB,CACxF,SAAQ,OAAO;AAEnB,UAAO;;EAEX,MAAM,oBAAoB,iBAAiB,SAAS,UAAU;GAC1D,MAAM,SAAS,MAAM,MAAM,oBAAoB,iBAAiB,SAAS,SAAS;GAClF,MAAM,eAAe,iBAAiB,GAAG,gBAAgB,OAAO;AAChE,QAAK,MAAM,CAAC,MAAM,WAAW,aAAa,gBAAgB,CACtD,KAAI,OAAO,iBAAiB,CAAC,eAAe,EAAE,QAAQ,QAClD,QAAO,QAAQ;AAGvB,UAAO;;EAEX,MAAM,YAAY,iBAAiB,SAAS,UAAU,YAAY,UAAU;GACxE,MAAM,kBAAkB,sBAAsB,UAAU,WAAW,IAAI;GACvE,MAAM,EAAE,aAAa,kBAAkB,MAAM,KAAK,MAAM,mCAAmC,iBAAiB,KAAK,QAAQ,kBAAkB,UAAU,YAAY,SAAS;GAC1K,MAAM,KAAK,iBAAiB,GAAG,YAAY;GAC3C,MAAM,UAAU,WAAW,WAAW,WAAW,WAAW;GAE5D,MAAM,YAAY,MADA,aAAa,IAAI,YAAY,GAAG,CAAC,aAAa,YAAY,KAAI,OAChD,QAAQ;AACxC,SAAM,KAAK,uBAAuB,aAAa,SAAS,UAAU,WAAW;GAC7E,MAAM,SAAS,EAAE;AACjB,QAAK,MAAM,CAAC,MAAM,WAAW,GAAG,gBAAgB,EAAE;IAC9C,MAAM,SAAS,OAAO,iBAAiB,CAAC,YAAY;AACpD,WAAO,QAAQ,KAAK,MAAM,oBAAoB,CAAC,WAAW,QAAQ,WAAW,QAAQ;;AAEzF,SAAM,KAAK,MAAM,yBAAyB,OAAO,OAAO,WAAW,eAAe;IAC9E,QAAQ,GAAG,iBAAiB,CAAC;IAC7B;IACH,EAAE,OAAO,EAAE,WAAW;;EAE3B,wBAAwB;AACpB,UAAO;;;;;;;;;;CC9EF,kBAAkB,UAAU;AACrC,MAAI,SAAS,KACT;AAEJ,MAAI,OAAO,UAAU,YAAY,YAAY,MACzC,QAAO,MAAM;AAEjB,6CAAmB,MAAM;;;;;;;ACR7B,QAAK;AAAC;EAAa,IAAI,IAAE;GAAC,IAAG,KAAE,MAAI;AAAC,SAAI,IAAIE,OAAK,EAAE,GAAE,EAAE,GAAEA,IAAE,IAAE,CAAC,EAAE,EAAEC,KAAED,IAAE,IAAE,OAAO,eAAeC,KAAED,KAAE;KAAC,YAAW,CAAC;KAAE,KAAI,EAAEA;KAAG,CAAC;;GAAE,IAAG,KAAE,QAAI,OAAO,UAAU,eAAe,KAAKE,KAAED,IAAE;GAAC,IAAE,QAAG;AAAC,mBAAa,OAAO,UAAQ,OAAO,eAAa,OAAO,eAAeC,KAAE,OAAO,aAAY,EAAC,OAAM,UAAS,CAAC,EAAC,OAAO,eAAeA,KAAE,cAAa,EAAC,OAAM,CAAC,GAAE,CAAC;;GAAE,EAAC,IAAE,EAAE;AAAC,IAAE,EAAE,EAAE,EAAC,EAAE,EAAE,GAAE;GAAC,kBAAe;GAAG,iBAAc;GAAG,oBAAiB;GAAG,CAAC;EAAC,MAAwL,oBAAE,IAAI,OAAO,gZAAgE;EAAC,SAAS,EAAE,KAAE,KAAE;GAAC,MAAM,IAAE,EAAE;GAAC,IAAIF,MAAEC,IAAE,KAAKC,IAAE;AAAC,UAAKF,MAAG;IAAC,MAAMG,MAAE,EAAE;AAAC,QAAE,aAAWF,IAAE,YAAUD,IAAE,GAAG;IAAO,MAAMI,MAAEJ,IAAE;AAAO,SAAI,IAAIE,MAAE,GAAEA,MAAEE,KAAE,MAAI,KAAE,KAAKJ,IAAEE,KAAG;AAAC,MAAE,KAAKC,IAAE,EAAC,MAAEF,IAAE,KAAKC,IAAE;;AAAC,UAAO;;EAAE,MAAM,IAAE,SAAS,KAAE;AAAC,UAAM,EAAE,QAAM,EAAE,KAAKA,IAAE;KAAG,IAAE;GAAC;GAAiB;GAAW;GAAU;GAAmB;GAAmB;GAAmB;GAAmB,EAAC,IAAE;GAAC;GAAY;GAAc;GAAY,EAAC,IAAE;GAAC,wBAAuB,CAAC;GAAE,cAAa,EAAE;GAAC;EAAC,SAAS,EAAE,KAAE,KAAE;AAAC,SAAE,OAAO,OAAO,EAAE,EAAC,GAAED,IAAE;GAAC,MAAM,IAAE,EAAE;GAAC,IAAID,MAAE,CAAC,GAAEG,MAAE,CAAC;AAAE,WAAWD,IAAE,OAAK,MAAEA,IAAE,OAAO,EAAE;AAAE,QAAI,IAAIE,MAAE,GAAEA,MAAEF,IAAE,QAAO,MAAI,KAAG,QAAMA,IAAEE,QAAI,QAAMF,IAAEE,MAAE,IAAI;QAAG,OAAG,GAAE,MAAE,EAAEF,KAAEE,IAAE,EAACA,IAAE,IAAI,QAAOA;UAAM;AAAC,QAAG,QAAMF,IAAEE,MAAG;AAAC,SAAG,EAAEF,IAAEE,KAAG,CAAC;AAAS,YAAO,EAAE,eAAc,WAASF,IAAEE,OAAG,sBAAqB,EAAEF,KAAEE,IAAE,CAAC;;IAAC;KAAC,IAAIC,MAAED;AAAE,SAAG,OAAI,QAAMF,IAAEE,MAAG;AAAC,YAAE,EAAEF,KAAEE,IAAE;AAAC;;KAAS;MAAC,IAAIE,MAAE,CAAC;AAAE,cAAMJ,IAAEE,SAAK,MAAE,CAAC,GAAE;MAAK,IAAIG,MAAE;AAAG,aAAKH,MAAEF,IAAE,UAAQ,QAAMA,IAAEE,QAAI,QAAMF,IAAEE,QAAI,QAAOF,IAAEE,QAAI,SAAOF,IAAEE,QAAI,SAAOF,IAAEE,MAAG,MAAI,QAAGF,IAAEE;AAAG,UAAG,MAAEG,IAAE,MAAM,EAAC,QAAMA,IAAEA,IAAE,SAAO,OAAK,MAAEA,IAAE,UAAU,GAAEA,IAAE,SAAO,EAAE,EAAC,QAAK,CAAC,EAAEA,IAAE,EAAC;OAAC,IAAIN;AAAE,cAAO,MAAE,MAAIM,IAAE,MAAM,CAAC,SAAO,6BAA2B,UAAQA,MAAE,yBAAwB,EAAE,cAAaN,KAAE,EAAEC,KAAEE,IAAE,CAAC;;MAAC,MAAMI,MAAE,EAAEN,KAAEE,IAAE;AAAC,UAAG,CAAC,MAAII,IAAE,QAAO,EAAE,eAAc,qBAAmBD,MAAE,sBAAqB,EAAEL,KAAEE,IAAE,CAAC;MAAC,IAAIK,MAAED,IAAE;AAAM,UAAG,MAAEA,IAAE,OAAM,QAAMC,IAAEA,IAAE,SAAO,IAAG;OAAC,MAAMC,MAAEN,MAAEK,IAAE;AAAO,aAAEA,IAAE,UAAU,GAAEA,IAAE,SAAO,EAAE;OAAC,MAAMN,MAAE,EAAEM,KAAER,IAAE;AAAC,WAAG,CAAC,MAAIE,IAAE,QAAO,EAAEA,IAAE,IAAI,MAAKA,IAAE,IAAI,KAAI,EAAED,KAAEQ,MAAEP,IAAE,IAAI,KAAK,CAAC;AAAC,aAAE,CAAC;iBAAUG,KAAE;AAAC,WAAG,CAACE,IAAE,UAAU,QAAO,EAAE,cAAa,kBAAgBD,MAAE,kCAAiC,EAAEL,KAAEE,IAAE,CAAC;AAAC,WAAGK,IAAE,MAAM,CAAC,SAAO,EAAE,QAAO,EAAE,cAAa,kBAAgBF,MAAE,gDAA+C,EAAEL,KAAEG,IAAE,CAAC;AAAC,WAAG,MAAI,EAAE,OAAO,QAAO,EAAE,cAAa,kBAAgBE,MAAE,0BAAyB,EAAEL,KAAEG,IAAE,CAAC;OAAC;QAAC,MAAMJ,MAAE,EAAE,KAAK;AAAC,YAAGM,QAAIN,IAAE,SAAQ;SAAC,IAAIS,MAAE,EAAER,KAAED,IAAE,YAAY;AAAC,gBAAO,EAAE,cAAa,2BAAyBA,IAAE,UAAQ,uBAAqBS,IAAE,OAAK,WAASA,IAAE,MAAI,+BAA6BH,MAAE,MAAK,EAAEL,KAAEG,IAAE,CAAC;;AAAC,aAAG,EAAE,WAAS,MAAE,CAAC;;aAAQ;OAAC,MAAMC,MAAE,EAAEG,KAAER,IAAE;AAAC,WAAG,CAAC,MAAIK,IAAE,QAAO,EAAEA,IAAE,IAAI,MAAKA,IAAE,IAAI,KAAI,EAAEJ,KAAEE,MAAEK,IAAE,SAAOH,IAAE,IAAI,KAAK,CAAC;AAAC,WAAG,CAAC,MAAIH,IAAE,QAAO,EAAE,cAAa,uCAAsC,EAAED,KAAEE,IAAE,CAAC;AAAC,cAAKH,IAAE,aAAa,QAAQM,IAAE,IAAE,EAAE,KAAK;QAAC,SAAQA;QAAE,aAAYF;QAAE,CAAC,EAAC,MAAE,CAAC;;AAAE,WAAI,OAAID,MAAEF,IAAE,QAAO,MAAI,KAAG,QAAMA,IAAEE,MAAG;AAAC,WAAG,QAAMF,IAAEE,MAAE,IAAG;AAAC,eAAI,MAAE,EAAEF,KAAEE,IAAE;AAAC;;AAAS,WAAG,QAAMF,IAAEE,MAAE,GAAG;AAAM,WAAG,MAAE,EAAEF,KAAE,EAAEE,IAAE,EAACA,IAAE,IAAI,QAAOA;iBAAU,QAAMF,IAAEE,MAAG;OAAC,MAAMH,MAAE,EAAEC,KAAEE,IAAE;AAAC,WAAG,MAAIH,IAAE,QAAO,EAAE,eAAc,6BAA4B,EAAEC,KAAEE,IAAE,CAAC;AAAC,aAAEH;iBAAU,CAAC,MAAIE,OAAG,CAAC,EAAED,IAAEE,KAAG,CAAC,QAAO,EAAE,cAAa,yBAAwB,EAAEF,KAAEE,IAAE,CAAC;AAAC,cAAMF,IAAEE,QAAI;;;;AAAM,UAAOJ,MAAE,KAAG,EAAE,SAAO,EAAE,cAAa,mBAAiB,EAAE,GAAG,UAAQ,MAAK,EAAEE,KAAE,EAAE,GAAG,YAAY,CAAC,GAAC,EAAE,EAAE,SAAO,MAAI,EAAE,cAAa,cAAY,KAAK,UAAU,EAAE,KAAI,QAAGA,IAAE,QAAQ,EAAC,MAAK,EAAE,CAAC,QAAQ,UAAS,GAAG,GAAC,YAAW;IAAC,MAAK;IAAE,KAAI;IAAE,CAAC,GAAC,EAAE,cAAa,uBAAsB,EAAE;;EAAC,SAAS,EAAE,KAAE;AAAC,UAAM,QAAMA,OAAG,QAAOA,OAAG,SAAOA,OAAG,SAAOA;;EAAE,SAAS,EAAE,KAAE,KAAE;GAAC,MAAM,IAAED;AAAE,UAAKA,MAAEC,IAAE,QAAO,MAAI,KAAG,OAAKA,IAAED,QAAI,OAAKC,IAAED,MAAG;IAAC,MAAMD,MAAEE,IAAE,OAAO,GAAED,MAAE,EAAE;AAAC,QAAGA,MAAE,KAAG,UAAQD,IAAE,QAAO,EAAE,cAAa,8DAA6D,EAAEE,KAAED,IAAE,CAAC;AAAC,QAAG,OAAKC,IAAED,QAAI,OAAKC,IAAED,MAAE,IAAG;AAAC;AAAI;;AAAM;;AAAS,UAAOA;;EAAE,SAAS,EAAE,KAAE,KAAE;AAAC,OAAGC,IAAE,SAAOD,MAAE,KAAG,QAAMC,IAAED,MAAE,MAAI,QAAMC,IAAED,MAAE,IAAI;SAAI,OAAG,GAAEA,MAAEC,IAAE,QAAO,MAAI,KAAG,QAAMA,IAAED,QAAI,QAAMC,IAAED,MAAE,MAAI,QAAMC,IAAED,MAAE,IAAG;AAAC,YAAG;AAAE;;cAAeC,IAAE,SAAOD,MAAE,KAAG,QAAMC,IAAED,MAAE,MAAI,QAAMC,IAAED,MAAE,MAAI,QAAMC,IAAED,MAAE,MAAI,QAAMC,IAAED,MAAE,MAAI,QAAMC,IAAED,MAAE,MAAI,QAAMC,IAAED,MAAE,MAAI,QAAMC,IAAED,MAAE,IAAG;IAAC,IAAI,IAAE;AAAE,SAAI,OAAG,GAAEA,MAAEC,IAAE,QAAO,MAAI,KAAG,QAAMA,IAAED,KAAG;aAAY,QAAMC,IAAED,SAAK,KAAI,MAAI,GAAG;cAAcC,IAAE,SAAOD,MAAE,KAAG,QAAMC,IAAED,MAAE,MAAI,QAAMC,IAAED,MAAE,MAAI,QAAMC,IAAED,MAAE,MAAI,QAAMC,IAAED,MAAE,MAAI,QAAMC,IAAED,MAAE,MAAI,QAAMC,IAAED,MAAE,MAAI,QAAMC,IAAED,MAAE,IAAG;SAAI,OAAG,GAAEA,MAAEC,IAAE,QAAO,MAAI,KAAG,QAAMA,IAAED,QAAI,QAAMC,IAAED,MAAE,MAAI,QAAMC,IAAED,MAAE,IAAG;AAAC,YAAG;AAAE;;;AAAM,UAAOA;;EAAE,MAAM,IAAE,MAAI,IAAE;EAAI,SAAS,EAAE,KAAE,KAAE;GAAC,IAAI,IAAE,IAAGD,MAAE,IAAGG,MAAE,CAAC;AAAE,UAAKF,MAAEC,IAAE,QAAO,OAAI;AAAC,QAAGA,IAAED,SAAK,KAAGC,IAAED,SAAK,EAAE,QAAKD,MAAE,MAAEE,IAAED,OAAGD,QAAIE,IAAED,SAAK,MAAE;aAAY,QAAMC,IAAED,QAAI,OAAKD,KAAE;AAAC,WAAE,CAAC;AAAE;;AAAM,SAAGE,IAAED;;AAAG,UAAM,OAAKD,OAAG;IAAC,OAAM;IAAE,OAAMC;IAAE,WAAUE;IAAE;;EAAC,MAAM,IAAE,IAAI,OAAO,2DAA0D,IAAI;EAAC,SAAS,EAAE,KAAE,KAAE;GAAC,MAAM,IAAE,EAAED,KAAE,EAAE,EAACF,MAAE,EAAE;AAAC,QAAI,IAAIE,MAAE,GAAEA,MAAE,EAAE,QAAO,OAAI;AAAC,QAAG,MAAI,EAAEA,KAAG,GAAG,OAAO,QAAO,EAAE,eAAc,gBAAc,EAAEA,KAAG,KAAG,+BAA8B,EAAE,EAAEA,KAAG,CAAC;AAAC,QAAG,KAAK,MAAI,EAAEA,KAAG,MAAI,KAAK,MAAI,EAAEA,KAAG,GAAG,QAAO,EAAE,eAAc,gBAAc,EAAEA,KAAG,KAAG,uBAAsB,EAAE,EAAEA,KAAG,CAAC;AAAC,QAAG,KAAK,MAAI,EAAEA,KAAG,MAAI,CAACD,IAAE,uBAAuB,QAAO,EAAE,eAAc,wBAAsB,EAAEC,KAAG,KAAG,qBAAoB,EAAE,EAAEA,KAAG,CAAC;IAAC,MAAMC,MAAE,EAAED,KAAG;AAAG,QAAG,CAAC,EAAEC,IAAE,CAAC,QAAO,EAAE,eAAc,gBAAcA,MAAE,yBAAwB,EAAE,EAAED,KAAG,CAAC;AAAC,QAAG,OAAO,UAAU,eAAe,KAAKF,KAAEG,IAAE,CAAC,QAAO,EAAE,eAAc,gBAAcA,MAAE,kBAAiB,EAAE,EAAED,KAAG,CAAC;AAAC,QAAEC,OAAG;;AAAE,UAAM,CAAC;;EAAE,SAAS,EAAE,KAAE,KAAE;AAAC,OAAG,QAAMD,IAAE,EAAED,KAAG,QAAM;AAAG,OAAG,QAAMC,IAAED,KAAG,QAAO,SAAS,KAAE,KAAE;IAAC,IAAIS,MAAE;AAAK,SAAI,QAAMR,IAAED,SAAK,OAAI,MAAE,eAAcA,MAAEC,IAAE,QAAO,OAAI;AAAC,SAAG,QAAMA,IAAED,KAAG,QAAOA;AAAE,SAAG,CAACC,IAAED,KAAG,MAAMS,IAAE,CAAC;;AAAM,WAAM;KAAIR,KAAE,EAAED,IAAE;GAAC,IAAI,IAAE;AAAE,UAAKA,MAAEC,IAAE,QAAO,OAAI,IAAI,KAAG,EAAEA,IAAED,KAAG,MAAM,KAAK,IAAE,IAAE,KAAI;AAAC,QAAG,QAAMC,IAAED,KAAG;AAAM,WAAM;;AAAG,UAAOA;;EAAE,SAAS,EAAE,KAAE,KAAE,GAAE;AAAC,UAAM,EAAC,KAAI;IAAC,MAAKC;IAAE,KAAID;IAAE,MAAK,EAAE,QAAM;IAAE,KAAI,EAAE;IAAI,EAAC;;EAAC,SAAS,EAAE,KAAE;AAAC,UAAO,EAAEC,IAAE;;EAAC,SAAS,EAAE,KAAE;AAAC,UAAO,EAAEA,IAAE;;EAAC,SAAS,EAAE,KAAE,KAAE;GAAC,MAAM,IAAEA,IAAE,UAAU,GAAED,IAAE,CAAC,MAAM,QAAQ;AAAC,UAAM;IAAC,MAAK,EAAE;IAAO,KAAI,EAAE,EAAE,SAAO,GAAG,SAAO;IAAE;;EAAC,SAAS,EAAE,KAAE;AAAC,UAAOC,IAAE,aAAWA,IAAE,GAAG;;EAAO,MAAM,KAAE,QAAG,EAAE,SAASA,IAAE,GAAC,OAAKA,MAAEA,KAAE,IAAE;GAAC,eAAc,CAAC;GAAE,qBAAoB;GAAK,qBAAoB,CAAC;GAAE,cAAa;GAAQ,kBAAiB,CAAC;GAAE,gBAAe,CAAC;GAAE,wBAAuB,CAAC;GAAE,eAAc,CAAC;GAAE,qBAAoB,CAAC;GAAE,YAAW,CAAC;GAAE,eAAc,CAAC;GAAE,oBAAmB;IAAC,KAAI,CAAC;IAAE,cAAa,CAAC;IAAE,WAAU,CAAC;IAAE,SAAQ,CAAC;IAAE;GAAC,mBAAkB,SAAS,KAAE,KAAE;AAAC,WAAOD;;GAAG,yBAAwB,SAAS,KAAE,KAAE;AAAC,WAAOA;;GAAG,WAAU,EAAE;GAAC,sBAAqB,CAAC;GAAE,eAAY,CAAC;GAAE,iBAAgB,CAAC;GAAE,cAAa,EAAE;GAAC,iBAAgB,CAAC;GAAE,cAAa,CAAC;GAAE,eAAc;GAAK,mBAAkB,CAAC;GAAE,cAAa,CAAC;GAAE,kBAAiB,CAAC;GAAE,wBAAuB,CAAC;GAAE,WAAU,SAAS,KAAE,KAAE,GAAE;AAAC,WAAOC;;GAAG,iBAAgB,CAAC;GAAE,eAAc;GAAI,qBAAoB,CAAC;GAAE,OAAM,CAAC;GAAE,qBAAoB;GAAE;EAAC,SAAS,EAAE,KAAE,KAAE;AAAC,OAAG,YAAU,OAAOA,IAAE;GAAO,MAAM,IAAEA,IAAE,aAAa;AAAC,OAAG,EAAE,MAAK,QAAG,MAAIA,IAAE,aAAa,CAAC,CAAC,OAAM,IAAI,MAAM,sBAAsBD,IAAE,KAAKC,IAAE,yEAAyE;AAAC,OAAG,EAAE,MAAK,QAAG,MAAIA,IAAE,aAAa,CAAC,CAAC,OAAM,IAAI,MAAM,sBAAsBD,IAAE,KAAKC,IAAE,yEAAyE;;EAAC,SAAS,EAAE,KAAE,KAAE;AAAC,UAAM,aAAW,OAAOA,MAAE;IAAC,SAAQA;IAAE,eAAc;IAAI,mBAAkB;IAAI,oBAAmB;IAAI,mBAAkB;IAAI,gBAAe;IAAI,aAAY;IAAK,WAAU;IAAK,WAAU;IAAM,GAAC,YAAU,OAAOA,OAAG,SAAOA,MAAE;IAAC,SAAQ,CAAC,MAAIA,IAAE;IAAQ,eAAc,KAAK,IAAI,GAAEA,IAAE,iBAAe,IAAI;IAAC,mBAAkB,KAAK,IAAI,GAAEA,IAAE,qBAAmB,IAAI;IAAC,oBAAmB,KAAK,IAAI,GAAEA,IAAE,sBAAoB,SAAI;IAAC,mBAAkB,KAAK,IAAI,GAAEA,IAAE,qBAAmB,IAAI;IAAC,gBAAe,KAAK,IAAI,GAAEA,IAAE,kBAAgB,IAAI;IAAC,aAAYA,IAAE,eAAa;IAAK,WAAUA,IAAE,aAAW;IAAK,WAAUA,IAAE,aAAW;IAAM,GAAC,EAAE,CAAC,EAAE;;EAAC,MAAM,IAAE,SAAS,KAAE;GAAC,MAAMD,MAAE,OAAO,OAAO,EAAE,EAAC,GAAEC,IAAE,EAAC,IAAE;IAAC;KAAC,OAAMD,IAAE;KAAoB,MAAK;KAAsB;IAAC;KAAC,OAAMA,IAAE;KAAoB,MAAK;KAAsB;IAAC;KAAC,OAAMA,IAAE;KAAa,MAAK;KAAe;IAAC;KAAC,OAAMA,IAAE;KAAc,MAAK;KAAgB;IAAC;KAAC,OAAMA,IAAE;KAAgB,MAAK;KAAkB;IAAC;AAAC,QAAI,MAAK,EAAC,OAAMC,KAAE,MAAKD,SAAK,EAAE,QAAG,EAAEC,KAAED,IAAE;AAAC,UAAO,SAAOA,IAAE,wBAAsB,IAAE,sBAAoB,IAAG,IAAE,kBAAgB,EAAEA,IAAE,iBAAgBA,IAAE,aAAa,EAAC,IAAE,kBAAgB,IAAI,IAAIA,IAAE,aAAa,EAACA,IAAE,aAAW,MAAM,QAAQA,IAAE,UAAU,KAAG,IAAE,YAAUA,IAAE,UAAU,KAAI,QAAG,YAAU,OAAOC,OAAGA,IAAE,WAAW,KAAK,GAAC,OAAKA,IAAE,UAAU,EAAE,GAACA,IAAE,GAAED;;EAAG,IAAI;AAAE,MAAE,cAAY,OAAO,SAAO,kBAAgB,OAAO,oBAAoB;EAAC,MAAM,EAAC;GAAC,YAAY,KAAE;AAAC,SAAK,UAAQC,KAAE,KAAK,QAAM,EAAE,EAAC,KAAK,QAAM,OAAO,OAAO,KAAK;;GAAC,IAAI,KAAE,KAAE;AAAC,oBAAcA,QAAI,MAAE,eAAc,KAAK,MAAM,KAAK,GAAEA,MAAGD,KAAE,CAAC;;GAAC,SAAS,KAAE,KAAE;AAAC,oBAAcC,IAAE,YAAU,IAAE,UAAQ,eAAcA,IAAE,SAAO,OAAO,KAAKA,IAAE,MAAM,CAAC,SAAO,IAAE,KAAK,MAAM,KAAK;MAAEA,IAAE,UAASA,IAAE;KAAM,MAAKA,IAAE;KAAM,CAAC,GAAC,KAAK,MAAM,KAAK,GAAEA,IAAE,UAASA,IAAE,OAAM,CAAC,EAAC,KAAK,MAAID,QAAI,KAAK,MAAM,KAAK,MAAM,SAAO,GAAG,KAAG,EAAC,YAAWA,KAAE;;GAAE,OAAO,oBAAmB;AAAC,WAAO;;;EAAG,MAAM,IAAE,gDAA+C,IAAE,+CAA8C,IAAE,IAAE,qBAAoB,KAAG,KAAE,KAAE,IAAE,OAAK;GAAC,MAAMD,MAAE,IAAIE,IAAE,QAAQ,KAAI,GAAG,CAAC,IAAID,IAAE,QAAQ,KAAI,GAAG,CAAC;AAAI,UAAM;IAAC,MAAK,IAAI,OAAO,KAAKC,IAAE,IAAID,IAAE,MAAK,EAAE;IAAC,QAAO,IAAI,OAAO,IAAID,IAAE,IAAG,EAAE;IAAC,OAAM,IAAI,OAAO,IAAIA,IAAE,MAAMA,IAAE,MAAK,EAAE;IAAC,SAAQ,IAAI,OAAO,KAAKC,IAAE,MAAK,EAAE;IAAC,UAAS,IAAI,OAAO,KAAKA,IAAE,YAAYA,IAAE,QAAO,EAAE;IAAC;KAAE,IAAE,EAAE,GAAE,IAAE,mBAAmB,EAAC,IAAE,EAAE,GAAE,GAAE,IAAI,EAAC,IAAE,YAAW,IAAE,EAAE,GAAE,IAAE,YAAY,EAAC,KAAG,KAAE,EAAC,YAAWA,MAAE,OAAM,WAAU,IAAE,CAAC,MAAG,EAAE,OAAK,MAAE,OAAM,MAAE,CAAC,MAAIA,MAAE,IAAE,UAAQC,MAAE,IAAE,GAAGD,KAAE,EAAE,CAAC,MAAM,KAAKC,IAAE;EAAC,MAAM,EAAC;GAAC,YAAY,KAAE,KAAE;AAAC,SAAK,wBAAsB,CAACA,KAAE,KAAK,UAAQA,KAAE,KAAK,aAAWD,OAAG;;GAAE,cAAc,MAAE,GAAE;AAAC,SAAK,aAAWC;;GAAE,YAAY,KAAE,KAAE;IAAC,MAAM,IAAE,OAAO,OAAO,KAAK;IAAC,IAAIF,MAAE;AAAE,QAAG,QAAME,IAAED,MAAE,MAAI,QAAMC,IAAED,MAAE,MAAI,QAAMC,IAAED,MAAE,MAAI,QAAMC,IAAED,MAAE,MAAI,QAAMC,IAAED,MAAE,MAAI,QAAMC,IAAED,MAAE,GAAG,OAAM,IAAI,MAAM,iCAAiC;IAAC;AAAC,YAAG;KAAE,IAAIE,MAAE,GAAEC,MAAE,CAAC,GAAEC,MAAE,CAAC,GAAEC,MAAE;AAAG,YAAKL,MAAEC,IAAE,QAAO,MAAI,KAAG,QAAMA,IAAED,QAAII,IAAE,KAAG,QAAMH,IAAED,MAAI;UAAGI,MAAE,QAAMH,IAAED,MAAE,MAAI,QAAMC,IAAED,MAAE,OAAK,MAAE,CAAC,GAAE,SAAK,OAAI,MAAIE,IAAE;WAAU,SAAMD,IAAED,OAAG,MAAE,CAAC,IAAE,OAAGC,IAAED;UAAO;AAAC,UAAGG,OAAG,EAAEF,KAAE,WAAUD,IAAE,EAAC;OAAC,IAAIE,KAAEC;AAAE,WAAG,OAAG,GAAE,CAACD,KAAEC,KAAEH,OAAG,KAAK,cAAcC,KAAED,MAAE,GAAE,KAAK,sBAAsB,EAAC,OAAKG,IAAE,QAAQ,IAAI,EAAC;AAAC,YAAG,CAAC,MAAI,KAAK,QAAQ,WAAS,QAAM,KAAK,QAAQ,kBAAgBJ,OAAG,KAAK,QAAQ,eAAe,OAAM,IAAI,MAAM,iBAAiBA,MAAE,EAAE,6BAA6B,KAAK,QAAQ,eAAe,GAAG;AAAC,UAAEG,OAAGC,KAAE;;iBAAaA,OAAG,EAAEF,KAAE,YAAWD,IAAE,EAAC;AAAC,cAAG;OAAE,MAAK,EAAC,OAAMS,QAAG,KAAK,eAAeR,KAAED,MAAE,EAAE;AAAC,aAAES;iBAAUN,OAAG,EAAEF,KAAE,YAAWD,IAAE,CAAC,QAAG;eAAUG,OAAG,EAAEF,KAAE,aAAYD,IAAE,EAAC;AAAC,cAAG;OAAE,MAAK,EAAC,OAAMS,QAAG,KAAK,gBAAgBR,KAAED,MAAE,GAAE,KAAK,sBAAsB;AAAC,aAAES;aAAM;AAAC,WAAG,CAAC,EAAER,KAAE,OAAMD,IAAE,CAAC,OAAM,IAAI,MAAM,kBAAkB;AAAC,aAAE,CAAC;;AAAE,aAAI,MAAE;;AAAG,SAAG,MAAIE,IAAE,OAAM,IAAI,MAAM,mBAAmB;;AAAC,WAAM;KAAC,UAAS;KAAE,GAAEF;KAAE;;GAAC,cAAc,KAAE,KAAE;IAAC,MAAM,IAAE,MAAE,EAAEC,KAAED,IAAE;AAAC,WAAKA,MAAEC,IAAE,UAAQ,CAAC,KAAK,KAAKA,IAAED,KAAG,IAAE,SAAMC,IAAED,QAAI,QAAMC,IAAED,MAAI;IAAI,IAAID,MAAEE,IAAE,UAAU,GAAED,IAAE;AAAC,QAAG,EAAED,KAAE,EAAC,YAAW,KAAK,YAAW,CAAC,EAAC,MAAE,EAAEE,KAAED,IAAE,EAAC,CAAC,KAAK,uBAAsB;AAAC,SAAG,aAAWC,IAAE,UAAUD,KAAEA,MAAE,EAAE,CAAC,aAAa,CAAC,OAAM,IAAI,MAAM,sCAAsC;AAAC,SAAG,QAAMC,IAAED,KAAG,OAAM,IAAI,MAAM,uCAAuC;;IAAC,IAAIE,MAAE;AAAG,QAAG,CAACF,KAAEE,OAAG,KAAK,kBAAkBD,KAAED,KAAE,SAAS,EAAC,CAAC,MAAI,KAAK,QAAQ,WAAS,QAAM,KAAK,QAAQ,iBAAeE,IAAE,SAAO,KAAK,QAAQ,cAAc,OAAM,IAAI,MAAM,WAAWH,IAAE,UAAUG,IAAE,OAAO,kCAAkC,KAAK,QAAQ,cAAc,GAAG;AAAC,WAAM;KAACH;KAAEG;KAAE,EAAEF;KAAE;;GAAC,gBAAgB,KAAE,KAAE;IAAC,MAAM,IAAE,MAAE,EAAEC,KAAED,IAAE;AAAC,WAAKA,MAAEC,IAAE,UAAQ,CAAC,KAAK,KAAKA,IAAED,KAAG,EAAE;IAAI,IAAID,MAAEE,IAAE,UAAU,GAAED,IAAE;AAAC,KAAC,KAAK,yBAAuB,EAAED,KAAE,EAAC,YAAW,KAAK,YAAW,CAAC,EAAC,MAAE,EAAEE,KAAED,IAAE;IAAC,MAAME,MAAED,IAAE,UAAUD,KAAEA,MAAE,EAAE,CAAC,aAAa;AAAC,QAAG,CAAC,KAAK,yBAAuB,aAAWE,OAAG,aAAWA,IAAE,OAAM,IAAI,MAAM,qCAAqCA,IAAE,GAAG;AAAC,WAAGA,IAAE,QAAO,MAAE,EAAED,KAAED,IAAE;IAAC,IAAIG,MAAE,MAAKC,MAAE;AAAK,QAAG,aAAWF,IAAE,EAACF,KAAEG,OAAG,KAAK,kBAAkBF,KAAED,KAAE,mBAAmB,EAAC,SAAMC,IAAE,MAAE,EAAEA,KAAED,IAAE,KAAG,QAAMC,IAAED,SAAK,CAACA,KAAEI,OAAG,KAAK,kBAAkBH,KAAED,KAAE,mBAAmB;aAAU,aAAWE,QAAI,CAACF,KAAEI,OAAG,KAAK,kBAAkBH,KAAED,KAAE,mBAAmB,EAAC,CAAC,KAAK,yBAAuB,CAACI,KAAG,OAAM,IAAI,MAAM,0DAA0D;AAAC,WAAM;KAAC,cAAaL;KAAE,kBAAiBI;KAAE,kBAAiBC;KAAE,OAAM,EAAEJ;KAAE;;GAAC,kBAAkB,KAAE,KAAE,GAAE;IAAC,IAAID,MAAE;IAAG,MAAMG,MAAED,IAAED;AAAG,QAAG,SAAME,OAAG,QAAMA,IAAE,OAAM,IAAI,MAAM,kCAAkCA,IAAE,GAAG;IAAC,MAAMC,MAAE,EAAEH;AAAE,WAAKA,MAAEC,IAAE,UAAQA,IAAED,SAAKE,KAAG;AAAI,QAAG,MAAED,IAAE,UAAUE,KAAEH,IAAE,EAACC,IAAED,SAAKE,IAAE,OAAM,IAAI,MAAM,gBAAgB,EAAE,QAAQ;AAAC,WAAM,CAAC,EAAEF,KAAED,IAAE;;GAAC,eAAe,KAAE,KAAE;IAAC,MAAM,IAAE,MAAE,EAAEE,KAAED,IAAE;AAAC,WAAKA,MAAEC,IAAE,UAAQ,CAAC,KAAK,KAAKA,IAAED,KAAG,EAAE;IAAI,IAAID,MAAEE,IAAE,UAAU,GAAED,IAAE;AAAC,QAAG,CAAC,KAAK,yBAAuB,CAAC,EAAED,KAAE,EAAC,YAAW,KAAK,YAAW,CAAC,CAAC,OAAM,IAAI,MAAM,0BAA0BA,IAAE,GAAG;IAAC,IAAIG,MAAE;AAAG,QAAG,QAAMD,IAAE,MAAE,EAAEA,KAAED,IAAE,KAAG,EAAEC,KAAE,QAAOD,IAAE,CAAC,QAAG;aAAU,QAAMC,IAAED,QAAI,EAAEC,KAAE,MAAKD,IAAE,CAAC,QAAG;aAAU,QAAMC,IAAED,MAAG;KAAC,MAAMS,MAAE,EAAET;AAAE,YAAKA,MAAEC,IAAE,UAAQ,QAAMA,IAAED,MAAI;AAAI,SAAG,MAAEC,IAAE,UAAUQ,KAAET,IAAE,EAAC,QAAMC,IAAED,KAAG,OAAM,IAAI,MAAM,6BAA6B;eAAS,CAAC,KAAK,sBAAsB,OAAM,IAAI,MAAM,sCAAsCC,IAAED,KAAG,GAAG;AAAC,WAAM;KAAC,aAAYD;KAAE,cAAaG,IAAE,MAAM;KAAC,OAAMF;KAAE;;GAAC,eAAe,KAAE,KAAE;IAAC,IAAI,IAAE,MAAE,EAAEC,KAAED,IAAE;AAAC,WAAKA,MAAEC,IAAE,UAAQ,CAAC,KAAK,KAAKA,IAAED,KAAG,EAAE;IAAI,IAAID,MAAEE,IAAE,UAAU,GAAED,IAAE;AAAC,SAAI,EAAED,KAAE,EAAC,YAAW,KAAK,YAAW,CAAC,EAAC,IAAE,MAAE,EAAEE,KAAED,IAAE,EAACA,MAAEC,IAAE,UAAQ,CAAC,KAAK,KAAKA,IAAED,KAAG,EAAE;IAAI,IAAIE,MAAED,IAAE,UAAU,GAAED,IAAE;AAAC,QAAG,CAAC,EAAEE,KAAE,EAAC,YAAW,KAAK,YAAW,CAAC,CAAC,OAAM,IAAI,MAAM,4BAA4BA,IAAE,GAAG;AAAC,UAAE,EAAED,KAAED,IAAE;IAAC,IAAIG,MAAE;AAAG,QAAG,eAAaF,IAAE,UAAUD,KAAEA,MAAE,EAAE,CAAC,aAAa,EAAC;AAAC,SAAG,MAAE,YAAW,QAAMC,IAAE,MAAE,EAAEA,KAAE,OAAG,EAAE,EAAE,OAAM,IAAI,MAAM,wBAAwBA,IAAED,KAAG,GAAG;AAAC;KAAI,IAAIS,MAAE,EAAE;AAAC,YAAKT,MAAEC,IAAE,UAAQ,QAAMA,IAAED,OAAI;MAAC,MAAMD,MAAEC;AAAE,aAAKA,MAAEC,IAAE,UAAQ,QAAMA,IAAED,QAAI,QAAMC,IAAED,MAAI;MAAI,IAAIE,MAAED,IAAE,UAAUF,KAAEC,IAAE;AAAC,UAAG,MAAEE,IAAE,MAAM,EAAC,CAAC,EAAEA,KAAE,EAAC,YAAW,KAAK,YAAW,CAAC,CAAC,OAAM,IAAI,MAAM,2BAA2BA,IAAE,GAAG;AAAC,UAAE,KAAKA,IAAE,EAAC,QAAMD,IAAED,SAAK,OAAI,MAAE,EAAEC,KAAED,IAAE;;AAAE,SAAG,QAAMC,IAAED,KAAG,OAAM,IAAI,MAAM,iCAAiC;AAAC,YAAI,OAAG,OAAKS,IAAE,KAAK,IAAI,GAAC;WAAQ;KAAC,MAAMA,MAAET;AAAE,YAAKA,MAAEC,IAAE,UAAQ,CAAC,KAAK,KAAKA,IAAED,KAAG,EAAE;AAAI,YAAGC,IAAE,UAAUQ,KAAET,IAAE;AAAkF,SAAG,CAAC,KAAK,yBAAuB,CAAzG;MAAC;MAAQ;MAAK;MAAQ;MAAS;MAAS;MAAW;MAAU;MAAW,CAAoC,SAASG,IAAE,aAAa,CAAC,CAAC,OAAM,IAAI,MAAM,4BAA4BA,IAAE,GAAG;;AAAC,UAAE,EAAEF,KAAED,IAAE;IAAC,IAAII,MAAE;AAAG,WAAM,gBAAcH,IAAE,UAAUD,KAAEA,MAAE,EAAE,CAAC,aAAa,IAAE,MAAE,aAAY,OAAG,KAAG,eAAaC,IAAE,UAAUD,KAAEA,MAAE,EAAE,CAAC,aAAa,IAAE,MAAE,YAAW,OAAG,KAAG,CAACA,KAAEI,OAAG,KAAK,kBAAkBH,KAAED,KAAE,UAAU,EAAC;KAAC,aAAYD;KAAE,eAAcG;KAAE,eAAcC;KAAE,cAAaC;KAAE,OAAMJ;KAAE;;;EAAE,MAAM,KAAG,KAAE,QAAI;AAAC,UAAKA,MAAEC,IAAE,UAAQ,KAAK,KAAKA,IAAED,KAAG,EAAE;AAAI,UAAOA;;EAAG,SAAS,EAAE,KAAE,KAAE,GAAE;AAAC,QAAI,IAAID,MAAE,GAAEA,MAAEC,IAAE,QAAO,MAAI,KAAGA,IAAED,SAAKE,IAAE,IAAEF,MAAE,GAAG,QAAM,CAAC;AAAE,UAAM,CAAC;;EAAE,SAAS,EAAE,KAAE,KAAE;AAAC,OAAG,EAAEE,KAAE,EAAC,YAAWD,KAAE,CAAC,CAAC,QAAOC;AAAE,SAAM,IAAI,MAAM,uBAAuBA,MAAI;;EAAC,MAAM,IAAE;GAAC;GAAG;GAAK;GAAK;GAAK;GAAK;GAAK;GAAK;GAAK;GAAK;GAAK;GAAK;GAAK;GAAK;GAAK;GAAK;GAAK;GAAK;GAAK;GAAK;GAAK;GAAK;GAAK;GAAK;GAAK;GAAK;GAAK;GAAK;GAAK;GAAM;GAAO;GAAO;GAAO;GAAO;GAAO;GAAM;GAAM;GAAM;GAAM;GAAM;GAAM;GAAM;GAAM;GAAM;GAAM;GAAM;GAAM;GAAM;GAAM;GAAM;GAAM;GAAM;GAAM;GAAM;GAAM;GAAM;GAAM;GAAO;GAAO;GAAO;GAAO;GAAO,EAAC,oBAAE,IAAI,KAAG,EAAC,IAAE,MAAK,IAAE,IAAI,WAAW,MAAM,CAAC,KAAK,IAAI;AAAC,OAAI,MAAMA,OAAK,EAAE,MAAI,IAAID,MAAE,GAAEA,MAAE,IAAG,OAAI;GAAC,MAAM,IAAEC,MAAED;AAAE,QAAG,QAAM,EAAE,IAAE,KAAGA,MAAE,EAAE,IAAI,GAAEA,IAAE;;EAAC,MAAM,IAAE,IAAI,IAAI;GAAC;GAAK;GAAM;GAAM,CAAC,EAAC,IAAE,yBAAwB,IAAE,aAAY,IAAE,cAAa,IAAE,sCAAqC,IAAE;GAAC,KAAI,CAAC;GAAE,QAAO,CAAC;GAAE,OAAM,CAAC;GAAE,cAAa,CAAC;GAAE,cAAa;GAAI,WAAU,CAAC;GAAE,UAAS;GAAW,SAAQ,CAAC;GAAE;EAAC,SAAS,GAAG,KAAE,MAAE,EAAE,EAAC;AAAC,OAAG,MAAE,OAAO,OAAO,EAAE,EAAC,GAAEA,IAAE,EAAC,CAACC,OAAG,YAAU,OAAOA,IAAE,QAAOA;GAAE,IAAI,IAAEA,IAAE,MAAM;AAAC,OAAG,MAAI,EAAE,OAAO,QAAOA;AAAE,OAAG,KAAK,MAAID,IAAE,YAAUA,IAAE,SAAS,KAAK,EAAE,CAAC,QAAOC;AAAE,OAAG,QAAM,EAAE,QAAO;AAAE,OAAGD,IAAE,YAAU,IAAE,SAAS,KAAE;AAAC,QAAG,YAAU,OAAOC,IAAE,QAAOA;IAAE,MAAMD,MAAEC,IAAE;AAAO,QAAG,MAAID,IAAE,QAAOC;IAAE,IAAIQ,MAAE;AAAG,SAAI,IAAIV,MAAE,GAAEA,MAAEC,KAAE,OAAI;KAAC,MAAME,MAAED,IAAE,WAAWF,IAAE;AAAC,SAAG,EAAEG,OAAG,MAAIA,OAAG,MAAI,OAAKA,MAAG;UAAGA,MAAE,GAAG;WAAG,EAAE,IAAIA,IAAE,EAAC;AAAC,cAAEH;AAAE;;iBAAeG,OAAG,SAAOA,OAAG,OAAO;WAAGH,MAAE,IAAEC,KAAE;QAAC,MAAMA,MAAEC,IAAE,WAAWF,MAAE,EAAE;AAAC,YAAGC,OAAG,SAAOA,OAAG,OAAM;SAAC,MAAMC,MAAE,SAAOC,MAAE,SAAO,OAAKF,MAAE;AAAO,aAAG,EAAE,IAAIC,IAAE,EAAC;AAAC,gBAAEF;AAAE;;;;iBAAiB,QAAM,EAAEG,MAAE,MAAI,EAAE,IAAIA,IAAE,EAAC;AAAC,aAAEH;AAAE;;;;AAAO,QAAG,OAAKU,IAAE,QAAOR;IAAE,MAAMF,MAAE,EAAE;AAAC,UAAE,KAAGA,IAAE,KAAKE,IAAE,MAAM,GAAEQ,IAAE,CAAC;AAAC,SAAI,IAAIP,MAAEO,KAAEP,MAAEF,KAAE,OAAI;KAAC,MAAMS,MAAER,IAAE,WAAWC,IAAE;AAAC,SAAGO,OAAG,MAAIA,OAAG,MAAI,OAAKA,KAAE;AAAC,UAAE,KAAKR,IAAEC,KAAG;AAAC;;AAAS,SAAGO,MAAE,GAAE;AAAC,UAAE,KAAK,EAAE,IAAIA,IAAE,GAAC,MAAIR,IAAEC,KAAG;AAAC;;AAAS,SAAGO,OAAG,SAAOA,OAAG,OAAM;AAAC,UAAGP,MAAE,IAAEF,KAAE;OAAC,MAAMA,MAAEC,IAAE,WAAWC,MAAE,EAAE;AAAC,WAAGF,OAAG,SAAOA,OAAG,OAAM;QAAC,MAAMC,MAAE,SAAOQ,MAAE,SAAO,OAAKT,MAAE,QAAOG,MAAE,EAAE,IAAIF,IAAE;AAAC,YAAG,KAAK,MAAIE,KAAE;AAAC,aAAE,KAAK,OAAO,aAAaA,MAAE,GAAG,CAAC,EAAC;AAAI;;;;AAAW,UAAE,KAAKF,IAAEC,KAAG;AAAC;;AAAS,SAAG,EAAE,IAAIO,IAAE,EAAC;AAAC,UAAE,KAAK,IAAI;AAAC;;KAAS,MAAMN,MAAE,EAAEM,MAAE;AAAG,SAAE,KAAK,QAAMN,MAAE,OAAO,aAAaA,MAAE,GAAG,GAACF,IAAEC,KAAG;;AAAC,WAAOH,IAAE,KAAK,GAAG;KAAE,EAAE,EAAC,QAAM,GAAG,QAAO;AAAE,OAAGC,IAAE,OAAK,EAAE,KAAK,EAAE,CAAC,QAAO,GAAG,GAAE,GAAG;AAAC,OAAGA,IAAE,UAAQ,EAAE,KAAK,EAAE,CAAC,QAAO,GAAG,GAAE,EAAE;AAAC,OAAGA,IAAE,SAAO,EAAE,KAAK,EAAE,CAAC,QAAO,GAAG,GAAE,EAAE;AAAC,OAAG,SAAS,EAAE,EAAC;AAAC,QAAG,EAAE,SAAS,IAAI,IAAE,EAAE,SAAS,IAAI,CAAC,QAAO,SAAS,KAAE,KAAE,KAAE;AAAC,SAAG,CAACS,IAAE,UAAU,QAAOR;KAAE,MAAMF,MAAEC,IAAE,MAAM,GAAG;AAAC,SAAGD,KAAE;MAAC,IAAIG,MAAEH,IAAE,MAAI;MAAG,MAAMI,MAAE,OAAKJ,IAAE,GAAG,QAAQ,IAAI,GAAC,MAAI,KAAIK,MAAEL,IAAE,IAAGM,MAAEH,MAAED,IAAEG,IAAE,SAAO,OAAKD,MAAEF,IAAEG,IAAE,YAAUD;AAAE,aAAOC,IAAE,SAAO,KAAGC,MAAEJ,OAAG,MAAIG,IAAE,UAAQ,CAACL,IAAE,GAAG,WAAW,IAAII,MAAI,IAAEJ,IAAE,GAAG,OAAKI,QAAIC,IAAE,SAAO,IAAEK,IAAE,gBAAc,CAACJ,OAAG,OAAGN,IAAE,MAAI,MAAIA,IAAE,IAAG,OAAOC,IAAE,IAAEC,MAAE,OAAOD,IAAE;;AAAC,YAAOC;MAAGA,KAAE,GAAED,IAAE;IAAC;KAAC,MAAME,MAAE,EAAE,KAAK,EAAE;AAAC,SAAGA,KAAE;MAAC,MAAMC,MAAED,IAAE,MAAI,IAAGE,MAAEF,IAAE;MAAG,IAAIG,OAAG,MAAEH,IAAE,OAAK,OAAKH,IAAE,QAAQ,IAAI,IAAE,SAAO,MAAEA,IAAE,QAAQ,OAAM,GAAG,IAAE,MAAE,MAAI,QAAMA,IAAE,KAAG,MAAE,MAAIA,MAAE,QAAMA,IAAEA,IAAE,SAAO,OAAK,MAAEA,IAAE,UAAU,GAAEA,IAAE,SAAO,EAAE,GAAEA,OAAGA;MAAE,MAAMO,MAAEH,MAAE,QAAMF,IAAEG,IAAE,SAAO,KAAG,QAAMH,IAAEG,IAAE;AAAQ,UAAG,CAACJ,IAAE,iBAAeI,IAAE,SAAO,KAAG,MAAIA,IAAE,UAAQ,CAACE,KAAG,QAAOL;MAAE;OAAC,MAAMF,MAAE,OAAO,EAAE,EAACG,MAAE,OAAOH,IAAE;AAAC,WAAG,MAAIA,IAAE,QAAOA;AAAE,WAAG,OAAKG,IAAE,OAAO,OAAO,CAAC,QAAOF,IAAE,YAAUD,MAAEE;AAAE,WAAG,OAAK,EAAE,QAAQ,IAAI,CAAC,QAAM,QAAMC,OAAGA,QAAIG,OAAGH,QAAI,GAAGC,MAAIE,QAAIN,MAAEE;OAAE,IAAIK,MAAEF,MAAEC,MAAE;AAAE,cAAOD,MAAEE,QAAIJ,OAAGC,MAAEG,QAAIJ,MAAEH,MAAEE,MAAEK,QAAIJ,OAAGI,QAAIH,MAAED,MAAEH,MAAEE;;;AAAG,YAAOA;;;GAAG,IAAIF;AAAE,UAAO,SAAS,KAAE,KAAE,KAAE;IAAC,MAAMA,MAAEC,QAAI;AAAI,YAAOS,IAAE,SAAS,aAAa,EAA/B;KAAiC,KAAI,OAAO,QAAO;KAAK,KAAI,WAAW,QAAOT;KAAE,KAAI,SAAS,QAAOD,MAAE,aAAW;KAAY,QAAQ,QAAOE;;KAAIA,KAAE,OAAO,EAAE,EAACD,IAAE;;EAAC,MAAM,KAAG;EAA0C,SAAS,GAAG,KAAE,KAAE;GAAC,MAAM,IAAEC,IAAE,MAAM;AAAC,OAAG,MAAID,OAAG,MAAIA,QAAI,MAAE,EAAE,UAAU,EAAE,GAAE,SAAS,QAAO,SAASC,KAAED,IAAE;AAAC,OAAG,OAAO,SAAS,QAAO,OAAO,SAASC,KAAED,IAAE;AAAC,OAAG,UAAQ,OAAO,SAAS,QAAO,OAAO,SAASC,KAAED,IAAE;AAAC,SAAM,IAAI,MAAM,+DAA+D;;EAAC,MAAM,GAAE;GAAC,YAAY,KAAE;AAAC,SAAK,WAASC;;GAAE,IAAI,YAAW;AAAC,WAAO,KAAK,SAAS;;GAAU,gBAAe;IAAC,MAAMA,MAAE,KAAK,SAAS;AAAK,WAAOA,IAAE,SAAO,IAAEA,IAAEA,IAAE,SAAO,GAAG,MAAI,KAAK;;GAAE,sBAAqB;IAAC,MAAMA,MAAE,KAAK,SAAS;AAAK,WAAOA,IAAE,SAAO,IAAEA,IAAEA,IAAE,SAAO,GAAG,YAAU,KAAK;;GAAE,aAAa,KAAE;IAAC,MAAMD,MAAE,KAAK,SAAS;AAAK,QAAG,MAAIA,IAAE,OAAO,QAAOA,IAAEA,IAAE,SAAO,GAAG,SAASC;;GAAG,QAAQ,KAAE;IAAC,MAAMD,MAAE,KAAK,SAAS;AAAK,QAAG,MAAIA,IAAE,OAAO,QAAM,CAAC;IAAE,MAAM,IAAEA,IAAEA,IAAE,SAAO;AAAG,WAAO,KAAK,MAAI,EAAE,UAAQC,OAAK,EAAE;;GAAO,iBAAiB,KAAE;AAAC,WAAO,KAAK,SAAS,iBAAiBA,IAAE;;GAAC,iBAAiB,KAAE;AAAC,WAAO,KAAK,SAAS,iBAAiBA,IAAE;;GAAC,cAAa;IAAC,MAAMA,MAAE,KAAK,SAAS;AAAK,WAAO,MAAIA,IAAE,SAAO,KAAGA,IAAEA,IAAE,SAAO,GAAG,YAAU;;GAAE,aAAY;IAAC,MAAMA,MAAE,KAAK,SAAS;AAAK,WAAO,MAAIA,IAAE,SAAO,KAAGA,IAAEA,IAAE,SAAO,GAAG,WAAS;;GAAE,WAAU;AAAC,WAAO,KAAK,aAAa;;GAAC,WAAU;AAAC,WAAO,KAAK,SAAS,KAAK;;GAAO,SAAS,KAAE,MAAE,CAAC,GAAE;AAAC,WAAO,KAAK,SAAS,SAASA,KAAED,IAAE;;GAAC,UAAS;AAAC,WAAO,KAAK,SAAS,KAAK,KAAI,QAAGC,IAAE,IAAI;;GAAC,QAAQ,KAAE;AAAC,WAAO,KAAK,SAAS,QAAQA,IAAE;;GAAC,WAAW,KAAE;AAAC,WAAOA,IAAE,WAAW,KAAK,SAAS;;;EAAE,MAAM,GAAE;GAAC,YAAY,MAAE,EAAE,EAAC;AAAC,SAAK,YAAUA,IAAE,aAAW,KAAI,KAAK,OAAK,EAAE,EAAC,KAAK,gBAAc,EAAE,EAAC,KAAK,mBAAiB,MAAK,KAAK,QAAM,IAAI,GAAG,KAAK,EAAC,KAAK,aAAW,EAAE;;GAAC,KAAK,KAAE,MAAE,MAAK,IAAE,MAAK,MAAE,MAAK;AAAC,SAAK,mBAAiB,MAAK,KAAK,KAAK,SAAO,MAAI,KAAK,KAAK,KAAK,KAAK,SAAO,GAAG,SAAO,KAAK;IAAG,MAAMC,MAAE,KAAK,KAAK;IAAO,IAAIC,MAAE,KAAK,cAAcD;AAAG,YAAI,MAAE;KAAC,wBAAO,IAAI,KAAG;KAAC,OAAM;KAAE,EAAC,KAAK,cAAcA,OAAGC;IAAG,MAAMC,MAAE,IAAE,GAAG,EAAE,GAAGH,QAAIA,KAAEI,MAAEF,IAAE,OAAO,IAAIC,IAAE,IAAE,GAAEE,MAAEH,IAAE;AAAM,QAAE,OAAO,IAAIC,KAAEC,MAAE,EAAE,EAAC,IAAE;IAAQ,MAAME,MAAE;KAAC,KAAIN;KAAE,UAASK;KAAE,SAAQD;KAAE;AAAC,YAAM,MAAI,IAAE,YAAU,IAAG,QAAML,QAAI,IAAE,SAAOA,MAAG,KAAK,KAAK,KAAKO,IAAE;IAAC,MAAMG,MAAE,KAAK,KAAK,QAAOC,MAAE,SAAOZ,MAAEA,IAAE,OAAK;AAAK,QAAG,QAAMY,OAAGA,IAAE,SAAO,KAAGX,IAAE,MAAI,IAAIC,MAAE,GAAEA,MAAEU,IAAE,QAAO,OAAI;KAAC,MAAMF,MAAEE,IAAEV;AAAG,UAAK,MAAID,IAAES,QAAI,KAAK,WAAW,KAAK;MAAC,OAAMC;MAAE,MAAKD;MAAE,OAAMT,IAAES;MAAG,CAAC;;;GAAE,MAAK;AAAC,QAAG,MAAI,KAAK,KAAK,OAAO;AAAO,SAAK,mBAAiB;IAAK,MAAMR,MAAE,KAAK,KAAK,KAAK;AAAC,SAAK,cAAc,SAAO,KAAK,KAAK,SAAO,MAAI,KAAK,cAAc,SAAO,KAAK,KAAK,SAAO;IAAG,MAAMD,MAAE,KAAK,KAAK,SAAO;AAAE,WAAK,KAAK,WAAW,SAAO,KAAG,KAAK,WAAW,KAAK,WAAW,SAAO,GAAG,SAAOA,KAAG,MAAK,WAAW,KAAK;AAAC,WAAOC;;GAAE,cAAc,KAAE;AAAC,QAAG,KAAK,KAAK,SAAO,GAAE;KAAC,MAAMD,MAAE,KAAK,KAAK,KAAK,KAAK,SAAO;AAAG,aAAMC,QAAI,IAAE,SAAOA;;;GAAI,gBAAe;AAAC,WAAO,KAAK,KAAK,SAAO,IAAE,KAAK,KAAK,KAAK,KAAK,SAAO,GAAG,MAAI,KAAK;;GAAE,sBAAqB;AAAC,WAAO,KAAK,KAAK,SAAO,IAAE,KAAK,KAAK,KAAK,KAAK,SAAO,GAAG,YAAU,KAAK;;GAAE,aAAa,KAAE;AAAC,QAAG,MAAI,KAAK,KAAK,OAAO,QAAO,KAAK,KAAK,KAAK,KAAK,SAAO,GAAG,SAASA;;GAAG,QAAQ,KAAE;AAAC,QAAG,MAAI,KAAK,KAAK,OAAO,QAAM,CAAC;IAAE,MAAMD,MAAE,KAAK,KAAK,KAAK,KAAK,SAAO;AAAG,WAAO,KAAK,MAAIA,IAAE,UAAQC,OAAKD,IAAE;;GAAO,iBAAiB,KAAE;IAAC,MAAMA,MAAE,KAAK;AAAW,SAAI,IAAI,IAAEA,IAAE,SAAO,GAAE,KAAG,GAAE,IAAI,KAAGA,IAAE,GAAG,SAAOC,IAAE,QAAOD,IAAE,GAAG;;GAAM,iBAAiB,KAAE;IAAC,MAAMA,MAAE,KAAK;AAAW,SAAI,IAAI,IAAEA,IAAE,SAAO,GAAE,KAAG,GAAE,IAAI,KAAGA,IAAE,GAAG,SAAOC,IAAE,QAAM,CAAC;AAAE,WAAM,CAAC;;GAAE,cAAa;AAAC,WAAO,MAAI,KAAK,KAAK,SAAO,KAAG,KAAK,KAAK,KAAK,KAAK,SAAO,GAAG,YAAU;;GAAE,aAAY;AAAC,WAAO,MAAI,KAAK,KAAK,SAAO,KAAG,KAAK,KAAK,KAAK,KAAK,SAAO,GAAG,WAAS;;GAAE,WAAU;AAAC,WAAO,KAAK,aAAa;;GAAC,WAAU;AAAC,WAAO,KAAK,KAAK;;GAAO,SAAS,KAAE,MAAE,CAAC,GAAE;IAAC,MAAM,IAAEA,OAAG,KAAK;AAAU,QAAG,MAAI,KAAK,aAAW,CAAC,MAAID,KAAE;AAAC,SAAG,SAAO,KAAK,iBAAiB,QAAO,KAAK;KAAiB,MAAMC,MAAE,KAAK,KAAK,KAAI,QAAGA,IAAE,YAAU,GAAGA,IAAE,UAAU,GAAGA,IAAE,QAAMA,IAAE,IAAI,CAAC,KAAK,EAAE;AAAC,YAAO,KAAK,mBAAiBA,KAAEA;;AAAE,WAAO,KAAK,KAAK,KAAI,QAAGD,OAAGC,IAAE,YAAU,GAAGA,IAAE,UAAU,GAAGA,IAAE,QAAMA,IAAE,IAAI,CAAC,KAAK,EAAE;;GAAC,UAAS;AAAC,WAAO,KAAK,KAAK,KAAI,QAAGA,IAAE,IAAI;;GAAC,QAAO;AAAC,SAAK,mBAAiB,MAAK,KAAK,OAAK,EAAE,EAAC,KAAK,gBAAc,EAAE,EAAC,KAAK,aAAW,EAAE;;GAAC,QAAQ,KAAE;IAAC,MAAMD,MAAEC,IAAE;AAAS,WAAO,MAAID,IAAE,WAASC,IAAE,iBAAiB,GAAC,KAAK,uBAAuBD,IAAE,GAAC,KAAK,aAAaA,IAAE;;GAAE,aAAa,KAAE;AAAC,QAAG,KAAK,KAAK,WAASC,IAAE,OAAO,QAAM,CAAC;AAAE,SAAI,IAAID,MAAE,GAAEA,MAAEC,IAAE,QAAO,MAAI,KAAG,CAAC,KAAK,cAAcA,IAAED,MAAG,KAAK,KAAKA,MAAGA,QAAI,KAAK,KAAK,SAAO,EAAE,CAAC,QAAM,CAAC;AAAE,WAAM,CAAC;;GAAE,uBAAuB,KAAE;IAAC,IAAIA,MAAE,KAAK,KAAK,SAAO,GAAE,IAAEC,IAAE,SAAO;AAAE,WAAK,KAAG,KAAGD,OAAG,IAAG;KAAC,MAAMD,MAAEE,IAAE;AAAG,SAAG,oBAAkBF,IAAE,MAAK;AAAC,UAAG,KAAI,IAAE,EAAE,QAAM,CAAC;MAAE,MAAMA,MAAEE,IAAE;MAAG,IAAIC,MAAE,CAAC;AAAE,WAAI,IAAID,MAAED,KAAEC,OAAG,GAAE,MAAI,KAAG,KAAK,cAAcF,KAAE,KAAK,KAAKE,MAAGA,QAAI,KAAK,KAAK,SAAO,EAAE,EAAC;AAAC,aAAEA,MAAE,GAAE,KAAI,MAAE,CAAC;AAAE;;AAAM,UAAG,CAACC,IAAE,QAAM,CAAC;YAAM;AAAC,UAAG,CAAC,KAAK,cAAcH,KAAE,KAAK,KAAKC,MAAGA,QAAI,KAAK,KAAK,SAAO,EAAE,CAAC,QAAM,CAAC;AAAE,aAAI;;;AAAK,WAAO,IAAE;;GAAE,cAAc,KAAE,KAAE,GAAE;AAAC,QAAG,QAAMC,IAAE,OAAKA,IAAE,QAAMD,IAAE,IAAI,QAAM,CAAC;AAAE,QAAG,KAAK,MAAIC,IAAE,aAAW,QAAMA,IAAE,aAAWA,IAAE,cAAYD,IAAE,UAAU,QAAM,CAAC;AAAE,QAAG,KAAK,MAAIC,IAAE,UAAS;AAAC,SAAG,CAAC,EAAE,QAAM,CAAC;AAAE,SAAG,CAACD,IAAE,UAAQ,EAAEC,IAAE,YAAYD,IAAE,QAAQ,QAAM,CAAC;AAAE,SAAG,KAAK,MAAIC,IAAE,aAAW,OAAOD,IAAE,OAAOC,IAAE,UAAU,KAAG,OAAOA,IAAE,UAAU,CAAC,QAAM,CAAC;;AAAE,QAAG,KAAK,MAAIA,IAAE,UAAS;AAAC,SAAG,CAAC,EAAE,QAAM,CAAC;KAAE,MAAMF,MAAEC,IAAE,WAAS;AAAE,SAAG,YAAUC,IAAE,YAAU,MAAIF,IAAE,QAAM,CAAC;AAAE,SAAG,UAAQE,IAAE,YAAUF,MAAE,KAAG,EAAE,QAAM,CAAC;AAAE,SAAG,WAASE,IAAE,YAAUF,MAAE,KAAG,EAAE,QAAM,CAAC;AAAE,SAAG,UAAQE,IAAE,YAAUF,QAAIE,IAAE,cAAc,QAAM,CAAC;;AAAE,WAAM,CAAC;;GAAE,WAAW,KAAE;AAAC,WAAOA,IAAE,WAAW,KAAK;;GAAC,WAAU;AAAC,WAAM;KAAC,MAAK,KAAK,KAAK,KAAI,SAAI,EAAC,GAAGA,KAAE,EAAE;KAAC,eAAc,KAAK,cAAc,KAAI,QAAGA,MAAE;MAAC,QAAO,IAAI,IAAIA,IAAE,OAAO;MAAC,OAAMA,IAAE;MAAM,GAACA,IAAE;KAAC,WAAU,KAAK,WAAW,KAAI,SAAI,EAAC,GAAGA,KAAE,EAAE;KAAC;;GAAC,QAAQ,KAAE;AAAC,SAAK,mBAAiB,MAAK,KAAK,OAAKA,IAAE,KAAK,KAAI,SAAI,EAAC,GAAGA,KAAE,EAAE,EAAC,KAAK,gBAAcA,IAAE,cAAc,KAAI,QAAGA,MAAE;KAAC,QAAO,IAAI,IAAIA,IAAE,OAAO;KAAC,OAAMA,IAAE;KAAM,GAACA,IAAE,EAAC,KAAK,cAAYA,IAAE,aAAW,EAAE,EAAE,KAAI,SAAI,EAAC,GAAGA,KAAE,EAAE;;GAAC,WAAU;AAAC,WAAO,KAAK;;;EAAO,MAAM,GAAE;GAAC,YAAY,KAAE,MAAE,EAAE,EAAC,GAAE;AAAC,SAAK,UAAQA,KAAE,KAAK,YAAUD,IAAE,aAAW,KAAI,KAAK,WAAS,KAAK,OAAOC,IAAE,EAAC,KAAK,OAAK,GAAE,KAAK,mBAAiB,KAAK,SAAS,MAAK,QAAG,oBAAkBA,IAAE,KAAK,EAAC,KAAK,yBAAuB,KAAK,SAAS,MAAK,QAAG,KAAK,MAAIA,IAAE,SAAS,EAAC,KAAK,uBAAqB,KAAK,SAAS,MAAK,QAAG,KAAK,MAAIA,IAAE,SAAS;;GAAC,OAAO,KAAE;IAAC,MAAMD,MAAE,EAAE;IAAC,IAAI,IAAE,GAAED,MAAE;AAAG,WAAK,IAAEE,IAAE,QAAQ,KAAE,OAAK,KAAK,YAAU,IAAE,IAAEA,IAAE,UAAQA,IAAE,IAAE,OAAK,KAAK,aAAWF,IAAE,MAAM,KAAGC,IAAE,KAAK,KAAK,cAAcD,IAAE,MAAM,CAAC,CAAC,EAAC,MAAE,KAAIC,IAAE,KAAK,EAAC,MAAK,iBAAgB,CAAC,EAAC,KAAG,MAAID,IAAE,MAAM,IAAEC,IAAE,KAAK,KAAK,cAAcD,IAAE,MAAM,CAAC,CAAC,EAAC,MAAE,IAAG,QAAM,OAAGE,IAAE,IAAG;AAAK,WAAOF,IAAE,MAAM,IAAEC,IAAE,KAAK,KAAK,cAAcD,IAAE,MAAM,CAAC,CAAC,EAACC;;GAAE,cAAc,KAAE;IAAC,MAAMA,MAAE,EAAC,MAAK,OAAM;IAAC,IAAI,IAAE,MAAKD,MAAEE;IAAE,MAAMC,MAAED,IAAE,MAAM,6BAA6B;AAAC,QAAGC,QAAI,MAAEA,IAAE,KAAGA,IAAE,IAAGA,IAAE,KAAI;KAAC,MAAMD,MAAEC,IAAE,GAAG,MAAM,GAAE,GAAG;AAAC,aAAI,IAAED;;IAAG,IAAIE,KAAEC,KAAEC,MAAEN;AAAE,QAAGA,IAAE,SAAS,KAAK,EAAC;KAAC,MAAMC,MAAED,IAAE,QAAQ,KAAK;AAAC,SAAG,MAAEA,IAAE,UAAU,GAAEC,IAAE,CAAC,MAAM,EAAC,MAAED,IAAE,UAAUC,MAAE,EAAE,CAAC,MAAM,EAAC,CAACG,IAAE,OAAM,IAAI,MAAM,iCAAiCF,MAAI;;IAAC,IAAIK,MAAE;AAAK,QAAGD,IAAE,SAAS,IAAI,EAAC;KAAC,MAAMJ,MAAEI,IAAE,YAAY,IAAI,EAACL,MAAEK,IAAE,UAAU,GAAEJ,IAAE,CAAC,MAAM,EAACQ,MAAEJ,IAAE,UAAUJ,MAAE,EAAE,CAAC,MAAM;AAAC;MAAC;MAAQ;MAAO;MAAM;MAAO,CAAC,SAASQ,IAAE,IAAE,eAAe,KAAKA,IAAE,IAAE,MAAET,KAAE,MAAES,OAAG,MAAEJ;UAAO,OAAEA;AAAE,QAAG,CAACD,IAAE,OAAM,IAAI,MAAM,4BAA4BH,MAAI;AAAC,QAAG,IAAE,MAAIG,KAAED,QAAI,IAAE,YAAUA,MAAG,EAAE,KAAG,EAAE,SAAS,IAAI,EAAC;KAAC,MAAMF,MAAE,EAAE,QAAQ,IAAI;AAAC,SAAE,WAAS,EAAE,UAAU,GAAEA,IAAE,CAAC,MAAM,EAAC,IAAE,YAAU,EAAE,UAAUA,MAAE,EAAE,CAAC,MAAM;UAAM,KAAE,WAAS,EAAE,MAAM;AAAC,QAAGK,KAAE;KAAC,MAAML,MAAEK,IAAE,MAAM,iBAAiB;AAAC,YAAG,IAAE,WAAS,OAAM,IAAE,gBAAc,SAASL,IAAE,IAAG,GAAG,IAAE,IAAE,WAASK;;AAAE,WAAON;;GAAE,IAAI,SAAQ;AAAC,WAAO,KAAK,SAAS;;GAAO,kBAAiB;AAAC,WAAO,KAAK;;GAAiB,wBAAuB;AAAC,WAAO,KAAK;;GAAuB,sBAAqB;AAAC,WAAO,KAAK;;GAAqB,WAAU;AAAC,WAAO,KAAK;;;EAAS,MAAM,GAAE;GAAC,cAAa;AAAC,SAAK,iCAAe,IAAI,KAAG,EAAC,KAAK,mCAAiB,IAAI,KAAG,EAAC,KAAK,iBAAe,EAAE,EAAC,KAAK,qCAAmB,IAAI,KAAG,EAAC,KAAK,4BAAU,IAAI,KAAG,EAAC,KAAK,UAAQ,CAAC;;GAAE,IAAI,KAAE;AAAC,QAAG,KAAK,QAAQ,OAAM,IAAI,UAAU,+EAA+E;AAAC,QAAG,KAAK,UAAU,IAAIC,IAAE,QAAQ,CAAC,QAAO;AAAK,QAAG,KAAK,UAAU,IAAIA,IAAE,QAAQ,EAACA,IAAE,iBAAiB,EAAC;KAAC,MAAMD,MAAEC,IAAE,SAASA,IAAE,SAAS,SAAO;AAAG,SAAGD,OAAG,oBAAkBA,IAAE,QAAM,QAAMA,IAAE,KAAI;MAAC,MAAM,IAAEA,IAAE;AAAI,WAAK,mBAAmB,IAAI,EAAE,IAAE,KAAK,mBAAmB,IAAI,GAAE,EAAE,CAAC,EAAC,KAAK,mBAAmB,IAAI,EAAE,CAAC,KAAKC,IAAE;WAAM,MAAK,eAAe,KAAKA,IAAE;AAAC,YAAO;;IAAK,MAAMD,MAAEC,IAAE,QAAyCF,MAAhCE,IAAE,SAASA,IAAE,SAAS,SAAO,IAAQ;AAAI,QAAGF,OAAG,QAAMA,KAAE;KAAC,MAAM,IAAE,GAAGC,IAAE,GAAGD;AAAI,UAAK,eAAe,IAAI,EAAE,IAAE,KAAK,eAAe,IAAI,GAAE,EAAE,CAAC,EAAC,KAAK,eAAe,IAAI,EAAE,CAAC,KAAKE,IAAE;UAAM,MAAK,iBAAiB,IAAID,IAAE,IAAE,KAAK,iBAAiB,IAAIA,KAAE,EAAE,CAAC,EAAC,KAAK,iBAAiB,IAAIA,IAAE,CAAC,KAAKC,IAAE;AAAC,WAAO;;GAAK,OAAO,KAAE;AAAC,SAAI,MAAMD,OAAKC,IAAE,MAAK,IAAID,IAAE;AAAC,WAAO;;GAAK,IAAI,KAAE;AAAC,WAAO,KAAK,UAAU,IAAIC,IAAE,QAAQ;;GAAC,IAAI,OAAM;AAAC,WAAO,KAAK,UAAU;;GAAK,OAAM;AAAC,WAAO,KAAK,UAAQ,CAAC,GAAE;;GAAK,IAAI,WAAU;AAAC,WAAO,KAAK;;GAAQ,WAAW,KAAE;AAAC,WAAO,SAAO,KAAK,UAAUA,IAAE;;GAAC,UAAU,KAAE;IAAC,MAAMD,MAAEC,IAAE,UAAU,EAAC,IAAEA,IAAE,eAAe,EAACF,MAAE,GAAGC,IAAE,GAAG,KAAIE,MAAE,KAAK,eAAe,IAAIH,IAAE;AAAC,QAAGG,KAAE;UAAI,IAAIF,MAAE,GAAEA,MAAEE,IAAE,QAAO,MAAI,KAAGD,IAAE,QAAQC,IAAEF,KAAG,CAAC,QAAOE,IAAEF;;IAAG,MAAMG,MAAE,KAAK,iBAAiB,IAAIH,IAAE;AAAC,QAAGG,KAAE;UAAI,IAAIH,MAAE,GAAEA,MAAEG,IAAE,QAAO,MAAI,KAAGF,IAAE,QAAQE,IAAEH,KAAG,CAAC,QAAOG,IAAEH;;IAAG,MAAMI,MAAE,KAAK,mBAAmB,IAAI,EAAE;AAAC,QAAGA,KAAE;UAAI,IAAIJ,MAAE,GAAEA,MAAEI,IAAE,QAAO,MAAI,KAAGH,IAAE,QAAQG,IAAEJ,KAAG,CAAC,QAAOI,IAAEJ;;AAAG,SAAI,IAAIA,MAAE,GAAEA,MAAE,KAAK,eAAe,QAAO,MAAI,KAAGC,IAAE,QAAQ,KAAK,eAAeD,KAAG,CAAC,QAAO,KAAK,eAAeA;AAAG,WAAO;;;EAAM,MAAM,KAAG;GAAC,MAAK;GAAI,OAAM;GAAI,QAAO;GAAI,KAAI;GAAI,MAAK;GAAI,QAAO;GAAI,MAAK;GAAI,KAAI;GAAI,IAAG;GAAI,MAAK;GAAK,MAAK;GAAI,KAAI;GAAI,KAAI;GAAI,MAAK;GAAI,OAAM;GAAI,EAAC,KAAG;GAAC,KAAI;GAAI,MAAK;GAAI,IAAG;GAAI,IAAG;GAAI,MAAK;GAAI,EAAC,KAAG;GAAC,MAAK;GAAI,MAAK;GAAI,KAAI;GAAI,OAAM;GAAI,OAAM;GAAI,OAAM;GAAI,QAAO;GAAI,OAAM;GAAI,OAAM;GAAI,OAAM;GAAI,OAAM;GAAI,OAAM;GAAI,OAAM;GAAI,MAAK;GAAI,MAAK;GAAI,MAAK;GAAI,KAAI;GAAI,QAAO;GAAI,QAAO;GAAI,QAAO;GAAI,EAAC,KAAG,OAAO,OAAO;GAAC,OAAM;GAAQ,OAAM;GAAQ,OAAM;GAAQ,CAAC,EAAC,qBAAG,IAAI,IAAI,yBAAyB;EAAC,SAAS,GAAG,KAAE;AAAC,OAAG,QAAMC,IAAE,GAAG,OAAM,IAAI,MAAM,2DAA2DA,IAAE,GAAG;AAAC,QAAI,MAAMD,OAAKC,IAAE,KAAG,GAAG,IAAID,IAAE,CAAC,OAAM,IAAI,MAAM,uCAAuCA,IAAE,qBAAqBC,IAAE,GAAG;AAAC,UAAOA;;EAAE,SAAS,GAAG,GAAGA,KAAE;GAAC,MAAMD,MAAE,OAAO,OAAO,KAAK;AAAC,QAAI,MAAM,KAAKC,IAAE,KAAG,EAAE,MAAI,MAAMA,OAAK,OAAO,KAAK,EAAE,EAAC;IAAC,MAAMF,MAAE,EAAEE;AAAG,QAAG,YAAU,OAAOF,IAAE,KAAEE,OAAGF;aAAUA,OAAG,YAAU,OAAOA,OAAG,KAAK,MAAIA,IAAE,KAAI;KAAC,MAAMU,MAAEV,IAAE;AAAI,iBAAU,OAAOU,QAAI,IAAER,OAAGQ;;;AAAI,UAAOT;;EAAE,MAAM,KAAG,YAAW,KAAG,QAAO,KAAG,OAAM,KAAG,OAAO,OAAO;GAAC,OAAM;GAAE,OAAM;GAAE,QAAO;GAAE,OAAM;GAAE,CAAC,EAAC,KAAG,IAAI,IAAI;GAAC;GAAE;GAAG;GAAG,CAAC;EAAC,MAAM,GAAE;GAAC,YAAY,MAAE,EAAE,EAAC;IAAC,IAAIA;AAAE,SAAK,SAAOC,IAAE,SAAO,EAAE,EAAC,KAAK,sBAAoB,KAAK,OAAO,sBAAoB,GAAE,KAAK,qBAAmB,KAAK,OAAO,qBAAmB,GAAE,KAAK,aAAW,cAAY,OAAOA,IAAE,YAAUA,IAAE,aAAU,QAAGA,KAAE,KAAK,eAAa,MAAE,KAAK,OAAO,iBAAe,OAAKD,QAAI,KAAGA,QAAI,KAAG,IAAI,IAAI,CAAC,GAAG,CAAC,GAACA,QAAI,KAAG,IAAI,IAAI,CAAC,GAAG,CAAC,GAAC,MAAM,QAAQA,IAAE,GAAC,IAAI,IAAIA,IAAE,GAAC,IAAI,IAAI,CAAC,GAAG,CAAC,GAAC,IAAI,IAAI,CAAC,GAAG,CAAC,EAAC,KAAK,kBAAgBC,IAAE,kBAAgB,CAAC,GAAE,KAAK,WAAS,GAAG,IAAGA,IAAE,iBAAe,KAAK,EAAC,KAAK,eAAa,OAAO,OAAO,KAAK,EAAC,KAAK,YAAU,OAAO,OAAO,KAAK,EAAC,KAAK,mBAAiB,GAAE,KAAK,kBAAgB,GAAE,KAAK,aAAW,IAAI,IAAIA,IAAE,UAAQ,MAAM,QAAQA,IAAE,OAAO,GAACA,IAAE,SAAO,EAAE,CAAC,EAAC,KAAK,YAAU,IAAI,IAAIA,IAAE,SAAO,MAAM,QAAQA,IAAE,MAAM,GAACA,IAAE,QAAM,EAAE,CAAC;IAAC,MAAM,IAAE,SAAS,KAAE;AAAC,SAAG,CAACA,IAAE,QAAM;MAAC,YAAW;MAAE,SAAQ,GAAG;MAAM,WAAU,GAAG;MAAO;KAAC,MAAMD,MAAE,QAAMC,IAAE,aAAW,MAAI,GAAEQ,MAAE,GAAGR,IAAE,UAAQ,GAAG,OAAMF,MAAE,GAAGE,IAAE,YAAU,GAAG;AAAO,YAAM;MAAC,YAAWD;MAAE,SAAQS;MAAE,WAAU,KAAK,IAAIV,KAAE,GAAG,OAAO;MAAC;MAAEE,IAAE,IAAI;AAAC,SAAK,iBAAe,EAAE,YAAW,KAAK,cAAY,EAAE,SAAQ,KAAK,gBAAc,EAAE,WAAU,KAAK,oBAAkB,cAAY,OAAOA,IAAE,mBAAiBA,IAAE,mBAAiB,MAAK,KAAK,iBAAe,cAAY,OAAOA,IAAE,gBAAcA,IAAE,gBAAc;;GAAK,uBAAuB,KAAE,KAAE,GAAE,KAAE;AAAC,QAAG,CAACA,IAAE,QAAM,CAAC;IAAE,MAAMC,MAAED,IAAED,KAAE,EAAE;AAAC,QAAGE,QAAI,GAAG,MAAM,QAAM,CAAC;AAAE,QAAGA,QAAI,GAAG,MAAM,OAAM,IAAI,MAAM,mCAAmCH,IAAE,YAAYC,IAAE,yBAAyB;AAAC,WAAM,CAAC;;GAAE,oBAAoB,KAAE;AAAC,QAAGC,IAAE,MAAI,MAAMD,OAAK,OAAO,KAAKC,IAAE,CAAC,IAAGD,IAAE;AAAC,QAAG,CAAC,KAAK,kBAAkB,QAAO,MAAK,KAAK,eAAa,GAAGC,IAAE;IAAE,MAAMD,MAAE,GAAGC,IAAE,EAAC,IAAE,OAAO,OAAO,KAAK;AAAC,SAAI,MAAK,CAACA,KAAEF,QAAK,OAAO,QAAQC,IAAE,CAAC,MAAK,uBAAuB,KAAK,mBAAkBC,KAAEF,KAAE,WAAW,KAAG,EAAEE,OAAGF;AAAG,SAAK,eAAa;;GAAE,kBAAkB,KAAE,KAAE;AAAC,OAAGE,IAAE,EAAC,YAAU,OAAOD,OAAG,OAAKA,IAAE,QAAQ,IAAI,IAAE,KAAK,uBAAuB,KAAK,mBAAkBC,KAAED,KAAE,WAAW,KAAG,KAAK,aAAaC,OAAGD;;GAAG,iBAAiB,KAAE;AAAC,QAAG,KAAK,mBAAiB,GAAE,KAAK,kBAAgB,GAAE,CAAC,KAAK,eAAe,QAAO,MAAK,KAAK,YAAU,GAAGC,IAAE;IAAE,MAAMD,MAAE,GAAGC,IAAE,EAAC,IAAE,OAAO,OAAO,KAAK;AAAC,SAAI,MAAK,CAACA,KAAEF,QAAK,OAAO,QAAQC,IAAE,CAAC,MAAK,uBAAuB,KAAK,gBAAeC,KAAEF,KAAE,QAAQ,KAAG,EAAEE,OAAGF;AAAG,SAAK,YAAU;;GAAE,QAAO;AAAC,WAAO,KAAK,YAAU,OAAO,OAAO,KAAK,EAAC,KAAK,mBAAiB,GAAE,KAAK,kBAAgB,GAAE;;GAAK,cAAc,KAAE;AAAC,SAAK,iBAAe,QAAME,MAAE,MAAI;;GAAE,OAAO,KAAE;AAAC,QAAG,YAAU,OAAOA,OAAG,MAAIA,IAAE,OAAO,QAAOA;AAAE,QAAG,OAAKA,IAAE,QAAQ,IAAI,CAAC,QAAOA;IAAE,MAAMD,MAAEC,KAAE,IAAE,EAAE,EAACF,MAAEE,IAAE;IAAO,IAAIC,MAAE,GAAEC,MAAE;IAAE,MAAMC,MAAE,KAAK,sBAAoB,GAAEC,MAAE,KAAK,qBAAmB,GAAEC,MAAEF,OAAGC;AAAE,WAAKF,MAAEJ,MAAG;AAAC,SAAG,OAAKE,IAAE,WAAWE,IAAE,EAAC;AAAC;AAAI;;KAAS,IAAIH,MAAEG,MAAE;AAAE,YAAKH,MAAED,OAAG,OAAKE,IAAE,WAAWD,IAAE,IAAEA,MAAEG,OAAG,IAAI;AAAI,SAAGH,OAAGD,OAAG,OAAKE,IAAE,WAAWD,IAAE,EAAC;AAAC;AAAI;;KAAS,MAAMO,MAAEN,IAAE,MAAME,MAAE,GAAEH,IAAE;AAAC,SAAG,MAAIO,IAAE,QAAO;AAAC;AAAI;;KAAS,IAAIG,KAAEC;AAAE,SAAG,KAAK,WAAW,IAAIJ,IAAE,CAAC,OAAE,IAAG,KAAK,MAAII,QAAI,MAAE;UAAQ;AAAC,UAAG,KAAK,UAAU,IAAIJ,IAAE,EAAC;AAAC;AAAI;;AAAS,UAAG,OAAKA,IAAE,WAAW,EAAE,EAAC;OAAC,MAAMN,MAAE,KAAK,YAAYM,IAAE;AAAC,WAAG,KAAK,MAAIN,KAAE;AAAC;AAAI;;AAAS,aAAEA,KAAE,MAAE;aAAO;OAAC,MAAMA,MAAE,KAAK,aAAaM,IAAE;AAAC,aAAEN,KAAG,OAAM,MAAEA,KAAG;;;AAAM,SAAG,KAAK,MAAIS,KAAG;UAAGP,MAAED,OAAG,EAAE,KAAKD,IAAE,MAAMC,KAAEC,IAAE,CAAC,EAAC,EAAE,KAAKO,IAAE,EAAC,MAAEV,MAAE,GAAE,MAAEE,KAAEI,OAAG,KAAK,YAAYK,IAAE,EAAC;AAAC,WAAGP,QAAI,KAAK,oBAAmB,KAAK,mBAAiB,KAAK,qBAAqB,OAAM,IAAI,MAAM,2DAA2D,KAAK,iBAAiB,KAAK,KAAK,sBAAsB;AAAC,WAAGC,KAAE;QAAC,MAAMJ,MAAES,IAAE,UAAQH,IAAE,SAAO;AAAG,YAAGN,MAAE,MAAI,KAAK,mBAAiBA,KAAE,KAAK,kBAAgB,KAAK,oBAAoB,OAAM,IAAI,MAAM,4DAA4D,KAAK,gBAAgB,KAAK,KAAK,qBAAqB;;;WAAQ;;AAAI,UAAEF,OAAG,EAAE,KAAKE,IAAE,MAAMC,IAAE,CAAC;IAAC,MAAMK,MAAE,MAAI,EAAE,SAAON,MAAE,EAAE,KAAK,GAAG;AAAC,WAAO,KAAK,WAAWM,KAAEP,IAAE;;GAAC,YAAY,KAAE;AAAC,WAAM,CAAC,CAAC,KAAK,YAAY,IAAI,GAAG,IAAE,KAAK,YAAY,IAAIC,IAAE;;GAAC,aAAa,KAAE;AAAC,WAAOA,OAAK,KAAK,YAAU;KAAC,OAAM,KAAK,UAAUA;KAAG,MAAK;KAAG,GAACA,OAAK,KAAK,eAAa;KAAC,OAAM,KAAK,aAAaA;KAAG,MAAK;KAAG,GAACA,OAAK,KAAK,WAAS;KAAC,OAAM,KAAK,SAASA;KAAG,MAAK;KAAG,GAAC,KAAK;;GAAE,aAAa,KAAE;AAAC,WAAO,MAAIA,MAAE,KAAK,gBAAcA,OAAG,SAAOA,OAAG,SAAO,MAAI,KAAK,kBAAgBA,OAAG,KAAGA,OAAG,MAAI,CAAC,GAAG,IAAIA,IAAE,GAAC,GAAG,SAAO;;GAAG,gBAAgB,KAAE,KAAE,GAAE;AAAC,YAAOA,KAAP;KAAU,KAAK,GAAG,MAAM,QAAO,OAAO,cAAc,EAAE;KAAC,KAAK,GAAG,OAAO,QAAM;KAAG,KAAK,GAAG,MAAM;KAAO,KAAK,GAAG,MAAM,OAAM,IAAI,MAAM,2DAA2DD,IAAE,OAAO,EAAE,SAAS,GAAG,CAAC,aAAa,CAAC,SAAS,GAAE,IAAI,CAAC,GAAG;KAAC,QAAQ,QAAO,OAAO,cAAc,EAAE;;;GAAE,YAAY,KAAE;IAAC,MAAMA,MAAEC,IAAE,WAAW,EAAE;IAAC,IAAI;AAAE,QAAG,IAAE,QAAMD,OAAG,OAAKA,MAAE,SAASC,IAAE,MAAM,EAAE,EAAC,GAAG,GAAC,SAASA,IAAE,MAAM,EAAE,EAAC,GAAG,EAAC,OAAO,MAAM,EAAE,IAAE,IAAE,KAAG,IAAE,QAAQ;IAAO,MAAMF,MAAE,KAAK,aAAa,EAAE;AAAC,QAAG,CAAC,KAAK,mBAAiBA,MAAE,GAAG,OAAO;IAAO,MAAMG,MAAE,OAAKH,MAAE,KAAK,cAAY,KAAK,IAAI,KAAK,aAAYA,IAAE;AAAC,WAAO,KAAK,gBAAgBG,KAAED,KAAE,EAAE;;;EAAE,MAAM,KAAG;GAAC;IAAC,IAAG;IAAyB,aAAY;IAAsE,SAAQ;IAAO;GAAC;IAAC,IAAG;IAAmB,aAAY;IAA8D,SAAQ;IAA2C;GAAC;IAAC,IAAG;IAAiB,aAAY;IAAyC,SAAQ;IAAyB;GAAC;IAAC,IAAG;IAAoB,aAAY;IAA4C,SAAQ;IAA4B;GAAC;IAAC,IAAG;IAAkB,aAAY;IAA+B,SAAQ;IAA0B;GAAC;IAAC,IAAG;IAAkB,aAAY;IAAwC,SAAQ;IAA0B;GAAC;IAAC,IAAG;IAAiB,aAAY;IAA+C,SAAQ;IAAiC;GAAC;IAAC,IAAG;IAAc,aAAY;IAAuD,SAAQ;IAA6B;GAAC;IAAC,IAAG;IAAuB,aAAY;IAA4D,SAAQ;IAAqD;GAAC;IAAC,IAAG;IAAwB,aAAY;IAA4B,SAAQ;IAA2B;GAAC;IAAC,IAAG;IAAuB,aAAY;IAA4B,SAAQ;IAA2B;GAAC;IAAC,IAAG;IAAsB,aAAY;IAAqD,SAAQ;IAA8B;GAAC;IAAC,IAAG;IAAoB,aAAY;IAAkD,SAAQ;IAA4B;GAAC;IAAC,IAAG;IAAoB,aAAY;IAAuD,SAAQ;IAAyB;GAAC;IAAC,IAAG;IAAyB,aAAY;IAAyE,SAAQ;IAA0B;GAAC,EAAC,KAAG;GAAC,GAAG;GAAG;IAAC,IAAG;IAAmB,aAAY;IAA+D,SAAQ;IAAa;GAAC;IAAC,IAAG;IAAoB,aAAY;IAAmE,SAAQ;IAAqE;GAAC;IAAC,IAAG;IAAmB,aAAY;IAAyD,SAAQ;IAAoB;GAAC,EAAC,KAAG;GAAC;IAAC,IAAG;IAAmB,aAAY;IAAsB,SAAQ;IAAiB;GAAC;IAAC,IAAG;IAAoB,aAAY;IAAwB,SAAQ;IAAkB;GAAC;IAAC,IAAG;IAA2B,aAAY;IAA6D,SAAQ;IAAmH;GAAC;IAAC,IAAG;IAAyB,aAAY;IAAuB,SAAQ;IAAuB;GAAC;IAAC,IAAG;IAAiB,aAAY;IAAuD,SAAQ;IAAuC;GAAC;IAAC,IAAG;IAAkB,aAAY;IAAiC,SAAQ;IAA+C;GAAC;IAAC,IAAG;IAAgB,aAAY;IAA+C,SAAQ;IAA4C;GAAC;IAAC,IAAG;IAA4B,aAAY;IAAqE,SAAQ;IAAoB;GAAC;IAAC,IAAG;IAAgC,aAAY;IAAgE,SAAQ;IAA2C;GAAC;IAAC,IAAG;IAAoC,aAAY;IAAsF,SAAQ;IAAsE;GAAC;IAAC,IAAG;IAAwB,aAAY;IAA+D,SAAQ;IAAoC;GAAC;IAAC,IAAG;IAAoB,aAAY;IAAsD,SAAQ;IAA2B;GAAC;IAAC,IAAG;IAAgB,aAAY;IAAuD,SAAQ;IAAc;GAAC;IAAC,IAAG;IAAoB,aAAY;IAAkD,SAAQ;IAAkD;GAAC;IAAC,IAAG;IAAc,aAAY;IAAkE,SAAQ;IAAc;GAAC;IAAC,IAAG;IAAc,aAAY;IAAc,SAAQ;IAAiB;GAAC;IAAC,IAAG;IAAY,aAAY;IAAyE,SAAQ;IAAe;GAAC,EAAC,KAAG;GAAC;IAAC,IAAG;IAAsB,aAAY;IAAqE,SAAQ;IAAe;GAAC;IAAC,IAAG;IAAkB,aAAY;IAAqE,SAAQ;IAAQ;GAAC;IAAC,IAAG;IAA6B,aAAY;IAA6D,SAAQ;IAA2B;GAAC;IAAC,IAAG;IAAwB,aAAY;IAAgE,SAAQ;IAAwB;GAAC;IAAC,IAAG;IAAoB,aAAY;IAA8D,SAAQ;IAAmB;GAAC;IAAC,IAAG;IAAoB,aAAY;IAA8D,SAAQ;IAAmB;GAAC;IAAC,IAAG;IAAyB,aAAY;IAA6E,SAAQ;IAAiB;GAAC;IAAC,IAAG;IAAqB,aAAY;IAA6E,SAAQ;IAAqB;GAAC;IAAC,IAAG;IAA0B,aAAY;IAA0E,SAAQ;IAAgC;GAAC;IAAC,IAAG;IAAwB,aAAY;IAAiE,SAAQ;IAAO;GAAC;IAAC,IAAG;IAAoB,aAAY;IAAyC,SAAQ;IAAM;GAAC;IAAC,IAAG;IAAe,aAAY;IAAgD,SAAQ;IAAM;GAAC,EAAC,KAAG;GAAC;IAAC,IAAG;IAAqB,aAAY;IAAiD,SAAQ;IAAiB;GAAC;IAAC,IAAG;IAA4B,aAAY;IAAiE,SAAQ;IAAiD;GAAC;IAAC,IAAG;IAAsB,aAAY;IAA+D,SAAQ;IAAqC;GAAC;IAAC,IAAG;IAAoB,aAAY;IAA8D,SAAQ;IAAwB;GAAC;IAAC,IAAG;IAAmB,aAAY;IAA2E,SAAQ;IAAsE;GAAC;IAAC,IAAG;IAAmB,aAAY;IAA6E,SAAQ;IAA6D;GAAC;IAAC,IAAG;IAAwB,aAAY;IAAsC,SAAQ;IAAyE;GAAC;IAAC,IAAG;IAAqB,aAAY;IAAoE,SAAQ;IAAmD;GAAC;IAAC,IAAG;IAAoB,aAAY;IAA8E,SAAQ;IAA+F;GAAC;IAAC,IAAG;IAAsB,aAAY;IAAmD,SAAQ;IAAoB;GAAC;IAAC,IAAG;IAAqB,aAAY;IAAqE,SAAQ;IAAiD;GAAC;IAAC,IAAG;IAAqB,aAAY;IAA2D,SAAQ;IAAmF;GAAC;IAAC,IAAG;IAAuB,aAAY;IAAgF,SAAQ;IAAuC;GAAC,EAAC,KAAG;GAAC;IAAC,IAAG;IAA4B,aAAY;IAA0D,SAAQ;IAAS;GAAC;IAAC,IAAG;IAA+B,aAAY;IAA6D,SAAQ;IAAS;GAAC;IAAC,IAAG;IAA+B,aAAY;IAAqD,SAAQ;IAA0B;GAAC;IAAC,IAAG;IAAkB,aAAY;IAA8E,SAAQ;IAAW;GAAC;IAAC,IAAG;IAAkB,aAAY;IAA0C,SAAQ;IAAI;GAAC;IAAC,IAAG;IAAa,aAAY;IAA6B,SAAQ;IAAK;GAAC;IAAC,IAAG;IAAqB,aAAY;IAA6B,SAAQ;IAAK;GAAC;IAAC,IAAG;IAAoB,aAAY;IAA4B,SAAQ;IAAO;GAAC;IAAC,IAAG;IAAiB,aAAY;IAAuC,SAAQ;IAAI;GAAC;IAAC,IAAG;IAAqB,aAAY;IAA4C,SAAQ;IAAO;GAAC;IAAC,IAAG;IAAqB,aAAY;IAAwE,SAAQ;IAAO;GAAC;IAAC,IAAG;IAAqB,aAAY;IAAgD,SAAQ;IAAS;GAAC;IAAC,IAAG;IAAoB,aAAY;IAAgC,SAAQ;IAAI;GAAC;IAAC,IAAG;IAA0B,aAAY;IAAgE,SAAQ;IAAS;GAAC;IAAC,IAAG;IAAkB,aAAY;IAA0D,SAAQ;IAAY;GAAC;IAAC,IAAG;IAAsB,aAAY;IAA2E,SAAQ;IAAe;GAAC;IAAC,IAAG;IAAsB,aAAY;IAAmD,SAAQ;IAAkB;GAAC;IAAC,IAAG;IAAkB,aAAY;IAAyE,SAAQ;IAAgD;GAAC,EAAC,KAAG;GAAC;IAAC,IAAG;IAA+B,aAAY;IAAgF,SAAQ;IAAuB;GAAC;IAAC,IAAG;IAA+B,aAAY;IAAkE,SAAQ;IAAuB;GAAC;IAAC,IAAG;IAAsB,aAAY;IAAqE,SAAQ;IAA6B;GAAC;IAAC,IAAG;IAA4B,aAAY;IAAyE,SAAQ;IAA8D;GAAC;IAAC,IAAG;IAAyB,aAAY;IAAsD,SAAQ;IAAiC;GAAC;IAAC,IAAG;IAAwB,aAAY;IAAyD,SAAQ;IAAkB;GAAC;IAAC,IAAG;IAAyB,aAAY;IAAsG,SAAQ;IAAsB;GAAC;IAAC,IAAG;IAAiC,aAAY;IAA6E,SAAQ;IAAuC;GAAC,EAAC,KAAG,cAAa,KAAG;GAAC;IAAC,IAAG;IAAuB,aAAY;IAAgE,SAAQ,IAAI,OAAO,WAAW,MAAK,IAAI;IAAC;GAAC;IAAC,IAAG;IAAoB,aAAY;IAA4D,SAAQ,IAAI,OAAO,QAAQ,MAAK,IAAI;IAAC;GAAC;IAAC,IAAG;IAAoB,aAAY;IAA4D,SAAQ,IAAI,OAAO,UAAU,MAAK,IAAI;IAAC;GAAC;IAAC,IAAG;IAAoB,aAAY;IAA2C,SAAQ,IAAI,OAAO,UAAU,MAAK,IAAI;IAAC;GAAC;IAAC,IAAG;IAAuB,aAAY;IAAgF,SAAQ,IAAI,OAAO,WAAW,MAAK,IAAI;IAAC;GAAC;IAAC,IAAG;IAAoB,aAAY;IAA0D,SAAQ,IAAI,OAAO,QAAQ,GAAG,UAAS,IAAI;IAAC;GAAC;IAAC,IAAG;IAAqB,aAAY;IAAwC,SAAQ,IAAI,OAAO,SAAS,GAAG,UAAS,IAAI;IAAC;GAAC;IAAC,IAAG;IAAqB,aAAY;IAAwC,SAAQ,IAAI,OAAO,SAAS,GAAG,UAAS,IAAI;IAAC;GAAC;IAAC,IAAG;IAAwB,aAAY;IAAqD,SAAQ,IAAI,OAAO,YAAY,MAAK,IAAI;IAAC;GAAC;IAAC,IAAG;IAAoB,aAAY;IAA0D,SAAQ,IAAI,OAAO,QAAQ,GAAG,UAAS,IAAI;IAAC;GAAC;IAAC,IAAG;IAAsB,aAAY;IAAmE,SAAQ,IAAI,OAAO,UAAU,MAAK,IAAI;IAAC;GAAC;IAAC,IAAG;IAA0B,aAAY;IAA4D,SAAQ,IAAI,OAAO,cAAc,MAAK,IAAI;IAAC;GAAC;IAAC,IAAG;IAA6B,aAAY;IAAgE,SAAQ,IAAI,OAAO,iBAAiB,MAAK,IAAI;IAAC;GAAC;IAAC,IAAG;IAAwB,aAAY;IAA2D,SAAQ;IAAY;GAAC;IAAC,IAAG;IAA8B,aAAY;IAA4F,SAAQ;IAAqC;GAAC;IAAC,IAAG;IAAsB,aAAY;IAAuD,SAAQ;IAAwB;GAAC,EAAC,KAAG;GAAC;IAAC,IAAG;IAAqB,aAAY;IAA2D,SAAQ;IAAS;GAAC;IAAC,IAAG;IAAuB,aAAY;IAAqE,SAAQ;IAAW;GAAC;IAAC,IAAG;IAAsB,aAAY;IAAkF,SAAQ;IAAiB;GAAC;IAAC,IAAG;IAAqB,aAAY;IAAwE,SAAQ;IAAgB;GAAC;IAAC,IAAG;IAA2B,aAAY;IAAoF,SAAQ;IAAU;GAAC;IAAC,IAAG;IAAmB,aAAY;IAA8E,SAAQ;IAA6D;GAAC;IAAC,IAAG;IAAwB,aAAY;IAAqE,SAAQ;IAAuB;GAAC;IAAC,IAAG;IAAsB,aAAY;IAAiE,SAAQ;IAAoB;GAAC;IAAC,IAAG;IAAwB,aAAY;IAA6F,SAAQ;IAAmF;GAAC;IAAC,IAAG;IAAuB,aAAY;IAAsD,SAAQ;IAAoB;GAAC;IAAC,IAAG;IAAgB,aAAY;IAAyE,SAAQ;IAAW;GAAC;IAAC,IAAG;IAAkB,aAAY;IAAmF,SAAQ;IAAS;GAAC;EAAC,SAAS,GAAG,KAAE,KAAE;GAAC,MAAM,IAAED,IAAE,SAAO;AAAS,QAAI,MAAMD,OAAKC,IAAE,KAAGD,IAAE,QAAQ,KAAKE,IAAE,CAAC,QAAM;IAAC,SAAQ;IAAE,IAAGF,IAAE;IAAG,aAAYA,IAAE;IAAY,SAAQA,IAAE;IAAQ;AAAC,UAAO;;EAAK,SAAS,GAAG,KAAE,KAAE;AAAC,IAAC,SAAS,KAAE;AAAC,QAAG,YAAU,OAAOE,IAAE,OAAM,IAAI,UAAU,qDAAmD,OAAOA,IAAE;MAAGA,IAAE,EAAC,SAAS,KAAE;AAAC,QAAG,EAAEA,eAAa,SAAQ;AAAC,SAAG,CAAC,MAAM,QAAQA,IAAE,CAAC,OAAM,IAAI,UAAU,kIAAgI,OAAOA,IAAE;AAAC,SAAG,MAAIA,IAAE,OAAO,OAAM,IAAI,UAAU,gDAAgD;AAAC,SAAG,MAAM,QAAQA,IAAE,GAAG,EAAC;WAAI,MAAMD,OAAKC,IAAE,KAAG,CAAC,MAAM,QAAQD,IAAE,IAAE,MAAIA,IAAE,OAAO,OAAM,IAAI,UAAU,uFAAuF;;;KAAGA,IAAE;GAAC,MAAK,EAAC,OAAM,GAAE,OAAMD,QAAG,SAAS,KAAE;AAAC,WAAOE,eAAa,SAAO;KAAC,OAAM;KAAK,OAAMA;KAAE,GAAC,MAAM,QAAQA,IAAE,GAAG,GAAC;KAAC,OAAMA;KAAE,OAAM;KAAK,GAAC;KAAC,OAAM,CAACA,IAAE;KAAC,OAAM;KAAK;KAAED,IAAE;AAAC,OAAGD,IAAE,QAAOA,IAAE,KAAKE,IAAE;AAAC,QAAI,MAAMD,OAAK,EAAE,KAAG,SAAO,GAAGC,KAAED,IAAE,CAAC,QAAM,CAAC;AAAE,UAAM,CAAC;;EAAE,SAAS,GAAG,KAAE,KAAE;AAAC,OAAG,CAACC,IAAE,QAAM,EAAE;GAAC,MAAM,IAAED,IAAE,sBAAoBC,IAAED,IAAE,uBAAqBC;AAAE,OAAG,CAAC,EAAE,QAAM,EAAE;GAAC,MAAMF,MAAE,EAAE;AAAC,QAAI,MAAME,OAAK,EAAE,KAAE,WAAWD,IAAE,oBAAoB,GAAC,IAAEC,IAAE,UAAUD,IAAE,oBAAoB,OAAO,IAAE,EAAEC,OAAG,IAAEA,OAAG,EAAEA;AAAG,UAAOF;;EAAE,SAAS,GAAG,KAAE;AAAC,OAAG,CAACE,OAAG,YAAU,OAAOA,IAAE;GAAO,MAAMD,MAAEC,IAAE,QAAQ,IAAI;AAAC,OAAG,OAAKD,OAAGA,MAAE,GAAE;IAAC,MAAM,IAAEC,IAAE,UAAU,GAAED,IAAE;AAAC,QAAG,YAAU,EAAE,QAAO;;;AAAG,KAAG,QAAM,QAAO,GAAG,QAAM,OAAM,GAAG,QAAM,OAAM,GAAG,QAAM,OAAM,GAAG,QAAM,cAAa,GAAG,QAAM,SAAQ,GAAG,QAAM,SAAQ,GAAG,QAAM,SAAQ,GAAG,QAAM,OAAM,OAAO,OAAO;GAAC,MAAK;GAAG,KAAI;GAAG,KAAI;GAAG,KAAI;GAAG,cAAa;GAAG,OAAM;GAAG,OAAM;GAAG,OAAM;GAAG,KAAI;GAAG,CAAC;EAAC,MAAM,GAAE;GAAC,YAAY,KAAE,KAAE;IAAC,IAAI;AAAE,SAAK,UAAQC,KAAE,KAAK,cAAY,MAAK,KAAK,gBAAc,EAAE,EAAC,KAAK,WAAS,IAAG,KAAK,gBAAc,IAAG,KAAK,mBAAiB,IAAG,KAAK,qBAAmB,IAAG,KAAK,eAAa,IAAG,KAAK,uBAAqB,IAAG,KAAK,mBAAiB,IAAG,KAAK,sBAAoB,IAAG,KAAK,WAAS,IAAG,KAAK,qBAAmB,cAAY,QAAO,IAAE,KAAK,QAAQ,oBAAkB,IAAE,MAAM,QAAQ,EAAE,IAAC,QAAG;AAAC,UAAI,MAAMD,OAAK,GAAE;AAAC,UAAG,YAAU,OAAOA,OAAGC,QAAID,IAAE,QAAM,CAAC;AAAE,UAAGA,eAAa,UAAQA,IAAE,KAAKC,IAAE,CAAC,QAAM,CAAC;;cAAQ,CAAC,GAAE,KAAK,uBAAqB,GAAE,KAAK,wBAAsB,GAAE,KAAK,eAAa,CAAC;IAAE,IAAIF,MAAE,EAAC,GAAG,IAAG;AAAC,SAAK,QAAQ,gBAAc,KAAK,gBAAc,KAAK,QAAQ,iBAAe,YAAU,OAAO,KAAK,QAAQ,eAAa,MAAE,KAAK,QAAQ,eAAa,CAAC,MAAI,KAAK,QAAQ,iBAAe,MAAE;KAAC,GAAG;KAAG,GAAG;KAAG,GAAE,KAAK,gBAAc,IAAI,GAAG;KAAC,eAAc;MAAC,GAAGA;MAAE,GAAGC;MAAE;KAAC,gBAAe,KAAK,QAAQ;KAAa,OAAM;MAAC,oBAAmB,KAAK,QAAQ,gBAAgB;MAAmB,mBAAkB,KAAK,QAAQ,gBAAgB;MAAkB,eAAc,KAAK,QAAQ,gBAAgB;MAAU;KAAC,gBAAe,KAAE,QAAI,GAAGA,KAAE,CAAC,IAAG,GAAG,CAAC,GAAC,GAAG,QAAM,GAAG;KAAM,CAAC,GAAE,KAAK,UAAQ,IAAI,IAAE,EAAC,KAAK,kBAAgB,KAAK,QAAQ,UAAU,EAAC,KAAK,wBAAsB,CAAC,GAAE,KAAK,yBAAuB,IAAI,IAAE;IAAC,MAAME,MAAE,KAAK,QAAQ;AAAU,QAAGA,OAAGA,IAAE,SAAO,GAAE;AAAC,UAAI,IAAID,MAAE,GAAEA,MAAEC,IAAE,QAAO,OAAI;MAAC,MAAMF,MAAEE,IAAED;AAAG,kBAAU,OAAOD,MAAE,KAAK,uBAAuB,IAAI,IAAI,GAAGA,IAAE,CAAC,GAACA,eAAa,MAAI,KAAK,uBAAuB,IAAIA,IAAE;;AAAC,UAAK,uBAAuB,MAAM;;;;EAAG,SAAS,GAAG,KAAE,KAAE,GAAE,KAAE,KAAE,KAAE,KAAE;GAAC,MAAMK,MAAE,KAAK;AAAQ,OAAG,KAAK,MAAIJ,QAAII,IAAE,cAAY,CAACN,QAAI,MAAEE,IAAE,MAAM,GAAEA,IAAE,SAAO,IAAG;AAAC,YAAI,MAAE,KAAK,qBAAqBA,KAAED,KAAE,EAAE;IAAE,MAAMD,MAAEM,IAAE,QAAM,EAAE,UAAU,GAAC,GAAEC,MAAED,IAAE,kBAAkBL,KAAEC,KAAEF,KAAEG,KAAEC,IAAE;AAAC,WAAO,QAAMG,MAAEL,MAAE,OAAOK,OAAG,OAAOL,OAAGK,QAAIL,MAAEK,MAAED,IAAE,cAAYJ,IAAE,MAAM,KAAGA,MAAE,GAAGA,KAAEI,IAAE,eAAcA,IAAE,mBAAmB,GAACJ;;;EAAG,SAAS,GAAG,KAAE;AAAC,OAAG,KAAK,QAAQ,gBAAe;IAAC,MAAMD,MAAEC,IAAE,MAAM,IAAI,EAAC,IAAE,QAAMA,IAAE,OAAO,EAAE,GAAC,MAAI;AAAG,QAAG,YAAUD,IAAE,GAAG,QAAM;AAAG,UAAIA,IAAE,WAAS,MAAE,IAAEA,IAAE;;AAAI,UAAOC;;EAAE,MAAM,KAAG,IAAI,OAAO,gDAA+C,KAAK;EAAC,SAAS,GAAG,KAAE,KAAE,GAAE,MAAE,CAAC,GAAE;GAAC,MAAME,MAAE,KAAK;AAAQ,OAAG,CAAC,MAAIJ,OAAG,CAAC,MAAII,IAAE,oBAAkB,YAAU,OAAOF,KAAE;IAAC,MAAMF,MAAE,EAAEE,KAAE,GAAG,EAACG,MAAEL,IAAE,QAAOM,MAAE,EAAE,EAACC,MAAE,IAAI,MAAMF,IAAE;IAAC,IAAIG,MAAE,CAAC;IAAE,MAAMG,MAAE,EAAE;AAAC,SAAI,IAAIT,MAAE,GAAEA,MAAEG,KAAE,OAAI;KAAC,MAAMJ,MAAE,KAAK,iBAAiBD,IAAEE,KAAG,GAAG,EAACC,MAAEH,IAAEE,KAAG;AAAG,SAAGD,IAAE,UAAQ,KAAK,MAAIE,KAAE;MAAC,IAAIH,MAAEG;AAAE,UAAE,eAAa,MAAEH,IAAE,MAAM,GAAE,MAAE,KAAK,qBAAqBA,KAAE,GAAE,KAAK,gBAAgB,EAAC,IAAEE,OAAGF,KAAE,IAAEC,OAAGD,KAAE,MAAE,CAAC;;;AAAG,WAAG,YAAU,OAAOC,OAAGA,IAAE,iBAAeA,IAAE,cAAcU,IAAE;IAAC,MAAMC,MAAER,IAAE,QAAMH,IAAE,UAAU,GAAC,KAAK;IAAgB,IAAIY,MAAE,CAAC;AAAE,SAAI,IAAIX,MAAE,GAAEA,MAAEG,KAAE,OAAI;KAAC,MAAMJ,MAAE,KAAK,iBAAiBD,IAAEE,KAAG,GAAG;AAAC,SAAG,KAAK,mBAAmBD,KAAEW,IAAE,CAAC;KAAS,IAAIF,MAAEN,IAAE,sBAAoBH;AAAE,SAAGA,IAAE,OAAO,KAAGG,IAAE,2BAAyB,MAAEA,IAAE,uBAAuBM,IAAE,GAAE,MAAE,GAAGA,KAAEN,IAAE,EAAC,KAAK,MAAIJ,IAAEE,KAAG,IAAG;MAAC,MAAMF,MAAEO,IAAEL,MAAGC,MAAEC,IAAE,wBAAwBH,KAAED,KAAEY,IAAE;AAAC,UAAEF,OAAG,QAAMP,MAAEH,MAAE,OAAOG,OAAG,OAAOH,OAAGG,QAAIH,MAAEG,MAAE,GAAGH,KAAEI,IAAE,qBAAoBA,IAAE,mBAAmB,EAAC,MAAE,CAAC;WAAO,KAAE,2BAAyB,IAAEM,OAAG,CAAC,GAAE,MAAE,CAAC;;AAAG,QAAG,CAACG,IAAE;AAAO,QAAGT,IAAE,uBAAqB,CAACA,IAAE,eAAc;KAAC,MAAMF,MAAE,EAAE;AAAC,YAAO,IAAEE,IAAE,uBAAqBE,KAAEJ;;AAAE,WAAOI;;;EAAG,MAAM,KAAG,SAAS,KAAE;AAAC,SAAEJ,IAAE,QAAQ,UAAS,KAAK;GAAC,MAAMD,MAAE,IAAI,EAAE,OAAO;GAAC,IAAI,IAAEA,KAAED,MAAE;AAAG,QAAK,QAAQ,OAAO,EAAC,KAAK,cAAc,OAAO,EAAC,KAAK,uBAAqB,GAAE,KAAK,wBAAsB,GAAE,KAAK,eAAa,CAAC;GAAE,MAAMG,MAAE,KAAK,SAAQC,MAAE,IAAI,EAAED,IAAE,gBAAgB,EAACE,MAAEH,IAAE;AAAO,QAAI,IAAII,MAAE,GAAEA,MAAED,KAAE,MAAI,KAAG,QAAMH,IAAEI,MAAG;IAAC,MAAMC,MAAEL,IAAE,WAAWI,MAAE,EAAE;AAAC,QAAG,OAAKC,KAAE;KAAC,MAAMN,MAAE,GAAGC,KAAE,KAAII,KAAE,6BAA6B;KAAC,IAAIF,MAAEF,IAAE,UAAUI,MAAE,GAAEL,IAAE,CAAC,MAAM;AAAC,SAAGE,IAAE,gBAAe;MAAC,MAAMD,MAAEE,IAAE,QAAQ,IAAI;AAAC,aAAKF,QAAI,MAAEE,IAAE,OAAOF,MAAE,EAAE;;AAAE,WAAE,GAAGC,IAAE,kBAAiBC,KAAE,IAAGD,IAAE,CAAC,SAAQ,MAAI,MAAE,KAAK,oBAAoBH,KAAE,GAAE,KAAK,gBAAgB;KAAE,MAAMK,MAAE,KAAK,QAAQ,eAAe;AAAC,SAAGD,OAAGD,IAAE,gBAAgB,IAAIC,IAAE,CAAC,OAAM,IAAI,MAAM,kDAAkDA,IAAE,GAAG;AAAC,YAAGD,IAAE,gBAAgB,IAAIE,IAAE,KAAG,KAAK,QAAQ,KAAK,EAAC,KAAK,cAAc,KAAK,GAAE,KAAK,QAAQ,KAAK,EAAC,KAAK,wBAAsB,CAAC,GAAE,IAAE,KAAK,cAAc,KAAK,EAAC,MAAE,IAAG,MAAEJ;eAAU,OAAKM,KAAE;KAAC,IAAIN,MAAE,GAAGC,KAAEI,KAAE,CAAC,GAAE,KAAK;AAAC,SAAG,CAACL,IAAE,OAAM,IAAI,MAAM,wBAAwB;AAAC,WAAE,KAAK,oBAAoBD,KAAE,GAAE,KAAK,gBAAgB;KAAC,MAAMK,MAAE,KAAK,mBAAmBJ,IAAE,QAAO,KAAK,SAAQA,IAAE,SAAQ,CAAC,EAAE;AAAC,SAAGI,KAAE;MAAC,MAAMH,MAAEG,IAAE,KAAK,QAAQ,sBAAoB;AAAW,WAAK,cAAc,cAAc,OAAOH,IAAE,IAAE,EAAE,EAACE,IAAE,cAAc,OAAOF,IAAE,IAAE,EAAE;;AAAC,SAAGC,IAAE,qBAAmB,WAASF,IAAE,WAASE,IAAE;UAAkB;MAAC,MAAMD,MAAE,IAAI,EAAED,IAAE,QAAQ;AAAC,UAAE,IAAIE,IAAE,cAAa,GAAG,EAACF,IAAE,YAAUA,IAAE,UAAQA,IAAE,kBAAgB,CAAC,MAAIE,IAAE,qBAAmB,IAAE,QAAME,MAAG,KAAK,SAAS,GAAEH,KAAE,KAAK,iBAAgBI,IAAE;;AAAC,WAAEL,IAAE,aAAW;eAAU,OAAKM,OAAG,OAAKL,IAAE,WAAWI,MAAE,EAAE,IAAE,OAAKJ,IAAE,WAAWI,MAAE,EAAE,EAAC;KAAC,MAAML,MAAE,GAAGC,KAAE,OAASI,MAAE,GAAE,yBAAyB;AAAC,SAAGH,IAAE,iBAAgB;MAAC,MAAMC,MAAEF,IAAE,UAAUI,MAAE,GAAEL,MAAE,EAAE;AAAC,YAAE,KAAK,oBAAoBD,KAAE,GAAE,KAAK,gBAAgB,EAAC,EAAE,IAAIG,IAAE,iBAAgB,CAAC,GAAEA,IAAE,eAAcC,KAAE,CAAC,CAAC;;AAAC,WAAEH;eAAU,OAAKM,OAAG,OAAKL,IAAE,WAAWI,MAAE,EAAE,EAAC;AAAC,SAAG,KAAK,aAAa,OAAM,IAAI,MAAM,uCAAuC;AAAC,UAAK,eAAa,CAAC;KAAE,MAAML,MAAEG,IAAE,YAAYF,KAAEI,IAAE;AAAC,UAAK,cAAc,iBAAiBL,IAAE,SAAS,EAAC,MAAEA,IAAE;eAAU,OAAKM,OAAG,OAAKL,IAAE,WAAWI,MAAE,EAAE,EAAC;KAAC,MAAML,MAAE,GAAGC,KAAE,OAAMI,KAAE,uBAAuB,GAAC,GAAEF,MAAEF,IAAE,UAAUI,MAAE,GAAEL,IAAE;AAAC,WAAE,KAAK,oBAAoBD,KAAE,GAAE,KAAK,gBAAgB;KAAC,IAAIK,MAAE,KAAK,cAAcD,KAAE,EAAE,SAAQ,KAAK,iBAAgB,CAAC,GAAE,CAAC,GAAE,CAAC,GAAE,CAAC,EAAE;AAAC,KAAUC,QAAE,IAAIF,IAAE,gBAAc,EAAE,IAAIA,IAAE,eAAc,CAAC,GAAEA,IAAE,eAAcC,KAAE,CAAC,CAAC,GAAC,EAAE,IAAID,IAAE,cAAaE,IAAE,EAAC,MAAEJ,MAAE;WAAM;KAAC,IAAIG,MAAE,GAAGF,KAAEI,KAAEH,IAAE,eAAe;AAAC,SAAG,CAACC,KAAE;MAAC,MAAMH,MAAEC,IAAE,UAAU,KAAK,IAAI,GAAEI,MAAE,GAAG,EAAC,KAAK,IAAID,KAAEC,MAAE,GAAG,CAAC;AAAC,YAAM,IAAI,MAAM,6CAA6CA,IAAE,cAAcL,IAAE,GAAG;;KAAC,IAAIM,MAAEH,IAAE;KAAQ,MAAMI,MAAEJ,IAAE;KAAW,IAAIO,MAAEP,IAAE,QAAOQ,MAAER,IAAE,gBAAeS,MAAET,IAAE;AAAW,SAAI,CAAC,SAAQG,KAAE,QAAOI,OAAG,GAAGR,IAAE,kBAAiBI,KAAEI,KAAER,IAAE,EAAEA,IAAE,wBAAsBI,QAAIJ,IAAE,mBAAiBI,QAAIJ,IAAE,iBAAeI,QAAIJ,IAAE,gBAAcI,QAAIJ,IAAE,qBAAqB,OAAM,IAAI,MAAM,qBAAqBI,MAAI;AAAC,UAAGP,OAAG,WAAS,EAAE,YAAU,MAAE,KAAK,oBAAoBA,KAAE,GAAE,KAAK,iBAAgB,CAAC,EAAE;KAAE,MAAMS,MAAE;AAAE,YAAGN,IAAE,gBAAgB,IAAIM,IAAE,QAAQ,KAAG,IAAE,KAAK,cAAc,KAAK,EAAC,KAAK,QAAQ,KAAK;KAAE,IAAIK,MAAE,CAAC;AAAE,SAAE,SAAO,KAAGH,IAAE,YAAY,IAAI,KAAGA,IAAE,SAAO,MAAI,MAAE,CAAC,GAAE,QAAMJ,IAAEA,IAAE,SAAO,MAAI,MAAEA,IAAE,OAAO,GAAEA,IAAE,SAAO,EAAE,EAAC,MAAEA,OAAG,MAAEI,IAAE,OAAO,GAAEA,IAAE,SAAO,EAAE,EAAC,MAAEJ,QAAII;KAAG,IAAII,KAAEC,MAAE;AAAU,WAAE,GAAGR,IAAE,EAACD,QAAIN,IAAE,WAAS,KAAK,QAAQ,KAAKM,KAAE,EAAE,EAACQ,IAAE,EAACR,QAAII,OAAGC,QAAI,MAAE,KAAK,mBAAmBD,KAAE,KAAK,SAAQJ,IAAE,EAACS,OAAM,GAAGA,KAAEb,IAAE,GAAGI,QAAIN,IAAE,YAAU,KAAK,wBAAsB,KAAK,cAAc;KAAE,MAAMgB,MAAEX;AAAE,SAAG,KAAK,uBAAsB;MAAC,IAAIL,MAAE;AAAG,UAAGa,IAAE,OAAEV,IAAE;eAAmBD,IAAE,gBAAgB,IAAII,IAAE,CAAC,OAAEH,IAAE;WAAe;OAAC,MAAMM,MAAE,KAAK,iBAAiBR,KAAEM,KAAEK,MAAE,EAAE;AAAC,WAAG,CAACH,IAAE,OAAM,IAAI,MAAM,qBAAqBF,MAAI;AAAC,aAAEE,IAAE,GAAE,MAAEA,IAAE;;MAAW,MAAMV,MAAE,IAAI,EAAEO,IAAE;AAAC,cAAI,IAAE,QAAMS,MAAGhB,IAAE,IAAIG,IAAE,cAAaF,IAAE,EAAC,KAAK,QAAQ,KAAK,EAAC,KAAK,wBAAsB,CAAC,GAAE,KAAK,SAAS,GAAED,KAAE,KAAK,iBAAgBiB,IAAE;YAAK;AAAC,UAAGH,KAAE;AAAC,QAAC,CAAC,SAAQP,KAAE,QAAOI,OAAG,GAAGR,IAAE,kBAAiBI,KAAEI,KAAER,IAAE;OAAE,MAAMD,MAAE,IAAI,EAAEK,IAAE;AAAC,eAAI,IAAE,QAAMS,MAAG,KAAK,SAAS,GAAEd,KAAE,KAAK,iBAAgBe,IAAE,EAAC,KAAK,QAAQ,KAAK,EAAC,KAAK,wBAAsB,CAAC;aAAM;AAAC,WAAGd,IAAE,gBAAgB,IAAII,IAAE,EAAC;QAAC,MAAML,MAAE,IAAI,EAAEK,IAAE;AAAC,gBAAI,IAAE,QAAMS,MAAG,KAAK,SAAS,GAAEd,KAAE,KAAK,iBAAgBe,IAAE,EAAC,KAAK,QAAQ,KAAK,EAAC,KAAK,wBAAsB,CAAC,GAAE,MAAEb,IAAE;AAAW;;OAAS;QAAC,MAAMF,MAAE,IAAI,EAAEK,IAAE;AAAC,YAAG,KAAK,cAAc,SAAOJ,IAAE,cAAc,OAAM,IAAI,MAAM,+BAA+B;AAAC,aAAK,cAAc,KAAK,EAAE,EAACa,QAAI,IAAE,QAAMA,MAAG,KAAK,SAAS,GAAEd,KAAE,KAAK,iBAAgBe,IAAE,EAAC,IAAEf;;;AAAG,YAAE,IAAG,MAAEW;;;SAAS,QAAGX,IAAEI;AAAG,UAAOL,IAAE;;EAAO,SAAS,GAAG,KAAE,KAAE,GAAE,KAAE;AAAC,QAAK,QAAQ,oBAAkB,MAAE,KAAK;GAAG,MAAME,MAAE,KAAK,QAAQ,QAAM,EAAE,UAAU,GAAC,GAAEC,MAAE,KAAK,QAAQ,UAAUH,IAAE,SAAQE,KAAEF,IAAE,MAAM;AAAC,IAAC,MAAIG,QAAI,YAAU,OAAOA,OAAG,IAAE,UAAQA,KAAEF,IAAE,SAASD,KAAED,IAAE,IAAEE,IAAE,SAASD,KAAED,IAAE;;EAAE,SAAS,GAAG,KAAE,KAAE,GAAE;GAAC,MAAMA,MAAE,KAAK,QAAQ;AAAgB,OAAG,CAACA,OAAG,CAACA,IAAE,QAAQ,QAAOE;AAAE,OAAGF,IAAE,aAAY;IAAC,MAAMG,MAAE,KAAK,QAAQ,QAAM,EAAE,UAAU,GAAC;AAAE,QAAG,EAAE,MAAM,QAAQH,IAAE,YAAY,GAACA,IAAE,YAAY,SAASC,IAAE,GAACD,IAAE,YAAYC,KAAEE,IAAE,EAAE,QAAOD;;AAAE,OAAGF,IAAE,WAAU;IAAC,MAAMG,MAAE,KAAK,QAAQ,QAAM,EAAE,UAAU,GAAC;AAAE,QAAG,CAACH,IAAE,UAAUC,KAAEE,IAAE,CAAC,QAAOD;;AAAE,UAAO,KAAK,cAAc,OAAOA,IAAE;;EAAC,SAAS,GAAG,KAAE,KAAE,GAAE,KAAE;AAAC,UAAOA,QAAI,KAAK,MAAIF,QAAI,MAAE,MAAIC,IAAE,MAAM,SAAQ,KAAK,OAAK,MAAE,KAAK,cAAcC,KAAED,IAAE,SAAQ,GAAE,CAAC,GAAE,CAAC,CAACA,IAAE,SAAO,MAAI,OAAO,KAAKA,IAAE,MAAM,CAAC,QAAOD,IAAE,KAAG,OAAKE,OAAGD,IAAE,IAAI,KAAK,QAAQ,cAAaC,IAAE,EAAC,MAAE,KAAIA;;EAAE,SAAS,KAAI;AAAC,UAAO,MAAI,KAAK,uBAAuB,QAAM,KAAK,QAAQ,WAAW,KAAK,uBAAuB;;EAAC,SAAS,GAAG,KAAE,KAAE,GAAE,KAAE;GAAC,MAAMC,MAAED,IAAE,QAAQD,KAAE,EAAE;AAAC,OAAG,OAAKE,IAAE,OAAM,IAAI,MAAMH,IAAE;AAAC,UAAOG,MAAEF,IAAE,SAAO;;EAAE,SAAS,GAAG,KAAE,KAAE,GAAE,KAAE;GAAC,MAAME,MAAED,IAAE,QAAQD,KAAE,EAAE;AAAC,OAAG,OAAKE,IAAE,OAAM,IAAI,MAAMH,IAAE;AAAC,UAAOG;;EAAE,SAAS,GAAG,KAAE,KAAE,GAAE,MAAE,KAAI;GAAC,MAAMA,MAAE,SAAS,KAAE,KAAE,MAAE,KAAI;IAAC,IAAIH,MAAE;IAAE,MAAMG,MAAED,IAAE,QAAOE,MAAEM,IAAE,WAAW,EAAE,EAACL,MAAEK,IAAE,SAAO,IAAEA,IAAE,WAAW,EAAE,GAAC;IAAG,IAAIJ,MAAE,IAAGC,MAAEN;AAAE,SAAI,IAAIS,MAAET,KAAES,MAAEP,KAAE,OAAI;KAAC,MAAMF,MAAEC,IAAE,WAAWQ,IAAE;AAAC,SAAGV,IAAE,SAAIA,QAAI,MAAE;cAAW,OAAKC,OAAG,OAAKA,IAAE,OAAEA;cAAUA,QAAIG,KAAE;AAAC,UAAG,OAAKC,IAAE,QAAO,OAAGH,IAAE,UAAUK,KAAEG,IAAE,EAAC;OAAC,MAAKJ;OAAE,OAAMI;OAAE;AAAC,UAAGR,IAAE,WAAWQ,MAAE,EAAE,KAAGL,IAAE,QAAO,OAAGH,IAAE,UAAUK,KAAEG,IAAE,EAAC;OAAC,MAAKJ;OAAE,OAAMI;OAAE;WAAM,OAAIT,OAAGD,QAAI,OAAGE,IAAE,UAAUK,KAAEG,IAAE,GAAC,KAAI,MAAEA,MAAE;;KAAKR,KAAED,MAAE,GAAED,IAAE;AAAC,OAAG,CAACG,IAAE;GAAO,IAAIC,MAAED,IAAE;GAAK,MAAME,MAAEF,IAAE,OAAMG,MAAEF,IAAE,OAAO,KAAK;GAAC,IAAIG,MAAEH,KAAEI,MAAE,CAAC;AAAE,UAAKF,QAAI,MAAEF,IAAE,UAAU,GAAEE,IAAE,EAAC,MAAEF,IAAE,UAAUE,MAAE,EAAE,CAAC,WAAW;GAAE,MAAMK,MAAEJ;AAAE,OAAG,GAAE;IAAC,MAAML,MAAEK,IAAE,QAAQ,IAAI;AAAC,WAAKL,QAAI,MAAEK,IAAE,OAAOL,MAAE,EAAE,EAAC,MAAEK,QAAIJ,IAAE,KAAK,OAAOD,MAAE,EAAE;;AAAE,UAAM;IAAC,SAAQK;IAAE,QAAOH;IAAE,YAAWC;IAAE,gBAAeG;IAAE,YAAWG;IAAE;;EAAC,SAAS,GAAG,KAAE,KAAE,GAAE;GAAC,MAAMX,MAAE;GAAE,IAAIG,MAAE;GAAE,MAAMC,MAAEF,IAAE;AAAO,UAAK,IAAEE,KAAE,IAAI,KAAG,QAAMF,IAAE,IAAG;IAAC,MAAME,MAAEF,IAAE,WAAW,IAAE,EAAE;AAAC,QAAG,OAAKE,KAAE;KAAC,MAAMA,MAAE,GAAGF,KAAE,KAAI,GAAE,GAAGD,IAAE,gBAAgB;AAAC,SAAGC,IAAE,UAAU,IAAE,GAAEE,IAAE,CAAC,MAAM,KAAGH,QAAI,OAAI,MAAIE,KAAG,QAAM;MAAC,YAAWD,IAAE,UAAUF,KAAE,EAAE;MAAC,GAAEI;MAAE;AAAC,SAAEA;eAAU,OAAKA,IAAE,KAAE,GAAGF,KAAE,MAAK,IAAE,GAAE,0BAA0B;aAAS,OAAKE,OAAG,OAAKF,IAAE,WAAW,IAAE,EAAE,IAAE,OAAKA,IAAE,WAAW,IAAE,EAAE,CAAC,KAAE,GAAGA,KAAE,OAAS,IAAE,GAAE,0BAA0B;aAAS,OAAKE,OAAG,OAAKF,IAAE,WAAW,IAAE,EAAE,CAAC,KAAE,GAAGA,KAAE,OAAM,GAAE,0BAA0B,GAAC;SAAM;KAAC,MAAMF,MAAE,GAAGE,KAAE,GAAE,CAAC,EAAE;AAAC,cAAKF,OAAGA,IAAE,aAAWC,OAAG,QAAMD,IAAE,OAAOA,IAAE,OAAO,SAAO,MAAI,OAAI,IAAEA,IAAE;;;;EAAc,SAAS,GAAG,KAAE,KAAE,GAAE;AAAC,OAAGC,OAAG,YAAU,OAAOC,KAAE;IAAC,MAAMD,MAAEC,IAAE,MAAM;AAAC,WAAM,WAASD,OAAG,YAAUA,OAAG,GAAGC,KAAE,EAAE;;AAAC,UAAO,KAAK,MAAIA,MAAEA,MAAE;;EAAG,SAAS,GAAG,KAAE,KAAE,GAAE,KAAE;AAAC,OAAGA,KAAE;IAAC,MAAMF,MAAEE,IAAED,IAAE;AAAC,UAAIA,QAAI,IAAED,MAAG,MAAEA;;AAAE,UAAM;IAAC,SAAQ,MAAE,GAAGC,KAAED,IAAE;IAAC,QAAO;IAAE;;EAAC,SAAS,GAAG,KAAE,KAAE;AAAC,OAAG,EAAE,SAASE,IAAE,CAAC,OAAM,IAAI,MAAM,6BAA6BA,IAAE,yEAAyE;AAAC,UAAO,EAAE,SAASA,IAAE,GAACD,IAAE,oBAAoBC,IAAE,GAACA;;EAAE,MAAM,KAAG,EAAE,mBAAmB;EAAC,SAAS,GAAG,KAAE,KAAE;AAAC,OAAG,CAACA,OAAG,YAAU,OAAOA,IAAE,QAAM,EAAE;AAAC,OAAG,CAACD,IAAE,QAAOC;GAAE,MAAM,IAAE,EAAE;AAAC,QAAI,MAAMF,OAAKE,IAAE,KAAE,WAAWD,IAAE,GAAC,EAAED,IAAE,UAAUC,IAAE,OAAO,IAAEC,IAAEF,OAAG,EAAEA,OAAGE,IAAEF;AAAG,UAAO;;EAAE,SAAS,GAAG,KAAE,KAAE,GAAE,KAAE;AAAC,UAAO,GAAGE,KAAED,KAAE,GAAED,IAAE;;EAAC,SAAS,GAAG,KAAE,KAAE,GAAE,KAAE;GAAC,IAAIG;GAAE,MAAMC,MAAE,EAAE;AAAC,QAAI,IAAIC,MAAE,GAAEA,MAAEH,IAAE,QAAO,OAAI;IAAC,MAAMI,MAAEJ,IAAEG,MAAGE,MAAE,GAAGD,IAAE;AAAC,QAAG,KAAK,MAAIC,OAAGA,QAAIN,IAAE,cAAa;KAAC,MAAMC,MAAE,GAAGI,IAAE,SAAO,EAAE,EAACL,IAAE,oBAAoB;AAAC,OAAE,KAAKM,KAAEL,IAAE;;AAAC,QAAGK,QAAIN,IAAE,aAAa,MAAK,MAAIE,MAAE,MAAEG,IAAEC,OAAG,OAAG,KAAGD,IAAEC;SAAO;AAAC,SAAG,KAAK,MAAIA,IAAE;AAAS,SAAGD,IAAEC,MAAG;MAAC,IAAIL,MAAE,GAAGI,IAAEC,MAAGN,KAAE,GAAED,IAAE;MAAC,MAAMG,MAAE,GAAGD,KAAED,IAAE;AAAC,UAAG,MAAI,OAAO,KAAKC,IAAE,CAAC,UAAQD,IAAE,yBAAuB,IAAEA,IAAE,gBAAc,KAAIK,IAAE,QAAM,GAAGJ,KAAEI,IAAE,OAAMN,KAAEC,IAAE,GAAC,MAAI,OAAO,KAAKC,IAAE,CAAC,UAAQ,KAAK,MAAIA,IAAED,IAAE,iBAAeA,IAAE,uBAAqB,MAAI,OAAO,KAAKC,IAAE,CAAC,WAASD,IAAE,uBAAqB,IAAEA,IAAE,gBAAc,KAAG,MAAE,MAAI,MAAEC,IAAED,IAAE,eAAc,KAAK,MAAIK,IAAE,OAAK,YAAU,OAAOJ,OAAG,SAAOA,QAAI,IAAE,MAAII,IAAE,MAAK,KAAK,MAAIF,IAAEG,QAAI,OAAO,UAAU,eAAe,KAAKH,KAAEG,IAAE,CAAC,OAAM,QAAQH,IAAEG,KAAG,KAAG,IAAEA,OAAG,CAACH,IAAEG,KAAG,GAAEH,IAAEG,KAAG,KAAKL,IAAE;WAAK;OAAC,MAAMQ,MAAET,IAAE,QAAMD,IAAE,UAAU,GAACA;AAAE,WAAE,QAAQO,KAAEG,KAAEP,IAAE,GAAC,IAAEI,OAAG,CAACL,IAAE,GAAC,IAAEK,OAAGL;;AAAE,WAAK,MAAIK,OAAGA,QAAIN,IAAE,gBAAc,EAAE,KAAK;;;;AAAG,UAAM,YAAU,OAAOE,MAAEA,IAAE,SAAO,MAAI,IAAEF,IAAE,gBAAcE,OAAG,KAAK,MAAIA,QAAI,IAAEF,IAAE,gBAAcE,MAAGC;;EAAE,SAAS,GAAG,KAAE;GAAC,MAAMH,MAAE,OAAO,KAAKC,IAAE;AAAC,QAAI,IAAIA,MAAE,GAAEA,MAAED,IAAE,QAAO,OAAI;IAAC,MAAM,IAAEA,IAAEC;AAAG,QAAG,SAAO,EAAE,QAAO;;;EAAG,SAAS,GAAG,KAAE,KAAE,GAAE,KAAE;AAAC,OAAGD,KAAE;IAAC,MAAME,MAAE,OAAO,KAAKF,IAAE,EAACG,MAAED,IAAE;AAAO,SAAI,IAAIE,MAAE,GAAEA,MAAED,KAAE,OAAI;KAAC,MAAMA,MAAED,IAAEE,MAAGC,MAAEF,IAAE,WAAWJ,IAAE,oBAAoB,GAACI,IAAE,UAAUJ,IAAE,oBAAoB,OAAO,GAACI,KAAEG,MAAEP,IAAE,QAAM,EAAE,UAAU,GAAC,MAAIM,MAAE;AAAE,SAAE,QAAQF,KAAEG,KAAE,CAAC,GAAE,CAAC,EAAE,GAAC,IAAEH,OAAG,CAACH,IAAEG,KAAG,GAAC,IAAEA,OAAGH,IAAEG;;;;EAAK,SAAS,GAAG,KAAE,KAAE;GAAC,MAAK,EAAC,cAAa,MAAGH,KAAED,MAAE,OAAO,KAAKE,IAAE,CAAC;AAAO,UAAO,MAAIF,OAAG,EAAE,MAAIA,OAAG,CAACE,IAAE,MAAI,aAAW,OAAOA,IAAE,MAAI,MAAIA,IAAE;;EAAI,MAAM,GAAE;GAAC,YAAY,KAAE;AAAC,SAAK,mBAAiB,EAAE,EAAC,KAAK,UAAQ,EAAEA,IAAE;;GAAC,MAAM,KAAE,KAAE;AAAC,QAAG,YAAU,OAAOA,OAAGA,IAAE,SAAS,OAAEA,IAAE,UAAU;aAAS,YAAU,OAAOA,IAAE,OAAM,IAAI,MAAM,kDAAkD;AAAC,QAAGD,KAAE;AAAC,MAAC,MAAIA,QAAI,MAAE,EAAE;KAAE,MAAMS,MAAE,EAAER,KAAED,IAAE;AAAC,SAAG,CAAC,MAAIS,IAAE,OAAM,MAAM,GAAGA,IAAE,IAAI,IAAI,GAAGA,IAAE,IAAI,KAAK,GAAGA,IAAE,IAAI,MAAM;;IAAC,MAAM,IAAE,IAAI,GAAG,KAAK,SAAQ,KAAK,iBAAiB,EAACV,MAAE,EAAE,SAASE,IAAE;AAAC,WAAO,KAAK,QAAQ,iBAAe,KAAK,MAAIF,MAAEA,MAAE,GAAGA,KAAE,KAAK,SAAQ,EAAE,SAAQ,EAAE,gBAAgB;;GAAC,UAAU,KAAE,KAAE;AAAC,QAAG,OAAKC,IAAE,QAAQ,IAAI,CAAC,OAAM,IAAI,MAAM,8BAA8B;AAAC,QAAG,OAAKC,IAAE,QAAQ,IAAI,IAAE,OAAKA,IAAE,QAAQ,IAAI,CAAC,OAAM,IAAI,MAAM,uEAAuE;AAAC,QAAG,QAAMD,IAAE,OAAM,IAAI,MAAM,4CAA4C;AAAC,SAAK,iBAAiBC,OAAGD;;GAAE,OAAO,oBAAmB;AAAC,WAAO,EAAE,mBAAmB;;;EAAE,SAAS,GAAG,KAAE;AAAC,UAAO,OAAOC,IAAE,CAAC,QAAQ,OAAM,MAAM,CAAC,QAAQ,OAAM,MAAM,CAAC,QAAQ,MAAK,KAAK;;EAAC,SAAS,GAAG,KAAE;AAAC,UAAO,OAAOA,IAAE,CAAC,QAAQ,UAAS,kBAAkB;;EAAC,SAAS,GAAG,KAAE;AAAC,UAAO,OAAOA,IAAE,CAAC,QAAQ,MAAK,SAAS,CAAC,QAAQ,MAAK,SAAS;;EAAC,MAAM,KAAG,gDAA+C,KAAG,+CAA8C,KAAG,KAAG,qBAAoB,MAAI,KAAE,KAAE,IAAE,OAAK;GAAC,MAAMF,MAAE,IAAIE,IAAE,QAAQ,KAAI,GAAG,CAAC,IAAID,IAAE,QAAQ,KAAI,GAAG,CAAC;AAAI,UAAM;IAAC,MAAK,IAAI,OAAO,KAAKC,IAAE,IAAID,IAAE,MAAK,EAAE;IAAC,QAAO,IAAI,OAAO,IAAID,IAAE,IAAG,EAAE;IAAC,OAAM,IAAI,OAAO,IAAIA,IAAE,MAAMA,IAAE,MAAK,EAAE;IAAC,SAAQ,IAAI,OAAO,KAAKC,IAAE,MAAK,EAAE;IAAC,UAAS,IAAI,OAAO,KAAKA,IAAE,YAAYA,IAAE,QAAO,EAAE;IAAC;KAAE,KAAG,GAAG,IAAG,KAAG,mBAAmB,EAAC,KAAG,GAAG,IAAG,IAAG,IAAI,EAAC,MAAI,KAAE,EAAC,YAAWA,MAAE,UAAO,EAAE,OAAK,MAAE,UAAQ,UAAQC,MAAE,KAAG,IAAID,IAAE,CAAC,MAAM,KAAKC,IAAE;EAAC,SAAS,GAAG,KAAE,KAAE,GAAE,KAAE,KAAE;AAAC,UAAO,EAAE,eAAa,GAAGA,KAAE,EAAC,YAAWC,KAAE,CAAC,GAACD,MAAE,EAAE,aAAaA,KAAE;IAAC,aAAYD;IAAE,SAAQD,IAAE,UAAU;IAAC,CAAC,GAACE;;EAAE,SAAS,GAAG,KAAE,KAAE;GAAC,IAAI,IAAE;AAAG,OAAE,WAAS,IAAE;GAAM,MAAMF,MAAE,EAAE;AAAC,OAAGC,IAAE,aAAW,MAAM,QAAQA,IAAE,UAAU,CAAC,MAAI,IAAIC,MAAE,GAAEA,MAAED,IAAE,UAAU,QAAO,OAAI;IAAC,MAAMS,MAAET,IAAE,UAAUC;AAAG,gBAAU,OAAOQ,MAAEV,IAAE,KAAK,IAAI,GAAGU,IAAE,CAAC,GAACA,eAAa,MAAIV,IAAE,KAAKU,IAAE;;GAAC,MAAMP,MAAE,SAAS,KAAE,KAAE;AAAC,QAAG,CAAC,MAAM,QAAQD,IAAE,IAAE,MAAIA,IAAE,OAAO,QAAM;IAAM,MAAMQ,MAAER,IAAE;AAAG,QAAG,WAAS,GAAGQ,IAAE,EAAC;KAAC,MAAMR,MAAEQ,IAAE;AAAM,SAAGR,KAAE;MAAC,MAAMQ,MAAET,IAAE,sBAAoB;AAAU,UAAGC,IAAEQ,KAAG,QAAOR,IAAEQ;;;AAAI,WAAM;KAAOR,KAAED,IAAE;AAAC,UAAO,GAAGC,KAAED,KAAE,GAAE,IAAI,IAAE,EAACD,KAAEG,IAAE;;EAAC,SAAS,GAAG,KAAE,KAAE,GAAE,KAAE,KAAE,KAAE;GAAC,IAAIE,MAAE,IAAGC,MAAE,CAAC;AAAE,OAAGL,IAAE,iBAAeD,IAAE,UAAU,GAACC,IAAE,cAAc,OAAM,IAAI,MAAM,+BAA+B;AAAC,OAAG,CAAC,MAAM,QAAQC,IAAE,EAAC;AAAC,QAAG,QAAMA,KAAE;KAAC,IAAIQ,MAAER,IAAE,UAAU;AAAC,YAAO,MAAE,GAAGQ,KAAET,IAAE,EAACS;;AAAE,WAAM;;AAAG,QAAI,IAAIH,MAAE,GAAEA,MAAEL,IAAE,QAAO,OAAI;IAAC,MAAMM,MAAEN,IAAEK,MAAGI,MAAE,GAAGH,IAAE;AAAC,QAAG,KAAK,MAAIG,IAAE;IAAS,MAAMC,MAAED,QAAIV,IAAE,gBAAcU,QAAIV,IAAE,iBAAeU,QAAIV,IAAE,mBAAiB,QAAMU,IAAE,KAAGA,MAAE,GAAGA,KAAE,CAAC,GAAEV,KAAED,KAAEI,IAAE,EAACS,MAAE,GAAGL,IAAE,OAAMP,IAAE;AAAC,QAAE,KAAKW,KAAEC,IAAE;IAAC,MAAMJ,MAAE,GAAGT,KAAEG,IAAE;AAAC,QAAGS,QAAIX,IAAE,cAAa;KAAC,IAAIC,MAAEM,IAAEG;AAAG,aAAI,MAAEV,IAAE,kBAAkBW,KAAEV,IAAE,EAAC,MAAE,GAAGA,KAAED,IAAE,GAAEK,QAAI,OAAG,IAAG,OAAGJ,KAAE,MAAE,CAAC,GAAEF,IAAE,KAAK;AAAC;;AAAS,QAAGY,QAAIX,IAAE,eAAc;AAAC,aAAI,OAAG,IAAG,OAAG,YAAY,GAAGO,IAAEG,KAAG,GAAGV,IAAE,cAAc,CAAC,MAAK,MAAE,CAAC,GAAED,IAAE,KAAK;AAAC;;AAAS,QAAGY,QAAIX,IAAE,iBAAgB;AAAC,YAAG,IAAE,UAAU,GAAGO,IAAEG,KAAG,GAAGV,IAAE,cAAc,CAAC,SAAQ,MAAE,CAAC,GAAED,IAAE,KAAK;AAAC;;AAAS,QAAG,QAAMY,IAAE,IAAG;AAAC,aAAI,WAASA,MAAE,KAAG,KAAG,IAAIA,MAAI,GAAGJ,IAAE,OAAMP,KAAEQ,KAAET,KAAEI,IAAE,CAAC,KAAI,MAAE,CAAC,GAAEJ,IAAE,KAAK;AAAC;;IAAS,IAAIc,MAAE;AAAE,WAAKA,QAAI,OAAGb,IAAE;IAAU,MAAMc,MAAE,IAAE,IAAIH,MAAI,GAAGJ,IAAE,OAAMP,KAAEQ,KAAET,KAAEI,IAAE;IAAG,IAAIY;AAAE,UAAEP,MAAE,GAAGD,IAAEG,MAAGV,IAAE,GAAC,GAAGO,IAAEG,MAAGV,KAAEa,KAAEd,KAAEG,KAAEC,IAAE,EAAC,OAAKH,IAAE,aAAa,QAAQW,IAAE,GAACX,IAAE,uBAAqB,OAAGc,MAAE,MAAI,OAAGA,MAAE,OAAKC,OAAG,MAAIA,IAAE,UAAQ,CAACf,IAAE,oBAAkBe,OAAGA,IAAE,SAAS,IAAI,GAAC,OAAGD,MAAE,IAAIC,MAAI,EAAE,IAAIJ,IAAE,MAAI,OAAGG,MAAE,KAAIC,OAAG,OAAK,MAAIA,IAAE,SAAS,KAAK,IAAEA,IAAE,SAAS,KAAK,IAAE,OAAG,IAAEf,IAAE,WAASe,MAAE,IAAE,OAAGA,KAAE,OAAG,KAAKJ,IAAE,MAAI,OAAGG,MAAE,MAAK,MAAE,CAAC,GAAEf,IAAE,KAAK;;AAAC,UAAOK;;EAAE,SAAS,GAAG,KAAE,KAAE;AAAC,OAAG,CAACH,OAAGD,IAAE,iBAAiB,QAAO;GAAK,MAAM,IAAE,EAAE;GAAC,IAAID,MAAE,CAAC;AAAE,QAAI,IAAIG,OAAKD,IAAE,QAAO,UAAU,eAAe,KAAKA,KAAEC,IAAE,KAAG,EAAEA,IAAE,WAAWF,IAAE,oBAAoB,GAACE,IAAE,OAAOF,IAAE,oBAAoB,OAAO,GAACE,OAAG,GAAGD,IAAEC,KAAG,EAAC,MAAE,CAAC;AAAG,UAAOH,MAAE,IAAE;;EAAK,SAAS,GAAG,KAAE,KAAE;AAAC,OAAG,CAAC,MAAM,QAAQE,IAAE,CAAC,QAAO,QAAMA,MAAEA,IAAE,UAAU,GAAC;GAAG,IAAI,IAAE;AAAG,QAAI,IAAIF,MAAE,GAAEA,MAAEE,IAAE,QAAO,OAAI;IAAC,MAAMC,MAAED,IAAEF,MAAGI,MAAE,GAAGD,IAAE;AAAC,QAAGC,QAAIH,IAAE,aAAa,MAAGE,IAAEC;aAAWA,QAAIH,IAAE,cAAc,MAAGE,IAAEC,KAAG,GAAGH,IAAE;aAAsBG,QAAIH,IAAE,gBAAgB,MAAGE,IAAEC,KAAG,GAAGH,IAAE;SAAkB;AAAC,SAAGG,OAAG,QAAMA,IAAE,GAAG;AAAS,SAAGA,KAAE;MAAC,MAAMF,MAAE,GAAGC,IAAE,OAAMF,IAAE,EAACD,MAAE,GAAGG,IAAEC,MAAGH,IAAE;AAAC,aAAG,MAAID,IAAE,SAAO,KAAG,IAAII,MAAIF,IAAE,GAAGF,IAAE,IAAII,IAAE,KAAG,KAAG,IAAIA,MAAIF,IAAE;;;;AAAM,UAAO;;EAAE,SAAS,GAAG,KAAE,KAAE;GAAC,IAAI,IAAE;AAAG,OAAGA,OAAG,CAACD,IAAE,iBAAiB,MAAI,IAAID,OAAKE,KAAE;AAAC,QAAG,CAAC,OAAO,UAAU,eAAe,KAAKA,KAAEF,IAAE,CAAC;IAAS,IAAIG,MAAED,IAAEF;AAAG,KAAC,MAAIG,OAAGF,IAAE,4BAA0B,KAAG,IAAID,IAAE,OAAOC,IAAE,oBAAoB,OAAO,KAAG,KAAG,IAAID,IAAE,OAAOC,IAAE,oBAAoB,OAAO,CAAC,IAAI,GAAGE,IAAE,CAAC;;AAAG,UAAO;;EAAE,SAAS,GAAG,KAAE;GAAC,MAAMF,MAAE,OAAO,KAAKC,IAAE;AAAC,QAAI,IAAI,IAAE,GAAE,IAAED,IAAE,QAAO,KAAI;IAAC,MAAMD,MAAEC,IAAE;AAAG,QAAG,OAAO,UAAU,eAAe,KAAKC,KAAEF,IAAE,IAAE,SAAOA,IAAE,QAAOA;;;EAAG,SAAS,GAAG,KAAE,KAAE,GAAE,KAAE,KAAE;GAAC,IAAII,MAAE;AAAG,OAAGF,OAAG,CAACD,IAAE,iBAAiB,MAAI,IAAII,OAAKH,KAAE;AAAC,QAAG,CAAC,OAAO,UAAU,eAAe,KAAKA,KAAEG,IAAE,CAAC;IAAS,MAAMC,MAAED,IAAE,OAAOJ,IAAE,oBAAoB,OAAO,EAACM,MAAE,IAAED,MAAE,GAAGA,KAAE,CAAC,GAAEL,KAAED,KAAEG,IAAE;IAAC,IAAIK;AAAE,QAAE,MAAEN,IAAEG,QAAI,MAAEJ,IAAE,wBAAwBI,KAAEH,IAAEG,KAAG,EAAC,MAAE,GAAGG,KAAEP,IAAE,GAAE,CAAC,MAAIO,OAAGP,IAAE,4BAA0B,OAAG,IAAIM,QAAI,OAAG,IAAIA,IAAE,IAAI,GAAGC,IAAE,CAAC;;AAAG,UAAOJ;;EAAE,SAAS,GAAG,KAAE,KAAE;AAAC,OAAG,CAACH,OAAG,MAAIA,IAAE,OAAO,QAAM,CAAC;AAAE,QAAI,IAAI,IAAE,GAAE,IAAEA,IAAE,QAAO,IAAI,KAAGC,IAAE,QAAQD,IAAE,GAAG,CAAC,QAAM,CAAC;AAAE,UAAM,CAAC;;EAAE,SAAS,GAAG,KAAE,KAAE;AAAC,OAAGC,OAAGA,IAAE,SAAO,KAAGD,IAAE,gBAAgB,MAAI,IAAI,IAAE,GAAE,IAAEA,IAAE,SAAS,QAAO,KAAI;IAAC,MAAMD,MAAEC,IAAE,SAAS;AAAG,UAAEC,IAAE,QAAQF,IAAE,OAAMA,IAAE,IAAI;;AAAC,UAAOE;;EAAE,MAAM,KAAG;GAAC,qBAAoB;GAAK,qBAAoB,CAAC;GAAE,cAAa;GAAQ,kBAAiB,CAAC;GAAE,eAAc,CAAC;GAAE,QAAO,CAAC;GAAE,UAAS;GAAK,mBAAkB,CAAC;GAAE,sBAAqB,CAAC;GAAE,2BAA0B,CAAC;GAAE,mBAAkB,SAAS,KAAE,KAAE;AAAC,WAAOD;;GAAG,yBAAwB,SAAS,KAAE,KAAE;AAAC,WAAOA;;GAAG,eAAc,CAAC;GAAE,iBAAgB,CAAC;GAAE,cAAa,EAAE;GAAC,UAAS;IAAC;KAAC,OAAM,IAAI,OAAO,KAAI,IAAI;KAAC,KAAI;KAAQ;IAAC;KAAC,OAAM,IAAI,OAAO,KAAI,IAAI;KAAC,KAAI;KAAO;IAAC;KAAC,OAAM,IAAI,OAAO,KAAI,IAAI;KAAC,KAAI;KAAO;IAAC;KAAC,OAAM,IAAI,OAAO,KAAI,IAAI;KAAC,KAAI;KAAS;IAAC;KAAC,OAAM,IAAI,OAAO,MAAI,IAAI;KAAC,KAAI;KAAS;IAAC;GAAC,iBAAgB,CAAC;GAAE,WAAU,EAAE;GAAC,cAAa,CAAC;GAAE,eAAc;GAAI,OAAM,CAAC;GAAE,cAAa,CAAC;GAAE;EAAC,SAAS,GAAG,KAAE;AAAC,OAAG,KAAK,UAAQ,OAAO,OAAO,EAAE,EAAC,IAAGC,IAAE,EAAC,KAAK,QAAQ,aAAW,MAAM,QAAQ,KAAK,QAAQ,UAAU,KAAG,KAAK,QAAQ,YAAU,KAAK,QAAQ,UAAU,KAAI,QAAG,YAAU,OAAOA,OAAGA,IAAE,WAAW,KAAK,GAAC,OAAKA,IAAE,UAAU,EAAE,GAACA,IAAE,GAAE,KAAK,sBAAoB,EAAE,EAAC,KAAK,QAAQ,aAAW,MAAM,QAAQ,KAAK,QAAQ,UAAU,CAAC,MAAI,IAAIA,MAAE,GAAEA,MAAE,KAAK,QAAQ,UAAU,QAAO,OAAI;IAAC,MAAMD,MAAE,KAAK,QAAQ,UAAUC;AAAG,gBAAU,OAAOD,MAAE,KAAK,oBAAoB,KAAK,IAAI,GAAGA,IAAE,CAAC,GAACA,eAAa,MAAI,KAAK,oBAAoB,KAAKA,IAAE;;GAAC,IAAIA;AAAE,IAAC,MAAI,KAAK,QAAQ,oBAAkB,KAAK,QAAQ,sBAAoB,KAAK,cAAY,WAAU;AAAC,WAAM,CAAC;QAAI,KAAK,qBAAmB,cAAY,QAAO,MAAE,KAAK,QAAQ,oBAAkBA,MAAE,MAAM,QAAQA,IAAE,IAAC,QAAG;AAAC,SAAI,MAAM,KAAKA,KAAE;AAAC,SAAG,YAAU,OAAO,KAAGC,QAAI,EAAE,QAAM,CAAC;AAAE,SAAG,aAAa,UAAQ,EAAE,KAAKA,IAAE,CAAC,QAAM,CAAC;;aAAQ,CAAC,GAAE,KAAK,gBAAc,KAAK,QAAQ,oBAAoB,QAAO,KAAK,cAAY,KAAI,KAAK,uBAAqB,IAAG,KAAK,QAAQ,UAAQ,KAAK,YAAU,IAAG,KAAK,aAAW,OAAM,KAAK,UAAQ,SAAO,KAAK,YAAU,WAAU;AAAC,WAAM;MAAI,KAAK,aAAW,KAAI,KAAK,UAAQ;;EAAI,SAAS,GAAG,KAAE,KAAE,GAAE,KAAE,KAAE;AAAC,UAAO,EAAE,eAAa,GAAGA,KAAE,EAAC,YAAWC,KAAE,CAAC,GAACD,MAAE,EAAE,aAAaA,KAAE;IAAC,aAAYD;IAAE,SAAQD,IAAE,UAAU;IAAC,CAAC,GAACE;;EAAE,SAAS,GAAG,KAAE,KAAE,GAAE,KAAE,KAAE;GAAC,MAAME,MAAE,KAAK,kBAAkBF,IAAE;AAAC,OAAGF,IAAE,KAAKC,KAAEG,IAAE,EAAC,KAAK,cAAcJ,IAAE,EAAC;IAAC,MAAMG,MAAE,KAAK,gBAAgBD,IAAE,EAACE,MAAE,KAAK,2BAA2BF,IAAE;AAAC,WAAOF,IAAE,KAAK,EAAC,KAAK,gBAAgBG,KAAEF,KAAEG,KAAE,EAAE;;GAAC,MAAMC,MAAE,KAAK,IAAIH,KAAE,IAAE,GAAEF,KAAEG,IAAE;AAAC,UAAOH,IAAE,KAAK,EAAC,QAAMC,IAAE,KAAG,KAAK,iBAAiB,IAAGA,KAAEI,IAAE,SAAQ,GAAEL,IAAE,GAAC,KAAK,MAAIE,IAAE,KAAK,QAAQ,iBAAe,MAAI,OAAO,KAAKA,IAAE,CAAC,SAAO,KAAK,iBAAiBA,IAAE,KAAK,QAAQ,eAAcD,KAAEI,IAAE,SAAQ,GAAEL,IAAE,GAAC,KAAK,gBAAgBK,IAAE,KAAIJ,KAAEI,IAAE,SAAQ,EAAE;;EAAC,SAAS,GAAG,KAAE;AAAC,UAAO,KAAK,QAAQ,SAAS,OAAOH,IAAE;;EAAC,SAAS,GAAG,KAAE;AAAC,UAAM,EAAE,CAACA,IAAE,WAAW,KAAK,QAAQ,oBAAoB,IAAEA,QAAI,KAAK,QAAQ,iBAAeA,IAAE,OAAO,KAAK,cAAc;;AAAC,KAAG,UAAU,QAAM,SAAS,KAAE;AAAC,OAAG,KAAK,QAAQ,cAAc,QAAO,GAAGA,KAAE,KAAK,QAAQ;GAAC;AAAC,UAAM,QAAQA,IAAE,IAAE,KAAK,QAAQ,iBAAe,KAAK,QAAQ,cAAc,SAAO,MAAI,MAAE,GAAE,KAAK,QAAQ,gBAAeA,KAAE;IAAE,MAAMD,MAAE,IAAI,IAAE,EAAC,IAAE,SAAS,KAAE,KAAE;KAAC,MAAMS,MAAER,IAAE;AAAQ,SAAGQ,OAAG,YAAU,OAAOA,KAAE;AAAC,UAAGT,IAAE,uBAAqBS,IAAET,IAAE,sBAAqB;OAAC,MAAMC,MAAEQ,IAAET,IAAE,qBAAqBA,IAAE,sBAAoB;AAAW,WAAGC,IAAE,QAAOA;;MAAE,MAAMA,MAAEQ,IAAET,IAAE,sBAAoB;AAAW,UAAGC,IAAE,QAAOA;;AAAE,YAAM;MAAOA,KAAE,KAAK,QAAQ;AAAC,WAAO,KAAK,IAAIA,KAAE,GAAED,KAAE,EAAE,CAAC;;KAAM,GAAG,UAAU,MAAI,SAAS,KAAE,KAAE,GAAE,KAAE;GAAC,IAAIE,MAAE,IAAGC,MAAE;AAAG,OAAG,KAAK,QAAQ,iBAAe,EAAE,UAAU,IAAE,KAAK,QAAQ,cAAc,OAAM,IAAI,MAAM,+BAA+B;GAAC,MAAMC,MAAE,KAAK,QAAQ,QAAM,EAAE,UAAU,GAAC,GAAEC,MAAE,KAAK,cAAc,EAAE;AAAC,QAAI,IAAIC,OAAKL,KAAE;AAAC,QAAG,CAAC,OAAO,UAAU,eAAe,KAAKA,KAAEK,IAAE,CAAC;IAAS,MAAMC,MAAED,QAAI,KAAK,QAAQ,gBAAcA,QAAI,KAAK,QAAQ,iBAAeA,QAAI,KAAK,QAAQ,mBAAiB,KAAK,QAAQ,uBAAqBA,QAAI,KAAK,QAAQ,uBAAqB,KAAK,YAAYA,IAAE,IAAE,QAAMA,IAAE,KAAGA,MAAE,GAAGA,KAAE,CAAC,GAAE,KAAK,SAAQ,GAAEP,IAAE;AAAC,QAAG,KAAK,MAAIE,IAAEK,KAAG,MAAK,YAAYA,IAAE,KAAG,OAAG;aAAY,SAAOL,IAAEK,KAAG,MAAK,YAAYA,IAAE,IAAEC,QAAI,KAAK,QAAQ,iBAAeA,QAAI,KAAK,QAAQ,kBAAgB,OAAG,KAAG,QAAMA,IAAE,KAAG,OAAG,KAAK,UAAUP,IAAE,GAAC,MAAIO,MAAE,MAAI,KAAK,aAAW,OAAG,KAAK,UAAUP,IAAE,GAAC,MAAIO,MAAE,MAAI,KAAK;aAAmBN,IAAEK,gBAAa,KAAK,QAAG,KAAK,iBAAiBL,IAAEK,MAAGC,KAAE,IAAGP,KAAE,EAAE;aAAS,YAAU,OAAOC,IAAEK,MAAG;KAAC,MAAMI,MAAE,KAAK,YAAYJ,IAAE;AAAC,SAAGI,OAAG,CAAC,KAAK,mBAAmBA,KAAEN,IAAE,EAAC;MAAC,MAAMJ,MAAE,GAAGU,KAAE,CAAC,GAAE,KAAK,SAAQ,GAAEX,IAAE;AAAC,aAAG,KAAK,iBAAiBC,KAAE,KAAGC,IAAEK,MAAGD,IAAE;gBAAS,CAACK,IAAE,KAAGJ,QAAI,KAAK,QAAQ,cAAa;MAAC,IAAIN,MAAE,KAAK,QAAQ,kBAAkBM,KAAE,KAAGL,IAAEK,KAAG;AAAC,aAAG,KAAK,qBAAqBN,IAAE;YAAK;AAAC,QAAE,KAAKO,IAAE;MAAC,MAAMR,MAAE,KAAK,cAAc,EAAE;AAAC,UAAG,EAAE,KAAK,EAACA,KAAE;OAAC,MAAMU,MAAE,KAAGR,IAAEK;AAAG,cAAG,OAAKG,MAAE,KAAK,UAAUT,IAAE,GAAC,MAAIO,MAAE,KAAK,SAASA,IAAE,GAAC,KAAK,aAAW,KAAK,UAAUP,IAAE,GAAC,MAAIO,MAAE,MAAIE,MAAE,OAAKF,MAAE,KAAK;YAAgB,QAAG,KAAK,iBAAiBN,IAAEK,MAAGC,KAAE,IAAGP,KAAE,EAAE;;eAAU,MAAM,QAAQC,IAAEK,KAAG,EAAC;KAAC,MAAMJ,MAAED,IAAEK,KAAG;KAAO,IAAIF,MAAE,IAAGC,MAAE;AAAG,UAAI,IAAIK,MAAE,GAAEA,MAAER,KAAE,OAAI;MAAC,MAAMA,MAAED,IAAEK,KAAGI;AAAG,UAAG,KAAK,MAAIR;eAAW,SAAOA,IAAE,SAAMK,IAAE,KAAG,OAAG,KAAK,UAAUP,IAAE,GAAC,MAAIO,MAAE,MAAI,KAAK,aAAW,OAAG,KAAK,UAAUP,IAAE,GAAC,MAAIO,MAAE,MAAI,KAAK;eAAmB,YAAU,OAAOL,IAAE,KAAG,KAAK,QAAQ,cAAa;AAAC,SAAE,KAAKK,IAAE;OAAC,MAAMN,MAAE,KAAK,IAAIC,KAAEF,MAAE,GAAE,GAAED,IAAE;AAAC,SAAE,KAAK,EAAC,OAAGE,IAAE,KAAI,KAAK,QAAQ,uBAAqBC,IAAE,eAAe,KAAK,QAAQ,oBAAoB,KAAG,OAAGD,IAAE;YAAc,QAAG,KAAK,qBAAqBC,KAAEK,KAAEP,KAAE,GAAED,IAAE;eAAS,KAAK,QAAQ,cAAa;OAAC,IAAIE,MAAE,KAAK,QAAQ,kBAAkBM,KAAEL,IAAE;AAAC,aAAE,KAAK,qBAAqBD,IAAE,EAAC,OAAGA;aAAM;AAAC,SAAE,KAAKM,IAAE;OAAC,MAAMN,MAAE,KAAK,cAAc,EAAE;AAAC,WAAG,EAAE,KAAK,EAACA,KAAE;QAAC,MAAMA,MAAE,KAAGC;AAAE,eAAG,OAAKD,MAAE,KAAK,UAAUD,IAAE,GAAC,MAAIO,MAAE,KAAK,SAASA,IAAE,GAAC,KAAK,aAAW,KAAK,UAAUP,IAAE,GAAC,MAAIO,MAAE,MAAIN,MAAE,OAAKM,MAAE,KAAK;aAAgB,QAAG,KAAK,iBAAiBL,KAAEK,KAAE,IAAGP,KAAE,EAAE;;;AAAE,UAAK,QAAQ,iBAAe,MAAE,KAAK,gBAAgBI,KAAEG,KAAEF,KAAEL,IAAE,GAAE,OAAGI;eAAU,KAAK,QAAQ,uBAAqBE,QAAI,KAAK,QAAQ,qBAAoB;KAAC,MAAMN,MAAE,OAAO,KAAKC,IAAEK,KAAG,EAACH,MAAEH,IAAE;AAAO,UAAI,IAAII,MAAE,GAAEA,MAAED,KAAE,OAAI;MAAC,MAAMA,MAAE,GAAGH,IAAEI,MAAG,CAAC,GAAE,KAAK,SAAQ,GAAEL,IAAE;AAAC,aAAG,KAAK,iBAAiBI,KAAE,KAAGF,IAAEK,KAAGN,IAAEI,OAAIC,IAAE;;UAAO,QAAG,KAAK,qBAAqBJ,IAAEK,MAAGC,KAAEP,KAAE,GAAED,IAAE;;AAAC,UAAM;IAAC,SAAQG;IAAE,KAAIC;IAAE;KAAE,GAAG,UAAU,mBAAiB,SAAS,KAAE,KAAE,GAAE;AAAC,UAAO,MAAI,MAAE,KAAK,QAAQ,wBAAwBF,KAAE,KAAGD,IAAE,EAAC,MAAE,KAAK,qBAAqBA,IAAE,GAAE,KAAK,QAAQ,6BAA2B,WAASA,MAAE,MAAIC,MAAE,MAAIA,MAAE,QAAK,GAAGD,IAAE,GAAC;KAAK,GAAG,UAAU,oBAAkB,SAAS,KAAE;AAAC,OAAG,CAACC,OAAG,YAAU,OAAOA,IAAE,QAAO;GAAK,MAAMD,MAAE,EAAE;GAAC,IAAI,IAAE,CAAC;AAAE,OAAG,KAAK,QAAQ,uBAAqBC,IAAE,KAAK,QAAQ,sBAAqB;IAAC,MAAMF,MAAEE,IAAE,KAAK,QAAQ;AAAqB,SAAI,IAAIA,OAAKF,IAAE,QAAO,UAAU,eAAe,KAAKA,KAAEE,IAAE,KAAG,IAAEA,IAAE,WAAW,KAAK,QAAQ,oBAAoB,GAACA,IAAE,UAAU,KAAK,QAAQ,oBAAoB,OAAO,GAACA,OAAG,GAAGF,IAAEE,KAAG,EAAC,IAAE,CAAC;SAAQ,MAAI,IAAIF,OAAKE,KAAE;AAAC,QAAG,CAAC,OAAO,UAAU,eAAe,KAAKA,KAAEF,IAAE,CAAC;IAAS,MAAMG,MAAE,KAAK,YAAYH,IAAE;AAAC,YAAI,IAAEG,OAAG,GAAGD,IAAEF,KAAG,EAAC,IAAE,CAAC;;AAAG,UAAO,IAAEC,MAAE;KAAM,GAAG,UAAU,kBAAgB,SAAS,KAAE;AAAC,OAAG,YAAU,OAAOC,IAAE,QAAOA;AAAE,OAAG,YAAU,OAAOA,OAAG,SAAOA,IAAE,QAAO,OAAOA,IAAE;AAAC,OAAG,KAAK,MAAIA,IAAE,KAAK,QAAQ,cAAc,QAAOA,IAAE,KAAK,QAAQ;GAAc,IAAID,MAAE;AAAG,QAAI,IAAI,KAAKC,KAAE;AAAC,QAAG,CAAC,OAAO,UAAU,eAAe,KAAKA,KAAE,EAAE,CAAC;AAAS,QAAG,KAAK,YAAY,EAAE,CAAC;AAAS,QAAG,KAAK,QAAQ,uBAAqB,MAAI,KAAK,QAAQ,oBAAoB;IAAS,MAAMF,MAAEE,IAAE;AAAG,QAAG,MAAI,KAAK,QAAQ,aAAa,QAAGF;aAAU,MAAM,QAAQA,IAAE,EAAE;UAAI,IAAIE,OAAKF,IAAE,KAAG,YAAU,OAAOE,OAAG,YAAU,OAAOA,IAAE,QAAG,IAAI,EAAE,GAAGA,IAAE,IAAI,EAAE;cAAW,YAAU,OAAOA,OAAG,SAAOA,KAAE;MAAC,MAAMF,MAAE,KAAK,gBAAgBE,IAAE,EAACC,MAAE,KAAK,2BAA2BD,IAAE;AAAC,aAAG,OAAKF,MAAE,IAAI,IAAIG,IAAE,MAAI,IAAI,IAAIA,IAAE,GAAGH,IAAE,IAAI,EAAE;;eAAY,YAAU,OAAOA,OAAG,SAAOA,KAAE;KAAC,MAAME,MAAE,KAAK,gBAAgBF,IAAE,EAACG,MAAE,KAAK,2BAA2BH,IAAE;AAAC,YAAG,OAAKE,MAAE,IAAI,IAAIC,IAAE,MAAI,IAAI,IAAIA,IAAE,GAAGD,IAAE,IAAI,EAAE;UAAQ,QAAG,IAAI,EAAE,GAAGF,IAAE,IAAI,EAAE;;AAAG,UAAOC;KAAG,GAAG,UAAU,6BAA2B,SAAS,KAAE;AAAC,OAAG,CAACC,OAAG,YAAU,OAAOA,IAAE,QAAM;GAAG,IAAID,MAAE;AAAG,OAAG,KAAK,QAAQ,uBAAqBC,IAAE,KAAK,QAAQ,sBAAqB;IAAC,MAAM,IAAEA,IAAE,KAAK,QAAQ;AAAqB,SAAI,IAAIA,OAAK,GAAE;AAAC,SAAG,CAAC,OAAO,UAAU,eAAe,KAAK,GAAEA,IAAE,CAAC;KAAS,MAAMF,MAAEE,IAAE,WAAW,KAAK,QAAQ,oBAAoB,GAACA,IAAE,UAAU,KAAK,QAAQ,oBAAoB,OAAO,GAACA,KAAEC,MAAE,EAAED;AAAG,MAAC,MAAIC,OAAG,KAAK,QAAQ,4BAA0B,OAAG,MAAIH,MAAE,OAAG,MAAIA,MAAE,QAAKG,MAAE;;SAAU,MAAI,IAAI,KAAKD,KAAE;AAAC,QAAG,CAAC,OAAO,UAAU,eAAe,KAAKA,KAAE,EAAE,CAAC;IAAS,MAAMF,MAAE,KAAK,YAAY,EAAE;AAAC,QAAGA,KAAE;KAAC,MAAMG,MAAED,IAAE;AAAG,MAAC,MAAIC,OAAG,KAAK,QAAQ,4BAA0B,OAAG,MAAIH,MAAE,OAAG,MAAIA,MAAE,QAAKG,MAAE;;;AAAK,UAAOF;KAAG,GAAG,UAAU,kBAAgB,SAAS,KAAE,KAAE,GAAE,KAAE;AAAC,OAAG,OAAKC,IAAE,QAAM,QAAMD,IAAE,KAAG,KAAK,UAAUD,IAAE,GAAC,MAAIC,MAAE,IAAE,MAAI,KAAK,aAAW,KAAK,UAAUD,IAAE,GAAC,MAAIC,MAAE,IAAE,KAAK,SAASA,IAAE,GAAC,KAAK;AAAW,OAAG,QAAMA,IAAE,GAAG,QAAO,KAAK,UAAUD,IAAE,GAAC,MAAIC,MAAE,IAAE,MAAI,KAAK;GAAW;IAAC,IAAIE,MAAE,OAAKF,MAAE,KAAK,YAAWG,MAAE;AAAG,WAAM,QAAMH,IAAE,OAAK,MAAE,KAAI,MAAE,KAAI,CAAC,KAAG,OAAK,KAAG,OAAKC,IAAE,QAAQ,IAAI,GAAC,CAAC,MAAI,KAAK,QAAQ,mBAAiBD,QAAI,KAAK,QAAQ,mBAAiB,MAAIG,IAAE,SAAO,KAAK,UAAUJ,IAAE,GAAC,UAAUE,IAAE,UAAQ,KAAK,UAAQ,KAAK,UAAUF,IAAE,GAAC,MAAIC,MAAE,IAAEG,MAAE,KAAK,aAAWF,MAAE,KAAK,UAAUF,IAAE,GAACG,MAAE,KAAK,UAAUH,IAAE,GAAC,MAAIC,MAAE,IAAEG,MAAE,MAAIF,MAAEC;;KAAI,GAAG,UAAU,WAAS,SAAS,KAAE;GAAC,IAAIF,MAAE;AAAG,UAAM,OAAK,KAAK,QAAQ,aAAa,QAAQC,IAAE,GAAC,KAAK,QAAQ,yBAAuB,MAAE,OAAK,MAAE,KAAK,QAAQ,oBAAkB,MAAI,MAAMA,OAAID;KAAG,GAAG,UAAU,gBAAc,SAAS,KAAE;AAAC,OAAG,CAAC,KAAK,uBAAqB,MAAI,KAAK,oBAAoB,OAAO,QAAM,CAAC;AAAE,QAAI,IAAIA,MAAE,GAAEA,MAAE,KAAK,oBAAoB,QAAO,MAAI,KAAGC,IAAE,QAAQ,KAAK,oBAAoBD,KAAG,CAAC,QAAM,CAAC;AAAE,UAAM,CAAC;KAAG,GAAG,UAAU,mBAAiB,SAAS,KAAE,KAAE,GAAE,KAAE,KAAE;AAAC,OAAG,CAAC,MAAI,KAAK,QAAQ,iBAAeA,QAAI,KAAK,QAAQ,eAAc;IAAC,MAAMA,MAAE,GAAGC,IAAE;AAAC,WAAO,KAAK,UAAUF,IAAE,GAAC,YAAYC,IAAE,OAAK,KAAK;;AAAQ,OAAG,CAAC,MAAI,KAAK,QAAQ,mBAAiBA,QAAI,KAAK,QAAQ,iBAAgB;IAAC,MAAMA,MAAE,GAAGC,IAAE;AAAC,WAAO,KAAK,UAAUF,IAAE,GAAC,UAAUC,IAAE,UAAQ,KAAK;;AAAQ,OAAG,QAAMA,IAAE,GAAG,QAAO,KAAK,UAAUD,IAAE,GAAC,MAAIC,MAAE,IAAE,MAAI,KAAK;GAAW;IAAC,IAAIE,MAAE,KAAK,QAAQ,kBAAkBF,KAAEC,IAAE;AAAC,WAAO,MAAE,KAAK,qBAAqBC,IAAE,EAAC,OAAKA,MAAE,KAAK,UAAUH,IAAE,GAAC,MAAIC,MAAE,IAAE,KAAK,SAASA,IAAE,GAAC,KAAK,aAAW,KAAK,UAAUD,IAAE,GAAC,MAAIC,MAAE,IAAE,MAAIE,MAAE,OAAKF,MAAE,KAAK;;KAAa,GAAG,UAAU,uBAAqB,SAAS,KAAE;AAAC,OAAGC,OAAGA,IAAE,SAAO,KAAG,KAAK,QAAQ,gBAAgB,MAAI,IAAID,MAAE,GAAEA,MAAE,KAAK,QAAQ,SAAS,QAAO,OAAI;IAAC,MAAM,IAAE,KAAK,QAAQ,SAASA;AAAG,UAAEC,IAAE,QAAQ,EAAE,OAAM,EAAE,IAAI;;AAAC,UAAOA;;EAAG,MAAM,KAAG,IAAG,KAAG,EAAC,UAAS,GAAE;AAAC,SAAO,UAAQ;KAAK;;;;;;ACC940E,QAAO,eAAe,SAAS,cAAc,EAAE,OAAO,MAAM,CAAC;AAC7D,SAAQ,WAAW;CAEnB,MAAM,SAAS,oBAAsB,UAAU;EAC3C,qBAAqB;EACrB,cAAc;EACd,kBAAkB;EAClB,mBAAmB;EACnB,eAAe;EACf,YAAY;EACZ,oBAAoB,GAAG,QAAS,IAAI,MAAM,KAAK,MAAM,IAAI,SAAS,KAAK,GAAG,KAAK;EAC/E,eAAe;EAClB,CAAC;AACF,QAAO,UAAU,OAAO,KAAK;AAC7B,QAAO,UAAU,OAAO,KAAK;CAC7B,SAAS,SAAS,WAAW;AACzB,SAAO,OAAO,MAAM,WAAW,KAAK;;;;;;;CCfxC,IAAI;CAEJ,SAAS,gBAAgB,OAAO;AAC5B,SAAO,MAAM,QAAQ,MAAM,QAAQ,CAAC,QAAQ,MAAM,OAAO,CAAC,QAAQ,MAAM,OAAO,CAAC,QAAQ,MAAM,SAAS;;CAG3G,SAAS,cAAc,OAAO;AAC1B,SAAO,MACF,QAAQ,MAAM,QAAQ,CACtB,QAAQ,MAAM,SAAS,CACvB,QAAQ,MAAM,SAAS,CACvB,QAAQ,MAAM,OAAO,CACrB,QAAQ,MAAM,OAAO,CACrB,QAAQ,OAAO,SAAS,CACxB,QAAQ,OAAO,SAAS,CACxB,QAAQ,WAAW,SAAS,CAC5B,QAAQ,UAAU,WAAW;;CAGtC,IAAM,UAAN,MAAc;EACV;EACA,YAAY,OAAO;AACf,QAAK,QAAQ;;EAEjB,WAAW;AACP,UAAO,cAAc,KAAK,KAAK,MAAM;;;CAI7C,IAAM,UAAN,MAAM,QAAQ;EACV;EACA;EACA,aAAa,EAAE;EACf,OAAO,GAAG,MAAM,WAAW,UAAU;GACjC,MAAM,OAAO,IAAI,QAAQ,KAAK;AAC9B,OAAI,cAAc,OACd,MAAK,aAAa,IAAI,QAAQ,UAAU,CAAC;AAE7C,OAAI,aAAa,OACb,MAAK,SAAS,SAAS;AAE3B,UAAO;;EAEX,YAAY,MAAM,WAAW,EAAE,EAAE;AAC7B,QAAK,OAAO;AACZ,QAAK,WAAW;;EAEpB,SAAS,MAAM;AACX,QAAK,OAAO;AACZ,UAAO;;EAEX,aAAa,MAAM,OAAO;AACtB,QAAK,WAAW,QAAQ;AACxB,UAAO;;EAEX,aAAa,OAAO;AAChB,QAAK,SAAS,KAAK,MAAM;AACzB,UAAO;;EAEX,gBAAgB,MAAM;AAClB,UAAO,KAAK,WAAW;AACvB,UAAO;;EAEX,EAAE,MAAM;AACJ,QAAK,OAAO;AACZ,UAAO;;EAEX,EAAE,OAAO;AACL,QAAK,SAAS,KAAK,MAAM;AACzB,UAAO;;EAEX,EAAE,MAAM,OAAO;AACX,OAAI,SAAS,KACT,MAAK,WAAW,QAAQ;AAE5B,UAAO;;EAEX,GAAG,OAAO,OAAO,WAAW,OAAO;AAC/B,OAAI,MAAM,UAAU,MAAM;IACtB,MAAM,OAAO,QAAQ,GAAG,OAAO,MAAM,OAAO,CAAC,SAAS,SAAS;AAC/D,SAAK,EAAE,KAAK;;;EAGpB,EAAE,OAAO,UAAU,YAAY,eAAe;AAC1C,OAAI,MAAM,aAAa,KAEnB,CADc,eAAe,CACvB,KAAK,SAAS;AAChB,SAAK,SAAS,WAAW;AACzB,SAAK,EAAE,KAAK;KACd;;EAGV,GAAG,OAAO,UAAU,YAAY,eAAe;AAC3C,OAAI,MAAM,aAAa,MAAM;IACzB,MAAM,QAAQ,eAAe;IAC7B,MAAM,gBAAgB,IAAI,QAAQ,WAAW;AAC7C,UAAM,KAAK,SAAS;AAChB,mBAAc,EAAE,KAAK;MACvB;AACF,SAAK,EAAE,cAAc;;;EAG7B,WAAW;GACP,MAAM,cAAc,QAAQ,KAAK,SAAS,OAAO;GACjD,IAAI,UAAU,IAAI,KAAK;GACvB,MAAM,aAAa,KAAK;AACxB,QAAK,MAAM,iBAAiB,OAAO,KAAK,WAAW,EAAE;IACjD,MAAM,YAAY,WAAW;AAC7B,QAAI,aAAa,KACb,YAAW,IAAI,cAAc,IAAI,gBAAgB,KAAK,UAAU,CAAC;;AAGzE,UAAQ,WAAW,CAAC,cAAc,OAAO,IAAI,KAAK,SAAS,KAAK,MAAM,EAAE,UAAU,CAAC,CAAC,KAAK,GAAG,CAAC,IAAI,KAAK,KAAK;;;AAInH,SAAQ,WAAW,UAAU;AAC7B,SAAQ,UAAU;AAClB,SAAQ,UAAU;;;;;;;;mBCvHmD;cACd;;;gCAGU;kBACtB;CAC9B,uBAAb,cAA0C,mBAAmB;EACzD;EACA;EACA,YAAY,UAAU;AAClB,UAAO;AACP,QAAK,WAAW;AAChB,QAAK,qBAAqB,IAAI,4BAA4B,SAAS;;EAEvE,gBAAgB,cAAc;AAC1B,QAAK,eAAe;AACpB,QAAK,mBAAmB,gBAAgB,aAAa;;EAEzD,KAAK,QAAQ,OAAO,KAAK;GACrB,MAAM,KAAK,iBAAiB,GAAG,OAAO;GACtC,MAAM,gBAAgB,GAAG,kBAAkB;AAM3C,OALuB,GAAG,gBAAgB,IACtC,GAAG,gBAAgB,IACnB,CAAC,CAAC,OAAO,OAAO,cAAc,CAAC,MAAM,aAAa;AAC9C,WAAO,CAAC,CAAC,SAAS,iBAAiB,CAAC;KACtC,EACc;IAChB,MAAM,SAAS,EAAE;IACjB,MAAM,aAAa,OAAO,KAAK,cAAc,CAAC;AAE9C,QAD0B,cAAc,YAClB,cAAc,CAChC,QAAO,cAAc;QAGrB,QAAO,cAAc,KAAK,KAAK,cAAc,aAAa,MAAM;AAEpE,WAAO;;GAEX,MAAM,aAAa,KAAK,cAAc,eAAegB,0BAAQ,MAAM;GACnE,MAAM,eAAe,KAAK,SAAS,UAAU;AAC7C,UAAO,KAAK,WAAW,QAAQ,MAAM,aAAa,OAAO,aAAa;;EAE1E,WAAW,SAAS,OAAO;GACvB,MAAM,KAAK,iBAAiB,GAAG,QAAQ;AACvC,OAAI,GAAG,cAAc,CACjB;GAEJ,MAAM,SAAS,GAAG,iBAAiB;AACnC,OAAI,GAAG,cAAc,IAAI,CAAC,MAAM,QAAQ,MAAM,CAC1C,QAAO,KAAK,WAAW,IAAI,CAAC,MAAM,CAAC;AAEvC,OAAI,SAAS,KACT,QAAO;AAEX,OAAI,OAAO,UAAU,UAAU;IAC3B,MAAM,OAAO,CAAC,CAAC,OAAO;AACtB,QAAI,GAAG,cAAc,EAAE;KACnB,MAAM,YAAY,GAAG,gBAAgB;KACrC,MAAMC,WAAS,EAAE;KACjB,MAAM,YAAY,UAAU,iBAAiB,CAAC,WAAW;KACzD,MAAM,SAAS,OAAO,SAAS,MAAM,MAAM,OAAO;AAClD,SAAI,UAAU,KACV,QAAOA;KAEX,MAAM,cAAc,MAAM,QAAQ,OAAO,GAAG,SAAS,CAAC,OAAO;AAC7D,UAAK,MAAM,KAAK,YACZ,UAAO,KAAK,KAAK,WAAW,WAAW,EAAE,CAAC;AAE9C,YAAOA;;IAEX,MAAMA,WAAS,EAAE;AACjB,QAAI,GAAG,aAAa,EAAE;KAClB,MAAM,QAAQ,GAAG,cAAc;KAC/B,MAAM,WAAW,GAAG,gBAAgB;KACpC,IAAI;AACJ,SAAI,KACA,WAAU,MAAM,QAAQ,MAAM,GAAG,QAAQ,CAAC,MAAM;SAGhD,WAAU,MAAM,QAAQ,MAAM,MAAM,GAAG,MAAM,QAAQ,CAAC,MAAM,MAAM;KAEtE,MAAM,cAAc,MAAM,iBAAiB,CAAC,WAAW;KACvD,MAAM,gBAAgB,SAAS,iBAAiB,CAAC,WAAW;AAC5D,UAAK,MAAM,SAAS,SAAS;MACzB,MAAM,MAAM,MAAM;MAClB,MAAMC,UAAQ,MAAM;AACpB,eAAO,OAAO,KAAK,WAAW,UAAUA,QAAM;;AAElD,YAAOD;;AAEX,QAAI,GAAG,gBAAgB,EAAE;KACrB,MAAM,QAAQ,GAAG,eAAe;KAChC,IAAI;AACJ,SAAI,MACA,cAAa,IAAI,WAAW,OAAOA,SAAO;AAE9C,UAAK,MAAM,CAAC,YAAY,iBAAiB,GAAG,gBAAgB,EAAE;MAC1D,MAAM,eAAe,aAAa,iBAAiB;MACnD,MAAM,eAAe,CAAC,aAAa,cAC7B,aAAa,iBAAiB,CAAC,WAAW,aAC1C,aAAa,WAAW,aAAa,SAAS;AACpD,UAAI,MACA,YAAW,KAAK,aAAa;AAEjC,UAAI,MAAM,iBAAiB,KACvB,UAAO,cAAc,KAAK,WAAW,cAAc,MAAM,cAAc;;AAG/E,SAAI,MACA,YAAW,cAAc;AAE7B,YAAOA;;AAEX,QAAI,GAAG,kBAAkB,CACrB,QAAO;AAEX,UAAM,IAAI,MAAM,wEAAwE,GAAG,QAAQ,KAAK,GAAG;;AAE/G,OAAI,GAAG,cAAc,CACjB,QAAO,EAAE;AAEb,OAAI,GAAG,aAAa,IAAI,GAAG,gBAAgB,CACvC,QAAO,EAAE;AAEb,UAAO,KAAK,mBAAmB,KAAK,IAAI,MAAM;;EAElD,SAAS,KAAK;AACV,OAAI,IAAI,QAAQ;IACZ,IAAI;AACJ,QAAI;AACA,iDAAqB,IAAI;aAEtB,GAAG;AACN,SAAI,KAAK,OAAO,MAAM,SAClB,QAAO,eAAe,GAAG,qBAAqB,EAC1C,OAAO,KACV,CAAC;AAEN,WAAM;;IAEV,MAAM,eAAe;IACrB,MAAM,MAAM,OAAO,KAAK,UAAU,CAAC;IACnC,MAAM,oBAAoB,UAAU;AACpC,QAAI,kBAAkB,eAAe;AACjC,uBAAkB,OAAO,kBAAkB;AAC3C,YAAO,kBAAkB;;AAE7B,uDAA4B,kBAAkB;;AAElD,UAAO,EAAE;;;;;;;;;mBCtJ6E;cACvC;aACqB;;;gCAGX;CACpD,uBAAb,cAA0C,mBAAmB;EACzD;EACA;EACA,YAAY,UAAU;AAClB,UAAO;AACP,QAAK,WAAW;;EAEpB,MAAM,QAAQ,OAAO,SAAS,IAAI;AAC9B,OAAI,KAAK,WAAW,OAChB,MAAK,SAAS;GAElB,MAAM,KAAK,iBAAiB,GAAG,OAAO;AACtC,OAAI,UAAU,CAAC,OAAO,SAAS,IAAI,CAC/B,WAAU;AAEd,OAAI,GAAG,cAAc,EACjB;QAAI,OAAO,UAAU,YAAY,iBAAiB,YAAY;AAC1D,UAAK,SAAS,OAAO;AACrB,UAAK,YAAY,KAAK,cAAc,iBAAiBE,4BAAU,MAAM,CAAC;;cAGrE,GAAG,iBAAiB,IAAI,GAAG,iBAAiB,IAAI,GAAG,gBAAgB,EACxE;QAAI,SAAS,MAAM;AACf,UAAK,SAAS,OAAO;AACrB,UAAK,WAAW,OAAO,MAAM,CAAC;eAEzB,GAAG,oBAAoB,EAAE;AAC9B,UAAK,SAAS,OAAO;AACrB,UAAK,uCAAqC,CAAC;;cAG1C,GAAG,oBAAoB,EAC5B;QAAI,SAAS,MAAM;AACf,UAAK,SAAS,OAAO;AACrB,UAAK,WAAW,OAAO,MAAM,CAAC;;cAG7B,GAAG,oBAAoB,EAC5B;QAAI,SAAS,MAAM;AACf,UAAK,SAAS,OAAO;AACrB,UAAK,WAAW,iBAAiB,eAAe,MAAM,SAAS,OAAO,MAAM,CAAC;;cAG5E,GAAG,mBAAmB,EAC3B;QAAI,iBAAiB,MAAM;AACvB,UAAK,SAAS,OAAO;AAErB,aADe,yBAAyB,IAAI,KAAK,SAAS,EAC1D;MACI,KAAK;AACD,YAAK,WAAW,MAAM,aAAa,CAAC,QAAQ,SAAS,IAAI,CAAC;AAC1D;MACJ,KAAK;AACD,YAAK,kDAA2B,MAAM,CAAC;AACvC;MACJ,KAAK;AACD,YAAK,WAAW,OAAO,MAAM,SAAS,GAAG,IAAK,CAAC;AAC/C;;;cAIP,GAAG,kBAAkB,CAC1B,KAAI,MAAM,QAAQ,MAAM,CACpB,MAAK,MAAM,IAAS,OAAO,OAAO;YAE7B,iBAAiB,KACtB,MAAK,MAAM,GAAG,OAAO,OAAO;YAEvB,iBAAiB,WACtB,MAAK,MAAM,IAAI,OAAO,OAAO;YAExB,SAAS,OAAO,UAAU,SAC/B,MAAK,MAAM,KAAU,OAAO,OAAO;QAElC;AACD,SAAK,SAAS,OAAO;AACrB,SAAK,WAAW,OAAO,MAAM,CAAC;;YAG7B,GAAG,cAAc,EACtB;QAAI,MAAM,QAAQ,MAAM,CACpB,KAAI,MAAM,WAAW,GACjB;SAAI,KAAK,SAAS,qBAAqB;AACnC,WAAK,SAAS,OAAO;AACrB,WAAK,WAAW,GAAG;;WAGtB;KACD,MAAM,SAAS,GAAG,gBAAgB;KAClC,MAAM,OAAO,KAAK,SAAS,gBAAgB,GAAG,iBAAiB,CAAC;KAChE,IAAI,IAAI;AACR,UAAK,MAAM,QAAQ,OAAO;AACtB,UAAI,QAAQ,KACR;MAEJ,MAAM,SAAS,OAAO,iBAAiB;MACvC,MAAM,SAAS,KAAK,OAAO,UAAU,OAAO,SAAS,OAAO,aAAa;MACzE,MAAM,MAAM,OAAO,GAAG,SAAS,MAAM,GAAG,SAAS,OAAO,GAAG;AAC3D,WAAK,MAAM,QAAQ,MAAM,IAAI;AAC7B,QAAE;;;cAKT,GAAG,aAAa,EACrB;QAAI,SAAS,OAAO,UAAU,UAAU;KACpC,MAAM,YAAY,GAAG,cAAc;KACnC,MAAM,eAAe,GAAG,gBAAgB;KACxC,MAAM,OAAO,GAAG,iBAAiB,CAAC;KAClC,IAAI,IAAI;AACR,UAAK,MAAM,CAAC,GAAG,MAAM,OAAO,QAAQ,MAAM,EAAE;AACxC,UAAI,KAAK,KACL;MAEJ,MAAM,YAAY,UAAU,iBAAiB;MAC7C,MAAM,YAAY,KAAK,OAAO,OAAO,UAAU,SAAS,UAAU,aAAa;MAC/E,MAAM,MAAM,OAAO,GAAG,SAAS,EAAE,GAAG,cAAc,GAAG,OAAO,QAAQ,EAAE,GAAG;MACzE,MAAM,YAAY,aAAa,iBAAiB;MAChD,MAAM,cAAc,KAAK,OAAO,SAAS,UAAU,SAAS,UAAU,aAAa;MACnF,MAAM,WAAW,OAAO,GAAG,SAAS,EAAE,GAAG,gBAAgB,GAAG,OAAO,QAAQ,EAAE,GAAG;AAChF,WAAK,MAAM,WAAW,GAAG,IAAI;AAC7B,WAAK,MAAM,cAAc,GAAG,SAAS;AACrC,QAAE;;;cAIL,GAAG,gBAAgB,EACxB;QAAI,SAAS,OAAO,UAAU,UAAU;KACpC,IAAI,iBAAiB;AACrB,UAAK,MAAM,CAAC,YAAY,WAAW,GAAG,gBAAgB,EAAE;AACpD,UAAI,MAAM,eAAe,QAAQ,CAAC,OAAO,oBAAoB,CACzD;MAEJ,MAAM,SAAS,OAAO,iBAAiB;MACvC,MAAM,SAAS,KAAK,OAAO,YAAY,OAAO,SAAS,OAAO,cAAc,SAAS;MACrF,MAAM,MAAM,GAAG,SAAS;AACxB,WAAK,MAAM,QAAQ,MAAM,aAAa,IAAI;AAC1C,uBAAiB;;AAErB,SAAI,CAAC,kBAAkB,GAAG,eAAe,EAAE;MACvC,MAAM,EAAE,aAAa;AACrB,UAAI,MAAM,QAAQ,SAAS,EAAE;OACzB,MAAM,CAAC,GAAG,KAAK;OACf,MAAM,MAAM,GAAG,SAAS;AACxB,YAAK,MAAM,IAAI,GAAG,IAAI;;;;cAK7B,GAAG,cAAc,EAAE,OAGxB,OAAM,IAAI,MAAM,sEAAsE,GAAG,QAAQ,KAAK,GAAG;;EAGjH,QAAQ;AACJ,OAAI,KAAK,WAAW,OAChB,OAAM,IAAI,MAAM,yFAAyF;GAE7G,MAAM,MAAM,KAAK;AACjB,UAAO,KAAK;AACZ,UAAO;;EAEX,OAAO,YAAY,SAAS,cAAc,WAAW;GACjD,MAAM,EAAE,KAAK,mBAAmB,KAAK;AACrC,OAAI,OAAO,aACP,QAAO;GAEX,MAAM,MAAM,WAAW;AACvB,OAAI,kBAAkB,cAAc,SAChC,QAAO,IAAI,GAAG,aAAa,GAAG,IAAI,MAAM,EAAE;AAE9C,UAAO;;EAEX,SAAS,KAAK;AACV,OAAI,IAAI,SAAS,IAAI,CACjB,OAAM,IAAI,MAAM,GAAG,IAAI,SAAS,EAAE;AAEtC,QAAK,UAAU,IAAI,2BAA2B,IAAI,CAAC;;EAEvD,WAAW,OAAO;AACd,QAAK,UAAU,2BAA2B,MAAM;;;;;;;;;mBC1LU;cACU;mBAC/B;4BACsB;4BACL;CACjD,mBAAb,cAAsC,YAAY;EAC9C;EACA;EACA;EACA,QAAQ,IAAI,aAAa;EACzB,YAAY,SAAS;AACjB,SAAM,EACF,kBAAkB,QAAQ,kBAC7B,CAAC;AACF,QAAK,UAAU;GACf,MAAM,WAAW;IACb,iBAAiB;KACb,UAAU;KACV,SAAS;KACZ;IACD,cAAc;IACd,cAAc,QAAQ;IACtB,kBAAkB,QAAQ;IAC1B,qBAAqB;IACxB;AACD,QAAK,aAAa,IAAI,qBAAqB,SAAS;AACpD,QAAK,eAAe,IAAI,qBAAqB,SAAS;;EAE1D,aAAa;AACT,UAAO;;EAEX,gBAAgB,cAAc;AAC1B,QAAK,WAAW,gBAAgB,aAAa;AAC7C,QAAK,aAAa,gBAAgB,aAAa;;EAEnD,kBAAkB;AACd,SAAM,IAAI,MAAM,0CAA0C;;EAE9D,MAAM,iBAAiB,iBAAiB,OAAO,SAAS;GACpD,MAAM,UAAU,MAAM,MAAM,iBAAiB,iBAAiB,OAAO,QAAQ;AAC7E,OAAI,CAAC,QAAQ,KAAK,SAAS,IAAI,CAC3B,SAAQ,QAAQ;AAEpB,UAAO,OAAO,QAAQ,SAAS,EAC3B,gBAAgB,qCACnB,CAAC;AACF,OAAI,MAAM,gBAAgB,MAAM,KAAK,UAAU,CAAC,QAAQ,KACpD,SAAQ,OAAO;AAGnB,WAAQ,OAAO,UADA,gBAAgB,KAAK,MAAM,IAAI,CAAC,MAAM,gBAAgB,KACrC,WAAW,KAAK,QAAQ,YAAY,QAAQ;AAC5E,OAAI,QAAQ,KAAK,SAAS,IAAI,CAC1B,SAAQ,OAAO,QAAQ,KAAK,MAAM,GAAG;AAEzC,UAAO;;EAEX,MAAM,oBAAoB,iBAAiB,SAAS,UAAU;GAC1D,MAAM,eAAe,KAAK;GAC1B,MAAM,KAAK,iBAAiB,GAAG,gBAAgB,OAAO;GACtD,MAAM,aAAa,EAAE;AACrB,OAAI,SAAS,cAAc,KAAK;IAC5B,MAAMC,UAAQ,MAAMC,cAAY,SAAS,MAAM,QAAQ;AACvD,QAAID,QAAM,aAAa,EACnB,QAAO,OAAO,YAAY,MAAM,aAAa,KAAK,IAAIA,QAAM,CAAC;AAEjE,UAAM,KAAK,YAAY,iBAAiB,SAAS,UAAU,YAAY,KAAK,oBAAoB,SAAS,CAAC;;AAE9G,QAAK,MAAM,UAAU,SAAS,SAAS;IACnC,MAAM,QAAQ,SAAS,QAAQ;AAC/B,WAAO,SAAS,QAAQ;AACxB,aAAS,QAAQ,OAAO,aAAa,IAAI;;GAE7C,MAAM,YAAY,gBAAgB,KAAK,MAAM,IAAI,CAAC,MAAM,gBAAgB;GACxE,MAAM,oBAAoB,GAAG,gBAAgB,IAAI,KAAK,iBAAiB,GAAG,YAAY,WAAW;GACjG,MAAM,QAAQ,MAAMC,cAAY,SAAS,MAAM,QAAQ;AACvD,OAAI,MAAM,aAAa,EACnB,QAAO,OAAO,YAAY,MAAM,aAAa,KAAK,IAAI,OAAO,kBAAkB,CAAC;AAMpF,UAJe;IACX,WAAW,KAAK,oBAAoB,SAAS;IAC7C,GAAG;IACN;;EAGL,kBAAkB;AACd,UAAO;;EAEX,MAAM,YAAY,iBAAiB,SAAS,UAAU,YAAY,UAAU;GACxE,MAAM,kBAAkB,KAAK,mBAAmB,UAAU,WAAW,IAAI;GACzE,MAAM,YAAY,KAAK,eAAe,WAAW,IAAI,EAAE;GACvD,MAAM,UAAU,KAAK,sBAAsB,WAAW;AACtD,aAAU,UAAU;AACpB,aAAU,QAAQ;IACd,MAAM,UAAU;IAChB,MAAM,UAAU;IAChB,SAAS;IACZ;GACD,MAAM,EAAE,aAAa,kBAAkB,MAAM,KAAK,MAAM,mCAAmC,iBAAiB,KAAK,QAAQ,kBAAkB,UAAU,WAAW,UAAU,KAAK,MAAM,yBAAyB;GAC9M,MAAM,KAAK,iBAAiB,GAAG,YAAY;GAE3C,MAAM,YAAY,MADA,aAAa,IAAI,YAAY,GAAG,CAAC,aAAa,YAAY,KAAI,OAChD,QAAQ;GACxC,MAAM,SAAS;IACX,MAAM,UAAU,MAAM;IACtB,MAAM,UAAU,MAAM;IACtB,OAAO,UAAU;IACpB;AACD,QAAK,MAAM,CAAC,MAAM,WAAW,GAAG,gBAAgB,EAAE;IAC9C,MAAM,SAAS,OAAO,iBAAiB,CAAC,WAAW;IACnD,MAAM,QAAQ,UAAU,WAAW,WAAW;AAC9C,WAAO,QAAQ,KAAK,aAAa,WAAW,QAAQ,MAAM;;AAE9D,SAAM,KAAK,MAAM,yBAAyB,OAAO,OAAO,WAAW,eAAe;IAC9E,QAAQ,GAAG,iBAAiB,CAAC;IAC7B;IACH,EAAE,OAAO,EAAE,WAAW;;EAE3B,mBAAmB,QAAQ,QAAM;GAC7B,MAAM,QAAQC,OAAK,SAAS,IAAI,SAASA,OAAK,QAAQ,SAASA,OAAK,QAAQ;AAC5E,OAAI,SAAS,OACT,QAAO;AAEX,OAAI,OAAO,cAAc,IACrB,QAAO;;EAGf,eAAe,QAAM;AACjB,UAAOA,OAAK,SAAS,IAAI,SAASA,OAAK,QAAQ,SAASA,OAAK;;EAEjE,sBAAsB,QAAM;GACxB,MAAM,YAAY,KAAK,eAAeA,OAAK;AAC3C,UAAO,WAAW,WAAW,WAAW,WAAWA,OAAK,WAAWA,OAAK,WAAW;;EAEvF,wBAAwB;AACpB,UAAO;;;;;;;;;wBCrIuC;CACzC,sBAAb,cAAyC,iBAAiB;EACtD;EACA,YAAY,SAAS;AACjB,SAAM,QAAQ;AACd,QAAK,UAAU;AAOf,UAAO,OAAO,KAAK,WAAW,UANV;IAChB,gBAAgB;IAChB,cAAc;IACd,qBAAqB;IACrB,KAAK;IACR,CACmD;;EAExD,aAAa;AACT,UAAO;;EAEX,kBAAkB;AACd,UAAO;;;;;;;;;;;;;;;cEhB+B;CACjC,gBAAgB,YAAY,YAAY,kBAAkB,YAAY,QAAQ,CAAC,MAAM,YAAY;AAC1G,MAAI,QAAQ,QAAQ;GAChB,IAAI;AACJ,OAAI;AACA,gDAAqB,QAAQ;YAE1B,GAAG;AACN,QAAI,KAAK,OAAO,MAAM,SAClB,QAAO,eAAe,GAAG,qBAAqB,EAC1C,OAAO,SACV,CAAC;AAEN,UAAM;;GAEV,MAAM,eAAe;GACrB,MAAM,MAAM,OAAO,KAAK,UAAU,CAAC;GACnC,MAAM,oBAAoB,UAAU;AACpC,OAAI,kBAAkB,eAAe;AACjC,sBAAkB,OAAO,kBAAkB;AAC3C,WAAO,kBAAkB;;AAE7B,sDAA4B,kBAAkB;;AAElD,SAAO,EAAE;GACX;CACW,oBAAoB,OAAO,WAAW,YAAY;EAC3D,MAAM,QAAQ,MAAM,aAAa,WAAW,QAAQ;AACpD,MAAI,MAAM,MACN,OAAM,MAAM,UAAU,MAAM,MAAM,WAAW,MAAM,MAAM;AAE7D,SAAO;;CAEE,wBAAwB,QAAQ,WAAS;AAClD,MAAIC,QAAM,OAAO,SAAS,OACtB,QAAOA,OAAK,MAAM;AAEtB,MAAIA,QAAM,SAAS,OACf,QAAOA,OAAK;AAEhB,MAAI,OAAO,cAAc,IACrB,QAAO;;;;;;;;;mBC1CmD;cACX;aACqB;;;gCAGX;CACpD,qBAAb,cAAwC,mBAAmB;EACvD;EACA;EACA;EACA;EACA,YAAY,UAAU;AAClB,UAAO;AACP,QAAK,WAAW;;EAEpB,MAAM,QAAQ,OAAO;GACjB,MAAM,KAAK,iBAAiB,GAAG,OAAO;AACtC,OAAI,GAAG,gBAAgB,IAAI,OAAO,UAAU,SACxC,MAAK,eAAe;YAEf,GAAG,cAAc,CACtB,MAAK,aACD,gBAAgB,QACV,SACC,KAAK,cAAc,iBAAiBC,8BAAY,MAAM;QAEhE;AACD,SAAK,SAAS,KAAK,YAAY,IAAI,OAAO,OAAU;IACpD,MAAM,SAAS,GAAG,iBAAiB;AACnC,QAAI,OAAO,eAAe,CAAC,OAAO,QAC9B,MAAK,OAAO,SAAS,GAAG,SAAS,CAAC;;;EAI9C,QAAQ;AACJ,OAAI,KAAK,eAAe,QAAW;IAC/B,MAAM,QAAQ,KAAK;AACnB,WAAO,KAAK;AACZ,WAAO;;AAEX,OAAI,KAAK,iBAAiB,QAAW;IACjC,MAAM,MAAM,KAAK;AACjB,WAAO,KAAK;AACZ,WAAO;;GAEX,MAAMC,WAAS,KAAK;AACpB,OAAI,KAAK,SAAS,cACd;QAAI,CAACA,UAAQ,aAAa,SACtB,UAAO,aAAa,SAAS,KAAK,SAAS,aAAa;;AAGhE,UAAO,KAAK;AACZ,UAAOA,SAAO,UAAU;;EAE5B,YAAY,IAAI,OAAO,aAAa;GAChC,MAAM,SAAS,GAAG,iBAAiB;GACnC,MAAM,OAAO,GAAG,gBAAgB,IAAI,CAAC,OAAO,cACtC,GAAG,iBAAiB,CAAC,WAAW,GAAG,eAAe,GAClD,OAAO,WAAW,GAAG,SAAS;AACpC,OAAI,CAAC,QAAQ,CAAC,GAAG,gBAAgB,CAC7B,OAAM,IAAI,MAAM,uGAAuG,GAAG,QAAQ,KAAK,CAAC,GAAG;GAE/I,MAAM,gBAAgBC,wBAAQ,GAAG,KAAK;GACtC,MAAM,CAAC,WAAW,SAAS,KAAK,kBAAkB,IAAI,YAAY;AAClE,QAAK,MAAM,CAAC,YAAY,iBAAiB,GAAG,gBAAgB,EAAE;IAC1D,MAAM,MAAM,MAAM;AAClB,QAAI,OAAO,QAAQ,aAAa,oBAAoB,EAAE;AAClD,SAAI,aAAa,iBAAiB,CAAC,cAAc;AAC7C,oBAAc,aAAa,aAAa,iBAAiB,CAAC,WAAW,YAAY,KAAK,YAAY,cAAc,IAAI,CAAC;AACrH;;AAEJ,SAAI,aAAa,cAAc,CAC3B,MAAK,UAAU,cAAc,KAAK,eAAe,MAAM;cAElD,aAAa,aAAa,CAC/B,MAAK,SAAS,cAAc,KAAK,eAAe,MAAM;cAEjD,aAAa,gBAAgB,CAClC,eAAc,aAAa,KAAK,YAAY,cAAc,KAAK,MAAM,CAAC;UAErE;MACD,MAAM,aAAaA,wBAAQ,GAAG,aAAa,iBAAiB,CAAC,WAAW,aAAa,eAAe,CAAC;AACrG,WAAK,gBAAgB,cAAc,KAAK,YAAY,MAAM;AAC1D,oBAAc,aAAa,WAAW;;;;GAIlD,MAAM,EAAE,aAAa;AACrB,OAAI,YAAY,GAAG,eAAe,IAAI,MAAM,QAAQ,SAAS,IAAI,OAAO,KAAK,MAAM,CAAC,WAAW,GAAG;IAC9F,MAAM,CAAC,GAAG,KAAK;IACf,MAAM,OAAOA,wBAAQ,GAAG,EAAE;AAC1B,QAAI,OAAO,MAAM,SACb,KAAI,iBAAiBA,2BAAW,iBAAiBC,wBAC7C,eAAc,aAAa,MAAM;QAGjC,OAAM,IAAI,MAAM,mHACsD;AAG9E,SAAK,gBAAgB,GAAG,GAAG,MAAM,MAAM;AACvC,kBAAc,aAAa,KAAK;;AAEpC,OAAI,MACA,eAAc,aAAa,WAAW,MAAM;AAEhD,UAAO;;EAEX,UAAU,YAAY,OAAO,WAAW,aAAa;AACjD,OAAI,CAAC,WAAW,gBAAgB,CAC5B,OAAM,IAAI,MAAM,2EAA2E,WAAW,QAAQ,KAAK,GAAG;GAE1H,MAAM,aAAa,WAAW,iBAAiB;GAC/C,MAAM,kBAAkB,WAAW,gBAAgB;GACnD,MAAM,kBAAkB,gBAAgB,iBAAiB;GACzD,MAAM,SAAS,CAAC,CAAC,gBAAgB;GACjC,MAAM,OAAO,CAAC,CAAC,WAAW;GAC1B,MAAM,CAAC,WAAW,SAAS,KAAK,kBAAkB,YAAY,YAAY;GAC1E,MAAM,aAAa,aAAW,UAAU;AACpC,QAAI,gBAAgB,cAAc,CAC9B,MAAK,UAAU,iBAAiB,MAAM,QAAQ,MAAM,GAAG,QAAQ,CAAC,MAAM,EAAEC,aAAW,MAAM;aAEpF,gBAAgB,aAAa,CAClC,MAAK,SAAS,iBAAiB,OAAOA,aAAW,MAAM;aAElD,gBAAgB,gBAAgB,EAAE;KACvC,MAAM,SAAS,KAAK,YAAY,iBAAiB,OAAO,MAAM;AAC9D,iBAAU,aAAa,OAAO,SAAS,OAAO,WAAW,WAAW,WAAW,eAAe,GAAG,gBAAgB,WAAW,SAAS,CAAC;WAErI;KACD,MAAM,eAAeF,wBAAQ,GAAG,OAAO,WAAW,WAAW,WAAW,eAAe,GAAG,gBAAgB,WAAW,SAAS;AAC9H,UAAK,gBAAgB,iBAAiB,OAAO,cAAc,MAAM;AACjE,iBAAU,aAAa,aAAa;;;AAG5C,OAAI,MACA;SAAK,MAAM,SAAS,MAChB,KAAI,UAAU,SAAS,KACnB,WAAU,WAAW,MAAM;UAIlC;IACD,MAAM,WAAWA,wBAAQ,GAAG,WAAW,WAAW,WAAW,eAAe,CAAC;AAC7E,QAAI,MACA,UAAS,aAAa,WAAW,MAAM;AAE3C,SAAK,MAAM,SAAS,MAChB,KAAI,UAAU,SAAS,KACnB,WAAU,UAAU,MAAM;AAGlC,cAAU,aAAa,SAAS;;;EAGxC,SAAS,WAAW,KAAK,WAAW,aAAa,iBAAiB,OAAO;AACrE,OAAI,CAAC,UAAU,gBAAgB,CAC3B,OAAM,IAAI,MAAM,0EAA0E,UAAU,QAAQ,KAAK,GAAG;GAExH,MAAM,YAAY,UAAU,iBAAiB;GAC7C,MAAM,eAAe,UAAU,cAAc;GAE7C,MAAM,SADe,aAAa,iBAAiB,CACvB,WAAW;GACvC,MAAM,iBAAiB,UAAU,gBAAgB;GACjD,MAAM,iBAAiB,eAAe,iBAAiB;GACvD,MAAM,WAAW,eAAe,WAAW;GAC3C,MAAM,SAAS,CAAC,CAAC,eAAe;GAChC,MAAM,OAAO,CAAC,CAAC,UAAU;GACzB,MAAM,CAAC,WAAW,SAAS,KAAK,kBAAkB,WAAW,YAAY;GACzE,MAAM,eAAe,OAAO,KAAK,QAAQ;IACrC,MAAM,UAAUA,wBAAQ,GAAG,QAAQ,IAAI;IACvC,MAAM,CAAC,cAAc,YAAY,KAAK,kBAAkB,cAAc,MAAM;AAC5E,QAAI,SACA,SAAQ,aAAa,cAAc,SAAS;AAEhD,UAAM,aAAa,QAAQ;IAC3B,IAAI,YAAYA,wBAAQ,GAAG,SAAS;AACpC,QAAI,eAAe,cAAc,CAC7B,MAAK,UAAU,gBAAgB,KAAK,WAAW,MAAM;aAEhD,eAAe,aAAa,CACjC,MAAK,SAAS,gBAAgB,KAAK,WAAW,OAAO,KAAK;aAErD,eAAe,gBAAgB,CACpC,aAAY,KAAK,YAAY,gBAAgB,KAAK,MAAM;QAGxD,MAAK,gBAAgB,gBAAgB,KAAK,WAAW,MAAM;AAE/D,UAAM,aAAa,UAAU;;AAEjC,OAAI,MACA;SAAK,MAAM,CAAC,KAAK,QAAQ,OAAO,QAAQ,IAAI,CACxC,KAAI,UAAU,OAAO,MAAM;KACvB,MAAM,QAAQA,wBAAQ,GAAG,UAAU,WAAW,UAAU,eAAe,CAAC;AACxE,iBAAY,OAAO,KAAK,IAAI;AAC5B,eAAU,aAAa,MAAM;;UAIpC;IACD,IAAI;AACJ,QAAI,CAAC,gBAAgB;AACjB,eAAUA,wBAAQ,GAAG,UAAU,WAAW,UAAU,eAAe,CAAC;AACpE,SAAI,MACA,SAAQ,aAAa,WAAW,MAAM;AAE1C,eAAU,aAAa,QAAQ;;AAEnC,SAAK,MAAM,CAAC,KAAK,QAAQ,OAAO,QAAQ,IAAI,CACxC,KAAI,UAAU,OAAO,MAAM;KACvB,MAAM,QAAQA,wBAAQ,GAAG,QAAQ;AACjC,iBAAY,OAAO,KAAK,IAAI;AAC5B,MAAC,iBAAiB,YAAY,SAAS,aAAa,MAAM;;;;EAK1E,YAAY,SAAS,OAAO;AACxB,OAAI,SAAS,MACT,OAAM,IAAI,MAAM,sEAAsE;GAE1F,MAAM,KAAK,iBAAiB,GAAG,QAAQ;GACvC,IAAI,eAAe;AACnB,OAAI,SAAS,OAAO,UAAU,SAC1B,KAAI,GAAG,cAAc,CACjB,iBAAgB,KAAK,cAAc,iBAAiBG,4BAAU,MAAM;YAE/D,GAAG,mBAAmB,IAAI,iBAAiB,KAEhD,SADe,yBAAyB,IAAI,KAAK,SAAS,EAC1D;IACI,KAAK;AACD,oBAAe,MAAM,aAAa,CAAC,QAAQ,SAAS,IAAI;AACxD;IACJ,KAAK;AACD,2DAA+B,MAAM;AACrC;IACJ,KAAK;AACD,oBAAe,OAAO,MAAM,SAAS,GAAG,IAAK;AAC7C;IACJ;AACI,aAAQ,KAAK,6CAA6C,MAAM;AAChE,2DAA+B,MAAM;AACrC;;YAGH,GAAG,oBAAoB,IAAI,OAAO;AACvC,QAAI,iBAAiB,aACjB,QAAO,MAAM;AAEjB,WAAO,OAAO,MAAM;cAEf,GAAG,aAAa,IAAI,GAAG,cAAc,CAC1C,OAAM,IAAI,MAAM,2HAA2H;OAG3I,OAAM,IAAI,MAAM,gGAAgG,GAAG,QAAQ,KAAK,GAAG;AAG3I,OAAI,GAAG,iBAAiB,IAAI,GAAG,iBAAiB,IAAI,GAAG,oBAAoB,IAAI,GAAG,oBAAoB,CAClG,gBAAe,OAAO,MAAM;AAEhC,OAAI,GAAG,gBAAgB,CACnB,KAAI,UAAU,UAAa,GAAG,oBAAoB,CAC9C,4CAAyC;OAGzC,gBAAe,OAAO,MAAM;AAGpC,OAAI,iBAAiB,KACjB,OAAM,IAAI,MAAM,+BAA+B,GAAG,QAAQ,KAAK,CAAC,GAAG,QAAQ;AAE/E,UAAO;;EAEX,gBAAgB,SAAS,OAAO,MAAM,aAAa;GAC/C,MAAM,eAAe,KAAK,YAAY,SAAS,MAAM;GACrD,MAAM,KAAK,iBAAiB,GAAG,QAAQ;GACvC,MAAM,UAAU,IAAIF,wBAAQ,aAAa;GACzC,MAAM,CAAC,WAAW,SAAS,KAAK,kBAAkB,IAAI,YAAY;AAClE,OAAI,MACA,MAAK,aAAa,WAAW,MAAM;AAEvC,QAAK,aAAa,QAAQ;;EAE9B,kBAAkB,IAAI,aAAa;GAE/B,MAAM,CAAC,QAAQ,SADA,GAAG,iBAAiB,CACJ,gBAAgB,EAAE;AACjD,OAAI,SAAS,UAAU,YACnB,QAAO,CAAC,SAAS,SAAS,WAAW,SAAS,MAAM;AAExD,UAAO,CAAC,KAAK,GAAG,KAAK,EAAE;;;;;;;;;gCCpSkC;4BACH;0BACJ;CAC7C,WAAb,cAA8B,mBAAmB;EAC7C;EACA,YAAY,UAAU;AAClB,UAAO;AACP,QAAK,WAAW;;EAEpB,mBAAmB;GACf,MAAM,aAAa,IAAI,mBAAmB,KAAK,SAAS;AACxD,cAAW,gBAAgB,KAAK,aAAa;AAC7C,UAAO;;EAEX,qBAAqB;GACjB,MAAM,eAAe,IAAI,qBAAqB,KAAK,SAAS;AAC5D,gBAAa,gBAAgB,KAAK,aAAa;AAC/C,UAAO;;;;;;;;;mBCjBmH;cAC7D;mBACxB;oBACS;gBAChB;CACzB,qBAAb,cAAwC,oBAAoB;EACxD;EACA;EACA;EACA,QAAQ,IAAI,aAAa;EACzB,YAAY,SAAS;AACjB,SAAM,QAAQ;GACd,MAAM,WAAW;IACb,iBAAiB;KACb,UAAU;KACV,SAAS;KACZ;IACD,cAAc;IACd,cAAc,QAAQ;IACtB,kBAAkB,QAAQ;IAC7B;AACD,QAAK,QAAQ,IAAI,SAAS,SAAS;AACnC,QAAK,aAAa,IAAI,gCAAgC,KAAK,MAAM,kBAAkB,EAAE,SAAS;AAC9F,QAAK,eAAe,IAAI,kCAAkC,KAAK,MAAM,oBAAoB,EAAE,SAAS;;EAExG,kBAAkB;AACd,UAAO,KAAK;;EAEhB,aAAa;AACT,UAAO;;EAEX,MAAM,iBAAiB,iBAAiB,OAAO,SAAS;GACpD,MAAM,UAAU,MAAM,MAAM,iBAAiB,iBAAiB,OAAO,QAAQ;GAC7E,MAAM,cAAc,iBAAiB,GAAG,gBAAgB,MAAM;AAC9D,OAAI,CAAC,QAAQ,QAAQ,iBAAiB;IAClC,MAAM,cAAc,KAAK,MAAM,uBAAuB,KAAK,uBAAuB,EAAE,YAAY;AAChG,QAAI,YACA,SAAQ,QAAQ,kBAAkB;;AAG1C,OAAI,OAAO,QAAQ,SAAS,YACxB,QAAQ,QAAQ,oBAAoB,KAAK,uBAAuB,IAChE,CAAC,QAAQ,KAAK,WAAW,SAAS,IAClC,CAAC,KAAK,8BAA8B,YAAY,CAChD,SAAQ,OAAO,+CAA2C,QAAQ;AAEtE,UAAO;;EAEX,MAAM,oBAAoB,iBAAiB,SAAS,UAAU;AAC1D,UAAO,MAAM,oBAAoB,iBAAiB,SAAS,SAAS;;EAExE,MAAM,YAAY,iBAAiB,SAAS,UAAU,YAAY,UAAU;GACxE,MAAM,kBAAkB,qBAAqB,UAAU,WAAW,IAAI;AACtE,OAAI,WAAW,SAAS,OAAO,WAAW,UAAU,SAChD,MAAK,MAAM,OAAO,OAAO,KAAK,WAAW,MAAM,EAAE;AAC7C,eAAW,OAAO,WAAW,MAAM;AACnC,QAAI,IAAI,aAAa,KAAK,UACtB,YAAW,UAAU,WAAW,MAAM;;AAIlD,OAAI,WAAW,aAAa,CAAC,SAAS,UAClC,UAAS,YAAY,WAAW;GAEpC,MAAM,EAAE,aAAa,kBAAkB,MAAM,KAAK,MAAM,mCAAmC,iBAAiB,KAAK,QAAQ,kBAAkB,UAAU,YAAY,SAAS;GAC1K,MAAM,KAAK,iBAAiB,GAAG,YAAY;GAC3C,MAAM,UAAU,WAAW,OAAO,WAAW,WAAW,OAAO,WAAW,WAAW,WAAW,WAAW,WAAW;GAEtH,MAAM,YAAY,MADA,aAAa,IAAI,YAAY,GAAG,CAAC,aAAa,YAAY,KAAI,OAChD,QAAQ;AACxC,SAAM,KAAK,uBAAuB,aAAa,SAAS,UAAU,WAAW;GAC7E,MAAM,SAAS,EAAE;AACjB,QAAK,MAAM,CAAC,MAAM,WAAW,GAAG,gBAAgB,EAAE;IAC9C,MAAM,SAAS,OAAO,iBAAiB,CAAC,WAAW;IACnD,MAAM,QAAQ,WAAW,QAAQ,WAAW,WAAW;AACvD,WAAO,QAAQ,KAAK,MAAM,oBAAoB,CAAC,WAAW,QAAQ,MAAM;;AAE5E,SAAM,KAAK,MAAM,yBAAyB,OAAO,OAAO,WAAW,eAAe;IAC9E,QAAQ,GAAG,iBAAiB,CAAC;IAC7B;IACH,EAAE,OAAO,EAAE,WAAW;;EAE3B,wBAAwB;AACpB,UAAO;;EAEX,8BAA8B,IAAI;AAC9B,QAAK,MAAM,GAAG,WAAW,GAAG,gBAAgB,CACxC,KAAI,OAAO,iBAAiB,CAAC,YACzB,QAAO,EAAE,OAAO,gBAAgB,IAAI,OAAO,aAAa,IAAI,OAAO,cAAc;AAGzF,UAAO;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;CGxFf,IAAI;CAEJ,SAAS,wBAAwB,OAAO;AACpC,SAAO;;CAEX,MAAM,wBAAwB,aAAa,SAAS,OAAO,SAAS;AAChE,MAAI,CAAC,aAAa,YAAY,WAAW,KAAK,QAAQ,CAClD,QAAO,KAAK,KAAK;EACrB,MAAM,EAAE,YAAY;EACpB,MAAM,EAAE,kBAAkB,OAAO,QAAQ,eAAe,YAAY,EAAE;AACtE,MAAI,gBAAgB,QAAQ,KAAK,IAAI,KAAK,CAAC,QAAQ,QAAQ,eAAe;AACtE,UAAO,QAAQ,QAAQ;AACvB,WAAQ,QAAQ,gBAAgB,QAAQ,YAAY,QAAQ,OAAO,MAAM,QAAQ,OAAO;aAEnF,CAAC,QAAQ,QAAQ,SAAS;GAC/B,IAAI,OAAO,QAAQ;AACnB,OAAI,QAAQ,QAAQ,KAChB,SAAQ,IAAI,QAAQ;AACxB,WAAQ,QAAQ,UAAU;;AAE9B,SAAO,KAAK,KAAK;;CAErB,MAAM,8BAA8B;EAChC,MAAM;EACN,MAAM;EACN,UAAU;EACV,MAAM,CAAC,OAAO;EACd,UAAU;EACb;CACD,MAAM,uBAAuB,aAAa,EACtC,eAAe,gBAAgB;AAC3B,cAAY,IAAI,qBAAqB,QAAQ,EAAE,4BAA4B;IAElF;AAED,SAAQ,sBAAsB;AAC9B,SAAQ,uBAAuB;AAC/B,SAAQ,8BAA8B;AACtC,SAAQ,0BAA0B;;;;;;CCtClC,MAAM,0BAA0B,MAAM,YAAY,OAAO,SAAS;AAC9D,MAAI;GACA,MAAM,WAAW,MAAM,KAAK,KAAK;GACjC,MAAM,EAAE,YAAY,aAAa,QAAQ,gCAAgC,EAAE,KAAK;GAChF,MAAM,EAAE,iCAAiC,qCAAqC;GAC9E,MAAM,0BAA0B,mCAAmC,QAAQ;GAC3E,MAAM,2BAA2B,oCAAoC,QAAQ;GAC7E,MAAM,EAAE,WAAW,GAAG,0BAA0B,SAAS;AACzD,WAAQ,OAAO;IACX;IACA;IACA,OAAO,wBAAwB,KAAK,MAAM;IAC1C,QAAQ,yBAAyB,sBAAsB;IACvD,UAAU;IACb,CAAC;AACF,UAAO;WAEJ,OAAO;GACV,MAAM,EAAE,YAAY,aAAa,QAAQ,gCAAgC,EAAE,KAAK;GAChF,MAAM,EAAE,oCAAoC;GAC5C,MAAM,0BAA0B,mCAAmC,QAAQ;AAC3E,WAAQ,QAAQ;IACZ;IACA;IACA,OAAO,wBAAwB,KAAK,MAAM;IAC1C;IACA,UAAU,MAAM;IACnB,CAAC;AACF,SAAM;;;CAGd,MAAM,0BAA0B;EAC5B,MAAM;EACN,MAAM,CAAC,SAAS;EAChB,MAAM;EACN,UAAU;EACb;CACD,MAAM,mBAAmB,aAAa,EAClC,eAAe,gBAAgB;AAC3B,cAAY,IAAI,kBAAkB,EAAE,wBAAwB;IAEnE;AAED,SAAQ,kBAAkB;AAC1B,SAAQ,mBAAmB;AAC3B,SAAQ,0BAA0B;;;;;;;;;;;CC/C5B,iBAAiB;EACnB,YAAY,OAAO,IAAI,yBAAyB;EAChD,gBAAgB,OAAO,IAAI,6BAA6B;EACxD,WAAW,OAAO,IAAI,wBAAwB;EACjD;CACK,uBAAuB,CAAC,QAAQ,IAAI,CAAC,SAAS,QAAQ,KAAK,yCAAyC,GAAG;AAC7G,KAAI,CAAC,qBACD,YAAW,YAAY,WAAW,aAAa,EAAE;CAE/C,kBAAN,MAAsB;EAClB,OAAO,iBAAiB;EACxB,eAAe,KAAK;AAChB,UAAO,OAAO,OAAO,eAAe,CAAC,SAAS,IAAI;;EAEtD,eAAe;AACX,UAAO,KAAK,IAAI,eAAe,WAAW,IAAI;;EAElD,iBAAiB;AACb,UAAO,KAAK,IAAI,eAAe,eAAe;;EAElD,cAAc;AACV,UAAO,KAAK,IAAI,eAAe,UAAU;;;CAG3C,oBAAN,cAAgC,gBAAgB;EAC5C;EACA,aAAa;AACT,UAAO,KAAK;;EAEhB,aAAa;AACT,UAAO,KAAK,mBAAmB;;EAEnC,IAAI,KAAK;AACL,UAAO,KAAK,iBAAiB;;EAEjC,IAAI,KAAK,OAAO;AACZ,OAAI,KAAK,eAAe,IAAI,CACxB,OAAM,IAAI,MAAM,iDAAiD,OAAO,IAAI,GAAG;AAEnF,QAAK,iBAAiB,KAAK,kBAAkB,EAAE;AAC/C,QAAK,eAAe,OAAO;;EAE/B,IAAI,SAAS,IAAI;AACb,QAAK,iBAAiB;AACtB,UAAO,IAAI;;;CAGb,mBAAN,MAAM,yBAAyB,gBAAgB;EAC3C;EACA,aAAa,SAAS;GAClB,MAAM,WAAW,IAAI,kBAAkB;AAEvC,YAAS,MAAM,KADI,OAAM,OAAO,sBACF,mBAAmB;AACjD,UAAO;;EAEX,aAAa;AACT,UAAO,KAAK,IAAI,UAAU;;EAE9B,aAAa;AACT,UAAO,KAAK,IAAI,UAAU,KAAK;;EAEnC,IAAI,KAAK;AACL,UAAO,KAAK,IAAI,UAAU,GAAG;;EAEjC,IAAI,KAAK,OAAO;AACZ,OAAI,KAAK,eAAe,IAAI,CACxB,OAAM,IAAI,MAAM,iDAAiD,OAAO,IAAI,GAAG;GAEnF,MAAM,QAAQ,KAAK,IAAI,UAAU;AACjC,OAAI,CAAC,MACD,OAAM,IAAI,MAAM,uBAAuB;AAE3C,SAAM,OAAO;;EAEjB,IAAI,SAAS,IAAI;AACb,UAAO,KAAK,IAAI,IAAI,SAAS,GAAG;;;;AAIxC,EAAC,SAAU,eAAa;EACpB,IAAI,WAAW;EACf,eAAe,iBAAiB,uBAAuB;AACnD,OAAI,CAAC,SACD,aAAY,YAAY;IAEpB,MAAM,cADU,0BAA0B,QAAQ,gCAAgC,QAAQ,MAEpF,MAAM,iBAAiB,QAAQ,GAC/B,IAAI,mBAAmB;AAC7B,QAAI,CAAC,wBAAwB,WAAW,WAAW,YAC/C,QAAO,WAAW,UAAU;aAEvB,CAAC,wBAAwB,WAAW,WAAW;AACpD,gBAAW,UAAU,cAAc;AACnC,YAAO;UAGP,QAAO;OAEX;AAER,UAAO;;AAEX,gBAAY,mBAAmB;AAC/B,gBAAY,WAAW,QAAQ,IAAI,8BAA8B,MAC3D,EACE,aAAa;AACT,cAAW;AACX,OAAI,WAAW,WAAW,YACtB,QAAO,WAAW,UAAU;AAEhC,cAAW,YAAY,EAAE,aAAa,QAAW;KAExD,GACC;IACP,gBAAgB,cAAc,EAAE,EAAE;;;;;;ACjHrC,QAAO,eAAe,SAAS,cAAc,EAAE,OAAO,MAAM,CAAC;AAC7D,SAAQ,+BAA+B,KAAK;CAC5C,MAAM;CACN,MAAM;CACN,MAAM,uBAAuB;CAC7B,MAAM,2BAA2B;CACjC,MAAM,eAAe;CACrB,MAAM,sCAAsC,SAAS,OAAO,SAAS;EACjE,MAAM,EAAE,YAAY;AACpB,MAAI,CAAC,gBAAgB,YAAY,WAAW,QAAQ,CAChD,QAAO,KAAK,KAAK;EAErB,MAAM,gBAAgB,OAAO,KAAK,QAAQ,WAAW,EAAE,CAAC,CAAC,MAAM,MAAM,EAAE,aAAa,KAAK,qBAAqB,aAAa,CAAC,IACxH;AACJ,MAAI,QAAQ,QAAQ,eAAe,cAAc,CAC7C,QAAO,KAAK,KAAK;EAErB,MAAM,eAAe,QAAQ,IAAI;EACjC,MAAM,iBAAiB,QAAQ,IAAI;EAGnC,MAAM,WAFc,MAAM,sBAAsB,YAAY,kBAAkB,GAClC,gBAAgB,IAClB;EAC1C,MAAM,kBAAkB,QAAQ,OAAO,QAAQ,YAAY,IAAI,SAAS;AACxE,MAAI,eAAe,aAAa,IAAI,eAAe,QAAQ,CACvD,SAAQ,QAAQ,wBAAwB;AAE5C,SAAO,KAAK;GACR,GAAG;GACH;GACH,CAAC;;AAEN,SAAQ,+BAA+B;;;;;;CC9BvC,IAAI;CAEJ,MAAM,sCAAsC;EACxC,MAAM;EACN,MAAM,CAAC,sBAAsB;EAC7B,MAAM;EACN,UAAU;EACV,UAAU;EACb;CAED,MAAM,+BAA+B,aAAa,EAC9C,eAAe,gBAAgB;AAC3B,cAAY,IAAI,6BAA6B,8BAA8B,EAAE,oCAAoC;IAExH;AAED,SAAQ,8BAA8B;AACtC,QAAO,UAAU,eAAe,KAAK,8BAA8B,YAAY,IAC3E,CAAC,OAAO,UAAU,eAAe,KAAK,SAAS,YAAY,IAC3D,OAAO,eAAe,SAAS,aAAa;EACxC,YAAY;EACZ,OAAO,6BAA6B;EACvC,CAAC;AAEN,QAAO,KAAK,6BAA6B,CAAC,QAAQ,SAAU,GAAG;AAC3D,MAAI,MAAM,aAAa,CAAC,OAAO,UAAU,eAAe,KAAK,SAAS,EAAE,CAAE,SAAQ,KAAK,6BAA6B;GACtH;;;;;;CC1BF,MAAM,mBAAmB,KAAK,KAAK,SAAS;AACxC,MAAI,EAAE,OAAO,KACT,QAAO;AACX,MAAI,IAAI,SAAS,OACb,QAAO;AACX,MAAI,IAAI,SAAS,QACb,QAAO;AACX,QAAM,IAAI,MAAM,eAAe,KAAK,IAAI,IAAI,qCAAqC,IAAI,KAAK,GAAG;;CAGjG,MAAM,kBAAkB,KAAK,KAAK,SAAS;AACvC,MAAI,EAAE,OAAO,KACT,QAAO;EACX,MAAM,cAAc,SAAS,IAAI,MAAM,GAAG;AAC1C,MAAI,OAAO,MAAM,YAAY,CACzB,OAAM,IAAI,UAAU,eAAe,KAAK,IAAI,IAAI,2BAA2B,IAAI,KAAK,IAAI;AAE5F,SAAO;;AAGX,SAAQ,eAAe,KAAK;AAC5B,EAAC,SAAU,cAAc;AACrB,eAAa,SAAS;AACtB,eAAa,YAAY;IAC1B,QAAQ,iBAAiB,QAAQ,eAAe,EAAE,EAAE;AAEvD,SAAQ,kBAAkB;AAC1B,SAAQ,iBAAiB;;;;;;CC3BzB,IAAI;CAEJ,IAAM,gBAAN,MAAoB;EAChB;EACA,uBAAO,IAAI,KAAK;EAChB,aAAa,EAAE;EACf,YAAY,EAAE,MAAM,UAAU;AAC1B,QAAK,WAAW,QAAQ;AACxB,OAAI,OACA,MAAK,aAAa;;EAG1B,IAAI,gBAAgB,UAAU;GAC1B,MAAM,MAAM,KAAK,KAAK,eAAe;AACrC,OAAI,QAAQ,MACR,QAAO,UAAU;AAErB,OAAI,CAAC,KAAK,KAAK,IAAI,IAAI,EAAE;AACrB,QAAI,KAAK,KAAK,OAAO,KAAK,WAAW,IAAI;KACrC,MAAM,OAAO,KAAK,KAAK,MAAM;KAC7B,IAAI,IAAI;AACR,YAAO,MAAM;MACT,MAAM,EAAE,OAAO,SAAS,KAAK,MAAM;AACnC,WAAK,KAAK,OAAO,MAAM;AACvB,UAAI,QAAQ,EAAE,IAAI,GACd;;;AAIZ,SAAK,KAAK,IAAI,KAAK,UAAU,CAAC;;AAElC,UAAO,KAAK,KAAK,IAAI,IAAI;;EAE7B,OAAO;AACH,UAAO,KAAK,KAAK;;EAErB,KAAK,gBAAgB;GACjB,IAAIG,WAAS;GACb,MAAM,EAAE,eAAe;AACvB,OAAI,WAAW,WAAW,EACtB,QAAO;AAEX,QAAK,MAAM,SAAS,YAAY;IAC5B,MAAM,MAAM,OAAO,eAAe,UAAU,GAAG;AAC/C,QAAI,IAAI,SAAS,KAAK,CAClB,QAAO;AAEX,gBAAU,MAAM;;AAEpB,UAAOA;;;CAIf,MAAM,8BAAc,IAAI,OAAO,mGAAmG;CAClI,MAAM,eAAe,UAAU,YAAY,KAAK,MAAM,IAAK,MAAM,WAAW,IAAI,IAAI,MAAM,SAAS,IAAI;CAEvG,MAAM,yCAAyB,IAAI,OAAO,oCAAoC;CAC9E,MAAM,oBAAoB,OAAO,kBAAkB,UAAU;AACzD,MAAI,CAAC,gBACD,QAAO,uBAAuB,KAAK,MAAM;EAE7C,MAAM,SAAS,MAAM,MAAM,IAAI;AAC/B,OAAK,MAAM,SAAS,OAChB,KAAI,CAAC,iBAAiB,MAAM,CACxB,QAAO;AAGf,SAAO;;CAGX,MAAM,0BAA0B,EAAE;CAElC,MAAM,UAAU;CAEhB,SAAS,cAAc,OAAO;AAC1B,MAAI,OAAO,UAAU,YAAY,SAAS,KACtC,QAAO;AAEX,MAAI,SAAS,MACT,QAAO,IAAI,cAAc,MAAM,IAAI;AAEvC,MAAI,QAAQ,MACR,QAAO,GAAG,MAAM,GAAG,IAAI,MAAM,QAAQ,EAAE,EAAE,IAAI,cAAc,CAAC,KAAK,KAAK,CAAC;AAE3E,SAAO,KAAK,UAAU,OAAO,MAAM,EAAE;;CAGzC,IAAM,gBAAN,cAA4B,MAAM;EAC9B,YAAY,SAAS;AACjB,SAAM,QAAQ;AACd,QAAK,OAAO;;;CAIpB,MAAM,iBAAiB,QAAQ,WAAW,WAAW;CAErD,MAAM,mBAAmB,SAAS;EAC9B,MAAM,QAAQ,KAAK,MAAM,IAAI;EAC7B,MAAM,WAAW,EAAE;AACnB,OAAK,MAAM,QAAQ,OAAO;GACtB,MAAM,qBAAqB,KAAK,QAAQ,IAAI;AAC5C,OAAI,uBAAuB,IAAI;AAC3B,QAAI,KAAK,QAAQ,IAAI,KAAK,KAAK,SAAS,EACpC,OAAM,IAAI,cAAc,UAAU,KAAK,yBAAyB;IAEpE,MAAM,aAAa,KAAK,MAAM,qBAAqB,GAAG,GAAG;AACzD,QAAI,OAAO,MAAM,SAAS,WAAW,CAAC,CAClC,OAAM,IAAI,cAAc,yBAAyB,WAAW,cAAc,KAAK,GAAG;AAEtF,QAAI,uBAAuB,EACvB,UAAS,KAAK,KAAK,MAAM,GAAG,mBAAmB,CAAC;AAEpD,aAAS,KAAK,WAAW;SAGzB,UAAS,KAAK,KAAK;;AAG3B,SAAO;;CAGX,MAAM,WAAW,OAAO,SAAS,gBAAgB,KAAK,CAAC,QAAQ,KAAK,UAAU;AAC1E,MAAI,OAAO,QAAQ,SACf,OAAM,IAAI,cAAc,UAAU,MAAM,QAAQ,KAAK,kBAAkB,KAAK,UAAU,MAAM,CAAC,GAAG;WAE3F,MAAM,QAAQ,IAAI,CACvB,QAAO,IAAI,SAAS,MAAM;AAE9B,SAAO,IAAI;IACZ,MAAM;CAET,MAAM,SAAS,UAAU,SAAS;CAElC,MAAM,OAAO,UAAU,CAAC;CAExB,MAAM,gBAAgB;GACjB,MAAM,kBAAkB,OAAO;GAC/B,MAAM,kBAAkB,QAAQ;EACpC;CACD,MAAM,YAAY,UAAU;EACxB,MAAM,mBAAmB;AACrB,OAAI;AACA,QAAI,iBAAiB,IACjB,QAAO;AAEX,QAAI,OAAO,UAAU,YAAY,cAAc,OAAO;KAClD,MAAM,EAAE,sBAAU,MAAM,uBAAW,IAAI,OAAO,IAAI,QAAQ,EAAE,KAAK;KACjE,MAAM,MAAM,IAAI,IAAI,GAAGC,WAAS,IAAIC,aAAW,OAAO,IAAI,SAAS,KAAK,OAAO;AAC/E,SAAI,SAAS,OAAO,QAAQ,MAAM,CAC7B,KAAK,CAAC,GAAG,OAAO,GAAG,EAAE,GAAG,IAAI,CAC5B,KAAK,IAAI;AACd,YAAO;;AAEX,WAAO,IAAI,IAAI,MAAM;YAElB,OAAO;AACV,WAAO;;MAEX;AACJ,MAAI,CAAC,WAAW;AACZ,WAAQ,MAAM,mBAAmB,KAAK,UAAU,MAAM,CAAC,mBAAmB;AAC1E,UAAO;;EAEX,MAAM,YAAY,UAAU;EAC5B,MAAM,EAAE,MAAM,UAAU,UAAU,UAAU,WAAW;AACvD,MAAI,OACA,QAAO;EAEX,MAAM,SAAS,SAAS,MAAM,GAAG,GAAG;AACpC,MAAI,CAAC,OAAO,OAAO,MAAM,kBAAkB,CAAC,SAAS,OAAO,CACxD,QAAO;EAEX,MAAM,OAAO,YAAY,SAAS;AAIlC,SAAO;GACH;GACA,WAHc,GAAG,OAFY,UAAU,SAAS,GAAG,KAAK,GAAG,cAAc,UAAU,IAClF,OAAO,UAAU,YAAY,MAAM,SAAS,GAAG,KAAK,GAAG,cAAc,UAAU,GAC7B,IAAI,cAAc,YAAY;GAIjF,MAAM;GACN,gBAAgB,SAAS,SAAS,IAAI,GAAG,WAAW,GAAG,SAAS;GAChE;GACH;;CAGL,MAAM,gBAAgB,QAAQ,WAAW,WAAW;CAEpD,MAAM,aAAa,OAAO,OAAO,MAAM,YAAY;AAC/C,MAAI,SAAS,QAAQ,MAAM,SAAS,QAAQ,mBAAmB,KAAK,MAAM,CACtE,QAAO;AAEX,MAAI,CAAC,QACD,QAAO,MAAM,UAAU,OAAO,KAAK;AAEvC,SAAO,MAAM,UAAU,MAAM,SAAS,MAAM,MAAM,SAAS,MAAM;;CAGrE,MAAM,aAAa,UAAU,mBAAmB,MAAM,CAAC,QAAQ,aAAa,MAAM,IAAI,EAAE,WAAW,EAAE,CAAC,SAAS,GAAG,CAAC,aAAa,GAAG;CAEnI,MAAM,oBAAoB;EACtB;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACH;CAED,MAAM,oBAAoB,UAAU,YAAY;EAC5C,MAAM,uBAAuB,EAAE;EAC/B,MAAM,kBAAkB;GACpB,GAAG,QAAQ;GACX,GAAG,QAAQ;GACd;EACD,IAAI,eAAe;AACnB,SAAO,eAAe,SAAS,QAAQ;GACnC,MAAM,oBAAoB,SAAS,QAAQ,KAAK,aAAa;AAC7D,OAAI,sBAAsB,IAAI;AAC1B,yBAAqB,KAAK,SAAS,MAAM,aAAa,CAAC;AACvD;;AAEJ,wBAAqB,KAAK,SAAS,MAAM,cAAc,kBAAkB,CAAC;GAC1E,MAAM,oBAAoB,SAAS,QAAQ,KAAK,kBAAkB;AAClE,OAAI,sBAAsB,IAAI;AAC1B,yBAAqB,KAAK,SAAS,MAAM,kBAAkB,CAAC;AAC5D;;AAEJ,OAAI,SAAS,oBAAoB,OAAO,OAAO,SAAS,oBAAoB,OAAO,KAAK;AACpF,yBAAqB,KAAK,SAAS,MAAM,oBAAoB,GAAG,kBAAkB,CAAC;AACnF,mBAAe,oBAAoB;;GAEvC,MAAM,gBAAgB,SAAS,UAAU,oBAAoB,GAAG,kBAAkB;AAClF,OAAI,cAAc,SAAS,IAAI,EAAE;IAC7B,MAAM,CAAC,SAAS,YAAY,cAAc,MAAM,IAAI;AACpD,yBAAqB,KAAK,QAAQ,gBAAgB,UAAU,SAAS,CAAC;SAGtE,sBAAqB,KAAK,gBAAgB,eAAe;AAE7D,kBAAe,oBAAoB;;AAEvC,SAAO,qBAAqB,KAAK,GAAG;;CAGxC,MAAM,qBAAqB,EAAE,OAAO,YAAY;AAK5C,SAJwB;GACpB,GAAG,QAAQ;GACX,GAAG,QAAQ;GACd,CACsB;;CAG3B,MAAM,sBAAsB,KAAK,SAAS,YAAY;AAClD,MAAI,OAAO,QAAQ,SACf,QAAO,iBAAiB,KAAK,QAAQ;WAEhC,IAAI,MACT,QAAO,QAAQ,aAAa,KAAK,QAAQ;WAEpC,IAAI,OACT,QAAO,kBAAkB,KAAK,QAAQ;AAE1C,QAAM,IAAI,cAAc,IAAI,QAAQ,KAAK,OAAO,IAAI,CAAC,0CAA0C;;CAEnG,MAAM,gBAAgB,EAAE,IAAI,QAAQ,YAAY;EAC5C,MAAM,gBAAgB,KAAK,KAAK,QAAQ,CAAC,WAAW,SAAS,CAAC,SAAS,OAAO,IAAI,GAAG,MAAM,QAAQ,mBAAmB,KAAK,OAAO,QAAQ,CAAC;EAC3I,MAAM,aAAa,GAAG,MAAM,IAAI;AAChC,MAAI,WAAW,MAAM,2BAA2B,WAAW,MAAM,KAC7D,QAAO,wBAAwB,WAAW,IAAI,WAAW,IAAI,GAAG,cAAc;AAElF,SAAO,kBAAkB,IAAI,GAAG,cAAc;;CAElD,MAAM,UAAU;EACZ;EACA;EACH;CAED,MAAM,qBAAqB,EAAE,QAAQ,GAAG,UAAU,YAAY;AAC1D,MAAI,UAAU,UAAU,QAAQ,gBAC5B,OAAM,IAAI,cAAc,IAAI,OAAO,2CAA2C;EAElF,MAAM,QAAQ,aAAa,QAAQ,QAAQ;AAC3C,UAAQ,QAAQ,QAAQ,GAAG,QAAQ,sBAAsB,cAAc,OAAO,CAAC,KAAK,cAAc,MAAM,GAAG;AAC3G,SAAO;GACH,QAAQ,UAAU,KAAK,OAAO,CAAC,CAAC;GAChC,GAAI,UAAU,QAAQ,EAAE,UAAU;IAAE,MAAM;IAAQ;IAAO,EAAE;GAC9D;;CAGL,MAAM,sBAAsB,aAAa,EAAE,EAAE,YAAY;EACrD,MAAM,4BAA4B,EAAE;AACpC,OAAK,MAAM,aAAa,YAAY;GAChC,MAAM,EAAE,QAAQ,aAAa,kBAAkB,WAAW;IACtD,GAAG;IACH,iBAAiB;KACb,GAAG,QAAQ;KACX,GAAG;KACN;IACJ,CAAC;AACF,OAAI,CAAC,OACD,QAAO,EAAE,QAAQ;AAErB,OAAI,UAAU;AACV,8BAA0B,SAAS,QAAQ,SAAS;AACpD,YAAQ,QAAQ,QAAQ,GAAG,QAAQ,WAAW,SAAS,KAAK,MAAM,cAAc,SAAS,MAAM,GAAG;;;AAG1G,SAAO;GAAE,QAAQ;GAAM,iBAAiB;GAA2B;;CAGvE,MAAM,sBAAsB,SAAS,YAAY,OAAO,QAAQ,QAAQ,CAAC,QAAQ,KAAK,CAAC,WAAW,gBAAgB;EAC9G,GAAG;GACF,YAAY,UAAU,KAAK,mBAAmB;GAC3C,MAAM,gBAAgB,mBAAmB,gBAAgB,sBAAsB,QAAQ;AACvF,OAAI,OAAO,kBAAkB,SACzB,OAAM,IAAI,cAAc,WAAW,UAAU,WAAW,cAAc,mBAAmB;AAE7F,UAAO;IACT;EACL,GAAG,EAAE,CAAC;CAEP,MAAM,yBAAyB,YAAY,YAAY,OAAO,QAAQ,WAAW,CAAC,QAAQ,KAAK,CAAC,aAAa,kBAAkB;EAC3H,GAAG;GACF,cAAc,QAAQ,oBAAoB,aAAa,QAAQ;EACnE,GAAG,EAAE,CAAC;CACP,MAAM,uBAAuB,UAAU,YAAY;AAC/C,MAAI,MAAM,QAAQ,SAAS,CACvB,QAAO,SAAS,KAAK,kBAAkB,oBAAoB,eAAe,QAAQ,CAAC;AAEvF,UAAQ,OAAO,UAAf;GACI,KAAK,SACD,QAAO,iBAAiB,UAAU,QAAQ;GAC9C,KAAK;AACD,QAAI,aAAa,KACb,OAAM,IAAI,cAAc,iCAAiC,WAAW;AAExE,WAAO,QAAQ,sBAAsB,UAAU,QAAQ;GAC3D,KAAK,UACD,QAAO;GACX,QACI,OAAM,IAAI,cAAc,sCAAsC,OAAO,WAAW;;;CAG5F,MAAM,UAAU;EACZ;EACA;EACH;CAED,MAAM,kBAAkB,aAAa,YAAY;EAC7C,MAAM,aAAa,mBAAmB,aAAa,gBAAgB,QAAQ;AAC3E,MAAI,OAAO,eAAe,SACtB,KAAI;AACA,UAAO,IAAI,IAAI,WAAW;WAEvB,OAAO;AACV,WAAQ,MAAM,gCAAgC,cAAc,MAAM;AAClE,SAAM;;AAGd,QAAM,IAAI,cAAc,sCAAsC,OAAO,aAAa;;CAGtF,MAAM,wBAAwB,cAAc,YAAY;EACpD,MAAM,EAAE,YAAY,aAAa;EACjC,MAAM,EAAE,QAAQ,oBAAoB,mBAAmB,YAAY,QAAQ;AAC3E,MAAI,CAAC,OACD;EAEJ,MAAM,sBAAsB;GACxB,GAAG;GACH,iBAAiB;IAAE,GAAG,QAAQ;IAAiB,GAAG;IAAiB;GACtE;EACD,MAAM,EAAE,KAAK,YAAY,YAAY;AACrC,UAAQ,QAAQ,QAAQ,GAAG,QAAQ,qCAAqC,cAAc,SAAS,GAAG;AAClG,SAAO;GACH,GAAI,WAAW,UAAa,EACxB,SAAS,mBAAmB,SAAS,oBAAoB,EAC5D;GACD,GAAI,cAAc,UAAa,EAC3B,YAAY,sBAAsB,YAAY,oBAAoB,EACrE;GACD,KAAK,eAAe,KAAK,oBAAoB;GAChD;;CAGL,MAAM,qBAAqB,WAAW,YAAY;EAC9C,MAAM,EAAE,YAAY,UAAU;EAC9B,MAAM,EAAE,QAAQ,oBAAoB,mBAAmB,YAAY,QAAQ;AAC3E,MAAI,CAAC,OACD;AAEJ,QAAM,IAAI,cAAc,mBAAmB,OAAO,SAAS;GACvD,GAAG;GACH,iBAAiB;IAAE,GAAG,QAAQ;IAAiB,GAAG;IAAiB;GACtE,CAAC,CAAC;;CAGP,MAAM,iBAAiB,OAAO,YAAY;AACtC,OAAK,MAAM,QAAQ,MACf,KAAI,KAAK,SAAS,YAAY;GAC1B,MAAM,sBAAsB,qBAAqB,MAAM,QAAQ;AAC/D,OAAI,oBACA,QAAO;aAGN,KAAK,SAAS,QACnB,mBAAkB,MAAM,QAAQ;WAE3B,KAAK,SAAS,QAAQ;GAC3B,MAAM,sBAAsB,MAAM,iBAAiB,MAAM,QAAQ;AACjE,OAAI,oBACA,QAAO;QAIX,OAAM,IAAI,cAAc,0BAA0B,OAAO;AAGjE,QAAM,IAAI,cAAc,0BAA0B;;CAEtD,MAAM,oBAAoB,UAAU,YAAY;EAC5C,MAAM,EAAE,YAAY,UAAU;EAC9B,MAAM,EAAE,QAAQ,oBAAoB,mBAAmB,YAAY,QAAQ;AAC3E,MAAI,CAAC,OACD;AAEJ,SAAO,MAAM,cAAc,OAAO;GAC9B,GAAG;GACH,iBAAiB;IAAE,GAAG,QAAQ;IAAiB,GAAG;IAAiB;GACtE,CAAC;;CAEN,MAAM,QAAQ;EACV;EACA;EACH;CAED,MAAM,mBAAmB,eAAe,YAAY;EAChD,MAAM,EAAE,gBAAgB,WAAW;EACnC,MAAM,EAAE,YAAY,UAAU;AAC9B,UAAQ,QAAQ,QAAQ,GAAG,QAAQ,2BAA2B,cAAc,eAAe,GAAG;EAC9F,MAAM,oBAAoB,OAAO,QAAQ,WAAW,CAC/C,QAAQ,GAAG,OAAO,EAAE,WAAW,KAAK,CACpC,KAAK,CAAC,GAAG,OAAO,CAAC,GAAG,EAAE,QAAQ,CAAC;AACpC,MAAI,kBAAkB,SAAS,EAC3B,MAAK,MAAM,CAAC,UAAU,sBAAsB,kBACxC,gBAAe,YAAY,eAAe,aAAa;EAG/D,MAAM,iBAAiB,OAAO,QAAQ,WAAW,CAC5C,QAAQ,GAAG,OAAO,EAAE,SAAS,CAC7B,KAAK,CAAC,OAAO,EAAE;AACpB,OAAK,MAAM,iBAAiB,eACxB,KAAI,eAAe,kBAAkB,KACjC,OAAM,IAAI,cAAc,gCAAgC,cAAc,GAAG;EAGjF,MAAM,WAAW,cAAc,OAAO;GAAE;GAAgB;GAAQ,iBAAiB,EAAE;GAAE,CAAC;AACtF,UAAQ,QAAQ,QAAQ,GAAG,QAAQ,sBAAsB,cAAc,SAAS,GAAG;AACnF,SAAO;;AAGX,SAAQ,gBAAgB;AACxB,SAAQ,gBAAgB;AACxB,SAAQ,0BAA0B;AAClC,SAAQ,cAAc;AACtB,SAAQ,mBAAmB;AAC3B,SAAQ,kBAAkB;;;;;;CCrd1B,IAAI;CACJ,IAAI;CAEJ,MAAM,6BAA6B,OAAO,kBAAkB,UAAU;AAClE,MAAI,iBAAiB;AACjB,QAAK,MAAM,SAAS,MAAM,MAAM,IAAI,CAChC,KAAI,CAAC,0BAA0B,MAAM,CACjC,QAAO;AAGf,UAAO;;AAEX,MAAI,CAAC,cAAc,iBAAiB,MAAM,CACtC,QAAO;AAEX,MAAI,MAAM,SAAS,KAAK,MAAM,SAAS,GACnC,QAAO;AAEX,MAAI,UAAU,MAAM,aAAa,CAC7B,QAAO;AAEX,MAAI,cAAc,YAAY,MAAM,CAChC,QAAO;AAEX,SAAO;;CAGX,MAAM,gBAAgB;CACtB,MAAM,qBAAqB;CAC3B,MAAM,YAAY,UAAU;EACxB,MAAM,WAAW,MAAM,MAAM,cAAc;AAC3C,MAAI,SAAS,SAAS,EAClB,QAAO;EACX,MAAM,CAAC,KAAK,WAAW,SAAS,QAAQ,WAAW,GAAG,gBAAgB;AACtE,MAAI,QAAQ,SAAS,cAAc,MAAM,YAAY,MAAM,aAAa,KAAK,cAAc,KAAK,GAC5F,QAAO;AAEX,SAAO;GACH;GACA;GACA;GACA;GACA,YANe,aAAa,KAAK,aAAa,SAAS,MAAM,mBAAmB,CAAC,CAAC,MAAM;GAO3F;;CAqRL,IAAI,iBAAiB;EACpB,YAnRgB;GAChB;IACC,IAAI;IACJ,SAAS;KACR,WAAW;KACX,oBAAoB;KACpB,sBAAsB;KACtB,MAAM;KACN,mBAAmB;KACnB,cAAc;KACd;IACD,aAAa;IACb,SAAS;KACR,cAAc,EACb,aAAa,sBACb;KACD,aAAa,EACZ,aAAa,4BACb;KACD,aAAa,EACZ,aAAa,yBACb;KACD,kBAAkB,EACjB,aAAa,wBACb;KACD,kBAAkB,EACjB,aAAa,wBACb;KACD,kBAAkB,EACjB,aAAa,wBACb;KACD,cAAc,EACb,aAAa,yBACb;KACD,cAAc,EACb,aAAa,4BACb;KACD,kBAAkB,EACjB,aAAa,4BACb;KACD,kBAAkB,EACjB,aAAa,yBACb;KACD,kBAAkB,EACjB,aAAa,0BACb;KACD,kBAAkB,EACjB,aAAa,4BACb;KACD,kBAAkB,EACjB,aAAa,2BACb;KACD,kBAAkB,EACjB,aAAa,8BACb;KACD,kBAAkB,EACjB,aAAa,2BACb;KACD,cAAc,EACb,aAAa,qBACb;KACD,gBAAgB,EACf,aAAa,oBACb;KACD,aAAa,EACZ,aAAa,yBACb;KACD,gBAAgB,EACf,aAAa,sBACb;KACD,gBAAgB,EACf,aAAa,mBACb;KACD,cAAc,EACb,aAAa,sBACb;KACD,cAAc,EACb,aAAa,kBACb;KACD,cAAc,EACb,aAAa,kBACb;KACD,aAAa,EACZ,aAAa,oBACb;KACD,aAAa,EACZ,aAAa,mBACb;KACD,aAAa,EACZ,aAAa,kBACb;KACD,gBAAgB,EACf,aAAa,qBACb;KACD,gBAAgB,EACf,aAAa,qBACb;KACD,cAAc,EACb,aAAa,yBACb;KACD,gBAAgB,EACf,aAAa,oBACb;KACD,aAAa,EACZ,aAAa,6BACb;KACD,aAAa,EACZ,aAAa,yBACb;KACD,aAAa,EACZ,aAAa,kBACb;KACD,aAAa,EACZ,aAAa,2BACb;KACD,aAAa,EACZ,aAAa,oBACb;KACD;IACD;GACD;IACC,IAAI;IACJ,SAAS;KACR,WAAW;KACX,oBAAoB;KACpB,sBAAsB;KACtB,MAAM;KACN,mBAAmB;KACnB,cAAc;KACd;IACD,aAAa;IACb,SAAS;KACR,iBAAiB,EAChB,aAAa,wBACb;KACD,cAAc,EACb,aAAa,mBACb;KACD,kBAAkB,EACjB,aAAa,mBACb;KACD;IACD;GACD;IACC,IAAI;IACJ,SAAS;KACR,WAAW;KACX,oBAAoB;KACpB,sBAAsB;KACtB,MAAM;KACN,mBAAmB;KACnB,cAAc;KACd;IACD,aAAa;IACb,SAAS,EACR,kBAAkB,EACjB,aAAa,0CACb,EACD;IACD;GACD;IACC,IAAI;IACJ,SAAS;KACR,WAAW;KACX,oBAAoB;KACpB,sBAAsB;KACtB,MAAM;KACN,mBAAmB;KACnB,cAAc;KACd;IACD,aAAa;IACb,SAAS;KACR,kBAAkB,EACjB,aAAa,yBACb;KACD,iBAAiB,EAChB,aAAa,eACb;KACD,iBAAiB,EAChB,aAAa,eACb;KACD;IACD;GACD;IACC,IAAI;IACJ,SAAS;KACR,WAAW;KACX,oBAAoB;KACpB,sBAAsB;KACtB,MAAM;KACN,mBAAmB;KACnB,cAAc;KACd;IACD,aAAa;IACb,SAAS;KACR,oBAAoB,EACnB,aAAa,2BACb;KACD,kBAAkB,EACjB,aAAa,uBACb;KACD,kBAAkB,EACjB,aAAa,gBACb;KACD;IACD;GACD;IACC,IAAI;IACJ,SAAS;KACR,WAAW;KACX,oBAAoB;KACpB,sBAAsB;KACtB,MAAM;KACN,mBAAmB;KACnB,cAAc;KACd;IACD,aAAa;IACb,SAAS;KACR,oBAAoB,EACnB,aAAa,2BACb;KACD,kBAAkB,EACjB,aAAa,gBACb;KACD;IACD;GACD;IACC,IAAI;IACJ,SAAS;KACR,WAAW;KACX,oBAAoB;KACpB,sBAAsB;KACtB,MAAM;KACN,mBAAmB;KACnB,cAAc;KACd;IACD,aAAa;IACb,SAAS;KACR,oBAAoB,EACnB,aAAa,2BACb;KACD,kBAAkB,EACjB,aAAa,gBACb;KACD,mBAAmB,EAClB,aAAa,iBACb;KACD;IACD;GACD;IACC,IAAI;IACJ,SAAS;KACR,WAAW;KACX,oBAAoB;KACpB,sBAAsB;KACtB,MAAM;KACN,mBAAmB;KACnB,cAAc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"}