codex-multi-auth 2.1.13-beta.0 → 2.1.13-beta.2
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/README.md +1 -1
- package/dist/lib/accounts.d.ts +13 -0
- package/dist/lib/accounts.d.ts.map +1 -1
- package/dist/lib/accounts.js +58 -14
- package/dist/lib/accounts.js.map +1 -1
- package/dist/lib/codex-manager/commands/status.d.ts.map +1 -1
- package/dist/lib/codex-manager/commands/status.js +9 -1
- package/dist/lib/codex-manager/commands/status.js.map +1 -1
- package/dist/lib/codex-manager/commands/workspace.d.ts +19 -0
- package/dist/lib/codex-manager/commands/workspace.d.ts.map +1 -0
- package/dist/lib/codex-manager/commands/workspace.js +85 -0
- package/dist/lib/codex-manager/commands/workspace.js.map +1 -0
- package/dist/lib/codex-manager/help.d.ts +1 -0
- package/dist/lib/codex-manager/help.d.ts.map +1 -1
- package/dist/lib/codex-manager/help.js +27 -2
- package/dist/lib/codex-manager/help.js.map +1 -1
- package/dist/lib/codex-manager.d.ts.map +1 -1
- package/dist/lib/codex-manager.js +35 -1
- package/dist/lib/codex-manager.js.map +1 -1
- package/dist/lib/config.d.ts +26 -0
- package/dist/lib/config.d.ts.map +1 -1
- package/dist/lib/config.js +42 -0
- package/dist/lib/config.js.map +1 -1
- package/dist/lib/runtime-rotation-proxy.d.ts +2 -0
- package/dist/lib/runtime-rotation-proxy.d.ts.map +1 -1
- package/dist/lib/runtime-rotation-proxy.js +136 -8
- package/dist/lib/runtime-rotation-proxy.js.map +1 -1
- package/dist/lib/schemas.d.ts +56 -0
- package/dist/lib/schemas.d.ts.map +1 -1
- package/dist/lib/schemas.js +20 -0
- package/dist/lib/schemas.js.map +1 -1
- package/package.json +1 -1
package/dist/lib/config.d.ts
CHANGED
|
@@ -254,6 +254,32 @@ export declare function getNetworkErrorCooldownMs(pluginConfig: PluginConfig): n
|
|
|
254
254
|
* @returns The cooldown in milliseconds to use after a server error (minimum 0, default 4000)
|
|
255
255
|
*/
|
|
256
256
|
export declare function getServerErrorCooldownMs(pluginConfig: PluginConfig): number;
|
|
257
|
+
/**
|
|
258
|
+
* Get the cooldown duration in milliseconds to apply when an OAuth token has been
|
|
259
|
+
* explicitly invalidated by the upstream (distinct from a generic 401).
|
|
260
|
+
*
|
|
261
|
+
* A longer default (5 minutes) prevents the cascade where rapid account rotation
|
|
262
|
+
* causes each successive account's token to be invalidated in turn by OpenAI's
|
|
263
|
+
* anti-abuse detection.
|
|
264
|
+
*
|
|
265
|
+
* @param pluginConfig - Plugin configuration used to resolve the setting
|
|
266
|
+
* @returns The cooldown in milliseconds (minimum 0, default 300000)
|
|
267
|
+
*/
|
|
268
|
+
export declare function getTokenInvalidationCooldownMs(pluginConfig: PluginConfig): number;
|
|
269
|
+
/**
|
|
270
|
+
* Get the minimum time in milliseconds that must elapse between global account
|
|
271
|
+
* switches across requests. When the last served account is still within this
|
|
272
|
+
* window and is available, it receives a large selection-score boost so the
|
|
273
|
+
* proxy stays on it rather than rotating to a fresher idle account.
|
|
274
|
+
*
|
|
275
|
+
* Setting this to 0 disables the throttle. Default is 60 seconds, which
|
|
276
|
+
* reduces the rate at which different OAuth tokens are presented from the same
|
|
277
|
+
* IP and helps avoid OpenAI's anti-abuse detection (see issue #495).
|
|
278
|
+
*
|
|
279
|
+
* @param pluginConfig - Plugin configuration used to resolve the setting
|
|
280
|
+
* @returns The minimum rotation interval in milliseconds (minimum 0, default 60000)
|
|
281
|
+
*/
|
|
282
|
+
export declare function getMinRotationIntervalMs(pluginConfig: PluginConfig): number;
|
|
257
283
|
/**
|
|
258
284
|
* Determines whether periodic storage backups are enabled.
|
|
259
285
|
*
|
package/dist/lib/config.d.ts.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"config.d.ts","sourceRoot":"","sources":["../../lib/config.ts"],"names":[],"mappings":"AAUA,OAAO,KAAK,EAAE,YAAY,EAAE,MAAM,YAAY,CAAC;AA0C/C,MAAM,MAAM,sBAAsB,GAAG,QAAQ,GAAG,UAAU,CAAC;AAE3D,KAAK,wBAAwB,GAAG,SAAS,GAAG,MAAM,GAAG,MAAM,GAAG,YAAY,CAAC;AAE3E,KAAK,yBAAyB,GAAG,OAAO,CACvC,wBAAwB,EACxB,SAAS,GAAG,MAAM,CAClB,CAAC;AAEF,MAAM,MAAM,mBAAmB,GAAG,KAAK,GAAG,yBAAyB,GAAG,SAAS,CAAC;AAEhF,MAAM,WAAW,kBAAkB;IAClC,GAAG,EAAE,MAAM,YAAY,CAAC;IACxB,KAAK,EAAE,OAAO,CAAC;IACf,YAAY,EAAE,OAAO,CAAC;IACtB,MAAM,EAAE,mBAAmB,CAAC;IAC5B,QAAQ,EAAE,MAAM,EAAE,CAAC;CACnB;AAED,MAAM,WAAW,mBAAmB;IACnC,UAAU,EAAE,MAAM,GAAG,IAAI,CAAC;IAC1B,WAAW,EAAE,wBAAwB,CAAC;IACtC,OAAO,EAAE,kBAAkB,EAAE,CAAC;CAC9B;AAUD,wBAAgB,iCAAiC,IAAI,IAAI,CAExD;AA+DD;;;GAGG;AACH,eAAO,MAAM,qBAAqB,EAAE,
|
|
1
|
+
{"version":3,"file":"config.d.ts","sourceRoot":"","sources":["../../lib/config.ts"],"names":[],"mappings":"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"}
|
package/dist/lib/config.js
CHANGED
|
@@ -127,6 +127,8 @@ export const DEFAULT_PLUGIN_CONFIG = {
|
|
|
127
127
|
proactiveRefreshBufferMs: 5 * 60_000,
|
|
128
128
|
networkErrorCooldownMs: 6_000,
|
|
129
129
|
serverErrorCooldownMs: 4_000,
|
|
130
|
+
tokenInvalidationCooldownMs: 5 * 60_000,
|
|
131
|
+
minRotationIntervalMs: 60_000,
|
|
130
132
|
storageBackupEnabled: true,
|
|
131
133
|
preemptiveQuotaEnabled: true,
|
|
132
134
|
preemptiveQuotaRemainingPercent5h: 5,
|
|
@@ -942,6 +944,36 @@ export function getNetworkErrorCooldownMs(pluginConfig) {
|
|
|
942
944
|
export function getServerErrorCooldownMs(pluginConfig) {
|
|
943
945
|
return resolveNumberSetting("CODEX_AUTH_SERVER_ERROR_COOLDOWN_MS", pluginConfig.serverErrorCooldownMs, 4_000, { min: 0 });
|
|
944
946
|
}
|
|
947
|
+
/**
|
|
948
|
+
* Get the cooldown duration in milliseconds to apply when an OAuth token has been
|
|
949
|
+
* explicitly invalidated by the upstream (distinct from a generic 401).
|
|
950
|
+
*
|
|
951
|
+
* A longer default (5 minutes) prevents the cascade where rapid account rotation
|
|
952
|
+
* causes each successive account's token to be invalidated in turn by OpenAI's
|
|
953
|
+
* anti-abuse detection.
|
|
954
|
+
*
|
|
955
|
+
* @param pluginConfig - Plugin configuration used to resolve the setting
|
|
956
|
+
* @returns The cooldown in milliseconds (minimum 0, default 300000)
|
|
957
|
+
*/
|
|
958
|
+
export function getTokenInvalidationCooldownMs(pluginConfig) {
|
|
959
|
+
return resolveNumberSetting("CODEX_AUTH_TOKEN_INVALIDATION_COOLDOWN_MS", pluginConfig.tokenInvalidationCooldownMs, 5 * 60_000, { min: 0 });
|
|
960
|
+
}
|
|
961
|
+
/**
|
|
962
|
+
* Get the minimum time in milliseconds that must elapse between global account
|
|
963
|
+
* switches across requests. When the last served account is still within this
|
|
964
|
+
* window and is available, it receives a large selection-score boost so the
|
|
965
|
+
* proxy stays on it rather than rotating to a fresher idle account.
|
|
966
|
+
*
|
|
967
|
+
* Setting this to 0 disables the throttle. Default is 60 seconds, which
|
|
968
|
+
* reduces the rate at which different OAuth tokens are presented from the same
|
|
969
|
+
* IP and helps avoid OpenAI's anti-abuse detection (see issue #495).
|
|
970
|
+
*
|
|
971
|
+
* @param pluginConfig - Plugin configuration used to resolve the setting
|
|
972
|
+
* @returns The minimum rotation interval in milliseconds (minimum 0, default 60000)
|
|
973
|
+
*/
|
|
974
|
+
export function getMinRotationIntervalMs(pluginConfig) {
|
|
975
|
+
return resolveNumberSetting("CODEX_AUTH_MIN_ROTATION_INTERVAL_MS", pluginConfig.minRotationIntervalMs, 60_000, { min: 0 });
|
|
976
|
+
}
|
|
945
977
|
/**
|
|
946
978
|
* Determines whether periodic storage backups are enabled.
|
|
947
979
|
*
|
|
@@ -1303,6 +1335,16 @@ const CONFIG_EXPLAIN_ENTRIES = [
|
|
|
1303
1335
|
envNames: ["CODEX_AUTH_SERVER_ERROR_COOLDOWN_MS"],
|
|
1304
1336
|
getValue: getServerErrorCooldownMs,
|
|
1305
1337
|
},
|
|
1338
|
+
{
|
|
1339
|
+
key: "tokenInvalidationCooldownMs",
|
|
1340
|
+
envNames: ["CODEX_AUTH_TOKEN_INVALIDATION_COOLDOWN_MS"],
|
|
1341
|
+
getValue: getTokenInvalidationCooldownMs,
|
|
1342
|
+
},
|
|
1343
|
+
{
|
|
1344
|
+
key: "minRotationIntervalMs",
|
|
1345
|
+
envNames: ["CODEX_AUTH_MIN_ROTATION_INTERVAL_MS"],
|
|
1346
|
+
getValue: getMinRotationIntervalMs,
|
|
1347
|
+
},
|
|
1306
1348
|
{
|
|
1307
1349
|
key: "storageBackupEnabled",
|
|
1308
1350
|
envNames: ["CODEX_AUTH_STORAGE_BACKUP_ENABLED"],
|
package/dist/lib/config.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"config.js","sourceRoot":"","sources":["../../lib/config.ts"],"names":[],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"config.js","sourceRoot":"","sources":["../../lib/config.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,UAAU,EAAE,QAAQ,IAAI,EAAE,EAAE,YAAY,EAAE,MAAM,SAAS,CAAC;AACnE,OAAO,EAAE,OAAO,EAAE,IAAI,EAAE,MAAM,WAAW,CAAC;AAC1C,OAAO,EAAE,eAAe,EAAE,MAAM,kBAAkB,CAAC;AACnD,OAAO,EAAE,OAAO,EAAE,MAAM,aAAa,CAAC;AACtC,OAAO,EACN,eAAe,EACf,oBAAoB,EACpB,iBAAiB,GACjB,MAAM,oBAAoB,CAAC;AAC5B,OAAO,EAAE,mBAAmB,EAAE,kBAAkB,EAAE,MAAM,cAAc,CAAC;AAEvE,OAAO,EACN,sBAAsB,EACtB,2BAA2B,EAC3B,uBAAuB,GACvB,MAAM,uBAAuB,CAAC;AAE/B,MAAM,UAAU,GAAG,oBAAoB,EAAE,CAAC;AAC1C,MAAM,WAAW,GAAG,IAAI,CAAC,UAAU,EAAE,aAAa,CAAC,CAAC;AACpD,MAAM,cAAc,GAAG,eAAe,EAAE,CAAC;AACzC,MAAM,gBAAgB,GAAG,iBAAiB,EAAE,CAAC;AAC7C,MAAM,oBAAoB,GAAG,cAAc,KAAK,gBAAgB,CAAC;AACjE,MAAM,6BAA6B,GAAG,IAAI,CACzC,cAAc,EACd,8BAA8B,CAC9B,CAAC;AACF,MAAM,kCAAkC,GAAG,IAAI,CAC9C,cAAc,EACd,+BAA+B,CAC/B,CAAC;AACF,MAAM,wBAAwB,GAAG,IAAI,CACpC,gBAAgB,EAChB,8BAA8B,CAC9B,CAAC;AACF,MAAM,6BAA6B,GAAG,IAAI,CACzC,gBAAgB,EAChB,+BAA+B,CAC/B,CAAC;AACF,MAAM,kBAAkB,GAAG,IAAI,GAAG,CAAC,CAAC,WAAW,EAAE,QAAQ,EAAE,SAAS,CAAC,CAAC,CAAC;AACvE,MAAM,eAAe,GAAG,IAAI,GAAG,CAAC,CAAC,OAAO,EAAE,SAAS,EAAE,MAAM,CAAC,CAAC,CAAC;AAC9D,MAAM,0BAA0B,GAAG,IAAI,GAAG,CAAC,CAAC,QAAQ,EAAE,UAAU,CAAC,CAAC,CAAC;AACnE,MAAM,qBAAqB,GAAG,IAAI,GAAG,EAAU,CAAC;AAChD,MAAM,gBAAgB,GAAG,IAAI,GAAG,EAAyB,CAAC;AAC1D,MAAM,kBAAkB,GAAG,IAAI,GAAG,CAAC,CAAC,OAAO,EAAE,OAAO,CAAC,CAAC,CAAC;AACvD,MAAM,2BAA2B,GAAG,IAAI,GAAG,CAAC,CAAC,OAAO,EAAE,OAAO,EAAE,QAAQ,CAAC,CAAC,CAAC;AAiC1E,SAAS,iBAAiB,CAAC,OAAe;IACzC,IAAI,qBAAqB,CAAC,GAAG,CAAC,OAAO,CAAC,EAAE,CAAC;QACxC,OAAO;IACR,CAAC;IACD,qBAAqB,CAAC,GAAG,CAAC,OAAO,CAAC,CAAC;IACnC,OAAO,CAAC,OAAO,CAAC,CAAC;AAClB,CAAC;AAED,MAAM,UAAU,iCAAiC;IAChD,qBAAqB,CAAC,KAAK,EAAE,CAAC;AAC/B,CAAC;AAED;;;;;;;;;;;;;;;GAeG;AACH,SAAS,uBAAuB;IAC/B,MAAM,OAAO,GAAG,CAAC,OAAO,CAAC,GAAG,CAAC,4BAA4B,IAAI,EAAE,CAAC,CAAC,IAAI,EAAE,CAAC;IACxE,IAAI,OAAO,CAAC,MAAM,GAAG,CAAC,EAAE,CAAC;QACxB,OAAO,OAAO,CAAC;IAChB,CAAC;IAED,IAAI,UAAU,CAAC,WAAW,CAAC,EAAE,CAAC;QAC7B,OAAO,WAAW,CAAC;IACpB,CAAC;IAED,IAAI,oBAAoB,IAAI,UAAU,CAAC,6BAA6B,CAAC,EAAE,CAAC;QACvE,iBAAiB,CAChB,4BAA4B,6BAA6B,IAAI;YAC5D,qBAAqB,WAAW,GAAG,CACpC,CAAC;QACF,OAAO,6BAA6B,CAAC;IACtC,CAAC;IAED,IAAI,UAAU,CAAC,wBAAwB,CAAC,EAAE,CAAC;QAC1C,iBAAiB,CAChB,4BAA4B,wBAAwB,IAAI;YACvD,qBAAqB,WAAW,GAAG,CACpC,CAAC;QACF,OAAO,wBAAwB,CAAC;IACjC,CAAC;IAED,IAAI,oBAAoB,IAAI,UAAU,CAAC,kCAAkC,CAAC,EAAE,CAAC;QAC5E,iBAAiB,CAChB,4BAA4B,kCAAkC,IAAI;YACjE,qBAAqB,WAAW,GAAG,CACpC,CAAC;QACF,OAAO,kCAAkC,CAAC;IAC3C,CAAC;IAED,IAAI,UAAU,CAAC,6BAA6B,CAAC,EAAE,CAAC;QAC/C,iBAAiB,CAChB,4BAA4B,6BAA6B,IAAI;YAC5D,qBAAqB,WAAW,GAAG,CACpC,CAAC;QACF,OAAO,6BAA6B,CAAC;IACtC,CAAC;IAED,OAAO,IAAI,CAAC;AACb,CAAC;AAED;;;GAGG;AACH,MAAM,CAAC,MAAM,qBAAqB,GAAiB;IAClD,SAAS,EAAE,IAAI;IACf,yBAAyB,EAAE,IAAI;IAC/B,UAAU,EAAE,IAAI;IAChB,oBAAoB,EAAE,WAAW;IACjC,iBAAiB,EAAE,OAAO;IAC1B,WAAW,EAAE,KAAK;IAClB,mBAAmB,EAAE,QAAQ;IAC7B,wBAAwB,EAAE,EAAE;IAC5B,2BAA2B,EAAE,KAAK;IAClC,yBAAyB,EAAE,CAAC;IAC5B,0BAA0B,EAAE,CAAC;IAC7B,sBAAsB,EAAE,QAAQ;IAChC,+BAA+B,EAAE,KAAK;IACtC,iCAAiC,EAAE,IAAI;IACvC,6BAA6B,EAAE,EAAE;IACjC,kBAAkB,EAAE,MAAM;IAC1B,wBAAwB,EAAE,MAAM;IAChC,eAAe,EAAE,KAAK;IACtB,kBAAkB,EAAE,IAAI;IACxB,eAAe,EAAE,IAAI;IACrB,UAAU,EAAE,IAAI;IAChB,eAAe,EAAE,KAAK;IACtB,6BAA6B,EAAE,CAAC;IAChC,uBAAuB,EAAE,CAAC;IAC1B,yBAAyB,EAAE,KAAK;IAChC,sBAAsB,EAAE,KAAK;IAC7B,qBAAqB,EAAE,OAAO;IAC9B,qBAAqB,EAAE,MAAM;IAC7B,8BAA8B,EAAE,KAAK;IACrC,gBAAgB,EAAE,KAAK;IACvB,cAAc,EAAE,MAAM;IACtB,oBAAoB,EAAE,MAAM;IAC5B,eAAe,EAAE,IAAI;IACrB,yBAAyB,EAAE,GAAG;IAC9B,qBAAqB,EAAE,KAAK;IAC5B,eAAe,EAAE,IAAI;IACrB,oBAAoB,EAAE,EAAE,GAAG,MAAM;IACjC,yBAAyB,EAAE,GAAG;IAC9B,oBAAoB,EAAE,KAAK;IAC3B,mBAAmB,EAAE,KAAK;IAC1B,wBAAwB,EAAE,IAAI;IAC9B,0BAA0B,EAAE,MAAM;IAClC,wBAAwB,EAAE,CAAC,GAAG,MAAM;IACpC,sBAAsB,EAAE,KAAK;IAC7B,qBAAqB,EAAE,KAAK;IAC5B,2BAA2B,EAAE,CAAC,GAAG,MAAM;IACvC,qBAAqB,EAAE,MAAM;IAC7B,oBAAoB,EAAE,IAAI;IAC1B,sBAAsB,EAAE,IAAI;IAC5B,iCAAiC,EAAE,CAAC;IACpC,iCAAiC,EAAE,CAAC;IACpC,4BAA4B,EAAE,CAAC,GAAG,EAAE,GAAG,MAAM;IAC7C,YAAY,EAAE,QAAQ;CACtB,CAAC;AAEF,MAAM,2BAA2B,GAAG,kBAAkB,CAAC,KAAK,CAAC;AAC7D,MAAM,kBAAkB,GAAG,MAAM,CAAC,IAAI,CAAC,qBAAqB,CAE3D,CAAC;AAEF;;;;;;;GAOG;AACH,MAAM,UAAU,sBAAsB;IACrC,OAAO,EAAE,GAAG,qBAAqB,EAAE,CAAC;AACrC,CAAC;AAED;;;;;;;;GAQG;AACH,MAAM,UAAU,gBAAgB;IAC/B,IAAI,CAAC;QACJ,MAAM,aAAa,GAAG,2BAA2B,EAAE,CAAC;QACpD,IAAI,UAAU,GAAY,aAAa,CAAC;QACxC,IAAI,UAAU,GAAuB,SAAS,CAAC;QAE/C,IAAI,CAAC,QAAQ,CAAC,UAAU,CAAC,EAAE,CAAC;YAC3B,MAAM,UAAU,GAAG,uBAAuB,EAAE,CAAC;YAC7C,IAAI,CAAC,UAAU,EAAE,CAAC;gBACjB,OAAO,EAAE,GAAG,qBAAqB,EAAE,CAAC;YACrC,CAAC;YAED,MAAM,WAAW,GAAG,YAAY,CAAC,UAAU,EAAE,OAAO,CAAC,CAAC;YACtD,MAAM,qBAAqB,GAAG,YAAY,CAAC,WAAW,CAAC,CAAC;YACxD,UAAU,GAAG,IAAI,CAAC,KAAK,CAAC,qBAAqB,CAAY,CAAC;YAC1D,UAAU,GAAG,MAAM,CAAC;QACrB,CAAC;QAED,MAAM,oBAAoB,GAAG,0BAA0B,CAAC,UAAU,EAAE;YACnE,aAAa,EAAE,IAAI;SACnB,CAAC,CAAC;QAEH,MAAM,sBAAsB,GAC3B,OAAO,CAAC,GAAG,CAAC,qCAAqC,KAAK,SAAS;YAC/D,OAAO,CAAC,GAAG,CAAC,kCAAkC,KAAK,SAAS,CAAC;QAC9D,IAAI,QAAQ,CAAC,UAAU,CAAC,EAAE,CAAC;YAC1B,MAAM,YAAY,GAAG,MAAM,CAAC,MAAM,CAAC,UAAU,EAAE,wBAAwB,CAAC,CAAC;YACzE,MAAM,oBAAoB,GACzB,MAAM,CAAC,MAAM,CAAC,UAAU,EAAE,iCAAiC,CAAC;gBAC5D,MAAM,CAAC,MAAM,CAAC,UAAU,EAAE,mCAAmC,CAAC;gBAC9D,MAAM,CAAC,MAAM,CAAC,UAAU,EAAE,+BAA+B,CAAC,CAAC;YAC5D,IAAI,CAAC,YAAY,IAAI,CAAC,oBAAoB,IAAI,sBAAsB,CAAC,EAAE,CAAC;gBACvE,iBAAiB,CAChB,sFAAsF;oBACrF,uFAAuF,CACxF,CAAC;YACH,CAAC;QACF,CAAC;QAED,IACC,UAAU,KAAK,MAAM;YACrB,oBAAoB,KAAK,IAAI;YAC7B,CAAC,OAAO,CAAC,GAAG,CAAC,4BAA4B,IAAI,EAAE,CAAC,CAAC,IAAI,EAAE,CAAC,MAAM,KAAK,CAAC,EACnE,CAAC;YACF,iBAAiB,CAChB,gEAAgE,sBAAsB,EAAE,gBAAgB,CACxG,CAAC;QACH,CAAC;QAED,OAAO;YACN,GAAG,qBAAqB;YACxB,GAAG,CAAC,oBAAoB,IAAI,EAAE,CAAC;SAC/B,CAAC;IACH,CAAC;IAAC,OAAO,KAAK,EAAE,CAAC;QAChB,MAAM,UAAU,GAAG,uBAAuB,EAAE,IAAI,WAAW,CAAC;QAC5D,iBAAiB,CAChB,8BAA8B,UAAU,KACvC,KAAK,YAAY,KAAK,CAAC,CAAC,CAAC,KAAK,CAAC,OAAO,CAAC,CAAC,CAAC,MAAM,CAAC,KAAK,CACtD,EAAE,CACF,CAAC;QACF,OAAO,EAAE,GAAG,qBAAqB,EAAE,CAAC;IACrC,CAAC;AACF,CAAC;AAED,SAAS,0BAA0B,CAClC,IAAa,EACb,OAAqC;IAErC,IAAI,CAAC,QAAQ,CAAC,IAAI,CAAC,EAAE,CAAC;QACrB,OAAO,IAAI,CAAC;IACb,CAAC;IAED,IAAI,OAAO,EAAE,aAAa,EAAE,CAAC;QAC5B,MAAM,YAAY,GAAG,mBAAmB,CAAC,kBAAkB,EAAE,IAAI,CAAC,CAAC;QACnE,IAAI,YAAY,CAAC,MAAM,GAAG,CAAC,EAAE,CAAC;YAC7B,iBAAiB,CAChB,sCAAsC,YAAY,CAAC,KAAK,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,EAAE,CAC3E,CAAC;QACH,CAAC;IACF,CAAC;IAED,MAAM,SAAS,GAA4B,EAAE,CAAC;IAC9C,KAAK,MAAM,GAAG,IAAI,kBAAkB,EAAE,CAAC;QACtC,MAAM,KAAK,GAAG,IAAI,CAAC,GAAG,CAAC,CAAC;QACxB,IAAI,KAAK,KAAK,SAAS,EAAE,CAAC;YACzB,SAAS;QACV,CAAC;QACD,MAAM,MAAM,GAAG,2BAA2B,CAAC,GAAG,CAAC,CAAC;QAChD,MAAM,MAAM,GAAG,MAAM,CAAC,SAAS,CAAC,KAAK,CAAC,CAAC;QACvC,IAAI,MAAM,CAAC,OAAO,EAAE,CAAC;YACpB,SAAS,CAAC,MAAM,CAAC,GAAG,CAAC,CAAC,GAAG,MAAM,CAAC,IAAI,CAAC;QACtC,CAAC;IACF,CAAC;IAED,OAAO,SAAkC,CAAC;AAC3C,CAAC;AAED;;;;;;GAMG;AACH,SAAS,gCAAgC,CACxC,IAAa;IAEb,IAAI,CAAC,QAAQ,CAAC,IAAI,CAAC,EAAE,CAAC;QACrB,OAAO,IAAI,CAAC;IACb,CAAC;IAED,MAAM,SAAS,GAA4B,EAAE,CAAC;IAC9C,KAAK,MAAM,CAAC,GAAG,EAAE,KAAK,CAAC,IAAI,MAAM,CAAC,OAAO,CAAC,IAAI,CAAC,EAAE,CAAC;QACjD,IAAI,CAAC,kBAAkB,CAAC,QAAQ,CAAC,GAAyB,CAAC,EAAE,CAAC;YAC7D,SAAS,CAAC,GAAG,CAAC,GAAG,KAAK,CAAC;YACvB,SAAS;QACV,CAAC;QACD,MAAM,MAAM,GAAG,2BAA2B,CAAC,GAAyB,CAAC,CAAC;QACtE,MAAM,MAAM,GAAG,MAAM,CAAC,SAAS,CAAC,KAAK,CAAC,CAAC;QACvC,IAAI,MAAM,CAAC,OAAO,EAAE,CAAC;YACpB,SAAS,CAAC,GAAG,CAAC,GAAG,MAAM,CAAC,IAAI,CAAC;QAC9B,CAAC;IACF,CAAC;IAED,OAAO,SAAS,CAAC;AAClB,CAAC;AAED;;;;;;;GAOG;AACH,SAAS,YAAY,CAAC,OAAe;IACpC,OAAO,OAAO,CAAC,UAAU,CAAC,CAAC,CAAC,KAAK,MAAM,CAAC,CAAC,CAAC,OAAO,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,OAAO,CAAC;AACtE,CAAC;AAED;;;;;GAKG;AACH,SAAS,QAAQ,CAAC,KAAc;IAC/B,OAAO,KAAK,KAAK,IAAI,IAAI,OAAO,KAAK,KAAK,QAAQ,IAAI,CAAC,KAAK,CAAC,OAAO,CAAC,KAAK,CAAC,CAAC;AAC7E,CAAC;AAED,SAAS,kBAAkB,CAAC,KAAc;IACzC,MAAM,IAAI,GAAI,KAA2C,EAAE,IAAI,CAAC;IAChE,OAAO,OAAO,IAAI,KAAK,QAAQ,IAAI,kBAAkB,CAAC,GAAG,CAAC,IAAI,CAAC,CAAC;AACjE,CAAC;AAED,SAAS,KAAK,CAAC,EAAU;IACxB,OAAO,IAAI,OAAO,CAAC,CAAC,OAAO,EAAE,EAAE,CAAC,UAAU,CAAC,OAAO,EAAE,EAAE,CAAC,CAAC,CAAC;AAC1D,CAAC;AAED,KAAK,UAAU,4BAA4B,CAC1C,QAAgB,EAChB,OAAgC;IAEhC,MAAM,QAAQ,GAAG,GAAG,QAAQ,IAAI,OAAO,CAAC,GAAG,IAAI,IAAI,CAAC,GAAG,EAAE,IAAI,IAAI,CAAC,MAAM,EAAE,CAAC,QAAQ,CAAC,EAAE,CAAC,CAAC,KAAK,CAAC,CAAC,EAAE,CAAC,CAAC,MAAM,CAAC;IAC1G,MAAM,EAAE,CAAC,KAAK,CAAC,OAAO,CAAC,QAAQ,CAAC,EAAE,EAAE,SAAS,EAAE,IAAI,EAAE,CAAC,CAAC;IACvD,MAAM,EAAE,CAAC,SAAS,CAAC,QAAQ,EAAE,GAAG,IAAI,CAAC,SAAS,CAAC,OAAO,EAAE,IAAI,EAAE,CAAC,CAAC,IAAI,EAAE,MAAM,CAAC,CAAC;IAC9E,IAAI,OAAO,GAAG,KAAK,CAAC;IACpB,IAAI,CAAC;QACJ,KAAK,IAAI,OAAO,GAAG,CAAC,EAAE,OAAO,GAAG,CAAC,EAAE,OAAO,IAAI,CAAC,EAAE,CAAC;YACjD,IAAI,CAAC;gBACJ,MAAM,EAAE,CAAC,MAAM,CAAC,QAAQ,EAAE,QAAQ,CAAC,CAAC;gBACpC,OAAO,GAAG,IAAI,CAAC;gBACf,OAAO;YACR,CAAC;YAAC,OAAO,KAAK,EAAE,CAAC;gBAChB,IAAI,CAAC,kBAAkB,CAAC,KAAK,CAAC,IAAI,OAAO,IAAI,CAAC,EAAE,CAAC;oBAChD,MAAM,KAAK,CAAC;gBACb,CAAC;gBACD,MAAM,KAAK,CAAC,EAAE,GAAG,CAAC,IAAI,OAAO,CAAC,CAAC;YAChC,CAAC;QACF,CAAC;IACF,CAAC;YAAS,CAAC;QACV,IAAI,CAAC,OAAO,EAAE,CAAC;YACd,IAAI,CAAC;gBACJ,MAAM,EAAE,CAAC,MAAM,CAAC,QAAQ,CAAC,CAAC;YAC3B,CAAC;YAAC,MAAM,CAAC;gBACR,4BAA4B;YAC7B,CAAC;QACF,CAAC;IACF,CAAC;AACF,CAAC;AAED,KAAK,UAAU,kBAAkB,CAChC,IAAY,EACZ,IAAyB;IAEzB,MAAM,QAAQ,GAAG,gBAAgB,CAAC,GAAG,CAAC,IAAI,CAAC,IAAI,OAAO,CAAC,OAAO,EAAE,CAAC;IACjE,MAAM,MAAM,GAAG,QAAQ,CAAC,KAAK,CAAC,GAAG,EAAE,GAAE,CAAC,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;IACnD,gBAAgB,CAAC,GAAG,CAAC,IAAI,EAAE,MAAM,CAAC,CAAC;IACnC,IAAI,CAAC;QACJ,MAAM,MAAM,CAAC;IACd,CAAC;YAAS,CAAC;QACV,IAAI,gBAAgB,CAAC,GAAG,CAAC,IAAI,CAAC,KAAK,MAAM,EAAE,CAAC;YAC3C,gBAAgB,CAAC,MAAM,CAAC,IAAI,CAAC,CAAC;QAC/B,CAAC;IACF,CAAC;AACF,CAAC;AAED;;;;;;;GAOG;AACH,SAAS,wBAAwB,CAChC,UAAkB;IAElB,IAAI,CAAC,UAAU,CAAC,UAAU,CAAC;QAAE,OAAO,IAAI,CAAC;IACzC,IAAI,CAAC;QACJ,MAAM,WAAW,GAAG,YAAY,CAAC,UAAU,EAAE,OAAO,CAAC,CAAC;QACtD,MAAM,qBAAqB,GAAG,YAAY,CAAC,WAAW,CAAC,CAAC;QACxD,MAAM,MAAM,GAAG,IAAI,CAAC,KAAK,CAAC,qBAAqB,CAAY,CAAC;QAC5D,OAAO,QAAQ,CAAC,MAAM,CAAC,CAAC,CAAC,CAAC,MAAM,CAAC,CAAC,CAAC,IAAI,CAAC;IACzC,CAAC;IAAC,OAAO,KAAK,EAAE,CAAC;QAChB,iBAAiB,CAChB,8BAA8B,UAAU,KACvC,KAAK,YAAY,KAAK,CAAC,CAAC,CAAC,KAAK,CAAC,OAAO,CAAC,CAAC,CAAC,MAAM,CAAC,KAAK,CACtD,EAAE,CACF,CAAC;QACF,OAAO,IAAI,CAAC;IACb,CAAC;AACF,CAAC;AAED,KAAK,UAAU,uBAAuB,CACrC,UAAkB;IAElB,IAAI,CAAC,UAAU,CAAC,UAAU,CAAC,EAAE,CAAC;QAC7B,OAAO,EAAE,MAAM,EAAE,SAAS,EAAE,CAAC;IAC9B,CAAC;IAED,KAAK,IAAI,OAAO,GAAG,CAAC,EAAE,OAAO,GAAG,CAAC,EAAE,OAAO,IAAI,CAAC,EAAE,CAAC;QACjD,IAAI,CAAC;YACJ,MAAM,WAAW,GAAG,MAAM,EAAE,CAAC,QAAQ,CAAC,UAAU,EAAE,OAAO,CAAC,CAAC;YAC3D,MAAM,qBAAqB,GAAG,YAAY,CAAC,WAAW,CAAC,CAAC;YACxD,MAAM,MAAM,GAAG,IAAI,CAAC,KAAK,CAAC,qBAAqB,CAAY,CAAC;YAC5D,IAAI,CAAC,QAAQ,CAAC,MAAM,CAAC,EAAE,CAAC;gBACvB,MAAM,YAAY,GAAG,aAAa,UAAU,0CAA0C,CAAC;gBACvF,iBAAiB,CAAC,YAAY,CAAC,CAAC;gBAChC,OAAO,EAAE,MAAM,EAAE,SAAS,EAAE,YAAY,EAAE,CAAC;YAC5C,CAAC;YACD,OAAO,EAAE,MAAM,EAAE,IAAI,EAAE,MAAM,EAAE,MAAM,EAAE,CAAC;QACzC,CAAC;QAAC,OAAO,KAAK,EAAE,CAAC;YAChB,MAAM,IAAI,GAAI,KAA2C,EAAE,IAAI,CAAC;YAChE,IAAI,IAAI,KAAK,QAAQ,EAAE,CAAC;gBACvB,OAAO,EAAE,MAAM,EAAE,SAAS,EAAE,CAAC;YAC9B,CAAC;YACD,IACC,OAAO,IAAI,KAAK,QAAQ;gBACxB,2BAA2B,CAAC,GAAG,CAAC,IAAI,CAAC;gBACrC,OAAO,GAAG,CAAC,EACV,CAAC;gBACF,MAAM,KAAK,CAAC,EAAE,GAAG,CAAC,IAAI,OAAO,CAAC,CAAC;gBAC/B,SAAS;YACV,CAAC;YACD,MAAM,YAAY,GAAG,8BAA8B,UAAU,KAC5D,KAAK,YAAY,KAAK,CAAC,CAAC,CAAC,KAAK,CAAC,OAAO,CAAC,CAAC,CAAC,MAAM,CAAC,KAAK,CACtD,EAAE,CAAC;YACH,iBAAiB,CAAC,YAAY,CAAC,CAAC;YAChC,IAAI,KAAK,YAAY,WAAW,EAAE,CAAC;gBAClC,OAAO,EAAE,MAAM,EAAE,SAAS,EAAE,YAAY,EAAE,CAAC;YAC5C,CAAC;YACD,IAAI,OAAO,IAAI,KAAK,QAAQ,EAAE,CAAC;gBAC9B,OAAO,EAAE,MAAM,EAAE,YAAY,EAAE,YAAY,EAAE,CAAC;YAC/C,CAAC;YACD,OAAO,EAAE,MAAM,EAAE,SAAS,EAAE,YAAY,EAAE,CAAC;QAC5C,CAAC;IACF,CAAC;IAED,MAAM,YAAY,GAAG,8BAA8B,UAAU,GAAG,CAAC;IACjE,iBAAiB,CAAC,YAAY,CAAC,CAAC;IAChC,OAAO,EAAE,MAAM,EAAE,YAAY,EAAE,YAAY,EAAE,CAAC;AAC/C,CAAC;AAED,SAAS,+BAA+B;IAKvC,MAAM,aAAa,GAAG,2BAA2B,EAAE,CAAC;IACpD,IAAI,QAAQ,CAAC,aAAa,CAAC,EAAE,CAAC;QAC7B,OAAO;YACN,UAAU,EAAE,sBAAsB,EAAE;YACpC,WAAW,EAAE,SAAS;YACtB,MAAM,EAAE,aAAa;SACrB,CAAC;IACH,CAAC;IAED,MAAM,UAAU,GAAG,uBAAuB,EAAE,CAAC;IAC7C,IAAI,CAAC,UAAU,EAAE,CAAC;QACjB,OAAO;YACN,UAAU,EAAE,IAAI;YAChB,WAAW,EAAE,MAAM;YACnB,MAAM,EAAE,IAAI;SACZ,CAAC;IACH,CAAC;IAED,MAAM,MAAM,GAAG,wBAAwB,CAAC,UAAU,CAAC,CAAC;IACpD,IAAI,MAAM,EAAE,CAAC;QACZ,OAAO;YACN,UAAU;YACV,WAAW,EAAE,MAAM;YACnB,MAAM;SACN,CAAC;IACH,CAAC;IAED,OAAO;QACN,UAAU;QACV,WAAW,EAAE,UAAU,CAAC,UAAU,CAAC,CAAC,CAAC,CAAC,YAAY,CAAC,CAAC,CAAC,MAAM;QAC3D,MAAM,EAAE,IAAI;KACZ,CAAC;AACH,CAAC;AAED;;;;;;;;;GASG;AACH,SAAS,2BAA2B,CAAC,MAA6B;IAIjE,MAAM,UAAU,GAAG,0BAA0B,CAC5C,MAAiC,CACjC,CAAC;IACF,MAAM,OAAO,GAAG,MAAM,CAAC,OAAO,CAAC,CAAC,UAAU,IAAI,EAAE,CAA4B,CAAC,CAAC;IAC9E,MAAM,SAAS,GAA4B,EAAE,CAAC;IAC9C,MAAM,WAAW,GAAG,QAAQ,CAAC,MAAM,CAAC,CAAC,CAAC,CAAC,MAAM,CAAC,CAAC,CAAC,EAAE,CAAC;IACnD,MAAM,WAAW,GAAG,kBAAkB,CAAC,MAAM,CAAC,CAAC,GAAG,EAAE,EAAE;QACrD,IAAI,CAAC,CAAC,GAAG,IAAI,WAAW,CAAC,IAAI,WAAW,CAAC,GAAG,CAAC,KAAK,SAAS,EAAE,CAAC;YAC7D,OAAO,KAAK,CAAC;QACd,CAAC;QACD,OAAO,CAAC,CAAC,GAAG,IAAI,CAAC,UAAU,IAAI,EAAE,CAAC,CAAC,CAAC;IACrC,CAAC,CAAC,CAAC;IACH,KAAK,MAAM,CAAC,GAAG,EAAE,KAAK,CAAC,IAAI,OAAO,EAAE,CAAC;QACpC,IAAI,KAAK,KAAK,SAAS;YAAE,SAAS;QAClC,IAAI,OAAO,KAAK,KAAK,QAAQ,IAAI,CAAC,MAAM,CAAC,QAAQ,CAAC,KAAK,CAAC;YAAE,SAAS;QACnE,IAAI,QAAQ,CAAC,KAAK,CAAC,EAAE,CAAC;YACrB,SAAS,CAAC,GAAG,CAAC,GAAG,EAAE,GAAG,KAAK,EAAE,CAAC;YAC9B,SAAS;QACV,CAAC;QACD,SAAS,CAAC,GAAG,CAAC,GAAG,KAAK,CAAC;IACxB,CAAC;IACD,OAAO,EAAE,SAAS,EAAE,WAAW,EAAE,CAAC;AACnC,CAAC;AAED;;;;;;;;;;;;GAYG;AACH,MAAM,CAAC,KAAK,UAAU,gBAAgB,CACrC,WAAkC;IAElC,MAAM,EAAE,SAAS,EAAE,cAAc,EAAE,WAAW,EAAE,GAC/C,2BAA2B,CAAC,WAAW,CAAC,CAAC;IAC1C,IAAI,WAAW,CAAC,MAAM,GAAG,CAAC,EAAE,CAAC;QAC5B,iBAAiB,CAChB,4CAA4C,WAAW,CAAC,IAAI,CAAC,IAAI,CAAC,GAAG,CACrE,CAAC;IACH,CAAC;IACD,MAAM,OAAO,GAAG,CAAC,OAAO,CAAC,GAAG,CAAC,4BAA4B,IAAI,EAAE,CAAC,CAAC,IAAI,EAAE,CAAC;IAExE,IAAI,OAAO,CAAC,MAAM,GAAG,CAAC,EAAE,CAAC;QACxB,MAAM,kBAAkB,CAAC,OAAO,EAAE,KAAK,IAAI,EAAE;YAC5C,MAAM,cAAc,GAAG,MAAM,uBAAuB,CAAC,OAAO,CAAC,CAAC;YAC9D,IAAI,cAAc,CAAC,MAAM,KAAK,YAAY,EAAE,CAAC;gBAC5C,MAAM,IAAI,KAAK,CACd,gCAAgC,OAAO,iBAAiB,CACxD,CAAC;YACH,CAAC;YACD,MAAM,cAAc,GACnB,cAAc,CAAC,MAAM,KAAK,IAAI;gBAC7B,CAAC,CAAC,gCAAgC,CAAC,cAAc,CAAC,MAAM,CAAC;gBACzD,CAAC,CAAC,IAAI,CAAC;YACT,MAAM,MAAM,GAAG;gBACd,GAAG,CAAC,cAAc,IAAI,EAAE,CAAC;gBACzB,GAAG,cAAc;aACjB,CAAC;YACF,MAAM,4BAA4B,CAAC,OAAO,EAAE,MAAM,CAAC,CAAC;QACrD,CAAC,CAAC,CAAC;QACH,OAAO;IACR,CAAC;IAED,MAAM,WAAW,GAAG,sBAAsB,EAAE,CAAC;IAC7C,MAAM,kBAAkB,CAAC,WAAW,EAAE,KAAK,IAAI,EAAE;QAChD,MAAM,kBAAkB,GAAG,MAAM,uBAAuB,CAAC,WAAW,CAAC,CAAC;QACtE,IAAI,kBAAkB,CAAC,MAAM,KAAK,YAAY,EAAE,CAAC;YAChD,MAAM,IAAI,KAAK,CACd,gCAAgC,WAAW,iBAAiB,CAC5D,CAAC;QACH,CAAC;QACD,MAAM,mBAAmB,GACxB,kBAAkB,CAAC,MAAM,KAAK,IAAI;YACjC,CAAC,CAAC,kBAAkB,CAAC,MAAM,CAAC,YAAY;YACxC,CAAC,CAAC,2BAA2B,EAAE,CAAC;QAClC,MAAM,aAAa,GAAG,gCAAgC,CAAC,mBAAmB,CAAC,CAAC;QAC5E,MAAM,UAAU,GACf,aAAa,KAAK,IAAI,CAAC,CAAC,CAAC,uBAAuB,EAAE,CAAC,CAAC,CAAC,IAAI,CAAC;QAC3D,MAAM,iBAAiB,GAAG,UAAU;YACnC,CAAC,CAAC,MAAM,uBAAuB,CAAC,UAAU,CAAC;YAC3C,CAAC,CAAC,IAAI,CAAC;QACR,IAAI,iBAAiB,EAAE,MAAM,KAAK,YAAY,EAAE,CAAC;YAChD,MAAM,IAAI,KAAK,CACd,gCAAgC,UAAU,iBAAiB,CAC3D,CAAC;QACH,CAAC;QACD,MAAM,YAAY,GACjB,iBAAiB,EAAE,MAAM,KAAK,IAAI;YACjC,CAAC,CAAC,gCAAgC,CAAC,iBAAiB,CAAC,MAAM,CAAC;YAC5D,CAAC,CAAC,IAAI,CAAC;QACT,MAAM,MAAM,GAAG;YACd,GAAG,CAAC,aAAa,IAAI,YAAY,IAAI,EAAE,CAAC;YACxC,GAAG,cAAc;SACjB,CAAC;QACF,MAAM,uBAAuB,CAAC,MAAM,CAAC,CAAC;IACvC,CAAC,CAAC,CAAC;AACJ,CAAC;AAED,SAAS,cAAc,CAAC,KAAyB;IAChD,IAAI,KAAK,KAAK,SAAS;QAAE,OAAO,SAAS,CAAC;IAC1C,MAAM,OAAO,GAAG,KAAK,CAAC,IAAI,EAAE,CAAC;IAC7B,IAAI,OAAO,CAAC,MAAM,KAAK,CAAC;QAAE,OAAO,SAAS,CAAC;IAC3C,MAAM,MAAM,GAAG,MAAM,CAAC,OAAO,CAAC,CAAC;IAC/B,IAAI,CAAC,MAAM,CAAC,QAAQ,CAAC,MAAM,CAAC;QAAE,OAAO,SAAS,CAAC;IAC/C,OAAO,MAAM,CAAC;AACf,CAAC;AAED,SAAS,cAAc,CAAC,KAAyB;IAChD,IAAI,KAAK,KAAK,SAAS;QAAE,OAAO,SAAS,CAAC;IAC1C,MAAM,OAAO,GAAG,KAAK,CAAC,IAAI,EAAE,CAAC,WAAW,EAAE,CAAC;IAC3C,OAAO,OAAO,CAAC,MAAM,GAAG,CAAC,CAAC,CAAC,CAAC,OAAO,CAAC,CAAC,CAAC,SAAS,CAAC;AACjD,CAAC;AAED;;;;;;;;;;;;GAYG;AACH,SAAS,qBAAqB,CAC7B,OAAe,EACf,WAAgC,EAChC,YAAqB;IAErB,MAAM,WAAW,GAAG,OAAO,CAAC,GAAG,CAAC,OAAO,CAAC,CAAC;IACzC,MAAM,QAAQ,GAAG,eAAe,CAAC,WAAW,CAAC,CAAC;IAC9C,IACC,WAAW,KAAK,SAAS;QACzB,WAAW,CAAC,IAAI,EAAE,CAAC,MAAM,GAAG,CAAC;QAC7B,QAAQ,KAAK,SAAS,EACrB,CAAC;QACF,iBAAiB,CAChB,gCAAgC,OAAO,wCAAwC,CAC/E,CAAC;IACH,CAAC;IACD,IAAI,QAAQ,KAAK,SAAS;QAAE,OAAO,QAAQ,CAAC;IAC5C,OAAO,WAAW,IAAI,YAAY,CAAC;AACpC,CAAC;AAED;;;;;;;;;;GAUG;AACH,SAAS,oBAAoB,CAC5B,OAAe,EACf,WAA+B,EAC/B,YAAoB,EACpB,OAAwC;IAExC,MAAM,WAAW,GAAG,OAAO,CAAC,GAAG,CAAC,OAAO,CAAC,CAAC;IACzC,MAAM,QAAQ,GAAG,cAAc,CAAC,WAAW,CAAC,CAAC;IAC7C,IACC,WAAW,KAAK,SAAS;QACzB,WAAW,CAAC,IAAI,EAAE,CAAC,MAAM,GAAG,CAAC;QAC7B,QAAQ,KAAK,SAAS,EACrB,CAAC;QACF,iBAAiB,CAChB,gCAAgC,OAAO,6BAA6B,CACpE,CAAC;IACH,CAAC;IACD,MAAM,SAAS,GAAG,QAAQ,IAAI,WAAW,IAAI,YAAY,CAAC;IAC1D,MAAM,GAAG,GAAG,OAAO,EAAE,GAAG,IAAI,MAAM,CAAC,iBAAiB,CAAC;IACrD,MAAM,GAAG,GAAG,OAAO,EAAE,GAAG,IAAI,MAAM,CAAC,iBAAiB,CAAC;IACrD,OAAO,IAAI,CAAC,GAAG,CAAC,GAAG,EAAE,IAAI,CAAC,GAAG,CAAC,GAAG,EAAE,SAAS,CAAC,CAAC,CAAC;AAChD,CAAC;AAED;;;;;;;;;;GAUG;AACH,SAAS,oBAAoB,CAC5B,OAAe,EACf,WAA0B,EAC1B,YAAe,EACf,aAAkC;IAElC,MAAM,QAAQ,GAAG,cAAc,CAAC,OAAO,CAAC,GAAG,CAAC,OAAO,CAAC,CAAC,CAAC;IACtD,IAAI,QAAQ,IAAI,aAAa,CAAC,GAAG,CAAC,QAAQ,CAAC,EAAE,CAAC;QAC7C,OAAO,QAAa,CAAC;IACtB,CAAC;IACD,IAAI,WAAW,IAAI,aAAa,CAAC,GAAG,CAAC,WAAW,CAAC,EAAE,CAAC;QACnD,OAAO,WAAW,CAAC;IACpB,CAAC;IACD,OAAO,YAAY,CAAC;AACrB,CAAC;AAED,MAAM,UAAU,YAAY,CAAC,YAA0B;IACtD,OAAO,qBAAqB,CAAC,YAAY,EAAE,YAAY,CAAC,SAAS,EAAE,IAAI,CAAC,CAAC;AAC1E,CAAC;AAED,MAAM,UAAU,4BAA4B,CAC3C,YAA0B;IAE1B,OAAO,qBAAqB,CAC3B,yCAAyC,EACzC,YAAY,CAAC,yBAAyB,EACtC,IAAI,CACJ,CAAC;AACH,CAAC;AAED,MAAM,UAAU,aAAa,CAAC,YAA0B;IACvD,OAAO,qBAAqB,CAAC,cAAc,EAAE,YAAY,CAAC,UAAU,EAAE,IAAI,CAAC,CAAC;AAC7E,CAAC;AAED,MAAM,UAAU,uBAAuB,CACtC,YAA0B;IAE1B,OAAO,oBAAoB,CAC1B,yBAAyB,EACzB,YAAY,CAAC,oBAAoB,EACjC,WAAW,EACX,kBAAkB,CAClB,CAAC;AACH,CAAC;AAED,MAAM,UAAU,oBAAoB,CACnC,YAA0B;IAE1B,OAAO,oBAAoB,CAC1B,kBAAkB,EAClB,YAAY,CAAC,iBAAiB,EAC9B,OAAO,EACP,eAAe,CACf,CAAC;AACH,CAAC;AAED,MAAM,UAAU,cAAc,CAAC,YAA0B;IACxD,OAAO,qBAAqB,CAC3B,yBAAyB,EACzB,YAAY,CAAC,WAAW,EACxB,KAAK,CACL,CAAC;AACH,CAAC;AAED,MAAM,UAAU,sBAAsB,CACrC,YAA0B;IAE1B,MAAM,GAAG,GAAG,CAAC,OAAO,CAAC,GAAG,CAAC,gCAAgC,IAAI,EAAE,CAAC;SAC9D,IAAI,EAAE;SACN,WAAW,EAAE,CAAC;IAChB,IAAI,GAAG,KAAK,QAAQ;QAAE,OAAO,QAAQ,CAAC;IACtC,IAAI,GAAG,KAAK,QAAQ;QAAE,OAAO,QAAQ,CAAC;IACtC,OAAO,YAAY,CAAC,mBAAmB,KAAK,QAAQ,CAAC,CAAC,CAAC,QAAQ,CAAC,CAAC,CAAC,QAAQ,CAAC;AAC5E,CAAC;AAED,MAAM,UAAU,2BAA2B,CAC1C,YAA0B;IAE1B,OAAO,oBAAoB,CAC1B,yCAAyC,EACzC,YAAY,CAAC,wBAAwB,EACrC,EAAE,EACF,EAAE,GAAG,EAAE,CAAC,EAAE,CACV,CAAC;AACH,CAAC;AAED,MAAM,UAAU,8BAA8B,CAC7C,YAA0B;IAE1B,OAAO,qBAAqB,CAC3B,mCAAmC,EACnC,YAAY,CAAC,2BAA2B,EACxC,KAAK,CACL,CAAC;AACH,CAAC;AAED,MAAM,UAAU,4BAA4B,CAC3C,YAA0B;IAE1B,OAAO,oBAAoB,CAC1B,kCAAkC,EAClC,YAAY,CAAC,yBAAyB,EACtC,CAAC,EACD,EAAE,GAAG,EAAE,CAAC,EAAE,CACV,CAAC;AACH,CAAC;AAED,MAAM,UAAU,6BAA6B,CAC5C,YAA0B;IAE1B,OAAO,oBAAoB,CAC1B,kCAAkC,EAClC,YAAY,CAAC,0BAA0B,EACvC,CAAC,EACD,EAAE,GAAG,EAAE,CAAC,EAAE,CACV,CAAC;AACH,CAAC;AAED,MAAM,UAAU,yBAAyB,CACxC,YAA0B;IAE1B,MAAM,SAAS,GAAG,cAAc,CAC/B,OAAO,CAAC,GAAG,CAAC,mCAAmC,CAC/C,CAAC;IACF,IAAI,SAAS,IAAI,0BAA0B,CAAC,GAAG,CAAC,SAAS,CAAC,EAAE,CAAC;QAC5D,OAAO,SAAmC,CAAC;IAC5C,CAAC;IAED,MAAM,YAAY,GACjB,OAAO,YAAY,CAAC,sBAAsB,KAAK,QAAQ;QACtD,CAAC,CAAC,YAAY,CAAC,sBAAsB,CAAC,WAAW,EAAE;QACnD,CAAC,CAAC,SAAS,CAAC;IACd,IAAI,YAAY,IAAI,0BAA0B,CAAC,GAAG,CAAC,YAAY,CAAC,EAAE,CAAC;QAClE,OAAO,YAAsC,CAAC;IAC/C,CAAC;IAED,MAAM,iBAAiB,GAAG,eAAe,CACxC,OAAO,CAAC,GAAG,CAAC,qCAAqC,CACjD,CAAC;IACF,IAAI,iBAAiB,KAAK,SAAS,EAAE,CAAC;QACrC,OAAO,iBAAiB,CAAC,CAAC,CAAC,UAAU,CAAC,CAAC,CAAC,QAAQ,CAAC;IAClD,CAAC;IAED,IAAI,OAAO,YAAY,CAAC,+BAA+B,KAAK,SAAS,EAAE,CAAC;QACvE,OAAO,YAAY,CAAC,+BAA+B,CAAC,CAAC,CAAC,UAAU,CAAC,CAAC,CAAC,QAAQ,CAAC;IAC7E,CAAC;IAED,OAAO,QAAQ,CAAC;AACjB,CAAC;AAED,MAAM,UAAU,kCAAkC,CACjD,YAA0B;IAE1B,OAAO,yBAAyB,CAAC,YAAY,CAAC,KAAK,UAAU,CAAC;AAC/D,CAAC;AAED,MAAM,UAAU,oCAAoC,CACnD,YAA0B;IAE1B,OAAO,qBAAqB,CAC3B,oCAAoC,EACpC,YAAY,CAAC,iCAAiC,EAC9C,IAAI,CACJ,CAAC;AACH,CAAC;AAED,MAAM,UAAU,gCAAgC,CAC/C,YAA0B;IAE1B,MAAM,KAAK,GAAG,YAAY,CAAC,6BAA6B,CAAC;IACzD,IAAI,CAAC,KAAK,IAAI,OAAO,KAAK,KAAK,QAAQ,EAAE,CAAC;QACzC,OAAO,EAAE,CAAC;IACX,CAAC;IAED,MAAM,cAAc,GAAG,CAAC,KAAa,EAAU,EAAE;QAChD,MAAM,OAAO,GAAG,KAAK,CAAC,IAAI,EAAE,CAAC,WAAW,EAAE,CAAC;QAC3C,IAAI,CAAC,OAAO;YAAE,OAAO,EAAE,CAAC;QACxB,MAAM,QAAQ,GAAG,OAAO,CAAC,QAAQ,CAAC,GAAG,CAAC;YACrC,CAAC,CAAC,CAAC,OAAO,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC,GAAG,EAAE,IAAI,OAAO,CAAC;YACvC,CAAC,CAAC,OAAO,CAAC;QACX,OAAO,QAAQ,CAAC,OAAO,CAAC,yCAAyC,EAAE,EAAE,CAAC,CAAC;IACxE,CAAC,CAAC;IAEF,MAAM,UAAU,GAA6B,EAAE,CAAC;IAChD,KAAK,MAAM,CAAC,GAAG,EAAE,KAAK,CAAC,IAAI,MAAM,CAAC,OAAO,CAAC,KAAK,CAAC,EAAE,CAAC;QAClD,IAAI,OAAO,GAAG,KAAK,QAAQ,IAAI,CAAC,KAAK,CAAC,OAAO,CAAC,KAAK,CAAC;YAAE,SAAS;QAC/D,MAAM,aAAa,GAAG,cAAc,CAAC,GAAG,CAAC,CAAC;QAC1C,IAAI,CAAC,aAAa;YAAE,SAAS;QAE7B,MAAM,OAAO,GAAG,KAAK;aACnB,GAAG,CAAC,CAAC,MAAM,EAAE,EAAE,CACf,OAAO,MAAM,KAAK,QAAQ,CAAC,CAAC,CAAC,cAAc,CAAC,MAAM,CAAC,CAAC,CAAC,CAAC,EAAE,CACxD;aACA,MAAM,CAAC,CAAC,MAAM,EAAE,EAAE,CAAC,MAAM,CAAC,MAAM,GAAG,CAAC,CAAC,CAAC;QAExC,IAAI,OAAO,CAAC,MAAM,GAAG,CAAC,EAAE,CAAC;YACxB,UAAU,CAAC,aAAa,CAAC,GAAG,OAAO,CAAC;QACrC,CAAC;IACF,CAAC;IAED,OAAO,UAAU,CAAC;AACnB,CAAC;AAED,MAAM,UAAU,qBAAqB,CAAC,YAA0B;IAC/D,OAAO,oBAAoB,CAC1B,kCAAkC,EAClC,YAAY,CAAC,kBAAkB,EAC/B,MAAM,EACN,EAAE,GAAG,EAAE,CAAC,EAAE,CACV,CAAC;AACH,CAAC;AAED,MAAM,UAAU,2BAA2B,CAC1C,YAA0B;IAE1B,OAAO,oBAAoB,CAC1B,yCAAyC,EACzC,YAAY,CAAC,wBAAwB,EACrC,MAAM,EACN,EAAE,GAAG,EAAE,CAAC,EAAE,CACV,CAAC;AACH,CAAC;AAED,MAAM,UAAU,kBAAkB,CAAC,YAA0B;IAC5D,OAAO,qBAAqB,CAC3B,6BAA6B,EAC7B,YAAY,CAAC,eAAe,EAC5B,IAAI,CACJ,CAAC;AACH,CAAC;AAED,MAAM,UAAU,aAAa,CAAC,YAA0B;IACvD,OAAO,qBAAqB,CAC3B,wBAAwB,EACxB,YAAY,CAAC,UAAU,EACvB,IAAI,CACJ,CAAC;AACH,CAAC;AAED,MAAM,UAAU,kBAAkB,CAAC,YAA0B;IAC5D,OAAO,oBAAoB,CAC1B,8BAA8B,EAC9B,YAAY,CAAC,eAAe,EAC5B,KAAK,EACL,EAAE,GAAG,EAAE,KAAK,EAAE,CACd,CAAC;AACH,CAAC;AAED,MAAM,UAAU,qBAAqB,CAAC,YAA0B;IAC/D,OAAO,qBAAqB,CAC3B,iCAAiC,EACjC,YAAY,CAAC,kBAAkB,EAC/B,IAAI,CACJ,CAAC;AACH,CAAC;AAED,MAAM,UAAU,kBAAkB,CAAC,YAA0B;IAC5D,OAAO,qBAAqB,CAC3B,6BAA6B,EAC7B,YAAY,CAAC,eAAe,EAC5B,KAAK,CACL,CAAC;AACH,CAAC;AAED,MAAM,UAAU,gCAAgC,CAC/C,YAA0B;IAE1B,OAAO,oBAAoB,CAC1B,6CAA6C,EAC7C,YAAY,CAAC,6BAA6B,EAC1C,CAAC,EACD,EAAE,GAAG,EAAE,CAAC,EAAE,CACV,CAAC;AACH,CAAC;AAED,MAAM,UAAU,0BAA0B,CAAC,YAA0B;IACpE,OAAO,oBAAoB,CAC1B,uCAAuC,EACvC,YAAY,CAAC,uBAAuB,EACpC,CAAC,EACD,EAAE,GAAG,EAAE,CAAC,EAAE,CACV,CAAC;AACH,CAAC;AAED,MAAM,UAAU,4BAA4B,CAC3C,YAA0B;IAE1B,OAAO,oBAAoB,CAC1B,0CAA0C,EAC1C,YAAY,CAAC,yBAAyB,EACtC,KAAK,EACL,EAAE,GAAG,EAAE,CAAC,EAAE,CACV,CAAC;AACH,CAAC;AAED,MAAM,UAAU,yBAAyB,CAAC,YAA0B;IACnE,OAAO,oBAAoB,CAC1B,uCAAuC,EACvC,YAAY,CAAC,sBAAsB,EACnC,qBAAqB,CAAC,sBAAsB,IAAI,KAAK,EACrD,EAAE,GAAG,EAAE,CAAC,EAAE,CACV,CAAC;AACH,CAAC;AAED,MAAM,UAAU,wBAAwB,CAAC,YAA0B;IAClE,OAAO,oBAAoB,CAC1B,sCAAsC,EACtC,YAAY,CAAC,qBAAqB,EAClC,qBAAqB,CAAC,qBAAqB,IAAI,OAAO,EACtD,EAAE,GAAG,EAAE,KAAK,EAAE,CACd,CAAC;AACH,CAAC;AAED,MAAM,UAAU,wBAAwB,CAAC,YAA0B;IAClE,OAAO,oBAAoB,CAC1B,sCAAsC,EACtC,YAAY,CAAC,qBAAqB,EAClC,qBAAqB,CAAC,qBAAqB,IAAI,MAAM,EACrD,EAAE,GAAG,EAAE,KAAK,EAAE,CACd,CAAC;AACH,CAAC;AAED,MAAM,UAAU,iCAAiC,CAChD,YAA0B;IAE1B,OAAO,oBAAoB,CAC1B,gDAAgD,EAChD,YAAY,CAAC,8BAA8B,EAC3C,qBAAqB,CAAC,8BAA8B,IAAI,KAAK,EAC7D,EAAE,GAAG,EAAE,CAAC,EAAE,CACV,CAAC;AACH,CAAC;AAED,MAAM,UAAU,mBAAmB,CAAC,YAA0B;IAC7D,OAAO,qBAAqB,CAC3B,+BAA+B,EAC/B,YAAY,CAAC,gBAAgB,EAC7B,KAAK,CACL,CAAC;AACH,CAAC;AAED;;;;;;;GAOG;AACH,MAAM,UAAU,iBAAiB,CAAC,YAA0B;IAC3D,OAAO,oBAAoB,CAC1B,6BAA6B,EAC7B,YAAY,CAAC,cAAc,EAC3B,MAAM,EACN,EAAE,GAAG,EAAE,KAAK,EAAE,CACd,CAAC;AACH,CAAC;AAED;;;;;;;GAOG;AACH,MAAM,UAAU,uBAAuB,CAAC,YAA0B;IACjE,OAAO,oBAAoB,CAC1B,oCAAoC,EACpC,YAAY,CAAC,oBAAoB,EACjC,MAAM,EACN,EAAE,GAAG,EAAE,KAAK,EAAE,CACd,CAAC;AACH,CAAC;AAED;;;;;;;;;;;GAWG;AACH,MAAM,UAAU,kBAAkB,CAAC,YAA0B;IAC5D,OAAO,qBAAqB,CAC3B,8BAA8B,EAC9B,YAAY,CAAC,eAAe,EAC5B,IAAI,CACJ,CAAC;AACH,CAAC;AAED;;;;;;;;;GASG;AACH,MAAM,UAAU,4BAA4B,CAC3C,YAA0B;IAE1B,OAAO,oBAAoB,CAC1B,0CAA0C,EAC1C,YAAY,CAAC,yBAAyB,EACtC,GAAG,EACH,EAAE,GAAG,EAAE,EAAE,EAAE,CACX,CAAC;AACH,CAAC;AAED;;;;;;;;;;GAUG;AACH,MAAM,UAAU,wBAAwB,CAAC,YAA0B;IAClE,OAAO,oBAAoB,CAC1B,sCAAsC,EACtC,YAAY,CAAC,qBAAqB,EAClC,KAAK,EACL,EAAE,GAAG,EAAE,GAAG,EAAE,CACZ,CAAC;AACH,CAAC;AAED;;;;;;;;;GASG;AACH,MAAM,UAAU,kBAAkB,CAAC,YAA0B;IAC5D,OAAO,qBAAqB,CAC3B,6BAA6B,EAC7B,YAAY,CAAC,eAAe,EAC5B,IAAI,CACJ,CAAC;AACH,CAAC;AAED;;;;;;;;;;;;;GAaG;AACH,MAAM,UAAU,uBAAuB,CAAC,YAA0B;IACjE,OAAO,oBAAoB,CAC1B,oCAAoC,EACpC,YAAY,CAAC,oBAAoB,EACjC,EAAE,GAAG,MAAM,EACX,EAAE,GAAG,EAAE,KAAK,EAAE,CACd,CAAC;AACH,CAAC;AAED;;;;;;;;;GASG;AACH,MAAM,UAAU,4BAA4B,CAC3C,YAA0B;IAE1B,OAAO,oBAAoB,CAC1B,yCAAyC,EACzC,YAAY,CAAC,yBAAyB,EACtC,GAAG,EACH,EAAE,GAAG,EAAE,CAAC,EAAE,CACV,CAAC;AACH,CAAC;AAED;;;;;;;;;GASG;AACH,MAAM,UAAU,uBAAuB,CAAC,YAA0B;IACjE,OAAO,qBAAqB,CAC3B,kCAAkC,EAClC,YAAY,CAAC,oBAAoB,EACjC,KAAK,CACL,CAAC;AACH,CAAC;AAED;;;;;;;;GAQG;AACH,MAAM,UAAU,sBAAsB,CAAC,YAA0B;IAChE,OAAO,qBAAqB,CAC3B,iCAAiC,EACjC,YAAY,CAAC,mBAAmB,EAChC,KAAK,CACL,CAAC;AACH,CAAC;AAED;;;;;;;;;GASG;AACH,MAAM,UAAU,2BAA2B,CAC1C,YAA0B;IAE1B,OAAO,qBAAqB,CAC3B,+BAA+B,EAC/B,YAAY,CAAC,wBAAwB,EACrC,IAAI,CACJ,CAAC;AACH,CAAC;AAED;;;;;;;;;;;;GAYG;AACH,MAAM,UAAU,6BAA6B,CAC5C,YAA0B;IAE1B,OAAO,oBAAoB,CAC1B,2CAA2C,EAC3C,YAAY,CAAC,0BAA0B,EACvC,MAAM,EACN,EAAE,GAAG,EAAE,KAAK,EAAE,CACd,CAAC;AACH,CAAC;AAED;;;;;;;;;GASG;AACH,MAAM,UAAU,2BAA2B,CAC1C,YAA0B;IAE1B,OAAO,oBAAoB,CAC1B,yCAAyC,EACzC,YAAY,CAAC,wBAAwB,EACrC,CAAC,GAAG,MAAM,EACV,EAAE,GAAG,EAAE,MAAM,EAAE,CACf,CAAC;AACH,CAAC;AAED;;;;;;;;;GASG;AACH,MAAM,UAAU,yBAAyB,CAAC,YAA0B;IACnE,OAAO,oBAAoB,CAC1B,sCAAsC,EACtC,YAAY,CAAC,sBAAsB,EACnC,KAAK,EACL,EAAE,GAAG,EAAE,CAAC,EAAE,CACV,CAAC;AACH,CAAC;AAED;;;;;;;;;GASG;AACH,MAAM,UAAU,wBAAwB,CAAC,YAA0B;IAClE,OAAO,oBAAoB,CAC1B,qCAAqC,EACrC,YAAY,CAAC,qBAAqB,EAClC,KAAK,EACL,EAAE,GAAG,EAAE,CAAC,EAAE,CACV,CAAC;AACH,CAAC;AAED;;;;;;;;;;GAUG;AACH,MAAM,UAAU,8BAA8B,CAAC,YAA0B;IACxE,OAAO,oBAAoB,CAC1B,2CAA2C,EAC3C,YAAY,CAAC,2BAA2B,EACxC,CAAC,GAAG,MAAM,EACV,EAAE,GAAG,EAAE,CAAC,EAAE,CACV,CAAC;AACH,CAAC;AAED;;;;;;;;;;;;GAYG;AACH,MAAM,UAAU,wBAAwB,CAAC,YAA0B;IAClE,OAAO,oBAAoB,CAC1B,qCAAqC,EACrC,YAAY,CAAC,qBAAqB,EAClC,MAAM,EACN,EAAE,GAAG,EAAE,CAAC,EAAE,CACV,CAAC;AACH,CAAC;AAED;;;;;;;GAOG;AACH,MAAM,UAAU,uBAAuB,CAAC,YAA0B;IACjE,OAAO,qBAAqB,CAC3B,mCAAmC,EACnC,YAAY,CAAC,oBAAoB,EACjC,IAAI,CACJ,CAAC;AACH,CAAC;AAED;;;;;;;;GAQG;AACH,MAAM,UAAU,yBAAyB,CAAC,YAA0B;IACnE,OAAO,qBAAqB,CAC3B,qCAAqC,EACrC,YAAY,CAAC,sBAAsB,EACnC,IAAI,CACJ,CAAC;AACH,CAAC;AAED;;;;;GAKG;AACH,MAAM,UAAU,oCAAoC,CACnD,YAA0B;IAE1B,OAAO,oBAAoB,CAC1B,8CAA8C,EAC9C,YAAY,CAAC,iCAAiC,EAC9C,CAAC,EACD,EAAE,GAAG,EAAE,CAAC,EAAE,GAAG,EAAE,GAAG,EAAE,CACpB,CAAC;AACH,CAAC;AAED;;;;;;;;;;;;GAYG;AACH,MAAM,UAAU,oCAAoC,CACnD,YAA0B;IAE1B,OAAO,oBAAoB,CAC1B,8CAA8C,EAC9C,YAAY,CAAC,iCAAiC,EAC9C,CAAC,EACD,EAAE,GAAG,EAAE,CAAC,EAAE,GAAG,EAAE,GAAG,EAAE,CACpB,CAAC;AACH,CAAC;AAED;;;;;;;;;;;GAWG;AACH,MAAM,UAAU,+BAA+B,CAC9C,YAA0B;IAE1B,OAAO,oBAAoB,CAC1B,6CAA6C,EAC7C,YAAY,CAAC,4BAA4B,EACzC,CAAC,GAAG,EAAE,GAAG,MAAM,EACf,EAAE,GAAG,EAAE,KAAK,EAAE,CACd,CAAC;AACH,CAAC;AAED,MAAM,mBAAmB,GAAG,IAAI,GAAG,CAAS,CAAC,SAAS,EAAE,QAAQ,CAAC,CAAC,CAAC;AAEnE;;;;;;;;;;;;GAYG;AACH,MAAM,UAAU,mBAAmB,CAClC,YAA0B;IAE1B,OAAO,oBAAoB,CAC1B,0BAA0B,EAC1B,YAAY,CAAC,YAAY,EACzB,QAAQ,EACR,mBAAmB,CACnB,CAAC;AACH,CAAC;AASD;;;;;GAKG;AACH,SAAS,mBAAmB,CAAI,QAAkB,EAAE,GAAY;IAC/D,IAAI,QAAQ,CAAC,MAAM,KAAK,CAAC,EAAE,CAAC;QAC3B,OAAO,GAAG,EAAE,CAAC;IACd,CAAC;IACD,MAAM,QAAQ,GAAG,IAAI,GAAG,EAA8B,CAAC;IACvD,KAAK,MAAM,IAAI,IAAI,QAAQ,EAAE,CAAC;QAC7B,QAAQ,CAAC,GAAG,CAAC,IAAI,EAAE,OAAO,CAAC,GAAG,CAAC,IAAI,CAAC,CAAC,CAAC;QACtC,OAAO,OAAO,CAAC,GAAG,CAAC,IAAI,CAAC,CAAC;IAC1B,CAAC;IACD,IAAI,CAAC;QACJ,OAAO,GAAG,EAAE,CAAC;IACd,CAAC;YAAS,CAAC;QACV,KAAK,MAAM,CAAC,IAAI,EAAE,KAAK,CAAC,IAAI,QAAQ,EAAE,CAAC;YACtC,IAAI,KAAK,KAAK,SAAS,EAAE,CAAC;gBACzB,OAAO,OAAO,CAAC,GAAG,CAAC,IAAI,CAAC,CAAC;YAC1B,CAAC;iBAAM,CAAC;gBACP,OAAO,CAAC,GAAG,CAAC,IAAI,CAAC,GAAG,KAAK,CAAC;YAC3B,CAAC;QACF,CAAC;IACF,CAAC;AACF,CAAC;AAED,SAAS,wBAAwB,CAAC,IAAa,EAAE,KAAc;IAC9D,OAAO,IAAI,CAAC,SAAS,CAAC,IAAI,CAAC,KAAK,IAAI,CAAC,SAAS,CAAC,KAAK,CAAC,CAAC;AACvD,CAAC;AAED,SAAS,0BAA0B,CAClC,KAAwB,EACxB,YAA0B,EAC1B,YAA0C,EAC1C,WAAqC;IAErC,MAAM,cAAc,GAAG,KAAK,CAAC,QAAQ,CAAC,YAAY,CAAC,CAAC;IACpD,MAAM,UAAU,GAAG,mBAAmB,CAAC,KAAK,CAAC,QAAQ,EAAE,GAAG,EAAE,CAC3D,KAAK,CAAC,QAAQ,CAAC,YAAY,CAAC,CAC5B,CAAC;IACF,IAAI,CAAC,wBAAwB,CAAC,cAAc,EAAE,UAAU,CAAC,EAAE,CAAC;QAC3D,OAAO,KAAK,CAAC;IACd,CAAC;IACD,MAAM,UAAU,GAAG,KAAK,CAAC,UAAU,IAAI,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC;IACnD,MAAM,eAAe,GACpB,CAAC,WAAW,KAAK,SAAS,IAAI,WAAW,KAAK,MAAM,CAAC;QACrD,YAAY,KAAK,IAAI;QACrB,UAAU,CAAC,IAAI,CAAC,CAAC,GAAG,EAAE,EAAE,CAAC,MAAM,CAAC,MAAM,CAAC,YAAY,EAAE,GAAG,CAAC,CAAC,CAAC;IAC5D,IAAI,eAAe,EAAE,CAAC;QACrB,OAAO,WAAW,CAAC;IACpB,CAAC;IACD,OAAO,SAAS,CAAC;AAClB,CAAC;AAED,SAAS,2BAA2B,CAAC,KAAc;IAClD,IAAI,OAAO,KAAK,KAAK,QAAQ,IAAI,CAAC,MAAM,CAAC,QAAQ,CAAC,KAAK,CAAC,EAAE,CAAC;QAC1D,IAAI,MAAM,CAAC,KAAK,CAAC,KAAK,CAAC;YAAE,OAAO,KAAK,CAAC;QACtC,OAAO,KAAK,GAAG,CAAC,CAAC,CAAC,CAAC,UAAU,CAAC,CAAC,CAAC,WAAW,CAAC;IAC7C,CAAC;IACD,IAAI,KAAK,CAAC,OAAO,CAAC,KAAK,CAAC,EAAE,CAAC;QAC1B,OAAO,KAAK,CAAC,GAAG,CAAC,CAAC,IAAI,EAAE,EAAE,CAAC,2BAA2B,CAAC,IAAI,CAAC,CAAC,CAAC;IAC/D,CAAC;IACD,IAAI,QAAQ,CAAC,KAAK,CAAC,EAAE,CAAC;QACrB,MAAM,UAAU,GAA4B,EAAE,CAAC;QAC/C,KAAK,MAAM,CAAC,GAAG,EAAE,IAAI,CAAC,IAAI,MAAM,CAAC,OAAO,CAAC,KAAK,CAAC,EAAE,CAAC;YACjD,UAAU,CAAC,GAAG,CAAC,GAAG,2BAA2B,CAAC,IAAI,CAAC,CAAC;QACrD,CAAC;QACD,OAAO,UAAU,CAAC;IACnB,CAAC;IACD,OAAO,KAAK,CAAC;AACd,CAAC;AAED,MAAM,sBAAsB,GAAwB;IACnD,EAAE,GAAG,EAAE,WAAW,EAAE,QAAQ,EAAE,CAAC,YAAY,CAAC,EAAE,QAAQ,EAAE,YAAY,EAAE;IACtE;QACC,GAAG,EAAE,2BAA2B;QAChC,QAAQ,EAAE,CAAC,yCAAyC,CAAC;QACrD,QAAQ,EAAE,4BAA4B;KACtC;IACD,EAAE,GAAG,EAAE,YAAY,EAAE,QAAQ,EAAE,CAAC,cAAc,CAAC,EAAE,QAAQ,EAAE,aAAa,EAAE;IAC1E;QACC,GAAG,EAAE,sBAAsB;QAC3B,QAAQ,EAAE,CAAC,yBAAyB,CAAC;QACrC,QAAQ,EAAE,uBAAuB;KACjC;IACD;QACC,GAAG,EAAE,mBAAmB;QACxB,QAAQ,EAAE,CAAC,kBAAkB,CAAC;QAC9B,QAAQ,EAAE,oBAAoB;KAC9B;IACD;QACC,GAAG,EAAE,aAAa;QAClB,QAAQ,EAAE,CAAC,yBAAyB,CAAC;QACrC,QAAQ,EAAE,cAAc;KACxB;IACD;QACC,GAAG,EAAE,qBAAqB;QAC1B,QAAQ,EAAE,CAAC,kCAAkC,CAAC;QAC9C,QAAQ,EAAE,sBAAsB;KAChC;IACD;QACC,GAAG,EAAE,0BAA0B;QAC/B,QAAQ,EAAE,CAAC,yCAAyC,CAAC;QACrD,QAAQ,EAAE,2BAA2B;KACrC;IACD;QACC,GAAG,EAAE,6BAA6B;QAClC,QAAQ,EAAE,CAAC,mCAAmC,CAAC;QAC/C,QAAQ,EAAE,8BAA8B;KACxC;IACD;QACC,GAAG,EAAE,2BAA2B;QAChC,QAAQ,EAAE,CAAC,kCAAkC,CAAC;QAC9C,QAAQ,EAAE,4BAA4B;KACtC;IACD;QACC,GAAG,EAAE,4BAA4B;QACjC,QAAQ,EAAE,CAAC,kCAAkC,CAAC;QAC9C,QAAQ,EAAE,6BAA6B;KACvC;IACD;QACC,GAAG,EAAE,wBAAwB;QAC7B,QAAQ,EAAE;YACT,qCAAqC;YACrC,uCAAuC;SACvC;QACD,QAAQ,EAAE,yBAAyB;QACnC,UAAU,EAAE,CAAC,wBAAwB,EAAE,iCAAiC,CAAC;KACzE;IACD;QACC,GAAG,EAAE,iCAAiC;QACtC,QAAQ,EAAE;YACT,qCAAqC;YACrC,uCAAuC;SACvC;QACD,QAAQ,EAAE,kCAAkC;QAC5C,UAAU,EAAE,CAAC,wBAAwB,EAAE,iCAAiC,CAAC;KACzE;IACD;QACC,GAAG,EAAE,mCAAmC;QACxC,QAAQ,EAAE,CAAC,oCAAoC,CAAC;QAChD,QAAQ,EAAE,oCAAoC;KAC9C;IACD;QACC,GAAG,EAAE,+BAA+B;QACpC,QAAQ,EAAE,EAAE;QACZ,QAAQ,EAAE,gCAAgC;KAC1C;IACD;QACC,GAAG,EAAE,oBAAoB;QACzB,QAAQ,EAAE,CAAC,kCAAkC,CAAC;QAC9C,QAAQ,EAAE,qBAAqB;KAC/B;IACD;QACC,GAAG,EAAE,0BAA0B;QAC/B,QAAQ,EAAE,CAAC,yCAAyC,CAAC;QACrD,QAAQ,EAAE,2BAA2B;KACrC;IACD;QACC,GAAG,EAAE,iBAAiB;QACtB,QAAQ,EAAE,CAAC,8BAA8B,CAAC;QAC1C,QAAQ,EAAE,kBAAkB;KAC5B;IACD;QACC,GAAG,EAAE,oBAAoB;QACzB,QAAQ,EAAE,CAAC,iCAAiC,CAAC;QAC7C,QAAQ,EAAE,qBAAqB;KAC/B;IACD;QACC,GAAG,EAAE,iBAAiB;QACtB,QAAQ,EAAE,CAAC,6BAA6B,CAAC;QACzC,QAAQ,EAAE,kBAAkB;KAC5B;IACD;QACC,GAAG,EAAE,YAAY;QACjB,QAAQ,EAAE,CAAC,wBAAwB,CAAC;QACpC,QAAQ,EAAE,aAAa;KACvB;IACD;QACC,GAAG,EAAE,iBAAiB;QACtB,QAAQ,EAAE,CAAC,6BAA6B,CAAC;QACzC,QAAQ,EAAE,kBAAkB;KAC5B;IACD;QACC,GAAG,EAAE,+BAA+B;QACpC,QAAQ,EAAE,CAAC,6CAA6C,CAAC;QACzD,QAAQ,EAAE,gCAAgC;KAC1C;IACD;QACC,GAAG,EAAE,yBAAyB;QAC9B,QAAQ,EAAE,CAAC,uCAAuC,CAAC;QACnD,QAAQ,EAAE,0BAA0B;KACpC;IACD;QACC,GAAG,EAAE,2BAA2B;QAChC,QAAQ,EAAE,CAAC,0CAA0C,CAAC;QACtD,QAAQ,EAAE,4BAA4B;KACtC;IACD;QACC,GAAG,EAAE,wBAAwB;QAC7B,QAAQ,EAAE,CAAC,uCAAuC,CAAC;QACnD,QAAQ,EAAE,yBAAyB;KACnC;IACD;QACC,GAAG,EAAE,uBAAuB;QAC5B,QAAQ,EAAE,CAAC,sCAAsC,CAAC;QAClD,QAAQ,EAAE,wBAAwB;KAClC;IACD;QACC,GAAG,EAAE,uBAAuB;QAC5B,QAAQ,EAAE,CAAC,sCAAsC,CAAC;QAClD,QAAQ,EAAE,wBAAwB;KAClC;IACD;QACC,GAAG,EAAE,gCAAgC;QACrC,QAAQ,EAAE,CAAC,gDAAgD,CAAC;QAC5D,QAAQ,EAAE,iCAAiC;KAC3C;IACD;QACC,GAAG,EAAE,kBAAkB;QACvB,QAAQ,EAAE,CAAC,+BAA+B,CAAC;QAC3C,QAAQ,EAAE,mBAAmB;KAC7B;IACD;QACC,GAAG,EAAE,gBAAgB;QACrB,QAAQ,EAAE,CAAC,6BAA6B,CAAC;QACzC,QAAQ,EAAE,iBAAiB;KAC3B;IACD;QACC,GAAG,EAAE,sBAAsB;QAC3B,QAAQ,EAAE,CAAC,oCAAoC,CAAC;QAChD,QAAQ,EAAE,uBAAuB;KACjC;IACD;QACC,GAAG,EAAE,iBAAiB;QACtB,QAAQ,EAAE,CAAC,8BAA8B,CAAC;QAC1C,QAAQ,EAAE,kBAAkB;KAC5B;IACD;QACC,GAAG,EAAE,2BAA2B;QAChC,QAAQ,EAAE,CAAC,0CAA0C,CAAC;QACtD,QAAQ,EAAE,4BAA4B;KACtC;IACD;QACC,GAAG,EAAE,uBAAuB;QAC5B,QAAQ,EAAE,CAAC,sCAAsC,CAAC;QAClD,QAAQ,EAAE,wBAAwB;KAClC;IACD;QACC,GAAG,EAAE,iBAAiB;QACtB,QAAQ,EAAE,CAAC,6BAA6B,CAAC;QACzC,QAAQ,EAAE,kBAAkB;KAC5B;IACD;QACC,GAAG,EAAE,sBAAsB;QAC3B,QAAQ,EAAE,CAAC,oCAAoC,CAAC;QAChD,QAAQ,EAAE,uBAAuB;KACjC;IACD;QACC,GAAG,EAAE,2BAA2B;QAChC,QAAQ,EAAE,CAAC,yCAAyC,CAAC;QACrD,QAAQ,EAAE,4BAA4B;KACtC;IACD;QACC,GAAG,EAAE,0BAA0B;QAC/B,QAAQ,EAAE,CAAC,+BAA+B,CAAC;QAC3C,QAAQ,EAAE,2BAA2B;KACrC;IACD;QACC,GAAG,EAAE,4BAA4B;QACjC,QAAQ,EAAE,CAAC,2CAA2C,CAAC;QACvD,QAAQ,EAAE,6BAA6B;KACvC;IACD;QACC,GAAG,EAAE,0BAA0B;QAC/B,QAAQ,EAAE,CAAC,yCAAyC,CAAC;QACrD,QAAQ,EAAE,2BAA2B;KACrC;IACD;QACC,GAAG,EAAE,wBAAwB;QAC7B,QAAQ,EAAE,CAAC,sCAAsC,CAAC;QAClD,QAAQ,EAAE,yBAAyB;KACnC;IACD;QACC,GAAG,EAAE,uBAAuB;QAC5B,QAAQ,EAAE,CAAC,qCAAqC,CAAC;QACjD,QAAQ,EAAE,wBAAwB;KAClC;IACD;QACC,GAAG,EAAE,6BAA6B;QAClC,QAAQ,EAAE,CAAC,2CAA2C,CAAC;QACvD,QAAQ,EAAE,8BAA8B;KACxC;IACD;QACC,GAAG,EAAE,uBAAuB;QAC5B,QAAQ,EAAE,CAAC,qCAAqC,CAAC;QACjD,QAAQ,EAAE,wBAAwB;KAClC;IACD;QACC,GAAG,EAAE,sBAAsB;QAC3B,QAAQ,EAAE,CAAC,mCAAmC,CAAC;QAC/C,QAAQ,EAAE,uBAAuB;KACjC;IACD;QACC,GAAG,EAAE,wBAAwB;QAC7B,QAAQ,EAAE,CAAC,qCAAqC,CAAC;QACjD,QAAQ,EAAE,yBAAyB;KACnC;IACD;QACC,GAAG,EAAE,mCAAmC;QACxC,QAAQ,EAAE,CAAC,8CAA8C,CAAC;QAC1D,QAAQ,EAAE,oCAAoC;KAC9C;IACD;QACC,GAAG,EAAE,mCAAmC;QACxC,QAAQ,EAAE,CAAC,8CAA8C,CAAC;QAC1D,QAAQ,EAAE,oCAAoC;KAC9C;IACD;QACC,GAAG,EAAE,8BAA8B;QACnC,QAAQ,EAAE,CAAC,6CAA6C,CAAC;QACzD,QAAQ,EAAE,+BAA+B;KACzC;CACD,CAAC;AAEF,MAAM,UAAU,4BAA4B;IAC3C,MAAM,YAAY,GAAG,gBAAgB,EAAE,CAAC;IACxC,MAAM,MAAM,GAAG,+BAA+B,EAAE,CAAC;IACjD,MAAM,YAAY,GAAG,MAAM,CAAC,MAAM,IAAI,IAAI,CAAC;IAC3C,MAAM,OAAO,GAAG,sBAAsB,CAAC,GAAG,CAAC,CAAC,KAAK,EAAE,EAAE;QACpD,MAAM,KAAK,GAAG,KAAK,CAAC,QAAQ,CAAC,YAAY,CAAC,CAAC;QAC3C,MAAM,YAAY,GAAG,qBAAqB,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC;QACtD,OAAO;YACN,GAAG,EAAE,KAAK,CAAC,GAAG;YACd,KAAK,EAAE,2BAA2B,CAAC,KAAK,CAAC;YACzC,YAAY,EAAE,2BAA2B,CAAC,YAAY,CAAC;YACvD,MAAM,EAAE,0BAA0B,CACjC,KAAK,EACL,YAAY,EACZ,YAAY,EACZ,MAAM,CAAC,WAAW,CAClB;YACD,QAAQ,EAAE,KAAK,CAAC,QAAQ;SACxB,CAAC;IACH,CAAC,CAAC,CAAC;IAEH,OAAO;QACN,UAAU,EAAE,MAAM,CAAC,UAAU;QAC7B,WAAW,EAAE,MAAM,CAAC,WAAW;QAC/B,OAAO;KACP,CAAC;AACH,CAAC"}
|
|
@@ -69,6 +69,7 @@ export declare function resetPinCacheForTesting(): void;
|
|
|
69
69
|
* spinning up the full proxy. See issue #474.
|
|
70
70
|
*/
|
|
71
71
|
export declare function maybeInvalidateAffinityFromDisk(sessionAffinityStore: SessionAffinityStore | null, lastObservedGeneration: number, storagePath?: string): number;
|
|
72
|
+
export declare function buildTokenInvalidationBody(upstreamBodyText: string): string;
|
|
72
73
|
export declare function chooseAccount(params: {
|
|
73
74
|
accountManager: AccountManager;
|
|
74
75
|
sessionAffinityStore: SessionAffinityStore | null;
|
|
@@ -80,6 +81,7 @@ export declare function chooseAccount(params: {
|
|
|
80
81
|
policy: RuntimePolicyDecision | null;
|
|
81
82
|
pinnedIndex: number | null;
|
|
82
83
|
skipReasons?: Map<number, string>;
|
|
84
|
+
stickyBoostByAccount?: Record<number, number>;
|
|
83
85
|
}): ManagedAccount | null;
|
|
84
86
|
/**
|
|
85
87
|
* Build the JSON `error` body for a pinned-account 503 response. Extracted so
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"runtime-rotation-proxy.d.ts","sourceRoot":"","sources":["../../lib/runtime-rotation-proxy.ts"],"names":[],"mappings":"AAIA,OAAO,EACN,cAAc,EAEd,KAAK,cAAc,EACnB,MAAM,eAAe,CAAC;
|
|
1
|
+
{"version":3,"file":"runtime-rotation-proxy.d.ts","sourceRoot":"","sources":["../../lib/runtime-rotation-proxy.ts"],"names":[],"mappings":"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"}
|
|
@@ -3,7 +3,7 @@ import { existsSync, readFileSync } from "node:fs";
|
|
|
3
3
|
import { createServer } from "node:http";
|
|
4
4
|
import { AccountManager, extractAccountId, } from "./accounts.js";
|
|
5
5
|
import { getStoragePath } from "./storage.js";
|
|
6
|
-
import { getFetchTimeoutMs, getNetworkErrorCooldownMs, getRetryAllAccountsMaxRetries, getServerErrorCooldownMs, getSessionAffinity, getSessionAffinityMaxEntries, getSessionAffinityTtlMs, getStreamStallTimeoutMs, getTokenRefreshSkewMs, loadPluginConfig, } from "./config.js";
|
|
6
|
+
import { getFetchTimeoutMs, getNetworkErrorCooldownMs, getRetryAllAccountsMaxRetries, getServerErrorCooldownMs, getSessionAffinity, getSessionAffinityMaxEntries, getSessionAffinityTtlMs, getStreamStallTimeoutMs, getMinRotationIntervalMs, getTokenInvalidationCooldownMs, getTokenRefreshSkewMs, loadPluginConfig, } from "./config.js";
|
|
7
7
|
import { CODEX_BASE_URL, HTTP_STATUS, OPENAI_HEADERS, OPENAI_HEADER_VALUES, URL_PATHS, } from "./constants.js";
|
|
8
8
|
import { getModelFamily } from "./prompts/codex.js";
|
|
9
9
|
import { queuedRefresh } from "./refresh-queue.js";
|
|
@@ -16,6 +16,21 @@ const DEFAULT_HOST = "127.0.0.1";
|
|
|
16
16
|
const DEFAULT_QUOTA_REMAINING_THRESHOLD = 10;
|
|
17
17
|
const DEFAULT_AUTH_FAILURE_COOLDOWN_MS = 30_000;
|
|
18
18
|
const DEFAULT_MAX_RUNTIME_ACCOUNT_ATTEMPTS = 4;
|
|
19
|
+
// Phrases observed in upstream 401 response bodies when OpenAI/Microsoft has
|
|
20
|
+
// explicitly revoked an OAuth token (as opposed to a generic expired-token 401
|
|
21
|
+
// that can be retried after a refresh). Matching is case-insensitive substring.
|
|
22
|
+
// If anti-abuse detection triggers different wording in production, add the new
|
|
23
|
+
// phrase here and record the source provider and date. See issue #495.
|
|
24
|
+
const TOKEN_INVALIDATION_PHRASES = [
|
|
25
|
+
"invalidated oauth token",
|
|
26
|
+
"authentication token has been invalidated",
|
|
27
|
+
"oauth token has been invalidated",
|
|
28
|
+
"token has been invalidated",
|
|
29
|
+
];
|
|
30
|
+
function isTokenInvalidationError(bodyText) {
|
|
31
|
+
const lower = bodyText.toLowerCase();
|
|
32
|
+
return TOKEN_INVALIDATION_PHRASES.some((phrase) => lower.includes(phrase));
|
|
33
|
+
}
|
|
19
34
|
const MAX_REQUEST_BODY_BYTES = 64 * 1024 * 1024;
|
|
20
35
|
const MAX_THREAD_GOAL_FALLBACKS = 512;
|
|
21
36
|
const HOP_BY_HOP_HEADERS = new Set([
|
|
@@ -424,6 +439,21 @@ function buildUpstreamUrl(req, upstreamBaseUrl, upstreamPath) {
|
|
|
424
439
|
upstream.search = incomingUrl.search;
|
|
425
440
|
return upstream.toString();
|
|
426
441
|
}
|
|
442
|
+
// Monotonic auth-failure cooldown: only extend, never shorten. Two concurrent
|
|
443
|
+
// requests on the same account can race so that an invalidation path sets a
|
|
444
|
+
// long cooldown (5 min) and a subsequent generic 401 truncates it (30 s).
|
|
445
|
+
// Reading the live coolingDownUntil before writing prevents that race.
|
|
446
|
+
function applyMonotonicAuthCooldown(accountManager, account, cooldownMs) {
|
|
447
|
+
const existing = accountManager.getAccountByIndex(account.index)?.coolingDownUntil ?? 0;
|
|
448
|
+
// Intentionally Date.now(), not the proxy's injected now(): coolingDownUntil is
|
|
449
|
+
// written by markAccountCoolingDown via nowMs() (== Date.now()), so both sides of
|
|
450
|
+
// this comparison must live in the same real-wall-clock domain. Switching to the
|
|
451
|
+
// injected now() would mis-compare an injected-clock value against a real-clock
|
|
452
|
+
// deadline and silently defeat the monotonic guard.
|
|
453
|
+
if (Date.now() + cooldownMs > existing) {
|
|
454
|
+
accountManager.markAccountCoolingDown(account, cooldownMs, "auth-failure");
|
|
455
|
+
}
|
|
456
|
+
}
|
|
427
457
|
function hasUsableAccessToken(account, now, skewMs) {
|
|
428
458
|
return (typeof account.access === "string" &&
|
|
429
459
|
account.access.trim().length > 0 &&
|
|
@@ -465,7 +495,7 @@ async function commitRefreshedAuthOnce(accountManager, account, auth) {
|
|
|
465
495
|
return pending;
|
|
466
496
|
}
|
|
467
497
|
async function ensureFreshAccessToken(params) {
|
|
468
|
-
const { accountManager, account, family, model, now, tokenRefreshSkewMs } = params;
|
|
498
|
+
const { accountManager, account, family, model, now, tokenRefreshSkewMs, tokenInvalidationCooldownMs } = params;
|
|
469
499
|
if (hasUsableAccessToken(account, now, tokenRefreshSkewMs)) {
|
|
470
500
|
return { ok: true, accessToken: account.access ?? "", account };
|
|
471
501
|
}
|
|
@@ -473,9 +503,14 @@ async function ensureFreshAccessToken(params) {
|
|
|
473
503
|
if (refreshResult.type === "failed") {
|
|
474
504
|
accountManager.recordFailure(account, family, model);
|
|
475
505
|
accountManager.incrementAuthFailures(account);
|
|
476
|
-
|
|
506
|
+
// If the refresh endpoint itself returns an explicit invalidation message
|
|
507
|
+
// (e.g. Microsoft/Outlook SSO revokes the refresh token server-side), apply
|
|
508
|
+
// the long cooldown and signal to the caller to stop rotating rather than
|
|
509
|
+
// presenting other accounts' tokens from the same IP.
|
|
510
|
+
const invalidated = isTokenInvalidationError(refreshResult.message ?? "");
|
|
511
|
+
applyMonotonicAuthCooldown(accountManager, account, invalidated ? tokenInvalidationCooldownMs : DEFAULT_AUTH_FAILURE_COOLDOWN_MS);
|
|
477
512
|
accountManager.saveToDiskDebounced();
|
|
478
|
-
return { ok: false, retryable: isTokenRefreshRetryable(refreshResult) };
|
|
513
|
+
return { ok: false, retryable: isTokenRefreshRetryable(refreshResult), invalidated };
|
|
479
514
|
}
|
|
480
515
|
const auth = {
|
|
481
516
|
type: "oauth",
|
|
@@ -556,6 +591,40 @@ async function readErrorBody(response) {
|
|
|
556
591
|
return "";
|
|
557
592
|
}
|
|
558
593
|
}
|
|
594
|
+
const TOKEN_INVALIDATED_CODE = "token_invalidated";
|
|
595
|
+
const TOKEN_INVALIDATED_FALLBACK_MESSAGE = "OAuth token has been invalidated. Please re-login.";
|
|
596
|
+
// Both invalidation exit paths (refresh-failure and upstream-401) must hand the
|
|
597
|
+
// client the same machine-readable shape — { error: { message, code:
|
|
598
|
+
// "token_invalidated" } } — so a consumer keying off error.code behaves
|
|
599
|
+
// identically regardless of which vector fired. The upstream forwards a raw body
|
|
600
|
+
// with no guaranteed code, so we wrap it here while preserving its human-readable
|
|
601
|
+
// message when one is present.
|
|
602
|
+
export function buildTokenInvalidationBody(upstreamBodyText) {
|
|
603
|
+
let message = TOKEN_INVALIDATED_FALLBACK_MESSAGE;
|
|
604
|
+
const trimmed = upstreamBodyText.trim();
|
|
605
|
+
if (trimmed) {
|
|
606
|
+
try {
|
|
607
|
+
const parsed = JSON.parse(trimmed);
|
|
608
|
+
if (isRecord(parsed)) {
|
|
609
|
+
const direct = parsed.message;
|
|
610
|
+
if (typeof direct === "string" && direct.trim()) {
|
|
611
|
+
message = direct.trim();
|
|
612
|
+
}
|
|
613
|
+
else if (isRecord(parsed.error)) {
|
|
614
|
+
const nested = parsed.error.message;
|
|
615
|
+
if (typeof nested === "string" && nested.trim()) {
|
|
616
|
+
message = nested.trim();
|
|
617
|
+
}
|
|
618
|
+
}
|
|
619
|
+
}
|
|
620
|
+
}
|
|
621
|
+
catch {
|
|
622
|
+
// Non-JSON upstream body (e.g. HTML error page): keep the stable fallback
|
|
623
|
+
// message rather than echoing markup back to the client.
|
|
624
|
+
}
|
|
625
|
+
}
|
|
626
|
+
return JSON.stringify({ error: { message, code: TOKEN_INVALIDATED_CODE } });
|
|
627
|
+
}
|
|
559
628
|
function extractErrorCodeFromBody(bodyText) {
|
|
560
629
|
if (!bodyText.trim())
|
|
561
630
|
return null;
|
|
@@ -616,7 +685,7 @@ function getQuotaNearExhaustionWaitMs(headers, remainingThreshold, now) {
|
|
|
616
685
|
return candidates.length > 0 ? Math.max(...candidates) : 0;
|
|
617
686
|
}
|
|
618
687
|
export function chooseAccount(params) {
|
|
619
|
-
const { accountManager, sessionAffinityStore, sessionKey, family, model, attemptedIndexes, now, policy, pinnedIndex, skipReasons, } = params;
|
|
688
|
+
const { accountManager, sessionAffinityStore, sessionKey, family, model, attemptedIndexes, now, policy, pinnedIndex, skipReasons, stickyBoostByAccount, } = params;
|
|
620
689
|
// Manual pin (from `codex-multi-auth switch <n>`) overrides every other
|
|
621
690
|
// selection signal. We do NOT call markSwitched here — the proxy must not
|
|
622
691
|
// clobber the pin set by the CLI. See issue #474.
|
|
@@ -662,7 +731,10 @@ export function chooseAccount(params) {
|
|
|
662
731
|
}
|
|
663
732
|
}
|
|
664
733
|
const selected = accountManager.getCurrentOrNextForFamilyHybrid(family, model, {
|
|
665
|
-
scoreBoostByAccount:
|
|
734
|
+
scoreBoostByAccount: {
|
|
735
|
+
...(policy?.scoreBoostByAccount ?? {}),
|
|
736
|
+
...(stickyBoostByAccount ?? {}),
|
|
737
|
+
},
|
|
666
738
|
});
|
|
667
739
|
if (selected &&
|
|
668
740
|
!attemptedIndexes.has(selected.index) &&
|
|
@@ -831,6 +903,10 @@ export async function startRuntimeRotationProxy(options) {
|
|
|
831
903
|
const tokenRefreshSkewMs = getTokenRefreshSkewMs(pluginConfig);
|
|
832
904
|
const networkErrorCooldownMs = getNetworkErrorCooldownMs(pluginConfig);
|
|
833
905
|
const serverErrorCooldownMs = getServerErrorCooldownMs(pluginConfig);
|
|
906
|
+
const tokenInvalidationCooldownMs = getTokenInvalidationCooldownMs(pluginConfig);
|
|
907
|
+
const minRotationIntervalMs = getMinRotationIntervalMs(pluginConfig);
|
|
908
|
+
let lastGlobalAccountIndex = null;
|
|
909
|
+
let lastGlobalSwitchAt = 0;
|
|
834
910
|
const fetchTimeoutMs = options.fetchTimeoutMs ?? getFetchTimeoutMs(pluginConfig);
|
|
835
911
|
const streamStallTimeoutMs = options.streamStallTimeoutMs ?? getStreamStallTimeoutMs(pluginConfig);
|
|
836
912
|
const configuredMaxRetries = getRetryAllAccountsMaxRetries(pluginConfig);
|
|
@@ -1010,6 +1086,11 @@ export async function startRuntimeRotationProxy(options) {
|
|
|
1010
1086
|
}
|
|
1011
1087
|
while (attemptedIndexes.size < accountCount &&
|
|
1012
1088
|
transientAttempts < transientAttemptLimit) {
|
|
1089
|
+
const rotationStickyBoost = minRotationIntervalMs > 0 &&
|
|
1090
|
+
lastGlobalAccountIndex !== null &&
|
|
1091
|
+
now() - lastGlobalSwitchAt < minRotationIntervalMs
|
|
1092
|
+
? { [lastGlobalAccountIndex]: 1000 }
|
|
1093
|
+
: {};
|
|
1013
1094
|
const selected = chooseAccount({
|
|
1014
1095
|
accountManager,
|
|
1015
1096
|
sessionAffinityStore,
|
|
@@ -1021,6 +1102,7 @@ export async function startRuntimeRotationProxy(options) {
|
|
|
1021
1102
|
policy: policyDecision,
|
|
1022
1103
|
pinnedIndex,
|
|
1023
1104
|
skipReasons: accountSkipReasons,
|
|
1105
|
+
stickyBoostByAccount: rotationStickyBoost,
|
|
1024
1106
|
});
|
|
1025
1107
|
if (!selected) {
|
|
1026
1108
|
if (!reloadedAfterNoAccount &&
|
|
@@ -1057,10 +1139,28 @@ export async function startRuntimeRotationProxy(options) {
|
|
|
1057
1139
|
model: context.model,
|
|
1058
1140
|
now: now(),
|
|
1059
1141
|
tokenRefreshSkewMs,
|
|
1142
|
+
tokenInvalidationCooldownMs,
|
|
1060
1143
|
});
|
|
1061
1144
|
if (!refreshed.ok) {
|
|
1062
1145
|
accountManager.refundToken(selected, context.family, context.model);
|
|
1063
1146
|
exhaustionReason = "auth-failure";
|
|
1147
|
+
if (refreshed.invalidated) {
|
|
1148
|
+
// Refresh endpoint explicitly revoked the token. Stop cascade:
|
|
1149
|
+
// return auth error to client instead of rotating to the next account.
|
|
1150
|
+
sessionAffinityStore?.forgetSession(context.sessionKey);
|
|
1151
|
+
res.writeHead(HTTP_STATUS.UNAUTHORIZED, { "content-type": "application/json" });
|
|
1152
|
+
// Route through the shared builder so both invalidation exit paths stay
|
|
1153
|
+
// in lockstep — empty input yields { error: { message: <fallback>,
|
|
1154
|
+
// code: "token_invalidated" } }.
|
|
1155
|
+
res.end(buildTokenInvalidationBody(""));
|
|
1156
|
+
await usageRecorder.record({
|
|
1157
|
+
outcome: "failure",
|
|
1158
|
+
statusCode: HTTP_STATUS.UNAUTHORIZED,
|
|
1159
|
+
errorCode: "token_invalidated",
|
|
1160
|
+
account: selected,
|
|
1161
|
+
});
|
|
1162
|
+
return;
|
|
1163
|
+
}
|
|
1064
1164
|
if (!refreshed.retryable)
|
|
1065
1165
|
continue;
|
|
1066
1166
|
transientAttempts += 1;
|
|
@@ -1212,10 +1312,34 @@ export async function startRuntimeRotationProxy(options) {
|
|
|
1212
1312
|
return;
|
|
1213
1313
|
}
|
|
1214
1314
|
if (upstream.status === HTTP_STATUS.UNAUTHORIZED) {
|
|
1215
|
-
await readErrorBody(upstream);
|
|
1315
|
+
const bodyText = await readErrorBody(upstream);
|
|
1216
1316
|
accountManager.refundToken(refreshed.account, context.family, context.model);
|
|
1217
1317
|
accountManager.recordFailure(refreshed.account, context.family, context.model);
|
|
1218
|
-
|
|
1318
|
+
if (isTokenInvalidationError(bodyText)) {
|
|
1319
|
+
// The upstream explicitly revoked this OAuth token. Applying a long
|
|
1320
|
+
// cooldown prevents cascade invalidation: rapidly presenting each
|
|
1321
|
+
// account's token from the same IP triggers OpenAI's anti-abuse
|
|
1322
|
+
// detection and invalidates them in sequence. Return the 401 directly
|
|
1323
|
+
// rather than rotating so the client can prompt for re-login.
|
|
1324
|
+
applyMonotonicAuthCooldown(accountManager, refreshed.account, tokenInvalidationCooldownMs);
|
|
1325
|
+
sessionAffinityStore?.forgetSession(context.sessionKey);
|
|
1326
|
+
accountManager.saveToDiskDebounced();
|
|
1327
|
+
// Emit the same machine-readable shape as the refresh-failure path
|
|
1328
|
+
// (code: "token_invalidated") instead of forwarding the raw upstream
|
|
1329
|
+
// body, so the client contract is consistent across both vectors.
|
|
1330
|
+
const clientHeaders = responseHeadersForClient(upstream.headers);
|
|
1331
|
+
clientHeaders["content-type"] = "application/json";
|
|
1332
|
+
res.writeHead(upstream.status, clientHeaders);
|
|
1333
|
+
res.end(buildTokenInvalidationBody(bodyText));
|
|
1334
|
+
await usageRecorder.record({
|
|
1335
|
+
outcome: "failure",
|
|
1336
|
+
statusCode: upstream.status,
|
|
1337
|
+
errorCode: "token_invalidated",
|
|
1338
|
+
account: refreshed.account,
|
|
1339
|
+
});
|
|
1340
|
+
return;
|
|
1341
|
+
}
|
|
1342
|
+
applyMonotonicAuthCooldown(accountManager, refreshed.account, DEFAULT_AUTH_FAILURE_COOLDOWN_MS);
|
|
1219
1343
|
accountManager.saveToDiskDebounced();
|
|
1220
1344
|
exhaustionReason = "auth-failure";
|
|
1221
1345
|
transientAttempts += 1;
|
|
@@ -1266,6 +1390,10 @@ export async function startRuntimeRotationProxy(options) {
|
|
|
1266
1390
|
}
|
|
1267
1391
|
else {
|
|
1268
1392
|
sessionAffinityStore?.remember(context.sessionKey, refreshed.account.index, now());
|
|
1393
|
+
if (refreshed.account.index !== lastGlobalAccountIndex) {
|
|
1394
|
+
lastGlobalAccountIndex = refreshed.account.index;
|
|
1395
|
+
}
|
|
1396
|
+
lastGlobalSwitchAt = now();
|
|
1269
1397
|
}
|
|
1270
1398
|
await persistRuntimeActiveAccount(accountManager, refreshed.account, context.family, isPinned && refreshed.account.index === pinnedIndex);
|
|
1271
1399
|
const forwarded = await forwardStreamingResponse(upstream, res, status, () => {
|