@prosopo/types-database 4.11.18 → 5.0.1

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.
@@ -168,10 +168,16 @@ var PoWCaptchaRecordSchema = new Schema({
168
168
  required: false
169
169
  },
170
170
  metadata: {
171
- type: new Schema({ email: {
172
- type: String,
173
- required: false
174
- } }, { _id: false }),
171
+ type: new Schema({
172
+ email: {
173
+ type: String,
174
+ required: false
175
+ },
176
+ emailNormalised: {
177
+ type: String,
178
+ required: false
179
+ }
180
+ }, { _id: false }),
175
181
  required: false
176
182
  },
177
183
  clientMetaData: {
@@ -290,6 +296,17 @@ PoWCaptchaRecordSchema.index({ "ipInfo.countryCode": 1 });
290
296
  PoWCaptchaRecordSchema.index({ "ipInfo.isVPN": 1 });
291
297
  PoWCaptchaRecordSchema.index({ ipInfo: 1 });
292
298
  PoWCaptchaRecordSchema.index({ parsedUserAgentInfo: 1 });
299
+ PoWCaptchaRecordSchema.index({
300
+ dappAccount: 1,
301
+ "metadata.emailNormalised": 1,
302
+ serverChecked: 1
303
+ }, {
304
+ name: "spamEmailCount_partial",
305
+ partialFilterExpression: {
306
+ "metadata.emailNormalised": { $exists: true },
307
+ serverChecked: true
308
+ }
309
+ });
293
310
  PoWCaptchaRecordSchema.index({ pendingStage: 1 }, {
294
311
  name: "pendingStage_partial",
295
312
  partialFilterExpression: { pendingStage: true }
@@ -386,10 +403,16 @@ var PuzzleCaptchaRecordSchema = new Schema({
386
403
  required: false
387
404
  },
388
405
  metadata: {
389
- type: new Schema({ email: {
390
- type: String,
391
- required: false
392
- } }, { _id: false }),
406
+ type: new Schema({
407
+ email: {
408
+ type: String,
409
+ required: false
410
+ },
411
+ emailNormalised: {
412
+ type: String,
413
+ required: false
414
+ }
415
+ }, { _id: false }),
393
416
  required: false
394
417
  },
395
418
  clientMetaData: {
@@ -491,6 +514,17 @@ PuzzleCaptchaRecordSchema.index({ pendingStage: 1 }, {
491
514
  name: "pendingStage_partial",
492
515
  partialFilterExpression: { pendingStage: true }
493
516
  });
517
+ PuzzleCaptchaRecordSchema.index({
518
+ dappAccount: 1,
519
+ "metadata.emailNormalised": 1,
520
+ serverChecked: 1
521
+ }, {
522
+ name: "spamEmailCount_partial",
523
+ partialFilterExpression: {
524
+ "metadata.emailNormalised": { $exists: true },
525
+ serverChecked: true
526
+ }
527
+ });
494
528
  var UserCommitmentRecordSchema = new Schema({
495
529
  userAccount: {
496
530
  type: String,
@@ -534,10 +568,16 @@ var UserCommitmentRecordSchema = new Schema({
534
568
  required: false
535
569
  },
536
570
  metadata: {
537
- type: new Schema({ email: {
538
- type: String,
539
- required: false
540
- } }, { _id: false }),
571
+ type: new Schema({
572
+ email: {
573
+ type: String,
574
+ required: false
575
+ },
576
+ emailNormalised: {
577
+ type: String,
578
+ required: false
579
+ }
580
+ }, { _id: false }),
541
581
  required: false
542
582
  },
543
583
  clientMetaData: {
@@ -698,6 +738,17 @@ UserCommitmentRecordSchema.index({ pendingStage: 1 }, {
698
738
  name: "pendingStage_partial",
699
739
  partialFilterExpression: { pendingStage: true }
700
740
  });
741
+ UserCommitmentRecordSchema.index({
742
+ dappAccount: 1,
743
+ "metadata.emailNormalised": 1,
744
+ serverChecked: 1
745
+ }, {
746
+ name: "spamEmailCount_partial",
747
+ partialFilterExpression: {
748
+ "metadata.emailNormalised": { $exists: true },
749
+ serverChecked: true
750
+ }
751
+ });
701
752
  var DatasetRecordSchema = new Schema({
702
753
  contentTree: {
703
754
  type: [[String]],
@@ -956,6 +1007,10 @@ var SessionRecordSchema = new Schema({
956
1007
  required: false,
957
1008
  default: ""
958
1009
  },
1010
+ bundleId: {
1011
+ type: String,
1012
+ required: false
1013
+ },
959
1014
  siteKey: {
960
1015
  type: String,
961
1016
  required: false
@@ -1138,22 +1193,6 @@ SessionRecordSchema.index({ pendingStage: 1 }, {
1138
1193
  name: "pendingStage_partial",
1139
1194
  partialFilterExpression: { pendingStage: true }
1140
1195
  });
1141
- var DetectorRecordSchema = new Schema({
1142
- createdAt: {
1143
- type: Date,
1144
- required: true
1145
- },
1146
- detectorKey: {
1147
- type: String,
1148
- required: true
1149
- },
1150
- expiresAt: {
1151
- type: Date,
1152
- required: false
1153
- }
1154
- });
1155
- DetectorRecordSchema.index({ createdAt: 1 }, { unique: true });
1156
- DetectorRecordSchema.index({ expiresAt: 1 }, { expireAfterSeconds: 0 });
1157
1196
  var DecisionMachineArtifactRecordSchema = new Schema({
1158
1197
  scope: {
1159
1198
  type: String,
@@ -1238,4 +1277,4 @@ ClientContextEntropyRecordSchema.index({
1238
1277
  contextType: 1
1239
1278
  }, { unique: true });
1240
1279
  //#endregion
1241
- export { CaptchaRecordSchema, ClientContextEntropyRecordSchema, ClientRecordSchema, CompositeIpAddressRecordSchemaObj, DatasetRecordSchema, DecisionMachineArtifactRecordSchema, DetectorRecordSchema, PoWCaptchaRecordSchema, PuzzleCaptchaRecordSchema, ScheduledTaskRecordSchema, ScheduledTaskSchema, SessionRecordSchema, SolutionRecordSchema, UserCommitmentRecordSchema, UserSolutionRecordSchema };
1280
+ export { CaptchaRecordSchema, ClientContextEntropyRecordSchema, ClientRecordSchema, CompositeIpAddressRecordSchemaObj, DatasetRecordSchema, DecisionMachineArtifactRecordSchema, PoWCaptchaRecordSchema, PuzzleCaptchaRecordSchema, ScheduledTaskRecordSchema, ScheduledTaskSchema, SessionRecordSchema, SolutionRecordSchema, UserCommitmentRecordSchema, UserSolutionRecordSchema };
@@ -1 +1 @@
1
- {"version":3,"file":"provider.js","sourceRoot":"","sources":["../../src/types/provider.ts"],"names":[],"mappings":"AAeA,OAAO,EAAuB,qBAAqB,EAAE,MAAM,iBAAiB,CAAC;AAC7E,OAAO,EACN,YAAY,EACZ,WAAW,EAGX,WAAW,EAEX,mBAAmB,EACnB,uBAAuB,EACvB,sBAAsB,EACtB,oBAAoB,EAEpB,aAAa,EACb,QAAQ,EAOR,IAAI,GAGJ,MAAM,gBAAgB,CAAC;AACxB,OAAO,EAKN,aAAa,EAWb,kBAAkB,EAElB,mBAAmB,GACnB,MAAM,gBAAgB,CAAC;AAExB,OAAO,EAAE,IAAI,EAAE,MAAM,MAAM,CAAC;AAI5B,OAAO,EAA6B,MAAM,EAAc,MAAM,UAAU,CAAC;AACzE,OAAO,EAAE,GAAG,EAAE,IAAI,EAAE,UAAU,EAAE,MAAM,EAAwB,MAAM,KAAK,CAAC;AAC1E,OAAO,EAAE,kBAAkB,EAAE,MAAM,aAAa,CAAC;AAQjD,MAAM,QAAQ,GAAG,EAAE,GAAG,EAAE,CAAC;AACzB,MAAM,OAAO,GAAG,QAAQ,GAAG,EAAE,CAAC;AAC9B,MAAM,QAAQ,GAAG,OAAO,GAAG,CAAC,CAAC;AAC7B,MAAM,SAAS,GAAG,QAAQ,GAAG,CAAC,CAAC;AAE/B,MAAM,CAAC,MAAM,kBAAkB,GAAG,IAAI,MAAM,CAAe;IAC1D,OAAO,EAAE,MAAM;IACf,QAAQ,EAAE,kBAAkB;IAC5B,IAAI,EAAE,EAAE,IAAI,EAAE,MAAM,EAAE,IAAI,EAAE,IAAI,EAAE,QAAQ,EAAE,IAAI,EAAE;CAClD,CAAC,CAAC;AAEH,kBAAkB,CAAC,KAAK,CAAC,EAAE,OAAO,EAAE,CAAC,EAAE,CAAC,CAAC;AA4BzC,MAAM,UAAU,GAAG,CAAC,KAAc,EAAW,EAAE,CAC9C,OAAO,KAAK,KAAK,QAAQ;IACzB,KAAK,KAAK,IAAI;IACd,WAAW,IAAI,KAAK;IACnB,KAA+B,CAAC,SAAS,KAAK,MAAM,CAAC;AAEvD,MAAM,eAAe,GAAG,CACvB,KAAgD,EACX,EAAE;IACvC,IAAI,OAAO,KAAK,KAAK,QAAQ;QAAE,OAAO,KAAK,CAAC,QAAQ,EAAE,CAAC;IACvD,IAAI,UAAU,CAAC,KAAK,CAAC,EAAE,CAAC;QACvB,MAAM,GAAG,GAAG,KAAsC,CAAC;QACnD,OAAO,IAAI,CAAC,QAAQ,CAAC,GAAG,CAAC,GAAG,EAAE,GAAG,CAAC,IAAI,EAAE,IAAI,CAAC,CAAC,QAAQ,EAAE,CAAC;IAC1D,CAAC;IACD,OAAO,KAAK,CAAC;AACd,CAAC,CAAC;AAEF,MAAM,CAAC,MAAM,iCAAiC,GAAG;IAChD,KAAK,EAAE;QAEN,IAAI,EAAE,MAAM,CAAC,KAAK,CAAC,UAAU;QAC7B,QAAQ,EAAE,IAAI;QACd,GAAG,EAAE,eAAe;KACpB;IACD,KAAK,EAAE;QAEN,IAAI,EAAE,MAAM,CAAC,KAAK,CAAC,UAAU;QAC7B,QAAQ,EAAE,KAAK;QACf,GAAG,EAAE,eAAe;KACpB;IACD,IAAI,EAAE,EAAE,IAAI,EAAE,MAAM,EAAE,IAAI,EAAE,aAAa,EAAE,QAAQ,EAAE,IAAI,EAAE;CAC3D,CAAC;AAqBF,MAAM,CAAC,MAAM,mBAAmB,GAAG,IAAI,MAAM,CAAU;IACtD,SAAS,EAAE,EAAE,IAAI,EAAE,MAAM,EAAE,QAAQ,EAAE,IAAI,EAAE;IAC3C,gBAAgB,EAAE,EAAE,IAAI,EAAE,MAAM,EAAE,QAAQ,EAAE,IAAI,EAAE;IAClD,QAAQ,EAAE,EAAE,IAAI,EAAE,MAAM,EAAE,QAAQ,EAAE,KAAK,EAAE;IAC3C,SAAS,EAAE,EAAE,IAAI,EAAE,MAAM,EAAE,QAAQ,EAAE,IAAI,EAAE;IAC3C,gBAAgB,EAAE,EAAE,IAAI,EAAE,MAAM,EAAE,QAAQ,EAAE,IAAI,EAAE;IAClD,MAAM,EAAE,EAAE,IAAI,EAAE,OAAO,EAAE,QAAQ,EAAE,IAAI,EAAE;IACzC,MAAM,EAAE,EAAE,IAAI,EAAE,MAAM,EAAE,QAAQ,EAAE,IAAI,EAAE;IACxC,IAAI,EAAE,EAAE,IAAI,EAAE,MAAM,EAAE,QAAQ,EAAE,IAAI,EAAE;IAMtC,SAAS,EAAE,EAAE,IAAI,EAAE,MAAM,EAAE,QAAQ,EAAE,KAAK,EAAE;IAC5C,KAAK,EAAE;QACN,IAAI,EAAE;YACL,IAAI,MAAM,CACT;gBACC,IAAI,EAAE,EAAE,IAAI,EAAE,MAAM,EAAE,QAAQ,EAAE,IAAI,EAAE;gBACtC,IAAI,EAAE,EAAE,IAAI,EAAE,MAAM,EAAE,QAAQ,EAAE,IAAI,EAAE;gBACtC,IAAI,EAAE,EAAE,IAAI,EAAE,MAAM,EAAE,QAAQ,EAAE,IAAI,EAAE;aACtC,EACD,EAAE,GAAG,EAAE,KAAK,EAAE,CACd;SACD;QACD,QAAQ,EAAE,IAAI;KACd;CACD,CAAC,CAAC;AAEH,mBAAmB,CAAC,KAAK,CAAC,EAAE,SAAS,EAAE,CAAC,EAAE,CAAC,CAAC;AAE5C,mBAAmB,CAAC,KAAK,CAAC,EAAE,SAAS,EAAE,CAAC,EAAE,CAAC,CAAC;AAE5C,mBAAmB,CAAC,KAAK,CAAC,EAAE,SAAS,EAAE,CAAC,EAAE,MAAM,EAAE,CAAC,EAAE,CAAC,CAAC;AAIvD,mBAAmB,CAAC,KAAK,CAAC,EAAE,SAAS,EAAE,CAAC,EAAE,MAAM,EAAE,CAAC,EAAE,SAAS,EAAE,CAAC,EAAE,CAAC,CAAC;AAErE,MAAM,CAAC,MAAM,sBAAsB,GAAG,IAAI,MAAM,CAAmB;IAClE,SAAS,EAAE,EAAE,IAAI,EAAE,MAAM,EAAE,QAAQ,EAAE,IAAI,EAAE;IAC3C,WAAW,EAAE,EAAE,IAAI,EAAE,MAAM,EAAE,QAAQ,EAAE,IAAI,EAAE;IAC7C,WAAW,EAAE,EAAE,IAAI,EAAE,MAAM,EAAE,QAAQ,EAAE,IAAI,EAAE;IAC7C,oBAAoB,EAAE,EAAE,IAAI,EAAE,IAAI,EAAE,QAAQ,EAAE,IAAI,EAAE;IACpD,oBAAoB,EAAE,EAAE,IAAI,EAAE,IAAI,EAAE,QAAQ,EAAE,KAAK,EAAE;IACrD,mBAAmB,EAAE,EAAE,IAAI,EAAE,IAAI,EAAE,QAAQ,EAAE,KAAK,EAAE;IACpD,iBAAiB,EAAE,EAAE,IAAI,EAAE,IAAI,EAAE,QAAQ,EAAE,KAAK,EAAE;IAClD,oBAAoB,EAAE,EAAE,IAAI,EAAE,IAAI,EAAE,QAAQ,EAAE,KAAK,EAAE;IACrD,MAAM,EAAE;QACP,MAAM,EAAE,EAAE,IAAI,EAAE,MAAM,EAAE,IAAI,EAAE,aAAa,EAAE,QAAQ,EAAE,IAAI,EAAE;QAC7D,MAAM,EAAE;YACP,IAAI,EAAE,MAAM;YACZ,IAAI,EAAE,qBAAqB,CAAC,OAAO;YACnC,QAAQ,EAAE,KAAK;SACf;QACD,KAAK,EAAE,EAAE,IAAI,EAAE,MAAM,EAAE,QAAQ,EAAE,KAAK,EAAE;KACxC;IACD,UAAU,EAAE,EAAE,IAAI,EAAE,MAAM,EAAE,QAAQ,EAAE,IAAI,EAAE;IAC5C,SAAS,EAAE,iCAAiC;IAC5C,UAAU,EAAE;QACX,IAAI,EAAE,IAAI,MAAM,CAAC,iCAAiC,EAAE,EAAE,GAAG,EAAE,KAAK,EAAE,CAAC;QACnE,QAAQ,EAAE,KAAK;KACf;IACD,QAAQ,EAAE;QACT,IAAI,EAAE,IAAI,MAAM,CACf,EAAE,KAAK,EAAE,EAAE,IAAI,EAAE,MAAM,EAAE,QAAQ,EAAE,KAAK,EAAE,EAAE,EAC5C,EAAE,GAAG,EAAE,KAAK,EAAE,CACd;QACD,QAAQ,EAAE,KAAK;KACf;IACD,cAAc,EAAE;QACf,IAAI,EAAE,IAAI,MAAM,CAAC,EAAE,EAAE,EAAE,EAAE,IAAI,EAAE,MAAM,EAAE,QAAQ,EAAE,KAAK,EAAE,EAAE,EAAE,EAAE,GAAG,EAAE,KAAK,EAAE,CAAC;QAC3E,QAAQ,EAAE,KAAK;KACf;IACD,OAAO,EAAE,EAAE,IAAI,EAAE,MAAM,EAAE,QAAQ,EAAE,IAAI,EAAE;IACzC,GAAG,EAAE,EAAE,IAAI,EAAE,MAAM,EAAE,QAAQ,EAAE,IAAI,EAAE;IACrC,aAAa,EAAE,EAAE,IAAI,EAAE,MAAM,EAAE,QAAQ,EAAE,KAAK,EAAE;IAChD,aAAa,EAAE,EAAE,IAAI,EAAE,OAAO,EAAE,QAAQ,EAAE,IAAI,EAAE;IAChD,aAAa,EAAE,EAAE,IAAI,EAAE,OAAO,EAAE,QAAQ,EAAE,IAAI,EAAE;IAChD,iBAAiB,EAAE,EAAE,IAAI,EAAE,IAAI,EAAE,QAAQ,EAAE,KAAK,EAAE,OAAO,EAAE,SAAS,EAAE;IAKtE,YAAY,EAAE,EAAE,IAAI,EAAE,OAAO,EAAE,QAAQ,EAAE,KAAK,EAAE;IAIhD,MAAM,EAAE,EAAE,IAAI,EAAE,MAAM,EAAE,QAAQ,EAAE,KAAK,EAAE;IACzC,mBAAmB,EAAE,EAAE,IAAI,EAAE,MAAM,EAAE,QAAQ,EAAE,KAAK,EAAE;IACtD,SAAS,EAAE;QACV,IAAI,EAAE,MAAM;QACZ,QAAQ,EAAE,KAAK;KACf;IACD,MAAM,EAAE,EAAE,IAAI,EAAE,CAAC,CAAC,CAAC,MAAM,CAAC,CAAC,CAAC,EAAE,QAAQ,EAAE,KAAK,EAAE;IAE/C,gBAAgB,EAAE,EAAE,IAAI,EAAE,MAAM,EAAE,QAAQ,EAAE,KAAK,EAAE;IACnD,oBAAoB,EAAE;QACrB,IAAI,EAAE;YACL,EAAE,EAAE,EAAE,IAAI,EAAE,CAAC,MAAM,CAAC,KAAK,CAAC,KAAK,CAAC,EAAE,QAAQ,EAAE,IAAI,EAAE;YAClD,EAAE,EAAE,EAAE,IAAI,EAAE,CAAC,MAAM,CAAC,KAAK,CAAC,KAAK,CAAC,EAAE,QAAQ,EAAE,IAAI,EAAE;YAClD,EAAE,EAAE,EAAE,IAAI,EAAE,CAAC,MAAM,CAAC,KAAK,CAAC,KAAK,CAAC,EAAE,QAAQ,EAAE,IAAI,EAAE;YAClD,CAAC,EAAE,EAAE,IAAI,EAAE,MAAM,EAAE,QAAQ,EAAE,IAAI,EAAE;SACnC;QACD,QAAQ,EAAE,KAAK;KACf;IACD,iBAAiB,EAAE,EAAE,IAAI,EAAE,MAAM,EAAE,QAAQ,EAAE,IAAI,EAAE;IAEnD,KAAK,EAAE,EAAE,IAAI,EAAE,MAAM,EAAE,IAAI,EAAE,MAAM,CAAC,MAAM,CAAC,YAAY,CAAC,EAAE,QAAQ,EAAE,KAAK,EAAE;IAC3E,WAAW,EAAE,EAAE,IAAI,EAAE,MAAM,EAAE,QAAQ,EAAE,KAAK,EAAE;IAC9C,UAAU,EAAE,EAAE,IAAI,EAAE,MAAM,EAAE,QAAQ,EAAE,KAAK,EAAE;IAC7C,UAAU,EAAE,EAAE,IAAI,EAAE,IAAI,EAAE,QAAQ,EAAE,KAAK,EAAE;CAC3C,CAAC,CAAC;AAGH,sBAAsB,CAAC,KAAK,CAAC,EAAE,SAAS,EAAE,CAAC,EAAE,CAAC,CAAC;AAE/C,sBAAsB,CAAC,KAAK,CAAC,EAAE,KAAK,EAAE,CAAC,EAAE,WAAW,EAAE,CAAC,EAAE,CAAC,CAAC;AAC3D,sBAAsB,CAAC,KAAK,CAAC,EAAE,oBAAoB,EAAE,CAAC,EAAE,CAAC,CAAC;AAC1D,sBAAsB,CAAC,KAAK,CAAC,EAAE,WAAW,EAAE,CAAC,EAAE,oBAAoB,EAAE,CAAC,EAAE,CAAC,CAAC;AAC1E,sBAAsB,CAAC,KAAK,CAAC,EAAE,iBAAiB,EAAE,CAAC,EAAE,CAAC,CAAC;AACvD,sBAAsB,CAAC,KAAK,CAAC,EAAE,iBAAiB,EAAE,CAAC,EAAE,CAAC,CAAC;AACvD,sBAAsB,CAAC,KAAK,CAAC,EAAE,eAAe,EAAE,CAAC,EAAE,CAAC,CAAC;AACrD,sBAAsB,CAAC,KAAK,CAAC,EAAE,oBAAoB,EAAE,CAAC,EAAE,CAAC,CAAC;AAC1D,sBAAsB,CAAC,KAAK,CAAC,EAAE,cAAc,EAAE,CAAC,EAAE,CAAC,CAAC;AAOpD,sBAAsB,CAAC,KAAK,CAAC,EAAE,MAAM,EAAE,CAAC,EAAE,CAAC,CAAC;AAC5C,sBAAsB,CAAC,KAAK,CAAC,EAAE,mBAAmB,EAAE,CAAC,EAAE,CAAC,CAAC;AAKzD,sBAAsB,CAAC,KAAK,CAC3B,EAAE,YAAY,EAAE,CAAC,EAAE,EACnB;IACC,IAAI,EAAE,sBAAsB;IAC5B,uBAAuB,EAAE,EAAE,YAAY,EAAE,IAAI,EAAE;CAC/C,CACD,CAAC;AAEF,MAAM,CAAC,MAAM,yBAAyB,GAAG,IAAI,MAAM,CAAsB;IACxE,SAAS,EAAE,EAAE,IAAI,EAAE,MAAM,EAAE,QAAQ,EAAE,IAAI,EAAE;IAC3C,WAAW,EAAE,EAAE,IAAI,EAAE,MAAM,EAAE,QAAQ,EAAE,IAAI,EAAE;IAC7C,WAAW,EAAE,EAAE,IAAI,EAAE,MAAM,EAAE,QAAQ,EAAE,IAAI,EAAE;IAC7C,oBAAoB,EAAE,EAAE,IAAI,EAAE,IAAI,EAAE,QAAQ,EAAE,IAAI,EAAE;IACpD,oBAAoB,EAAE,EAAE,IAAI,EAAE,IAAI,EAAE,QAAQ,EAAE,KAAK,EAAE;IACrD,mBAAmB,EAAE,EAAE,IAAI,EAAE,IAAI,EAAE,QAAQ,EAAE,KAAK,EAAE;IACpD,iBAAiB,EAAE,EAAE,IAAI,EAAE,IAAI,EAAE,QAAQ,EAAE,KAAK,EAAE;IAClD,oBAAoB,EAAE,EAAE,IAAI,EAAE,IAAI,EAAE,QAAQ,EAAE,KAAK,EAAE;IACrD,MAAM,EAAE;QACP,MAAM,EAAE,EAAE,IAAI,EAAE,MAAM,EAAE,IAAI,EAAE,aAAa,EAAE,QAAQ,EAAE,IAAI,EAAE;QAC7D,MAAM,EAAE;YACP,IAAI,EAAE,MAAM;YACZ,IAAI,EAAE,qBAAqB,CAAC,OAAO;YACnC,QAAQ,EAAE,KAAK;SACf;QACD,KAAK,EAAE,EAAE,IAAI,EAAE,MAAM,EAAE,QAAQ,EAAE,KAAK,EAAE;KACxC;IACD,OAAO,EAAE,EAAE,IAAI,EAAE,MAAM,EAAE,QAAQ,EAAE,IAAI,EAAE;IACzC,OAAO,EAAE,EAAE,IAAI,EAAE,MAAM,EAAE,QAAQ,EAAE,IAAI,EAAE;IACzC,OAAO,EAAE,EAAE,IAAI,EAAE,MAAM,EAAE,QAAQ,EAAE,IAAI,EAAE;IACzC,OAAO,EAAE,EAAE,IAAI,EAAE,MAAM,EAAE,QAAQ,EAAE,IAAI,EAAE;IACzC,SAAS,EAAE,EAAE,IAAI,EAAE,MAAM,EAAE,QAAQ,EAAE,IAAI,EAAE;IAC3C,YAAY,EAAE;QACb,IAAI,EAAE;YACL,IAAI,MAAM,CACT;gBACC,CAAC,EAAE,EAAE,IAAI,EAAE,MAAM,EAAE,QAAQ,EAAE,IAAI,EAAE;gBACnC,CAAC,EAAE,EAAE,IAAI,EAAE,MAAM,EAAE,QAAQ,EAAE,IAAI,EAAE;gBACnC,CAAC,EAAE,EAAE,IAAI,EAAE,MAAM,EAAE,QAAQ,EAAE,IAAI,EAAE;aACnC,EACD,EAAE,GAAG,EAAE,KAAK,EAAE,CACd;SACD;QACD,QAAQ,EAAE,KAAK;KACf;IACD,SAAS,EAAE,iCAAiC;IAC5C,UAAU,EAAE;QACX,IAAI,EAAE,IAAI,MAAM,CAAC,iCAAiC,EAAE,EAAE,GAAG,EAAE,KAAK,EAAE,CAAC;QACnE,QAAQ,EAAE,KAAK;KACf;IACD,QAAQ,EAAE;QACT,IAAI,EAAE,IAAI,MAAM,CACf,EAAE,KAAK,EAAE,EAAE,IAAI,EAAE,MAAM,EAAE,QAAQ,EAAE,KAAK,EAAE,EAAE,EAC5C,EAAE,GAAG,EAAE,KAAK,EAAE,CACd;QACD,QAAQ,EAAE,KAAK;KACf;IACD,cAAc,EAAE;QACf,IAAI,EAAE,IAAI,MAAM,CAAC,EAAE,EAAE,EAAE,EAAE,IAAI,EAAE,MAAM,EAAE,QAAQ,EAAE,KAAK,EAAE,EAAE,EAAE,EAAE,GAAG,EAAE,KAAK,EAAE,CAAC;QAC3E,QAAQ,EAAE,KAAK;KACf;IACD,OAAO,EAAE,EAAE,IAAI,EAAE,MAAM,EAAE,QAAQ,EAAE,IAAI,EAAE;IACzC,GAAG,EAAE,EAAE,IAAI,EAAE,MAAM,EAAE,QAAQ,EAAE,IAAI,EAAE;IACrC,aAAa,EAAE,EAAE,IAAI,EAAE,MAAM,EAAE,QAAQ,EAAE,KAAK,EAAE;IAChD,aAAa,EAAE,EAAE,IAAI,EAAE,OAAO,EAAE,QAAQ,EAAE,IAAI,EAAE;IAChD,aAAa,EAAE,EAAE,IAAI,EAAE,OAAO,EAAE,QAAQ,EAAE,IAAI,EAAE;IAChD,iBAAiB,EAAE,EAAE,IAAI,EAAE,IAAI,EAAE,QAAQ,EAAE,KAAK,EAAE,OAAO,EAAE,SAAS,EAAE;IAEtE,YAAY,EAAE,EAAE,IAAI,EAAE,OAAO,EAAE,QAAQ,EAAE,KAAK,EAAE;IAIhD,MAAM,EAAE,EAAE,IAAI,EAAE,MAAM,EAAE,QAAQ,EAAE,KAAK,EAAE;IACzC,mBAAmB,EAAE,EAAE,IAAI,EAAE,MAAM,EAAE,QAAQ,EAAE,KAAK,EAAE;IACtD,SAAS,EAAE;QACV,IAAI,EAAE,MAAM;QACZ,QAAQ,EAAE,KAAK;KACf;IACD,MAAM,EAAE,EAAE,IAAI,EAAE,CAAC,CAAC,CAAC,MAAM,CAAC,CAAC,CAAC,EAAE,QAAQ,EAAE,KAAK,EAAE;IAE/C,gBAAgB,EAAE,EAAE,IAAI,EAAE,MAAM,EAAE,QAAQ,EAAE,KAAK,EAAE;IACnD,oBAAoB,EAAE;QACrB,IAAI,EAAE;YACL,EAAE,EAAE,EAAE,IAAI,EAAE,CAAC,MAAM,CAAC,KAAK,CAAC,KAAK,CAAC,EAAE,QAAQ,EAAE,IAAI,EAAE;YAClD,EAAE,EAAE,EAAE,IAAI,EAAE,CAAC,MAAM,CAAC,KAAK,CAAC,KAAK,CAAC,EAAE,QAAQ,EAAE,IAAI,EAAE;YAClD,EAAE,EAAE,EAAE,IAAI,EAAE,CAAC,MAAM,CAAC,KAAK,CAAC,KAAK,CAAC,EAAE,QAAQ,EAAE,IAAI,EAAE;YAClD,CAAC,EAAE,EAAE,IAAI,EAAE,MAAM,EAAE,QAAQ,EAAE,IAAI,EAAE;SACnC;QACD,QAAQ,EAAE,KAAK;KACf;IACD,iBAAiB,EAAE,EAAE,IAAI,EAAE,MAAM,EAAE,QAAQ,EAAE,IAAI,EAAE;CACnD,CAAC,CAAC;AAGH,yBAAyB,CAAC,KAAK,CAAC,EAAE,SAAS,EAAE,CAAC,EAAE,CAAC,CAAC;AAClD,yBAAyB,CAAC,KAAK,CAAC,EAAE,oBAAoB,EAAE,CAAC,EAAE,CAAC,CAAC;AAC7D,yBAAyB,CAAC,KAAK,CAAC,EAAE,WAAW,EAAE,CAAC,EAAE,oBAAoB,EAAE,CAAC,EAAE,CAAC,CAAC;AAC7E,yBAAyB,CAAC,KAAK,CAAC,EAAE,iBAAiB,EAAE,CAAC,EAAE,CAAC,CAAC;AAC1D,yBAAyB,CAAC,KAAK,CAAC,EAAE,iBAAiB,EAAE,CAAC,EAAE,CAAC,CAAC;AAC1D,yBAAyB,CAAC,KAAK,CAAC,EAAE,eAAe,EAAE,CAAC,EAAE,CAAC,CAAC;AACxD,yBAAyB,CAAC,KAAK,CAAC,EAAE,oBAAoB,EAAE,CAAC,EAAE,CAAC,CAAC;AAC7D,yBAAyB,CAAC,KAAK,CAAC,EAAE,cAAc,EAAE,CAAC,EAAE,CAAC,CAAC;AACvD,yBAAyB,CAAC,KAAK,CAAC,EAAE,MAAM,EAAE,CAAC,EAAE,CAAC,CAAC;AAC/C,yBAAyB,CAAC,KAAK,CAAC,EAAE,mBAAmB,EAAE,CAAC,EAAE,CAAC,CAAC;AAC5D,yBAAyB,CAAC,KAAK,CAC9B,EAAE,YAAY,EAAE,CAAC,EAAE,EACnB;IACC,IAAI,EAAE,sBAAsB;IAC5B,uBAAuB,EAAE,EAAE,YAAY,EAAE,IAAI,EAAE;CAC/C,CACD,CAAC;AAEF,MAAM,CAAC,MAAM,0BAA0B,GAAG,IAAI,MAAM,CAAuB;IAC1E,WAAW,EAAE,EAAE,IAAI,EAAE,MAAM,EAAE,QAAQ,EAAE,IAAI,EAAE;IAC7C,WAAW,EAAE,EAAE,IAAI,EAAE,MAAM,EAAE,QAAQ,EAAE,IAAI,EAAE;IAC7C,eAAe,EAAE,EAAE,IAAI,EAAE,MAAM,EAAE,QAAQ,EAAE,IAAI,EAAE;IACjD,SAAS,EAAE,EAAE,IAAI,EAAE,MAAM,EAAE,QAAQ,EAAE,IAAI,EAAE;IAC3C,EAAE,EAAE,EAAE,IAAI,EAAE,MAAM,EAAE,QAAQ,EAAE,IAAI,EAAE;IACpC,MAAM,EAAE;QACP,MAAM,EAAE,EAAE,IAAI,EAAE,MAAM,EAAE,IAAI,EAAE,aAAa,EAAE,QAAQ,EAAE,IAAI,EAAE;QAC7D,MAAM,EAAE;YACP,IAAI,EAAE,MAAM;YACZ,IAAI,EAAE,qBAAqB,CAAC,OAAO;YACnC,QAAQ,EAAE,KAAK;SACf;QACD,KAAK,EAAE,EAAE,IAAI,EAAE,MAAM,EAAE,QAAQ,EAAE,KAAK,EAAE;KACxC;IACD,SAAS,EAAE,iCAAiC;IAC5C,UAAU,EAAE;QACX,IAAI,EAAE,IAAI,MAAM,CAAC,iCAAiC,EAAE,EAAE,GAAG,EAAE,KAAK,EAAE,CAAC;QACnE,QAAQ,EAAE,KAAK;KACf;IACD,QAAQ,EAAE;QACT,IAAI,EAAE,IAAI,MAAM,CACf,EAAE,KAAK,EAAE,EAAE,IAAI,EAAE,MAAM,EAAE,QAAQ,EAAE,KAAK,EAAE,EAAE,EAC5C,EAAE,GAAG,EAAE,KAAK,EAAE,CACd;QACD,QAAQ,EAAE,KAAK;KACf;IACD,cAAc,EAAE;QACf,IAAI,EAAE,IAAI,MAAM,CAAC,EAAE,EAAE,EAAE,EAAE,IAAI,EAAE,MAAM,EAAE,QAAQ,EAAE,KAAK,EAAE,EAAE,EAAE,EAAE,GAAG,EAAE,KAAK,EAAE,CAAC;QAC3E,QAAQ,EAAE,KAAK;KACf;IACD,OAAO,EAAE,EAAE,IAAI,EAAE,MAAM,EAAE,QAAQ,EAAE,IAAI,EAAE;IACzC,GAAG,EAAE,EAAE,IAAI,EAAE,MAAM,EAAE,QAAQ,EAAE,IAAI,EAAE;IACrC,aAAa,EAAE,EAAE,IAAI,EAAE,MAAM,EAAE,QAAQ,EAAE,IAAI,EAAE;IAC/C,aAAa,EAAE,EAAE,IAAI,EAAE,OAAO,EAAE,QAAQ,EAAE,IAAI,EAAE;IAChD,aAAa,EAAE,EAAE,IAAI,EAAE,OAAO,EAAE,QAAQ,EAAE,IAAI,EAAE;IAChD,iBAAiB,EAAE,EAAE,IAAI,EAAE,IAAI,EAAE,QAAQ,EAAE,KAAK,EAAE,OAAO,EAAE,SAAS,EAAE;IACtE,oBAAoB,EAAE,EAAE,IAAI,EAAE,IAAI,EAAE,QAAQ,EAAE,IAAI,EAAE;IACpD,oBAAoB,EAAE,EAAE,IAAI,EAAE,IAAI,EAAE,QAAQ,EAAE,KAAK,EAAE;IACrD,mBAAmB,EAAE,EAAE,IAAI,EAAE,IAAI,EAAE,QAAQ,EAAE,KAAK,EAAE;IACpD,iBAAiB,EAAE,EAAE,IAAI,EAAE,IAAI,EAAE,QAAQ,EAAE,KAAK,EAAE;IAClD,oBAAoB,EAAE,EAAE,IAAI,EAAE,IAAI,EAAE,QAAQ,EAAE,KAAK,EAAE;IAErD,YAAY,EAAE,EAAE,IAAI,EAAE,OAAO,EAAE,QAAQ,EAAE,KAAK,EAAE;IAIhD,MAAM,EAAE,EAAE,IAAI,EAAE,MAAM,EAAE,QAAQ,EAAE,KAAK,EAAE;IACzC,mBAAmB,EAAE,EAAE,IAAI,EAAE,MAAM,EAAE,QAAQ,EAAE,KAAK,EAAE;IACtD,SAAS,EAAE;QACV,IAAI,EAAE,MAAM;QACZ,QAAQ,EAAE,KAAK;KACf;IACD,MAAM,EAAE,EAAE,IAAI,EAAE,CAAC,CAAC,CAAC,MAAM,CAAC,CAAC,CAAC,EAAE,QAAQ,EAAE,KAAK,EAAE;IAE/C,OAAO,EAAE,EAAE,IAAI,EAAE,OAAO,EAAE,QAAQ,EAAE,IAAI,EAAE;IAC1C,IAAI,EAAE,EAAE,IAAI,EAAE,MAAM,EAAE,QAAQ,EAAE,IAAI,EAAE;IACtC,WAAW,EAAE,EAAE,IAAI,EAAE,MAAM,EAAE,QAAQ,EAAE,IAAI,EAAE;IAC7C,iBAAiB,EAAE,EAAE,IAAI,EAAE,IAAI,EAAE,QAAQ,EAAE,IAAI,EAAE;IACjD,SAAS,EAAE,EAAE,IAAI,EAAE,MAAM,EAAE,QAAQ,EAAE,IAAI,EAAE;IAE3C,gBAAgB,EAAE,EAAE,IAAI,EAAE,MAAM,EAAE,QAAQ,EAAE,KAAK,EAAE;IACnD,oBAAoB,EAAE;QACrB,IAAI,EAAE;YACL,EAAE,EAAE,EAAE,IAAI,EAAE,CAAC,MAAM,CAAC,KAAK,CAAC,KAAK,CAAC,EAAE,QAAQ,EAAE,IAAI,EAAE;YAClD,EAAE,EAAE,EAAE,IAAI,EAAE,CAAC,MAAM,CAAC,KAAK,CAAC,KAAK,CAAC,EAAE,QAAQ,EAAE,IAAI,EAAE;YAClD,EAAE,EAAE,EAAE,IAAI,EAAE,CAAC,MAAM,CAAC,KAAK,CAAC,KAAK,CAAC,EAAE,QAAQ,EAAE,IAAI,EAAE;YAClD,CAAC,EAAE,EAAE,IAAI,EAAE,MAAM,EAAE,QAAQ,EAAE,IAAI,EAAE;SACnC;QACD,QAAQ,EAAE,KAAK;KACf;IAED,KAAK,EAAE,EAAE,IAAI,EAAE,MAAM,EAAE,IAAI,EAAE,MAAM,CAAC,MAAM,CAAC,YAAY,CAAC,EAAE,QAAQ,EAAE,KAAK,EAAE;IAC3E,WAAW,EAAE,EAAE,IAAI,EAAE,MAAM,EAAE,QAAQ,EAAE,KAAK,EAAE;IAC9C,UAAU,EAAE,EAAE,IAAI,EAAE,MAAM,EAAE,QAAQ,EAAE,KAAK,EAAE;IAC7C,UAAU,EAAE,EAAE,IAAI,EAAE,IAAI,EAAE,QAAQ,EAAE,KAAK,EAAE;CAC3C,CAAC,CAAC;AAEH,0BAA0B,CAAC,KAAK,CAAC,EAAE,EAAE,EAAE,CAAC,CAAC,EAAE,CAAC,CAAC;AAE7C,0BAA0B,CAAC,KAAK,CAAC,EAAE,KAAK,EAAE,CAAC,EAAE,WAAW,EAAE,CAAC,EAAE,CAAC,CAAC;AAC/D,0BAA0B,CAAC,KAAK,CAAC;IAChC,oBAAoB,EAAE,CAAC;CACvB,CAAC,CAAC;AACH,0BAA0B,CAAC,KAAK,CAAC,EAAE,WAAW,EAAE,CAAC,EAAE,WAAW,EAAE,CAAC,EAAE,CAAC,CAAC;AACrE,0BAA0B,CAAC,KAAK,CAAC,EAAE,iBAAiB,EAAE,CAAC,EAAE,CAAC,CAAC;AAC3D,0BAA0B,CAAC,KAAK,CAAC,EAAE,iBAAiB,EAAE,CAAC,EAAE,CAAC,CAAC;AAC3D,0BAA0B,CAAC,KAAK,CAAC,EAAE,eAAe,EAAE,CAAC,EAAE,CAAC,CAAC;AACzD,0BAA0B,CAAC,KAAK,CAAC,EAAE,oBAAoB,EAAE,CAAC,EAAE,CAAC,CAAC;AAC9D,0BAA0B,CAAC,KAAK,CAAC,EAAE,cAAc,EAAE,CAAC,EAAE,CAAC,CAAC;AACxD,0BAA0B,CAAC,KAAK,CAAC,EAAE,WAAW,EAAE,CAAC,CAAC,EAAE,CAAC,CAAC;AACtD,0BAA0B,CAAC,KAAK,CAAC,EAAE,OAAO,EAAE,CAAC,EAAE,CAAC,CAAC;AACjD,0BAA0B,CAAC,KAAK,CAAC,EAAE,MAAM,EAAE,CAAC,EAAE,CAAC,CAAC;AAChD,0BAA0B,CAAC,KAAK,CAAC,EAAE,mBAAmB,EAAE,CAAC,EAAE,CAAC,CAAC;AAC7D,0BAA0B,CAAC,KAAK,CAC/B,EAAE,YAAY,EAAE,CAAC,EAAE,EACnB;IACC,IAAI,EAAE,sBAAsB;IAC5B,uBAAuB,EAAE,EAAE,YAAY,EAAE,IAAI,EAAE;CAC/C,CACD,CAAC;AAEF,MAAM,CAAC,MAAM,mBAAmB,GAAG,IAAI,MAAM,CAAiB;IAC7D,WAAW,EAAE,EAAE,IAAI,EAAE,CAAC,CAAC,MAAM,CAAC,CAAC,EAAE,QAAQ,EAAE,IAAI,EAAE;IACjD,gBAAgB,EAAE,EAAE,IAAI,EAAE,MAAM,EAAE,QAAQ,EAAE,IAAI,EAAE;IAClD,SAAS,EAAE,EAAE,IAAI,EAAE,MAAM,EAAE,QAAQ,EAAE,IAAI,EAAE;IAC3C,MAAM,EAAE,EAAE,IAAI,EAAE,MAAM,EAAE,QAAQ,EAAE,IAAI,EAAE;IACxC,YAAY,EAAE,EAAE,IAAI,EAAE,CAAC,CAAC,MAAM,CAAC,CAAC,EAAE,QAAQ,EAAE,IAAI,EAAE;CAClD,CAAC,CAAC;AAEH,mBAAmB,CAAC,KAAK,CAAC,EAAE,SAAS,EAAE,CAAC,EAAE,CAAC,CAAC;AAE5C,MAAM,CAAC,MAAM,oBAAoB,GAAG,IAAI,MAAM,CAAiB;IAC9D,SAAS,EAAE,EAAE,IAAI,EAAE,MAAM,EAAE,QAAQ,EAAE,IAAI,EAAE;IAC3C,gBAAgB,EAAE,EAAE,IAAI,EAAE,MAAM,EAAE,QAAQ,EAAE,IAAI,EAAE;IAClD,SAAS,EAAE,EAAE,IAAI,EAAE,MAAM,EAAE,QAAQ,EAAE,IAAI,EAAE;IAC3C,gBAAgB,EAAE,EAAE,IAAI,EAAE,MAAM,EAAE,QAAQ,EAAE,IAAI,EAAE;IAClD,IAAI,EAAE,EAAE,IAAI,EAAE,MAAM,EAAE,QAAQ,EAAE,IAAI,EAAE;IACtC,QAAQ,EAAE,EAAE,IAAI,EAAE,CAAC,MAAM,CAAC,EAAE,QAAQ,EAAE,IAAI,EAAE;CAC5C,CAAC,CAAC;AAEH,oBAAoB,CAAC,KAAK,CAAC,EAAE,SAAS,EAAE,CAAC,EAAE,CAAC,CAAC;AAI7C,MAAM,CAAC,MAAM,wBAAwB,GAAG,IAAI,MAAM,CACjD;IACC,SAAS,EAAE,EAAE,IAAI,EAAE,MAAM,EAAE,QAAQ,EAAE,IAAI,EAAE;IAC3C,gBAAgB,EAAE,EAAE,IAAI,EAAE,MAAM,EAAE,QAAQ,EAAE,IAAI,EAAE;IAClD,IAAI,EAAE,EAAE,IAAI,EAAE,MAAM,EAAE,QAAQ,EAAE,IAAI,EAAE;IACtC,QAAQ,EAAE,CAAC,EAAE,IAAI,EAAE,MAAM,EAAE,QAAQ,EAAE,IAAI,EAAE,CAAC;IAC5C,SAAS,EAAE,EAAE,IAAI,EAAE,OAAO,EAAE,QAAQ,EAAE,IAAI,EAAE;IAC5C,OAAO,EAAE,EAAE,IAAI,EAAE,OAAO,EAAE,QAAQ,EAAE,IAAI,EAAE;IAC1C,YAAY,EAAE,EAAE,IAAI,EAAE,MAAM,EAAE,QAAQ,EAAE,IAAI,EAAE;IAC9C,SAAS,EAAE,EAAE,IAAI,EAAE,IAAI,EAAE,OAAO,EAAE,IAAI,CAAC,GAAG,EAAE,OAAO,EAAE,SAAS,EAAE;CAChE,EACD,EAAE,GAAG,EAAE,KAAK,EAAE,CACd,CAAC;AAEF,wBAAwB,CAAC,KAAK,CAAC,EAAE,SAAS,EAAE,CAAC,EAAE,CAAC,CAAC;AAEjD,wBAAwB,CAAC,KAAK,CAAC,EAAE,YAAY,EAAE,CAAC,CAAC,EAAE,CAAC,CAAC;AAErD,MAAM,CAAC,MAAM,mBAAmB,GAAG,MAAM,CAAC;IACzC,WAAW,EAAE,UAAU,CAAC,kBAAkB,CAAC;IAC3C,QAAQ,EAAE,IAAI,EAAE;IAChB,OAAO,EAAE,IAAI,EAAE,CAAC,QAAQ,EAAE;IAC1B,MAAM,EAAE,UAAU,CAAC,mBAAmB,CAAC;IACvC,MAAM,EAAE,MAAM,CAAC;QACd,IAAI,EAAE,GAAG,EAAE,CAAC,QAAQ,EAAE;QACtB,KAAK,EAAE,GAAG,EAAE,CAAC,QAAQ,EAAE;KACvB,CAAC,CAAC,QAAQ,EAAE;CACb,CAAC,CAAC;AAQH,MAAM,CAAC,MAAM,yBAAyB,GAAG,IAAI,MAAM,CAAwB;IAC1E,WAAW,EAAE,EAAE,IAAI,EAAE,MAAM,EAAE,IAAI,EAAE,kBAAkB,EAAE,QAAQ,EAAE,IAAI,EAAE;IACvE,QAAQ,EAAE,EAAE,IAAI,EAAE,IAAI,EAAE,QAAQ,EAAE,IAAI,EAAE,OAAO,EAAE,QAAQ,EAAE;IAC3D,OAAO,EAAE,EAAE,IAAI,EAAE,IAAI,EAAE,QAAQ,EAAE,KAAK,EAAE;IACxC,MAAM,EAAE,EAAE,IAAI,EAAE,MAAM,EAAE,IAAI,EAAE,mBAAmB,EAAE,QAAQ,EAAE,IAAI,EAAE;IACnE,MAAM,EAAE;QACP,IAAI,EAAE,IAAI,MAAM,CACf;YACC,KAAK,EAAE,EAAE,IAAI,EAAE,MAAM,EAAE,QAAQ,EAAE,KAAK,EAAE;YACxC,IAAI,EAAE,EAAE,IAAI,EAAE,MAAM,EAAE,QAAQ,EAAE,KAAK,EAAE;SACvC,EACD,EAAE,GAAG,EAAE,KAAK,EAAE,CACd;QACD,QAAQ,EAAE,KAAK;KACf;CACD,CAAC,CAAC;AACH,yBAAyB,CAAC,KAAK,CAAC,EAAE,WAAW,EAAE,CAAC,EAAE,CAAC,CAAC;AACpD,yBAAyB,CAAC,KAAK,CAAC,EAAE,WAAW,EAAE,CAAC,EAAE,MAAM,EAAE,CAAC,EAAE,CAAC,CAAC;AAC/D,yBAAyB,CAAC,KAAK,CAAC,EAAE,GAAG,EAAE,CAAC,EAAE,MAAM,EAAE,CAAC,EAAE,CAAC,CAAC;AAIvD,MAAM,CAAC,MAAM,mBAAmB,GAAG,IAAI,MAAM,CAAgB;IAC5D,SAAS,EAAE,EAAE,IAAI,EAAE,MAAM,EAAE,QAAQ,EAAE,IAAI,EAAE;IAC3C,SAAS,EAAE,EAAE,IAAI,EAAE,IAAI,EAAE,QAAQ,EAAE,IAAI,EAAE;IACzC,KAAK,EAAE,EAAE,IAAI,EAAE,MAAM,EAAE,QAAQ,EAAE,IAAI,EAAE;IACvC,KAAK,EAAE,EAAE,IAAI,EAAE,MAAM,EAAE,QAAQ,EAAE,IAAI,EAAE;IACvC,SAAS,EAAE,EAAE,IAAI,EAAE,MAAM,EAAE,QAAQ,EAAE,IAAI,EAAE;IAC3C,eAAe,EAAE;QAChB,SAAS,EAAE,EAAE,IAAI,EAAE,MAAM,EAAE,QAAQ,EAAE,IAAI,EAAE;QAC3C,MAAM,EAAE,EAAE,IAAI,EAAE,MAAM,EAAE,QAAQ,EAAE,KAAK,EAAE;QACzC,OAAO,EAAE,EAAE,IAAI,EAAE,MAAM,EAAE,QAAQ,EAAE,KAAK,EAAE;QAC1C,YAAY,EAAE,EAAE,IAAI,EAAE,MAAM,EAAE,QAAQ,EAAE,KAAK,EAAE;QAC/C,cAAc,EAAE,EAAE,IAAI,EAAE,MAAM,EAAE,QAAQ,EAAE,KAAK,EAAE;QACjD,OAAO,EAAE,EAAE,IAAI,EAAE,MAAM,EAAE,QAAQ,EAAE,KAAK,EAAE;QAC1C,kBAAkB,EAAE,EAAE,IAAI,EAAE,CAAC,MAAM,CAAC,EAAE,QAAQ,EAAE,KAAK,EAAE;QACvD,gBAAgB,EAAE,EAAE,IAAI,EAAE,OAAO,EAAE,QAAQ,EAAE,KAAK,EAAE;QACpD,YAAY,EAAE,EAAE,IAAI,EAAE,MAAM,EAAE,QAAQ,EAAE,KAAK,EAAE;KAC/C;IACD,SAAS,EAAE,iCAAiC;IAC5C,WAAW,EAAE,EAAE,IAAI,EAAE,MAAM,EAAE,IAAI,EAAE,WAAW,EAAE,QAAQ,EAAE,IAAI,EAAE;IAChE,IAAI,EAAE,EAAE,IAAI,EAAE,MAAM,EAAE,IAAI,EAAE,QAAQ,EAAE,QAAQ,EAAE,KAAK,EAAE;IACvD,iBAAiB,EAAE,EAAE,IAAI,EAAE,MAAM,EAAE,QAAQ,EAAE,KAAK,EAAE;IACpD,aAAa,EAAE,EAAE,IAAI,EAAE,MAAM,EAAE,QAAQ,EAAE,KAAK,EAAE;IAChD,iBAAiB,EAAE,EAAE,IAAI,EAAE,IAAI,EAAE,QAAQ,EAAE,KAAK,EAAE,OAAO,EAAE,OAAO,EAAE;IACpE,oBAAoB,EAAE,EAAE,IAAI,EAAE,IAAI,EAAE,QAAQ,EAAE,KAAK,EAAE;IAErD,YAAY,EAAE,EAAE,IAAI,EAAE,OAAO,EAAE,QAAQ,EAAE,KAAK,EAAE;IAChD,OAAO,EAAE,EAAE,IAAI,EAAE,OAAO,EAAE,QAAQ,EAAE,KAAK,EAAE;IAC3C,iBAAiB,EAAE,EAAE,IAAI,EAAE,MAAM,EAAE,QAAQ,EAAE,KAAK,EAAE;IACpD,OAAO,EAAE,EAAE,IAAI,EAAE,OAAO,EAAE,QAAQ,EAAE,IAAI,EAAE,OAAO,EAAE,KAAK,EAAE;IAC1D,MAAM,EAAE,EAAE,IAAI,EAAE,OAAO,EAAE,QAAQ,EAAE,IAAI,EAAE,OAAO,EAAE,KAAK,EAAE;IAIzD,YAAY,EAAE,EAAE,IAAI,EAAE,OAAO,EAAE,QAAQ,EAAE,KAAK,EAAE;IAChD,iBAAiB,EAAE,EAAE,IAAI,EAAE,MAAM,EAAE,QAAQ,EAAE,KAAK,EAAE,OAAO,EAAE,EAAE,EAAE;IACjE,OAAO,EAAE,EAAE,IAAI,EAAE,MAAM,EAAE,QAAQ,EAAE,KAAK,EAAE;IAK1C,UAAU,EAAE,EAAE,IAAI,EAAE,MAAM,EAAE,QAAQ,EAAE,KAAK,EAAE;IAC7C,SAAS,EAAE,EAAE,IAAI,EAAE,MAAM,EAAE,QAAQ,EAAE,KAAK,EAAE;IAI5C,SAAS,EAAE,EAAE,IAAI,EAAE,OAAO,EAAE,QAAQ,EAAE,KAAK,EAAE;IAC7C,MAAM,EAAE,EAAE,IAAI,EAAE,MAAM,EAAE,QAAQ,EAAE,KAAK,EAAE;IACzC,OAAO,EAAE,EAAE,IAAI,EAAE,OAAO,EAAE,QAAQ,EAAE,KAAK,EAAE;IAK3C,QAAQ,EAAE,EAAE,IAAI,EAAE,MAAM,EAAE,QAAQ,EAAE,KAAK,EAAE;IAC3C,QAAQ,EAAE,EAAE,IAAI,EAAE,CAAC,MAAM,CAAC,EAAE,QAAQ,EAAE,KAAK,EAAE;IAC7C,eAAe,EAAE,EAAE,IAAI,EAAE,MAAM,EAAE,QAAQ,EAAE,KAAK,EAAE;IAIlD,MAAM,EAAE,EAAE,IAAI,EAAE,MAAM,EAAE,QAAQ,EAAE,KAAK,EAAE;IACzC,OAAO,EAAE,EAAE,IAAI,EAAE,MAAM,EAAE,QAAQ,EAAE,KAAK,EAAE;IAC1C,MAAM,EAAE;QACP,IAAI,EAAE,IAAI,MAAM,CACf;YACC,MAAM,EAAE;gBACP,IAAI,EAAE,MAAM;gBACZ,IAAI,EAAE,MAAM,CAAC,MAAM,CAAC,aAAa,CAAC;gBAClC,QAAQ,EAAE,IAAI;aACd;YACD,MAAM,EAAE,EAAE,IAAI,EAAE,MAAM,EAAE,QAAQ,EAAE,KAAK,EAAE;YACzC,KAAK,EAAE,EAAE,IAAI,EAAE,MAAM,EAAE,QAAQ,EAAE,KAAK,EAAE;SACxC,EACD,EAAE,GAAG,EAAE,KAAK,EAAE,CACd;QACD,QAAQ,EAAE,KAAK;KACf;IACD,aAAa,EAAE,EAAE,IAAI,EAAE,OAAO,EAAE,QAAQ,EAAE,KAAK,EAAE;IACjD,aAAa,EAAE,EAAE,IAAI,EAAE,OAAO,EAAE,QAAQ,EAAE,KAAK,EAAE;IAKjD,YAAY,EAAE,EAAE,IAAI,EAAE,MAAM,CAAC,KAAK,CAAC,KAAK,EAAE,QAAQ,EAAE,KAAK,EAAE;IAG3D,iBAAiB,EAAE,EAAE,IAAI,EAAE,MAAM,EAAE,QAAQ,EAAE,KAAK,EAAE;IACpD,4BAA4B,EAAE,EAAE,IAAI,EAAE,MAAM,EAAE,QAAQ,EAAE,KAAK,EAAE;IAC/D,wBAAwB,EAAE,EAAE,IAAI,EAAE,MAAM,EAAE,QAAQ,EAAE,KAAK,EAAE;IAC3D,wBAAwB,EAAE,EAAE,IAAI,EAAE,MAAM,EAAE,QAAQ,EAAE,KAAK,EAAE;IAC3D,sBAAsB,EAAE,EAAE,IAAI,EAAE,MAAM,EAAE,QAAQ,EAAE,KAAK,EAAE;IAIzD,aAAa,EAAE,EAAE,IAAI,EAAE,MAAM,EAAE,QAAQ,EAAE,KAAK,EAAE;IAChD,mBAAmB,EAAE,EAAE,IAAI,EAAE,MAAM,EAAE,QAAQ,EAAE,KAAK,EAAE;IAItD,QAAQ,EAAE;QACT,IAAI,EAAE,IAAI,MAAM,CACf;YACC,UAAU,EAAE,EAAE,IAAI,EAAE,MAAM,EAAE,QAAQ,EAAE,KAAK,EAAE;YAC7C,MAAM,EAAE,EAAE,IAAI,EAAE,MAAM,EAAE,QAAQ,EAAE,KAAK,EAAE;YACzC,SAAS,EAAE,EAAE,IAAI,EAAE,OAAO,EAAE,QAAQ,EAAE,KAAK,EAAE;YAC7C,UAAU,EAAE,EAAE,IAAI,EAAE,IAAI,EAAE,QAAQ,EAAE,IAAI,EAAE;SAC1C,EACD,EAAE,GAAG,EAAE,KAAK,EAAE,CACd;QACD,QAAQ,EAAE,KAAK;KACf;CAC0B,CAAC,CAAC;AAE9B,mBAAmB,CAAC,KAAK,CAAC,EAAE,SAAS,EAAE,CAAC,EAAE,CAAC,CAAC;AAC5C,mBAAmB,CAAC,KAAK,CAAC,EAAE,OAAO,EAAE,CAAC,EAAE,CAAC,CAAC;AAC1C,mBAAmB,CAAC,KAAK,CAAC,EAAE,OAAO,EAAE,CAAC,EAAE,CAAC,CAAC;AAC1C,mBAAmB,CAAC,KAAK,CAAC,EAAE,SAAS,EAAE,CAAC,EAAE,EAAE,EAAE,MAAM,EAAE,IAAI,EAAE,CAAC,CAAC;AAC9D,mBAAmB,CAAC,KAAK,CAAC,EAAE,iBAAiB,EAAE,CAAC,EAAE,CAAC,CAAC;AACpD,mBAAmB,CAAC,KAAK,CACxB,EAAE,OAAO,EAAE,CAAC,EAAE,4BAA4B,EAAE,CAAC,EAAE,SAAS,EAAE,CAAC,CAAC,EAAE,EAC9D,EAAE,MAAM,EAAE,IAAI,EAAE,CAChB,CAAC;AACF,mBAAmB,CAAC,KAAK,CAAC,EAAE,KAAK,EAAE,CAAC,EAAE,CAAC,CAAC;AACxC,mBAAmB,CAAC,KAAK,CAAC,EAAE,OAAO,EAAE,CAAC,EAAE,EAAE,EAAE,UAAU,EAAE,IAAI,EAAE,MAAM,EAAE,IAAI,EAAE,CAAC,CAAC;AAG9E,mBAAmB,CAAC,KAAK,CACxB,EAAE,OAAO,EAAE,CAAC,EAAE,OAAO,EAAE,CAAC,EAAE,SAAS,EAAE,CAAC,EAAE,EACxC,EAAE,UAAU,EAAE,IAAI,EAAE,MAAM,EAAE,IAAI,EAAE,CAClC,CAAC;AACF,mBAAmB,CAAC,KAAK,CAAC,EAAE,QAAQ,EAAE,CAAC,EAAE,EAAE,EAAE,UAAU,EAAE,IAAI,EAAE,MAAM,EAAE,IAAI,EAAE,CAAC,CAAC;AAI/E,mBAAmB,CAAC,KAAK,CACxB,EAAE,YAAY,EAAE,CAAC,EAAE,SAAS,EAAE,CAAC,EAAE,EACjC,EAAE,UAAU,EAAE,IAAI,EAAE,MAAM,EAAE,IAAI,EAAE,CAClC,CAAC;AAKF,mBAAmB,CAAC,KAAK,CACxB,EAAE,SAAS,EAAE,CAAC,EAAE,SAAS,EAAE,CAAC,EAAE,EAC9B,EAAE,UAAU,EAAE,IAAI,EAAE,MAAM,EAAE,IAAI,EAAE,CAClC,CAAC;AAEF,mBAAmB,CAAC,KAAK,CAAC;IACzB,SAAS,EAAE,CAAC;IACZ,WAAW,EAAE,CAAC;IACd,2BAA2B,EAAE,CAAC;CAC9B,CAAC,CAAC;AACH,mBAAmB,CAAC,KAAK,CAAC,EAAE,SAAS,EAAE,CAAC,EAAE,OAAO,EAAE,CAAC,EAAE,CAAC,CAAC;AAExD,mBAAmB,CAAC,KAAK,CACxB,EAAE,eAAe,EAAE,CAAC,EAAE,EACtB,EAAE,UAAU,EAAE,IAAI,EAAE,MAAM,EAAE,IAAI,EAAE,CAClC,CAAC;AAGF,mBAAmB,CAAC,KAAK,CACxB,EAAE,YAAY,EAAE,CAAC,EAAE,EACnB;IACC,IAAI,EAAE,sBAAsB;IAC5B,uBAAuB,EAAE,EAAE,YAAY,EAAE,IAAI,EAAE;CAC/C,CACD,CAAC;AAGF,MAAM,CAAC,MAAM,oBAAoB,GAAG,IAAI,MAAM,CAAiB;IAC9D,SAAS,EAAE,EAAE,IAAI,EAAE,IAAI,EAAE,QAAQ,EAAE,IAAI,EAAE;IACzC,WAAW,EAAE,EAAE,IAAI,EAAE,MAAM,EAAE,QAAQ,EAAE,IAAI,EAAE;IAC7C,SAAS,EAAE,EAAE,IAAI,EAAE,IAAI,EAAE,QAAQ,EAAE,KAAK,EAAE;CAC1C,CAAC,CAAC;AACH,oBAAoB,CAAC,KAAK,CAAC,EAAE,SAAS,EAAE,CAAC,EAAE,EAAE,EAAE,MAAM,EAAE,IAAI,EAAE,CAAC,CAAC;AAE/D,oBAAoB,CAAC,KAAK,CAAC,EAAE,SAAS,EAAE,CAAC,EAAE,EAAE,EAAE,kBAAkB,EAAE,CAAC,EAAE,CAAC,CAAC;AAIxE,MAAM,CAAC,MAAM,mCAAmC,GAC/C,IAAI,MAAM,CAAgC;IACzC,KAAK,EAAE;QACN,IAAI,EAAE,MAAM;QACZ,IAAI,EAAE,MAAM,CAAC,MAAM,CAAC,oBAAoB,CAAC;QACzC,QAAQ,EAAE,IAAI;KACd;IACD,WAAW,EAAE,EAAE,IAAI,EAAE,MAAM,EAAE,QAAQ,EAAE,KAAK,EAAE;IAC9C,IAAI,EAAE;QACL,IAAI,EAAE,MAAM;QACZ,IAAI,EAAE,MAAM,CAAC,MAAM,CAAC,mBAAmB,CAAC;QACxC,QAAQ,EAAE,KAAK;KACf;IACD,OAAO,EAAE;QACR,IAAI,EAAE,MAAM;QACZ,IAAI,EAAE,MAAM,CAAC,MAAM,CAAC,sBAAsB,CAAC;QAC3C,QAAQ,EAAE,IAAI;KACd;IACD,QAAQ,EAAE;QACT,IAAI,EAAE,MAAM;QACZ,IAAI,EAAE,MAAM,CAAC,MAAM,CAAC,uBAAuB,CAAC;QAC5C,QAAQ,EAAE,KAAK;KACf;IACD,MAAM,EAAE,EAAE,IAAI,EAAE,MAAM,EAAE,QAAQ,EAAE,IAAI,EAAE;IACxC,IAAI,EAAE,EAAE,IAAI,EAAE,MAAM,EAAE,QAAQ,EAAE,KAAK,EAAE;IACvC,OAAO,EAAE,EAAE,IAAI,EAAE,MAAM,EAAE,QAAQ,EAAE,KAAK,EAAE;IAC1C,WAAW,EAAE;QACZ,IAAI,EAAE,MAAM;QACZ,IAAI,EAAE,CAAC,WAAW,CAAC,GAAG,EAAE,WAAW,CAAC,KAAK,EAAE,WAAW,CAAC,MAAM,CAAC;QAC9D,QAAQ,EAAE,KAAK;KACf;IACD,SAAS,EAAE,EAAE,IAAI,EAAE,IAAI,EAAE,QAAQ,EAAE,IAAI,EAAE;IACzC,SAAS,EAAE,EAAE,IAAI,EAAE,IAAI,EAAE,QAAQ,EAAE,IAAI,EAAE;CACzC,CAAC,CAAC;AAEJ,mCAAmC,CAAC,KAAK,CACxC,EAAE,KAAK,EAAE,CAAC,EAAE,WAAW,EAAE,CAAC,EAAE,IAAI,EAAE,CAAC,EAAE,EACrC,EAAE,MAAM,EAAE,IAAI,EAAE,CAChB,CAAC;AACF,mCAAmC,CAAC,KAAK,CAAC,EAAE,SAAS,EAAE,CAAC,CAAC,EAAE,CAAC,CAAC;AAI7D,MAAM,CAAC,MAAM,gCAAgC,GAC5C,IAAI,MAAM,CACT;IACC,OAAO,EAAE,EAAE,IAAI,EAAE,MAAM,EAAE,QAAQ,EAAE,IAAI,EAAE;IACzC,WAAW,EAAE;QACZ,IAAI,EAAE,MAAM;QACZ,IAAI,EAAE,MAAM,CAAC,MAAM,CAAC,WAAW,CAAC;QAChC,QAAQ,EAAE,IAAI;KACd;IACD,OAAO,EAAE,EAAE,IAAI,EAAE,MAAM,EAAE,QAAQ,EAAE,IAAI,EAAE;CACzC,EACD,EAAE,UAAU,EAAE,EAAE,SAAS,EAAE,IAAI,EAAE,SAAS,EAAE,IAAI,EAAE,EAAE,CACpD,CAAC;AACH,gCAAgC,CAAC,KAAK,CACrC,EAAE,OAAO,EAAE,CAAC,EAAE,WAAW,EAAE,CAAC,EAAE,EAC9B,EAAE,MAAM,EAAE,IAAI,EAAE,CAChB,CAAC"}
1
+ {"version":3,"file":"provider.js","sourceRoot":"","sources":["../../src/types/provider.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,2 @@
1
+ export {};
2
+ //# sourceMappingURL=schemas.test.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"schemas.test.d.ts","sourceRoot":"","sources":["../../src/types/schemas.test.ts"],"names":[],"mappings":""}
@@ -0,0 +1,357 @@
1
+ import { CaptchaType, ScheduledTaskNames, ScheduledTaskStatus, Tier, captchaTypeDefault, domainsDefault, powDifficultyDefault, } from "@prosopo/types";
2
+ import { Long } from "bson";
3
+ import mongoose from "mongoose";
4
+ import { describe, expect, it } from "vitest";
5
+ import { BannedDomainRecordSchema } from "./bannedDomain.js";
6
+ import { StoredPoWCaptchaRecordSchema, StoredPuzzleCaptchaRecordSchema, StoredSessionRecordSchema, StoredUserCommitmentRecordSchema, } from "./captcha.js";
7
+ import { UserDataSchema, UserSettingsSchema } from "./client.js";
8
+ import { CaptchaRecordSchema, ClientRecordSchema, CompositeIpAddressRecordSchemaObj, PoWCaptchaRecordSchema, ScheduledTaskRecordSchema, ScheduledTaskSchema, SessionRecordSchema, UserSolutionRecordSchema, } from "./provider.js";
9
+ import { SpamEmailDomainRecordSchema } from "./spamEmailDomain.js";
10
+ const indexesOf = (schema) => schema.indexes();
11
+ const hasIndexOn = (schema, field) => indexesOf(schema).some(([fields]) => field in fields);
12
+ const indexOptions = (schema, field) => indexesOf(schema).find(([fields]) => field in fields)?.[1];
13
+ const validate = (schema, doc) => {
14
+ const name = `T${modelCounter++}`;
15
+ const model = mongoose.model(name, schema.clone());
16
+ const instance = new model(doc);
17
+ return instance;
18
+ };
19
+ let modelCounter = 0;
20
+ const errorPaths = (error) => Object.keys(error?.errors ?? {}).sort();
21
+ describe("BannedDomainRecordSchema", () => {
22
+ it("requires a domain", () => {
23
+ expect(errorPaths(validate(BannedDomainRecordSchema, {}).validateSync())).toEqual(["domain"]);
24
+ });
25
+ it("accepts a domain", () => {
26
+ expect(validate(BannedDomainRecordSchema, {
27
+ domain: "bad.example",
28
+ }).validateSync()).toBeUndefined();
29
+ });
30
+ it("indexes the domain exactly once, via the unique constraint", () => {
31
+ expect(BannedDomainRecordSchema.path("domain").options.unique).toBe(true);
32
+ expect(indexesOf(BannedDomainRecordSchema)).toEqual([
33
+ [{ domain: 1 }, { unique: true, background: true }],
34
+ ]);
35
+ });
36
+ it("rejects an empty domain only if the string is absent, not blank", () => {
37
+ expect(errorPaths(validate(BannedDomainRecordSchema, { domain: "" }).validateSync())).toEqual(["domain"]);
38
+ });
39
+ });
40
+ describe("SpamEmailDomainRecordSchema", () => {
41
+ it("mirrors the banned-domain schema", () => {
42
+ expect(errorPaths(validate(SpamEmailDomainRecordSchema, {}).validateSync())).toEqual(["domain"]);
43
+ expect(SpamEmailDomainRecordSchema.path("domain").options.unique).toBe(true);
44
+ expect(indexesOf(SpamEmailDomainRecordSchema)).toHaveLength(1);
45
+ });
46
+ });
47
+ describe("ClientRecordSchema", () => {
48
+ it("requires a tier drawn from the Tier enum", () => {
49
+ expect(errorPaths(validate(ClientRecordSchema, {}).validateSync())).toEqual(["tier"]);
50
+ expect(errorPaths(validate(ClientRecordSchema, { tier: "platinum" }).validateSync())).toEqual(["tier"]);
51
+ expect(validate(ClientRecordSchema, { tier: Tier.Free }).validateSync()).toBeUndefined();
52
+ });
53
+ it("indexes the account", () => {
54
+ expect(hasIndexOn(ClientRecordSchema, "account")).toBe(true);
55
+ });
56
+ });
57
+ describe("CompositeIpAddressRecordSchemaObj", () => {
58
+ const ipSchema = new mongoose.Schema(CompositeIpAddressRecordSchemaObj);
59
+ it("requires the lower half but not the upper", () => {
60
+ expect(ipSchema.path("lower").isRequired).toBe(true);
61
+ expect(ipSchema.path("upper").isRequired).toBeFalsy();
62
+ });
63
+ it("stringifies a bigint so Decimal128 does not lose precision", () => {
64
+ const doc = validate(ipSchema, {
65
+ lower: 2n ** 63n + 1n,
66
+ type: "v6",
67
+ });
68
+ expect(doc.lower.toString()).toBe((2n ** 63n + 1n).toString());
69
+ });
70
+ it("unpacks a BSON Long into its unsigned decimal string", () => {
71
+ const doc = validate(ipSchema, {
72
+ lower: Long.fromString("18446744073709551615", true),
73
+ type: "v6",
74
+ });
75
+ expect(doc.lower.toString()).toBe("18446744073709551615");
76
+ });
77
+ it("passes a plain number straight through", () => {
78
+ const doc = validate(ipSchema, { lower: 3232235777, type: "v4" });
79
+ expect(doc.lower.toString()).toBe("3232235777");
80
+ });
81
+ it("passes a decimal string straight through", () => {
82
+ const doc = validate(ipSchema, { lower: "3232235777", type: "v4" });
83
+ expect(doc.lower.toString()).toBe("3232235777");
84
+ });
85
+ it("requires the address type", () => {
86
+ expect(errorPaths(validate(ipSchema, { lower: 1 }).validateSync())).toEqual(["type"]);
87
+ });
88
+ });
89
+ describe("CaptchaRecordSchema", () => {
90
+ const captcha = {
91
+ captchaId: "id",
92
+ captchaContentId: "content",
93
+ datasetId: "dataset",
94
+ datasetContentId: "datasetContent",
95
+ solved: true,
96
+ target: "bus",
97
+ salt: "0x01",
98
+ items: [{ hash: "h", data: "d", type: "image" }],
99
+ };
100
+ it("accepts a fully populated captcha", () => {
101
+ expect(validate(CaptchaRecordSchema, captcha).validateSync()).toBeUndefined();
102
+ });
103
+ it("names every missing required field at once", () => {
104
+ expect(errorPaths(validate(CaptchaRecordSchema, {}).validateSync())).toEqual([
105
+ "captchaContentId",
106
+ "captchaId",
107
+ "datasetContentId",
108
+ "datasetId",
109
+ "salt",
110
+ "solved",
111
+ "target",
112
+ ]);
113
+ });
114
+ it("treats the asset URI and the random key as optional", () => {
115
+ expect(CaptchaRecordSchema.path("assetURI").isRequired).toBeFalsy();
116
+ expect(CaptchaRecordSchema.path("randomKey").isRequired).toBeFalsy();
117
+ });
118
+ it("requires every field of an embedded item", () => {
119
+ const doc = validate(CaptchaRecordSchema, {
120
+ ...captcha,
121
+ items: [{ hash: "h" }],
122
+ });
123
+ expect(errorPaths(doc.validateSync())).toEqual([
124
+ "items.0.data",
125
+ "items.0.type",
126
+ ]);
127
+ });
128
+ it("accepts an empty item list", () => {
129
+ expect(validate(CaptchaRecordSchema, { ...captcha, items: [] }).validateSync()).toBeUndefined();
130
+ });
131
+ it("gives embedded items no id of their own", () => {
132
+ const doc = validate(CaptchaRecordSchema, captcha);
133
+ expect(doc.items[0]._id).toBeUndefined();
134
+ });
135
+ it("carries the compound index that powers random sampling", () => {
136
+ const compound = indexesOf(CaptchaRecordSchema).find(([fields]) => "datasetId" in fields && "solved" in fields && "randomKey" in fields);
137
+ expect(compound).toBeDefined();
138
+ });
139
+ });
140
+ describe("UserSolutionRecordSchema", () => {
141
+ const solution = {
142
+ captchaId: "id",
143
+ captchaContentId: "content",
144
+ salt: "0x01",
145
+ solution: ["a", "b"],
146
+ processed: false,
147
+ checked: false,
148
+ commitmentId: "commitment",
149
+ };
150
+ it("accepts a complete solution", () => {
151
+ expect(validate(UserSolutionRecordSchema, solution).validateSync()).toBeUndefined();
152
+ });
153
+ it("stamps createdAt so the TTL has something to expire", () => {
154
+ const doc = validate(UserSolutionRecordSchema, solution);
155
+ expect(doc.createdAt).toBeInstanceOf(Date);
156
+ });
157
+ it("expires solutions after four weeks", () => {
158
+ expect(UserSolutionRecordSchema.path("createdAt").options.expires).toBe(60 * 60 * 24 * 7 * 4);
159
+ });
160
+ it("is embedded, so it carries no id", () => {
161
+ const doc = validate(UserSolutionRecordSchema, solution);
162
+ expect(doc._id).toBeUndefined();
163
+ });
164
+ });
165
+ describe("ScheduledTaskSchema", () => {
166
+ const task = {
167
+ processName: ScheduledTaskNames.BatchCommitment,
168
+ datetime: new Date(),
169
+ status: ScheduledTaskStatus.Running,
170
+ };
171
+ it("accepts a minimal task", () => {
172
+ expect(ScheduledTaskSchema.safeParse(task).success).toBe(true);
173
+ });
174
+ it("rejects a process name outside the enum", () => {
175
+ expect(ScheduledTaskSchema.safeParse({ ...task, processName: "nope" }).success).toBe(false);
176
+ });
177
+ it("rejects a status outside the enum", () => {
178
+ expect(ScheduledTaskSchema.safeParse({ ...task, status: "nope" }).success).toBe(false);
179
+ });
180
+ it("rejects a datetime that is not a Date", () => {
181
+ expect(ScheduledTaskSchema.safeParse({ ...task, datetime: Date.now() }).success).toBe(false);
182
+ });
183
+ it("accepts an optional result carrying arbitrary data", () => {
184
+ const parsed = ScheduledTaskSchema.safeParse({
185
+ ...task,
186
+ updated: new Date(),
187
+ result: { data: { rows: 3 }, error: "partial" },
188
+ });
189
+ expect(parsed.success).toBe(true);
190
+ });
191
+ it("accepts an empty result object", () => {
192
+ expect(ScheduledTaskSchema.safeParse({ ...task, result: {} }).success).toBe(true);
193
+ });
194
+ });
195
+ describe("ScheduledTaskRecordSchema", () => {
196
+ it("requires the process name and status", () => {
197
+ expect(errorPaths(validate(ScheduledTaskRecordSchema, {}).validateSync())).toEqual(["datetime", "processName", "status"]);
198
+ });
199
+ it("expires task records after a week", () => {
200
+ expect(ScheduledTaskRecordSchema.path("datetime").options.expires).toBe(60 * 60 * 24 * 7);
201
+ });
202
+ it("indexes the process name on its own and with the status", () => {
203
+ const indexes = indexesOf(ScheduledTaskRecordSchema).map(([fields]) => Object.keys(fields).join(","));
204
+ expect(indexes).toContain("processName");
205
+ expect(indexes).toContain("processName,status");
206
+ });
207
+ });
208
+ describe("PoWCaptchaRecordSchema", () => {
209
+ it("requires the challenge and both accounts", () => {
210
+ const paths = errorPaths(validate(PoWCaptchaRecordSchema, {}).validateSync());
211
+ expect(paths).toContain("challenge");
212
+ expect(paths).toContain("dappAccount");
213
+ expect(paths).toContain("userAccount");
214
+ });
215
+ it("leaves every outcome timestamp optional, since they arrive later", () => {
216
+ for (const field of [
217
+ "submittedAtTimestamp",
218
+ "verifiedAtTimestamp",
219
+ "failedAtTimestamp",
220
+ "lastUpdatedTimestamp",
221
+ ]) {
222
+ expect(PoWCaptchaRecordSchema.path(field).isRequired).toBeFalsy();
223
+ }
224
+ });
225
+ it("indexes the challenge for lookup by id", () => {
226
+ expect(hasIndexOn(PoWCaptchaRecordSchema, "challenge")).toBe(true);
227
+ });
228
+ it("uses a partial index for the pending-stage sweep", () => {
229
+ expect(indexOptions(PoWCaptchaRecordSchema, "pendingStage")).toMatchObject({
230
+ partialFilterExpression: { pendingStage: true },
231
+ });
232
+ });
233
+ });
234
+ describe("SessionRecordSchema", () => {
235
+ it("requires the session id", () => {
236
+ expect(errorPaths(validate(SessionRecordSchema, {}).validateSync())).toContain("sessionId");
237
+ });
238
+ it("defaults the boolean flags rather than requiring them", () => {
239
+ const doc = validate(SessionRecordSchema, {
240
+ sessionId: "s",
241
+ createdAt: new Date(),
242
+ });
243
+ expect(doc.webView).toBe(false);
244
+ expect(doc.iFrame).toBe(false);
245
+ expect(doc.decryptedHeadHash).toBe("");
246
+ });
247
+ it("constrains the session id to be unique", () => {
248
+ expect(indexOptions(SessionRecordSchema, "sessionId")).toMatchObject({
249
+ unique: true,
250
+ });
251
+ });
252
+ it("keeps the analytics indexes sparse", () => {
253
+ expect(indexOptions(SessionRecordSchema, "isEscalation")).toMatchObject({
254
+ sparse: true,
255
+ });
256
+ expect(indexOptions(SessionRecordSchema, "isProtect")).toMatchObject({
257
+ sparse: true,
258
+ });
259
+ expect(indexOptions(SessionRecordSchema, "ruleHash")).toMatchObject({
260
+ sparse: true,
261
+ });
262
+ });
263
+ });
264
+ describe("UserSettingsSchema", () => {
265
+ const settings = (overrides = {}) => validate(UserSettingsSchema, overrides);
266
+ it("applies the shared defaults when nothing is supplied", () => {
267
+ const doc = settings();
268
+ expect(doc.captchaType).toBe(captchaTypeDefault);
269
+ expect(doc.powDifficulty).toBe(powDifficultyDefault);
270
+ expect([...doc.domains]).toEqual(domainsDefault);
271
+ });
272
+ it("rejects a captcha type outside the enum", () => {
273
+ expect(errorPaths(settings({ captchaType: "sudoku" }).validateSync())).toEqual(["captchaType"]);
274
+ expect(settings({ captchaType: CaptchaType.pow }).validateSync()).toBeUndefined();
275
+ });
276
+ it("defaults the traffic filter to blocking abusers only", () => {
277
+ const doc = settings();
278
+ expect(doc.trafficFilter.blockAbuser).toBe(true);
279
+ expect(doc.trafficFilter.blockVpn).toBe(false);
280
+ expect(doc.trafficFilter.blockTor).toBe(false);
281
+ expect(doc.trafficFilter.skipExtrasOnValidDnsPath).toBe(true);
282
+ });
283
+ it("bounds the abuser score threshold to the unit interval", () => {
284
+ expect(errorPaths(settings({
285
+ trafficFilter: { abuserScoreThreshold: 1.5 },
286
+ }).validateSync())).toEqual(["trafficFilter.abuserScoreThreshold"]);
287
+ expect(errorPaths(settings({
288
+ trafficFilter: { abuserScoreThreshold: -0.1 },
289
+ }).validateSync())).toEqual(["trafficFilter.abuserScoreThreshold"]);
290
+ expect(settings({ trafficFilter: { abuserScoreThreshold: 1 } }).validateSync()).toBeUndefined();
291
+ });
292
+ it("rejects a negative auto-ban threshold", () => {
293
+ expect(errorPaths(settings({ autoBanScoreThreshold: -1 }).validateSync())).toEqual(["autoBanScoreThreshold"]);
294
+ });
295
+ it("defaults the honeypot to a disabled morse challenge", () => {
296
+ const doc = settings();
297
+ expect(doc.honeypot.enabled).toBe(false);
298
+ expect(doc.honeypot.encodingType).toBe("morse");
299
+ });
300
+ it("allows only the two honeypot encodings", () => {
301
+ expect(errorPaths(settings({ honeypot: { encodingType: "braille" } }).validateSync())).toEqual(["honeypot.encodingType"]);
302
+ expect(settings({ honeypot: { encodingType: "semaphore" } }).validateSync()).toBeUndefined();
303
+ });
304
+ it("defaults the spam filter and its email rules to off", () => {
305
+ const doc = settings();
306
+ expect(doc.spamFilter.enabled).toBe(false);
307
+ expect(doc.spamFilter.emailRules.enabled).toBe(false);
308
+ expect([...doc.spamFilter.emailRules.customRegexBlocklist]).toEqual([]);
309
+ });
310
+ it("seeds the context-aware thresholds for both contexts", () => {
311
+ const doc = settings();
312
+ expect(Object.keys(doc.contextAware.contexts).sort()).toEqual(Object.keys(doc.contextAware.contexts).sort());
313
+ expect(doc.contextAware.enabled).toBe(false);
314
+ });
315
+ it("leaves the ip validation rules unset unless configured", () => {
316
+ expect(settings().ipValidationRules).toBeUndefined();
317
+ });
318
+ it("applies the ip validation defaults once the block is present", () => {
319
+ const doc = settings({ ipValidationRules: {} });
320
+ expect(doc.ipValidationRules.enabled).toBe(false);
321
+ expect(doc.ipValidationRules.forceConsistentIp).toBe(false);
322
+ expect(doc.ipValidationRules.countryOverrides).toBeUndefined();
323
+ });
324
+ it("rejects a negative distance threshold", () => {
325
+ expect(errorPaths(settings({
326
+ ipValidationRules: { distanceThresholdKm: -1 },
327
+ }).validateSync())).toEqual(["ipValidationRules.distanceThresholdKm"]);
328
+ });
329
+ });
330
+ describe("UserDataSchema", () => {
331
+ it("requires nothing, so partial signups can be persisted", () => {
332
+ expect(validate(UserDataSchema, {}).validateSync()).toBeUndefined();
333
+ });
334
+ it("nests the user settings and applies their defaults", () => {
335
+ const doc = validate(UserDataSchema, { settings: {} });
336
+ expect(doc.settings.captchaType).toBe(captchaTypeDefault);
337
+ });
338
+ });
339
+ describe("the stored-event schemas", () => {
340
+ it("reuse the session schema verbatim", () => {
341
+ expect(StoredSessionRecordSchema).toBe(SessionRecordSchema);
342
+ });
343
+ it("index the session id on every stored captcha type", () => {
344
+ for (const schema of [
345
+ StoredUserCommitmentRecordSchema,
346
+ StoredPoWCaptchaRecordSchema,
347
+ StoredPuzzleCaptchaRecordSchema,
348
+ ]) {
349
+ expect(hasIndexOn(schema, "sessionId")).toBe(true);
350
+ }
351
+ });
352
+ it("are copies, so indexing them does not touch the provider schemas", () => {
353
+ expect(StoredPoWCaptchaRecordSchema).not.toBe(PoWCaptchaRecordSchema);
354
+ expect(hasIndexOn(PoWCaptchaRecordSchema, "sessionId")).toBe(false);
355
+ });
356
+ });
357
+ //# sourceMappingURL=schemas.test.js.map