@prosopo/cli 3.6.76 → 3.7.0
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/.turbo/turbo-build$colon$cjs.log +3 -3
- package/.turbo/turbo-build$colon$tsc.log +27 -27
- package/.turbo/turbo-build.log +4 -4
- package/CHANGELOG.md +50 -0
- package/dist/RateLimiter.d.ts +8 -8
- package/dist/RateLimiter.js +8 -8
- package/dist/RateLimiter.js.map +1 -1
- package/dist/bundle/decodeBehavior-BIrrnKdS.js +556 -0
- package/dist/bundle/decodeSimd-DwxGPcIO.js +617 -0
- package/dist/bundle/provider.cli.bundle.js +9607 -9229
- package/dist/cjs/RateLimiter.cjs +8 -8
- package/dist/tests/RateLimiter.unit.test.js +1 -2
- package/dist/tests/RateLimiter.unit.test.js.map +1 -1
- package/package.json +7 -7
- package/dist/bundle/decodeBehavior-BnJdECMR.js +0 -233
- package/dist/bundle/decodeSimd-hDznYwxo.js +0 -218
|
@@ -1,5 +1,5 @@
|
|
|
1
1
|
|
|
2
|
-
> @prosopo/cli@3.
|
|
2
|
+
> @prosopo/cli@3.7.0 build:cjs
|
|
3
3
|
> NODE_ENV=${NODE_ENV:-development}; vite build --config vite.cjs.config.ts --mode $NODE_ENV
|
|
4
4
|
|
|
5
5
|
ViteCommonJSConfig: .
|
|
@@ -80,7 +80,7 @@ dist/cjs/start.cjs 2.75 kB │ gzip: 0.85 kB
|
|
|
80
80
|
dist/cjs/commands/siteKeyRegisterApi.cjs 3.08 kB │ gzip: 1.08 kB
|
|
81
81
|
dist/cjs/commands/siteKeyRegister.cjs 3.48 kB │ gzip: 1.15 kB
|
|
82
82
|
dist/cjs/prosopo.config.cjs 4.58 kB │ gzip: 1.46 kB
|
|
83
|
-
dist/cjs/RateLimiter.cjs 5.
|
|
83
|
+
dist/cjs/RateLimiter.cjs 5.42 kB │ gzip: 0.88 kB
|
|
84
84
|
|
|
85
85
|
[33m[33m[EMPTY_IMPORT_META] [0m`import.meta` may not be a valid syntax with the `cjs` output format.
|
|
86
86
|
[38;5;246m╭[0m[38;5;246m─[0m[38;5;246m[[0m src/prosopo.config.ts:56:21 [38;5;246m][0m
|
|
@@ -90,4 +90,4 @@ dist/cjs/RateLimiter.cjs 5.41 kB │ gzip: 0.84 kB
|
|
|
90
90
|
[38;5;240m │[0m ╰─────── This `import.meta` will be replaced with an empty object (`{}`) automatically. If this is desired, you can suppress this warning by adding `transform.define: { 'import.meta': {} }`. If `import.meta` needs to be kept as-is, you need to set the output format to `esm`.
|
|
91
91
|
[38;5;246m────╯[0m
|
|
92
92
|
[39m
|
|
93
|
-
[32m✓ built in
|
|
93
|
+
[32m✓ built in 70ms[39m
|
|
@@ -1,8 +1,8 @@
|
|
|
1
1
|
|
|
2
|
-
> @prosopo/cli@3.
|
|
2
|
+
> @prosopo/cli@3.7.0 build:tsc
|
|
3
3
|
> tsc --build --verbose
|
|
4
4
|
|
|
5
|
-
|
|
5
|
+
11:11:06 AM - Projects in this build:
|
|
6
6
|
* ../../dev/config/tsconfig.json
|
|
7
7
|
* ../locale/tsconfig.json
|
|
8
8
|
* ../util/tsconfig.json
|
|
@@ -28,53 +28,53 @@
|
|
|
28
28
|
* ../../dev/workspace/tsconfig.json
|
|
29
29
|
* tsconfig.json
|
|
30
30
|
|
|
31
|
-
|
|
31
|
+
11:11:06 AM - Project '../../dev/config/tsconfig.json' is up to date because newest input '../../dev/config/src/webpack/webpack.config.ts' is older than output '../../dev/config/tsconfig.tsbuildinfo'
|
|
32
32
|
|
|
33
|
-
|
|
33
|
+
11:11:06 AM - Project '../locale/tsconfig.json' is up to date because newest input '../locale/src/translationKey.ts' is older than output '../locale/tsconfig.tsbuildinfo'
|
|
34
34
|
|
|
35
|
-
|
|
35
|
+
11:11:06 AM - Project '../util/tsconfig.json' is up to date because newest input '../util/src/url.ts' is older than output '../util/tsconfig.tsbuildinfo'
|
|
36
36
|
|
|
37
|
-
|
|
37
|
+
11:11:06 AM - Project '../util-crypto/tsconfig.json' is up to date because newest input '../util-crypto/src/types.ts' is older than output '../util-crypto/tsconfig.tsbuildinfo'
|
|
38
38
|
|
|
39
|
-
|
|
39
|
+
11:11:06 AM - Project '../types/tsconfig.json' is up to date because newest input '../types/src/types.test-d.ts' is older than output '../types/tsconfig.tsbuildinfo'
|
|
40
40
|
|
|
41
|
-
|
|
41
|
+
11:11:06 AM - Project '../api/tsconfig.json' is up to date because newest input '../api/src/index.ts' is older than output '../api/tsconfig.tsbuildinfo'
|
|
42
42
|
|
|
43
|
-
|
|
43
|
+
11:11:06 AM - Project '../logger/tsconfig.json' is up to date because newest input '../logger/src/index.ts' is older than output '../logger/tsconfig.tsbuildinfo'
|
|
44
44
|
|
|
45
|
-
|
|
45
|
+
11:11:06 AM - Project '../common/tsconfig.json' is up to date because newest input '../common/src/tests/utils/batches.unit.test.ts' is older than output '../common/tsconfig.tsbuildinfo'
|
|
46
46
|
|
|
47
|
-
|
|
47
|
+
11:11:06 AM - Project '../dotenv/tsconfig.json' is up to date because newest input '../dotenv/src/index.ts' is older than output '../dotenv/tsconfig.tsbuildinfo'
|
|
48
48
|
|
|
49
|
-
|
|
49
|
+
11:11:06 AM - Project '../ipinfo/tsconfig.json' is up to date because newest input '../ipinfo/src/types.ts' is older than output '../ipinfo/tsconfig.tsbuildinfo'
|
|
50
50
|
|
|
51
|
-
|
|
51
|
+
11:11:06 AM - Project '../api-route/tsconfig.json' is up to date because newest input '../api-route/src/apiRoutes.ts' is older than output '../api-route/tsconfig.tsbuildinfo'
|
|
52
52
|
|
|
53
|
-
|
|
53
|
+
11:11:06 AM - Project '../redis-client/tsconfig.json' is up to date because newest input '../redis-client/src/index.ts' is older than output '../redis-client/tsconfig.tsbuildinfo'
|
|
54
54
|
|
|
55
|
-
|
|
55
|
+
11:11:06 AM - Project '../user-access-policy/tsconfig.json' is up to date because newest input '../user-access-policy/src/ruleRecord.ts' is older than output '../user-access-policy/tsconfig.tsbuildinfo'
|
|
56
56
|
|
|
57
|
-
|
|
57
|
+
11:11:06 AM - Project '../types-database/tsconfig.json' is up to date because newest input '../types-database/src/types/captcha.ts' is older than output '../types-database/tsconfig.tsbuildinfo'
|
|
58
58
|
|
|
59
|
-
|
|
59
|
+
11:11:06 AM - Project '../database/tsconfig.json' is up to date because newest input '../database/src/tests/mongoGlobalSetup.ts' is older than output '../database/tsconfig.tsbuildinfo'
|
|
60
60
|
|
|
61
|
-
|
|
61
|
+
11:11:06 AM - Project '../keyring/tsconfig.json' is up to date because newest input '../keyring/src/index.ts' is older than output '../keyring/tsconfig.tsbuildinfo'
|
|
62
62
|
|
|
63
|
-
|
|
63
|
+
11:11:06 AM - Project '../types-env/tsconfig.json' is up to date because newest input '../types-env/src/index.ts' is older than output '../types-env/tsconfig.tsbuildinfo'
|
|
64
64
|
|
|
65
|
-
|
|
65
|
+
11:11:06 AM - Project '../env/tsconfig.json' is up to date because newest input '../env/src/env.ts' is older than output '../env/tsconfig.tsbuildinfo'
|
|
66
66
|
|
|
67
|
-
|
|
67
|
+
11:11:06 AM - Project '../api-express-router/tsconfig.json' is up to date because newest input '../api-express-router/src/middlewares/requestLoggerMiddleware.ts' is older than output '../api-express-router/tsconfig.tsbuildinfo'
|
|
68
68
|
|
|
69
|
-
|
|
69
|
+
11:11:06 AM - Project '../datasets/tsconfig.json' is up to date because newest input '../datasets/src/index.ts' is older than output '../datasets/tsconfig.tsbuildinfo'
|
|
70
70
|
|
|
71
|
-
|
|
71
|
+
11:11:06 AM - Project '../load-balancer/tsconfig.json' is up to date because newest input '../load-balancer/src/tests/providers.unit.test.ts' is older than output '../load-balancer/tsconfig.tsbuildinfo'
|
|
72
72
|
|
|
73
|
-
|
|
73
|
+
11:11:06 AM - Project '../provider/tsconfig.json' is up to date because newest input '../provider/src/utils/normalizeRequestIp.ts' is older than output '../provider/tsconfig.tsbuildinfo'
|
|
74
74
|
|
|
75
|
-
|
|
75
|
+
11:11:06 AM - Project '../../dev/workspace/tsconfig.json' is up to date because newest input '../../dev/workspace/src/projectInfo.ts' is older than output '../../dev/workspace/tsconfig.tsbuildinfo'
|
|
76
76
|
|
|
77
|
-
|
|
77
|
+
11:11:06 AM - Project 'tsconfig.json' is out of date because output file 'tsconfig.tsbuildinfo' does not exist
|
|
78
78
|
|
|
79
|
-
|
|
79
|
+
11:11:06 AM - Building project '/home/runner/work/captcha/captcha/packages/cli/tsconfig.json'...
|
|
80
80
|
|
package/.turbo/turbo-build.log
CHANGED
|
@@ -1,9 +1,9 @@
|
|
|
1
1
|
|
|
2
|
-
> @prosopo/cli@3.
|
|
2
|
+
> @prosopo/cli@3.7.0 build
|
|
3
3
|
> npm run build:cross-env -- --mode ${NODE_ENV:-development}
|
|
4
4
|
|
|
5
5
|
|
|
6
|
-
> @prosopo/cli@3.
|
|
6
|
+
> @prosopo/cli@3.7.0 build:cross-env
|
|
7
7
|
> vite build --config vite.esm.config.ts --mode production
|
|
8
8
|
|
|
9
9
|
ViteEsmConfig: .
|
|
@@ -84,6 +84,6 @@ dist/start.js 2.49 kB │ gzip: 0.82 kB
|
|
|
84
84
|
dist/commands/siteKeyRegisterApi.js 2.97 kB │ gzip: 1.06 kB
|
|
85
85
|
dist/commands/siteKeyRegister.js 3.30 kB │ gzip: 1.14 kB
|
|
86
86
|
dist/prosopo.config.js 4.43 kB │ gzip: 1.47 kB
|
|
87
|
-
dist/RateLimiter.js 5.
|
|
87
|
+
dist/RateLimiter.js 5.02 kB │ gzip: 0.87 kB
|
|
88
88
|
|
|
89
|
-
[32m✓ built in
|
|
89
|
+
[32m✓ built in 66ms[39m
|
package/CHANGELOG.md
CHANGED
|
@@ -1,5 +1,55 @@
|
|
|
1
1
|
# @prosopo/cli
|
|
2
2
|
|
|
3
|
+
## 3.7.0
|
|
4
|
+
### Minor Changes
|
|
5
|
+
|
|
6
|
+
- 787017b: chore(detector): remove the legacy detector-key rotation machinery
|
|
7
|
+
|
|
8
|
+
Nothing has read these keys since the detector moved to per-session provider
|
|
9
|
+
bundles — the decrypt paths resolve a bundle's own keypair instead. Rotating
|
|
10
|
+
them was already a no-op, so the whole surface is removed rather than left
|
|
11
|
+
looking live.
|
|
12
|
+
|
|
13
|
+
**Breaking — the admin API loses two endpoints:**
|
|
14
|
+
|
|
15
|
+
- `POST /v1/prosopo/provider/admin/detector/update` (`AdminApiPaths.UpdateDetectorKey`)
|
|
16
|
+
- `POST /v1/prosopo/provider/admin/detector/remove` (`AdminApiPaths.RemoveDetectorKey`)
|
|
17
|
+
|
|
18
|
+
Also removed: `ProviderApi.updateDetectorKey` / `.removeDetectorKey`;
|
|
19
|
+
`ClientTaskManager.updateDetectorKey` / `.removeDetectorKey`;
|
|
20
|
+
`IProviderDatabase.storeDetectorKey` / `.getDetectorKeys` / `.removeDetectorKey`;
|
|
21
|
+
the `detector` Mongo collection and its `DetectorRecordSchema` / `DetectorSchema`
|
|
22
|
+
/ `DetectorKey` types; the `UpdateDetectorKeyBody` / `RemoveDetectorKeyBodySpec`
|
|
23
|
+
/ `UpdateDetectorKeyResponse` API types; and the rate-limit config for both
|
|
24
|
+
paths.
|
|
25
|
+
|
|
26
|
+
The `detector` collection itself is left in place on existing deployments — no
|
|
27
|
+
migration drops it. It can be dropped manually once the pool rollout is
|
|
28
|
+
confirmed.
|
|
29
|
+
|
|
30
|
+
### Patch Changes
|
|
31
|
+
|
|
32
|
+
- Updated dependencies [787017b]
|
|
33
|
+
- Updated dependencies [787017b]
|
|
34
|
+
- Updated dependencies [787017b]
|
|
35
|
+
- Updated dependencies [787017b]
|
|
36
|
+
- Updated dependencies [787017b]
|
|
37
|
+
- Updated dependencies [6f19cde]
|
|
38
|
+
- @prosopo/provider@5.0.0
|
|
39
|
+
- @prosopo/types@5.0.0
|
|
40
|
+
- @prosopo/api@4.0.0
|
|
41
|
+
- @prosopo/env@3.6.23
|
|
42
|
+
- @prosopo/keyring@2.9.63
|
|
43
|
+
|
|
44
|
+
## 3.6.77
|
|
45
|
+
### Patch Changes
|
|
46
|
+
|
|
47
|
+
- Updated dependencies [71a5952]
|
|
48
|
+
- Updated dependencies [a66273a]
|
|
49
|
+
- @prosopo/keyring@2.9.62
|
|
50
|
+
- @prosopo/provider@4.15.17
|
|
51
|
+
- @prosopo/env@3.6.22
|
|
52
|
+
|
|
3
53
|
## 3.6.76
|
|
4
54
|
### Patch Changes
|
|
5
55
|
|
package/dist/RateLimiter.d.ts
CHANGED
|
@@ -55,14 +55,6 @@ export declare const getRateLimitConfig: () => {
|
|
|
55
55
|
windowMs: string | undefined;
|
|
56
56
|
limit: string | undefined;
|
|
57
57
|
};
|
|
58
|
-
"/v1/prosopo/provider/admin/detector/update": {
|
|
59
|
-
windowMs: string | undefined;
|
|
60
|
-
limit: string | undefined;
|
|
61
|
-
};
|
|
62
|
-
"/v1/prosopo/provider/admin/detector/remove": {
|
|
63
|
-
windowMs: string | undefined;
|
|
64
|
-
limit: string | undefined;
|
|
65
|
-
};
|
|
66
58
|
"/v1/prosopo/provider/admin/maintenance/toggle": {
|
|
67
59
|
windowMs: string | undefined;
|
|
68
60
|
limit: string | undefined;
|
|
@@ -111,5 +103,13 @@ export declare const getRateLimitConfig: () => {
|
|
|
111
103
|
windowMs: string | undefined;
|
|
112
104
|
limit: string | undefined;
|
|
113
105
|
};
|
|
106
|
+
"/v1/prosopo/provider/client/detector/assign": {
|
|
107
|
+
windowMs: string | undefined;
|
|
108
|
+
limit: string | undefined;
|
|
109
|
+
};
|
|
110
|
+
"/v1/prosopo/provider/admin/detector/pool/replace": {
|
|
111
|
+
windowMs: string | undefined;
|
|
112
|
+
limit: string | undefined;
|
|
113
|
+
};
|
|
114
114
|
};
|
|
115
115
|
//# sourceMappingURL=RateLimiter.d.ts.map
|
package/dist/RateLimiter.js
CHANGED
|
@@ -58,14 +58,6 @@ var getRateLimitConfig = () => {
|
|
|
58
58
|
windowMs: process.env.PROSOPO_SITE_KEYS_REMOVE_WINDOW,
|
|
59
59
|
limit: process.env.PROSOPO_SITE_KEYS_REMOVE_LIMIT
|
|
60
60
|
},
|
|
61
|
-
[AdminApiPaths.UpdateDetectorKey]: {
|
|
62
|
-
windowMs: process.env.PROSOPO_UPDATE_DETECTOR_KEY_WINDOW,
|
|
63
|
-
limit: process.env.PROSOPO_UPDATE_DETECTOR_KEY_LIMIT
|
|
64
|
-
},
|
|
65
|
-
[AdminApiPaths.RemoveDetectorKey]: {
|
|
66
|
-
windowMs: process.env.PROSOPO_REMOVE_DETECTOR_KEY_WINDOW,
|
|
67
|
-
limit: process.env.PROSOPO_REMOVE_DETECTOR_KEY_LIMIT
|
|
68
|
-
},
|
|
69
61
|
[AdminApiPaths.ToggleMaintenanceMode]: {
|
|
70
62
|
windowMs: process.env.PROSOPO_TOGGLE_MAINTENANCE_MODE_WINDOW,
|
|
71
63
|
limit: process.env.PROSOPO_TOGGLE_MAINTENANCE_MODE_LIMIT
|
|
@@ -113,6 +105,14 @@ var getRateLimitConfig = () => {
|
|
|
113
105
|
[AdminApiPaths.DnsEvent]: {
|
|
114
106
|
windowMs: process.env.PROSOPO_DNS_EVENT_WINDOW,
|
|
115
107
|
limit: process.env.PROSOPO_DNS_EVENT_LIMIT
|
|
108
|
+
},
|
|
109
|
+
[ClientApiPaths.AssignDetectorBundle]: {
|
|
110
|
+
windowMs: process.env.PROSOPO_ASSIGN_DETECTOR_BUNDLE_WINDOW,
|
|
111
|
+
limit: process.env.PROSOPO_ASSIGN_DETECTOR_BUNDLE_LIMIT
|
|
112
|
+
},
|
|
113
|
+
[AdminApiPaths.ReplaceDetectorPool]: {
|
|
114
|
+
windowMs: process.env.PROSOPO_REPLACE_DETECTOR_POOL_WINDOW,
|
|
115
|
+
limit: process.env.PROSOPO_REPLACE_DETECTOR_POOL_LIMIT
|
|
116
116
|
}
|
|
117
117
|
};
|
|
118
118
|
};
|
package/dist/RateLimiter.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"RateLimiter.js","sourceRoot":"","sources":["../src/RateLimiter.ts"],"names":[],"mappings":"AAaA,OAAO,EAAE,aAAa,EAAE,cAAc,EAAE,cAAc,EAAE,MAAM,gBAAgB,CAAC;AAE/E,MAAM,CAAC,MAAM,kBAAkB,GAAG,GAAG,EAAE;IACtC,OAAO;QACN,CAAC,cAAc,CAAC,wBAAwB,CAAC,EAAE;YAC1C,QAAQ,EAAE,OAAO,CAAC,GAAG,CAAC,0CAA0C;YAChE,KAAK,EAAE,OAAO,CAAC,GAAG,CAAC,yCAAyC;SAC5D;QACD,CAAC,cAAc,CAAC,sBAAsB,CAAC,EAAE;YACxC,QAAQ,EAAE,OAAO,CAAC,GAAG,CAAC,wCAAwC;YAC9D,KAAK,EAAE,OAAO,CAAC,GAAG,CAAC,uCAAuC;SAC1D;QACD,CAAC,cAAc,CAAC,0BAA0B,CAAC,EAAE;YAC5C,QAAQ,EAAE,OAAO,CAAC,GAAG,CAAC,4CAA4C;YAClE,KAAK,EAAE,OAAO,CAAC,GAAG,CAAC,2CAA2C;SAC9D;QACD,CAAC,cAAc,CAAC,wBAAwB,CAAC,EAAE;YAC1C,QAAQ,EAAE,OAAO,CAAC,GAAG,CAAC,0CAA0C;YAChE,KAAK,EAAE,OAAO,CAAC,GAAG,CAAC,yCAAyC;SAC5D;QACD,CAAC,cAAc,CAAC,wBAAwB,CAAC,EAAE;YAC1C,QAAQ,EAAE,OAAO,CAAC,GAAG,CAAC,0CAA0C;YAChE,KAAK,EAAE,OAAO,CAAC,GAAG,CAAC,yCAAyC;SAC5D;QACD,CAAC,cAAc,CAAC,8BAA8B,CAAC,EAAE;YAChD,QAAQ,EAAE,OAAO,CAAC,GAAG,CAAC,iDAAiD;YACvE,KAAK,EAAE,OAAO,CAAC,GAAG,CAAC,gDAAgD;SACnE;QACD,CAAC,cAAc,CAAC,cAAc,CAAC,EAAE;YAChC,QAAQ,EAAE,OAAO,CAAC,GAAG,CAAC,+BAA+B;YACrD,KAAK,EAAE,OAAO,CAAC,GAAG,CAAC,8BAA8B;SACjD;QACD,CAAC,cAAc,CAAC,iBAAiB,CAAC,EAAE;YACnC,QAAQ,EAAE,OAAO,CAAC,GAAG,CAAC,kCAAkC;YACxD,KAAK,EAAE,OAAO,CAAC,GAAG,CAAC,iCAAiC;SACpD;QACD,CAAC,cAAc,CAAC,kBAAkB,CAAC,EAAE;YACpC,QAAQ,EAAE,OAAO,CAAC,GAAG,CAAC,mCAAmC;YACzD,KAAK,EAAE,OAAO,CAAC,GAAG,CAAC,kCAAkC;SACrD;QACD,CAAC,cAAc,CAAC,gBAAgB,CAAC,EAAE;YAClC,QAAQ,EAAE,OAAO,CAAC,GAAG,CAAC,iCAAiC;YACvD,KAAK,EAAE,OAAO,CAAC,GAAG,CAAC,gCAAgC;SACnD;QACD,CAAC,aAAa,CAAC,eAAe,CAAC,EAAE;YAChC,QAAQ,EAAE,OAAO,CAAC,GAAG,CAAC,gCAAgC;YACtD,KAAK,EAAE,OAAO,CAAC,GAAG,CAAC,+BAA+B;SAClD;QACD,CAAC,aAAa,CAAC,gBAAgB,CAAC,EAAE;YACjC,QAAQ,EAAE,OAAO,CAAC,GAAG,CAAC,iCAAiC;YACvD,KAAK,EAAE,OAAO,CAAC,GAAG,CAAC,gCAAgC;SACnD;QACD,CAAC,aAAa,CAAC,aAAa,CAAC,EAAE;YAC9B,QAAQ,EAAE,OAAO,CAAC,GAAG,CAAC,8BAA8B;YACpD,KAAK,EAAE,OAAO,CAAC,GAAG,CAAC,6BAA6B;SAChD;QACD,CAAC,aAAa,CAAC,cAAc,CAAC,EAAE;YAC/B,QAAQ,EAAE,OAAO,CAAC,GAAG,CAAC,+BAA+B;YACrD,KAAK,EAAE,OAAO,CAAC,GAAG,CAAC,8BAA8B;SACjD;QACD,CAAC,aAAa,CAAC,
|
|
1
|
+
{"version":3,"file":"RateLimiter.js","sourceRoot":"","sources":["../src/RateLimiter.ts"],"names":[],"mappings":"AAaA,OAAO,EAAE,aAAa,EAAE,cAAc,EAAE,cAAc,EAAE,MAAM,gBAAgB,CAAC;AAE/E,MAAM,CAAC,MAAM,kBAAkB,GAAG,GAAG,EAAE;IACtC,OAAO;QACN,CAAC,cAAc,CAAC,wBAAwB,CAAC,EAAE;YAC1C,QAAQ,EAAE,OAAO,CAAC,GAAG,CAAC,0CAA0C;YAChE,KAAK,EAAE,OAAO,CAAC,GAAG,CAAC,yCAAyC;SAC5D;QACD,CAAC,cAAc,CAAC,sBAAsB,CAAC,EAAE;YACxC,QAAQ,EAAE,OAAO,CAAC,GAAG,CAAC,wCAAwC;YAC9D,KAAK,EAAE,OAAO,CAAC,GAAG,CAAC,uCAAuC;SAC1D;QACD,CAAC,cAAc,CAAC,0BAA0B,CAAC,EAAE;YAC5C,QAAQ,EAAE,OAAO,CAAC,GAAG,CAAC,4CAA4C;YAClE,KAAK,EAAE,OAAO,CAAC,GAAG,CAAC,2CAA2C;SAC9D;QACD,CAAC,cAAc,CAAC,wBAAwB,CAAC,EAAE;YAC1C,QAAQ,EAAE,OAAO,CAAC,GAAG,CAAC,0CAA0C;YAChE,KAAK,EAAE,OAAO,CAAC,GAAG,CAAC,yCAAyC;SAC5D;QACD,CAAC,cAAc,CAAC,wBAAwB,CAAC,EAAE;YAC1C,QAAQ,EAAE,OAAO,CAAC,GAAG,CAAC,0CAA0C;YAChE,KAAK,EAAE,OAAO,CAAC,GAAG,CAAC,yCAAyC;SAC5D;QACD,CAAC,cAAc,CAAC,8BAA8B,CAAC,EAAE;YAChD,QAAQ,EAAE,OAAO,CAAC,GAAG,CAAC,iDAAiD;YACvE,KAAK,EAAE,OAAO,CAAC,GAAG,CAAC,gDAAgD;SACnE;QACD,CAAC,cAAc,CAAC,cAAc,CAAC,EAAE;YAChC,QAAQ,EAAE,OAAO,CAAC,GAAG,CAAC,+BAA+B;YACrD,KAAK,EAAE,OAAO,CAAC,GAAG,CAAC,8BAA8B;SACjD;QACD,CAAC,cAAc,CAAC,iBAAiB,CAAC,EAAE;YACnC,QAAQ,EAAE,OAAO,CAAC,GAAG,CAAC,kCAAkC;YACxD,KAAK,EAAE,OAAO,CAAC,GAAG,CAAC,iCAAiC;SACpD;QACD,CAAC,cAAc,CAAC,kBAAkB,CAAC,EAAE;YACpC,QAAQ,EAAE,OAAO,CAAC,GAAG,CAAC,mCAAmC;YACzD,KAAK,EAAE,OAAO,CAAC,GAAG,CAAC,kCAAkC;SACrD;QACD,CAAC,cAAc,CAAC,gBAAgB,CAAC,EAAE;YAClC,QAAQ,EAAE,OAAO,CAAC,GAAG,CAAC,iCAAiC;YACvD,KAAK,EAAE,OAAO,CAAC,GAAG,CAAC,gCAAgC;SACnD;QACD,CAAC,aAAa,CAAC,eAAe,CAAC,EAAE;YAChC,QAAQ,EAAE,OAAO,CAAC,GAAG,CAAC,gCAAgC;YACtD,KAAK,EAAE,OAAO,CAAC,GAAG,CAAC,+BAA+B;SAClD;QACD,CAAC,aAAa,CAAC,gBAAgB,CAAC,EAAE;YACjC,QAAQ,EAAE,OAAO,CAAC,GAAG,CAAC,iCAAiC;YACvD,KAAK,EAAE,OAAO,CAAC,GAAG,CAAC,gCAAgC;SACnD;QACD,CAAC,aAAa,CAAC,aAAa,CAAC,EAAE;YAC9B,QAAQ,EAAE,OAAO,CAAC,GAAG,CAAC,8BAA8B;YACpD,KAAK,EAAE,OAAO,CAAC,GAAG,CAAC,6BAA6B;SAChD;QACD,CAAC,aAAa,CAAC,cAAc,CAAC,EAAE;YAC/B,QAAQ,EAAE,OAAO,CAAC,GAAG,CAAC,+BAA+B;YACrD,KAAK,EAAE,OAAO,CAAC,GAAG,CAAC,8BAA8B;SACjD;QACD,CAAC,aAAa,CAAC,qBAAqB,CAAC,EAAE;YACtC,QAAQ,EAAE,OAAO,CAAC,GAAG,CAAC,sCAAsC;YAC5D,KAAK,EAAE,OAAO,CAAC,GAAG,CAAC,qCAAqC;SACxD;QACD,CAAC,aAAa,CAAC,qBAAqB,CAAC,EAAE;YACtC,QAAQ,EAAE,OAAO,CAAC,GAAG,CAAC,sCAAsC;YAC5D,KAAK,EAAE,OAAO,CAAC,GAAG,CAAC,qCAAqC;SACxD;QACD,CAAC,cAAc,CAAC,+BAA+B,CAAC,EAAE;YACjD,QAAQ,EAAE,OAAO,CAAC,GAAG,CAAC,uCAAuC;YAC7D,KAAK,EAAE,OAAO,CAAC,GAAG,CAAC,sCAAsC;SACzD;QACD,CAAC,aAAa,CAAC,kBAAkB,CAAC,EAAE;YACnC,QAAQ,EAAE,OAAO,CAAC,GAAG,CAAC,mCAAmC;YACzD,KAAK,EAAE,OAAO,CAAC,GAAG,CAAC,kCAAkC;SACrD;QACD,CAAC,aAAa,CAAC,sBAAsB,CAAC,EAAE;YACvC,QAAQ,EAAE,OAAO,CAAC,GAAG,CAAC,wCAAwC;YAC9D,KAAK,EAAE,OAAO,CAAC,GAAG,CAAC,uCAAuC;SAC1D;QACD,CAAC,aAAa,CAAC,yBAAyB,CAAC,EAAE;YAC1C,QAAQ,EAAE,OAAO,CAAC,GAAG,CAAC,2CAA2C;YACjE,KAAK,EAAE,OAAO,CAAC,GAAG,CAAC,0CAA0C;SAC7D;QACD,CAAC,aAAa,CAAC,qBAAqB,CAAC,EAAE;YACtC,QAAQ,EAAE,OAAO,CAAC,GAAG,CAAC,sCAAsC;YAC5D,KAAK,EAAE,OAAO,CAAC,GAAG,CAAC,qCAAqC;SACxD;QACD,CAAC,aAAa,CAAC,gBAAgB,CAAC,EAAE;YACjC,QAAQ,EAAE,OAAO,CAAC,GAAG,CAAC,iCAAiC;YACvD,KAAK,EAAE,OAAO,CAAC,GAAG,CAAC,gCAAgC;SACnD;QACD,CAAC,cAAc,CAAC,yBAAyB,CAAC,EAAE;YAC3C,QAAQ,EAAE,OAAO,CAAC,GAAG,CAAC,2CAA2C;YACjE,KAAK,EAAE,OAAO,CAAC,GAAG,CAAC,0CAA0C;SAC7D;QACD,CAAC,cAAc,CAAC,2BAA2B,CAAC,EAAE;YAC7C,QAAQ,EAAE,OAAO,CAAC,GAAG,CAAC,6CAA6C;YACnE,KAAK,EAAE,OAAO,CAAC,GAAG,CAAC,4CAA4C;SAC/D;QACD,CAAC,cAAc,CAAC,2BAA2B,CAAC,EAAE;YAC7C,QAAQ,EAAE,OAAO,CAAC,GAAG,CAAC,6CAA6C;YACnE,KAAK,EAAE,OAAO,CAAC,GAAG,CAAC,4CAA4C;SAC/D;QACD,CAAC,aAAa,CAAC,QAAQ,CAAC,EAAE;YACzB,QAAQ,EAAE,OAAO,CAAC,GAAG,CAAC,wBAAwB;YAC9C,KAAK,EAAE,OAAO,CAAC,GAAG,CAAC,uBAAuB;SAC1C;QACD,CAAC,cAAc,CAAC,oBAAoB,CAAC,EAAE;YACtC,QAAQ,EAAE,OAAO,CAAC,GAAG,CAAC,qCAAqC;YAC3D,KAAK,EAAE,OAAO,CAAC,GAAG,CAAC,oCAAoC;SACvD;QACD,CAAC,aAAa,CAAC,mBAAmB,CAAC,EAAE;YACpC,QAAQ,EAAE,OAAO,CAAC,GAAG,CAAC,oCAAoC;YAC1D,KAAK,EAAE,OAAO,CAAC,GAAG,CAAC,mCAAmC;SACtD;KACD,CAAC;AACH,CAAC,CAAC"}
|