@powersync/service-sync-rules 0.0.0-dev-20260602073133 → 0.0.0-dev-20260803144812

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (134) hide show
  1. package/dist/BucketParameterQuerier.d.ts +4 -0
  2. package/dist/BucketParameterQuerier.js.map +1 -1
  3. package/dist/SqlSyncRules.d.ts +0 -5
  4. package/dist/SqlSyncRules.js.map +1 -1
  5. package/dist/TablePattern.d.ts +2 -0
  6. package/dist/TablePattern.js +18 -1
  7. package/dist/TablePattern.js.map +1 -1
  8. package/dist/compiler/expression.d.ts +23 -2
  9. package/dist/compiler/expression.js +30 -3
  10. package/dist/compiler/expression.js.map +1 -1
  11. package/dist/compiler/filter.js +2 -2
  12. package/dist/compiler/filter.js.map +1 -1
  13. package/dist/compiler/ir_to_sync_plan.js +7 -1
  14. package/dist/compiler/ir_to_sync_plan.js.map +1 -1
  15. package/dist/compiler/parser.d.ts +18 -0
  16. package/dist/compiler/parser.js +60 -7
  17. package/dist/compiler/parser.js.map +1 -1
  18. package/dist/compiler/querier_graph.js +2 -2
  19. package/dist/compiler/querier_graph.js.map +1 -1
  20. package/dist/compiler/sqlite.d.ts +3 -2
  21. package/dist/compiler/sqlite.js +33 -3
  22. package/dist/compiler/sqlite.js.map +1 -1
  23. package/dist/compiler/table.js +4 -1
  24. package/dist/compiler/table.js.map +1 -1
  25. package/dist/events/SqlEventDescriptor.d.ts +1 -1
  26. package/dist/events/SqlEventSourceQuery.d.ts +1 -1
  27. package/dist/events/SqlEventSourceQuery.js +5 -4
  28. package/dist/events/SqlEventSourceQuery.js.map +1 -1
  29. package/dist/from_yaml.js +139 -175
  30. package/dist/from_yaml.js.map +1 -1
  31. package/dist/index.d.ts +6 -10
  32. package/dist/index.js +6 -10
  33. package/dist/index.js.map +1 -1
  34. package/dist/{BaseSqlDataQuery.d.ts → legacy/BaseSqlDataQuery.d.ts} +5 -5
  35. package/dist/{BaseSqlDataQuery.js → legacy/BaseSqlDataQuery.js} +2 -2
  36. package/dist/legacy/BaseSqlDataQuery.js.map +1 -0
  37. package/dist/{SqlBucketDescriptor.d.ts → legacy/SqlBucketDescriptor.d.ts} +10 -10
  38. package/dist/{SqlBucketDescriptor.js → legacy/SqlBucketDescriptor.js} +2 -2
  39. package/dist/legacy/SqlBucketDescriptor.js.map +1 -0
  40. package/dist/{SqlDataQuery.d.ts → legacy/SqlDataQuery.d.ts} +4 -4
  41. package/dist/{SqlDataQuery.js → legacy/SqlDataQuery.js} +4 -4
  42. package/dist/legacy/SqlDataQuery.js.map +1 -0
  43. package/dist/{SqlParameterQuery.d.ts → legacy/SqlParameterQuery.d.ts} +9 -9
  44. package/dist/{SqlParameterQuery.js → legacy/SqlParameterQuery.js} +6 -6
  45. package/dist/legacy/SqlParameterQuery.js.map +1 -0
  46. package/dist/{StaticSqlParameterQuery.d.ts → legacy/StaticSqlParameterQuery.d.ts} +8 -8
  47. package/dist/{StaticSqlParameterQuery.js → legacy/StaticSqlParameterQuery.js} +6 -5
  48. package/dist/legacy/StaticSqlParameterQuery.js.map +1 -0
  49. package/dist/{TableQuerySchema.d.ts → legacy/TableQuerySchema.d.ts} +2 -2
  50. package/dist/legacy/TableQuerySchema.js.map +1 -0
  51. package/dist/{TableValuedFunctionSqlParameterQuery.d.ts → legacy/TableValuedFunctionSqlParameterQuery.d.ts} +9 -9
  52. package/dist/{TableValuedFunctionSqlParameterQuery.js → legacy/TableValuedFunctionSqlParameterQuery.js} +6 -5
  53. package/dist/legacy/TableValuedFunctionSqlParameterQuery.js.map +1 -0
  54. package/dist/{sql_filters.d.ts → legacy/sql_filters.d.ts} +6 -6
  55. package/dist/{sql_filters.js → legacy/sql_filters.js} +8 -7
  56. package/dist/legacy/sql_filters.js.map +1 -0
  57. package/dist/{sql_support.d.ts → legacy/sql_support.d.ts} +2 -6
  58. package/dist/{sql_support.js → legacy/sql_support.js} +4 -25
  59. package/dist/legacy/sql_support.js.map +1 -0
  60. package/dist/{streams → legacy/streams}/filter.d.ts +5 -5
  61. package/dist/{streams → legacy/streams}/filter.js +6 -5
  62. package/dist/legacy/streams/filter.js.map +1 -0
  63. package/dist/{streams → legacy/streams}/from_sql.d.ts +2 -2
  64. package/dist/{streams → legacy/streams}/from_sql.js +5 -5
  65. package/dist/legacy/streams/from_sql.js.map +1 -0
  66. package/dist/{streams → legacy/streams}/functions.d.ts +1 -1
  67. package/dist/{streams → legacy/streams}/functions.js +1 -1
  68. package/dist/legacy/streams/functions.js.map +1 -0
  69. package/dist/{streams → legacy/streams}/parameter.d.ts +5 -5
  70. package/dist/legacy/streams/parameter.js.map +1 -0
  71. package/dist/{streams → legacy/streams}/stream.d.ts +6 -6
  72. package/dist/{streams → legacy/streams}/stream.js +2 -2
  73. package/dist/legacy/streams/stream.js.map +1 -0
  74. package/dist/{streams → legacy/streams}/variant.d.ts +5 -5
  75. package/dist/{streams → legacy/streams}/variant.js +2 -3
  76. package/dist/legacy/streams/variant.js.map +1 -0
  77. package/dist/{validators.d.ts → legacy/validators.d.ts} +1 -1
  78. package/dist/{validators.js → legacy/validators.js} +2 -2
  79. package/dist/legacy/validators.js.map +1 -0
  80. package/dist/sql_functions.js +1 -1
  81. package/dist/sql_functions.js.map +1 -1
  82. package/dist/sqliteBool.d.ts +5 -0
  83. package/dist/sqliteBool.js +23 -0
  84. package/dist/sqliteBool.js.map +1 -0
  85. package/dist/sync_plan/engine/javascript.js +3 -2
  86. package/dist/sync_plan/engine/javascript.js.map +1 -1
  87. package/dist/sync_plan/engine/scalar_expression_engine.js +7 -0
  88. package/dist/sync_plan/engine/scalar_expression_engine.js.map +1 -1
  89. package/dist/sync_plan/engine/sqlite.js +3 -0
  90. package/dist/sync_plan/engine/sqlite.js.map +1 -1
  91. package/dist/sync_plan/evaluator/bucket_data_source.js +3 -2
  92. package/dist/sync_plan/evaluator/bucket_data_source.js.map +1 -1
  93. package/dist/sync_plan/evaluator/parameter_evaluator.js +1 -1
  94. package/dist/sync_plan/evaluator/parameter_evaluator.js.map +1 -1
  95. package/dist/sync_plan/evaluator/parameter_index_lookup_creator.js +2 -2
  96. package/dist/sync_plan/evaluator/parameter_index_lookup_creator.js.map +1 -1
  97. package/dist/sync_plan/evaluator/table_processor_to_sql.d.ts +5 -2
  98. package/dist/sync_plan/evaluator/table_processor_to_sql.js +10 -0
  99. package/dist/sync_plan/evaluator/table_processor_to_sql.js.map +1 -1
  100. package/dist/sync_plan/plan.d.ts +13 -4
  101. package/dist/sync_plan/plan_equality_serialized.d.ts +25 -0
  102. package/dist/sync_plan/plan_equality_serialized.js +46 -0
  103. package/dist/sync_plan/plan_equality_serialized.js.map +1 -0
  104. package/dist/sync_plan/serialize.d.ts +35 -18
  105. package/dist/sync_plan/serialize.js +17 -4
  106. package/dist/sync_plan/serialize.js.map +1 -1
  107. package/dist/utils.d.ts +1 -0
  108. package/dist/utils.js +13 -1
  109. package/dist/utils.js.map +1 -1
  110. package/dist/yaml_validation.d.ts +73 -0
  111. package/dist/yaml_validation.js +140 -0
  112. package/dist/yaml_validation.js.map +1 -0
  113. package/package.json +2 -3
  114. package/dist/BaseSqlDataQuery.js.map +0 -1
  115. package/dist/SqlBucketDescriptor.js.map +0 -1
  116. package/dist/SqlDataQuery.js.map +0 -1
  117. package/dist/SqlParameterQuery.js.map +0 -1
  118. package/dist/StaticSqlParameterQuery.js.map +0 -1
  119. package/dist/TableQuerySchema.js.map +0 -1
  120. package/dist/TableValuedFunctionSqlParameterQuery.js.map +0 -1
  121. package/dist/sql_filters.js.map +0 -1
  122. package/dist/sql_support.js.map +0 -1
  123. package/dist/streams/filter.js.map +0 -1
  124. package/dist/streams/from_sql.js.map +0 -1
  125. package/dist/streams/functions.js.map +0 -1
  126. package/dist/streams/parameter.js.map +0 -1
  127. package/dist/streams/stream.js.map +0 -1
  128. package/dist/streams/utils.d.ts +0 -1
  129. package/dist/streams/utils.js +0 -13
  130. package/dist/streams/utils.js.map +0 -1
  131. package/dist/streams/variant.js.map +0 -1
  132. package/dist/validators.js.map +0 -1
  133. /package/dist/{TableQuerySchema.js → legacy/TableQuerySchema.js} +0 -0
  134. /package/dist/{streams → legacy/streams}/parameter.js +0 -0
@@ -1 +1 @@
1
- {"version":3,"file":"scalar_expression_engine.js","sourceRoot":"","sources":["../../../src/sync_plan/engine/scalar_expression_engine.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"scalar_expression_engine.js","sourceRoot":"","sources":["../../../src/sync_plan/engine/scalar_expression_engine.ts"],"names":[],"mappings":"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"}
@@ -46,6 +46,9 @@ export function sqliteExpressionEngine(sqlite, compatibility) {
46
46
  return impl.call(...args);
47
47
  });
48
48
  }
49
+ // We want upper / lower to use a JS implementation to make them Unicode aware.
50
+ registerPowerSyncFunction('upper');
51
+ registerPowerSyncFunction('lower');
49
52
  // Needed to make them deterministic / prevent passing 'now'
50
53
  registerPowerSyncFunction('unixepoch');
51
54
  registerPowerSyncFunction('datetime');
