oidc-spa 8.1.12 → 8.1.14

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.
@@ -65,7 +65,7 @@ const isKeycloak_1 = require("../keycloak/isKeycloak");
65
65
  const INFINITY_TIME_1 = require("../tools/INFINITY_TIME");
66
66
  const getIsValidRemoteJson_1 = require("../tools/getIsValidRemoteJson");
67
67
  // NOTE: Replaced at build time
68
- const VERSION = "8.1.12";
68
+ const VERSION = "8.1.14";
69
69
  const globalContext = {
70
70
  prOidcByConfigId: new Map(),
71
71
  hasLogoutBeenCalled: (0, id_1.id)(false),
@@ -665,6 +665,22 @@ async function createOidc_nonMemoized(params, preProcessedParams) {
665
665
  decodedIdToken_previous: undefined,
666
666
  log
667
667
  });
668
+ detect_useless_idleSessionLifetimeInSeconds: {
669
+ if (idleSessionLifetimeInSeconds === undefined) {
670
+ break detect_useless_idleSessionLifetimeInSeconds;
671
+ }
672
+ if (currentTokens.refreshTokenExpirationTime === undefined) {
673
+ break detect_useless_idleSessionLifetimeInSeconds;
674
+ }
675
+ console.warn([
676
+ "oidc-spa: You've specified idleSessionLifetimeInSeconds,",
677
+ "but your auth server issues a refresh_token with a known expiration time.",
678
+ "idleSessionLifetimeInSeconds should only be used as a fallback",
679
+ "for auth servers that don't specify when an inactive session expires.",
680
+ "The auth server, not your code, is the source of truth.",
681
+ "See: https://docs.oidc-spa.dev/v/v8/auto-logout"
682
+ ].join(" "));
683
+ }
668
684
  {
669
685
  if ((0, persistedAuthState_1.getPersistedAuthState)({ configId }) !== undefined) {
670
686
  (0, persistedAuthState_1.persistAuthState)({ configId, state: undefined });
@@ -1046,6 +1062,12 @@ async function createOidc_nonMemoized(params, preProcessedParams) {
1046
1062
  ].join(" "));
1047
1063
  return;
1048
1064
  }
1065
+ const msBeforeExpiration_idleSessionLifetimeInSeconds = idleSessionLifetimeInSeconds === undefined ? undefined : idleSessionLifetimeInSeconds * 1000;
1066
+ const msBeforeExpiration_refreshToken = currentTokens.refreshTokenExpirationTime === undefined
1067
+ ? undefined
1068
+ : currentTokens.refreshTokenExpirationTime - currentTokens.getServerDateNow();
1069
+ const msBeforeExpiration_accessToken = currentTokens.accessTokenExpirationTime - currentTokens.getServerDateNow();
1070
+ let isRefreshTokenNeverExpiring = false;
1049
1071
  if (currentTokens.refreshTokenExpirationTime !== undefined &&
1050
1072
  currentTokens.refreshTokenExpirationTime >= INFINITY_TIME_1.INFINITY_TIME) {
1051
1073
  const warningLines = [];
@@ -1057,59 +1079,69 @@ async function createOidc_nonMemoized(params, preProcessedParams) {
1057
1079
  }
1058
1080
  if (warningLines.length > 0) {
1059
1081
  warningLines.push(...[
1060
- "Misconfiguration: offline_access is for native apps, not SPAs. ",
1082
+ "Misconfiguration: offline_access is for native apps, not for web apps like yours. ",
1061
1083
  "You lose SSO and users must log in after every reload."
1062
1084
  ]);
1085
+ console.warn(`oidc-spa: ${warningLines.join(" ")}`);
1086
+ return;
1063
1087
  }
1064
- const logMessage = [
1065
- "Refresh token never expires → no need to ping server.",
1066
- "The backend session will not expire.",
1067
- ...warningLines
1068
- ].join(" ");
1069
- if (warningLines.length > 0) {
1070
- console.warn(`oidc-spa: ${logMessage}`);
1071
- }
1072
- else {
1073
- log?.(logMessage);
1074
- }
1075
- return;
1088
+ isRefreshTokenNeverExpiring = true;
1076
1089
  }
1077
- const msBeforeExpiration = (currentTokens.refreshTokenExpirationTime ?? currentTokens.accessTokenExpirationTime) -
1078
- currentTokens.getServerDateNow();
1079
- const typeOfTheTokenWeGotTheTtlFrom = currentTokens.refreshTokenExpirationTime !== undefined ? "refresh" : "access";
1080
1090
  const RENEW_MS_BEFORE_EXPIRES = 30000;
1081
- if (msBeforeExpiration <= RENEW_MS_BEFORE_EXPIRES) {
1082
- log?.([
1083
- "Session keep-alive disabled. We just got fresh tokens",
1084
- (() => {
1085
- switch (typeOfTheTokenWeGotTheTtlFrom) {
1086
- case "refresh":
1087
- return [
1088
- " and the refresh token is already about to expires.",
1089
- "This means that we have reached the max session lifespan, we can't keep",
1090
- "the session alive any longer.",
1091
- "(This can also mean that the refresh token was configured with a TTL,",
1092
- "aka the idle session lifespan, too low to make sense)"
1093
- ].join(" ");
1094
- case "access":
1095
- return [
1096
- currentTokens.hasRefreshToken
1097
- ? ", we can't read the expiration time of the refresh token"
1098
- : ", we don't have a refresh token",
1099
- ` and the access token is already about to expire`,
1100
- "we would spam the auth server by constantly renewing the access token in the background",
1101
- "avoiding to do so."
1102
- ].join(" ");
1103
- }
1104
- })()
1091
+ const MIN_ACCEPTABLE_MS_BEFORE_EXPIRATION = RENEW_MS_BEFORE_EXPIRES + 15000;
1092
+ detect_session_reached_max_life: {
1093
+ if (msBeforeExpiration_refreshToken === undefined) {
1094
+ break detect_session_reached_max_life;
1095
+ }
1096
+ if (msBeforeExpiration_refreshToken > MIN_ACCEPTABLE_MS_BEFORE_EXPIRATION) {
1097
+ break detect_session_reached_max_life;
1098
+ }
1099
+ console.warn([
1100
+ "oidc-spa: The session is nearing its maximum lifetime, and the user will soon need to log in again,",
1101
+ `or you've configured a refresh_token with a TTL of ${(0, toHumanReadableDuration_1.toHumanReadableDuration)(msBeforeExpiration_refreshToken)}.`,
1102
+ `If it's the latter, the TTL is too short, it must be at least ${(0, toHumanReadableDuration_1.toHumanReadableDuration)(MIN_ACCEPTABLE_MS_BEFORE_EXPIRATION)} for reliable operation.`,
1103
+ "Shorter lifetimes can cause unpredictable session expirations and are usually a misconfiguration.",
1104
+ "\nIn either case, oidc-spa will not ping the auth server to keep the session alive."
1105
1105
  ].join(" "));
1106
1106
  return;
1107
1107
  }
1108
- log?.([
1109
- (0, toHumanReadableDuration_1.toHumanReadableDuration)(msBeforeExpiration),
1110
- `before expiration of the ${typeOfTheTokenWeGotTheTtlFrom} token.`,
1111
- `Scheduling renewal ${(0, toHumanReadableDuration_1.toHumanReadableDuration)(RENEW_MS_BEFORE_EXPIRES)} before expiration to keep the session alive on the OIDC server.`
1112
- ].join(" "));
1108
+ let msBeforeExpiration = (() => {
1109
+ if (msBeforeExpiration_refreshToken !== undefined && !isRefreshTokenNeverExpiring) {
1110
+ log?.([
1111
+ (0, toHumanReadableDuration_1.toHumanReadableDuration)(msBeforeExpiration_refreshToken),
1112
+ `before expiration of the refresh_token.`,
1113
+ `Scheduling renewal of the tokens ${(0, toHumanReadableDuration_1.toHumanReadableDuration)(RENEW_MS_BEFORE_EXPIRES)} before expiration as a way to keep the session alive on the OIDC server.`
1114
+ ].join(" "));
1115
+ return msBeforeExpiration_refreshToken;
1116
+ }
1117
+ if (msBeforeExpiration_idleSessionLifetimeInSeconds !== undefined) {
1118
+ if (msBeforeExpiration_idleSessionLifetimeInSeconds < MIN_ACCEPTABLE_MS_BEFORE_EXPIRATION) {
1119
+ throw new Error([
1120
+ `oidc-spa: The configured idleSessionLifetimeInSeconds (${(0, toHumanReadableDuration_1.toHumanReadableDuration)(msBeforeExpiration_idleSessionLifetimeInSeconds)}) is too short.`,
1121
+ `For reliability, it must be at least ${(0, toHumanReadableDuration_1.toHumanReadableDuration)(MIN_ACCEPTABLE_MS_BEFORE_EXPIRATION)}.`,
1122
+ "Very short session idle lifetimes are usually a misconfiguration, even for ultra sensitive apps."
1123
+ ].join(" "));
1124
+ }
1125
+ log?.([
1126
+ `You've set idleSessionLifetimeInSeconds to ${(0, toHumanReadableDuration_1.toHumanReadableDuration)(msBeforeExpiration_idleSessionLifetimeInSeconds)}.`,
1127
+ `This means the user session will expire after ${(0, toHumanReadableDuration_1.toHumanReadableDuration)(msBeforeExpiration_idleSessionLifetimeInSeconds)} of inactivity (assuming you're right).`,
1128
+ `Scheduling token renewal ${(0, toHumanReadableDuration_1.toHumanReadableDuration)(RENEW_MS_BEFORE_EXPIRES)} before expiration to keep the session active on the OIDC server.`
1129
+ ].join(" "));
1130
+ return msBeforeExpiration_idleSessionLifetimeInSeconds;
1131
+ }
1132
+ const msBeforeExpiration = msBeforeExpiration_accessToken > MIN_ACCEPTABLE_MS_BEFORE_EXPIRATION
1133
+ ? msBeforeExpiration_accessToken
1134
+ : 3600000;
1135
+ log?.([
1136
+ "The auth server's idle session timeout is unknown.",
1137
+ isRefreshTokenNeverExpiring && "(The refresh token never expires)",
1138
+ `Assuming a default idle session TTL of ${(0, toHumanReadableDuration_1.toHumanReadableDuration)(msBeforeExpiration)}.`,
1139
+ `Scheduling token renewal ${(0, toHumanReadableDuration_1.toHumanReadableDuration)(RENEW_MS_BEFORE_EXPIRES)} before expiration to keep the session active on the OIDC server.`
1140
+ ]
1141
+ .filter(line => typeof line === "string")
1142
+ .join(" "));
1143
+ return msBeforeExpiration;
1144
+ })();
1113
1145
  const timer = (0, workerTimers_1.setTimeout)(async () => {
1114
1146
  {
1115
1147
  const { isOnline, prOnline } = (0, getIsOnline_1.getIsOnline)();
@@ -1129,7 +1161,7 @@ async function createOidc_nonMemoized(params, preProcessedParams) {
1129
1161
  }
1130
1162
  }
1131
1163
  }
1132
- log?.(`Renewing the tokens now as the ${typeOfTheTokenWeGotTheTtlFrom} token will expire in ${(0, toHumanReadableDuration_1.toHumanReadableDuration)(RENEW_MS_BEFORE_EXPIRES)}`);
1164
+ log?.(`Renewing the tokens now as otherwise the session will be terminated by the auth server in ${(0, toHumanReadableDuration_1.toHumanReadableDuration)(RENEW_MS_BEFORE_EXPIRES)}`);
1133
1165
  await oidc_loggedIn.renewTokens();
1134
1166
  }, Math.min(msBeforeExpiration - RENEW_MS_BEFORE_EXPIRES,
1135
1167
  // NOTE: We want to make sure we do not overflow the setTimeout
@@ -1144,16 +1176,17 @@ async function createOidc_nonMemoized(params, preProcessedParams) {
1144
1176
  })();
1145
1177
  auto_logout: {
1146
1178
  const getCurrentRefreshTokenTtlInSeconds = () => {
1147
- if (idleSessionLifetimeInSeconds !== undefined) {
1148
- return idleSessionLifetimeInSeconds;
1149
- }
1150
1179
  if (currentTokens.refreshTokenExpirationTime === undefined) {
1151
- return undefined;
1180
+ return idleSessionLifetimeInSeconds;
1152
1181
  }
1153
1182
  if (currentTokens.refreshTokenExpirationTime >= INFINITY_TIME_1.INFINITY_TIME) {
1154
- return 0;
1183
+ return idleSessionLifetimeInSeconds ?? 0;
1184
+ }
1185
+ const ttlInSeconds = (currentTokens.refreshTokenExpirationTime - currentTokens.issuedAtTime) / 1000;
1186
+ if (idleSessionLifetimeInSeconds !== undefined) {
1187
+ return Math.min(idleSessionLifetimeInSeconds, ttlInSeconds);
1155
1188
  }
1156
- return (currentTokens.refreshTokenExpirationTime - currentTokens.issuedAtTime) / 1000;
1189
+ return ttlInSeconds;
1157
1190
  };
1158
1191
  if (getCurrentRefreshTokenTtlInSeconds() === 0) {
1159
1192
  log?.("The refresh_token never expires, disabling auto logout mechanism");
@@ -1 +1 @@
1
- {"version":3,"file":"createOidc.js","sourceRoot":"","sources":["../src/core/createOidc.ts"],"names":[],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;AA2NA,gCA+EC;AAED,wDAu/CC;AAnyDD,sEAK2C;AAE3C,kDAAgE;AAChE,0CAAuC;AACvC,wDAAiE;AACjE,gDAA6C;AAC7C,uDAA0D;AAC1D,4DAA+D;AAC/D,8EAA2E;AAC3E,sEAAmE;AACnE,uEAAoE;AACpE,2CAKqB;AACrB,iFAA8F;AAC9F,+EAA2F;AAC3F,yCAAyC;AACzC,yEAAsE;AACtE,+CAA4C;AAC5C,iDAKwB;AACxB,2CAA2F;AAC3F,6DAA+E;AAE/E,sCAAyC;AACzC,4EAA4E;AAC5E,mEAGiC;AACjC,8EAAiF;AACjF,qFAG0C;AAC1C,+DAAqE;AACrE,sDAAmD;AACnD,uDAAoD;AACpD,0DAAuD;AAEvD,wEAAqE;AAErE,+BAA+B;AAC/B,MAAM,OAAO,GAAG,sBAAsB,CAAC;AA+IvC,MAAM,aAAa,GAAG;IAClB,gBAAgB,EAAE,IAAI,GAAG,EAA8B;IACvD,mBAAmB,EAAE,IAAA,OAAE,EAAU,KAAK,CAAC;IACvC,yBAAyB,EAAE,IAAA,eAAS,GAAmD;CAC1F,CAAC;AAEF,aAAa,CAAC,yBAAyB,CAAC,SAAS,CAAC,GAAG,EAAE;IACnD,MAAM,EAAE,YAAY,EAAE,GAAG,IAAA,mCAAuB,GAAE,CAAC;IAEnD,IAAI,YAAY,KAAK,SAAS,EAAE,CAAC;QAC7B,OAAO;IACX,CAAC;IAED,MAAM,EAAE,aAAa,EAAE,GAAG,IAAA,gDAAiC,GAAE,CAAC;IAE9D,IAAA,gDAAiC,EAAC;QAC9B,aAAa,EAAE,CAAC,GAAG,aAAa,EAAE,YAAY,CAAC;KAClD,CAAC,CAAC;AACP,CAAC,CAAC,CAAC;AAEH,iDAAiD;AAC1C,KAAK,UAAU,UAAU,CAI5B,MAAqD;IAErD,KAAK,MAAM,IAAI,IAAI,CAAC,WAAW,EAAE,UAAU,CAAU,EAAE,CAAC;QACpD,MAAM,KAAK,GAAG,MAAM,CAAC,IAAI,CAAC,CAAC;QAC3B,IAAI,CAAC,KAAK,EAAE,CAAC;YACT,MAAM,IAAI,KAAK,CACX,kBAAkB,IAAI,gCAAgC,KAAK,6BAA6B,CAC3F,CAAC;QACN,CAAC;IACL,CAAC;IAED,MAAM,EAAE,SAAS,EAAE,gBAAgB,EAAE,QAAQ,EAAE,MAAM,GAAG,CAAC,SAAS,CAAC,EAAE,SAAS,EAAE,GAAG,IAAI,EAAE,GAAG,MAAM,CAAC;IAEnG,MAAM,SAAS,GAAG,IAAA,yCAAmB,EAAC;QAClC,MAAM,EAAE,gBAAgB;QACxB,qBAAqB,EAAE,IAAI;QAC3B,yBAAyB,EAAE,KAAK;KACnC,CAAC,CAAC;IAEH,MAAM,GAAG,GAAG,CAAC,GAAG,EAAE;QACd,IAAI,CAAC,SAAS,EAAE,CAAC;YACb,OAAO,SAAS,CAAC;QACrB,CAAC;QAED,OAAO,IAAA,OAAE,EAAqB,CAAC,GAAG,CAAC,KAAK,EAAE,GAAG,IAAI,CAAC,EAAE,EAAE;YAClD,MAAM,KAAK,GAAG,UAAU,CAAC;YAEzB,IAAI,OAAO,KAAK,KAAK,QAAQ,EAAE,CAAC;gBAC5B,OAAO,CAAC,GAAG,CAAC,GAAG,CAAC,GAAG,KAAK,KAAK,KAAK,EAAE,EAAE,GAAG,IAAI,CAAC,CAAC,CAAC;YACpD,CAAC;iBAAM,CAAC;gBACJ,OAAO,CAAC,GAAG,CAAC,GAAG,CAAC,GAAG,KAAK,GAAG,EAAE,KAAK,EAAE,GAAG,IAAI,CAAC,CAAC,CAAC;YAClD,CAAC;QACL,CAAC,CAAC,CAAC;IACP,CAAC,CAAC,EAAE,CAAC;IAEL,MAAM,QAAQ,GAAG,IAAA,sBAAW,EAAC,EAAE,SAAS,EAAE,QAAQ,EAAE,CAAC,CAAC;IAEtD,MAAM,EAAE,gBAAgB,EAAE,GAAG,aAAa,CAAC;IAE3C,qBAAqB,EAAE,CAAC;QACpB,MAAM,MAAM,GAAG,gBAAgB,CAAC,GAAG,CAAC,QAAQ,CAAC,CAAC;QAE9C,IAAI,MAAM,KAAK,SAAS,EAAE,CAAC;YACvB,MAAM,qBAAqB,CAAC;QAChC,CAAC;QAED,GAAG,EAAE,CACD;YACI,qDAAqD,IAAI,CAAC,SAAS,CAAC;gBAChE,SAAS;gBACT,QAAQ;aACX,CAAC,GAAG;YACL,kFAAkF;SACrF,CAAC,IAAI,CAAC,GAAG,CAAC,CACd,CAAC;QAEF,6CAA6C;QAC7C,OAAO,MAAM,CAAC;IAClB,CAAC;IAED,MAAM,KAAK,GAAG,IAAI,mBAAQ,EAAa,CAAC;IAExC,gBAAgB,CAAC,GAAG,CAAC,QAAQ,EAAE,KAAK,CAAC,EAAE,CAAC,CAAC;IAEzC,MAAM,IAAI,GAAG,MAAM,sBAAsB,CAAC,IAAI,EAAE;QAC5C,SAAS;QACT,QAAQ;QACR,MAAM;QACN,QAAQ;QACR,GAAG;KACN,CAAC,CAAC;IAEH,KAAK,CAAC,OAAO,CAAC,IAAI,CAAC,CAAC;IAEpB,OAAO,IAAI,CAAC;AAChB,CAAC;AAEM,KAAK,UAAU,sBAAsB,CAIxC,MAGC,EACD,kBAMC;IAED,MAAM,EACF,0BAA0B,EAC1B,gBAAgB,EAAE,wBAAwB,EAC1C,gBAAgB,EAAE,wBAAwB,EAC1C,OAAO,EAAE,cAAc,EACvB,oBAAoB,EACpB,4BAA4B,EAC5B,gBAAgB,GAAG,EAAE,UAAU,EAAE,cAAc,EAAE,EACjD,SAAS,GAAG,KAAK,EACjB,oBAAoB,EAAE,4BAA4B,EAClD,qBAAqB,EACrB,gCAAgC,GAAG,KAAK,EACxC,UAAU,EACV,QAAQ,GAAG,KAAK,EACnB,GAAG,MAAM,CAAC;IAEX,MAAM,EAAE,SAAS,EAAE,QAAQ,EAAE,MAAM,EAAE,QAAQ,EAAE,GAAG,EAAE,GAAG,kBAAkB,CAAC;IAE1E,MAAM,mBAAmB,GAAG,CAAC,GAAG,EAAE;QAC9B,IAAI,wBAAwB,KAAK,SAAS,EAAE,CAAC;YACzC,OAAO,SAAS,CAAC;QACrB,CAAC;QAED,IAAI,OAAO,wBAAwB,KAAK,UAAU,EAAE,CAAC;YACjD,OAAO,GAAG,EAAE,CAAC,wBAAwB,CAAC;QAC1C,CAAC;QAED,OAAO,wBAAwB,CAAC;IACpC,CAAC,CAAC,EAAE,CAAC;IAEL,MAAM,mBAAmB,GAAG,CAAC,GAAG,EAAE;QAC9B,IAAI,wBAAwB,KAAK,SAAS,EAAE,CAAC;YACzC,OAAO,SAAS,CAAC;QACrB,CAAC;QAED,IAAI,OAAO,wBAAwB,KAAK,UAAU,EAAE,CAAC;YACjD,OAAO,GAAG,EAAE,CAAC,wBAAwB,CAAC;QAC1C,CAAC;QAED,OAAO,wBAAwB,CAAC;IACpC,CAAC,CAAC,EAAE,CAAC;IAEL,MAAM,qBAAqB,GAAG,IAAA,yCAAmB,EAAC;QAC9C,MAAM,EAAE,cAAc;QACtB,qBAAqB,EAAE,IAAI;QAC3B,yBAAyB,EAAE,IAAI;KAClC,CAAC,CAAC;IAEH,GAAG,EAAE,CACD,uBAAuB,OAAO,IAAI,IAAI,CAAC,SAAS,CAC5C;QACI,SAAS;QACT,QAAQ;QACR,MAAM;QACN,QAAQ;QACR,qBAAqB;KACxB,EACD,IAAI,EACJ,CAAC,CACJ,EAAE,CACN,CAAC;IAEF,MAAM,2BAA2B,GAAG,IAAA,sCAA0B,GAAE,CAAC;IAEjE,MAAM,YAAY,GAAG,CAAC,GAAG,EAAE;QACvB,IAAI,QAAQ,EAAE,CAAC;YACX,OAAO,KAAK,CAAC;QACjB,CAAC;QAED,mBAAmB,EAAE,CAAC;YAClB,MAAM,mCAAmC,GACrC,IAAA,kDAAyB,EAAC;gBACtB,IAAI,EAAE,MAAM,CAAC,QAAQ,CAAC,MAAM;gBAC5B,IAAI,EAAE,SAAS;aAClB,CAAC,KAAK,KAAK,CAAC;YAEjB,IAAI,CAAC,mCAAmC,EAAE,CAAC;gBACvC,MAAM,mBAAmB,CAAC;YAC9B,CAAC;YAED,MAAM,cAAc,GAAG,CAAC,GAAG,EAAE;gBACzB,MAAM,EAAE,GAAG,SAAS,CAAC,SAAS,CAAC;gBAC/B,MAAM,MAAM,GAAG,SAAS,CAAC,MAAM,CAAC;gBAEhC,OAAO,CACH,QAAQ,CAAC,IAAI,CAAC,EAAE,CAAC,IAAI,YAAY,CAAC,IAAI,CAAC,MAAM,CAAC,IAAI,CAAC,KAAK,CAAC,IAAI,CAAC,EAAE,CAAC,IAAI,CAAC,KAAK,CAAC,IAAI,CAAC,EAAE,CAAC,CACvF,CAAC;YACN,CAAC,CAAC,EAAE,CAAC;YAEL,IAAI,MAAM,CAAC,QAAQ,CAAC,MAAM,CAAC,UAAU,CAAC,kBAAkB,CAAC,IAAI,cAAc,EAAE,CAAC;gBAC1E,MAAM,mBAAmB,CAAC;YAC9B,CAAC;YAED,GAAG,EAAE,CACD;gBACI,+EAA+E;gBAC/E,8EAA8E;aACjF,CAAC,IAAI,CAAC,GAAG,CAAC,CACd,CAAC;YAEF,OAAO,KAAK,CAAC;QACjB,CAAC;QAED,2DAA2D;QAC3D,OAAO,IAAI,CAAC;IAChB,CAAC,CAAC,EAAE,CAAC;IAEL,IAAI,uBAAgC,CAAC;IAErC,MAAM,uBAAuB,GAAG,IAAI,4BAAuB,CAAC;QACxD,kBAAkB,EAAE,2BAA2B;QAC/C,SAAS,EAAE,SAAS;QACpB,SAAS,EAAE,QAAQ;QACnB,YAAY,EAAE,qBAAqB;QACnC,mBAAmB,EAAE,qBAAqB;QAC1C,wBAAwB,EAAE,qBAAqB;QAC/C,aAAa,EAAE,IAAA,uBAAU,EAAC,EAAE,SAAS,EAAE,CAAC,CAAC,CAAC,CAAC,UAAU,CAAC,CAAC,CAAC,OAAO;QAC/D,aAAa,EAAE,MAAM;QACrB,KAAK,EAAE,KAAK,CAAC,IAAI,CAAC,IAAI,GAAG,CAAC,CAAC,QAAQ,EAAE,GAAG,MAAM,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,GAAG,CAAC;QAC3D,oBAAoB,EAAE,KAAK;QAC3B,SAAS,EAAE,IAAI,qCAAoB,CAAC;YAChC,KAAK,EAAE,CAAC,GAAG,EAAE;gBACT,IAAI,YAAY,EAAE,CAAC;oBACf,uBAAuB,GAAG,IAAI,CAAC;oBAC/B,OAAO,IAAI,mCAAkB,EAAE,CAAC;gBACpC,CAAC;gBAED,uBAAuB,GAAG,KAAK,CAAC;gBAEhC,MAAM,OAAO,GAAG,IAAA,uDAA6B,EAAC;oBAC1C,mBAAmB,EAAE,CAAC,GAAG,KAAM;iBAClC,CAAC,CAAC;gBAEH,MAAM,EAAE,yBAAyB,EAAE,GAAG,aAAa,CAAC;gBAEpD,yBAAyB,CAAC,SAAS,CAAC,CAAC,EAAE,mCAAmC,EAAE,EAAE,EAAE;oBAC5E,IAAI,mCAAmC,KAAK,QAAQ,EAAE,CAAC;wBACnD,OAAO;oBACX,CAAC;oBAED,OAAO,CAAC,uCAAuC,EAAE,CAAC;gBACtD,CAAC,CAAC,CAAC;gBAEH,OAAO,OAAO,CAAC;YACnB,CAAC,CAAC,EAAE;SACP,CAAC;QACF,UAAU,EAAE,IAAI,qCAAoB,CAAC,EAAE,KAAK,EAAE,YAAY,EAAE,MAAM,EAAE,kCAAsB,EAAE,CAAC;QAC7F,aAAa,EAAE,qBAAqB;QACpC,QAAQ,EAAE,UAAU;KACvB,CAAC,CAAC;IAEH,MAAM,uCAAuC,GAAG,IAAA,eAAS,GAAQ,CAAC;IAElE,MAAM,EAAE,qBAAqB,EAAE,GAAG,IAAA,mDAA2B,EAAC;QAC1D,QAAQ;QACR,uBAAuB;QACvB,0BAA0B;QAC1B,mBAAmB;QACnB,mBAAmB;QACnB,OAAO,EAAE,qBAAqB;QAC9B,uCAAuC;QACvC,GAAG;KACN,CAAC,CAAC;IAEH,MAAM,EAAE,sBAAsB,EAAE,GAAG,IAAA,kDAA4B,EAAC;QAC5D,QAAQ;QACR,uCAAuC;KAC1C,CAAC,CAAC;IAEH,MAAM,EAAE,6BAA6B,EAAE,GAAG,MAAM,IAAA,2DAA0B,GAAE,CAAC;IAE7E,MAAM,oBAAoB,GAAG,MAAM,CAAC,KAAK,IAOvC,EAAE;QACA,6BAA6B,EAAE,CAAC;YAC5B,IAAI,wBAAwB,GAEV,SAAS,CAAC;YAE5B,8BAA8B,EAAE,CAAC;gBAC7B,WAAW,EAAE,CAAC;oBACV,MAAM,EAAE,YAAY,EAAE,iBAAiB,EAAE,GAAG,IAAA,mCAAuB,GAAE,CAAC;oBAEtE,IAAI,YAAY,KAAK,SAAS,EAAE,CAAC;wBAC7B,MAAM,WAAW,CAAC;oBACtB,CAAC;oBAED,MAAM,SAAS,GAAG,IAAA,wBAAY,EAAC,EAAE,kBAAkB,EAAE,YAAY,CAAC,KAAK,EAAE,CAAC,CAAC;oBAE3E,IAAI,SAAS,KAAK,SAAS,EAAE,CAAC;wBAC1B,iBAAiB,EAAE,CAAC;wBACpB,MAAM,WAAW,CAAC;oBACtB,CAAC;oBAED,IAAI,SAAS,CAAC,QAAQ,KAAK,QAAQ,EAAE,CAAC;wBAClC,MAAM,WAAW,CAAC;oBACtB,CAAC;oBAED,IAAA,eAAM,EAAC,SAAS,CAAC,OAAO,KAAK,UAAU,EAAE,SAAS,CAAC,CAAC;oBAEpD,iBAAiB,EAAE,CAAC;oBAEpB,wBAAwB,GAAG,EAAE,SAAS,EAAE,YAAY,EAAE,CAAC;oBAEvD,MAAM,8BAA8B,CAAC;gBACzC,CAAC;gBAED,gEAAgE;gBAChE,yDAAyD;gBACzD,6DAA6D;gBAC7D,2BAA2B;gBAC3B,mDAAmD;gBACnD,yDAAyD;gBACzD,yBAAyB;gBACzB,2EAA2E;gBAC3E,qEAAqE;gBACrE,CAAC;oBACG,MAAM,EAAE,aAAa,EAAE,GAAG,IAAA,gDAAiC,GAAE,CAAC;oBAE9D,KAAK,MAAM,YAAY,IAAI,aAAa,EAAE,CAAC;wBACvC,MAAM,SAAS,GAAG,IAAA,wBAAY,EAAC,EAAE,kBAAkB,EAAE,YAAY,CAAC,KAAK,EAAE,CAAC,CAAC;wBAE3E,IAAI,SAAS,KAAK,SAAS,EAAE,CAAC;4BAC1B,SAAS;wBACb,CAAC;wBAED,IAAI,SAAS,CAAC,QAAQ,KAAK,QAAQ,EAAE,CAAC;4BAClC,SAAS;wBACb,CAAC;wBAED,IAAA,eAAM,EAAC,SAAS,CAAC,OAAO,KAAK,UAAU,EAAE,UAAU,CAAC,CAAC;wBAErD,IAAA,gDAAiC,EAAC;4BAC9B,aAAa,EAAE,aAAa,CAAC,MAAM,CAC/B,cAAc,CAAC,EAAE,CAAC,cAAc,KAAK,YAAY,CACpD;yBACJ,CAAC,CAAC;wBAEH,wBAAwB,GAAG,EAAE,SAAS,EAAE,YAAY,EAAE,CAAC;wBAEvD,MAAM,8BAA8B,CAAC;oBACzC,CAAC;gBACL,CAAC;YACL,CAAC;YAED,IAAI,wBAAwB,KAAK,SAAS,EAAE,CAAC;gBACzC,MAAM,6BAA6B,CAAC;YACxC,CAAC;YAED,MAAM,EAAE,SAAS,EAAE,YAAY,EAAE,GAAG,wBAAwB,CAAC;YAE7D,QAAQ,SAAS,CAAC,MAAM,EAAE,CAAC;gBACvB,KAAK,OAAO;oBACR,CAAC;wBACG,GAAG,EAAE,CACD,yCAAyC,IAAI,CAAC,SAAS,CACnD,YAAY,EACZ,IAAI,EACJ,CAAC,CACJ,EAAE,CACN,CAAC;wBAEF,MAAM,eAAe,GAAG,IAAA,gCAAiB,EAAC,YAAY,CAAC,CAAC;wBAExD,IAAI,gBAAgB,GAAiC,SAAS,CAAC;wBAE/D,IAAI,CAAC;4BACD,gBAAgB,GAAG,MAAM,uBAAuB,CAAC,sBAAsB,CACnE,eAAe,CAClB,CAAC;wBACN,CAAC;wBAAC,OAAO,KAAK,EAAE,CAAC;4BACb,IAAA,eAAM,EAAC,KAAK,YAAY,KAAK,EAAE,QAAQ,CAAC,CAAC;4BAEzC,IAAI,KAAK,CAAC,OAAO,KAAK,iBAAiB,EAAE,CAAC;gCACtC,OAAO,CACH,wDAAa,cAAc,GAAC,CAC/B,CAAC,mDAAmD,CAAC;oCAClD,QAAQ;oCACR,SAAS;iCACZ,CAAC,CAAC;4BACP,CAAC;4BAED,CAAC;gCACG,MAAM,kBAAkB,GAAG,YAAY,CAAC,KAAK,CAAC;gCAE9C,IAAI,kBAAkB,KAAK,SAAS,EAAE,CAAC;oCACnC,GAAG,EAAE,CACD,mCAAmC,kBAAkB,+CAA+C,CACvG,CAAC;oCACF,MAAM,6BAA6B,CAAC;gCACxC,CAAC;4BACL,CAAC;4BAED,OAAO,KAAK,CAAC;wBACjB,CAAC;wBAED,IAAA,oDAAsB,EAAC,EAAE,QAAQ,EAAE,CAAC,CAAC;wBAErC,OAAO;4BACH,gBAAgB;4BAChB,kBAAkB,EAAE;gCAChB,gBAAgB,EAAE,SAAS,CAAC,gBAAgB;gCAC5C,MAAM,EAAE,MAAM,CAAC,WAAW,CACtB,MAAM,CAAC,OAAO,CAAC,YAAY,CAAC;qCACvB,GAAG,CAAC,CAAC,CAAC,IAAI,EAAE,KAAK,CAAC,EAAE,EAAE;oCACnB,IACI,IAAI,KAAK,OAAO;wCAChB,IAAI,KAAK,eAAe;wCACxB,IAAI,KAAK,KAAK;wCACd,IAAI,KAAK,MAAM,EACjB,CAAC;wCACC,OAAO,SAAS,CAAC;oCACrB,CAAC;oCAED,IAAI,KAAK,KAAK,SAAS,EAAE,CAAC;wCACtB,OAAO,SAAS,CAAC;oCACrB,CAAC;oCAED,OAAO,CAAC,IAAI,EAAE,KAAK,CAAC,CAAC;gCACzB,CAAC,CAAC;qCACD,MAAM,CAAC,KAAK,CAAC,EAAE,CAAC,KAAK,KAAK,SAAS,CAAC,CAC5C;6BACJ;yBACJ,CAAC;oBACN,CAAC;oBACD,MAAM;gBACV,KAAK,QAAQ;oBACT,CAAC;wBACG,GAAG,EAAE,CAAC,wCAAwC,EAAE,YAAY,CAAC,CAAC;wBAE9D,MAAM,eAAe,GAAG,IAAA,gCAAiB,EAAC,YAAY,CAAC,CAAC;wBAExD,IAAI,CAAC;4BACD,MAAM,uBAAuB,CAAC,uBAAuB,CAAC,eAAe,CAAC,CAAC;wBAC3E,CAAC;wBAAC,MAAM,CAAC,CAAA,CAAC;wBAEV,IAAA,sDAAuB,EAAC;4BACpB,QAAQ;4BACR,SAAS,EAAE,SAAS,CAAC,SAAS;yBACjC,CAAC,CAAC;wBAEH,IAAI,SAAS,EAAE,CAAC;4BACZ,QAAQ,CAAC,MAAM,EAAE,CAAC;4BAClB,MAAM,IAAI,OAAO,CAAQ,GAAG,EAAE,GAAE,CAAC,CAAC,CAAC;wBACvC,CAAC;wBAED,yCAAyC;wBACzC,OAAO,SAAS,CAAC;oBACrB,CAAC;oBACD,MAAM;gBACV;oBACI,IAAA,eAAM,EAAkC,KAAK,CAAC,CAAC;YACvD,CAAC;QACL,CAAC;QAED,6EAA6E;QAC7E,oEAAoE;QACpE,4BAA4B,EAAE,CAAC;YAC3B,IAAI,uBAAuB,EAAE,CAAC;gBAC1B,MAAM,4BAA4B,CAAC;YACvC,CAAC;YAED,IAAI,gBAAyC,CAAC;YAE9C,IAAI,CAAC;gBACD,gBAAgB,GAAG,MAAM,uBAAuB,CAAC,OAAO,EAAE,CAAC;YAC/D,CAAC;YAAC,MAAM,CAAC;gBACL,qDAAqD;gBACrD,gBAAgB,GAAG,IAAI,CAAC;gBACxB,IAAI,CAAC;oBACD,MAAM,uBAAuB,CAAC,UAAU,EAAE,CAAC;gBAC/C,CAAC;gBAAC,MAAM,CAAC,CAAA,CAAC;YACd,CAAC;YAED,IAAI,gBAAgB,KAAK,IAAI,EAAE,CAAC;gBAC5B,MAAM,4BAA4B,CAAC;YACvC,CAAC;YAED,GAAG,EAAE,CAAC,kDAAkD,CAAC,CAAC;YAE1D,OAAO;gBACH,gBAAgB;gBAChB,kBAAkB,EAAE,SAAS;aAChC,CAAC;QACN,CAAC;QAED,uCAAuC,EAAE,CAAC;YACtC,MAAM,kBAAkB,GAAG,IAAA,0CAAqB,EAAC,EAAE,QAAQ,EAAE,CAAC,CAAC;YAE/D,IAAI,kBAAkB,KAAK,uBAAuB,IAAI,CAAC,SAAS,EAAE,CAAC;gBAC/D,GAAG,EAAE,CAAC,6DAA6D,CAAC,CAAC;gBACrE,MAAM,uCAAuC,CAAC;YAClD,CAAC;YAED,CAAC;gBACG,MAAM,EAAE,QAAQ,EAAE,QAAQ,EAAE,GAAG,IAAA,yBAAW,GAAE,CAAC;gBAE7C,IAAI,CAAC,QAAQ,EAAE,CAAC;oBACZ,IAAI,SAAS,EAAE,CAAC;wBACZ,GAAG,EAAE,CACD;4BACI,kCAAkC;4BAClC,+DAA+D;4BAC/D,iCAAiC;yBACpC,CAAC,IAAI,CAAC,GAAG,CAAC,CACd,CAAC;wBACF,MAAM,QAAQ,CAAC;oBACnB,CAAC;yBAAM,CAAC;wBACJ,GAAG,EAAE,CACD;4BACI,uEAAuE;4BACvE,uCAAuC;yBAC1C,CAAC,IAAI,CAAC,GAAG,CAAC,CACd,CAAC;wBACF,MAAM,uCAAuC,CAAC;oBAClD,CAAC;gBACL,CAAC;YACL,CAAC;YAED,IAAI,kBAAkB,GAAuB,SAAS,CAAC;YACvD,IAAI,gBAAgB,GAAiC,SAAS,CAAC;YAE/D,oBAAoB,EAAE,CAAC;gBACnB,IAAI,kBAAkB,KAAK,uBAAuB,EAAE,CAAC;oBACjD,MAAM,oBAAoB,CAAC;gBAC/B,CAAC;gBAED,IAAI,CAAC,YAAY,EAAE,CAAC;oBAChB,IACI,CAAC,CAAC,MAAM,IAAA,2CAAoB,EACxB,GAAG,SAAS,GAAG,IAAA,OAAE,EACb,mCAAmC,CACtC,EAAE,CACN,CAAC,EACJ,CAAC;wBACC,OAAO,CACH,wDAAa,cAAc,GAAC,CAC/B,CAAC,sEAAsE,CAAC;4BACrE,SAAS;yBACZ,CAAC,CAAC;oBACP,CAAC;oBAED,MAAM,oBAAoB,CAAC;gBAC/B,CAAC;gBAED,GAAG,EAAE,CACD,kFAAkF,CACrF,CAAC;gBAEF,MAAM,kBAAkB,GAAG,MAAM,IAAA,yBAAW,EAAC;oBACzC,uBAAuB;oBACvB,2BAA2B;oBAC3B,QAAQ;oBACR,0BAA0B;oBAC1B,mBAAmB;oBACnB,mBAAmB;oBACnB,SAAS;oBACT,GAAG;iBACN,CAAC,CAAC;gBAEH,IAAA,eAAM,EAAC,kBAAkB,CAAC,OAAO,KAAK,qCAAqC,EAAE,QAAQ,CAAC,CAAC;gBAEvF,IAAI,kBAAkB,CAAC,OAAO,KAAK,SAAS,EAAE,CAAC;oBAC3C,QAAQ,kBAAkB,CAAC,KAAK,EAAE,CAAC;wBAC/B,KAAK,sCAAsC;4BACvC,OAAO,CACH,wDAAa,cAAc,GAAC,CAC/B,CAAC,sEAAsE,CAAC;gCACrE,SAAS;6BACZ,CAAC,CAAC;wBACP,KAAK,SAAS;4BACV,OAAO,CAAC,wDAAa,cAAc,GAAC,CAAC,CAAC,sCAAsC,CACxE;gCACI,WAAW,EAAE,qBAAqB;gCAClC,QAAQ;gCACR,SAAS;gCACT,QAAQ;6BACX,CACJ,CAAC;oBACV,CAAC;oBAED,IAAA,eAAM,EAAiD,KAAK,CAAC,CAAC;gBAClE,CAAC;gBAED,IAAA,eAAM,GAA8E,CAAC;gBAErF,MAAM,EAAE,YAAY,EAAE,GAAG,kBAAkB,CAAC;gBAE5C,GAAG,EAAE,CAAC,+BAA+B,IAAI,CAAC,SAAS,CAAC,YAAY,EAAE,IAAI,EAAE,CAAC,CAAC,EAAE,CAAC,CAAC;gBAE9E,kBAAkB,GAAG,YAAY,CAAC,KAAK,CAAC;gBAExC,IAAI,CAAC;oBACD,gBAAgB,GAAG,MAAM,uBAAuB,CAAC,sBAAsB,CACnE,IAAA,gCAAiB,EAAC,YAAY,CAAC,CAClC,CAAC;gBACN,CAAC;gBAAC,OAAO,KAAK,EAAE,CAAC;oBACb,IAAA,eAAM,EAAC,KAAK,YAAY,KAAK,EAAE,QAAQ,CAAC,CAAC;oBAEzC,IAAI,KAAK,CAAC,OAAO,KAAK,iBAAiB,EAAE,CAAC;wBACtC,OAAO,CACH,wDAAa,cAAc,GAAC,CAC/B,CAAC,mDAAmD,CAAC;4BAClD,QAAQ;4BACR,SAAS;yBACZ,CAAC,CAAC;oBACP,CAAC;oBAED,IAAI,kBAAkB,KAAK,SAAS,EAAE,CAAC;wBACnC,OAAO,KAAK,CAAC;oBACjB,CAAC;gBACL,CAAC;YACL,CAAC;YAED,IAAI,gBAAgB,KAAK,SAAS,EAAE,CAAC;gBACjC,IACI,SAAS;oBACT,CAAC,kBAAkB,KAAK,WAAW;wBAC/B,CAAC,kBAAkB,KAAK,SAAS;4BAC7B,kBAAkB,KAAK,sBAAsB;4BAC7C,kBAAkB,KAAK,gBAAgB;4BACvC,kBAAkB,KAAK,kBAAkB;4BACzC,kBAAkB,KAAK,4BAA4B,CAAC,CAAC,EAC/D,CAAC;oBACC,GAAG,EAAE,CAAC,qCAAqC,CAAC,CAAC;oBAE7C,IAAA,qCAAgB,EAAC,EAAE,QAAQ,EAAE,KAAK,EAAE,SAAS,EAAE,CAAC,CAAC;oBAEjD,6BAA6B,EAAE,CAAC;oBAEhC,IAAI,SAAS,IAAI,kBAAkB,KAAK,WAAW,EAAE,CAAC;wBAClD,uCAAuC,CAAC,IAAI,EAAE,CAAC;oBACnD,CAAC;oBAED,MAAM,IAAA,wFAAuD,EAAC;wBAC1D,QAAQ,EACJ,IAAA,mGAA2E,GAAE;qBACpF,CAAC,CAAC;oBAEH,IAAI,kBAAkB,KAAK,WAAW,EAAE,CAAC;wBACrC,aAAa,CAAC,yBAAyB,CAAC,IAAI,CAAC;4BACzC,mCAAmC,EAAE,QAAQ;yBAChD,CAAC,CAAC;oBACP,CAAC;oBAED,MAAM,kCAAkC,GAAG,IAAI,mBAAQ,EAAgB,CAAC;oBAExE,qBAAqB,CAAC;wBAClB,MAAM,EAAE,OAAO;wBACf,sBAAsB,EAAE,IAAI;wBAC5B,WAAW,EAAE,IAAA,+CAAmC,GAAE;wBAClD,sEAAsE;wBACtE,wDAAwD;wBACxD,qDAAqD,EAAE,KAAK;wBAC5D,sBAAsB,EAAE,SAAS;wBACjC,gCAAgC,EAAE,SAAS;wBAC3C,WAAW,EAAE,CAAC,GAAG,EAAE;4BACf,IAAI,kBAAkB,KAAK,uBAAuB,EAAE,CAAC;gCACjD,OAAO,oBAAoB,CAAC;4BAChC,CAAC;4BAED,IAAI,SAAS,EAAE,CAAC;gCACZ,OAAO,0DAA0D,CAAC;4BACtE,CAAC;4BAED,OAAO,uBAAuB,CAAC;wBACnC,CAAC,CAAC,EAAE;wBACJ,iCAAiC,EAAE,GAAG,EAAE;4BACpC,kCAAkC,CAAC,OAAO,EAAE,CAAC;wBACjD,CAAC;qBACJ,CAAC,CAAC;oBAEH,MAAM,kCAAkC,CAAC,EAAE,CAAC;oBAE5C,OAAO,CACH,wDAAa,cAAc,GAAC,CAC/B,CAAC,mDAAmD,CAAC;wBAClD,QAAQ;wBACR,SAAS;qBACZ,CAAC,CAAC;gBACP,CAAC;gBAED,IAAI,kBAAkB,KAAK,SAAS,EAAE,CAAC;oBACnC,GAAG,EAAE,CACD;wBACI,mCAAmC,kBAAkB,GAAG;wBACxD,gBAAgB,KAAK,kBAAkB;4BACnC,CAAC,CAAC,yEAAyE;4BAC3E,CAAC,CAAC,EAAE;qBACX,CAAC,IAAI,CAAC,EAAE,CAAC,CACb,CAAC;gBACN,CAAC;gBAED,MAAM,uCAAuC,CAAC;YAClD,CAAC;YAED,GAAG,EAAE,CAAC,6BAA6B,CAAC,CAAC;YAErC,OAAO;gBACH,gBAAgB;gBAChB,kBAAkB,EAAE,SAAS;aAChC,CAAC;QACN,CAAC;QAED,mCAAmC;QACnC,OAAO,SAAS,CAAC;IACrB,CAAC,CAAC,EAAE,CAAC;IAEL,6BAA6B,EAAE,CAAC;IAEhC,MAAM,IAAA,wFAAuD,EAAC;QAC1D,QAAQ,EAAE,OAAO,CAAC,OAAO,EAAE;KAC9B,CAAC,CAAC;IAEH,MAAM,WAAW,GAAgB;QAC7B,MAAM,EAAE;YACJ,SAAS;YACT,QAAQ;SACX;KACJ,CAAC;IAEF,iBAAiB,EAAE,CAAC;QAChB,IAAI,CAAC,CAAC,oBAAoB,YAAY,KAAK,CAAC,IAAI,oBAAoB,KAAK,SAAS,EAAE,CAAC;YACjF,MAAM,iBAAiB,CAAC;QAC5B,CAAC;QAED,uCAAuC,CAAC,IAAI,EAAE,CAAC;QAE/C,IAAI,IAAA,0CAAqB,EAAC,EAAE,QAAQ,EAAE,CAAC,KAAK,uBAAuB,EAAE,CAAC;YAClE,IAAA,qCAAgB,EAAC,EAAE,QAAQ,EAAE,KAAK,EAAE,SAAS,EAAE,CAAC,CAAC;QACrD,CAAC;QAED,MAAM,gBAAgB,GAAqB,CAAC,GAAG,EAAE;YAC7C,IAAI,oBAAoB,YAAY,KAAK,EAAE,CAAC;gBACxC,GAAG,EAAE,CAAC,0DAA0D,CAAC,CAAC;gBAElE,MAAM,KAAK,GAAG,oBAAoB,CAAC;gBAEnC,MAAM,mBAAmB,GACrB,KAAK,YAAY,iDAAuB;oBACpC,CAAC,CAAC,KAAK;oBACP,CAAC,CAAC,IAAI,iDAAuB,CAAC;wBACxB,sBAAsB,EAAE,KAAK;wBAC7B,cAAc,EAAE,KAAK;qBACxB,CAAC,CAAC;gBAEb,IAAI,SAAS,EAAE,CAAC;oBACZ,MAAM,mBAAmB,CAAC;gBAC9B,CAAC;gBAED,OAAO,CAAC,KAAK,CACT;oBACI,iCAAiC;oBACjC,2BAA2B,mBAAmB,CAAC,sBAAsB,EAAE;oBACvE,EAAE;oBACF,mBAAmB,CAAC,OAAO;iBAC9B,CAAC,IAAI,CAAC,IAAI,CAAC,CACf,CAAC;gBAEF,OAAO,IAAA,OAAE,EAAmB;oBACxB,GAAG,WAAW;oBACd,cAAc,EAAE,KAAK;oBACrB,KAAK,EAAE,KAAK,IAAI,EAAE;wBACd,KAAK,CAAC,kEAAkE,CAAC,CAAC;wBAC1E,OAAO,IAAI,OAAO,CAAQ,GAAG,EAAE,GAAE,CAAC,CAAC,CAAC;oBACxC,CAAC;oBACD,mBAAmB;iBACtB,CAAC,CAAC;YACP,CAAC;YAED,IAAI,oBAAoB,KAAK,SAAS,EAAE,CAAC;gBACrC,GAAG,EAAE,CAAC,oBAAoB,CAAC,CAAC;gBAE5B,OAAO,IAAA,OAAE,EAAmB;oBACxB,GAAG,WAAW;oBACd,cAAc,EAAE,KAAK;oBACrB,KAAK,EAAE,KAAK,EAAE,EACV,2BAA2B,EAC3B,gBAAgB,EAChB,WAAW,EACX,0BAA0B,EAC7B,EAAE,EAAE;wBACD,MAAM,IAAA,wFAAuD,EAAC;4BAC1D,QAAQ,EACJ,IAAA,mGAA2E,GAAE;yBACpF,CAAC,CAAC;wBAEH,OAAO,qBAAqB,CAAC;4BACzB,MAAM,EAAE,OAAO;4BACf,qDAAqD,EACjD,2BAA2B;4BAC/B,sBAAsB,EAAE,KAAK;4BAC7B,WAAW,EACP,WAAW,IAAI,4BAA4B,IAAI,MAAM,CAAC,QAAQ,CAAC,IAAI;4BACvE,sBAAsB,EAAE,gBAAgB;4BACxC,gCAAgC,EAAE,0BAA0B;4BAC5D,WAAW,EACP,IAAA,0CAAqB,EAAC,EAAE,QAAQ,EAAE,CAAC,KAAK,uBAAuB;gCAC3D,CAAC,CAAC,oBAAoB;gCACtB,CAAC,CAAC,0DAA0D;4BACpE,iCAAiC,EAAE,GAAG,EAAE;gCACpC,GAAG,EAAE,CAAC,qDAAqD,CAAC,CAAC;gCAC7D,KAAK,CAAC,oDAAoD,CAAC,CAAC;4BAChE,CAAC;yBACJ,CAAC,CAAC;oBACP,CAAC;oBACD,mBAAmB,EAAE,SAAS;iBACjC,CAAC,CAAC;YACP,CAAC;YAED,IAAA,eAAM,EAA6C,KAAK,CAAC,CAAC;QAC9D,CAAC,CAAC,EAAE,CAAC;QAEL,CAAC;YACG,MAAM,EAAE,eAAe,EAAE,GAAG,IAAA,gDAAkB,EAAC;gBAC3C,QAAQ;aACX,CAAC,CAAC;YAEH,eAAe,CAAC,IAAI,CAAC,KAAK,IAAI,EAAE;gBAC5B,GAAG,EAAE,CAAC,6CAA6C,CAAC,CAAC;gBAErD,MAAM,IAAA,wFAAuD,EAAC;oBAC1D,QAAQ,EAAE,IAAI,OAAO,CAAQ,GAAG,EAAE,GAAE,CAAC,CAAC;iBACzC,CAAC,CAAC;gBAEH,MAAM,CAAC,QAAQ,CAAC,MAAM,EAAE,CAAC;YAC7B,CAAC,CAAC,CAAC;QACP,CAAC;QAED,6CAA6C;QAC7C,OAAO,gBAAgB,CAAC;IAC5B,CAAC;IAED,GAAG,EAAE,CAAC,mBAAmB,CAAC,CAAC;IAE3B,IAAI,aAAa,GAAG,IAAA,mDAAwB,EAAC;QACzC,gBAAgB,EAAE,oBAAoB,CAAC,gBAAgB;QACvD,oBAAoB;QACpB,gCAAgC;QAChC,uBAAuB,EAAE,SAAS;QAClC,GAAG;KACN,CAAC,CAAC;IAEH,CAAC;QACG,IAAI,IAAA,0CAAqB,EAAC,EAAE,QAAQ,EAAE,CAAC,KAAK,SAAS,EAAE,CAAC;YACpD,IAAA,qCAAgB,EAAC,EAAE,QAAQ,EAAE,KAAK,EAAE,SAAS,EAAE,CAAC,CAAC;QACrD,CAAC;QAED,IAAI,CAAC,YAAY,EAAE,CAAC;YAChB,IAAA,qCAAgB,EAAC;gBACb,QAAQ;gBACR,KAAK,EAAE;oBACH,gBAAgB,EAAE,WAAW;oBAC7B,0BAA0B,EAAE,aAAa,CAAC,0BAA0B;oBACpE,4BAA4B;iBAC/B;aACJ,CAAC,CAAC;QACP,CAAC;IACL,CAAC;IAED,MAAM,gCAAgC,GAAG,IAAI,GAAG,EAE7C,CAAC;IAEJ,MAAM,cAAc,GAAG,IAAI,GAAG,EAAiD,CAAC;IAEhF,MAAM,EAAE,GAAG,EAAE,SAAS,EAAE,GAAG,EAAE,SAAS,EAAE,GAAG,aAAa,CAAC,uBAAuB,CAAC;IAEjF,IAAA,eAAM,EAAC,SAAS,KAAK,SAAS,EAAE,8CAA8C,CAAC,CAAC;IAChF,IAAA,eAAM,EAAC,SAAS,KAAK,SAAS,IAAI,OAAO,SAAS,KAAK,QAAQ,CAAC,CAAC;IAEjE,IAAI,wCAAwC,GAAG,KAAK,CAAC;IAErD,IAAI,qBAAqB,GAA8B,SAAS,CAAC;IAEjE,MAAM,aAAa,GAAG,IAAA,OAAE,EAAgC;QACpD,GAAG,WAAW;QACd,cAAc,EAAE,IAAI;QACpB,SAAS,EAAE,KAAK,IAAI,EAAE;YAClB,IAAI,wCAAwC,EAAE,CAAC;gBAC3C,MAAM,aAAa,CAAC,MAAM,CAAC,gBAAgB,CAAC,CAAC;gBAC7C,IAAA,eAAM,EAAC,KAAK,CAAC,CAAC;YAClB,CAAC;YAED,IAAI,qBAAqB,KAAK,SAAS,EAAE,CAAC;gBACtC,8DAA8D;gBAC9D,MAAM,IAAI,OAAO,CAAO,OAAO,CAAC,EAAE,CAAC,IAAA,yBAAU,EAAC,OAAO,EAAE,CAAC,CAAC,CAAC,CAAC;YAC/D,CAAC;YAED,IAAI,qBAAqB,KAAK,SAAS,EAAE,CAAC;gBACtC,MAAM,qBAAqB,CAAC;YAChC,CAAC;YAED,YAAY,EAAE,CAAC;gBACX,CAAC;oBACG,MAAM,kCAAkC,GACpC,aAAa,CAAC,yBAAyB,GAAG,aAAa,CAAC,gBAAgB,EAAE,CAAC;oBAE/E,IAAI,kCAAkC,GAAG,KAAM,EAAE,CAAC;wBAC9C,MAAM,YAAY,CAAC;oBACvB,CAAC;gBACL,CAAC;gBAED,CAAC;oBACG,MAAM,oCAAoC,GACtC,aAAa,CAAC,gBAAgB,EAAE,GAAG,aAAa,CAAC,YAAY,CAAC;oBAElE,IAAI,oCAAoC,GAAG,IAAK,EAAE,CAAC;wBAC/C,MAAM,YAAY,CAAC;oBACvB,CAAC;gBACL,CAAC;gBAED,MAAM,aAAa,CAAC,WAAW,EAAE,CAAC;YACtC,CAAC;YAED,OAAO,aAAa,CAAC;QACzB,CAAC;QACD,iBAAiB,EAAE,GAAG,EAAE,CAAC,aAAa,CAAC,cAAc;QACrD,MAAM,EAAE,KAAK,EAAC,MAAM,EAAC,EAAE;YACnB,IAAI,aAAa,CAAC,mBAAmB,EAAE,CAAC;gBACpC,GAAG,EAAE,CAAC,qDAAqD,CAAC,CAAC;gBAC7D,OAAO,IAAI,OAAO,CAAQ,GAAG,EAAE,GAAE,CAAC,CAAC,CAAC;YACxC,CAAC;YAED,aAAa,CAAC,mBAAmB,GAAG,IAAI,CAAC;YAEzC,MAAM,iCAAiC,GAAW,CAAC,GAAG,EAAE;gBACpD,QAAQ,MAAM,CAAC,UAAU,EAAE,CAAC;oBACxB,KAAK,cAAc;wBACf,OAAO,MAAM,CAAC,QAAQ,CAAC,IAAI,CAAC;oBAChC,KAAK,MAAM;wBACP,OAAO,qBAAqB,CAAC;oBACjC,KAAK,cAAc;wBACf,OAAO,IAAA,yCAAmB,EAAC;4BACvB,MAAM,EAAE,MAAM,CAAC,GAAG;4BAClB,qBAAqB,EAAE,KAAK;yBAC/B,CAAC,CAAC;gBACX,CAAC;YACL,CAAC,CAAC,EAAE,CAAC,KAAK,CAAC,MAAM,CAAC,QAAQ,CAAC,MAAM,CAAC,MAAM,CAAC,CAAC;YAE1C,MAAM,IAAA,wFAAuD,EAAC;gBAC1D,QAAQ,EAAE,IAAI,OAAO,CAAQ,GAAG,EAAE,GAAE,CAAC,CAAC;aACzC,CAAC,CAAC;YAEH,MAAM,CAAC,gBAAgB,CAAC,UAAU,EAAE,KAAK,CAAC,EAAE;gBACxC,IAAI,CAAC,KAAK,CAAC,SAAS,EAAE,CAAC;oBACnB,OAAO;gBACX,CAAC;gBACD,QAAQ,CAAC,MAAM,EAAE,CAAC;YACtB,CAAC,CAAC,CAAC;YAEH,IAAI,CAAC;gBACD,MAAM,uBAAuB,CAAC,eAAe,CAAC;oBAC1C,KAAK,EAAE,IAAA,OAAE,EAAqB;wBAC1B,QAAQ;wBACR,OAAO,EAAE,UAAU;wBACnB,uBAAuB,EAAE,iCAAiC;wBAC1D,MAAM,EAAE,QAAQ;wBAChB,SAAS;qBACZ,CAAC;oBACF,cAAc,EAAE,QAAQ;iBAC3B,CAAC,CAAC;YACP,CAAC;YAAC,OAAO,KAAK,EAAE,CAAC;gBACb,IAAA,eAAM,EAAC,IAAA,WAAE,EAAQ,KAAK,CAAC,CAAC,CAAC;gBAEzB,IAAI,KAAK,CAAC,OAAO,KAAK,yBAAyB,EAAE,CAAC;oBAC9C,GAAG,EAAE,CAAC,yDAAyD,CAAC,CAAC;oBAEjE,IAAA,qCAAgB,EAAC,EAAE,QAAQ,EAAE,KAAK,EAAE,EAAE,gBAAgB,EAAE,uBAAuB,EAAE,EAAE,CAAC,CAAC;oBAErF,IAAI,CAAC;wBACD,MAAM,uBAAuB,CAAC,UAAU,EAAE,CAAC;oBAC/C,CAAC;oBAAC,MAAM,CAAC;wBACL,iCAAiC;oBACrC,CAAC;oBAED,IAAA,sDAAuB,EAAC;wBACpB,QAAQ;wBACR,SAAS;qBACZ,CAAC,CAAC;oBAEH,MAAM,CAAC,QAAQ,CAAC,IAAI,GAAG,iCAAiC,CAAC;gBAC7D,CAAC;qBAAM,CAAC;oBACJ,MAAM,KAAK,CAAC;gBAChB,CAAC;YACL,CAAC;YAED,OAAO,IAAI,OAAO,CAAQ,GAAG,EAAE,GAAE,CAAC,CAAC,CAAC;QACxC,CAAC;QACD,WAAW,EAAE,CAAC,GAAG,EAAE;YACf,oDAAoD;YACpD,KAAK,UAAU,sBAAsB,CAAC,MAErC;gBACG,MAAM,EAAE,gBAAgB,EAAE,GAAG,MAAM,CAAC;gBAEpC,MAAM,wBAAwB,GAAG,KAAK,IAAoB,EAAE;oBACxD,IAAA,qCAAgB,EAAC,EAAE,QAAQ,EAAE,KAAK,EAAE,SAAS,EAAE,CAAC,CAAC;oBAEjD,MAAM,IAAA,wFAAuD,EAAC;wBAC1D,QAAQ,EAAE,IAAI,OAAO,CAAQ,GAAG,EAAE,GAAE,CAAC,CAAC;qBACzC,CAAC,CAAC;oBAEH,aAAa,CAAC,yBAAyB,CAAC,IAAI,CAAC;wBACzC,mCAAmC,EAAE,QAAQ;qBAChD,CAAC,CAAC;oBAEH,MAAM,qBAAqB,CAAC;wBACxB,MAAM,EAAE,OAAO;wBACf,WAAW,EAAE,MAAM,CAAC,QAAQ,CAAC,IAAI;wBACjC,sBAAsB,EAAE,IAAI;wBAC5B,sBAAsB,EAAE,SAAS;wBACjC,gCAAgC,EAAE,SAAS;wBAC3C,qDAAqD,EAAE,KAAK;wBAC5D,WAAW,EAAE,0DAA0D;wBACvE,iCAAiC,EAAE,GAAG,EAAE;4BACpC,GAAG,EAAE,CACD;gCACI,uEAAuE;gCACvE,+CAA+C;6BAClD,CAAC,IAAI,CAAC,GAAG,CAAC,CACd,CAAC;4BACF,MAAM,CAAC,QAAQ,CAAC,MAAM,EAAE,CAAC;wBAC7B,CAAC;qBACJ,CAAC,CAAC;oBACH,IAAA,eAAM,EAAC,KAAK,EAAE,QAAQ,CAAC,CAAC;gBAC5B,CAAC,CAAC;gBAEF,IAAI,CAAC,aAAa,CAAC,eAAe,IAAI,CAAC,YAAY,EAAE,CAAC;oBAClD,GAAG,EAAE,CACD;wBACI,qDAAqD;wBACrD,uCAAuC;wBACvC,wDAAwD;wBACxD,0EAA0E;qBAC7E,CAAC,IAAI,CAAC,GAAG,CAAC,CACd,CAAC;oBAEF,MAAM,wBAAwB,EAAE,CAAC;oBAEjC,IAAA,eAAM,EAAC,KAAK,EAAE,QAAQ,CAAC,CAAC;gBAC5B,CAAC;gBAED,GAAG,EAAE,CAAC,iBAAiB,CAAC,CAAC;gBAEzB,MAAM,EAAE,6BAA6B,EAAE,GAAG,MAAM,IAAA,2DAA0B,GAAE,CAAC;gBAE7E,MAAM,kBAAkB,GAAG,MAAM,IAAA,yBAAW,EAAC;oBACzC,uBAAuB;oBACvB,2BAA2B;oBAC3B,QAAQ;oBACR,0BAA0B;oBAC1B,mBAAmB;oBACnB,mBAAmB,EAAE,GAAG,EAAE,CAAC,gBAAgB;oBAC3C,SAAS;oBACT,GAAG;iBACN,CAAC,CAAC;gBAEH,IAAI,kBAAkB,CAAC,OAAO,KAAK,SAAS,EAAE,CAAC;oBAC3C,GAAG,EAAE,CACD;wBACI,2CAA2C,kBAAkB,CAAC,KAAK,GAAG;wBACtE,6CAA6C;qBAChD,CAAC,IAAI,CAAC,GAAG,CAAC,CACd,CAAC;oBACF,MAAM,CAAC,QAAQ,CAAC,MAAM,EAAE,CAAC;oBACzB,MAAM,IAAI,OAAO,CAAQ,GAAG,EAAE,GAAE,CAAC,CAAC,CAAC;oBACnC,IAAA,eAAM,EAAC,KAAK,CAAC,CAAC;gBAClB,CAAC;gBAED,IAAI,gBAAkC,CAAC;gBAEvC,QAAQ,kBAAkB,CAAC,OAAO,EAAE,CAAC;oBACjC,KAAK,qCAAqC;wBACtC,CAAC;4BACG,GAAG,EAAE,CAAC,oBAAoB,CAAC,CAAC;4BAC5B,gBAAgB,GAAG,kBAAkB,CAAC,gBAAgB,CAAC;wBAC3D,CAAC;wBACD,MAAM;oBACV,KAAK,+BAA+B;wBAChC,CAAC;4BACG,MAAM,EAAE,YAAY,EAAE,GAAG,kBAAkB,CAAC;4BAE5C,GAAG,EAAE,CAAC,6BAA6B,EAAE,YAAY,CAAC,CAAC;4BAEnD,MAAM,kBAAkB,GAAG,YAAY,CAAC,KAAK,CAAC;4BAE9C,IAAI,sBAAsB,GAAiC,SAAS,CAAC;4BAErE,IAAI,CAAC;gCACD,sBAAsB;oCAClB,MAAM,uBAAuB,CAAC,sBAAsB,CAChD,IAAA,gCAAiB,EAAC,YAAY,CAAC,CAClC,CAAC;4BACV,CAAC;4BAAC,OAAO,KAAK,EAAE,CAAC;gCACb,IAAA,eAAM,EAAC,KAAK,YAAY,KAAK,EAAE,QAAQ,CAAC,CAAC;gCAEzC,IAAI,kBAAkB,KAAK,SAAS,EAAE,CAAC;oCACnC,6BAA6B,EAAE,CAAC;oCAChC,mCAAmC;oCACnC,MAAM,KAAK,CAAC;gCAChB,CAAC;4BACL,CAAC;4BAED,IAAI,sBAAsB,KAAK,SAAS,EAAE,CAAC;gCACvC,0EAA0E;gCAC1E,8BAA8B;gCAE9B,6BAA6B,EAAE,CAAC;gCAEhC,GAAG,EAAE,CACD;oCACI,6CAA6C;oCAC7C,iCAAiC;iCACpC,CAAC,IAAI,CAAC,GAAG,CAAC,CACd,CAAC;gCAEF,MAAM,wBAAwB,EAAE,CAAC;gCAEjC,IAAA,eAAM,EAAC,KAAK,EAAE,QAAQ,CAAC,CAAC;4BAC5B,CAAC;4BAED,gBAAgB,GAAG,sBAAsB,CAAC;wBAC9C,CAAC;wBACD,MAAM;oBACV;wBACI,IAAA,eAAM,EAA2C,KAAK,CAAC,CAAC;wBACxD,MAAM;gBACd,CAAC;gBAED,aAAa,GAAG,IAAA,mDAAwB,EAAC;oBACrC,gBAAgB;oBAChB,oBAAoB;oBACpB,gCAAgC;oBAChC,uBAAuB,EAAE,aAAa,CAAC,cAAc;oBACrD,GAAG;iBACN,CAAC,CAAC;gBAEH,IAAI,IAAA,0CAAqB,EAAC,EAAE,QAAQ,EAAE,CAAC,KAAK,SAAS,EAAE,CAAC;oBACpD,IAAA,qCAAgB,EAAC;wBACb,QAAQ;wBACR,KAAK,EAAE;4BACH,gBAAgB,EAAE,WAAW;4BAC7B,0BAA0B,EAAE,aAAa,CAAC,0BAA0B;4BACpE,4BAA4B;yBAC/B;qBACJ,CAAC,CAAC;gBACP,CAAC;gBAED,KAAK,CAAC,IAAI,CAAC,cAAc,CAAC,CAAC,OAAO,CAAC,aAAa,CAAC,EAAE,CAAC,aAAa,CAAC,aAAa,CAAC,CAAC,CAAC;gBAElF,6BAA6B,EAAE,CAAC;YACpC,CAAC;YAED,IAAI,WAAW,GAKG,SAAS,CAAC;YAE5B,SAAS,UAAU;gBACf,IAAA,eAAM,EAAC,WAAW,KAAK,SAAS,EAAE,QAAQ,CAAC,CAAC;gBAE5C,MAAM,EAAE,EAAE,EAAE,GAAG,WAAW,CAAC;gBAE3B,EAAE,CAAC,IAAI,CAAC,GAAG,EAAE;oBACT,IAAA,eAAM,EAAC,WAAW,KAAK,SAAS,EAAE,QAAQ,CAAC,CAAC;oBAE5C,IAAI,WAAW,CAAC,EAAE,KAAK,EAAE,EAAE,CAAC;wBACxB,OAAO;oBACX,CAAC;oBAED,WAAW,GAAG,SAAS,CAAC;gBAC5B,CAAC,CAAC,CAAC;YACP,CAAC;YAED,KAAK,UAAU,mBAAmB,CAAC,MAElC;gBACG,MAAM,EAAE,gBAAgB,EAAE,sBAAsB,EAAE,GAAG,MAAM,CAAC;gBAE5D,MAAM,gBAAgB,GAAG;oBACrB,GAAG,mBAAmB,EAAE,EAAE;oBAC1B,GAAG,sBAAsB;iBAC5B,CAAC;gBAEF,IAAI,WAAW,KAAK,SAAS,EAAE,CAAC;oBAC5B,WAAW,GAAG;wBACV,EAAE,EAAE,sBAAsB,CAAC,EAAE,gBAAgB,EAAE,CAAC;wBAChD,gBAAgB;qBACnB,CAAC;oBAEF,UAAU,EAAE,CAAC;oBAEb,OAAO,WAAW,CAAC,EAAE,CAAC;gBAC1B,CAAC;gBAED,IAAI,IAAI,CAAC,SAAS,CAAC,gBAAgB,CAAC,KAAK,IAAI,CAAC,SAAS,CAAC,WAAW,CAAC,gBAAgB,CAAC,EAAE,CAAC;oBACpF,OAAO,WAAW,CAAC,EAAE,CAAC;gBAC1B,CAAC;gBAED,WAAW,GAAG;oBACV,EAAE,EAAE,CAAC,KAAK,IAAI,EAAE;wBACZ,MAAM,WAAW,CAAC,EAAE,CAAC;wBAErB,OAAO,sBAAsB,CAAC,EAAE,gBAAgB,EAAE,CAAC,CAAC;oBACxD,CAAC,CAAC,EAAE;oBACJ,gBAAgB;iBACnB,CAAC;gBAEF,UAAU,EAAE,CAAC;gBAEb,OAAO,WAAW,CAAC,EAAE,CAAC;YAC1B,CAAC;YAED,OAAO,MAAM,CAAC,EAAE;gBACZ,MAAM,EAAE,gBAAgB,EAAE,GAAG,MAAM,IAAI,EAAE,CAAC;gBAE1C,qBAAqB,GAAG,mBAAmB,CAAC,EAAE,gBAAgB,EAAE,CAAC,CAAC;gBAElE,qBAAqB,CAAC,IAAI,CAAC,GAAG,EAAE;oBAC5B,qBAAqB,GAAG,SAAS,CAAC;gBACtC,CAAC,CAAC,CAAC;gBAEH,OAAO,qBAAqB,CAAC;YACjC,CAAC,CAAC;QACN,CAAC,CAAC,EAAE;QACJ,uBAAuB,EAAE,aAAa,CAAC,EAAE;YACrC,cAAc,CAAC,GAAG,CAAC,aAAa,CAAC,CAAC;YAElC,OAAO;gBACH,WAAW,EAAE,GAAG,EAAE;oBACd,cAAc,CAAC,MAAM,CAAC,aAAa,CAAC,CAAC;gBACzC,CAAC;aACJ,CAAC;QACN,CAAC;QACD,8BAA8B,EAAE,YAAY,CAAC,EAAE;YAC3C,gCAAgC,CAAC,GAAG,CAAC,YAAY,CAAC,CAAC;YAEnD,MAAM,kCAAkC,GAAG,GAAG,EAAE;gBAC5C,gCAAgC,CAAC,MAAM,CAAC,YAAY,CAAC,CAAC;YAC1D,CAAC,CAAC;YAEF,OAAO,EAAE,kCAAkC,EAAE,CAAC;QAClD,CAAC;QACD,cAAc,EAAE,CAAC,EAAE,gBAAgB,EAAE,WAAW,EAAE,0BAA0B,EAAE,EAAE,EAAE,CAC9E,qBAAqB,CAAC;YAClB,MAAM,EAAE,mBAAmB;YAC3B,WAAW,EAAE,WAAW,IAAI,MAAM,CAAC,QAAQ,CAAC,IAAI;YAChD,sBAAsB,EAAE,gBAAgB;YACxC,gCAAgC,EAAE,0BAA0B;YAC5D,iCAAiC,EAAE,GAAG,EAAE;gBACpC,GAAG,EAAE,CAAC,8DAA8D,CAAC,CAAC;gBACtE,KAAK,CAAC,oDAAoD,CAAC,CAAC;YAChE,CAAC;SACJ,CAAC;QACN,kBAAkB,EAAE,oBAAoB,CAAC,kBAAkB;QAC3D,mBAAmB,EAAE,CAAC,GAAG,EAAE;YACvB,MAAM,KAAK,GAAG,sBAAsB,CAAC,EAAE,SAAS,EAAE,CAAC,CAAC;YAEpD,GAAG,EAAE,CAAC,wBAAwB,KAAK,EAAE,CAAC,CAAC;YAEvC,OAAO,KAAK,CAAC;QACjB,CAAC,CAAC,EAAE;KACP,CAAC,CAAC;IAEH,CAAC;QACG,MAAM,EAAE,gBAAgB,EAAE,GAAG,IAAA,kDAAmB,EAAC;YAC7C,QAAQ;YACR,SAAS;SACZ,CAAC,CAAC;QAEH,gBAAgB,CAAC,IAAI,CAAC,KAAK,IAAI,EAAE;YAC7B,GAAG,EAAE,CAAC,kDAAkD,CAAC,CAAC;YAE1D,MAAM,IAAA,wFAAuD,EAAC;gBAC1D,QAAQ,EAAE,IAAI,OAAO,CAAQ,GAAG,EAAE,GAAE,CAAC,CAAC;aACzC,CAAC,CAAC;YAEH,QAAQ,CAAC,MAAM,EAAE,CAAC;QACtB,CAAC,CAAC,CAAC;IACP,CAAC;IAED,oEAAoE;IACpE,CAAC,SAAS,qBAAqB;QAC3B,gFAAgF;QAChF,yDAAyD;QACzD,IAAI,CAAC,aAAa,CAAC,eAAe,IAAI,CAAC,YAAY,EAAE,CAAC;YAClD,OAAO;QACX,CAAC;QAED,IAAI,KAAK,GAA8C,SAAS,CAAC;QAEjE,MAAM,KAAK,GAAG,IAAK,CAAC;QAEpB,CAAC,KAAK,IAAI,EAAE;YACR,OAAO,IAAI,EAAE,CAAC;gBACV,MAAM,MAAM,GAAG,IAAI,CAAC,GAAG,EAAE,CAAC;gBAC1B,MAAM,IAAI,OAAO,CAAO,OAAO,CAAC,EAAE;oBAC9B,KAAK,GAAG,IAAA,yBAAU,EAAC,OAAO,EAAE,KAAK,CAAC,CAAC;gBACvC,CAAC,CAAC,CAAC;gBACH,MAAM,KAAK,GAAG,IAAI,CAAC,GAAG,EAAE,CAAC;gBAEzB,MAAM,gBAAgB,GAAG,KAAK,GAAG,MAAM,CAAC;gBACxC,MAAM,mBAAmB,GAAG,KAAK,CAAC;gBAElC,IAAI,IAAI,CAAC,GAAG,CAAC,gBAAgB,GAAG,mBAAmB,CAAC,GAAG,IAAK,EAAE,CAAC;oBAC3D,GAAG,EAAE,CAAC,qDAAqD,CAAC,CAAC;oBAC7D,oEAAoE;oBACpE,sDAAsD;oBACtD,2EAA2E;oBAC3E,wEAAwE;oBACxE,aAAa,CAAC,WAAW,EAAE,CAAC;oBAC5B,OAAO;gBACX,CAAC;YACL,CAAC;QACL,CAAC,CAAC,EAAE,CAAC;QAEL,MAAM,EAAE,WAAW,EAAE,sBAAsB,EAAE,GAAG,aAAa,CAAC,uBAAuB,CAAC,GAAG,EAAE;YACvF,IAAI,KAAK,KAAK,SAAS,EAAE,CAAC;gBACtB,IAAA,2BAAY,EAAC,KAAK,CAAC,CAAC;YACxB,CAAC;YACD,sBAAsB,EAAE,CAAC;YACzB,qBAAqB,EAAE,CAAC;QAC5B,CAAC,CAAC,CAAC;IACP,CAAC,CAAC,EAAE,CAAC;IAEL,CAAC,SAAS,sCAAsC;QAC5C,IAAI,CAAC,aAAa,CAAC,eAAe,IAAI,CAAC,YAAY,EAAE,CAAC;YAClD,GAAG,EAAE,CACD;gBACI,uEAAuE;gBACvE,8DAA8D;aACjE,CAAC,IAAI,CAAC,GAAG,CAAC,CACd,CAAC;YACF,OAAO;QACX,CAAC;QAED,IACI,aAAa,CAAC,0BAA0B,KAAK,SAAS;YACtD,aAAa,CAAC,0BAA0B,IAAI,6BAAa,EAC3D,CAAC;YACC,MAAM,YAAY,GAAa,EAAE,CAAC;YAElC,IAAI,MAAM,CAAC,QAAQ,CAAC,gBAAgB,CAAC,EAAE,CAAC;gBACpC,YAAY,CAAC,IAAI,CAAC,gDAAgD,CAAC,CAAC;YACxE,CAAC;iBAAM,IAAI,IAAA,uBAAU,EAAC,EAAE,SAAS,EAAE,CAAC,EAAE,CAAC;gBACnC,YAAY,CAAC,IAAI,CAAC,oDAAoD,CAAC,CAAC;YAC5E,CAAC;YAED,IAAI,YAAY,CAAC,MAAM,GAAG,CAAC,EAAE,CAAC;gBAC1B,YAAY,CAAC,IAAI,CACb,GAAG;oBACC,iEAAiE;oBACjE,wDAAwD;iBAC3D,CACJ,CAAC;YACN,CAAC;YAED,MAAM,UAAU,GAAG;gBACf,uDAAuD;gBACvD,sCAAsC;gBACtC,GAAG,YAAY;aAClB,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC;YAEZ,IAAI,YAAY,CAAC,MAAM,GAAG,CAAC,EAAE,CAAC;gBAC1B,OAAO,CAAC,IAAI,CAAC,aAAa,UAAU,EAAE,CAAC,CAAC;YAC5C,CAAC;iBAAM,CAAC;gBACJ,GAAG,EAAE,CAAC,UAAU,CAAC,CAAC;YACtB,CAAC;YACD,OAAO;QACX,CAAC;QAED,MAAM,kBAAkB,GACpB,CAAC,aAAa,CAAC,0BAA0B,IAAI,aAAa,CAAC,yBAAyB,CAAC;YACrF,aAAa,CAAC,gBAAgB,EAAE,CAAC;QAErC,MAAM,6BAA6B,GAC/B,aAAa,CAAC,0BAA0B,KAAK,SAAS,CAAC,CAAC,CAAC,SAAS,CAAC,CAAC,CAAC,QAAQ,CAAC;QAElF,MAAM,uBAAuB,GAAG,KAAM,CAAC;QAEvC,IAAI,kBAAkB,IAAI,uBAAuB,EAAE,CAAC;YAChD,GAAG,EAAE,CACD;gBACI,uDAAuD;gBACvD,CAAC,GAAG,EAAE;oBACF,QAAQ,6BAA6B,EAAE,CAAC;wBACpC,KAAK,SAAS;4BACV,OAAO;gCACH,qDAAqD;gCACrD,yEAAyE;gCACzE,+BAA+B;gCAC/B,uEAAuE;gCACvE,uDAAuD;6BAC1D,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC;wBAChB,KAAK,QAAQ;4BACT,OAAO;gCACH,aAAa,CAAC,eAAe;oCACzB,CAAC,CAAC,0DAA0D;oCAC5D,CAAC,CAAC,iCAAiC;gCACvC,kDAAkD;gCAClD,yFAAyF;gCACzF,oBAAoB;6BACvB,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC;oBACpB,CAAC;gBACL,CAAC,CAAC,EAAE;aACP,CAAC,IAAI,CAAC,GAAG,CAAC,CACd,CAAC;YACF,OAAO;QACX,CAAC;QAED,GAAG,EAAE,CACD;YACI,IAAA,iDAAuB,EAAC,kBAAkB,CAAC;YAC3C,4BAA4B,6BAA6B,SAAS;YAClE,sBAAsB,IAAA,iDAAuB,EACzC,uBAAuB,CAC1B,kEAAkE;SACtE,CAAC,IAAI,CAAC,GAAG,CAAC,CACd,CAAC;QAEF,MAAM,KAAK,GAAG,IAAA,yBAAU,EACpB,KAAK,IAAI,EAAE;YACP,CAAC;gBACG,MAAM,EAAE,QAAQ,EAAE,QAAQ,EAAE,GAAG,IAAA,yBAAW,GAAE,CAAC;gBAE7C,IAAI,CAAC,QAAQ,EAAE,CAAC;oBACZ,MAAM,uBAAuB,GAAG,MAAM,OAAO,CAAC,IAAI,CAAC;wBAC/C,IAAI,OAAO,CAAQ,OAAO,CAAC,EAAE,CACzB,IAAA,yBAAU,EAAC,GAAG,EAAE,CAAC,OAAO,CAAC,KAAK,CAAC,EAAE,uBAAuB,GAAG,IAAK,CAAC,CACpE;wBACD,QAAQ,CAAC,IAAI,CAAC,GAAG,EAAE,CAAC,IAAI,CAAC;qBAC5B,CAAC,CAAC;oBAEH,IAAI,CAAC,uBAAuB,EAAE,CAAC;wBAC3B,GAAG,EAAE,CACD;4BACI,yCAAyC;4BACzC,4DAA4D;4BAC5D,iFAAiF;4BACjF,2FAA2F;yBAC9F,CAAC,IAAI,CAAC,GAAG,CAAC,CACd,CAAC;wBACF,OAAO;oBACX,CAAC;gBACL,CAAC;YACL,CAAC;YAED,GAAG,EAAE,CACD,kCAAkC,6BAA6B,yBAAyB,IAAA,iDAAuB,EAC3G,uBAAuB,CAC1B,EAAE,CACN,CAAC;YAEF,MAAM,aAAa,CAAC,WAAW,EAAE,CAAC;QACtC,CAAC,EACD,IAAI,CAAC,GAAG,CACJ,kBAAkB,GAAG,uBAAuB;QAC5C,+DAA+D;QAC/D,0CAA0C;QAC1C,mFAAmF;QACnF,IAAI,CAAC,GAAG,CAAC,CAAC,EAAE,EAAE,CAAC,GAAG,CAAC,CACtB,CACJ,CAAC;QAEF,MAAM,EAAE,WAAW,EAAE,sBAAsB,EAAE,GAAG,aAAa,CAAC,uBAAuB,CAAC,GAAG,EAAE;YACvF,IAAA,2BAAY,EAAC,KAAK,CAAC,CAAC;YACpB,sBAAsB,EAAE,CAAC;YACzB,sCAAsC,EAAE,CAAC;QAC7C,CAAC,CAAC,CAAC;IACP,CAAC,CAAC,EAAE,CAAC;IAEL,WAAW,EAAE,CAAC;QACV,MAAM,kCAAkC,GAAG,GAAG,EAAE;YAC5C,IAAI,4BAA4B,KAAK,SAAS,EAAE,CAAC;gBAC7C,OAAO,4BAA4B,CAAC;YACxC,CAAC;YAED,IAAI,aAAa,CAAC,0BAA0B,KAAK,SAAS,EAAE,CAAC;gBACzD,OAAO,SAAS,CAAC;YACrB,CAAC;YAED,IAAI,aAAa,CAAC,0BAA0B,IAAI,6BAAa,EAAE,CAAC;gBAC5D,OAAO,CAAC,CAAC;YACb,CAAC;YAED,OAAO,CAAC,aAAa,CAAC,0BAA0B,GAAG,aAAa,CAAC,YAAY,CAAC,GAAG,IAAI,CAAC;QAC1F,CAAC,CAAC;QAEF,IAAI,kCAAkC,EAAE,KAAK,CAAC,EAAE,CAAC;YAC7C,GAAG,EAAE,CAAC,kEAAkE,CAAC,CAAC;YAC1E,MAAM,WAAW,CAAC;QACtB,CAAC;QAED,IAAI,kCAAkC,EAAE,KAAK,SAAS,EAAE,CAAC;YACrD,GAAG,EAAE,CACD,GACI,aAAa,CAAC,eAAe;gBACzB,CAAC,CAAC,iEAAiE;gBACnE,CAAC,CAAC,kBACV,uFAAuF,CAC1F,CAAC;YACF,MAAM,WAAW,CAAC;QACtB,CAAC;QAED,MAAM,EAAE,cAAc,EAAE,GAAG,IAAA,qCAAoB,EAAC;YAC5C,YAAY,EAAE,KAAK,EAAE,EAAE,WAAW,EAAE,EAAE,EAAE;gBACpC,MAAM,kBAAkB,GAAG,CAAC,MAA2C,EAAE,EAAE;oBACvE,MAAM,EAAE,WAAW,EAAE,GAAG,MAAM,CAAC;oBAC/B,KAAK,CAAC,IAAI,CAAC,gCAAgC,CAAC,CAAC,OAAO,CAAC,YAAY,CAAC,EAAE,CAChE,YAAY,CAAC,EAAE,WAAW,EAAE,CAAC,CAChC,CAAC;gBACN,CAAC,CAAC;gBAEF,IAAI,WAAW,KAAK,CAAC,EAAE,CAAC;oBACpB,iBAAiB,EAAE,CAAC;wBAChB,MAAM,EAAE,QAAQ,EAAE,QAAQ,EAAE,GAAG,IAAA,yBAAW,GAAE,CAAC;wBAE7C,IAAI,QAAQ,EAAE,CAAC;4BACX,MAAM,iBAAiB,CAAC;wBAC5B,CAAC;wBAED,MAAM,iBAAiB,GAAG,MAAM,OAAO,CAAC,IAAI,CAAC;4BACzC,IAAI,OAAO,CAAQ,OAAO,CAAC,EAAE,CAAC,IAAA,yBAAU,EAAC,GAAG,EAAE,CAAC,OAAO,CAAC,KAAK,CAAC,EAAE,KAAM,CAAC,CAAC;4BACvE,QAAQ,CAAC,IAAI,CAAC,GAAG,EAAE,CAAC,IAAI,CAAC;yBAC5B,CAAC,CAAC;wBAEH,IAAI,iBAAiB,EAAE,CAAC;4BACpB,MAAM,iBAAiB,CAAC;wBAC5B,CAAC;wBAED,GAAG,EAAE,CACD;4BACI,qCAAqC;4BACrC,gDAAgD;4BAChD,oDAAoD;4BACpD,oBAAoB;4BACpB,kDAAkD;yBACrD,CAAC,IAAI,CAAC,GAAG,CAAC,CACd,CAAC;wBAEF,2BAA2B,EAAE,CAAC;wBAE9B,kBAAkB,CAAC,EAAE,WAAW,EAAE,SAAS,EAAE,CAAC,CAAC;wBAE/C,wCAAwC,GAAG,IAAI,CAAC;wBAEhD,OAAO;oBACX,CAAC;oBAED,MAAM,aAAa,CAAC,MAAM,CAAC,gBAAgB,CAAC,CAAC;gBACjD,CAAC;gBAED,kBAAkB,CAAC,EAAE,WAAW,EAAE,CAAC,CAAC;YACxC,CAAC;SACJ,CAAC,CAAC;QAEH,IAAI,aAAa,GAA6B,SAAS,CAAC;QAExD,MAAM,eAAe,GAAG,IAAA,uCAAqB,EAAC;YAC1C,QAAQ;YACR,SAAS;SACZ,CAAC,CAAC;QAEH,MAAM,EAAE,WAAW,EAAE,2BAA2B,EAAE,GAAG,eAAe,CAAC,SAAS,CAAC,YAAY,CAAC,EAAE;YAC1F,IAAI,YAAY,EAAE,CAAC;gBACf,IAAI,aAAa,KAAK,SAAS,EAAE,CAAC;oBAC9B,aAAa,EAAE,CAAC;oBAChB,aAAa,GAAG,SAAS,CAAC;gBAC9B,CAAC;YACL,CAAC;iBAAM,CAAC;gBACJ,IAAA,eAAM,EAAC,aAAa,KAAK,SAAS,EAAE,QAAQ,CAAC,CAAC;gBAE9C,MAAM,+BAA+B,GAAG,kCAAkC,EAAE,CAAC;gBAE7E,IAAA,eAAM,EAAC,+BAA+B,KAAK,SAAS,EAAE,WAAW,CAAC,CAAC;gBAEnE,aAAa,GAAG,cAAc,CAAC;oBAC3B,oBAAoB,EAAE,+BAA+B;iBACxD,CAAC,CAAC,aAAa,CAAC;YACrB,CAAC;QACL,CAAC,CAAC,CAAC;QAEH,CAAC;YACG,MAAM,+BAA+B,GAAG,kCAAkC,EAAE,CAAC;YAE7E,IAAA,eAAM,EAAC,+BAA+B,KAAK,SAAS,EAAE,YAAY,CAAC,CAAC;YAEpE,GAAG,EAAE,CACD;gBACI,mDAAmD,IAAA,iDAAuB,EACtE,+BAA+B,GAAG,IAAK,CAC1C,iBAAiB;gBAClB,4BAA4B,KAAK,SAAS;oBACtC,CAAC,CAAC,SAAS;oBACX,CAAC,CAAC,8EAA8E;aACvF;iBACI,MAAM,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,KAAK,SAAS,CAAC;iBAC5B,IAAI,CAAC,IAAI,CAAC,CAClB,CAAC;QACN,CAAC;IACL,CAAC;IAED,OAAO,aAAa,CAAC;AACzB,CAAC"}
1
+ {"version":3,"file":"createOidc.js","sourceRoot":"","sources":["../src/core/createOidc.ts"],"names":[],"mappings":"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"}
@@ -28,7 +28,7 @@ import { isKeycloak } from "../keycloak/isKeycloak";
28
28
  import { INFINITY_TIME } from "../tools/INFINITY_TIME";
29
29
  import { getIsValidRemoteJson } from "../tools/getIsValidRemoteJson";
30
30
  // NOTE: Replaced at build time
31
- const VERSION = "8.1.12";
31
+ const VERSION = "8.1.14";
32
32
  const globalContext = {
33
33
  prOidcByConfigId: new Map(),
34
34
  hasLogoutBeenCalled: id(false),
@@ -628,6 +628,22 @@ export async function createOidc_nonMemoized(params, preProcessedParams) {
628
628
  decodedIdToken_previous: undefined,
629
629
  log
630
630
  });
631
+ detect_useless_idleSessionLifetimeInSeconds: {
632
+ if (idleSessionLifetimeInSeconds === undefined) {
633
+ break detect_useless_idleSessionLifetimeInSeconds;
634
+ }
635
+ if (currentTokens.refreshTokenExpirationTime === undefined) {
636
+ break detect_useless_idleSessionLifetimeInSeconds;
637
+ }
638
+ console.warn([
639
+ "oidc-spa: You've specified idleSessionLifetimeInSeconds,",
640
+ "but your auth server issues a refresh_token with a known expiration time.",
641
+ "idleSessionLifetimeInSeconds should only be used as a fallback",
642
+ "for auth servers that don't specify when an inactive session expires.",
643
+ "The auth server, not your code, is the source of truth.",
644
+ "See: https://docs.oidc-spa.dev/v/v8/auto-logout"
645
+ ].join(" "));
646
+ }
631
647
  {
632
648
  if (getPersistedAuthState({ configId }) !== undefined) {
633
649
  persistAuthState({ configId, state: undefined });
@@ -1009,6 +1025,12 @@ export async function createOidc_nonMemoized(params, preProcessedParams) {
1009
1025
  ].join(" "));
1010
1026
  return;
1011
1027
  }
1028
+ const msBeforeExpiration_idleSessionLifetimeInSeconds = idleSessionLifetimeInSeconds === undefined ? undefined : idleSessionLifetimeInSeconds * 1000;
1029
+ const msBeforeExpiration_refreshToken = currentTokens.refreshTokenExpirationTime === undefined
1030
+ ? undefined
1031
+ : currentTokens.refreshTokenExpirationTime - currentTokens.getServerDateNow();
1032
+ const msBeforeExpiration_accessToken = currentTokens.accessTokenExpirationTime - currentTokens.getServerDateNow();
1033
+ let isRefreshTokenNeverExpiring = false;
1012
1034
  if (currentTokens.refreshTokenExpirationTime !== undefined &&
1013
1035
  currentTokens.refreshTokenExpirationTime >= INFINITY_TIME) {
1014
1036
  const warningLines = [];
@@ -1020,59 +1042,69 @@ export async function createOidc_nonMemoized(params, preProcessedParams) {
1020
1042
  }
1021
1043
  if (warningLines.length > 0) {
1022
1044
  warningLines.push(...[
1023
- "Misconfiguration: offline_access is for native apps, not SPAs. ",
1045
+ "Misconfiguration: offline_access is for native apps, not for web apps like yours. ",
1024
1046
  "You lose SSO and users must log in after every reload."
1025
1047
  ]);
1048
+ console.warn(`oidc-spa: ${warningLines.join(" ")}`);
1049
+ return;
1026
1050
  }
1027
- const logMessage = [
1028
- "Refresh token never expires → no need to ping server.",
1029
- "The backend session will not expire.",
1030
- ...warningLines
1031
- ].join(" ");
1032
- if (warningLines.length > 0) {
1033
- console.warn(`oidc-spa: ${logMessage}`);
1034
- }
1035
- else {
1036
- log?.(logMessage);
1037
- }
1038
- return;
1051
+ isRefreshTokenNeverExpiring = true;
1039
1052
  }
1040
- const msBeforeExpiration = (currentTokens.refreshTokenExpirationTime ?? currentTokens.accessTokenExpirationTime) -
1041
- currentTokens.getServerDateNow();
1042
- const typeOfTheTokenWeGotTheTtlFrom = currentTokens.refreshTokenExpirationTime !== undefined ? "refresh" : "access";
1043
1053
  const RENEW_MS_BEFORE_EXPIRES = 30000;
1044
- if (msBeforeExpiration <= RENEW_MS_BEFORE_EXPIRES) {
1045
- log?.([
1046
- "Session keep-alive disabled. We just got fresh tokens",
1047
- (() => {
1048
- switch (typeOfTheTokenWeGotTheTtlFrom) {
1049
- case "refresh":
1050
- return [
1051
- " and the refresh token is already about to expires.",
1052
- "This means that we have reached the max session lifespan, we can't keep",
1053
- "the session alive any longer.",
1054
- "(This can also mean that the refresh token was configured with a TTL,",
1055
- "aka the idle session lifespan, too low to make sense)"
1056
- ].join(" ");
1057
- case "access":
1058
- return [
1059
- currentTokens.hasRefreshToken
1060
- ? ", we can't read the expiration time of the refresh token"
1061
- : ", we don't have a refresh token",
1062
- ` and the access token is already about to expire`,
1063
- "we would spam the auth server by constantly renewing the access token in the background",
1064
- "avoiding to do so."
1065
- ].join(" ");
1066
- }
1067
- })()
1054
+ const MIN_ACCEPTABLE_MS_BEFORE_EXPIRATION = RENEW_MS_BEFORE_EXPIRES + 15000;
1055
+ detect_session_reached_max_life: {
1056
+ if (msBeforeExpiration_refreshToken === undefined) {
1057
+ break detect_session_reached_max_life;
1058
+ }
1059
+ if (msBeforeExpiration_refreshToken > MIN_ACCEPTABLE_MS_BEFORE_EXPIRATION) {
1060
+ break detect_session_reached_max_life;
1061
+ }
1062
+ console.warn([
1063
+ "oidc-spa: The session is nearing its maximum lifetime, and the user will soon need to log in again,",
1064
+ `or you've configured a refresh_token with a TTL of ${toHumanReadableDuration(msBeforeExpiration_refreshToken)}.`,
1065
+ `If it's the latter, the TTL is too short, it must be at least ${toHumanReadableDuration(MIN_ACCEPTABLE_MS_BEFORE_EXPIRATION)} for reliable operation.`,
1066
+ "Shorter lifetimes can cause unpredictable session expirations and are usually a misconfiguration.",
1067
+ "\nIn either case, oidc-spa will not ping the auth server to keep the session alive."
1068
1068
  ].join(" "));
1069
1069
  return;
1070
1070
  }
1071
- log?.([
1072
- toHumanReadableDuration(msBeforeExpiration),
1073
- `before expiration of the ${typeOfTheTokenWeGotTheTtlFrom} token.`,
1074
- `Scheduling renewal ${toHumanReadableDuration(RENEW_MS_BEFORE_EXPIRES)} before expiration to keep the session alive on the OIDC server.`
1075
- ].join(" "));
1071
+ let msBeforeExpiration = (() => {
1072
+ if (msBeforeExpiration_refreshToken !== undefined && !isRefreshTokenNeverExpiring) {
1073
+ log?.([
1074
+ toHumanReadableDuration(msBeforeExpiration_refreshToken),
1075
+ `before expiration of the refresh_token.`,
1076
+ `Scheduling renewal of the tokens ${toHumanReadableDuration(RENEW_MS_BEFORE_EXPIRES)} before expiration as a way to keep the session alive on the OIDC server.`
1077
+ ].join(" "));
1078
+ return msBeforeExpiration_refreshToken;
1079
+ }
1080
+ if (msBeforeExpiration_idleSessionLifetimeInSeconds !== undefined) {
1081
+ if (msBeforeExpiration_idleSessionLifetimeInSeconds < MIN_ACCEPTABLE_MS_BEFORE_EXPIRATION) {
1082
+ throw new Error([
1083
+ `oidc-spa: The configured idleSessionLifetimeInSeconds (${toHumanReadableDuration(msBeforeExpiration_idleSessionLifetimeInSeconds)}) is too short.`,
1084
+ `For reliability, it must be at least ${toHumanReadableDuration(MIN_ACCEPTABLE_MS_BEFORE_EXPIRATION)}.`,
1085
+ "Very short session idle lifetimes are usually a misconfiguration, even for ultra sensitive apps."
1086
+ ].join(" "));
1087
+ }
1088
+ log?.([
1089
+ `You've set idleSessionLifetimeInSeconds to ${toHumanReadableDuration(msBeforeExpiration_idleSessionLifetimeInSeconds)}.`,
1090
+ `This means the user session will expire after ${toHumanReadableDuration(msBeforeExpiration_idleSessionLifetimeInSeconds)} of inactivity (assuming you're right).`,
1091
+ `Scheduling token renewal ${toHumanReadableDuration(RENEW_MS_BEFORE_EXPIRES)} before expiration to keep the session active on the OIDC server.`
1092
+ ].join(" "));
1093
+ return msBeforeExpiration_idleSessionLifetimeInSeconds;
1094
+ }
1095
+ const msBeforeExpiration = msBeforeExpiration_accessToken > MIN_ACCEPTABLE_MS_BEFORE_EXPIRATION
1096
+ ? msBeforeExpiration_accessToken
1097
+ : 3600000;
1098
+ log?.([
1099
+ "The auth server's idle session timeout is unknown.",
1100
+ isRefreshTokenNeverExpiring && "(The refresh token never expires)",
1101
+ `Assuming a default idle session TTL of ${toHumanReadableDuration(msBeforeExpiration)}.`,
1102
+ `Scheduling token renewal ${toHumanReadableDuration(RENEW_MS_BEFORE_EXPIRES)} before expiration to keep the session active on the OIDC server.`
1103
+ ]
1104
+ .filter(line => typeof line === "string")
1105
+ .join(" "));
1106
+ return msBeforeExpiration;
1107
+ })();
1076
1108
  const timer = setTimeout(async () => {
1077
1109
  {
1078
1110
  const { isOnline, prOnline } = getIsOnline();
@@ -1092,7 +1124,7 @@ export async function createOidc_nonMemoized(params, preProcessedParams) {
1092
1124
  }
1093
1125
  }
1094
1126
  }
1095
- log?.(`Renewing the tokens now as the ${typeOfTheTokenWeGotTheTtlFrom} token will expire in ${toHumanReadableDuration(RENEW_MS_BEFORE_EXPIRES)}`);
1127
+ log?.(`Renewing the tokens now as otherwise the session will be terminated by the auth server in ${toHumanReadableDuration(RENEW_MS_BEFORE_EXPIRES)}`);
1096
1128
  await oidc_loggedIn.renewTokens();
1097
1129
  }, Math.min(msBeforeExpiration - RENEW_MS_BEFORE_EXPIRES,
1098
1130
  // NOTE: We want to make sure we do not overflow the setTimeout
@@ -1107,16 +1139,17 @@ export async function createOidc_nonMemoized(params, preProcessedParams) {
1107
1139
  })();
1108
1140
  auto_logout: {
1109
1141
  const getCurrentRefreshTokenTtlInSeconds = () => {
1110
- if (idleSessionLifetimeInSeconds !== undefined) {
1111
- return idleSessionLifetimeInSeconds;
1112
- }
1113
1142
  if (currentTokens.refreshTokenExpirationTime === undefined) {
1114
- return undefined;
1143
+ return idleSessionLifetimeInSeconds;
1115
1144
  }
1116
1145
  if (currentTokens.refreshTokenExpirationTime >= INFINITY_TIME) {
1117
- return 0;
1146
+ return idleSessionLifetimeInSeconds ?? 0;
1147
+ }
1148
+ const ttlInSeconds = (currentTokens.refreshTokenExpirationTime - currentTokens.issuedAtTime) / 1000;
1149
+ if (idleSessionLifetimeInSeconds !== undefined) {
1150
+ return Math.min(idleSessionLifetimeInSeconds, ttlInSeconds);
1118
1151
  }
1119
- return (currentTokens.refreshTokenExpirationTime - currentTokens.issuedAtTime) / 1000;
1152
+ return ttlInSeconds;
1120
1153
  };
1121
1154
  if (getCurrentRefreshTokenTtlInSeconds() === 0) {
1122
1155
  log?.("The refresh_token never expires, disabling auto logout mechanism");