@@ -1 +1 @@
1
- {"version":3,"file":"sqlite.js","sourceRoot":"","sources":["../../../src/sync_plan/engine/sqlite.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,gBAAgB,EAAE,oBAAoB,EAAE,MAAM,gBAAgB,CAAC;AAExE,OAAO,EAAqD,oBAAoB,EAAE,MAAM,+BAA+B,CAAC;AAoBxH;;GAEG;AACH,MAAM,UAAU,UAAU,CAAC,MAAoC;IAC7D,OAAO;QACL,YAAY;YACV,iHAAiH;YACjH,iHAAiH;YACjH,+GAA+G;YAC/G,yCAAyC;YACzC,MAAM,EAAE,GAAG,IAAI,MAAM,CAAC,YAAY,CAAC,UAAU,EAAE,EAAE,QAAQ,EAAE,IAAI,EAAE,WAAW,EAAE,IAAI,EAAE,YAAY,EAAE,IAAI,EAAS,CAAC,CAAC;YAEjH,OAAO;gBACL,gBAAgB,CAAC,IAAI,EAAE,OAAO,EAAE,IAAI;oBAClC,EAAE,CAAC,QAAQ,CAAC,IAAI,EAAE,EAAE,kBAAkB,EAAE,IAAI,EAAE,OAAO,EAAE,OAAO,CAAC,QAAQ,EAAE,aAAa,EAAE,IAAI,EAAE,EAAE,IAAI,CAAC,CAAC;gBACxG,CAAC;gBACD,OAAO,CAAC,GAAG;oBACT,4GAA4G;oBAC5G,MAAM,IAAI,GAAG,EAAE,CAAC,OAAO,CAAC,GAAG,CAAC,CAAC;oBAC7B,OAAO;wBACL,GAAG,CAAC,MAAM;4BACR,wFAAwF;4BACxF,OAAO,IAAI,CAAC,GAAG,CAAC,GAAG,MAAM,CAA+B,CAAC;wBAC3D,CAAC;qBACF,CAAC;gBACJ,CAAC;aACF,CAAC;QACJ,CAAC;KACF,CAAC;AACJ,CAAC;AAED;;;;;;;GAOG;AACH,MAAM,UAAU,sBAAsB,CAAC,MAAc,EAAE,aAAmC;IACxF,MAAM,EAAE,GAAG,MAAM,CAAC,YAAY,EAAE,CAAC;IACjC,MAAM,SAAS,GAAG,oBAAoB,CAAC,aAAa,CAAC,CAAC;IAEtD,SAAS,yBAAyB,CAAC,IAAY;QAC7C,MAAM,IAAI,GAAG,SAAS,CAAC,KAAK,CAAC,IAAI,CAAE,CAAC;QAEpC,EAAE,CAAC,gBAAgB,CAAC,IAAI,EAAE,EAAE,QAAQ,EAAE,IAAI,EAAE,EAAE,CAAC,GAAG,IAAI,EAAE,EAAE;YACxD,OAAO,IAAI,CAAC,IAAI,CAAC,GAAG,IAAI,CAAC,CAAC;QAC5B,CAAC,CAAC,CAAC;IACL,CAAC;IAED,4DAA4D;IAC5D,yBAAyB,CAAC,WAAW,CAAC,CAAC;IACvC,yBAAyB,CAAC,UAAU,CAAC,CAAC;IAEtC,yBAAyB,CAAC,cAAc,CAAC,CAAC;IAC1C,yBAAyB,CAAC,WAAW,CAAC,CAAC;IACvC,yBAAyB,CAAC,MAAM,CAAC,CAAC;IAClC,yBAAyB,CAAC,MAAM,CAAC,CAAC;IAElC,EAAE,CAAC,gBAAgB,CAAC,kBAAkB,EAAE,EAAE,QAAQ,EAAE,KAAK,EAAE,EAAE,CAAC,CAAC,EAAE,CAAC,EAAE,EAAE,CAAC,gBAAgB,CAAC,IAAI,EAAE,CAAC,EAAE,CAAC,CAAC,CAAC,CAAC;IAErG,OAAO;QACL,gBAAgB,CAAC,KAAK;YACpB,4GAA4G;YAC5G,MAAM,IAAI,GAAG,EAAE,CAAC,OAAO,CAAC,oBAAoB,CAAC,KAAK,CAAC,CAAC,CAAC;YACrD,OAAO;gBACL,QAAQ,CAAC,MAAM;oBACb,OAAO,IAAI,CAAC,GAAG,CAAC,MAAM,CAAC,CAAC;gBAC1B,CAAC;aACF,CAAC;QACJ,CAAC;KACF,CAAC;AACJ,CAAC"}
1
+ {"version":3,"file":"sqlite.js","sourceRoot":"","sources":["../../../src/sync_plan/engine/sqlite.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,gBAAgB,EAAE,oBAAoB,EAAE,MAAM,gBAAgB,CAAC;AAExE,OAAO,EAAqD,oBAAoB,EAAE,MAAM,+BAA+B,CAAC;AAoBxH;;GAEG;AACH,MAAM,UAAU,UAAU,CAAC,MAAoC;IAC7D,OAAO;QACL,YAAY;YACV,iHAAiH;YACjH,iHAAiH;YACjH,+GAA+G;YAC/G,yCAAyC;YACzC,MAAM,EAAE,GAAG,IAAI,MAAM,CAAC,YAAY,CAAC,UAAU,EAAE,EAAE,QAAQ,EAAE,IAAI,EAAE,WAAW,EAAE,IAAI,EAAE,YAAY,EAAE,IAAI,EAAS,CAAC,CAAC;YAEjH,OAAO;gBACL,gBAAgB,CAAC,IAAI,EAAE,OAAO,EAAE,IAAI;oBAClC,EAAE,CAAC,QAAQ,CAAC,IAAI,EAAE,EAAE,kBAAkB,EAAE,IAAI,EAAE,OAAO,EAAE,OAAO,CAAC,QAAQ,EAAE,aAAa,EAAE,IAAI,EAAE,EAAE,IAAI,CAAC,CAAC;gBACxG,CAAC;gBACD,OAAO,CAAC,GAAG;oBACT,4GAA4G;oBAC5G,MAAM,IAAI,GAAG,EAAE,CAAC,OAAO,CAAC,GAAG,CAAC,CAAC;oBAC7B,OAAO;wBACL,GAAG,CAAC,MAAM;4BACR,wFAAwF;4BACxF,OAAO,IAAI,CAAC,GAAG,CAAC,GAAG,MAAM,CAA+B,CAAC;wBAC3D,CAAC;qBACF,CAAC;gBACJ,CAAC;aACF,CAAC;QACJ,CAAC;KACF,CAAC;AACJ,CAAC;AAED;;;;;;;GAOG;AACH,MAAM,UAAU,sBAAsB,CAAC,MAAc,EAAE,aAAmC;IACxF,MAAM,EAAE,GAAG,MAAM,CAAC,YAAY,EAAE,CAAC;IACjC,MAAM,SAAS,GAAG,oBAAoB,CAAC,aAAa,CAAC,CAAC;IAEtD,SAAS,yBAAyB,CAAC,IAAY;QAC7C,MAAM,IAAI,GAAG,SAAS,CAAC,KAAK,CAAC,IAAI,CAAE,CAAC;QAEpC,EAAE,CAAC,gBAAgB,CAAC,IAAI,EAAE,EAAE,QAAQ,EAAE,IAAI,EAAE,EAAE,CAAC,GAAG,IAAI,EAAE,EAAE;YACxD,OAAO,IAAI,CAAC,IAAI,CAAC,GAAG,IAAI,CAAC,CAAC;QAC5B,CAAC,CAAC,CAAC;IACL,CAAC;IAED,+EAA+E;IAC/E,yBAAyB,CAAC,OAAO,CAAC,CAAC;IACnC,yBAAyB,CAAC,OAAO,CAAC,CAAC;IAEnC,4DAA4D;IAC5D,yBAAyB,CAAC,WAAW,CAAC,CAAC;IACvC,yBAAyB,CAAC,UAAU,CAAC,CAAC;IAEtC,yBAAyB,CAAC,cAAc,CAAC,CAAC;IAC1C,yBAAyB,CAAC,WAAW,CAAC,CAAC;IACvC,yBAAyB,CAAC,MAAM,CAAC,CAAC;IAClC,yBAAyB,CAAC,MAAM,CAAC,CAAC;IAElC,EAAE,CAAC,gBAAgB,CAAC,kBAAkB,EAAE,EAAE,QAAQ,EAAE,KAAK,EAAE,EAAE,CAAC,CAAC,EAAE,CAAC,EAAE,EAAE,CAAC,gBAAgB,CAAC,IAAI,EAAE,CAAC,EAAE,CAAC,CAAC,CAAC,CAAC;IAErG,OAAO;QACL,gBAAgB,CAAC,KAAK;YACpB,4GAA4G;YAC5G,MAAM,IAAI,GAAG,EAAE,CAAC,OAAO,CAAC,oBAAoB,CAAC,KAAK,CAAC,CAAC,CAAC;YACrD,OAAO;gBACL,QAAQ,CAAC,MAAM;oBACb,OAAO,IAAI,CAAC,GAAG,CAAC,MAAM,CAAC,CAAC;gBAC1B,CAAC;aACF,CAAC;QACJ,CAAC;KACF,CAAC;AACJ,CAAC"}
@@ -3,7 +3,7 @@ import { filterJsonRow, isJsonValue, isValidParameterValue, JSONBucketNameSerial
3
3
  import { scalarStatementToSql } from '../engine/scalar_expression_engine.js';
4
4
  import { ExpressionToSqlite } from '../expression_to_sql.js';
5
5
  import { SyncPlanSchemaAnalyzer } from '../schema_inference.js';
6
- import { TableProcessorToSqlHelper } from './table_processor_to_sql.js';
6
+ import { resolveRowMetadata, TableProcessorToSqlHelper } from './table_processor_to_sql.js';
7
7
  export class PreparedStreamBucketDataSource {
8
8
  source;
9
9
  sourceTables = new Set();
@@ -110,9 +110,10 @@ class PendingStreamDataSource {
110
110
  }
111
111
  instantiate(engine) {
112
112
  const evaluator = engine.prepareEvaluator(this.statement);
113
+ const pattern = this.tablePattern;
113
114
  return (options, results) => {
114
115
  try {
115
- const inputInstantiation = this.evaluatorInputs.map((input) => options.record[input.column]);
116
+ const inputInstantiation = this.evaluatorInputs.map((input) => 'column' in input ? options.record[input.column] : resolveRowMetadata(input, pattern, options.sourceTable));
116
117
  row: for (const source of evaluator.evaluate(inputInstantiation)) {
117
118
  const record = {};
118
119
  for (const output of this.outputs) {
@@ -1 +1 @@
1
- {"version":3,"file":"bucket_data_source.js","sourceRoot":"","sources":["../../../src/sync_plan/evaluator/bucket_data_source.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"bucket_data_source.js","sourceRoot":"","sources":["../../../src/sync_plan/evaluator/bucket_data_source.ts"],"names":[],"mappings":"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"}
@@ -463,7 +463,7 @@ class FullInstantiator extends PartialInstantiator {
463
463
  for (const [_, { lookup, provenance }] of pendingLookups.entries) {
464
464
  lookupsToProvenance.set(lookup, provenance);
465
465
  }
466
- const outputs = await this.input.source.getParameterSets([...lookupsToProvenance.keys()], `Stream ${this.evaluators.stream.name} evaluating parameter on ${resolvedLookup.sourceTable.name}`);
466
+ const outputs = await this.input.source.getParameterSets([...lookupsToProvenance.keys()], `Stream ${this.evaluators.stream.name} evaluating parameter on ${resolvedLookup.sourceTable.tablePattern}`);
467
467
  // Stream parameters generate an output row like {0: <expr>, 1: <expr>, ...}.
468
468
  const values = outputs.flatMap(({ lookup, rows }) => {
469
469
  return lookupsToProvenance.get(lookup).flatMap(({ symbol, origin }) => {
@@ -1 +1 @@
1
- {"version":3,"file":"parameter_evaluator.js","sourceRoot":"","sources":["../../../src/sync_plan/evaluator/parameter_evaluator.ts"],"names":[],"mappings":"AAAA,OAAO,EAAyB,qBAAqB,EAAE,uBAAuB,EAAE,MAAM,iCAAiC,CAAC;AAExH,OAAO,EAAE,OAAO,EAAE,YAAY,EAAE,YAAY,EAAE,MAAM,4BAA4B,CAAC;AAGjF,OAAO,EAAE,qBAAqB,EAAE,MAAM,gBAAgB,CAAC;AACvD,OAAO,EACL,8BAA8B,EAI/B,MAAM,uCAAuC,CAAC;AAC/C,OAAO,EAAE,gBAAgB,EAAE,SAAS,EAAE,MAAM,0BAA0B,CAAC;AAKvE;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;GAqCG;AACH,MAAM,OAAO,0BAA0B;IAE1B;IAIA;IAIA;IATX,YACW,MAA0B;IACnC;;OAEG;IACM,YAAyC;IAClD;;OAEG;IACM,eAAyC;QARzC,WAAM,GAAN,MAAM,CAAoB;QAI1B,iBAAY,GAAZ,YAAY,CAA6B;QAIzC,oBAAe,GAAf,eAAe,CAA0B;IACjD,CAAC;IAEJ;;;;;;;;;OASG;IACH,KAAK;QACH,SAAS,UAAU,CAAC,KAA6B;YAC/C,QAAQ,KAAK,CAAC,IAAI,EAAE,CAAC;gBACnB,KAAK,cAAc;oBACjB,OAAO,EAAE,IAAI,EAAE,cAAc,EAAE,MAAM,EAAE,KAAK,CAAC,MAAM,CAAC,GAAG,CAAC,UAAU,CAAC,EAAE,CAAC;gBACxE,KAAK,SAAS,CAAC;gBACf,KAAK,QAAQ,CAAC;gBACd,KAAK,QAAQ;oBACX,OAAO,KAAK,CAAC;YACjB,CAAC;QACH,CAAC;QAED,SAAS,WAAW,CAAC,MAA+B;YAClD,QAAQ,MAAM,CAAC,IAAI,EAAE,CAAC;gBACpB,KAAK,WAAW;oBACd,oDAAoD;oBACpD,OAAO,EAAE,IAAI,EAAE,WAAW,EAAE,MAAM,EAAE,MAAM,CAAC,MAAM,EAAE,aAAa,EAAE,MAAM,CAAC,aAAa,CAAC,GAAG,CAAC,UAAU,CAAC,EAAE,CAAC;gBAC3G,KAAK,cAAc,CAAC;gBACpB,KAAK,QAAQ;oBACX,OAAO,MAAM,CAAC;YAClB,CAAC;QACH,CAAC;QAED,OAAO,IAAI,0BAA0B,CACnC,IAAI,CAAC,MAAM,EACX,IAAI,CAAC,YAAY,CAAC,GAAG,CAAC,CAAC,KAAK,EAAE,EAAE,CAAC,KAAK,CAAC,GAAG,CAAC,WAAW,CAAC,CAAC,EACxD,IAAI,CAAC,eAAe,CAAC,GAAG,CAAC,UAAU,CAAC,CACrC,CAAC;IACJ,CAAC;IAED;;;;;;;OAOG;IACH,oBAAoB,CAAC,KAAgC;QACnD,MAAM,MAAM,GAAG,IAAI,mBAAmB,CAAC,KAAK,EAAE,IAAI,CAAC,CAAC;QAEpD,IAAI,CAAC,YAAY,CAAC,OAAO,CAAC,CAAC,KAAK,EAAE,UAAU,EAAE,EAAE;YAC9C,KAAK,CAAC,OAAO,CAAC,CAAC,CAAC,EAAE,YAAY,EAAE,EAAE,CAAC,MAAM,CAAC,mBAAmB,CAAC,UAAU,EAAE,YAAY,CAAC,CAAC,CAAC;QAC3F,CAAC,CAAC,CAAC;QAEH,OAAO,MAAM,CAAC,uBAAuB,CAAC,IAAI,CAAC,eAAe,CAAC,EAAE,GAAG,CAAC,iBAAiB,CAAC,CAAC;IACtF,CAAC;IAED;;;;OAIG;IACH,KAAK,CAAC,WAAW,CAAC,KAAyB;QACzC,MAAM,MAAM,GAAG,IAAI,gBAAgB,CAAC,KAAK,EAAE,IAAI,CAAC,CAAC;QAEjD,KAAK,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC,GAAG,IAAI,CAAC,YAAY,CAAC,MAAM,EAAE,CAAC,EAAE,EAAE,CAAC;YAClD,uDAAuD;YACvD,MAAM,OAAO,CAAC,GAAG,CAAC,IAAI,CAAC,YAAY,CAAC,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,CAAC,EAAE,EAAE,CAAC,MAAM,CAAC,eAAe,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,CAAC,CAAC;QACtF,CAAC;QAED,mHAAmH;QACnH,iBAAiB;QACjB,OAAO,MAAM,CAAC,oBAAoB,CAAC,IAAI,CAAC,eAAe,CAAC,CAAC,GAAG,CAAC,iBAAiB,CAAC,CAAC;IAClF,CAAC;IAED;;;;;;;;;OASG;IACH,MAAM,CAAC,OAAO,CACZ,MAA0B,EAC1B,YAAsC,EACtC,MAA6B,EAC7B,KAAkB,EAClB,MAA8B;QAE9B,MAAM,YAAY,GAAgC,EAAE,CAAC;QACrD,MAAM,aAAa,GAAG,IAAI,GAAG,EAA0D,CAAC;QAExF,SAAS,iBAAiB,CAAC,KAA0B;YACnD,IAAI,KAAK,CAAC,IAAI,IAAI,SAAS,EAAE,CAAC;gBAC5B,6EAA6E;gBAC7E,MAAM,MAAM,GAAG,8BAA8B,EAAiC,CAAC;gBAC/E,MAAM,QAAQ,GAAG,MAAM,CAAC,gBAAgB,CAAC,EAAE,OAAO,EAAE,EAAE,EAAE,OAAO,EAAE,CAAC,MAAM,CAAC,SAAS,CAAC,KAAK,CAAC,IAAI,CAAC,CAAC,EAAE,CAAC,CAAC;gBACnG,MAAM,aAAa,GAAG,MAAM,CAAC,aAAa,CAAC;gBAE3C,OAAO;oBACL,IAAI,EAAE,SAAS;oBACf,IAAI,CAAC,OAAO;wBACV,OAAO,QAAQ,CAAC,QAAQ,CAAC,oBAAoB,CAAC,OAAO,EAAE,aAAa,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC;oBAC/E,CAAC;iBACF,CAAC;YACJ,CAAC;iBAAM,IAAI,KAAK,CAAC,IAAI,IAAI,QAAQ,EAAE,CAAC;gBAClC,MAAM,aAAa,GAAG,aAAa,CAAC,GAAG,CAAC,KAAK,CAAC,MAAM,CAAE,CAAC;gBACvD,OAAO,EAAE,IAAI,EAAE,QAAQ,EAAE,MAAM,EAAE,aAAa,EAAE,WAAW,EAAE,KAAK,CAAC,WAAW,EAAE,CAAC;YACnF,CAAC;iBAAM,CAAC;gBACN,OAAO,EAAE,IAAI,EAAE,cAAc,EAAE,MAAM,EAAE,kBAAkB,CAAC,KAAK,CAAC,MAAM,CAAC,EAAE,CAAC;YAC5E,CAAC;QACH,CAAC;QAED,SAAS,kBAAkB,CAAC,MAA6B;YACvD,OAAO,MAAM,CAAC,GAAG,CAAC,iBAAiB,CAAC,CAAC;QACvC,CAAC;QAED,KAAK,MAAM,KAAK,IAAI,YAAY,EAAE,CAAC;YACjC,MAAM,UAAU,GAAG,YAAY,CAAC,MAAM,CAAC;YACvC,MAAM,WAAW,GAA8B,EAAE,CAAC;YAClD,YAAY,CAAC,IAAI,CAAC,WAAW,CAAC,CAAC;YAE/B,KAAK,MAAM,MAAM,IAAI,KAAK,EAAE,CAAC;gBAC3B,MAAM,KAAK,GAAG,WAAW,CAAC,MAAM,CAAC;gBACjC,aAAa,CAAC,GAAG,CAAC,MAAM,EAAE,EAAE,KAAK,EAAE,UAAU,EAAE,KAAK,EAAE,CAAC,CAAC;gBAExD,IAAI,MAAM,CAAC,IAAI,IAAI,WAAW,EAAE,CAAC;oBAC/B,WAAW,CAAC,IAAI,CAAC;wBACf,IAAI,EAAE,WAAW;wBACjB,MAAM,EAAE,KAAK,CAAC,eAAe,CAAC,GAAG,CAAC,MAAM,CAAC,MAAM,CAAE;wBACjD,aAAa,EAAE,kBAAkB,CAAC,MAAM,CAAC,aAAa,CAAC;qBACxD,CAAC,CAAC;gBACL,CAAC;qBAAM,CAAC;oBACN,gGAAgG;oBAChG,MAAM,SAAS,GAAG,8BAA8B,EAAE,CAAC;oBACnD,MAAM,EAAE,GAAwB;wBAC9B,IAAI,EAAE,MAAM,CAAC,YAAY;wBACzB,MAAM,EAAE,MAAM,CAAC,cAAc,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,SAAS,CAAC,2BAA2B,CAAC,CAAC,CAAC,CAAC;qBACnF,CAAC;oBACF,MAAM,UAAU,GAAG,IAAI,gBAAgB,CACrC,CAAC,EAAE,MAAM,EAAE,EAAE,EAAE,CAAC,CAAC;wBACf,QAAQ,EAAE,EAAE;wBACZ,MAAM;qBACP,CAAC,CACH,CAAC;oBAEF,MAAM,QAAQ,GAAG,MAAM,CAAC,gBAAgB,CAAC;wBACvC,oBAAoB,EAAE,CAAC,EAAE,CAAC;wBAC1B,OAAO,EAAE,MAAM,CAAC,OAAO,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,SAAS,CAAC,UAAU,EAAE,CAAC,EAAE,IAAI,CAAC,CAAC;wBAClE,OAAO,EAAE,MAAM,CAAC,OAAO,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,SAAS,CAAC,UAAU,EAAE,CAAC,EAAE,IAAI,CAAC,CAAC;qBACnE,CAAC,CAAC;oBAEH,WAAW,CAAC,IAAI,CAAC;wBACf,IAAI,EAAE,cAAc;wBACpB,IAAI,CAAC,OAAO;4BACV,OAAO;gCACL,GAAG,mBAAmB,CAAC,QAAQ,CAAC,QAAQ,CAAC,oBAAoB,CAAC,OAAO,EAAE,SAAS,CAAC,aAAa,CAAC,CAAC,CAAC;6BAClG,CAAC;wBACJ,CAAC;qBACF,CAAC,CAAC;gBACL,CAAC;YACH,CAAC;QACH,CAAC;QAED,OAAO,IAAI,0BAA0B,CAAC,MAAM,EAAE,YAAY,EAAE,kBAAkB,CAAC,MAAM,CAAC,CAAC,CAAC;IAC1F,CAAC;CACF;AAED,MAAM,mBAAmB;IAEF;IACA;IAFrB,YACqB,KAAQ,EACR,UAAsC;QADtC,UAAK,GAAL,KAAK,CAAG;QACR,eAAU,GAAV,UAAU,CAA4B;IACxD,CAAC;IAEJ,uBAAuB,CAAC,MAAgC;QACtD,MAAM,MAAM,GAAG,IAAI,CAAC,UAAU,CAAC,YAAY,CAAC;QAC5C,IAAI,sBAAsB,GAAG,KAAK,CAAC;QACnC,KAAK,IAAI,UAAU,GAAG,CAAC,EAAE,UAAU,GAAG,MAAM,CAAC,MAAM,EAAE,UAAU,EAAE,EAAE,CAAC;YAClE,MAAM,KAAK,GAAG,MAAM,CAAC,UAAU,CAAC,CAAC;YACjC,KAAK,IAAI,YAAY,GAAG,CAAC,EAAE,YAAY,GAAG,KAAK,CAAC,MAAM,EAAE,YAAY,EAAE,EAAE,CAAC;gBACvE,MAAM,cAAc,GAAG,IAAI,CAAC,mBAAmB,CAAC,UAAU,EAAE,YAAY,CAAC,CAAC;gBAC1E,IAAI,cAAc,IAAI,IAAI,EAAE,CAAC;oBAC3B,kDAAkD;oBAClD,sBAAsB,GAAG,IAAI,CAAC;oBAC9B,SAAS;gBACX,CAAC;gBAED,IAAI,cAAc,CAAC,MAAM,IAAI,CAAC,EAAE,CAAC;oBAC/B,yGAAyG;oBACzG,oHAAoH;oBACpH,6DAA6D;oBAC7D,yGAAyG;oBACzG,mFAAmF;oBACnF,OAAO,EAAE,CAAC;gBACZ,CAAC;YACH,CAAC;QACH,CAAC;QAED,IAAI,sBAAsB,EAAE,CAAC;YAC3B,OAAO,SAAS,CAAC;QACnB,CAAC;QAED,mHAAmH;QACnH,OAAO,CAAC,GAAG,IAAI,CAAC,aAAa,CAAC,MAAM,CAAC,CAAC,CAAC;IACzC,CAAC;IAES,CAAC,aAAa,CAAC,MAAgC;QACvD,MAAM,eAAe,GAAG,MAAM,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,KAAK,EAAE,EAAE;YAC9C,MAAM,MAAM,GAAG,IAAI,CAAC,aAAa,CAAC,MAAM,EAAE,KAAK,CAAC,CAAC;YACjD,IAAI,MAAM,IAAI,IAAI,EAAE,CAAC;gBACnB,8GAA8G;gBAC9G,MAAM,IAAI,KAAK,CAAC,8EAA8E,CAAC,CAAC;YAClG,CAAC;YACD,OAAO,MAAM,CAAC;QAChB,CAAC,CAAC,CAAC;QAEH,KAAK,CAAC,CAAC,sBAAsB,CAAC,eAAe,CAAC,CAAC;IACjD,CAAC;IAED;;;OAGG;IACH,aAAa,CAAC,MAAgC,EAAE,KAAa;QAC3D,MAAM,OAAO,GAAG,MAAM,CAAC,KAAK,CAAC,CAAC;QAC9B,IAAI,OAAO,CAAC,IAAI,KAAK,QAAQ,EAAE,CAAC;YAC9B,OAAO,OAAO,CAAC,MAAM,CAAC;QACxB,CAAC;aAAM,IAAI,OAAO,CAAC,IAAI,KAAK,cAAc,EAAE,CAAC;YAC3C,MAAM,OAAO,GAA8B,EAAE,CAAC;YAC9C,KAAK,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC,GAAG,OAAO,CAAC,MAAM,CAAC,MAAM,EAAE,CAAC,EAAE,EAAE,CAAC;gBAC/C,MAAM,SAAS,GAAG,IAAI,CAAC,aAAa,CAAC,OAAO,CAAC,MAAM,EAAE,CAAC,CAAC,CAAC;gBACxD,IAAI,SAAS,IAAI,IAAI,EAAE,CAAC;oBACtB,OAAO,SAAS,CAAC,CAAC,+BAA+B;gBACnD,CAAC;gBACD,OAAO,CAAC,IAAI,CAAC,SAAS,CAAC,CAAC;YAC1B,CAAC;YAED,4GAA4G;YAC5G,gHAAgH;YAChH,+GAA+G;YAC/G,4DAA4D;YAC5D,EAAE;YACF,8BAA8B;YAC9B,8BAA8B;YAC9B,EAAE;YACF,+GAA+G;YAC/G,yGAAyG;YACzG,oFAAoF;YACpF,MAAM,MAAM,GAAG,MAAM,CAAC,QAAQ,CAAC,CAAC;YAChC,MAAM,iBAAiB,GAAG,IAAI,GAAG,EAA6D,CAAC;YAC/F,MAAM,aAAa,GAAG,IAAI,GAAG,EAAuB,CAAC;YACrD,SAAS,kBAAkB,CAAC,SAAiB,EAAE,KAAa;gBAC1D,IAAI,MAAM,GAAG,aAAa,CAAC,GAAG,CAAC,SAAS,CAAC,CAAC;gBAC1C,IAAI,MAAM,IAAI,IAAI,EAAE,CAAC;oBACnB,MAAM,GAAG,IAAI,GAAG,EAAE,CAAC;oBACnB,aAAa,CAAC,GAAG,CAAC,SAAS,EAAE,MAAM,CAAC,CAAC;gBACvC,CAAC;gBAED,MAAM,CAAC,GAAG,CAAC,KAAK,CAAC,CAAC;YACpB,CAAC;YAED,0CAA0C;YAC1C,KAAK,MAAM,MAAM,IAAI,OAAO,EAAE,CAAC;gBAC7B,SAAS,EAAE,KAAK,MAAM,KAAK,IAAI,MAAM,EAAE,CAAC;oBACtC,MAAM,GAAG,GAAG,KAAK,CAAC,YAAY,CAAC;oBAC/B,IAAI,GAAG,EAAE,CAAC;wBACR,IAAI,YAAY,GAAG,iBAAiB,CAAC,GAAG,CAAC,GAAG,CAAC,SAAS,CAAC,CAAC;wBACxD,IAAI,YAAY,IAAI,IAAI,EAAE,CAAC;4BACzB,YAAY,GAAG,IAAI,GAAG,EAAE,CAAC;4BACzB,iBAAiB,CAAC,GAAG,CAAC,GAAG,CAAC,SAAS,EAAE,YAAY,CAAC,CAAC;wBACrD,CAAC;wBAED,MAAM,aAAa,GAAG,YAAY,CAAC,GAAG,CAAC,GAAG,CAAC,GAAG,CAAC,CAAC;wBAChD,IAAI,aAAa,IAAI,IAAI,IAAI,aAAa,IAAI,KAAK,CAAC,KAAK,EAAE,CAAC;4BAC1D,YAAY,CAAC,GAAG,CAAC,GAAG,CAAC,GAAG,EAAE,MAAM,CAAC,CAAC;4BAClC,kBAAkB,CAAC,GAAG,CAAC,SAAS,EAAE,GAAG,CAAC,GAAG,CAAC,CAAC;4BAC3C,SAAS,SAAS,CAAC;wBACrB,CAAC;6BAAM,CAAC;4BACN,YAAY,CAAC,GAAG,CAAC,GAAG,CAAC,GAAG,EAAE,KAAK,CAAC,KAAK,CAAC,CAAC;wBACzC,CAAC;oBACH,CAAC;gBACH,CAAC;YACH,CAAC;YAED,SAAS,eAAe,CAAC,KAA4B;gBACnD,IAAI,KAAK,CAAC,YAAY,EAAE,CAAC;oBACvB,MAAM,EAAE,SAAS,EAAE,GAAG,EAAE,GAAG,KAAK,CAAC,YAAY,CAAC;oBAE9C,MAAM,aAAa,GAAG,aAAa,CAAC,GAAG,CAAC,SAAS,CAAC,CAAC;oBACnD,IAAI,aAAa,EAAE,GAAG,CAAC,GAAG,CAAC;wBAAE,OAAO,IAAI,CAAC;oBAEzC,MAAM,kBAAkB,GAAG,iBAAiB,CAAC,GAAG,CAAC,SAAS,CAAC,CAAC;oBAC5D,IAAI,kBAAkB,IAAI,IAAI;wBAAE,OAAO,KAAK,CAAC;oBAE7C,IAAI,kBAAkB,CAAC,GAAG,CAAC,GAAG,CAAC,IAAI,KAAK,CAAC,KAAK;wBAAE,OAAO,IAAI,CAAC;gBAC9D,CAAC;gBAED,OAAO,KAAK,CAAC;YACf,CAAC;YAED,IAAI,YAAY,GAA2D,IAAI,CAAC;YAChF,KAAK,MAAM,MAAM,IAAI,OAAO,EAAE,CAAC;gBAC7B,IAAI,YAAY,IAAI,IAAI,EAAE,CAAC;oBACzB,YAAY,GAAG,IAAI,GAAG,EAAE,CAAC;oBAEzB,KAAK,MAAM,KAAK,IAAI,MAAM,EAAE,CAAC;wBAC3B,IAAI,eAAe,CAAC,KAAK,CAAC;4BAAE,SAAS;wBAErC,MAAM,QAAQ,GAAG,YAAY,CAAC,GAAG,CAAC,KAAK,CAAC,KAAK,CAAC,CAAC;wBAC/C,IAAI,QAAQ,IAAI,IAAI,EAAE,CAAC;4BACrB,QAAQ,CAAC,IAAI,CAAC,KAAK,CAAC,UAAU,CAAC,CAAC;wBAClC,CAAC;6BAAM,CAAC;4BACN,YAAY,CAAC,GAAG,CAAC,KAAK,CAAC,KAAK,EAAE,CAAC,KAAK,CAAC,UAAU,CAAC,CAAC,CAAC;wBACpD,CAAC;wBAED,KAAK,MAAM,EAAE,SAAS,EAAE,GAAG,EAAE,IAAI,KAAK,CAAC,UAAU,EAAE,CAAC;4BAClD,0GAA0G;4BAC1G,+CAA+C;4BAC/C,kBAAkB,CAAC,SAAS,EAAE,GAAG,CAAC,CAAC;wBACrC,CAAC;oBACH,CAAC;gBACH,CAAC;qBAAM,CAAC;oBACN,MAAM,eAAe,GAAG,IAAI,GAAG,CAAC,YAAY,CAAC,IAAI,EAAE,CAAC,CAAC;oBAErD,KAAK,MAAM,KAAK,IAAI,MAAM,EAAE,CAAC;wBAC3B,MAAM,QAAQ,GAAG,YAAY,CAAC,GAAG,CAAC,KAAK,CAAC,KAAK,CAAC,CAAC;wBAC/C,IAAI,QAAQ,IAAI,IAAI,EAAE,CAAC;4BACrB,qCAAqC;wBACvC,CAAC;6BAAM,CAAC;4BACN,eAAe,CAAC,MAAM,CAAC,KAAK,CAAC,KAAK,CAAC,CAAC;4BAEpC,IAAI,CAAC,eAAe,CAAC,KAAK,CAAC,EAAE,CAAC;gCAC5B,wFAAwF;gCACxF,QAAQ,CAAC,IAAI,CAAC,KAAK,CAAC,UAAU,CAAC,CAAC;4BAClC,CAAC;wBACH,CAAC;oBACH,CAAC;oBAED,KAAK,MAAM,SAAS,IAAI,eAAe,EAAE,CAAC;wBACxC,sDAAsD;wBACtD,YAAY,CAAC,MAAM,CAAC,SAAS,CAAC,CAAC;oBACjC,CAAC;gBACH,CAAC;gBAED,IAAI,YAAa,CAAC,IAAI,IAAI,CAAC,EAAE,CAAC;oBAC5B,+DAA+D;oBAC/D,MAAM;gBACR,CAAC;YACH,CAAC;YAED,IAAI,MAAM,GAA4B,EAAE,CAAC;YACzC,IAAI,YAAY,EAAE,CAAC;gBACjB,YAAY,CAAC,OAAO,CAAC,CAAC,WAAW,EAAE,KAAK,EAAE,EAAE;oBAC1C,KAAK,MAAM,UAAU,IAAI,WAAW,EAAE,CAAC;wBACrC,MAAM,CAAC,IAAI,CAAC,EAAE,KAAK,EAAE,UAAU,EAAE,CAAC,CAAC;oBACrC,CAAC;gBACH,CAAC,CAAC,CAAC;YACL,CAAC;YAED,MAAM,CAAC,KAAK,CAAC,GAAG,EAAE,IAAI,EAAE,QAAQ,EAAE,MAAM,EAAE,CAAC;YAC3C,OAAO,MAAM,CAAC;QAChB,CAAC;aAAM,IAAI,OAAO,CAAC,IAAI,KAAK,QAAQ,EAAE,CAAC;YACrC,MAAM,cAAc,GAAG,IAAI,CAAC,mBAAmB,CAAC,OAAO,CAAC,MAAM,CAAC,KAAK,EAAE,OAAO,CAAC,MAAM,CAAC,KAAK,CAAC,CAAC;YAC5F,IAAI,cAAc,EAAE,CAAC;gBACnB,MAAM,MAAM,GAAG,cAAc,CAAC,GAAG,CAAC,CAAC,GAAG,EAAE,EAAE,CAAC,GAAG,CAAC,OAAO,CAAC,WAAW,CAAC,CAAC,CAAC;gBACrE,MAAM,CAAC,KAAK,CAAC,GAAG,EAAE,IAAI,EAAE,QAAQ,EAAE,MAAM,EAAE,CAAC;gBAC3C,OAAO,MAAM,CAAC;YAChB,CAAC;QACH,CAAC;aAAM,IAAI,OAAO,CAAC,IAAI,KAAK,SAAS,EAAE,CAAC;YACtC,MAAM,KAAK,GAAG,OAAO,CAAC,IAAI,CAAC,IAAI,CAAC,KAAK,CAAC,OAAO,CAAC,CAAC;YAC/C,MAAM,MAAM,GAA4B,qBAAqB,CAAC,KAAK,CAAC;gBAClE,CAAC,CAAC;oBACE;wBACE,KAAK;wBACL,UAAU,EAAE,EAAE;qBACf;iBACF;gBACH,CAAC,CAAC,EAAE,CAAC;YAEP,MAAM,CAAC,KAAK,CAAC,GAAG,EAAE,IAAI,EAAE,QAAQ,EAAE,MAAM,EAAE,CAAC;YAC3C,OAAO,MAAM,CAAC;QAChB,CAAC;QAED,OAAO,SAAS,CAAC;IACnB,CAAC;IAED,mBAAmB,CAAC,KAAa,EAAE,KAAa;QAC9C,MAAM,MAAM,GAAG,IAAI,CAAC,UAAU,CAAC,YAAY,CAAC,KAAK,CAAC,CAAC,KAAK,CAAC,CAAC;QAC1D,IAAI,MAAM,CAAC,IAAI,IAAI,cAAc,EAAE,CAAC;YAClC,sDAAsD;YACtD,MAAM,eAAe,GAAG,MAAM,EAAE,CAAC;YACjC,MAAM,MAAM,GAAG,MAAM,CAAC,IAAI,CAAC,IAAI,CAAC,KAAK,CAAC,OAAO,CAAC,CAAC,GAAG,CAAC,CAAC,MAAM,EAAE,KAAK,EAAE,EAAE;gBACnE,MAAM,YAAY,GAAqB,EAAE,SAAS,EAAE,eAAe,EAAE,GAAG,EAAE,KAAK,EAAE,CAAC;gBAClF,MAAM,UAAU,GAAuB,CAAC,YAAY,CAAC,CAAC;gBACtD,OAAO,MAAM,CAAC,GAAG,CAAC,CAAC,KAAK,EAAE,EAAE,CAAC,CAAC,EAAE,KAAK,EAAE,UAAU,EAAE,YAAY,EAAE,CAAiC,CAAC,CAAC;YACtG,CAAC,CAAC,CAAC;YAEH,IAAI,CAAC,UAAU,CAAC,YAAY,CAAC,KAAK,CAAC,CAAC,KAAK,CAAC,GAAG,EAAE,IAAI,EAAE,QAAQ,EAAE,MAAM,EAAE,CAAC;YACxE,OAAO,MAAM,CAAC;QAChB,CAAC;aAAM,IAAI,MAAM,CAAC,IAAI,IAAI,QAAQ,EAAE,CAAC;YACnC,OAAO,MAAM,CAAC,MAAM,CAAC;QACvB,CAAC;QAED,OAAO,SAAS,CAAC;IACnB,CAAC;CACF;AAED,MAAM,gBAAiB,SAAQ,mBAAuC;IACpE,oBAAoB,CAAC,MAAgC;QACnD,MAAM,QAAQ,GAAG,IAAI,CAAC,uBAAuB,CAAC,MAAM,CAAC,CAAC;QACtD,IAAI,QAAQ,IAAI,IAAI,EAAE,CAAC;YACrB,MAAM,IAAI,KAAK,CAAC,4FAA4F,CAAC,CAAC;QAChH,CAAC;QAED,OAAO,QAAQ,CAAC;IAClB,CAAC;IAED,KAAK,CAAC,eAAe,CAAC,KAAa,EAAE,KAAa;QAChD,MAAM,MAAM,GAAG,IAAI,CAAC,UAAU,CAAC,YAAY,CAAC,KAAK,CAAC,CAAC,KAAK,CAAC,CAAC;QAC1D,IAAI,MAAM,CAAC,IAAI,IAAI,WAAW,EAAE,CAAC;YAC/B,MAAM,KAAK,GAAG,IAAI,CAAC,KAAK,CAAC,cAAc,CAAC,4BAA4B,CAAC,MAAM,CAAC,MAAM,CAAC,CAAC;YACpF,MAAM,cAAc,GAAG,MAAM,CAAC,MAA6C,CAAC;YAO5E,8GAA8G;YAC9G,gHAAgH;YAChH,iHAAiH;YACjH,MAAM,cAAc,GAAG,IAAI,OAAO,CAChC,gBAAgB,CAAC,sBAAsB,CACxC,CAAC;YAEF,KAAK,MAAM,MAAM,IAAI,IAAI,CAAC,aAAa,CAAC,MAAM,CAAC,aAAa,CAAC,EAAE,CAAC;gBAC9D,MAAM,UAAU,GAAuB,EAAE,CAAC;gBAC1C,KAAK,MAAM,KAAK,IAAI,MAAM,EAAE,CAAC;oBAC3B,UAAU,CAAC,IAAI,CAAC,GAAG,KAAK,CAAC,UAAU,CAAC,CAAC;gBACvC,CAAC;gBAED,MAAM,YAAY,GAAG,iBAAiB,CAAC,MAAM,CAAC,CAAC;gBAC/C,cAAc,CAAC,WAAW,CAAC,YAAY,EAAE,CAAC,GAAG,EAAE,EAAE;oBAC/C,IAAI,GAAG,IAAI,IAAI,EAAE,CAAC;wBAChB,OAAO;4BACL,MAAM,EAAE,qBAAqB,CAAC,UAAU,CAAC,KAAK,EAAE,uBAAuB,CAAC,UAAU,CAAC,YAAY,CAAC,CAAC;4BACjG,UAAU,EAAE,CAAC,EAAE,MAAM,EAAE,UAAU,EAAE,MAAM,EAAE,MAAM,CAAC,UAAU,KAAK,IAAI,KAAK,EAAE,CAAC,EAAE,CAAC;yBACjF,CAAC;oBACJ,CAAC;yBAAM,CAAC;wBACN,GAAG,CAAC,UAAU,CAAC,IAAI,CAAC,EAAE,MAAM,EAAE,UAAU,EAAE,MAAM,EAAE,MAAM,CAAC,UAAU,KAAK,IAAI,KAAK,EAAE,CAAC,EAAE,CAAC,CAAC;wBACxF,OAAO,GAAG,CAAC;oBACb,CAAC;gBACH,CAAC,CAAC,CAAC;YACL,CAAC;YAED,MAAM,mBAAmB,GAAG,IAAI,GAAG,EAA2E,CAAC;YAC/G,KAAK,MAAM,CAAC,CAAC,EAAE,EAAE,MAAM,EAAE,UAAU,EAAE,CAAC,IAAI,cAAc,CAAC,OAAO,EAAE,CAAC;gBACjE,mBAAmB,CAAC,GAAG,CAAC,MAAM,EAAE,UAAU,CAAC,CAAC;YAC9C,CAAC;YAED,MAAM,OAAO,GAAG,MAAM,IAAI,CAAC,KAAK,CAAC,MAAM,CAAC,gBAAgB,CACtD,CAAC,GAAG,mBAAmB,CAAC,IAAI,EAAE,CAAC,EAC/B,UAAU,IAAI,CAAC,UAAU,CAAC,MAAM,CAAC,IAAI,4BAA4B,cAAc,CAAC,WAAW,CAAC,IAAI,EAAE,CACnG,CAAC;YAEF,6EAA6E;YAC7E,MAAM,MAAM,GAAG,OAAO,CAAC,OAAO,CAAC,CAAC,EAAE,MAAM,EAAE,IAAI,EAAE,EAAE,EAAE;gBAClD,OAAO,mBAAmB,CAAC,GAAG,CAAC,MAAM,CAAE,CAAC,OAAO,CAAC,CAAC,EAAE,MAAM,EAAE,MAAM,EAAE,EAAE,EAAE;oBACrE,OAAO,IAAI,CAAC,GAAG,CAAC,CAAC,GAAG,EAAE,KAAK,EAAE,EAAE;wBAC7B,MAAM,MAAM,GAAG,MAAM,CAAC,OAAO,CAAC,GAAG,CAAC,CAAC,MAAM,CAAC;wBAC1C,MAAM,OAAO,GAA4B,EAAE,CAAC;wBAE5C,KAAK,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC,GAAG,MAAM,EAAE,CAAC,EAAE,EAAE,CAAC;4BAChC,MAAM,KAAK,GAAG,GAAG,CAAC,CAAC,CAAC,QAAQ,EAAE,CAAyB,CAAC;4BACxD,MAAM,YAAY,GAAG,MAAM,GAAG,CAAC,CAAC,CAAC,CAAC,EAAE,SAAS,EAAE,MAAM,EAAE,GAAG,EAAE,KAAK,EAAE,CAAC,CAAC,CAAC,SAAS,CAAC;4BAEhF,OAAO,CAAC,IAAI,CAAC;gCACX,KAAK;gCACL,iGAAiG;gCACjG,wGAAwG;gCACxG,wEAAwE;gCACxE,UAAU,EAAE,YAAY,IAAI,IAAI,CAAC,CAAC,CAAC,CAAC,GAAG,MAAM,EAAE,YAAY,CAAC,CAAC,CAAC,CAAC,MAAM;gCACrE,YAAY;6BACb,CAAC,CAAC;wBACL,CAAC;wBACD,OAAO,OAAO,CAAC;oBACjB,CAAC,CAAC,CAAC;gBACL,CAAC,CAAC,CAAC;YACL,CAAC,CAAC,CAAC;YAEH,IAAI,CAAC,UAAU,CAAC,YAAY,CAAC,KAAK,CAAC,CAAC,KAAK,CAAC,GAAG,EAAE,IAAI,EAAE,QAAQ,EAAE,MAAM,EAAE,CAAC;YACxE,OAAO,MAAM,CAAC;QAChB,CAAC;QAED,MAAM,KAAK,GAAG,IAAI,CAAC,mBAAmB,CAAC,KAAK,EAAE,KAAK,CAAC,CAAC;QACrD,IAAI,KAAK,IAAI,IAAI,EAAE,CAAC;YAClB,MAAM,IAAI,KAAK,CAAC,uEAAuE,CAAC,CAAC;QAC3F,CAAC;QACD,OAAO,KAAK,CAAC;IACf,CAAC;IAEO,MAAM,CAAU,sBAAsB,GAAG,YAAY,CAAC,YAAY,CAAC,sBAAsB,CAAC,CAAC;;AAmErG,SAAS,iBAAiB,CAAC,MAA+B;IACxD,OAAO,MAAM,CAAC,GAAG,CAAC,CAAC,EAAE,KAAK,EAAE,EAAE,EAAE,CAAC,KAAK,CAAC,CAAC;AAC1C,CAAC;AAWD,MAAM,UAAU,wBAAwB,CAAC,GAAkB;IACzD,KAAK,MAAM,KAAK,IAAI,GAAG,EAAE,CAAC;QACxB,IAAI,CAAC,qBAAqB,CAAC,KAAK,CAAC,EAAE,CAAC;YAClC,OAAO,KAAK,CAAC;QACf,CAAC;IACH,CAAC;IAED,OAAO,IAAI,CAAC;AACd,CAAC;AAED,MAAM,UAAU,oBAAoB,CAAC,UAA6B,EAAE,MAAgC;IAClG,OAAO,MAAM,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,EAAE;QACtB,IAAI,SAAS,IAAI,CAAC,EAAE,CAAC;YACnB,QAAQ,CAAC,CAAC,OAAO,EAAE,CAAC;gBAClB,KAAK,MAAM;oBACT,OAAO,UAAU,CAAC,eAAe,CAAC;gBACpC,KAAK,cAAc;oBACjB,OAAO,UAAU,CAAC,mBAAoB,CAAC;gBACzC,KAAK,YAAY;oBACf,OAAO,UAAU,CAAC,iBAAiB,CAAC;YACxC,CAAC;QACH,CAAC;aAAM,CAAC;YACN,MAAM,IAAI,KAAK,CAAC,4CAA4C,CAAC,CAAC;QAChE,CAAC;IACH,CAAC,CAAC,CAAC;AACL,CAAC;AAED,QAAQ,CAAC,CAAC,mBAAmB,CAAC,IAAqB;IACjD,KAAK,MAAM,GAAG,IAAI,IAAI,EAAE,CAAC;QACvB,IAAI,wBAAwB,CAAC,GAAG,CAAC,EAAE,CAAC;YAClC,MAAM,GAAG,CAAC;QACZ,CAAC;IACH,CAAC;AACH,CAAC;AAED;;;;;;GAMG;AACH,QAAQ,CAAC,CAAC,sBAAsB,CAAC,iBAA4C;IAC3E,iHAAiH;IACjH,MAAM,cAAc,GAAG,IAAI,KAAK,CAAC,iBAAiB,CAAC,MAAM,CAAC,CAAC;IAC3D,oEAAoE;IACpE,MAAM,QAAQ,GAAG,IAAI,GAAG,EAAkB,CAAC;IAE3C,SAAS,sBAAsB,CAAC,KAA4B;QAC1D,MAAM,eAAe,GAAa,EAAE,CAAC;QAErC,KAAK,MAAM,MAAM,IAAI,KAAK,CAAC,UAAU,EAAE,CAAC;YACtC,MAAM,EAAE,SAAS,EAAE,GAAG,EAAE,GAAG,MAAM,CAAC;YAClC,MAAM,WAAW,GAAG,QAAQ,CAAC,GAAG,CAAC,SAAS,CAAC,CAAC;YAC5C,IAAI,WAAW,KAAK,SAAS,EAAE,CAAC;gBAC9B,eAAe,CAAC,IAAI,CAAC,SAAS,CAAC,CAAC;gBAChC,QAAQ,CAAC,GAAG,CAAC,SAAS,EAAE,GAAG,CAAC,CAAC;YAC/B,CAAC;iBAAM,IAAI,WAAW,IAAI,GAAG,EAAE,CAAC;gBAC9B,SAAS;YACX,CAAC;iBAAM,CAAC;gBACN,2GAA2G;gBAC3G,+CAA+C;gBAC/C,OAAO,CAAC,KAAK,EAAE,eAAe,CAAC,CAAC;YAClC,CAAC;QACH,CAAC;QAED,OAAO,CAAC,IAAI,EAAE,eAAe,CAAC,CAAC;IACjC,CAAC;IAED,SAAS,mBAAmB,CAAC,UAAoB;QAC/C,KAAK,MAAM,EAAE,IAAI,UAAU,EAAE,CAAC;YAC5B,QAAQ,CAAC,MAAM,CAAC,EAAE,CAAC,CAAC;QACtB,CAAC;IACH,CAAC;IAED,QAAQ,CAAC,CAAC,oBAAoB,CAAC,aAAqB;QAClD,IAAI,aAAa,IAAI,iBAAiB,CAAC,MAAM,EAAE,CAAC;YAC9C,MAAM,CAAC,GAAG,cAAc,CAAC,CAAC;YAC1B,OAAO;QACT,CAAC;QAED,MAAM,eAAe,GAAG,iBAAiB,CAAC,aAAa,CAAC,CAAC;QACzD,KAAK,MAAM,SAAS,IAAI,eAAe,EAAE,CAAC;YACxC,MAAM,CAAC,MAAM,EAAE,eAAe,CAAC,GAAG,sBAAsB,CAAC,SAAS,CAAC,CAAC;YACpE,IAAI,MAAM,EAAE,CAAC;gBACX,cAAc,CAAC,aAAa,CAAC,GAAG,SAAS,CAAC;gBAC1C,KAAK,CAAC,CAAC,oBAAoB,CAAC,aAAa,GAAG,CAAC,CAAC,CAAC;YACjD,CAAC;YAED,mBAAmB,CAAC,eAAe,CAAC,CAAC;QACvC,CAAC;IACH,CAAC;IAED,KAAK,CAAC,CAAC,oBAAoB,CAAC,CAAC,CAAC,CAAC;AACjC,CAAC"}
1
+ {"version":3,"file":"parameter_evaluator.js","sourceRoot":"","sources":["../../../src/sync_plan/evaluator/parameter_evaluator.ts"],"names":[],"mappings":"AAAA,OAAO,EAAyB,qBAAqB,EAAE,uBAAuB,EAAE,MAAM,iCAAiC,CAAC;AAExH,OAAO,EAAE,OAAO,EAAE,YAAY,EAAE,YAAY,EAAE,MAAM,4BAA4B,CAAC;AAGjF,OAAO,EAAE,qBAAqB,EAAE,MAAM,gBAAgB,CAAC;AACvD,OAAO,EACL,8BAA8B,EAI/B,MAAM,uCAAuC,CAAC;AAC/C,OAAO,EAAE,gBAAgB,EAAE,SAAS,EAAE,MAAM,0BAA0B,CAAC;AAKvE;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;GAqCG;AACH,MAAM,OAAO,0BAA0B;IAE1B;IAIA;IAIA;IATX,YACW,MAA0B;IACnC;;OAEG;IACM,YAAyC;IAClD;;OAEG;IACM,eAAyC;QARzC,WAAM,GAAN,MAAM,CAAoB;QAI1B,iBAAY,GAAZ,YAAY,CAA6B;QAIzC,oBAAe,GAAf,eAAe,CAA0B;IACjD,CAAC;IAEJ;;;;;;;;;OASG;IACH,KAAK;QACH,SAAS,UAAU,CAAC,KAA6B;YAC/C,QAAQ,KAAK,CAAC,IAAI,EAAE,CAAC;gBACnB,KAAK,cAAc;oBACjB,OAAO,EAAE,IAAI,EAAE,cAAc,EAAE,MAAM,EAAE,KAAK,CAAC,MAAM,CAAC,GAAG,CAAC,UAAU,CAAC,EAAE,CAAC;gBACxE,KAAK,SAAS,CAAC;gBACf,KAAK,QAAQ,CAAC;gBACd,KAAK,QAAQ;oBACX,OAAO,KAAK,CAAC;YACjB,CAAC;QACH,CAAC;QAED,SAAS,WAAW,CAAC,MAA+B;YAClD,QAAQ,MAAM,CAAC,IAAI,EAAE,CAAC;gBACpB,KAAK,WAAW;oBACd,oDAAoD;oBACpD,OAAO,EAAE,IAAI,EAAE,WAAW,EAAE,MAAM,EAAE,MAAM,CAAC,MAAM,EAAE,aAAa,EAAE,MAAM,CAAC,aAAa,CAAC,GAAG,CAAC,UAAU,CAAC,EAAE,CAAC;gBAC3G,KAAK,cAAc,CAAC;gBACpB,KAAK,QAAQ;oBACX,OAAO,MAAM,CAAC;YAClB,CAAC;QACH,CAAC;QAED,OAAO,IAAI,0BAA0B,CACnC,IAAI,CAAC,MAAM,EACX,IAAI,CAAC,YAAY,CAAC,GAAG,CAAC,CAAC,KAAK,EAAE,EAAE,CAAC,KAAK,CAAC,GAAG,CAAC,WAAW,CAAC,CAAC,EACxD,IAAI,CAAC,eAAe,CAAC,GAAG,CAAC,UAAU,CAAC,CACrC,CAAC;IACJ,CAAC;IAED;;;;;;;OAOG;IACH,oBAAoB,CAAC,KAAgC;QACnD,MAAM,MAAM,GAAG,IAAI,mBAAmB,CAAC,KAAK,EAAE,IAAI,CAAC,CAAC;QAEpD,IAAI,CAAC,YAAY,CAAC,OAAO,CAAC,CAAC,KAAK,EAAE,UAAU,EAAE,EAAE;YAC9C,KAAK,CAAC,OAAO,CAAC,CAAC,CAAC,EAAE,YAAY,EAAE,EAAE,CAAC,MAAM,CAAC,mBAAmB,CAAC,UAAU,EAAE,YAAY,CAAC,CAAC,CAAC;QAC3F,CAAC,CAAC,CAAC;QAEH,OAAO,MAAM,CAAC,uBAAuB,CAAC,IAAI,CAAC,eAAe,CAAC,EAAE,GAAG,CAAC,iBAAiB,CAAC,CAAC;IACtF,CAAC;IAED;;;;OAIG;IACH,KAAK,CAAC,WAAW,CAAC,KAAyB;QACzC,MAAM,MAAM,GAAG,IAAI,gBAAgB,CAAC,KAAK,EAAE,IAAI,CAAC,CAAC;QAEjD,KAAK,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC,GAAG,IAAI,CAAC,YAAY,CAAC,MAAM,EAAE,CAAC,EAAE,EAAE,CAAC;YAClD,uDAAuD;YACvD,MAAM,OAAO,CAAC,GAAG,CAAC,IAAI,CAAC,YAAY,CAAC,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,CAAC,EAAE,EAAE,CAAC,MAAM,CAAC,eAAe,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,CAAC,CAAC;QACtF,CAAC;QAED,mHAAmH;QACnH,iBAAiB;QACjB,OAAO,MAAM,CAAC,oBAAoB,CAAC,IAAI,CAAC,eAAe,CAAC,CAAC,GAAG,CAAC,iBAAiB,CAAC,CAAC;IAClF,CAAC;IAED;;;;;;;;;OASG;IACH,MAAM,CAAC,OAAO,CACZ,MAA0B,EAC1B,YAAsC,EACtC,MAA6B,EAC7B,KAAkB,EAClB,MAA8B;QAE9B,MAAM,YAAY,GAAgC,EAAE,CAAC;QACrD,MAAM,aAAa,GAAG,IAAI,GAAG,EAA0D,CAAC;QAExF,SAAS,iBAAiB,CAAC,KAA0B;YACnD,IAAI,KAAK,CAAC,IAAI,IAAI,SAAS,EAAE,CAAC;gBAC5B,6EAA6E;gBAC7E,MAAM,MAAM,GAAG,8BAA8B,EAAiC,CAAC;gBAC/E,MAAM,QAAQ,GAAG,MAAM,CAAC,gBAAgB,CAAC,EAAE,OAAO,EAAE,EAAE,EAAE,OAAO,EAAE,CAAC,MAAM,CAAC,SAAS,CAAC,KAAK,CAAC,IAAI,CAAC,CAAC,EAAE,CAAC,CAAC;gBACnG,MAAM,aAAa,GAAG,MAAM,CAAC,aAAa,CAAC;gBAE3C,OAAO;oBACL,IAAI,EAAE,SAAS;oBACf,IAAI,CAAC,OAAO;wBACV,OAAO,QAAQ,CAAC,QAAQ,CAAC,oBAAoB,CAAC,OAAO,EAAE,aAAa,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC;oBAC/E,CAAC;iBACF,CAAC;YACJ,CAAC;iBAAM,IAAI,KAAK,CAAC,IAAI,IAAI,QAAQ,EAAE,CAAC;gBAClC,MAAM,aAAa,GAAG,aAAa,CAAC,GAAG,CAAC,KAAK,CAAC,MAAM,CAAE,CAAC;gBACvD,OAAO,EAAE,IAAI,EAAE,QAAQ,EAAE,MAAM,EAAE,aAAa,EAAE,WAAW,EAAE,KAAK,CAAC,WAAW,EAAE,CAAC;YACnF,CAAC;iBAAM,CAAC;gBACN,OAAO,EAAE,IAAI,EAAE,cAAc,EAAE,MAAM,EAAE,kBAAkB,CAAC,KAAK,CAAC,MAAM,CAAC,EAAE,CAAC;YAC5E,CAAC;QACH,CAAC;QAED,SAAS,kBAAkB,CAAC,MAA6B;YACvD,OAAO,MAAM,CAAC,GAAG,CAAC,iBAAiB,CAAC,CAAC;QACvC,CAAC;QAED,KAAK,MAAM,KAAK,IAAI,YAAY,EAAE,CAAC;YACjC,MAAM,UAAU,GAAG,YAAY,CAAC,MAAM,CAAC;YACvC,MAAM,WAAW,GAA8B,EAAE,CAAC;YAClD,YAAY,CAAC,IAAI,CAAC,WAAW,CAAC,CAAC;YAE/B,KAAK,MAAM,MAAM,IAAI,KAAK,EAAE,CAAC;gBAC3B,MAAM,KAAK,GAAG,WAAW,CAAC,MAAM,CAAC;gBACjC,aAAa,CAAC,GAAG,CAAC,MAAM,EAAE,EAAE,KAAK,EAAE,UAAU,EAAE,KAAK,EAAE,CAAC,CAAC;gBAExD,IAAI,MAAM,CAAC,IAAI,IAAI,WAAW,EAAE,CAAC;oBAC/B,WAAW,CAAC,IAAI,CAAC;wBACf,IAAI,EAAE,WAAW;wBACjB,MAAM,EAAE,KAAK,CAAC,eAAe,CAAC,GAAG,CAAC,MAAM,CAAC,MAAM,CAAE;wBACjD,aAAa,EAAE,kBAAkB,CAAC,MAAM,CAAC,aAAa,CAAC;qBACxD,CAAC,CAAC;gBACL,CAAC;qBAAM,CAAC;oBACN,gGAAgG;oBAChG,MAAM,SAAS,GAAG,8BAA8B,EAAE,CAAC;oBACnD,MAAM,EAAE,GAAwB;wBAC9B,IAAI,EAAE,MAAM,CAAC,YAAY;wBACzB,MAAM,EAAE,MAAM,CAAC,cAAc,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,SAAS,CAAC,2BAA2B,CAAC,CAAC,CAAC,CAAC;qBACnF,CAAC;oBACF,MAAM,UAAU,GAAG,IAAI,gBAAgB,CACrC,CAAC,EAAE,MAAM,EAAE,EAAE,EAAE,CAAC,CAAC;wBACf,QAAQ,EAAE,EAAE;wBACZ,MAAM;qBACP,CAAC,CACH,CAAC;oBAEF,MAAM,QAAQ,GAAG,MAAM,CAAC,gBAAgB,CAAC;wBACvC,oBAAoB,EAAE,CAAC,EAAE,CAAC;wBAC1B,OAAO,EAAE,MAAM,CAAC,OAAO,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,SAAS,CAAC,UAAU,EAAE,CAAC,EAAE,IAAI,CAAC,CAAC;wBAClE,OAAO,EAAE,MAAM,CAAC,OAAO,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,SAAS,CAAC,UAAU,EAAE,CAAC,EAAE,IAAI,CAAC,CAAC;qBACnE,CAAC,CAAC;oBAEH,WAAW,CAAC,IAAI,CAAC;wBACf,IAAI,EAAE,cAAc;wBACpB,IAAI,CAAC,OAAO;4BACV,OAAO;gCACL,GAAG,mBAAmB,CAAC,QAAQ,CAAC,QAAQ,CAAC,oBAAoB,CAAC,OAAO,EAAE,SAAS,CAAC,aAAa,CAAC,CAAC,CAAC;6BAClG,CAAC;wBACJ,CAAC;qBACF,CAAC,CAAC;gBACL,CAAC;YACH,CAAC;QACH,CAAC;QAED,OAAO,IAAI,0BAA0B,CAAC,MAAM,EAAE,YAAY,EAAE,kBAAkB,CAAC,MAAM,CAAC,CAAC,CAAC;IAC1F,CAAC;CACF;AAED,MAAM,mBAAmB;IAEF;IACA;IAFrB,YACqB,KAAQ,EACR,UAAsC;QADtC,UAAK,GAAL,KAAK,CAAG;QACR,eAAU,GAAV,UAAU,CAA4B;IACxD,CAAC;IAEJ,uBAAuB,CAAC,MAAgC;QACtD,MAAM,MAAM,GAAG,IAAI,CAAC,UAAU,CAAC,YAAY,CAAC;QAC5C,IAAI,sBAAsB,GAAG,KAAK,CAAC;QACnC,KAAK,IAAI,UAAU,GAAG,CAAC,EAAE,UAAU,GAAG,MAAM,CAAC,MAAM,EAAE,UAAU,EAAE,EAAE,CAAC;YAClE,MAAM,KAAK,GAAG,MAAM,CAAC,UAAU,CAAC,CAAC;YACjC,KAAK,IAAI,YAAY,GAAG,CAAC,EAAE,YAAY,GAAG,KAAK,CAAC,MAAM,EAAE,YAAY,EAAE,EAAE,CAAC;gBACvE,MAAM,cAAc,GAAG,IAAI,CAAC,mBAAmB,CAAC,UAAU,EAAE,YAAY,CAAC,CAAC;gBAC1E,IAAI,cAAc,IAAI,IAAI,EAAE,CAAC;oBAC3B,kDAAkD;oBAClD,sBAAsB,GAAG,IAAI,CAAC;oBAC9B,SAAS;gBACX,CAAC;gBAED,IAAI,cAAc,CAAC,MAAM,IAAI,CAAC,EAAE,CAAC;oBAC/B,yGAAyG;oBACzG,oHAAoH;oBACpH,6DAA6D;oBAC7D,yGAAyG;oBACzG,mFAAmF;oBACnF,OAAO,EAAE,CAAC;gBACZ,CAAC;YACH,CAAC;QACH,CAAC;QAED,IAAI,sBAAsB,EAAE,CAAC;YAC3B,OAAO,SAAS,CAAC;QACnB,CAAC;QAED,mHAAmH;QACnH,OAAO,CAAC,GAAG,IAAI,CAAC,aAAa,CAAC,MAAM,CAAC,CAAC,CAAC;IACzC,CAAC;IAES,CAAC,aAAa,CAAC,MAAgC;QACvD,MAAM,eAAe,GAAG,MAAM,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,KAAK,EAAE,EAAE;YAC9C,MAAM,MAAM,GAAG,IAAI,CAAC,aAAa,CAAC,MAAM,EAAE,KAAK,CAAC,CAAC;YACjD,IAAI,MAAM,IAAI,IAAI,EAAE,CAAC;gBACnB,8GAA8G;gBAC9G,MAAM,IAAI,KAAK,CAAC,8EAA8E,CAAC,CAAC;YAClG,CAAC;YACD,OAAO,MAAM,CAAC;QAChB,CAAC,CAAC,CAAC;QAEH,KAAK,CAAC,CAAC,sBAAsB,CAAC,eAAe,CAAC,CAAC;IACjD,CAAC;IAED;;;OAGG;IACH,aAAa,CAAC,MAAgC,EAAE,KAAa;QAC3D,MAAM,OAAO,GAAG,MAAM,CAAC,KAAK,CAAC,CAAC;QAC9B,IAAI,OAAO,CAAC,IAAI,KAAK,QAAQ,EAAE,CAAC;YAC9B,OAAO,OAAO,CAAC,MAAM,CAAC;QACxB,CAAC;aAAM,IAAI,OAAO,CAAC,IAAI,KAAK,cAAc,EAAE,CAAC;YAC3C,MAAM,OAAO,GAA8B,EAAE,CAAC;YAC9C,KAAK,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC,GAAG,OAAO,CAAC,MAAM,CAAC,MAAM,EAAE,CAAC,EAAE,EAAE,CAAC;gBAC/C,MAAM,SAAS,GAAG,IAAI,CAAC,aAAa,CAAC,OAAO,CAAC,MAAM,EAAE,CAAC,CAAC,CAAC;gBACxD,IAAI,SAAS,IAAI,IAAI,EAAE,CAAC;oBACtB,OAAO,SAAS,CAAC,CAAC,+BAA+B;gBACnD,CAAC;gBACD,OAAO,CAAC,IAAI,CAAC,SAAS,CAAC,CAAC;YAC1B,CAAC;YAED,4GAA4G;YAC5G,gHAAgH;YAChH,+GAA+G;YAC/G,4DAA4D;YAC5D,EAAE;YACF,8BAA8B;YAC9B,8BAA8B;YAC9B,EAAE;YACF,+GAA+G;YAC/G,yGAAyG;YACzG,oFAAoF;YACpF,MAAM,MAAM,GAAG,MAAM,CAAC,QAAQ,CAAC,CAAC;YAChC,MAAM,iBAAiB,GAAG,IAAI,GAAG,EAA6D,CAAC;YAC/F,MAAM,aAAa,GAAG,IAAI,GAAG,EAAuB,CAAC;YACrD,SAAS,kBAAkB,CAAC,SAAiB,EAAE,KAAa;gBAC1D,IAAI,MAAM,GAAG,aAAa,CAAC,GAAG,CAAC,SAAS,CAAC,CAAC;gBAC1C,IAAI,MAAM,IAAI,IAAI,EAAE,CAAC;oBACnB,MAAM,GAAG,IAAI,GAAG,EAAE,CAAC;oBACnB,aAAa,CAAC,GAAG,CAAC,SAAS,EAAE,MAAM,CAAC,CAAC;gBACvC,CAAC;gBAED,MAAM,CAAC,GAAG,CAAC,KAAK,CAAC,CAAC;YACpB,CAAC;YAED,0CAA0C;YAC1C,KAAK,MAAM,MAAM,IAAI,OAAO,EAAE,CAAC;gBAC7B,SAAS,EAAE,KAAK,MAAM,KAAK,IAAI,MAAM,EAAE,CAAC;oBACtC,MAAM,GAAG,GAAG,KAAK,CAAC,YAAY,CAAC;oBAC/B,IAAI,GAAG,EAAE,CAAC;wBACR,IAAI,YAAY,GAAG,iBAAiB,CAAC,GAAG,CAAC,GAAG,CAAC,SAAS,CAAC,CAAC;wBACxD,IAAI,YAAY,IAAI,IAAI,EAAE,CAAC;4BACzB,YAAY,GAAG,IAAI,GAAG,EAAE,CAAC;4BACzB,iBAAiB,CAAC,GAAG,CAAC,GAAG,CAAC,SAAS,EAAE,YAAY,CAAC,CAAC;wBACrD,CAAC;wBAED,MAAM,aAAa,GAAG,YAAY,CAAC,GAAG,CAAC,GAAG,CAAC,GAAG,CAAC,CAAC;wBAChD,IAAI,aAAa,IAAI,IAAI,IAAI,aAAa,IAAI,KAAK,CAAC,KAAK,EAAE,CAAC;4BAC1D,YAAY,CAAC,GAAG,CAAC,GAAG,CAAC,GAAG,EAAE,MAAM,CAAC,CAAC;4BAClC,kBAAkB,CAAC,GAAG,CAAC,SAAS,EAAE,GAAG,CAAC,GAAG,CAAC,CAAC;4BAC3C,SAAS,SAAS,CAAC;wBACrB,CAAC;6BAAM,CAAC;4BACN,YAAY,CAAC,GAAG,CAAC,GAAG,CAAC,GAAG,EAAE,KAAK,CAAC,KAAK,CAAC,CAAC;wBACzC,CAAC;oBACH,CAAC;gBACH,CAAC;YACH,CAAC;YAED,SAAS,eAAe,CAAC,KAA4B;gBACnD,IAAI,KAAK,CAAC,YAAY,EAAE,CAAC;oBACvB,MAAM,EAAE,SAAS,EAAE,GAAG,EAAE,GAAG,KAAK,CAAC,YAAY,CAAC;oBAE9C,MAAM,aAAa,GAAG,aAAa,CAAC,GAAG,CAAC,SAAS,CAAC,CAAC;oBACnD,IAAI,aAAa,EAAE,GAAG,CAAC,GAAG,CAAC;wBAAE,OAAO,IAAI,CAAC;oBAEzC,MAAM,kBAAkB,GAAG,iBAAiB,CAAC,GAAG,CAAC,SAAS,CAAC,CAAC;oBAC5D,IAAI,kBAAkB,IAAI,IAAI;wBAAE,OAAO,KAAK,CAAC;oBAE7C,IAAI,kBAAkB,CAAC,GAAG,CAAC,GAAG,CAAC,IAAI,KAAK,CAAC,KAAK;wBAAE,OAAO,IAAI,CAAC;gBAC9D,CAAC;gBAED,OAAO,KAAK,CAAC;YACf,CAAC;YAED,IAAI,YAAY,GAA2D,IAAI,CAAC;YAChF,KAAK,MAAM,MAAM,IAAI,OAAO,EAAE,CAAC;gBAC7B,IAAI,YAAY,IAAI,IAAI,EAAE,CAAC;oBACzB,YAAY,GAAG,IAAI,GAAG,EAAE,CAAC;oBAEzB,KAAK,MAAM,KAAK,IAAI,MAAM,EAAE,CAAC;wBAC3B,IAAI,eAAe,CAAC,KAAK,CAAC;4BAAE,SAAS;wBAErC,MAAM,QAAQ,GAAG,YAAY,CAAC,GAAG,CAAC,KAAK,CAAC,KAAK,CAAC,CAAC;wBAC/C,IAAI,QAAQ,IAAI,IAAI,EAAE,CAAC;4BACrB,QAAQ,CAAC,IAAI,CAAC,KAAK,CAAC,UAAU,CAAC,CAAC;wBAClC,CAAC;6BAAM,CAAC;4BACN,YAAY,CAAC,GAAG,CAAC,KAAK,CAAC,KAAK,EAAE,CAAC,KAAK,CAAC,UAAU,CAAC,CAAC,CAAC;wBACpD,CAAC;wBAED,KAAK,MAAM,EAAE,SAAS,EAAE,GAAG,EAAE,IAAI,KAAK,CAAC,UAAU,EAAE,CAAC;4BAClD,0GAA0G;4BAC1G,+CAA+C;4BAC/C,kBAAkB,CAAC,SAAS,EAAE,GAAG,CAAC,CAAC;wBACrC,CAAC;oBACH,CAAC;gBACH,CAAC;qBAAM,CAAC;oBACN,MAAM,eAAe,GAAG,IAAI,GAAG,CAAC,YAAY,CAAC,IAAI,EAAE,CAAC,CAAC;oBAErD,KAAK,MAAM,KAAK,IAAI,MAAM,EAAE,CAAC;wBAC3B,MAAM,QAAQ,GAAG,YAAY,CAAC,GAAG,CAAC,KAAK,CAAC,KAAK,CAAC,CAAC;wBAC/C,IAAI,QAAQ,IAAI,IAAI,EAAE,CAAC;4BACrB,qCAAqC;wBACvC,CAAC;6BAAM,CAAC;4BACN,eAAe,CAAC,MAAM,CAAC,KAAK,CAAC,KAAK,CAAC,CAAC;4BAEpC,IAAI,CAAC,eAAe,CAAC,KAAK,CAAC,EAAE,CAAC;gCAC5B,wFAAwF;gCACxF,QAAQ,CAAC,IAAI,CAAC,KAAK,CAAC,UAAU,CAAC,CAAC;4BAClC,CAAC;wBACH,CAAC;oBACH,CAAC;oBAED,KAAK,MAAM,SAAS,IAAI,eAAe,EAAE,CAAC;wBACxC,sDAAsD;wBACtD,YAAY,CAAC,MAAM,CAAC,SAAS,CAAC,CAAC;oBACjC,CAAC;gBACH,CAAC;gBAED,IAAI,YAAa,CAAC,IAAI,IAAI,CAAC,EAAE,CAAC;oBAC5B,+DAA+D;oBAC/D,MAAM;gBACR,CAAC;YACH,CAAC;YAED,IAAI,MAAM,GAA4B,EAAE,CAAC;YACzC,IAAI,YAAY,EAAE,CAAC;gBACjB,YAAY,CAAC,OAAO,CAAC,CAAC,WAAW,EAAE,KAAK,EAAE,EAAE;oBAC1C,KAAK,MAAM,UAAU,IAAI,WAAW,EAAE,CAAC;wBACrC,MAAM,CAAC,IAAI,CAAC,EAAE,KAAK,EAAE,UAAU,EAAE,CAAC,CAAC;oBACrC,CAAC;gBACH,CAAC,CAAC,CAAC;YACL,CAAC;YAED,MAAM,CAAC,KAAK,CAAC,GAAG,EAAE,IAAI,EAAE,QAAQ,EAAE,MAAM,EAAE,CAAC;YAC3C,OAAO,MAAM,CAAC;QAChB,CAAC;aAAM,IAAI,OAAO,CAAC,IAAI,KAAK,QAAQ,EAAE,CAAC;YACrC,MAAM,cAAc,GAAG,IAAI,CAAC,mBAAmB,CAAC,OAAO,CAAC,MAAM,CAAC,KAAK,EAAE,OAAO,CAAC,MAAM,CAAC,KAAK,CAAC,CAAC;YAC5F,IAAI,cAAc,EAAE,CAAC;gBACnB,MAAM,MAAM,GAAG,cAAc,CAAC,GAAG,CAAC,CAAC,GAAG,EAAE,EAAE,CAAC,GAAG,CAAC,OAAO,CAAC,WAAW,CAAC,CAAC,CAAC;gBACrE,MAAM,CAAC,KAAK,CAAC,GAAG,EAAE,IAAI,EAAE,QAAQ,EAAE,MAAM,EAAE,CAAC;gBAC3C,OAAO,MAAM,CAAC;YAChB,CAAC;QACH,CAAC;aAAM,IAAI,OAAO,CAAC,IAAI,KAAK,SAAS,EAAE,CAAC;YACtC,MAAM,KAAK,GAAG,OAAO,CAAC,IAAI,CAAC,IAAI,CAAC,KAAK,CAAC,OAAO,CAAC,CAAC;YAC/C,MAAM,MAAM,GAA4B,qBAAqB,CAAC,KAAK,CAAC;gBAClE,CAAC,CAAC;oBACE;wBACE,KAAK;wBACL,UAAU,EAAE,EAAE;qBACf;iBACF;gBACH,CAAC,CAAC,EAAE,CAAC;YAEP,MAAM,CAAC,KAAK,CAAC,GAAG,EAAE,IAAI,EAAE,QAAQ,EAAE,MAAM,EAAE,CAAC;YAC3C,OAAO,MAAM,CAAC;QAChB,CAAC;QAED,OAAO,SAAS,CAAC;IACnB,CAAC;IAED,mBAAmB,CAAC,KAAa,EAAE,KAAa;QAC9C,MAAM,MAAM,GAAG,IAAI,CAAC,UAAU,CAAC,YAAY,CAAC,KAAK,CAAC,CAAC,KAAK,CAAC,CAAC;QAC1D,IAAI,MAAM,CAAC,IAAI,IAAI,cAAc,EAAE,CAAC;YAClC,sDAAsD;YACtD,MAAM,eAAe,GAAG,MAAM,EAAE,CAAC;YACjC,MAAM,MAAM,GAAG,MAAM,CAAC,IAAI,CAAC,IAAI,CAAC,KAAK,CAAC,OAAO,CAAC,CAAC,GAAG,CAAC,CAAC,MAAM,EAAE,KAAK,EAAE,EAAE;gBACnE,MAAM,YAAY,GAAqB,EAAE,SAAS,EAAE,eAAe,EAAE,GAAG,EAAE,KAAK,EAAE,CAAC;gBAClF,MAAM,UAAU,GAAuB,CAAC,YAAY,CAAC,CAAC;gBACtD,OAAO,MAAM,CAAC,GAAG,CAAC,CAAC,KAAK,EAAE,EAAE,CAAC,CAAC,EAAE,KAAK,EAAE,UAAU,EAAE,YAAY,EAAE,CAAiC,CAAC,CAAC;YACtG,CAAC,CAAC,CAAC;YAEH,IAAI,CAAC,UAAU,CAAC,YAAY,CAAC,KAAK,CAAC,CAAC,KAAK,CAAC,GAAG,EAAE,IAAI,EAAE,QAAQ,EAAE,MAAM,EAAE,CAAC;YACxE,OAAO,MAAM,CAAC;QAChB,CAAC;aAAM,IAAI,MAAM,CAAC,IAAI,IAAI,QAAQ,EAAE,CAAC;YACnC,OAAO,MAAM,CAAC,MAAM,CAAC;QACvB,CAAC;QAED,OAAO,SAAS,CAAC;IACnB,CAAC;CACF;AAED,MAAM,gBAAiB,SAAQ,mBAAuC;IACpE,oBAAoB,CAAC,MAAgC;QACnD,MAAM,QAAQ,GAAG,IAAI,CAAC,uBAAuB,CAAC,MAAM,CAAC,CAAC;QACtD,IAAI,QAAQ,IAAI,IAAI,EAAE,CAAC;YACrB,MAAM,IAAI,KAAK,CAAC,4FAA4F,CAAC,CAAC;QAChH,CAAC;QAED,OAAO,QAAQ,CAAC;IAClB,CAAC;IAED,KAAK,CAAC,eAAe,CAAC,KAAa,EAAE,KAAa;QAChD,MAAM,MAAM,GAAG,IAAI,CAAC,UAAU,CAAC,YAAY,CAAC,KAAK,CAAC,CAAC,KAAK,CAAC,CAAC;QAC1D,IAAI,MAAM,CAAC,IAAI,IAAI,WAAW,EAAE,CAAC;YAC/B,MAAM,KAAK,GAAG,IAAI,CAAC,KAAK,CAAC,cAAc,CAAC,4BAA4B,CAAC,MAAM,CAAC,MAAM,CAAC,CAAC;YACpF,MAAM,cAAc,GAAG,MAAM,CAAC,MAA6C,CAAC;YAO5E,8GAA8G;YAC9G,gHAAgH;YAChH,iHAAiH;YACjH,MAAM,cAAc,GAAG,IAAI,OAAO,CAChC,gBAAgB,CAAC,sBAAsB,CACxC,CAAC;YAEF,KAAK,MAAM,MAAM,IAAI,IAAI,CAAC,aAAa,CAAC,MAAM,CAAC,aAAa,CAAC,EAAE,CAAC;gBAC9D,MAAM,UAAU,GAAuB,EAAE,CAAC;gBAC1C,KAAK,MAAM,KAAK,IAAI,MAAM,EAAE,CAAC;oBAC3B,UAAU,CAAC,IAAI,CAAC,GAAG,KAAK,CAAC,UAAU,CAAC,CAAC;gBACvC,CAAC;gBAED,MAAM,YAAY,GAAG,iBAAiB,CAAC,MAAM,CAAC,CAAC;gBAC/C,cAAc,CAAC,WAAW,CAAC,YAAY,EAAE,CAAC,GAAG,EAAE,EAAE;oBAC/C,IAAI,GAAG,IAAI,IAAI,EAAE,CAAC;wBAChB,OAAO;4BACL,MAAM,EAAE,qBAAqB,CAAC,UAAU,CAAC,KAAK,EAAE,uBAAuB,CAAC,UAAU,CAAC,YAAY,CAAC,CAAC;4BACjG,UAAU,EAAE,CAAC,EAAE,MAAM,EAAE,UAAU,EAAE,MAAM,EAAE,MAAM,CAAC,UAAU,KAAK,IAAI,KAAK,EAAE,CAAC,EAAE,CAAC;yBACjF,CAAC;oBACJ,CAAC;yBAAM,CAAC;wBACN,GAAG,CAAC,UAAU,CAAC,IAAI,CAAC,EAAE,MAAM,EAAE,UAAU,EAAE,MAAM,EAAE,MAAM,CAAC,UAAU,KAAK,IAAI,KAAK,EAAE,CAAC,EAAE,CAAC,CAAC;wBACxF,OAAO,GAAG,CAAC;oBACb,CAAC;gBACH,CAAC,CAAC,CAAC;YACL,CAAC;YAED,MAAM,mBAAmB,GAAG,IAAI,GAAG,EAA2E,CAAC;YAC/G,KAAK,MAAM,CAAC,CAAC,EAAE,EAAE,MAAM,EAAE,UAAU,EAAE,CAAC,IAAI,cAAc,CAAC,OAAO,EAAE,CAAC;gBACjE,mBAAmB,CAAC,GAAG,CAAC,MAAM,EAAE,UAAU,CAAC,CAAC;YAC9C,CAAC;YAED,MAAM,OAAO,GAAG,MAAM,IAAI,CAAC,KAAK,CAAC,MAAM,CAAC,gBAAgB,CACtD,CAAC,GAAG,mBAAmB,CAAC,IAAI,EAAE,CAAC,EAC/B,UAAU,IAAI,CAAC,UAAU,CAAC,MAAM,CAAC,IAAI,4BAA4B,cAAc,CAAC,WAAW,CAAC,YAAY,EAAE,CAC3G,CAAC;YAEF,6EAA6E;YAC7E,MAAM,MAAM,GAAG,OAAO,CAAC,OAAO,CAAC,CAAC,EAAE,MAAM,EAAE,IAAI,EAAE,EAAE,EAAE;gBAClD,OAAO,mBAAmB,CAAC,GAAG,CAAC,MAAM,CAAE,CAAC,OAAO,CAAC,CAAC,EAAE,MAAM,EAAE,MAAM,EAAE,EAAE,EAAE;oBACrE,OAAO,IAAI,CAAC,GAAG,CAAC,CAAC,GAAG,EAAE,KAAK,EAAE,EAAE;wBAC7B,MAAM,MAAM,GAAG,MAAM,CAAC,OAAO,CAAC,GAAG,CAAC,CAAC,MAAM,CAAC;wBAC1C,MAAM,OAAO,GAA4B,EAAE,CAAC;wBAE5C,KAAK,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC,GAAG,MAAM,EAAE,CAAC,EAAE,EAAE,CAAC;4BAChC,MAAM,KAAK,GAAG,GAAG,CAAC,CAAC,CAAC,QAAQ,EAAE,CAAyB,CAAC;4BACxD,MAAM,YAAY,GAAG,MAAM,GAAG,CAAC,CAAC,CAAC,CAAC,EAAE,SAAS,EAAE,MAAM,EAAE,GAAG,EAAE,KAAK,EAAE,CAAC,CAAC,CAAC,SAAS,CAAC;4BAEhF,OAAO,CAAC,IAAI,CAAC;gCACX,KAAK;gCACL,iGAAiG;gCACjG,wGAAwG;gCACxG,wEAAwE;gCACxE,UAAU,EAAE,YAAY,IAAI,IAAI,CAAC,CAAC,CAAC,CAAC,GAAG,MAAM,EAAE,YAAY,CAAC,CAAC,CAAC,CAAC,MAAM;gCACrE,YAAY;6BACb,CAAC,CAAC;wBACL,CAAC;wBACD,OAAO,OAAO,CAAC;oBACjB,CAAC,CAAC,CAAC;gBACL,CAAC,CAAC,CAAC;YACL,CAAC,CAAC,CAAC;YAEH,IAAI,CAAC,UAAU,CAAC,YAAY,CAAC,KAAK,CAAC,CAAC,KAAK,CAAC,GAAG,EAAE,IAAI,EAAE,QAAQ,EAAE,MAAM,EAAE,CAAC;YACxE,OAAO,MAAM,CAAC;QAChB,CAAC;QAED,MAAM,KAAK,GAAG,IAAI,CAAC,mBAAmB,CAAC,KAAK,EAAE,KAAK,CAAC,CAAC;QACrD,IAAI,KAAK,IAAI,IAAI,EAAE,CAAC;YAClB,MAAM,IAAI,KAAK,CAAC,uEAAuE,CAAC,CAAC;QAC3F,CAAC;QACD,OAAO,KAAK,CAAC;IACf,CAAC;IAEO,MAAM,CAAU,sBAAsB,GAAG,YAAY,CAAC,YAAY,CAAC,sBAAsB,CAAC,CAAC;;AAmErG,SAAS,iBAAiB,CAAC,MAA+B;IACxD,OAAO,MAAM,CAAC,GAAG,CAAC,CAAC,EAAE,KAAK,EAAE,EAAE,EAAE,CAAC,KAAK,CAAC,CAAC;AAC1C,CAAC;AAWD,MAAM,UAAU,wBAAwB,CAAC,GAAkB;IACzD,KAAK,MAAM,KAAK,IAAI,GAAG,EAAE,CAAC;QACxB,IAAI,CAAC,qBAAqB,CAAC,KAAK,CAAC,EAAE,CAAC;YAClC,OAAO,KAAK,CAAC;QACf,CAAC;IACH,CAAC;IAED,OAAO,IAAI,CAAC;AACd,CAAC;AAED,MAAM,UAAU,oBAAoB,CAAC,UAA6B,EAAE,MAAgC;IAClG,OAAO,MAAM,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,EAAE;QACtB,IAAI,SAAS,IAAI,CAAC,EAAE,CAAC;YACnB,QAAQ,CAAC,CAAC,OAAO,EAAE,CAAC;gBAClB,KAAK,MAAM;oBACT,OAAO,UAAU,CAAC,eAAe,CAAC;gBACpC,KAAK,cAAc;oBACjB,OAAO,UAAU,CAAC,mBAAoB,CAAC;gBACzC,KAAK,YAAY;oBACf,OAAO,UAAU,CAAC,iBAAiB,CAAC;YACxC,CAAC;QACH,CAAC;aAAM,CAAC;YACN,MAAM,IAAI,KAAK,CAAC,4CAA4C,CAAC,CAAC;QAChE,CAAC;IACH,CAAC,CAAC,CAAC;AACL,CAAC;AAED,QAAQ,CAAC,CAAC,mBAAmB,CAAC,IAAqB;IACjD,KAAK,MAAM,GAAG,IAAI,IAAI,EAAE,CAAC;QACvB,IAAI,wBAAwB,CAAC,GAAG,CAAC,EAAE,CAAC;YAClC,MAAM,GAAG,CAAC;QACZ,CAAC;IACH,CAAC;AACH,CAAC;AAED;;;;;;GAMG;AACH,QAAQ,CAAC,CAAC,sBAAsB,CAAC,iBAA4C;IAC3E,iHAAiH;IACjH,MAAM,cAAc,GAAG,IAAI,KAAK,CAAC,iBAAiB,CAAC,MAAM,CAAC,CAAC;IAC3D,oEAAoE;IACpE,MAAM,QAAQ,GAAG,IAAI,GAAG,EAAkB,CAAC;IAE3C,SAAS,sBAAsB,CAAC,KAA4B;QAC1D,MAAM,eAAe,GAAa,EAAE,CAAC;QAErC,KAAK,MAAM,MAAM,IAAI,KAAK,CAAC,UAAU,EAAE,CAAC;YACtC,MAAM,EAAE,SAAS,EAAE,GAAG,EAAE,GAAG,MAAM,CAAC;YAClC,MAAM,WAAW,GAAG,QAAQ,CAAC,GAAG,CAAC,SAAS,CAAC,CAAC;YAC5C,IAAI,WAAW,KAAK,SAAS,EAAE,CAAC;gBAC9B,eAAe,CAAC,IAAI,CAAC,SAAS,CAAC,CAAC;gBAChC,QAAQ,CAAC,GAAG,CAAC,SAAS,EAAE,GAAG,CAAC,CAAC;YAC/B,CAAC;iBAAM,IAAI,WAAW,IAAI,GAAG,EAAE,CAAC;gBAC9B,SAAS;YACX,CAAC;iBAAM,CAAC;gBACN,2GAA2G;gBAC3G,+CAA+C;gBAC/C,OAAO,CAAC,KAAK,EAAE,eAAe,CAAC,CAAC;YAClC,CAAC;QACH,CAAC;QAED,OAAO,CAAC,IAAI,EAAE,eAAe,CAAC,CAAC;IACjC,CAAC;IAED,SAAS,mBAAmB,CAAC,UAAoB;QAC/C,KAAK,MAAM,EAAE,IAAI,UAAU,EAAE,CAAC;YAC5B,QAAQ,CAAC,MAAM,CAAC,EAAE,CAAC,CAAC;QACtB,CAAC;IACH,CAAC;IAED,QAAQ,CAAC,CAAC,oBAAoB,CAAC,aAAqB;QAClD,IAAI,aAAa,IAAI,iBAAiB,CAAC,MAAM,EAAE,CAAC;YAC9C,MAAM,CAAC,GAAG,cAAc,CAAC,CAAC;YAC1B,OAAO;QACT,CAAC;QAED,MAAM,eAAe,GAAG,iBAAiB,CAAC,aAAa,CAAC,CAAC;QACzD,KAAK,MAAM,SAAS,IAAI,eAAe,EAAE,CAAC;YACxC,MAAM,CAAC,MAAM,EAAE,eAAe,CAAC,GAAG,sBAAsB,CAAC,SAAS,CAAC,CAAC;YACpE,IAAI,MAAM,EAAE,CAAC;gBACX,cAAc,CAAC,aAAa,CAAC,GAAG,SAAS,CAAC;gBAC1C,KAAK,CAAC,CAAC,oBAAoB,CAAC,aAAa,GAAG,CAAC,CAAC,CAAC;YACjD,CAAC;YAED,mBAAmB,CAAC,eAAe,CAAC,CAAC;QACvC,CAAC;IACH,CAAC;IAED,KAAK,CAAC,CAAC,oBAAoB,CAAC,CAAC,CAAC,CAAC;AACjC,CAAC"}
@@ -1,6 +1,6 @@
1
1
  import { UnscopedParameterLookup } from '../../BucketParameterQuerier.js';
2
2
  import { isValidParameterValueRow } from './parameter_evaluator.js';
3
- import { TableProcessorToSqlHelper } from './table_processor_to_sql.js';
3
+ import { resolveRowMetadata, TableProcessorToSqlHelper } from './table_processor_to_sql.js';
4
4
  export class PreparedParameterIndexLookupCreator {
5
5
  sourceId;
6
6
  sourceTable;
@@ -46,7 +46,7 @@ export class PreparedParameterIndexLookupCreator {
46
46
  return a.every((val, idx) => val === b[idx]);
47
47
  }
48
48
  try {
49
- const inputInstantiation = this.evaluatorInputs.map((input) => row[input.column]);
49
+ const inputInstantiation = this.evaluatorInputs.map((input) => 'column' in input ? row[input.column] : resolveRowMetadata(input, this.sourceTable, sourceTable));
50
50
  // In almost all cases, lookups generate at most one output with exactly one bucket parameter. This is the case
51
51
  // for all lookups without a table-valued function, e.g. `SELECT foo.* FROM foo, bar ON foo.x = bar.x AND
52
52
  // bar.y = auth.user_id()` which generates a lookup from `bar.y` to `bar.x`. However, it's also possible for:
@@ -1 +1 @@
1
- {"version":3,"file":"parameter_index_lookup_creator.js","sourceRoot":"","sources":["../../../src/sync_plan/evaluator/parameter_index_lookup_creator.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"parameter_index_lookup_creator.js","sourceRoot":"","sources":["../../../src/sync_plan/evaluator/parameter_index_lookup_creator.ts"],"names":[],"mappings":"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"}
@@ -1,3 +1,5 @@
1
+ import { SourceTableRef } from '../../SourceTableRef.js';
2
+ import { TablePattern } from '../../TablePattern.js';
1
3
  import { TableValuedFunction, TableValuedFunctionOutput } from '../engine/scalar_expression_engine.js';
2
4
  import { SqlExpression } from '../expression.js';
3
5
  import * as plan from '../plan.js';
@@ -9,12 +11,13 @@ import * as plan from '../plan.js';
9
11
  */
10
12
  export declare class TableProcessorToSqlHelper {
11
13
  mapper: {
12
- instantiation: plan.ColumnSqlParameterValue[];
14
+ instantiation: (plan.ColumnSqlParameterValue | plan.RowMetadataSqlValue)[];
13
15
  tableValuedFunctions: Map<plan.TableProcessorTableValuedFunction, TableValuedFunction>;
14
16
  transform(expr: SqlExpression<plan.SqlParameterValue>): SqlExpression<number | TableValuedFunctionOutput>;
15
- transformWithoutTableValued(expr: SqlExpression<plan.ColumnSqlParameterValue>): SqlExpression<number>;
17
+ transformWithoutTableValued(expr: SqlExpression<plan.ColumnSqlParameterValue | plan.RowMetadataSqlValue>): SqlExpression<number>;
16
18
  };
17
19
  readonly filterExpressions: SqlExpression<number | TableValuedFunctionOutput>[];
18
20
  get tableValuedFunctions(): TableValuedFunction[];
19
21
  constructor(source: plan.TableProcessor);
20
22
  }
23
+ export declare function resolveRowMetadata(value: plan.RowMetadataSqlValue, pattern: TablePattern, table: SourceTableRef): string;
@@ -25,4 +25,14 @@ export class TableProcessorToSqlHelper {
25
25
  }
26
26
  }
27
27
  }
28
+ export function resolveRowMetadata(value, pattern, table) {
29
+ switch (value.metadata) {
30
+ case 'schema':
31
+ return table.schema;
32
+ case 'table_name':
33
+ return table.name;
34
+ case 'table_suffix':
35
+ return pattern.isWildcard ? pattern.suffix(table.name) : '';
36
+ }
37
+ }
28
38
  //# sourceMappingURL=table_processor_to_sql.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"table_processor_to_sql.js","sourceRoot":"","sources":["../../../src/sync_plan/evaluator/table_processor_to_sql.ts"],"names":[],"mappings":"AAAA,OAAO,EACL,8BAA8B,EAG/B,MAAM,uCAAuC,CAAC;AAI/C;;;;;GAKG;AACH,MAAM,OAAO,yBAAyB;IACpC,MAAM,GAAG,8BAA8B,EAAgC,CAAC;IAC/D,iBAAiB,GAAwD,EAAE,CAAC;IAErF,IAAI,oBAAoB;QACtB,OAAO,CAAC,GAAG,IAAI,CAAC,MAAM,CAAC,oBAAoB,CAAC,MAAM,EAAE,CAAC,CAAC;IACxD,CAAC;IAED,YAAY,MAA2B;QACrC,yCAAyC;QACzC,KAAK,MAAM,EAAE,IAAI,MAAM,CAAC,oBAAoB,EAAE,CAAC;YAC7C,MAAM,MAAM,GAAwB;gBAClC,IAAI,EAAE,EAAE,CAAC,YAAY;gBACrB,MAAM,EAAE,EAAE,CAAC,cAAc,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,IAAI,CAAC,MAAM,CAAC,2BAA2B,CAAC,CAAC,CAAC,CAAC;aACjF,CAAC;YACF,IAAI,CAAC,MAAM,CAAC,oBAAoB,CAAC,GAAG,CAAC,EAAE,EAAE,MAAM,CAAC,CAAC;QACnD,CAAC;QAED,KAAK,MAAM,MAAM,IAAI,MAAM,CAAC,OAAO,EAAE,CAAC;YACpC,IAAI,CAAC,iBAAiB,CAAC,IAAI,CAAC,IAAI,CAAC,MAAM,CAAC,SAAS,CAAC,MAAM,CAAC,CAAC,CAAC;QAC7D,CAAC;IACH,CAAC;CACF"}
1
+ {"version":3,"file":"table_processor_to_sql.js","sourceRoot":"","sources":["../../../src/sync_plan/evaluator/table_processor_to_sql.ts"],"names":[],"mappings":"AAEA,OAAO,EACL,8BAA8B,EAG/B,MAAM,uCAAuC,CAAC;AAI/C;;;;;GAKG;AACH,MAAM,OAAO,yBAAyB;IACpC,MAAM,GAAG,8BAA8B,EAA2D,CAAC;IAC1F,iBAAiB,GAAwD,EAAE,CAAC;IAErF,IAAI,oBAAoB;QACtB,OAAO,CAAC,GAAG,IAAI,CAAC,MAAM,CAAC,oBAAoB,CAAC,MAAM,EAAE,CAAC,CAAC;IACxD,CAAC;IAED,YAAY,MAA2B;QACrC,yCAAyC;QACzC,KAAK,MAAM,EAAE,IAAI,MAAM,CAAC,oBAAoB,EAAE,CAAC;YAC7C,MAAM,MAAM,GAAwB;gBAClC,IAAI,EAAE,EAAE,CAAC,YAAY;gBACrB,MAAM,EAAE,EAAE,CAAC,cAAc,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,IAAI,CAAC,MAAM,CAAC,2BAA2B,CAAC,CAAC,CAAC,CAAC;aACjF,CAAC;YACF,IAAI,CAAC,MAAM,CAAC,oBAAoB,CAAC,GAAG,CAAC,EAAE,EAAE,MAAM,CAAC,CAAC;QACnD,CAAC;QAED,KAAK,MAAM,MAAM,IAAI,MAAM,CAAC,OAAO,EAAE,CAAC;YACpC,IAAI,CAAC,iBAAiB,CAAC,IAAI,CAAC,IAAI,CAAC,MAAM,CAAC,SAAS,CAAC,MAAM,CAAC,CAAC,CAAC;QAC7D,CAAC;IACH,CAAC;CACF;AAED,MAAM,UAAU,kBAAkB,CAChC,KAA+B,EAC/B,OAAqB,EACrB,KAAqB;IAErB,QAAQ,KAAK,CAAC,QAAQ,EAAE,CAAC;QACvB,KAAK,QAAQ;YACX,OAAO,KAAK,CAAC,MAAM,CAAC;QACtB,KAAK,YAAY;YACf,OAAO,KAAK,CAAC,IAAI,CAAC;QACpB,KAAK,cAAc;YACjB,OAAO,OAAO,CAAC,UAAU,CAAC,CAAC,CAAC,OAAO,CAAC,MAAM,CAAC,KAAK,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,EAAE,CAAC;IAChE,CAAC;AACH,CAAC"}
@@ -88,10 +88,10 @@ export interface TableProcessorTableValuedFunctionOutput {
88
88
  /**
89
89
  * External data that can be used in expressions for {@link TableProcessor}s.
90
90
  *
91
- * This allows references to the row in the table being processed, and references to outputs of joined
92
- * {@link TableProcessor#tableValuedFunctions}.
91
+ * This allows references to the row in the table being processed, metadata about the row's source table, and
92
+ * references to outputs of joined {@link TableProcessor#tableValuedFunctions}.
93
93
  */
94
- export type TableProcessorData = ColumnSqlParameterValue | TableProcessorTableValuedFunctionOutput;
94
+ export type TableProcessorData = ColumnSqlParameterValue | RowMetadataSqlValue | TableProcessorTableValuedFunctionOutput;
95
95
  /**
96
96
  * A scalar partition key evaluates to a single value in the source or parameter row. For instance, a stream definition
97
97
  * like `SELECT * FROM users WHERE id = auth.user_id()` would generate a scalar key to partition users by the `id`
@@ -197,6 +197,15 @@ export interface StreamQuerier {
197
197
  export interface ColumnSqlParameterValue {
198
198
  column: string;
199
199
  }
200
+ export type RowMetadataKind = 'schema' | 'table_name' | 'table_suffix';
201
+ /**
202
+ * A value that resolves to metadata about the source table of the row being processed: the schema containing the
203
+ * table (`schema()`), the name of the table (`table_name()`) or, for wildcard table patterns, the matched
204
+ * suffix of the table name (`table_suffix()`).
205
+ */
206
+ export interface RowMetadataSqlValue {
207
+ metadata: RowMetadataKind;
208
+ }
200
209
  export type ConnectionParameterSource = 'auth' | 'subscription' | 'connection';
201
210
  /**
202
211
  * A value that resolves to either the current subscription parameters, the JWT of the connecting user or global
@@ -205,7 +214,7 @@ export type ConnectionParameterSource = 'auth' | 'subscription' | 'connection';
205
214
  export interface RequestSqlParameterValue {
206
215
  request: ConnectionParameterSource;
207
216
  }
208
- export type SqlParameterValue = ColumnSqlParameterValue | RequestSqlParameterValue | TableProcessorTableValuedFunctionOutput;
217
+ export type SqlParameterValue = ColumnSqlParameterValue | RowMetadataSqlValue | RequestSqlParameterValue | TableProcessorTableValuedFunctionOutput;
209
218
  /**
210
219
  * A lookup returning multiple rows when instantiated.
211
220
  */
@@ -0,0 +1,25 @@
1
+ import { Equality } from '../compiler/equality.js';
2
+ import { SerializedBucketDataSource, SerializedDataSource, SerializedParameterIndexLookupCreator } from './serialize.js';
3
+ export interface SerializedBucketDataSourceWithDataSources {
4
+ bucket: SerializedBucketDataSource;
5
+ dataSources: readonly SerializedDataSource[];
6
+ }
7
+ /**
8
+ * Equality for SerializedParameterIndexLookupCreator.
9
+ *
10
+ * This compares the JSON form directly. These are self-contained and use a stable serialization form, so it's
11
+ * safe to compare this way.
12
+ *
13
+ * These are only considered equal if the lookupName remains the same, so may be affected by changing order of queries.
14
+ */
15
+ export declare const serializedStreamParameterIndexLookupCreatorEquality: Equality<SerializedParameterIndexLookupCreator>;
16
+ /**
17
+ * SerializedBucketDataSource is not safe to compare _directly_, since it contains index references to SerializedDataSource
18
+ * in the serialized sync plan. However, each SerializedDataSource is self-contained and safe to compare directly.
19
+ *
20
+ * So we compare the SerializedDataSource excluding `bucket.sources`, as well as the resolved SerializedDataSources (order independent).
21
+ * The caller is responsible for resolving the SerializedDataSources.
22
+ *
23
+ * These are only considered equal if uniqueName is the same, so may be affected by changing order of joins/subqueries.
24
+ */
25
+ export declare const serializedStreamBucketDataSourceEquality: Equality<SerializedBucketDataSourceWithDataSources>;
@@ -0,0 +1,46 @@
1
+ /**
2
+ * Equality for SerializedParameterIndexLookupCreator.
3
+ *
4
+ * This compares the JSON form directly. These are self-contained and use a stable serialization form, so it's
5
+ * safe to compare this way.
6
+ *
7
+ * These are only considered equal if the lookupName remains the same, so may be affected by changing order of queries.
8
+ */
9
+ export const serializedStreamParameterIndexLookupCreatorEquality = jsonEquality();
10
+ /**
11
+ * SerializedBucketDataSource is not safe to compare _directly_, since it contains index references to SerializedDataSource
12
+ * in the serialized sync plan. However, each SerializedDataSource is self-contained and safe to compare directly.
13
+ *
14
+ * So we compare the SerializedDataSource excluding `bucket.sources`, as well as the resolved SerializedDataSources (order independent).
15
+ * The caller is responsible for resolving the SerializedDataSources.
16
+ *
17
+ * These are only considered equal if uniqueName is the same, so may be affected by changing order of joins/subqueries.
18
+ */
19
+ export const serializedStreamBucketDataSourceEquality = {
20
+ hash(hasher, value) {
21
+ hasher.addString(JSON.stringify(bucketIdentity(value)));
22
+ },
23
+ equals(a, b) {
24
+ return a === b || JSON.stringify(bucketIdentity(a)) == JSON.stringify(bucketIdentity(b));
25
+ }
26
+ };
27
+ function bucketIdentity(value) {
28
+ const { bucket, dataSources } = value;
29
+ return {
30
+ hash: bucket.hash,
31
+ uniqueName: bucket.uniqueName,
32
+ // Sort so that the order of sources does not affect equality, as long as the same data sources are included.
33
+ sources: bucket.sources.map((index) => JSON.stringify(dataSources[index])).sort()
34
+ };
35
+ }
36
+ function jsonEquality() {
37
+ return {
38
+ hash(hasher, value) {
39
+ hasher.addString(JSON.stringify(value));
40
+ },
41
+ equals(a, b) {
42
+ return a === b || JSON.stringify(a) == JSON.stringify(b);
43
+ }
44
+ };
45
+ }
46
+ //# sourceMappingURL=plan_equality_serialized.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"plan_equality_serialized.js","sourceRoot":"","sources":["../../src/sync_plan/plan_equality_serialized.ts"],"names":[],"mappings":"AAYA;;;;;;;GAOG;AACH,MAAM,CAAC,MAAM,mDAAmD,GAC9D,YAAY,EAAyC,CAAC;AAExD;;;;;;;;GAQG;AACH,MAAM,CAAC,MAAM,wCAAwC,GAAwD;IAC3G,IAAI,CAAC,MAAM,EAAE,KAAK;QAChB,MAAM,CAAC,SAAS,CAAC,IAAI,CAAC,SAAS,CAAC,cAAc,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC;IAC1D,CAAC;IACD,MAAM,CAAC,CAAC,EAAE,CAAC;QACT,OAAO,CAAC,KAAK,CAAC,IAAI,IAAI,CAAC,SAAS,CAAC,cAAc,CAAC,CAAC,CAAC,CAAC,IAAI,IAAI,CAAC,SAAS,CAAC,cAAc,CAAC,CAAC,CAAC,CAAC,CAAC;IAC3F,CAAC;CACF,CAAC;AAEF,SAAS,cAAc,CAAC,KAAgD;IACtE,MAAM,EAAE,MAAM,EAAE,WAAW,EAAE,GAAG,KAAK,CAAC;IAEtC,OAAO;QACL,IAAI,EAAE,MAAM,CAAC,IAAI;QACjB,UAAU,EAAE,MAAM,CAAC,UAAU;QAC7B,6GAA6G;QAC7G,OAAO,EAAE,MAAM,CAAC,OAAO,CAAC,GAAG,CAAC,CAAC,KAAK,EAAE,EAAE,CAAC,IAAI,CAAC,SAAS,CAAC,WAAW,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC,IAAI,EAAE;KAClF,CAAC;AACJ,CAAC;AAED,SAAS,YAAY;IACnB,OAAO;QACL,IAAI,CAAC,MAAM,EAAE,KAAK;YAChB,MAAM,CAAC,SAAS,CAAC,IAAI,CAAC,SAAS,CAAC,KAAK,CAAC,CAAC,CAAC;QAC1C,CAAC;QACD,MAAM,CAAC,CAAC,EAAE,CAAC;YACT,OAAO,CAAC,KAAK,CAAC,IAAI,IAAI,CAAC,SAAS,CAAC,CAAC,CAAC,IAAI,IAAI,CAAC,SAAS,CAAC,CAAC,CAAC,CAAC;QAC3D,CAAC;KACF,CAAC;AACJ,CAAC"}
@@ -1,6 +1,6 @@
1
1
  import { ParameterLookupDefinitionId } from '../HydrationState.js';
2
2
  import { SqlExpression } from './expression.js';
3
- import { ColumnSqlParameterValue, RequestSqlParameterValue, StreamOptions, SyncPlan, TableProcessorTableValuedFunction } from './plan.js';
3
+ import { ColumnSqlParameterValue, RequestSqlParameterValue, RowMetadataSqlValue, StreamOptions, SyncPlan, TableProcessorTableValuedFunction } from './plan.js';
4
4
  /**
5
5
  * Serializes a sync plan into a simple JSON object.
6
6
  *
@@ -8,38 +8,56 @@ import { ColumnSqlParameterValue, RequestSqlParameterValue, StreamOptions, SyncP
8
8
  * queriers to bucket creators. To represent this efficiently, we assign numbers to referenced elements while
9
9
  * serializing instead of duplicating definitions.
10
10
  */
11
- export declare function serializeSyncPlan(plan: SyncPlan): SerializedSyncPlanV1;
11
+ export declare function serializeSyncPlan(plan: SyncPlan): SerializedSyncPlan;
12
12
  export declare function deserializeSyncPlan(serialized: unknown): SyncPlan;
13
- interface SerializedSyncPlanV1 {
14
- version: number;
13
+ /**
14
+ * Every change to the format of {@link SerializedSyncPlan} needs a version bump and a changelog entry in this
15
+ * documentation comment. Even for seemingly backward-compatible changes, like adding new fields, older services would
16
+ * be unaware of them and thus interpret the sync plan incorrectly. Increasing this version ensures that older services
17
+ * wouldn't even try to deserialize sync plans.
18
+ *
19
+ * ### Version 2
20
+ *
21
+ * - Add {@link RowMetadataSqlValue} to data for row and parameter evaluators, exposing the exact table and schema name
22
+ * when matching on wildcard table patterns.
23
+ * The deserialization logic can remain the same for v1 and v2.
24
+ *
25
+ * ### Version 1
26
+ *
27
+ * - Initial version
28
+ */
29
+ export type SerializedSyncPlanVersion = 1 | 2;
30
+ export declare const maxSupportedSyncPlanVersion: SerializedSyncPlanVersion;
31
+ export interface SerializedSyncPlan {
32
+ version: SerializedSyncPlanVersion;
15
33
  dataSources: SerializedDataSource[];
16
34
  buckets: SerializedBucketDataSource[];
17
35
  parameterIndexes: SerializedParameterIndexLookupCreator[];
18
36
  streams: SerializedStream[];
19
37
  }
20
- interface SerializedBucketDataSource {
38
+ export interface SerializedBucketDataSource {
21
39
  hash: number;
22
40
  uniqueName: string;
23
41
  sources: number[];
24
42
  }
25
- interface SerializedTablePattern {
43
+ export interface SerializedTablePattern {
26
44
  connection: string | null;
27
45
  schema: string | null;
28
46
  table: string;
29
47
  }
30
- interface SerializedTableProcessorTableValuedFunctionOutput {
48
+ export interface SerializedTableProcessorTableValuedFunctionOutput {
31
49
  function: number;
32
50
  outputName: string;
33
51
  }
34
- type SerializedTableProcessorData = ColumnSqlParameterValue | SerializedTableProcessorTableValuedFunctionOutput;
35
- interface SerializedPartitionKey {
52
+ export type SerializedTableProcessorData = ColumnSqlParameterValue | RowMetadataSqlValue | SerializedTableProcessorTableValuedFunctionOutput;
53
+ export interface SerializedPartitionKey {
36
54
  expr: SqlExpression<SerializedTableProcessorData>;
37
55
  }
38
- type SerializedColumnSource = 'star' | {
56
+ export type SerializedColumnSource = 'star' | {
39
57
  expr: SqlExpression<SerializedTableProcessorData>;
40
58
  alias: string;
41
59
  };
42
- interface SerializedDataSource {
60
+ export interface SerializedDataSource {
43
61
  table: SerializedTablePattern;
44
62
  outputTableName?: string;
45
63
  hash: number;
@@ -48,7 +66,7 @@ interface SerializedDataSource {
48
66
  tableValuedFunctions: TableProcessorTableValuedFunction[];
49
67
  partitionBy: SerializedPartitionKey[];
50
68
  }
51
- interface SerializedParameterIndexLookupCreator {
69
+ export interface SerializedParameterIndexLookupCreator {
52
70
  table: SerializedTablePattern;
53
71
  hash: number;
54
72
  lookupScope: ParameterLookupDefinitionId;
@@ -57,17 +75,17 @@ interface SerializedParameterIndexLookupCreator {
57
75
  tableValuedFunctions: TableProcessorTableValuedFunction[];
58
76
  partitionBy: SerializedPartitionKey[];
59
77
  }
60
- interface SerializedStream {
78
+ export interface SerializedStream {
61
79
  stream: StreamOptions;
62
80
  queriers: SerializedStreamQuerier[];
63
81
  }
64
- interface SerializedStreamQuerier {
82
+ export interface SerializedStreamQuerier {
65
83
  requestFilters: SqlExpression<RequestSqlParameterValue>[];
66
84
  lookupStages: SerializedExpandingLookup[][];
67
85
  bucket: number;
68
86
  sourceInstantiation: SerializedParameterValue[];
69
87
  }
70
- type SerializedExpandingLookup = {
88
+ export type SerializedExpandingLookup = {
71
89
  type: 'parameter';
72
90
  lookup: number;
73
91
  instantiation: SerializedParameterValue[];
@@ -78,11 +96,11 @@ type SerializedExpandingLookup = {
78
96
  outputs: SqlExpression<ColumnSqlParameterValue>[];
79
97
  filters: SqlExpression<ColumnSqlParameterValue>[];
80
98
  };
81
- interface LookupReference {
99
+ export interface LookupReference {
82
100
  stageId: number;
83
101
  idInStage: number;
84
102
  }
85
- type SerializedParameterValue = {
103
+ export type SerializedParameterValue = {
86
104
  type: 'request';
87
105
  expr: SqlExpression<RequestSqlParameterValue>;
88
106
  } | {
@@ -93,4 +111,3 @@ type SerializedParameterValue = {
93
111
  type: 'intersection';
94
112
  values: SerializedParameterValue[];
95
113
  };
96
- export {};
@@ -13,7 +13,9 @@ export function serializeSyncPlan(plan) {
13
13
  const parameterIndex = new Map();
14
14
  const expandingLookups = new Map();
15
15
  const addedTableValuedFunctions = new Map();
16
+ let usesRowMetadataSqlValue = false;
16
17
  const replaceFunctionReferenceWithIndex = new MapSourceVisitor((value) => {
18
+ usesRowMetadataSqlValue ||= 'metadata' in value;
17
19
  if ('function' in value) {
18
20
  return { function: addedTableValuedFunctions.get(value.function), outputName: value.outputName };
19
21
  }
@@ -34,7 +36,13 @@ export function serializeSyncPlan(plan) {
34
36
  function serializeTableValued(source) {
35
37
  return source.tableValuedFunctions.map((fn, i) => {
36
38
  addedTableValuedFunctions.set(fn, i);
37
- return fn;
39
+ return {
40
+ functionName: fn.functionName,
41
+ functionInputs: fn.functionInputs.map(
42
+ // Since we don't support table-valued functions as inputs to other table-valued functions, this doesn't
43
+ // change expressions. It ensures we track row metadata use in any input, though.
44
+ (s) => serializeTableProcessorDataExpr(s))
45
+ };
38
46
  });
39
47
  }
40
48
  function translateParameters(source) {
@@ -125,7 +133,6 @@ export function serializeSyncPlan(plan) {
125
133
  };
126
134
  }
127
135
  return {
128
- version: 1,
129
136
  dataSources: serializeDataSources(),
130
137
  buckets: plan.buckets.map((bkt, index) => {
131
138
  bucketIndex.set(bkt, index);
@@ -139,13 +146,18 @@ export function serializeSyncPlan(plan) {
139
146
  streams: plan.streams.map((s) => ({
140
147
  stream: s.stream,
141
148
  queriers: s.queriers.map(serializeStreamQuerier)
142
- }))
149
+ })),
150
+ version: usesRowMetadataSqlValue ? 2 : 1
143
151
  };
144
152
  }
145
153
  export function deserializeSyncPlan(serialized) {
146
- if (serialized.version != 1) {
154
+ const { version } = serialized;
155
+ if (version < 1) {
147
156
  throw new Error('Unknown sync plan version passed to deserializeSyncPlan()');
148
157
  }
158
+ if (version > maxSupportedSyncPlanVersion) {
159
+ throw new Error(`Encountered a sync plan with version ${version}, the maximum supported version is ${maxSupportedSyncPlanVersion}. This can happen when the PowerSync service version is downgraded after deploying Sync Streams, consider upgrading or re-deploying.`);
160
+ }
149
161
  function deserializeTablePattern(pattern) {
150
162
  if (pattern.schema) {
151
163
  return new TablePattern(`${pattern.connection}.${pattern.schema}`, pattern.table);
@@ -271,4 +283,5 @@ export function deserializeSyncPlan(serialized) {
271
283
  streams
272
284
  };
273
285
  }
286
+ export const maxSupportedSyncPlanVersion = 2;
274
287
  //# sourceMappingURL=serialize.js.map