pareto 0.76.62 → 0.76.64

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 (67) hide show
  1. package/dist/bin/compile.d.ts +1 -1
  2. package/dist/bin/compile.js +1 -1
  3. package/dist/bin/seal.d.ts +1 -1
  4. package/dist/bin/seal.js +1 -1
  5. package/dist/bin/serialize_schemas.d.ts +1 -1
  6. package/dist/bin/serialize_schemas.js +1 -1
  7. package/dist/bin/validate.d.ts +1 -1
  8. package/dist/bin/validate.js +1 -1
  9. package/dist/generated/implementation/schemas/schema/marshall.js +19 -7
  10. package/dist/generated/implementation/schemas/schema/resolve.js +39 -21
  11. package/dist/generated/implementation/schemas/schema/unmarshall.js +27 -5
  12. package/dist/generated/interface/core/resolved.d.ts +24 -7
  13. package/dist/generated/interface/schemas/schema/data_types/source.d.ts +77 -10
  14. package/dist/generated/interface/schemas/schema/data_types/target.d.ts +77 -10
  15. package/dist/resolvers/schema.d.ts +1 -1
  16. package/dist/resolvers/schema.js +24 -18
  17. package/dist/shorthands/schema.d.ts +110 -106
  18. package/dist/shorthands/schema.js +47 -19
  19. package/dist/temp/temporary_schemas/accounting_ruwe_data/schemas/alan_light_oldstyle/$.types.astn.js +40 -40
  20. package/dist/temp/temporary_schemas/accounting_ruwe_data/schemas/builder_configuration/$.types.astn.js +24 -24
  21. package/dist/temp/temporary_schemas/accounting_ruwe_data/schemas/csv/$.types.astn.js +11 -11
  22. package/dist/temp/temporary_schemas/accounting_ruwe_data/schemas/html/$.types.astn.js +305 -305
  23. package/dist/temp/temporary_schemas/accounting_ruwe_data/schemas/json_schema/$.types.astn.js +30 -30
  24. package/dist/temp/temporary_schemas/accounting_ruwe_data/schemas/legacy_schema/$.types.astn.js +52 -52
  25. package/dist/temp/temporary_schemas/accounting_ruwe_data/schemas/railroad_diagram/$.types.astn.js +24 -24
  26. package/dist/temp/temporary_schemas/accounting_ruwe_data/schemas/regular_expression/$.types.astn.js +25 -25
  27. package/dist/temp/temporary_schemas/accounting_ruwe_data/schemas/semantic_versioning/$.types.astn.js +8 -8
  28. package/dist/temp/temporary_schemas/accounting_ruwe_data/schemas/xml/parse_result/$.types.astn.js +41 -41
  29. package/dist/temp/temporary_schemas/accounting_ruwe_data/schemas/xml/simple/$.types.astn.js +17 -17
  30. package/dist/temp/temporary_schemas/astn/schemas/authoring_ast/$.types.astn.js +73 -73
  31. package/dist/temp/temporary_schemas/astn/schemas/authoring_parse_result/$.types.astn.js +39 -39
  32. package/dist/temp/temporary_schemas/astn/schemas/authoring_target/$.types.astn.js +32 -32
  33. package/dist/temp/temporary_schemas/astn/schemas/ide/$.types.astn.js +14 -14
  34. package/dist/temp/temporary_schemas/astn/schemas/sealed_ast/$.types.astn.js +56 -56
  35. package/dist/temp/temporary_schemas/astn/schemas/sealed_parse_result/$.types.astn.js +39 -39
  36. package/dist/temp/temporary_schemas/astn/schemas/sealed_target/$.types.astn.js +21 -21
  37. package/dist/temp/temporary_schemas/astn/schemas/token/$.types.astn.js +49 -49
  38. package/dist/temp/temporary_schemas/exupery/schemas/implementation/$.types.astn.js +137 -137
  39. package/dist/temp/temporary_schemas/exupery/schemas/interface/$.types.astn.js +63 -63
  40. package/dist/temp/temporary_schemas/exupery/schemas/typescript_light/$.types.astn.js +100 -100
  41. package/dist/temp/temporary_schemas/pareto/schemas/astn_schema/$.types.astn.js +42 -42
  42. package/dist/temp/temporary_schemas/pareto/schemas/module/$.types.astn.js +10 -10
  43. package/dist/temp/temporary_schemas/pareto/schemas/schema/$.resolvers.astn.js +17 -11
  44. package/dist/temp/temporary_schemas/pareto/schemas/schema/$.types.astn.js +296 -287
  45. package/dist/temp/temporary_schemas/pareto/schemas/unmarshall_errors/$.types.astn.js +49 -49
  46. package/dist/temp/temporary_schemas/pareto/schemas/unmarshall_result/$.types.astn.js +1 -1
  47. package/dist/temp/temporary_schemas/pareto-boekhouding/schemas/boekhouding/$.types.astn.js +324 -324
  48. package/dist/temp/temporary_schemas/pareto-boekhouding/schemas/boekhouding_oude_model/$.types.astn.js +342 -341
  49. package/dist/temp/temporary_schemas/pareto-fountain-pen/schemas/block/$.types.astn.js +13 -13
  50. package/dist/temp/temporary_schemas/pareto-fountain-pen/schemas/lines/$.types.astn.js +3 -3
  51. package/dist/temp/temporary_schemas/pareto-fountain-pen/schemas/semi_lines/$.types.astn.js +5 -5
  52. package/dist/temp/temporary_schemas/pareto-fountain-pen/schemas/text/$.types.astn.js +3 -3
  53. package/dist/temp/temporary_schemas/pareto-json/schemas/json/$.types.astn.js +15 -15
  54. package/dist/temp/temporary_schemas/pareto-targets/schemas/alan_light/$.types.astn.js +46 -46
  55. package/dist/temp/temporary_schemas/pareto-targets/schemas/graphviz/high_level/$.types.astn.js +228 -228
  56. package/dist/temp/temporary_schemas/pareto-targets/schemas/graphviz/low_level/$.types.astn.js +48 -48
  57. package/dist/temp/temporary_schemas/pareto-targets/schemas/lionweb/$.types.astn.js +30 -30
  58. package/dist/temp/temporary_schemas/pareto-targets/schemas/pareto_documentation/$.types.astn.js +3 -3
  59. package/dist/temp/temporary_schemas/pareto-vscode-backend/schemas/client/$.types.astn.js +25 -25
  60. package/dist/temp/temporary_schemas/pareto-vscode-backend/schemas/server/$.types.astn.js +41 -39
  61. package/dist/transformations/schema/astn_schema.js +3 -3
  62. package/dist/transformations/schema/exupery_implementation/marshall.js +3 -3
  63. package/dist/transformations/schema/exupery_implementation/migrate_boilerplate.js +3 -3
  64. package/dist/transformations/schema/exupery_implementation/unmarshall.js +3 -3
  65. package/dist/transformations/schema/exupery_interface/types.js +3 -3
  66. package/dist/transformations/unmarshall_astn_ast.js +4 -4
  67. package/package.json +1 -1
@@ -4,10 +4,10 @@ exports.$ = void 0;
4
4
  const schema_1 = require("../../../../../shorthands/schema");
5
5
  exports.$ = (0, schema_1.types)({
6
6
  "Text Type": (0, schema_1.type)(schema_1.t.group({
7
- "type": schema_1.t.state_group({
8
- "multi line": schema_1.t.nothing(),
9
- "single line": schema_1.t.nothing(),
10
- }),
7
+ "type": (0, schema_1.prop)(schema_1.t.state_group({
8
+ "multi line": (0, schema_1.tstate)(schema_1.t.nothing()),
9
+ "single line": (0, schema_1.tstate)(schema_1.t.nothing()),
10
+ })),
11
11
  })),
12
12
  "Number Type": (0, schema_1.type)(schema_1.t.group({
13
13
  /**
@@ -15,377 +15,386 @@ exports.$ = (0, schema_1.types)({
15
15
  * 'variable' is similar to floating point (in programming languages) or scientific notation
16
16
  * 'fixed' is similar to integers/positive integers
17
17
  */
18
- "precision": schema_1.t.state_group({
18
+ "precision": (0, schema_1.prop)(schema_1.t.state_group({
19
19
  /**
20
20
  * variable is similar to scientific notation or floating point (in programming languages)
21
21
  */
22
- "approximation": schema_1.t.group({
22
+ "approximation": (0, schema_1.tstate)(schema_1.t.group({
23
23
  /**
24
24
  * the total number of digits in the number
25
25
  */
26
- "significant digits": schema_1.t.number_local(schema_1.n.natural()),
27
- }),
26
+ "significant digits": (0, schema_1.prop)(schema_1.t.number_local(schema_1.n.natural())),
27
+ })),
28
28
  /**
29
29
  * fixed is similar to integers/signed integers
30
30
  */
31
- "exact": schema_1.t.group({
31
+ "exact": (0, schema_1.tstate)(schema_1.t.group({
32
32
  /**
33
33
  * the number of digits after the decimal point
34
34
  * in the strict mathematical sense, a natural or an integer is a whole number,
35
35
  * but in this context, there can be decimals. However, because the number of decimals (the 'scale') is fixed,
36
36
  * it is trivial to convert these to a whole number; just multiply by 10^offset.
37
37
  */
38
- "decimal separator offset": schema_1.t.optional(schema_1.t.number_local(schema_1.n.natural())),
38
+ "decimal separator offset": (0, schema_1.prop)(schema_1.t.optional(schema_1.t.number_local(schema_1.n.natural()))),
39
39
  /**
40
40
  * can the number be negative? > 'integer'
41
41
  * can the number be zero? > 'natural'
42
42
  * else > 'positive natural'
43
43
  */
44
- "type": schema_1.t.state_group({
45
- "integer": schema_1.t.nothing(),
46
- "natural": schema_1.t.nothing(),
47
- "positive natural": schema_1.t.nothing(),
48
- }),
49
- }),
50
- })
44
+ "type": (0, schema_1.prop)(schema_1.t.state_group({
45
+ "integer": (0, schema_1.tstate)(schema_1.t.nothing()),
46
+ "natural": (0, schema_1.tstate)(schema_1.t.nothing()),
47
+ "positive natural": (0, schema_1.tstate)(schema_1.t.nothing()),
48
+ })),
49
+ })),
50
+ }))
51
51
  })),
52
52
  "Globals": (0, schema_1.type)(schema_1.t.group({
53
- "complexity": schema_1.t.state_group({
54
- "constrained": schema_1.t.nothing(),
55
- "unconstrained": schema_1.t.nothing(),
56
- }),
57
- "text types": schema_1.t.dictionary(schema_1.t.component("Text Type")),
58
- "number types": schema_1.t.dictionary(schema_1.t.component("Number Type")),
53
+ "complexity": (0, schema_1.prop)(schema_1.t.state_group({
54
+ "constrained": (0, schema_1.tstate)(schema_1.t.nothing()),
55
+ "unconstrained": (0, schema_1.tstate)(schema_1.t.nothing()),
56
+ })),
57
+ "text types": (0, schema_1.prop)(schema_1.t.dictionary(schema_1.t.component("Text Type"))),
58
+ "number types": (0, schema_1.prop)(schema_1.t.dictionary(schema_1.t.component("Number Type"))),
59
59
  })),
60
+ //FIXME: inline
60
61
  "Presence": (0, schema_1.type)(schema_1.t.state_group({
61
- "optional": schema_1.t.nothing(),
62
- "required": schema_1.t.nothing(),
62
+ "optional": (0, schema_1.tstate)(schema_1.t.nothing()),
63
+ "required": (0, schema_1.tstate)(schema_1.t.nothing()),
63
64
  })),
64
65
  "Type Parameters": (0, schema_1.type)(schema_1.t.dictionary(schema_1.t.nothing())),
65
66
  "Type": (0, schema_1.type)(schema_1.t.group({
66
- "type parameters": schema_1.t.component("Type Parameters"),
67
- "node": schema_1.t.component_cyclic("Type Node")
67
+ "type parameters": (0, schema_1.prop)(schema_1.t.component("Type Parameters")),
68
+ "node": (0, schema_1.prop)(schema_1.t.component_cyclic("Type Node"))
68
69
  })),
69
70
  "Types": (0, schema_1.type)(schema_1.t.dictionary(schema_1.t.component("Type"), 'ordered')),
70
71
  "Dictionary": (0, schema_1.type)(schema_1.t.group({
71
- "node": schema_1.t.component_cyclic("Type Node"),
72
- "ordered": schema_1.t.boolean(),
72
+ "node": (0, schema_1.prop)(schema_1.t.component_cyclic("Type Node")),
73
+ "ordered": (0, schema_1.prop)(schema_1.t.boolean()),
73
74
  })),
74
75
  "Signatures": (0, schema_1.type)(schema_1.t.dictionary(schema_1.t.component_cyclic("Signature"), 'ordered')),
75
76
  "Resolvers": (0, schema_1.type)(schema_1.t.dictionary(schema_1.t.group({
76
- "signature": schema_1.t.reference_derived("Signatures", [schema_1.tr.d()]),
77
- "type resolver": schema_1.t.component_cyclic("Node Resolver"),
77
+ "signature": (0, schema_1.prop)(schema_1.t.reference_derived("Signatures", [schema_1.tr.d()])),
78
+ "type resolver": (0, schema_1.prop)(schema_1.t.component_cyclic("Node Resolver")),
78
79
  }), 'ordered')),
79
80
  "Resolve Logic": (0, schema_1.type)(schema_1.t.group({
80
- "signatures": schema_1.t.group({
81
- "types": schema_1.t.component_cyclic("Signatures")
82
- }),
83
- "resolvers": schema_1.t.component_cyclic("Resolvers"),
81
+ "signatures": (0, schema_1.prop)(schema_1.t.group({
82
+ "types": (0, schema_1.prop)(schema_1.t.component_cyclic("Signatures"))
83
+ })),
84
+ "resolvers": (0, schema_1.prop)(schema_1.t.component_cyclic("Resolvers")),
84
85
  })),
85
86
  /**
86
87
  * the properties in a group are ordered. This way there is a canonical concise representation
87
88
  */
88
- "Group": (0, schema_1.type)(schema_1.t.dictionary(schema_1.t.component_cyclic("Type Node"), 'ordered')),
89
+ "Group": (0, schema_1.type)(schema_1.t.dictionary(schema_1.t.group({
90
+ "description": (0, schema_1.prop)(schema_1.t.optional(schema_1.t.text_local((0, schema_1.text)('multi line')))),
91
+ "node": (0, schema_1.prop)(schema_1.t.component_cyclic("Type Node"))
92
+ }), 'ordered')),
89
93
  "Type Node Reference": (0, schema_1.type)(schema_1.t.group({
90
- "type location": schema_1.t.component("Type Reference"),
91
- "tail": schema_1.t.list(schema_1.t.state_group({
92
- "dictionary": schema_1.t.nothing(),
93
- "group": schema_1.t.reference("Group", []),
94
- "list": schema_1.t.nothing(),
95
- "optional": schema_1.t.nothing(),
96
- "state group": schema_1.t.reference("Type Node", [schema_1.tr.s("state group")])
97
- })),
98
- "resulting node": schema_1.t.reference_derived("Type Node", []),
94
+ "type location": (0, schema_1.prop)(schema_1.t.component("Type Reference")),
95
+ "tail": (0, schema_1.prop)(schema_1.t.list(schema_1.t.state_group({
96
+ "dictionary": (0, schema_1.tstate)(schema_1.t.nothing()),
97
+ "group": (0, schema_1.tstate)(schema_1.t.reference("Group", [])),
98
+ "list": (0, schema_1.tstate)(schema_1.t.nothing()),
99
+ "optional": (0, schema_1.tstate)(schema_1.t.nothing()),
100
+ "state group": (0, schema_1.tstate)(schema_1.t.reference("Type Node", [schema_1.tr.s("state group")])),
101
+ }))),
102
+ "resulting node": (0, schema_1.prop)(schema_1.t.reference_derived("Type Node", [])),
99
103
  })),
100
104
  "Type Reference": (0, schema_1.type)(schema_1.t.group({
101
- "location": schema_1.t.state_group({
102
- "internal": schema_1.t.reference("Types", []),
103
- "external": schema_1.t.group({
104
- "import": schema_1.t.reference("Imports", []),
105
- "type": schema_1.t.reference("Types", []),
106
- }),
107
- }),
108
- "resulting node": schema_1.t.reference_derived("Type Node", []),
105
+ "location": (0, schema_1.prop)(schema_1.t.state_group({
106
+ "internal": (0, schema_1.tstate)(schema_1.t.reference("Types", [])),
107
+ "external": (0, schema_1.tstate)(schema_1.t.group({
108
+ "import": (0, schema_1.prop)(schema_1.t.reference("Imports", [])),
109
+ "type": (0, schema_1.prop)(schema_1.t.reference("Types", [])),
110
+ })),
111
+ })),
112
+ "resulting node": (0, schema_1.prop)(schema_1.t.reference_derived("Type Node", [])),
109
113
  })),
110
114
  "Signature Parameters": (0, schema_1.type)(schema_1.t.group({
111
- "values": schema_1.t.dictionary(schema_1.t.group({
112
- "data type": schema_1.t.component("Type Reference"),
113
- "presence": schema_1.t.component("Presence"),
114
- })),
115
- "lookups": schema_1.t.dictionary(schema_1.t.group({
116
- "referent": schema_1.t.component("Type Reference"),
117
- "dictionary": schema_1.t.reference_derived("Dictionary", []),
118
- "type": schema_1.t.state_group({
119
- "cyclic": schema_1.t.nothing(),
120
- "acyclic": schema_1.t.nothing(),
121
- "stack": schema_1.t.nothing(),
122
- }),
123
- "presence": schema_1.t.component("Presence"),
124
- }))
115
+ "values": (0, schema_1.prop)(schema_1.t.dictionary(schema_1.t.group({
116
+ "data type": (0, schema_1.prop)(schema_1.t.component("Type Reference")),
117
+ "presence": (0, schema_1.prop)(schema_1.t.component("Presence")),
118
+ }))),
119
+ "lookups": (0, schema_1.prop)(schema_1.t.dictionary(schema_1.t.group({
120
+ "referent": (0, schema_1.prop)(schema_1.t.component("Type Reference")),
121
+ "dictionary": (0, schema_1.prop)(schema_1.t.reference_derived("Dictionary", [])),
122
+ "type": (0, schema_1.prop)(schema_1.t.state_group({
123
+ "cyclic": (0, schema_1.tstate)(schema_1.t.nothing()),
124
+ "acyclic": (0, schema_1.tstate)(schema_1.t.nothing()),
125
+ "stack": (0, schema_1.tstate)(schema_1.t.nothing()),
126
+ })),
127
+ "presence": (0, schema_1.prop)(schema_1.t.component("Presence")),
128
+ })))
125
129
  })),
126
130
  "Signature": (0, schema_1.type)(schema_1.t.group({
127
- "type": schema_1.t.reference_derived("Type", []),
128
- "parameters": schema_1.t.state_group({
129
- "local": schema_1.t.component("Signature Parameters"),
130
- "same as": schema_1.t.reference("Signatures", []),
131
- }),
132
- "resolved parameters": schema_1.t.reference_derived("Signature Parameters", []),
131
+ "type": (0, schema_1.prop)(schema_1.t.reference_derived("Type", [])),
132
+ "parameters": (0, schema_1.prop)(schema_1.t.state_group({
133
+ "local": (0, schema_1.tstate)(schema_1.t.component("Signature Parameters")),
134
+ "same as": (0, schema_1.tstate)(schema_1.t.reference("Signatures", [])),
135
+ })),
136
+ "resolved parameters": (0, schema_1.prop)(schema_1.t.reference_derived("Signature Parameters", [])),
133
137
  })),
134
138
  "Relative Value Selection": (0, schema_1.type)(schema_1.t.group({
135
- "path": schema_1.t.list(schema_1.t.state_group({
136
- "component": schema_1.t.nothing(),
137
- "group": schema_1.t.reference("Group", []),
138
- "reference": schema_1.t.group({
139
- "definition": schema_1.t.reference_derived("Type Node", [schema_1.tr.s("reference")]),
140
- }),
141
- })),
142
- "resulting node": schema_1.t.reference_derived("Type Node", []),
139
+ "path": (0, schema_1.prop)(schema_1.t.list(schema_1.t.state_group({
140
+ "component": (0, schema_1.tstate)(schema_1.t.nothing()),
141
+ "group": (0, schema_1.tstate)(schema_1.t.reference("Group", [])),
142
+ "reference": (0, schema_1.tstate)(schema_1.t.group({
143
+ "definition": (0, schema_1.prop)(schema_1.t.reference_derived("Type Node", [schema_1.tr.s("reference")])),
144
+ })),
145
+ }))),
146
+ "resulting node": (0, schema_1.prop)(schema_1.t.reference_derived("Type Node", [])),
143
147
  })),
144
148
  //FIXME: there has to be a guaranteed lookup selection and a possible lookup selection
145
149
  "Lookup Selection": (0, schema_1.type)(schema_1.t.group({
146
- "type": schema_1.t.state_group({
147
- "dictionary": schema_1.t.group({
148
- "selection": schema_1.t.component_cyclic("Guaranteed Value Selection"),
149
- "selected dictionary": schema_1.t.reference_derived("Dictionary", []),
150
- }),
151
- "parameter": schema_1.t.reference("Signature Parameters", [schema_1.tr.g("lookups")]),
152
- "not circular dependent siblings": schema_1.t.reference_derived("Dictionary", []),
153
- "possibly circular dependent siblings": schema_1.t.reference_derived("Dictionary", []),
154
- }),
155
- "resulting dictionary": schema_1.t.reference_derived("Dictionary", []),
150
+ "type": (0, schema_1.prop)(schema_1.t.state_group({
151
+ "dictionary": (0, schema_1.tstate)(schema_1.t.group({
152
+ "selection": (0, schema_1.prop)(schema_1.t.component_cyclic("Guaranteed Value Selection")),
153
+ "selected dictionary": (0, schema_1.prop)(schema_1.t.reference_derived("Dictionary", [])),
154
+ })),
155
+ "parameter": (0, schema_1.tstate)(schema_1.t.reference("Signature Parameters", [schema_1.tr.g("lookups")])),
156
+ "not circular dependent siblings": (0, schema_1.tstate)(schema_1.t.reference_derived("Dictionary", [])),
157
+ "possibly circular dependent siblings": (0, schema_1.tstate)(schema_1.t.reference_derived("Dictionary", [])),
158
+ })),
159
+ "resulting dictionary": (0, schema_1.prop)(schema_1.t.reference_derived("Dictionary", [])),
156
160
  })),
161
+ //FIXME: inline
157
162
  "Constraint": (0, schema_1.type)(schema_1.t.group({
158
- "selection": schema_1.t.component("Relative Value Selection"),
159
- "type": schema_1.t.state_group({
160
- "state": schema_1.t.group({
161
- "selected state group": schema_1.t.reference_derived("Type Node", [schema_1.tr.s("state group")]),
162
- "state": schema_1.t.reference("Type Node", [schema_1.tr.s("state group")]),
163
- }),
164
- "optional value": schema_1.t.group({
165
- "selected optional value": schema_1.t.reference_derived("Type Node", [schema_1.tr.s("optional")]),
166
- }),
167
- }),
163
+ "selection": (0, schema_1.prop)(schema_1.t.component("Relative Value Selection")),
164
+ //maybe this is reusable
165
+ "type": (0, schema_1.prop)(schema_1.t.state_group({
166
+ "state": (0, schema_1.tstate)(schema_1.t.group({
167
+ "selected state group": (0, schema_1.prop)(schema_1.t.reference_derived("Type Node", [schema_1.tr.s("state group")])),
168
+ "state": (0, schema_1.prop)(schema_1.t.reference("Type Node", [schema_1.tr.s("state group")])),
169
+ })),
170
+ "optional value": (0, schema_1.tstate)(schema_1.t.group({
171
+ "selected optional value": (0, schema_1.prop)(schema_1.t.reference_derived("Type Node", [schema_1.tr.s("optional")])),
172
+ })),
173
+ })),
168
174
  })),
169
175
  "Option Constraints": (0, schema_1.type)(schema_1.t.dictionary(schema_1.t.state_group({
170
- "state": schema_1.t.group({
171
- "selection": schema_1.t.component_cyclic("Guaranteed Value Selection"),
172
- "selected state group": schema_1.t.reference_derived("Type Node", [schema_1.tr.s("state group")]),
173
- "state": schema_1.t.reference("Type Node", [schema_1.tr.s("state group")]),
174
- }),
175
- "assert is set": schema_1.t.component_cyclic("Possible Value Selection"),
176
+ "state": (0, schema_1.tstate)(schema_1.t.group({
177
+ "selection": (0, schema_1.prop)(schema_1.t.component_cyclic("Guaranteed Value Selection")),
178
+ "selected state group": (0, schema_1.prop)(schema_1.t.reference_derived("Type Node", [schema_1.tr.s("state group")])),
179
+ "state": (0, schema_1.prop)(schema_1.t.reference("Type Node", [schema_1.tr.s("state group")])),
180
+ })),
181
+ "assert is set": (0, schema_1.tstate)(schema_1.t.component_cyclic("Possible Value Selection")),
176
182
  }))),
177
183
  "Property Constraints": (0, schema_1.type)(schema_1.t.dictionary(schema_1.t.component_cyclic("Property Constraint"), 'ordered')),
178
184
  "Reference To Property Constraint": (0, schema_1.type)(schema_1.t.reference("Property Constraints", [])), //FIXME : inline
179
185
  "Property Constraint": (0, schema_1.type)(schema_1.t.group({
180
- "start": schema_1.t.state_group({
181
- "property": schema_1.t.nothing(),
182
- "sibling": schema_1.t.component("Reference To Property Constraint"),
183
- }),
184
- "constraint": schema_1.t.component("Constraint"),
186
+ "start": (0, schema_1.prop)(schema_1.t.state_group({
187
+ "property": (0, schema_1.tstate)(schema_1.t.nothing()),
188
+ "sibling": (0, schema_1.tstate)(schema_1.t.component("Reference To Property Constraint")),
189
+ })),
190
+ "constraint": (0, schema_1.prop)(schema_1.t.component("Constraint")),
185
191
  })),
186
192
  "Optional Value Initialization": (0, schema_1.type)(schema_1.t.state_group({
187
- "not set": schema_1.t.nothing(),
188
- "set": schema_1.t.component_cyclic("Guaranteed Value Selection"),
189
- "selection": schema_1.t.component_cyclic("Possible Value Selection"),
193
+ "not set": (0, schema_1.tstate)(schema_1.t.nothing()),
194
+ "set": (0, schema_1.tstate)(schema_1.t.component_cyclic("Guaranteed Value Selection")),
195
+ "selection": (0, schema_1.tstate)(schema_1.t.component_cyclic("Possible Value Selection")),
190
196
  })),
191
197
  "Node Resolver Group": (0, schema_1.type)(schema_1.t.dictionary(schema_1.t.group({
192
- "definition": schema_1.t.reference_derived("Group", [schema_1.tr.d()]),
193
- "resolver": schema_1.t.component_cyclic("Node Resolver"),
198
+ "definition": (0, schema_1.prop)(schema_1.t.reference_derived("Group", [schema_1.tr.d()])),
199
+ "resolver": (0, schema_1.prop)(schema_1.t.component_cyclic("Node Resolver")),
194
200
  }), 'ordered')),
195
201
  "Node Resolver List Result": (0, schema_1.type)(schema_1.t.component("Type Reference")),
196
202
  "Benchmark": (0, schema_1.type)(schema_1.t.group({
197
- "selection": schema_1.t.component_cyclic("Guaranteed Value Selection"),
198
- "resulting dictionary": schema_1.t.reference_derived("Dictionary", []),
199
- "dense": schema_1.t.boolean(),
203
+ "selection": (0, schema_1.prop)(schema_1.t.component_cyclic("Guaranteed Value Selection")),
204
+ "resulting dictionary": (0, schema_1.prop)(schema_1.t.reference_derived("Dictionary", [])),
205
+ "dense": (0, schema_1.prop)(schema_1.t.boolean()),
200
206
  })),
201
207
  "Schemas": (0, schema_1.type)(schema_1.t.dictionary(schema_1.t.component("Schema Tree"), 'ordered')),
202
208
  "Type Specification": (0, schema_1.type)(schema_1.t.group({
203
- "schema": schema_1.t.component("Schema Tree"),
204
- "schema path": schema_1.t.list(schema_1.t.text_local((0, schema_1.text)('single line'))),
205
- "type": schema_1.t.text_local((0, schema_1.text)('single line')),
209
+ "schema": (0, schema_1.propd)("select 'schema' if you want to have 1 schema, if you have or need multple, select 'set'", schema_1.t.component("Schema Tree")),
210
+ "schema path": (0, schema_1.propd)("selects the schema in which the root type is specified", schema_1.t.list(schema_1.t.text_local((0, schema_1.text)('single line')))),
211
+ "type": (0, schema_1.propd)("the type that is the root of the document", schema_1.t.text_local((0, schema_1.text)('single line'))),
206
212
  })),
207
213
  "Schema Tree": (0, schema_1.type)(schema_1.t.state_group({
208
- "schema": schema_1.t.component("Schema"),
209
- "set": schema_1.t.component_cyclic("Schemas")
214
+ "schema": (0, schema_1.tstated)("a single schema", schema_1.t.component("Schema")),
215
+ "set": (0, schema_1.tstated)("a hierarchy of schemas", schema_1.t.component_cyclic("Schemas")),
210
216
  })),
211
217
  "Schema": (0, schema_1.type)(schema_1.t.group({
212
- "imports": schema_1.t.component_cyclic("Imports"),
213
- "globals": schema_1.t.component("Globals"),
214
- "types": schema_1.t.component("Types"),
215
- "complexity": schema_1.t.state_group({
216
- "constrained": schema_1.t.component("Resolve Logic"),
217
- "unconstrained": schema_1.t.nothing(),
218
- }),
218
+ "imports": (0, schema_1.prop)(schema_1.t.component_cyclic("Imports")),
219
+ "globals": (0, schema_1.prop)(schema_1.t.component("Globals")),
220
+ "types": (0, schema_1.prop)(schema_1.t.component("Types")),
221
+ "complexity": (0, schema_1.prop)(schema_1.t.state_group({
222
+ "constrained": (0, schema_1.tstate)(schema_1.t.component("Resolve Logic")),
223
+ "unconstrained": (0, schema_1.tstate)(schema_1.t.nothing()),
224
+ })),
219
225
  })),
220
226
  "Imports": (0, schema_1.type)(schema_1.t.dictionary(schema_1.t.group({
221
- "schema set child": schema_1.t.reference_stack("Schemas", []),
222
- "schema": schema_1.t.reference_derived("Schema", []),
227
+ "schema set child": (0, schema_1.prop)(schema_1.t.reference_stack("Schemas", [])),
228
+ "schema": (0, schema_1.prop)(schema_1.t.reference_derived("Schema", [])),
223
229
  }))),
224
230
  "Type Node": (0, schema_1.type)(schema_1.t.state_group({
225
- "boolean": schema_1.t.nothing(),
226
- "component": schema_1.t.state_group({
227
- "external": schema_1.t.group({
228
- "import": schema_1.t.reference("Imports", []),
229
- "type": schema_1.t.reference("Types", []),
230
- }),
231
- "internal": schema_1.t.reference("Types", []),
232
- "internal cyclic": schema_1.t.reference("Types", [], 'cyclic'),
233
- }),
234
- "dictionary": schema_1.t.component("Dictionary"),
235
- "group": schema_1.t.component("Group"),
236
- "list": schema_1.t.group({
237
- "node": schema_1.t.component_cyclic("Type Node"),
238
- }),
239
- "nothing": schema_1.t.nothing(),
240
- "number": schema_1.t.state_group({
241
- "global": schema_1.t.reference("Globals", [schema_1.tr.g("number types")]),
242
- "local": schema_1.t.component("Number Type"),
243
- }),
244
- "optional": schema_1.t.component_cyclic("Type Node"),
245
- "reference": schema_1.t.group({
246
- "referent": schema_1.t.component_cyclic("Type Node Reference"),
247
- "type": schema_1.t.state_group({
248
- "derived": schema_1.t.nothing(),
249
- "selected": schema_1.t.group({
250
- "dictionary": schema_1.t.reference_derived("Dictionary", []),
251
- "dependency": schema_1.t.state_group({
252
- "acyclic": schema_1.t.nothing(),
253
- "cyclic": schema_1.t.nothing(),
254
- "stack": schema_1.t.nothing(),
255
- })
256
- }),
257
- }),
258
- }),
259
- "state group": schema_1.t.dictionary(schema_1.t.component_cyclic("Type Node")),
260
- "text": schema_1.t.state_group({
261
- "global": schema_1.t.reference("Globals", [schema_1.tr.g("text types")]),
262
- "local": schema_1.t.component("Text Type"),
263
- }),
231
+ "boolean": (0, schema_1.tstate)(schema_1.t.nothing()),
232
+ "component": (0, schema_1.tstate)(schema_1.t.state_group({
233
+ "external": (0, schema_1.tstate)(schema_1.t.group({
234
+ "import": (0, schema_1.prop)(schema_1.t.reference("Imports", [])),
235
+ "type": (0, schema_1.prop)(schema_1.t.reference("Types", [])),
236
+ })),
237
+ "internal": (0, schema_1.tstate)(schema_1.t.reference("Types", [])),
238
+ "internal cyclic": (0, schema_1.tstate)(schema_1.t.reference("Types", [], 'cyclic')),
239
+ })),
240
+ "dictionary": (0, schema_1.tstate)(schema_1.t.component("Dictionary")),
241
+ "group": (0, schema_1.tstate)(schema_1.t.component("Group")),
242
+ "list": (0, schema_1.tstate)(schema_1.t.group({
243
+ "node": (0, schema_1.prop)(schema_1.t.component_cyclic("Type Node")),
244
+ })),
245
+ "nothing": (0, schema_1.tstate)(schema_1.t.nothing()),
246
+ "number": (0, schema_1.tstate)(schema_1.t.state_group({
247
+ "global": (0, schema_1.tstate)(schema_1.t.reference("Globals", [schema_1.tr.g("number types")])),
248
+ "local": (0, schema_1.tstate)(schema_1.t.component("Number Type")),
249
+ })),
250
+ "optional": (0, schema_1.tstate)(schema_1.t.component_cyclic("Type Node")),
251
+ "reference": (0, schema_1.tstate)(schema_1.t.group({
252
+ "referent": (0, schema_1.prop)(schema_1.t.component_cyclic("Type Node Reference")),
253
+ "type": (0, schema_1.prop)(schema_1.t.state_group({
254
+ "derived": (0, schema_1.tstate)(schema_1.t.nothing()),
255
+ "selected": (0, schema_1.tstate)(schema_1.t.group({
256
+ "dictionary": (0, schema_1.prop)(schema_1.t.reference_derived("Dictionary", [])),
257
+ "dependency": (0, schema_1.prop)(schema_1.t.state_group({
258
+ "acyclic": (0, schema_1.tstate)(schema_1.t.nothing()),
259
+ "cyclic": (0, schema_1.tstate)(schema_1.t.nothing()),
260
+ "stack": (0, schema_1.tstate)(schema_1.t.nothing()),
261
+ })),
262
+ })),
263
+ })),
264
+ })),
265
+ "state group": (0, schema_1.tstate)(schema_1.t.dictionary(schema_1.t.group({
266
+ "description": (0, schema_1.prop)(schema_1.t.optional(schema_1.t.text_local((0, schema_1.text)('multi line')))),
267
+ "node": (0, schema_1.prop)(schema_1.t.component_cyclic("Type Node")),
268
+ }))),
269
+ "text": (0, schema_1.tstate)(schema_1.t.state_group({
270
+ "global": (0, schema_1.tstate)(schema_1.t.reference("Globals", [schema_1.tr.g("text types")])),
271
+ "local": (0, schema_1.tstate)(schema_1.t.component("Text Type")),
272
+ })),
264
273
  //"type parameter": t.reference("Type Parameters", []),
265
274
  })),
266
275
  "Node Resolver": (0, schema_1.type)(schema_1.t.state_group({
267
- "boolean": schema_1.t.nothing(),
268
- "component": schema_1.t.group({
269
- "location": schema_1.t.state_group({
270
- "external": schema_1.t.group({
271
- "import": schema_1.t.reference("Imports", []),
272
- "type": schema_1.t.reference("Signatures", []),
273
- }),
274
- "internal": schema_1.t.reference("Signatures", []),
275
- }),
276
- "signature": schema_1.t.reference_derived("Signatures", [schema_1.tr.d()]),
277
- "arguments": schema_1.t.optional(schema_1.t.group({
278
- "values": schema_1.t.optional(schema_1.t.dictionary(schema_1.t.state_group({
279
- "optional": schema_1.t.component("Optional Value Initialization"),
280
- "required": schema_1.t.component_cyclic("Guaranteed Value Selection"),
281
- "parameter": schema_1.t.reference("Signature Parameters", [schema_1.tr.g("values")]),
282
- }))),
283
- "lookups": schema_1.t.optional(schema_1.t.dictionary(schema_1.t.state_group({
284
- "empty stack": schema_1.t.nothing(),
285
- "not set": schema_1.t.nothing(),
286
- "selection": schema_1.t.component("Lookup Selection"),
287
- "stack": schema_1.t.group({
288
- "stack": schema_1.t.component("Lookup Selection"),
289
- "element": schema_1.t.component("Lookup Selection"),
290
- }),
291
- }))),
276
+ "boolean": (0, schema_1.tstate)(schema_1.t.nothing()),
277
+ "component": (0, schema_1.tstate)(schema_1.t.group({
278
+ "location": (0, schema_1.prop)(schema_1.t.state_group({
279
+ "external": (0, schema_1.tstate)(schema_1.t.group({
280
+ "import": (0, schema_1.prop)(schema_1.t.reference("Imports", [])),
281
+ "type": (0, schema_1.prop)(schema_1.t.reference("Signatures", [])),
282
+ })),
283
+ "internal": (0, schema_1.tstate)(schema_1.t.reference("Signatures", [])),
292
284
  })),
293
- "constraints": schema_1.t.component("Property Constraints"),
294
- }),
295
- "dictionary": schema_1.t.group({
296
- "definition": schema_1.t.reference_derived("Dictionary", []),
297
- "resolver": schema_1.t.component_cyclic("Node Resolver"),
298
- "benchmark": schema_1.t.optional(schema_1.t.component("Benchmark"))
299
- }),
300
- "group": schema_1.t.component("Node Resolver Group"),
301
- "list": schema_1.t.group({
302
- "definition": schema_1.t.reference_derived("Type Node", [schema_1.tr.s("list")]),
303
- "resolver": schema_1.t.component_cyclic("Node Resolver"),
304
- "result": schema_1.t.optional(schema_1.t.component("Node Resolver List Result")),
305
- }),
306
- "nothing": schema_1.t.nothing(),
307
- "number": schema_1.t.nothing(),
308
- "optional": schema_1.t.group({
309
- "constraints": schema_1.t.component("Option Constraints"),
310
- "resolver": schema_1.t.component_cyclic("Node Resolver"),
311
- }),
312
- "reference": schema_1.t.group({
313
- "definition": schema_1.t.reference_derived("Type Node", [schema_1.tr.s("reference")]),
314
- "type": schema_1.t.state_group({
315
- "derived": schema_1.t.group({
316
- "value": schema_1.t.component_cyclic("Guaranteed Value Selection"),
317
- }),
318
- "selected": schema_1.t.group({
319
- "definition": schema_1.t.reference_derived("Type Node", [schema_1.tr.s("reference"), schema_1.tr.g("type"), schema_1.tr.s("selected")]),
320
- "lookup": schema_1.t.component("Lookup Selection"),
321
- "constraints": schema_1.t.component("Property Constraints"),
322
- }),
323
- }),
324
- }),
325
- "state group": schema_1.t.group({
326
- "definition": schema_1.t.reference_derived("Type Node", [schema_1.tr.s("state group")]),
327
- "states": schema_1.t.dictionary(schema_1.t.group({
328
- "constraints": schema_1.t.component("Option Constraints"),
329
- "resolver": schema_1.t.component_cyclic("Node Resolver"),
285
+ "signature": (0, schema_1.prop)(schema_1.t.reference_derived("Signatures", [schema_1.tr.d()])),
286
+ "arguments": (0, schema_1.prop)(schema_1.t.optional(schema_1.t.group({
287
+ "values": (0, schema_1.prop)(schema_1.t.optional(schema_1.t.dictionary(schema_1.t.state_group({
288
+ "optional": (0, schema_1.tstate)(schema_1.t.component("Optional Value Initialization")),
289
+ "required": (0, schema_1.tstate)(schema_1.t.component_cyclic("Guaranteed Value Selection")),
290
+ "parameter": (0, schema_1.tstate)(schema_1.t.reference("Signature Parameters", [schema_1.tr.g("values")])),
291
+ })))),
292
+ "lookups": (0, schema_1.prop)(schema_1.t.optional(schema_1.t.dictionary(schema_1.t.state_group({
293
+ "empty stack": (0, schema_1.tstate)(schema_1.t.nothing()),
294
+ "not set": (0, schema_1.tstate)(schema_1.t.nothing()),
295
+ "selection": (0, schema_1.tstate)(schema_1.t.component("Lookup Selection")),
296
+ "stack": (0, schema_1.tstate)(schema_1.t.group({
297
+ "stack": (0, schema_1.prop)(schema_1.t.component("Lookup Selection")),
298
+ "element": (0, schema_1.prop)(schema_1.t.component("Lookup Selection")),
299
+ })),
300
+ })))),
301
+ }))),
302
+ "constraints": (0, schema_1.prop)(schema_1.t.component("Property Constraints")),
303
+ })),
304
+ "dictionary": (0, schema_1.tstate)(schema_1.t.group({
305
+ "definition": (0, schema_1.prop)(schema_1.t.reference_derived("Dictionary", [])),
306
+ "resolver": (0, schema_1.prop)(schema_1.t.component_cyclic("Node Resolver")),
307
+ "benchmark": (0, schema_1.prop)(schema_1.t.optional(schema_1.t.component("Benchmark"))),
308
+ })),
309
+ "group": (0, schema_1.tstate)(schema_1.t.component("Node Resolver Group")),
310
+ "list": (0, schema_1.tstate)(schema_1.t.group({
311
+ "definition": (0, schema_1.prop)(schema_1.t.reference_derived("Type Node", [schema_1.tr.s("list")])),
312
+ "resolver": (0, schema_1.prop)(schema_1.t.component_cyclic("Node Resolver")),
313
+ "result": (0, schema_1.prop)(schema_1.t.optional(schema_1.t.component("Node Resolver List Result"))),
314
+ })),
315
+ "nothing": (0, schema_1.tstate)(schema_1.t.nothing()),
316
+ "number": (0, schema_1.tstate)(schema_1.t.nothing()),
317
+ "optional": (0, schema_1.tstate)(schema_1.t.group({
318
+ "constraints": (0, schema_1.prop)(schema_1.t.component("Option Constraints")),
319
+ "resolver": (0, schema_1.prop)(schema_1.t.component_cyclic("Node Resolver")),
320
+ })),
321
+ "reference": (0, schema_1.tstate)(schema_1.t.group({
322
+ "definition": (0, schema_1.prop)(schema_1.t.reference_derived("Type Node", [schema_1.tr.s("reference")])),
323
+ "type": (0, schema_1.prop)(schema_1.t.state_group({
324
+ "derived": (0, schema_1.tstate)(schema_1.t.group({
325
+ "value": (0, schema_1.prop)(schema_1.t.component_cyclic("Guaranteed Value Selection")),
326
+ })),
327
+ "selected": (0, schema_1.tstate)(schema_1.t.group({
328
+ "definition": (0, schema_1.prop)(schema_1.t.reference_derived("Type Node", [schema_1.tr.s("reference"), schema_1.tr.g("type"), schema_1.tr.s("selected")])),
329
+ "lookup": (0, schema_1.prop)(schema_1.t.component("Lookup Selection")),
330
+ "constraints": (0, schema_1.prop)(schema_1.t.component("Property Constraints")),
331
+ })),
330
332
  })),
331
- }),
332
- "text": schema_1.t.nothing(),
333
+ })),
334
+ "state group": (0, schema_1.tstate)(schema_1.t.group({
335
+ "definition": (0, schema_1.prop)(schema_1.t.reference_derived("Type Node", [schema_1.tr.s("state group")])),
336
+ "states": (0, schema_1.prop)(schema_1.t.dictionary(schema_1.t.group({
337
+ "constraints": (0, schema_1.prop)(schema_1.t.component("Option Constraints")),
338
+ "resolver": (0, schema_1.prop)(schema_1.t.component_cyclic("Node Resolver")),
339
+ }))),
340
+ })),
341
+ "text": (0, schema_1.tstate)(schema_1.t.nothing()),
333
342
  // "type parameter": t.nothing(),
334
343
  })),
335
344
  "Guaranteed Value Selection": (0, schema_1.type)(schema_1.t.group({
336
- "start": schema_1.t.state_group({
345
+ "start": (0, schema_1.prop)(schema_1.t.state_group({
337
346
  //stack
338
- "sibling": schema_1.t.reference("Node Resolver Group", []),
339
- "parent sibling": schema_1.t.reference("Node Resolver Group", []),
340
- "option constraint": schema_1.t.reference("Option Constraints", []),
341
- "list cursor": schema_1.t.nothing(),
342
- "linked entry": schema_1.t.nothing(),
347
+ "sibling": (0, schema_1.tstate)(schema_1.t.reference("Node Resolver Group", [])),
348
+ "parent sibling": (0, schema_1.tstate)(schema_1.t.reference("Node Resolver Group", [])),
349
+ "option constraint": (0, schema_1.tstate)(schema_1.t.reference("Option Constraints", [])),
350
+ "list cursor": (0, schema_1.tstate)(schema_1.t.nothing()),
351
+ "linked entry": (0, schema_1.tstate)(schema_1.t.nothing()),
343
352
  //siblings
344
- "constraint": schema_1.t.state_group({
345
- "component": schema_1.t.group({
346
- "property": schema_1.t.reference("Node Resolver Group", []),
347
- "constraint": schema_1.t.reference("Property Constraints", []),
348
- }),
349
- "reference": schema_1.t.group({
350
- "property": schema_1.t.reference("Node Resolver Group", []),
351
- "constraint": schema_1.t.reference("Property Constraints", []),
352
- }),
353
- }),
354
- "parameter": schema_1.t.reference("Signature Parameters", [schema_1.tr.g("values")]), //FIXME: validate that presence is 'required'
355
- "result": schema_1.t.state_group({
356
- "list": schema_1.t.group({
357
- "property": schema_1.t.reference("Node Resolver Group", []),
358
- "list result": schema_1.t.reference_derived("Node Resolver", [schema_1.tr.s("list"), schema_1.tr.g("result"), schema_1.tr.o()]),
359
- }),
360
- "state group": schema_1.t.group({
361
- "property": schema_1.t.reference("Node Resolver Group", []),
362
- "state group": schema_1.t.reference_derived("Node Resolver", [schema_1.tr.s("state group")]),
363
- "result": schema_1.t.component("Type Reference"),
364
- }),
365
- "optional value": schema_1.t.group({
366
- "property": schema_1.t.reference("Node Resolver Group", []),
367
- "optional value": schema_1.t.reference_derived("Node Resolver", [schema_1.tr.s("optional")]),
368
- "result": schema_1.t.component("Type Reference"),
369
- }),
370
- })
371
- }),
372
- "tail": schema_1.t.component("Relative Value Selection"),
373
- "resulting node": schema_1.t.reference_derived("Type Node", []),
353
+ "constraint": (0, schema_1.tstate)(schema_1.t.state_group({
354
+ "component": (0, schema_1.tstate)(schema_1.t.group({
355
+ "property": (0, schema_1.prop)(schema_1.t.reference("Node Resolver Group", [])),
356
+ "constraint": (0, schema_1.prop)(schema_1.t.reference("Property Constraints", [])),
357
+ })),
358
+ "reference": (0, schema_1.tstate)(schema_1.t.group({
359
+ "property": (0, schema_1.prop)(schema_1.t.reference("Node Resolver Group", [])),
360
+ "constraint": (0, schema_1.prop)(schema_1.t.reference("Property Constraints", [])),
361
+ })),
362
+ })),
363
+ "parameter": (0, schema_1.tstate)(schema_1.t.reference("Signature Parameters", [schema_1.tr.g("values")])), //FIXME: validate that presence is 'required'
364
+ "result": (0, schema_1.tstate)(schema_1.t.state_group({
365
+ "list": (0, schema_1.tstate)(schema_1.t.group({
366
+ "property": (0, schema_1.prop)(schema_1.t.reference("Node Resolver Group", [])),
367
+ "list result": (0, schema_1.prop)(schema_1.t.reference_derived("Node Resolver", [schema_1.tr.s("list"), schema_1.tr.g("result"), schema_1.tr.o()])),
368
+ })),
369
+ "state group": (0, schema_1.tstate)(schema_1.t.group({
370
+ "property": (0, schema_1.prop)(schema_1.t.reference("Node Resolver Group", [])),
371
+ "state group": (0, schema_1.prop)(schema_1.t.reference_derived("Node Resolver", [schema_1.tr.s("state group")])),
372
+ "result": (0, schema_1.prop)(schema_1.t.component("Type Reference")),
373
+ })),
374
+ "optional value": (0, schema_1.tstate)(schema_1.t.group({
375
+ "property": (0, schema_1.prop)(schema_1.t.reference("Node Resolver Group", [])),
376
+ "optional value": (0, schema_1.prop)(schema_1.t.reference_derived("Node Resolver", [schema_1.tr.s("optional")])),
377
+ "result": (0, schema_1.prop)(schema_1.t.component("Type Reference")),
378
+ })),
379
+ }))
380
+ })),
381
+ "tail": (0, schema_1.prop)(schema_1.t.component("Relative Value Selection")),
382
+ "resulting node": (0, schema_1.prop)(schema_1.t.reference_derived("Type Node", [])),
374
383
  })),
375
384
  "Possible Value Selection": (0, schema_1.type)(schema_1.t.state_group({
376
- "parameter": schema_1.t.reference("Signature Parameters", [schema_1.tr.g("values")]), //FIXME: validate that presence is 'optional'
377
- "result": schema_1.t.state_group({
378
- "state group": schema_1.t.group({
379
- "property": schema_1.t.reference("Node Resolver Group", []),
380
- "state group": schema_1.t.reference_derived("Node Resolver", [schema_1.tr.s("state group")]),
381
- "result": schema_1.t.component("Type Reference"),
382
- }),
383
- "optional value": schema_1.t.group({
384
- "property": schema_1.t.reference("Node Resolver Group", []),
385
- "optional value": schema_1.t.reference_derived("Node Resolver", [schema_1.tr.s("optional")]),
386
- "result": schema_1.t.component("Type Reference"),
387
- }),
388
- })
385
+ "parameter": (0, schema_1.tstate)(schema_1.t.reference("Signature Parameters", [schema_1.tr.g("values")])), //FIXME: validate that presence is 'optional'
386
+ "result": (0, schema_1.tstate)(schema_1.t.state_group({
387
+ "state group": (0, schema_1.tstate)(schema_1.t.group({
388
+ "property": (0, schema_1.prop)(schema_1.t.reference("Node Resolver Group", [])),
389
+ "state group": (0, schema_1.prop)(schema_1.t.reference_derived("Node Resolver", [schema_1.tr.s("state group")])),
390
+ "result": (0, schema_1.prop)(schema_1.t.component("Type Reference")),
391
+ })),
392
+ "optional value": (0, schema_1.tstate)(schema_1.t.group({
393
+ "property": (0, schema_1.prop)(schema_1.t.reference("Node Resolver Group", [])),
394
+ "optional value": (0, schema_1.prop)(schema_1.t.reference_derived("Node Resolver", [schema_1.tr.s("optional")])),
395
+ "result": (0, schema_1.prop)(schema_1.t.component("Type Reference")),
396
+ })),
397
+ }))
389
398
  })),
390
399
  });
391
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiJC50eXBlcy5hc3RuLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vLi4vc3JjL3RlbXAvdGVtcG9yYXJ5X3NjaGVtYXMvcGFyZXRvL3NjaGVtYXMvc2NoZW1hLyQudHlwZXMuYXN0bi50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiOzs7QUFFQSw2REFPeUM7QUFHNUIsUUFBQSxDQUFDLEdBQWlDLElBQUEsY0FBSyxFQUNoRDtJQUNJLFdBQVcsRUFBRSxJQUFBLGFBQUksRUFBQyxVQUFDLENBQUMsS0FBSyxDQUFDO1FBQ3RCLE1BQU0sRUFBRSxVQUFDLENBQUMsV0FBVyxDQUFDO1lBQ2xCLFlBQVksRUFBRSxVQUFDLENBQUMsT0FBTyxFQUFFO1lBQ3pCLGFBQWEsRUFBRSxVQUFDLENBQUMsT0FBTyxFQUFFO1NBQzdCLENBQUM7S0FDTCxDQUFDLENBQUM7SUFFSCxhQUFhLEVBQUUsSUFBQSxhQUFJLEVBQUMsVUFBQyxDQUFDLEtBQUssQ0FBQztRQUN4Qjs7OztXQUlHO1FBQ0gsV0FBVyxFQUFFLFVBQUMsQ0FBQyxXQUFXLENBQUM7WUFDdkI7O2VBRUc7WUFDSCxlQUFlLEVBQUUsVUFBQyxDQUFDLEtBQUssQ0FBQztnQkFDckI7O21CQUVHO2dCQUNILG9CQUFvQixFQUFFLFVBQUMsQ0FBQyxZQUFZLENBQUMsVUFBQyxDQUFDLE9BQU8sRUFBRSxDQUFDO2FBQ3BELENBQUM7WUFDRjs7ZUFFRztZQUNILE9BQU8sRUFBRSxVQUFDLENBQUMsS0FBSyxDQUFDO2dCQUNiOzs7OzttQkFLRztnQkFDSCwwQkFBMEIsRUFBRSxVQUFDLENBQUMsUUFBUSxDQUFDLFVBQUMsQ0FBQyxZQUFZLENBQUMsVUFBQyxDQUFDLE9BQU8sRUFBRSxDQUFDLENBQUM7Z0JBRW5FOzs7O21CQUlHO2dCQUNILE1BQU0sRUFBRSxVQUFDLENBQUMsV0FBVyxDQUFDO29CQUNsQixTQUFTLEVBQUUsVUFBQyxDQUFDLE9BQU8sRUFBRTtvQkFDdEIsU0FBUyxFQUFFLFVBQUMsQ0FBQyxPQUFPLEVBQUU7b0JBQ3RCLGtCQUFrQixFQUFFLFVBQUMsQ0FBQyxPQUFPLEVBQUU7aUJBQ2xDLENBQUM7YUFDTCxDQUFDO1NBQ0wsQ0FBQztLQUNMLENBQUMsQ0FBQztJQUVILFNBQVMsRUFBRSxJQUFBLGFBQUksRUFBQyxVQUFDLENBQUMsS0FBSyxDQUFDO1FBQ3BCLFlBQVksRUFBRSxVQUFDLENBQUMsV0FBVyxDQUFDO1lBQ3hCLGFBQWEsRUFBRSxVQUFDLENBQUMsT0FBTyxFQUFFO1lBQzFCLGVBQWUsRUFBRSxVQUFDLENBQUMsT0FBTyxFQUFFO1NBQy9CLENBQUM7UUFDRixZQUFZLEVBQUUsVUFBQyxDQUFDLFVBQVUsQ0FBQyxVQUFDLENBQUMsU0FBUyxDQUFDLFdBQVcsQ0FBQyxDQUFDO1FBQ3BELGNBQWMsRUFBRSxVQUFDLENBQUMsVUFBVSxDQUFDLFVBQUMsQ0FBQyxTQUFTLENBQUMsYUFBYSxDQUFDLENBQUM7S0FDM0QsQ0FBQyxDQUFDO0lBRUgsVUFBVSxFQUFFLElBQUEsYUFBSSxFQUFDLFVBQUMsQ0FBQyxXQUFXLENBQUM7UUFDM0IsVUFBVSxFQUFFLFVBQUMsQ0FBQyxPQUFPLEVBQUU7UUFDdkIsVUFBVSxFQUFFLFVBQUMsQ0FBQyxPQUFPLEVBQUU7S0FDMUIsQ0FBQyxDQUFDO0lBRUgsaUJBQWlCLEVBQUUsSUFBQSxhQUFJLEVBQUMsVUFBQyxDQUFDLFVBQVUsQ0FBQyxVQUFDLENBQUMsT0FBTyxFQUFFLENBQUMsQ0FBQztJQUVsRCxNQUFNLEVBQUUsSUFBQSxhQUFJLEVBQUMsVUFBQyxDQUFDLEtBQUssQ0FBQztRQUNqQixpQkFBaUIsRUFBRSxVQUFDLENBQUMsU0FBUyxDQUFDLGlCQUFpQixDQUFDO1FBQ2pELE1BQU0sRUFBRSxVQUFDLENBQUMsZ0JBQWdCLENBQUMsV0FBVyxDQUFDO0tBQzFDLENBQUMsQ0FBQztJQUVILE9BQU8sRUFBRSxJQUFBLGFBQUksRUFBQyxVQUFDLENBQUMsVUFBVSxDQUFDLFVBQUMsQ0FBQyxTQUFTLENBQUMsTUFBTSxDQUFDLEVBQUUsU0FBUyxDQUFDLENBQUM7SUFFM0QsWUFBWSxFQUFFLElBQUEsYUFBSSxFQUFDLFVBQUMsQ0FBQyxLQUFLLENBQUM7UUFDdkIsTUFBTSxFQUFFLFVBQUMsQ0FBQyxnQkFBZ0IsQ0FBQyxXQUFXLENBQUM7UUFDdkMsU0FBUyxFQUFFLFVBQUMsQ0FBQyxPQUFPLEVBQUU7S0FDekIsQ0FBQyxDQUFDO0lBRUgsWUFBWSxFQUFFLElBQUEsYUFBSSxFQUFDLFVBQUMsQ0FBQyxVQUFVLENBQUMsVUFBQyxDQUFDLGdCQUFnQixDQUFDLFdBQVcsQ0FBQyxFQUFFLFNBQVMsQ0FBQyxDQUFDO0lBRTVFLFdBQVcsRUFBRSxJQUFBLGFBQUksRUFBQyxVQUFDLENBQUMsVUFBVSxDQUFDLFVBQUMsQ0FBQyxLQUFLLENBQUM7UUFDbkMsV0FBVyxFQUFFLFVBQUMsQ0FBQyxpQkFBaUIsQ0FBQyxZQUFZLEVBQUUsQ0FBQyxXQUFFLENBQUMsQ0FBQyxFQUFFLENBQUMsQ0FBQztRQUN4RCxlQUFlLEVBQUUsVUFBQyxDQUFDLGdCQUFnQixDQUFDLGVBQWUsQ0FBQztLQUN2RCxDQUFDLEVBQUUsU0FBUyxDQUFDLENBQUM7SUFFZixlQUFlLEVBQUUsSUFBQSxhQUFJLEVBQUMsVUFBQyxDQUFDLEtBQUssQ0FBQztRQUMxQixZQUFZLEVBQUUsVUFBQyxDQUFDLEtBQUssQ0FBQztZQUNsQixPQUFPLEVBQUUsVUFBQyxDQUFDLGdCQUFnQixDQUFDLFlBQVksQ0FBQztTQUM1QyxDQUFDO1FBQ0YsV0FBVyxFQUFFLFVBQUMsQ0FBQyxnQkFBZ0IsQ0FBQyxXQUFXLENBQUM7S0FDL0MsQ0FBQyxDQUFDO0lBRUg7O09BRUc7SUFDSCxPQUFPLEVBQUUsSUFBQSxhQUFJLEVBQUMsVUFBQyxDQUFDLFVBQVUsQ0FBQyxVQUFDLENBQUMsZ0JBQWdCLENBQUMsV0FBVyxDQUFDLEVBQUUsU0FBUyxDQUFDLENBQUM7SUFFdkUscUJBQXFCLEVBQUUsSUFBQSxhQUFJLEVBQUMsVUFBQyxDQUFDLEtBQUssQ0FBQztRQUNoQyxlQUFlLEVBQUUsVUFBQyxDQUFDLFNBQVMsQ0FBQyxnQkFBZ0IsQ0FBQztRQUM5QyxNQUFNLEVBQUUsVUFBQyxDQUFDLElBQUksQ0FDVixVQUFDLENBQUMsV0FBVyxDQUFDO1lBQ1YsWUFBWSxFQUFFLFVBQUMsQ0FBQyxPQUFPLEVBQUU7WUFDekIsT0FBTyxFQUFFLFVBQUMsQ0FBQyxTQUFTLENBQUMsT0FBTyxFQUFFLEVBQUUsQ0FBQztZQUNqQyxNQUFNLEVBQUUsVUFBQyxDQUFDLE9BQU8sRUFBRTtZQUNuQixVQUFVLEVBQUUsVUFBQyxDQUFDLE9BQU8sRUFBRTtZQUN2QixhQUFhLEVBQUUsVUFBQyxDQUFDLFNBQVMsQ0FBQyxXQUFXLEVBQUUsQ0FBQyxXQUFFLENBQUMsQ0FBQyxDQUFDLGFBQWEsQ0FBQyxDQUFDLENBQUM7U0FDakUsQ0FBQyxDQUNMO1FBQ0QsZ0JBQWdCLEVBQUUsVUFBQyxDQUFDLGlCQUFpQixDQUFDLFdBQVcsRUFBRSxFQUFFLENBQUM7S0FDekQsQ0FBQyxDQUFDO0lBRUgsZ0JBQWdCLEVBQUUsSUFBQSxhQUFJLEVBQUMsVUFBQyxDQUFDLEtBQUssQ0FBQztRQUMzQixVQUFVLEVBQUUsVUFBQyxDQUFDLFdBQVcsQ0FBQztZQUN0QixVQUFVLEVBQUUsVUFBQyxDQUFDLFNBQVMsQ0FBQyxPQUFPLEVBQUUsRUFBRSxDQUFDO1lBQ3BDLFVBQVUsRUFBRSxVQUFDLENBQUMsS0FBSyxDQUFDO2dCQUNoQixRQUFRLEVBQUUsVUFBQyxDQUFDLFNBQVMsQ0FBQyxTQUFTLEVBQUUsRUFBRSxDQUFDO2dCQUNwQyxNQUFNLEVBQUUsVUFBQyxDQUFDLFNBQVMsQ0FBQyxPQUFPLEVBQUUsRUFBRSxDQUFDO2FBQ25DLENBQUM7U0FDTCxDQUFDO1FBQ0YsZ0JBQWdCLEVBQUUsVUFBQyxDQUFDLGlCQUFpQixDQUFDLFdBQVcsRUFBRSxFQUFFLENBQUM7S0FDekQsQ0FBQyxDQUFDO0lBRUgsc0JBQXNCLEVBQUUsSUFBQSxhQUFJLEVBQUMsVUFBQyxDQUFDLEtBQUssQ0FBQztRQUNqQyxRQUFRLEVBQUUsVUFBQyxDQUFDLFVBQVUsQ0FBQyxVQUFDLENBQUMsS0FBSyxDQUFDO1lBQzNCLFdBQVcsRUFBRSxVQUFDLENBQUMsU0FBUyxDQUFDLGdCQUFnQixDQUFDO1lBQzFDLFVBQVUsRUFBRSxVQUFDLENBQUMsU0FBUyxDQUFDLFVBQVUsQ0FBQztTQUN0QyxDQUFDLENBQUM7UUFDSCxTQUFTLEVBQUUsVUFBQyxDQUFDLFVBQVUsQ0FBQyxVQUFDLENBQUMsS0FBSyxDQUFDO1lBQzVCLFVBQVUsRUFBRSxVQUFDLENBQUMsU0FBUyxDQUFDLGdCQUFnQixDQUFDO1lBQ3pDLFlBQVksRUFBRSxVQUFDLENBQUMsaUJBQWlCLENBQUMsWUFBWSxFQUFFLEVBQUUsQ0FBQztZQUNuRCxNQUFNLEVBQUUsVUFBQyxDQUFDLFdBQVcsQ0FBQztnQkFDbEIsUUFBUSxFQUFFLFVBQUMsQ0FBQyxPQUFPLEVBQUU7Z0JBQ3JCLFNBQVMsRUFBRSxVQUFDLENBQUMsT0FBTyxFQUFFO2dCQUN0QixPQUFPLEVBQUUsVUFBQyxDQUFDLE9BQU8sRUFBRTthQUN2QixDQUFDO1lBQ0YsVUFBVSxFQUFFLFVBQUMsQ0FBQyxTQUFTLENBQUMsVUFBVSxDQUFDO1NBQ3RDLENBQUMsQ0FBQztLQUNOLENBQUMsQ0FBQztJQUNILFdBQVcsRUFBRSxJQUFBLGFBQUksRUFBQyxVQUFDLENBQUMsS0FBSyxDQUFDO1FBQ3RCLE1BQU0sRUFBRSxVQUFDLENBQUMsaUJBQWlCLENBQUMsTUFBTSxFQUFFLEVBQUUsQ0FBQztRQUN2QyxZQUFZLEVBQUUsVUFBQyxDQUFDLFdBQVcsQ0FBQztZQUN4QixPQUFPLEVBQUUsVUFBQyxDQUFDLFNBQVMsQ0FBQyxzQkFBc0IsQ0FBQztZQUM1QyxTQUFTLEVBQUUsVUFBQyxDQUFDLFNBQVMsQ0FBQyxZQUFZLEVBQUUsRUFBRSxDQUFDO1NBQzNDLENBQUM7UUFDRixxQkFBcUIsRUFBRSxVQUFDLENBQUMsaUJBQWlCLENBQUMsc0JBQXNCLEVBQUUsRUFBRSxDQUFDO0tBQ3pFLENBQUMsQ0FBQztJQUVILDBCQUEwQixFQUFFLElBQUEsYUFBSSxFQUFDLFVBQUMsQ0FBQyxLQUFLLENBQUM7UUFDckMsTUFBTSxFQUFFLFVBQUMsQ0FBQyxJQUFJLENBQ1YsVUFBQyxDQUFDLFdBQVcsQ0FBQztZQUNWLFdBQVcsRUFBRSxVQUFDLENBQUMsT0FBTyxFQUFFO1lBQ3hCLE9BQU8sRUFBRSxVQUFDLENBQUMsU0FBUyxDQUFDLE9BQU8sRUFBRSxFQUFFLENBQUM7WUFDakMsV0FBVyxFQUFFLFVBQUMsQ0FBQyxLQUFLLENBQUM7Z0JBQ2pCLFlBQVksRUFBRSxVQUFDLENBQUMsaUJBQWlCLENBQUMsV0FBVyxFQUFFLENBQUMsV0FBRSxDQUFDLENBQUMsQ0FBQyxXQUFXLENBQUMsQ0FBQyxDQUFDO2FBQ3RFLENBQUM7U0FDTCxDQUFDLENBQ0w7UUFDRCxnQkFBZ0IsRUFBRSxVQUFDLENBQUMsaUJBQWlCLENBQUMsV0FBVyxFQUFFLEVBQUUsQ0FBQztLQUN6RCxDQUFDLENBQUM7SUFFSCxzRkFBc0Y7SUFDdEYsa0JBQWtCLEVBQUUsSUFBQSxhQUFJLEVBQUMsVUFBQyxDQUFDLEtBQUssQ0FBQztRQUM3QixNQUFNLEVBQUUsVUFBQyxDQUFDLFdBQVcsQ0FBQztZQUNsQixZQUFZLEVBQUUsVUFBQyxDQUFDLEtBQUssQ0FBQztnQkFDbEIsV0FBVyxFQUFFLFVBQUMsQ0FBQyxnQkFBZ0IsQ0FBQyw0QkFBNEIsQ0FBQztnQkFDN0QscUJBQXFCLEVBQUUsVUFBQyxDQUFDLGlCQUFpQixDQUFDLFlBQVksRUFBRSxFQUFFLENBQUM7YUFDL0QsQ0FBQztZQUNGLFdBQVcsRUFBRSxVQUFDLENBQUMsU0FBUyxDQUFDLHNCQUFzQixFQUFFLENBQUMsV0FBRSxDQUFDLENBQUMsQ0FBQyxTQUFTLENBQUMsQ0FBQyxDQUFDO1lBQ25FLGlDQUFpQyxFQUFFLFVBQUMsQ0FBQyxpQkFBaUIsQ0FBQyxZQUFZLEVBQUUsRUFBRSxDQUFDO1lBQ3hFLHNDQUFzQyxFQUFFLFVBQUMsQ0FBQyxpQkFBaUIsQ0FBQyxZQUFZLEVBQUUsRUFBRSxDQUFDO1NBQ2hGLENBQUM7UUFDRixzQkFBc0IsRUFBRSxVQUFDLENBQUMsaUJBQWlCLENBQUMsWUFBWSxFQUFFLEVBQUUsQ0FBQztLQUNoRSxDQUFDLENBQUM7SUFFSCxZQUFZLEVBQUUsSUFBQSxhQUFJLEVBQUMsVUFBQyxDQUFDLEtBQUssQ0FBQztRQUN2QixXQUFXLEVBQUUsVUFBQyxDQUFDLFNBQVMsQ0FBQywwQkFBMEIsQ0FBQztRQUNwRCxNQUFNLEVBQUUsVUFBQyxDQUFDLFdBQVcsQ0FBQztZQUNsQixPQUFPLEVBQUUsVUFBQyxDQUFDLEtBQUssQ0FBQztnQkFDYixzQkFBc0IsRUFBRSxVQUFDLENBQUMsaUJBQWlCLENBQUMsV0FBVyxFQUFFLENBQUMsV0FBRSxDQUFDLENBQUMsQ0FBQyxhQUFhLENBQUMsQ0FBQyxDQUFDO2dCQUMvRSxPQUFPLEVBQUUsVUFBQyxDQUFDLFNBQVMsQ0FBQyxXQUFXLEVBQUUsQ0FBQyxXQUFFLENBQUMsQ0FBQyxDQUFDLGFBQWEsQ0FBQyxDQUFDLENBQUM7YUFDM0QsQ0FBQztZQUNGLGdCQUFnQixFQUFFLFVBQUMsQ0FBQyxLQUFLLENBQUM7Z0JBQ3RCLHlCQUF5QixFQUFFLFVBQUMsQ0FBQyxpQkFBaUIsQ0FBQyxXQUFXLEVBQUUsQ0FBQyxXQUFFLENBQUMsQ0FBQyxDQUFDLFVBQVUsQ0FBQyxDQUFDLENBQUM7YUFDbEYsQ0FBQztTQUNMLENBQUM7S0FDTCxDQUFDLENBQUM7SUFFSCxvQkFBb0IsRUFBRSxJQUFBLGFBQUksRUFBQyxVQUFDLENBQUMsVUFBVSxDQUFDLFVBQUMsQ0FBQyxXQUFXLENBQUM7UUFDbEQsT0FBTyxFQUFFLFVBQUMsQ0FBQyxLQUFLLENBQUM7WUFDYixXQUFXLEVBQUUsVUFBQyxDQUFDLGdCQUFnQixDQUFDLDRCQUE0QixDQUFDO1lBQzdELHNCQUFzQixFQUFFLFVBQUMsQ0FBQyxpQkFBaUIsQ0FBQyxXQUFXLEVBQUUsQ0FBQyxXQUFFLENBQUMsQ0FBQyxDQUFDLGFBQWEsQ0FBQyxDQUFDLENBQUM7WUFDL0UsT0FBTyxFQUFFLFVBQUMsQ0FBQyxTQUFTLENBQUMsV0FBVyxFQUFFLENBQUMsV0FBRSxDQUFDLENBQUMsQ0FBQyxhQUFhLENBQUMsQ0FBQyxDQUFDO1NBQzNELENBQUM7UUFDRixlQUFlLEVBQUUsVUFBQyxDQUFDLGdCQUFnQixDQUFDLDBCQUEwQixDQUFDO0tBQ2xFLENBQUMsQ0FBQyxDQUFDO0lBRUosc0JBQXNCLEVBQUUsSUFBQSxhQUFJLEVBQUMsVUFBQyxDQUFDLFVBQVUsQ0FBQyxVQUFDLENBQUMsZ0JBQWdCLENBQUMscUJBQXFCLENBQUMsRUFBRSxTQUFTLENBQUMsQ0FBQztJQUVoRyxrQ0FBa0MsRUFBRSxJQUFBLGFBQUksRUFBQyxVQUFDLENBQUMsU0FBUyxDQUFDLHNCQUFzQixFQUFFLEVBQUUsQ0FBQyxDQUFDLEVBQUUsZ0JBQWdCO0lBRW5HLHFCQUFxQixFQUFFLElBQUEsYUFBSSxFQUFDLFVBQUMsQ0FBQyxLQUFLLENBQUM7UUFDaEMsT0FBTyxFQUFFLFVBQUMsQ0FBQyxXQUFXLENBQUM7WUFDbkIsVUFBVSxFQUFFLFVBQUMsQ0FBQyxPQUFPLEVBQUU7WUFDdkIsU0FBUyxFQUFFLFVBQUMsQ0FBQyxTQUFTLENBQUMsa0NBQWtDLENBQUM7U0FDN0QsQ0FBQztRQUNGLFlBQVksRUFBRSxVQUFDLENBQUMsU0FBUyxDQUFDLFlBQVksQ0FBQztLQUMxQyxDQUFDLENBQUM7SUFFSCwrQkFBK0IsRUFBRSxJQUFBLGFBQUksRUFBQyxVQUFDLENBQUMsV0FBVyxDQUFDO1FBQ2hELFNBQVMsRUFBRSxVQUFDLENBQUMsT0FBTyxFQUFFO1FBQ3RCLEtBQUssRUFBRSxVQUFDLENBQUMsZ0JBQWdCLENBQUMsNEJBQTRCLENBQUM7UUFDdkQsV0FBVyxFQUFFLFVBQUMsQ0FBQyxnQkFBZ0IsQ0FBQywwQkFBMEIsQ0FBQztLQUM5RCxDQUFDLENBQUM7SUFFSCxxQkFBcUIsRUFBRSxJQUFBLGFBQUksRUFBQyxVQUFDLENBQUMsVUFBVSxDQUFDLFVBQUMsQ0FBQyxLQUFLLENBQUM7UUFDN0MsWUFBWSxFQUFFLFVBQUMsQ0FBQyxpQkFBaUIsQ0FBQyxPQUFPLEVBQUUsQ0FBQyxXQUFFLENBQUMsQ0FBQyxFQUFFLENBQUMsQ0FBQztRQUNwRCxVQUFVLEVBQUUsVUFBQyxDQUFDLGdCQUFnQixDQUFDLGVBQWUsQ0FBQztLQUNsRCxDQUFDLEVBQUUsU0FBUyxDQUFDLENBQUM7SUFFZiwyQkFBMkIsRUFBRSxJQUFBLGFBQUksRUFBQyxVQUFDLENBQUMsU0FBUyxDQUFDLGdCQUFnQixDQUFDLENBQUM7SUFFaEUsV0FBVyxFQUFFLElBQUEsYUFBSSxFQUFDLFVBQUMsQ0FBQyxLQUFLLENBQUM7UUFDdEIsV0FBVyxFQUFFLFVBQUMsQ0FBQyxnQkFBZ0IsQ0FBQyw0QkFBNEIsQ0FBQztRQUM3RCxzQkFBc0IsRUFBRSxVQUFDLENBQUMsaUJBQWlCLENBQUMsWUFBWSxFQUFFLEVBQUUsQ0FBQztRQUM3RCxPQUFPLEVBQUUsVUFBQyxDQUFDLE9BQU8sRUFBRTtLQUN2QixDQUFDLENBQUM7SUFFSCxTQUFTLEVBQUUsSUFBQSxhQUFJLEVBQUMsVUFBQyxDQUFDLFVBQVUsQ0FBQyxVQUFDLENBQUMsU0FBUyxDQUFDLGFBQWEsQ0FBQyxFQUFFLFNBQVMsQ0FBQyxDQUFDO0lBRXBFLG9CQUFvQixFQUFFLElBQUEsYUFBSSxFQUFDLFVBQUMsQ0FBQyxLQUFLLENBQUM7UUFDL0IsUUFBUSxFQUFFLFVBQUMsQ0FBQyxTQUFTLENBQUMsYUFBYSxDQUFDO1FBQ3BDLGFBQWEsRUFBRSxVQUFDLENBQUMsSUFBSSxDQUFDLFVBQUMsQ0FBQyxVQUFVLENBQUMsSUFBQSxhQUFJLEVBQUMsYUFBYSxDQUFDLENBQUMsQ0FBQztRQUN4RCxNQUFNLEVBQUUsVUFBQyxDQUFDLFVBQVUsQ0FBQyxJQUFBLGFBQUksRUFBQyxhQUFhLENBQUMsQ0FBQztLQUM1QyxDQUFDLENBQUM7SUFFSCxhQUFhLEVBQUUsSUFBQSxhQUFJLEVBQUMsVUFBQyxDQUFDLFdBQVcsQ0FBQztRQUM5QixRQUFRLEVBQUUsVUFBQyxDQUFDLFNBQVMsQ0FBQyxRQUFRLENBQUM7UUFDL0IsS0FBSyxFQUFFLFVBQUMsQ0FBQyxnQkFBZ0IsQ0FBQyxTQUFTLENBQUM7S0FDdkMsQ0FBQyxDQUFDO0lBRUgsUUFBUSxFQUFFLElBQUEsYUFBSSxFQUFDLFVBQUMsQ0FBQyxLQUFLLENBQUM7UUFDbkIsU0FBUyxFQUFFLFVBQUMsQ0FBQyxnQkFBZ0IsQ0FBQyxTQUFTLENBQUM7UUFDeEMsU0FBUyxFQUFFLFVBQUMsQ0FBQyxTQUFTLENBQUMsU0FBUyxDQUFDO1FBQ2pDLE9BQU8sRUFBRSxVQUFDLENBQUMsU0FBUyxDQUFDLE9BQU8sQ0FBQztRQUM3QixZQUFZLEVBQUUsVUFBQyxDQUFDLFdBQVcsQ0FBQztZQUN4QixhQUFhLEVBQUUsVUFBQyxDQUFDLFNBQVMsQ0FBQyxlQUFlLENBQUM7WUFDM0MsZUFBZSxFQUFFLFVBQUMsQ0FBQyxPQUFPLEVBQUU7U0FDL0IsQ0FBQztLQUNMLENBQUMsQ0FBQztJQUVILFNBQVMsRUFBRSxJQUFBLGFBQUksRUFBQyxVQUFDLENBQUMsVUFBVSxDQUFDLFVBQUMsQ0FBQyxLQUFLLENBQUM7UUFDakMsa0JBQWtCLEVBQUUsVUFBQyxDQUFDLGVBQWUsQ0FBQyxTQUFTLEVBQUUsRUFBRSxDQUFDO1FBQ3BELFFBQVEsRUFBRSxVQUFDLENBQUMsaUJBQWlCLENBQUMsUUFBUSxFQUFFLEVBQUUsQ0FBQztLQUM5QyxDQUFDLENBQUMsQ0FBQztJQUVKLFdBQVcsRUFBRSxJQUFBLGFBQUksRUFBQyxVQUFDLENBQUMsV0FBVyxDQUFDO1FBQzVCLFNBQVMsRUFBRSxVQUFDLENBQUMsT0FBTyxFQUFFO1FBQ3RCLFdBQVcsRUFBRSxVQUFDLENBQUMsV0FBVyxDQUFDO1lBQ3ZCLFVBQVUsRUFBRSxVQUFDLENBQUMsS0FBSyxDQUFDO2dCQUNoQixRQUFRLEVBQUUsVUFBQyxDQUFDLFNBQVMsQ0FBQyxTQUFTLEVBQUUsRUFBRSxDQUFDO2dCQUNwQyxNQUFNLEVBQUUsVUFBQyxDQUFDLFNBQVMsQ0FBQyxPQUFPLEVBQUUsRUFBRSxDQUFDO2FBQ25DLENBQUM7WUFDRixVQUFVLEVBQUUsVUFBQyxDQUFDLFNBQVMsQ0FBQyxPQUFPLEVBQUUsRUFBRSxDQUFDO1lBQ3BDLGlCQUFpQixFQUFFLFVBQUMsQ0FBQyxTQUFTLENBQUMsT0FBTyxFQUFFLEVBQUUsRUFBRSxRQUFRLENBQUM7U0FDeEQsQ0FBQztRQUNGLFlBQVksRUFBRSxVQUFDLENBQUMsU0FBUyxDQUFDLFlBQVksQ0FBQztRQUN2QyxPQUFPLEVBQUUsVUFBQyxDQUFDLFNBQVMsQ0FBQyxPQUFPLENBQUM7UUFDN0IsTUFBTSxFQUFFLFVBQUMsQ0FBQyxLQUFLLENBQUM7WUFDWixNQUFNLEVBQUUsVUFBQyxDQUFDLGdCQUFnQixDQUFDLFdBQVcsQ0FBQztTQUMxQyxDQUFDO1FBQ0YsU0FBUyxFQUFFLFVBQUMsQ0FBQyxPQUFPLEVBQUU7UUFDdEIsUUFBUSxFQUFFLFVBQUMsQ0FBQyxXQUFXLENBQUM7WUFDcEIsUUFBUSxFQUFFLFVBQUMsQ0FBQyxTQUFTLENBQUMsU0FBUyxFQUFFLENBQUMsV0FBRSxDQUFDLENBQUMsQ0FBQyxjQUFjLENBQUMsQ0FBQyxDQUFDO1lBQ3hELE9BQU8sRUFBRSxVQUFDLENBQUMsU0FBUyxDQUFDLGFBQWEsQ0FBQztTQUN0QyxDQUFDO1FBQ0YsVUFBVSxFQUFFLFVBQUMsQ0FBQyxnQkFBZ0IsQ0FBQyxXQUFXLENBQUM7UUFDM0MsV0FBVyxFQUFFLFVBQUMsQ0FBQyxLQUFLLENBQUM7WUFDakIsVUFBVSxFQUFFLFVBQUMsQ0FBQyxnQkFBZ0IsQ0FBQyxxQkFBcUIsQ0FBQztZQUNyRCxNQUFNLEVBQUUsVUFBQyxDQUFDLFdBQVcsQ0FBQztnQkFDbEIsU0FBUyxFQUFFLFVBQUMsQ0FBQyxPQUFPLEVBQUU7Z0JBQ3RCLFVBQVUsRUFBRSxVQUFDLENBQUMsS0FBSyxDQUFDO29CQUNoQixZQUFZLEVBQUUsVUFBQyxDQUFDLGlCQUFpQixDQUFDLFlBQVksRUFBRSxFQUFFLENBQUM7b0JBQ25ELFlBQVksRUFBRSxVQUFDLENBQUMsV0FBVyxDQUFDO3dCQUN4QixTQUFTLEVBQUUsVUFBQyxDQUFDLE9BQU8sRUFBRTt3QkFDdEIsUUFBUSxFQUFFLFVBQUMsQ0FBQyxPQUFPLEVBQUU7d0JBQ3JCLE9BQU8sRUFBRSxVQUFDLENBQUMsT0FBTyxFQUFFO3FCQUN2QixDQUFDO2lCQUNMLENBQUM7YUFDTCxDQUFDO1NBQ0wsQ0FBQztRQUNGLGFBQWEsRUFBRSxVQUFDLENBQUMsVUFBVSxDQUFDLFVBQUMsQ0FBQyxnQkFBZ0IsQ0FBQyxXQUFXLENBQUMsQ0FBQztRQUM1RCxNQUFNLEVBQUUsVUFBQyxDQUFDLFdBQVcsQ0FBQztZQUNsQixRQUFRLEVBQUUsVUFBQyxDQUFDLFNBQVMsQ0FBQyxTQUFTLEVBQUUsQ0FBQyxXQUFFLENBQUMsQ0FBQyxDQUFDLFlBQVksQ0FBQyxDQUFDLENBQUM7WUFDdEQsT0FBTyxFQUFFLFVBQUMsQ0FBQyxTQUFTLENBQUMsV0FBVyxDQUFDO1NBQ3BDLENBQUM7UUFDRix1REFBdUQ7S0FDMUQsQ0FBQyxDQUFDO0lBRUgsZUFBZSxFQUFFLElBQUEsYUFBSSxFQUFDLFVBQUMsQ0FBQyxXQUFXLENBQUM7UUFDaEMsU0FBUyxFQUFFLFVBQUMsQ0FBQyxPQUFPLEVBQUU7UUFDdEIsV0FBVyxFQUFFLFVBQUMsQ0FBQyxLQUFLLENBQUM7WUFDakIsVUFBVSxFQUFFLFVBQUMsQ0FBQyxXQUFXLENBQUM7Z0JBQ3RCLFVBQVUsRUFBRSxVQUFDLENBQUMsS0FBSyxDQUFDO29CQUNoQixRQUFRLEVBQUUsVUFBQyxDQUFDLFNBQVMsQ0FBQyxTQUFTLEVBQUUsRUFBRSxDQUFDO29CQUNwQyxNQUFNLEVBQUUsVUFBQyxDQUFDLFNBQVMsQ0FBQyxZQUFZLEVBQUUsRUFBRSxDQUFDO2lCQUN4QyxDQUFDO2dCQUNGLFVBQVUsRUFBRSxVQUFDLENBQUMsU0FBUyxDQUFDLFlBQVksRUFBRSxFQUFFLENBQUM7YUFDNUMsQ0FBQztZQUNGLFdBQVcsRUFBRSxVQUFDLENBQUMsaUJBQWlCLENBQUMsWUFBWSxFQUFFLENBQUMsV0FBRSxDQUFDLENBQUMsRUFBRSxDQUFDLENBQUM7WUFDeEQsV0FBVyxFQUFFLFVBQUMsQ0FBQyxRQUFRLENBQUMsVUFBQyxDQUFDLEtBQUssQ0FBQztnQkFDNUIsUUFBUSxFQUFFLFVBQUMsQ0FBQyxRQUFRLENBQUMsVUFBQyxDQUFDLFVBQVUsQ0FBQyxVQUFDLENBQUMsV0FBVyxDQUFDO29CQUM1QyxVQUFVLEVBQUUsVUFBQyxDQUFDLFNBQVMsQ0FBQywrQkFBK0IsQ0FBQztvQkFDeEQsVUFBVSxFQUFFLFVBQUMsQ0FBQyxnQkFBZ0IsQ0FBQyw0QkFBNEIsQ0FBQztvQkFDNUQsV0FBVyxFQUFFLFVBQUMsQ0FBQyxTQUFTLENBQUMsc0JBQXNCLEVBQUUsQ0FBQyxXQUFFLENBQUMsQ0FBQyxDQUFDLFFBQVEsQ0FBQyxDQUFDLENBQUM7aUJBQ3JFLENBQUMsQ0FBQyxDQUFDO2dCQUNKLFNBQVMsRUFBRSxVQUFDLENBQUMsUUFBUSxDQUFDLFVBQUMsQ0FBQyxVQUFVLENBQUMsVUFBQyxDQUFDLFdBQVcsQ0FBQztvQkFDN0MsYUFBYSxFQUFFLFVBQUMsQ0FBQyxPQUFPLEVBQUU7b0JBQzFCLFNBQVMsRUFBRSxVQUFDLENBQUMsT0FBTyxFQUFFO29CQUN0QixXQUFXLEVBQUUsVUFBQyxDQUFDLFNBQVMsQ0FBQyxrQkFBa0IsQ0FBQztvQkFDNUMsT0FBTyxFQUFFLFVBQUMsQ0FBQyxLQUFLLENBQUM7d0JBQ2IsT0FBTyxFQUFFLFVBQUMsQ0FBQyxTQUFTLENBQUMsa0JBQWtCLENBQUM7d0JBQ3hDLFNBQVMsRUFBRSxVQUFDLENBQUMsU0FBUyxDQUFDLGtCQUFrQixDQUFDO3FCQUM3QyxDQUFDO2lCQUNMLENBQUMsQ0FBQyxDQUFDO2FBQ1AsQ0FBQyxDQUFDO1lBQ0gsYUFBYSxFQUFFLFVBQUMsQ0FBQyxTQUFTLENBQUMsc0JBQXNCLENBQUM7U0FDckQsQ0FBQztRQUNGLFlBQVksRUFBRSxVQUFDLENBQUMsS0FBSyxDQUFDO1lBQ2xCLFlBQVksRUFBRSxVQUFDLENBQUMsaUJBQWlCLENBQUMsWUFBWSxFQUFFLEVBQUUsQ0FBQztZQUNuRCxVQUFVLEVBQUUsVUFBQyxDQUFDLGdCQUFnQixDQUFDLGVBQWUsQ0FBQztZQUMvQyxXQUFXLEVBQUUsVUFBQyxDQUFDLFFBQVEsQ0FBQyxVQUFDLENBQUMsU0FBUyxDQUFDLFdBQVcsQ0FBQyxDQUFDO1NBQ3BELENBQUM7UUFDRixPQUFPLEVBQUUsVUFBQyxDQUFDLFNBQVMsQ0FBQyxxQkFBcUIsQ0FBQztRQUMzQyxNQUFNLEVBQUUsVUFBQyxDQUFDLEtBQUssQ0FBQztZQUNaLFlBQVksRUFBRSxVQUFDLENBQUMsaUJBQWlCLENBQUMsV0FBVyxFQUFFLENBQUMsV0FBRSxDQUFDLENBQUMsQ0FBQyxNQUFNLENBQUMsQ0FBQyxDQUFDO1lBQzlELFVBQVUsRUFBRSxVQUFDLENBQUMsZ0JBQWdCLENBQUMsZUFBZSxDQUFDO1lBQy9DLFFBQVEsRUFBRSxVQUFDLENBQUMsUUFBUSxDQUFDLFVBQUMsQ0FBQyxTQUFTLENBQUMsMkJBQTJCLENBQUMsQ0FBQztTQUNqRSxDQUFDO1FBQ0YsU0FBUyxFQUFFLFVBQUMsQ0FBQyxPQUFPLEVBQUU7UUFDdEIsUUFBUSxFQUFFLFVBQUMsQ0FBQyxPQUFPLEVBQUU7UUFDckIsVUFBVSxFQUFFLFVBQUMsQ0FBQyxLQUFLLENBQUM7WUFDaEIsYUFBYSxFQUFFLFVBQUMsQ0FBQyxTQUFTLENBQUMsb0JBQW9CLENBQUM7WUFDaEQsVUFBVSxFQUFFLFVBQUMsQ0FBQyxnQkFBZ0IsQ0FBQyxlQUFlLENBQUM7U0FDbEQsQ0FBQztRQUNGLFdBQVcsRUFBRSxVQUFDLENBQUMsS0FBSyxDQUFDO1lBQ2pCLFlBQVksRUFBRSxVQUFDLENBQUMsaUJBQWlCLENBQUMsV0FBVyxFQUFFLENBQUMsV0FBRSxDQUFDLENBQUMsQ0FBQyxXQUFXLENBQUMsQ0FBQyxDQUFDO1lBQ25FLE1BQU0sRUFBRSxVQUFDLENBQUMsV0FBVyxDQUFDO2dCQUNsQixTQUFTLEVBQUUsVUFBQyxDQUFDLEtBQUssQ0FBQztvQkFDZixPQUFPLEVBQUUsVUFBQyxDQUFDLGdCQUFnQixDQUFDLDRCQUE0QixDQUFDO2lCQUM1RCxDQUFDO2dCQUNGLFVBQVUsRUFBRSxVQUFDLENBQUMsS0FBSyxDQUFDO29CQUNoQixZQUFZLEVBQUUsVUFBQyxDQUFDLGlCQUFpQixDQUFDLFdBQVcsRUFBRSxDQUFDLFdBQUUsQ0FBQyxDQUFDLENBQUMsV0FBVyxDQUFDLEVBQUUsV0FBRSxDQUFDLENBQUMsQ0FBQyxNQUFNLENBQUMsRUFBRSxXQUFFLENBQUMsQ0FBQyxDQUFDLFVBQVUsQ0FBQyxDQUFDLENBQUM7b0JBQ25HLFFBQVEsRUFBRSxVQUFDLENBQUMsU0FBUyxDQUFDLGtCQUFrQixDQUFDO29CQUN6QyxhQUFhLEVBQUUsVUFBQyxDQUFDLFNBQVMsQ0FBQyxzQkFBc0IsQ0FBQztpQkFDckQsQ0FBQzthQUNMLENBQUM7U0FDTCxDQUFDO1FBQ0YsYUFBYSxFQUFFLFVBQUMsQ0FBQyxLQUFLLENBQUM7WUFDbkIsWUFBWSxFQUFFLFVBQUMsQ0FBQyxpQkFBaUIsQ0FBQyxXQUFXLEVBQUUsQ0FBQyxXQUFFLENBQUMsQ0FBQyxDQUFDLGFBQWEsQ0FBQyxDQUFDLENBQUM7WUFDckUsUUFBUSxFQUFFLFVBQUMsQ0FBQyxVQUFVLENBQUMsVUFBQyxDQUFDLEtBQUssQ0FBQztnQkFDM0IsYUFBYSxFQUFFLFVBQUMsQ0FBQyxTQUFTLENBQUMsb0JBQW9CLENBQUM7Z0JBQ2hELFVBQVUsRUFBRSxVQUFDLENBQUMsZ0JBQWdCLENBQUMsZUFBZSxDQUFDO2FBQ2xELENBQUMsQ0FBQztTQUNOLENBQUM7UUFDRixNQUFNLEVBQUUsVUFBQyxDQUFDLE9BQU8sRUFBRTtRQUNuQixpQ0FBaUM7S0FDcEMsQ0FBQyxDQUFDO0lBRUgsNEJBQTRCLEVBQUUsSUFBQSxhQUFJLEVBQUMsVUFBQyxDQUFDLEtBQUssQ0FBQztRQUN2QyxPQUFPLEVBQUUsVUFBQyxDQUFDLFdBQVcsQ0FBQztZQUNuQixPQUFPO1lBQ1AsU0FBUyxFQUFFLFVBQUMsQ0FBQyxTQUFTLENBQUMscUJBQXFCLEVBQUUsRUFBRSxDQUFDO1lBQ2pELGdCQUFnQixFQUFFLFVBQUMsQ0FBQyxTQUFTLENBQUMscUJBQXFCLEVBQUUsRUFBRSxDQUFDO1lBQ3hELG1CQUFtQixFQUFFLFVBQUMsQ0FBQyxTQUFTLENBQUMsb0JBQW9CLEVBQUUsRUFBRSxDQUFDO1lBQzFELGFBQWEsRUFBRSxVQUFDLENBQUMsT0FBTyxFQUFFO1lBQzFCLGNBQWMsRUFBRSxVQUFDLENBQUMsT0FBTyxFQUFFO1lBRTNCLFVBQVU7WUFDVixZQUFZLEVBQUUsVUFBQyxDQUFDLFdBQVcsQ0FBQztnQkFDeEIsV0FBVyxFQUFFLFVBQUMsQ0FBQyxLQUFLLENBQUM7b0JBQ2pCLFVBQVUsRUFBRSxVQUFDLENBQUMsU0FBUyxDQUFDLHFCQUFxQixFQUFFLEVBQUUsQ0FBQztvQkFDbEQsWUFBWSxFQUFFLFVBQUMsQ0FBQyxTQUFTLENBQUMsc0JBQXNCLEVBQUUsRUFBRSxDQUFDO2lCQUN4RCxDQUFDO2dCQUNGLFdBQVcsRUFBRSxVQUFDLENBQUMsS0FBSyxDQUFDO29CQUNqQixVQUFVLEVBQUUsVUFBQyxDQUFDLFNBQVMsQ0FBQyxxQkFBcUIsRUFBRSxFQUFFLENBQUM7b0JBQ2xELFlBQVksRUFBRSxVQUFDLENBQUMsU0FBUyxDQUFDLHNCQUFzQixFQUFFLEVBQUUsQ0FBQztpQkFDeEQsQ0FBQzthQUVMLENBQUM7WUFDRixXQUFXLEVBQUUsVUFBQyxDQUFDLFNBQVMsQ0FBQyxzQkFBc0IsRUFBRSxDQUFDLFdBQUUsQ0FBQyxDQUFDLENBQUMsUUFBUSxDQUFDLENBQUMsQ0FBQyxFQUFFLDZDQUE2QztZQUNqSCxRQUFRLEVBQUUsVUFBQyxDQUFDLFdBQVcsQ0FBQztnQkFDcEIsTUFBTSxFQUFFLFVBQUMsQ0FBQyxLQUFLLENBQUM7b0JBQ1osVUFBVSxFQUFFLFVBQUMsQ0FBQyxTQUFTLENBQUMscUJBQXFCLEVBQUUsRUFBRSxDQUFDO29CQUNsRCxhQUFhLEVBQUUsVUFBQyxDQUFDLGlCQUFpQixDQUFDLGVBQWUsRUFBRSxDQUFDLFdBQUUsQ0FBQyxDQUFDLENBQUMsTUFBTSxDQUFDLEVBQUUsV0FBRSxDQUFDLENBQUMsQ0FBQyxRQUFRLENBQUMsRUFBRSxXQUFFLENBQUMsQ0FBQyxFQUFFLENBQUMsQ0FBQztpQkFDOUYsQ0FBQztnQkFDRixhQUFhLEVBQUUsVUFBQyxDQUFDLEtBQUssQ0FBQztvQkFDbkIsVUFBVSxFQUFFLFVBQUMsQ0FBQyxTQUFTLENBQUMscUJBQXFCLEVBQUUsRUFBRSxDQUFDO29CQUNsRCxhQUFhLEVBQUUsVUFBQyxDQUFDLGlCQUFpQixDQUFDLGVBQWUsRUFBRSxDQUFDLFdBQUUsQ0FBQyxDQUFDLENBQUMsYUFBYSxDQUFDLENBQUMsQ0FBQztvQkFDMUUsUUFBUSxFQUFFLFVBQUMsQ0FBQyxTQUFTLENBQUMsZ0JBQWdCLENBQUM7aUJBQzFDLENBQUM7Z0JBQ0YsZ0JBQWdCLEVBQUUsVUFBQyxDQUFDLEtBQUssQ0FBQztvQkFDdEIsVUFBVSxFQUFFLFVBQUMsQ0FBQyxTQUFTLENBQUMscUJBQXFCLEVBQUUsRUFBRSxDQUFDO29CQUNsRCxnQkFBZ0IsRUFBRSxVQUFDLENBQUMsaUJBQWlCLENBQUMsZUFBZSxFQUFFLENBQUMsV0FBRSxDQUFDLENBQUMsQ0FBQyxVQUFVLENBQUMsQ0FBQyxDQUFDO29CQUMxRSxRQUFRLEVBQUUsVUFBQyxDQUFDLFNBQVMsQ0FBQyxnQkFBZ0IsQ0FBQztpQkFDMUMsQ0FBQzthQUNMLENBQUM7U0FDTCxDQUFDO1FBQ0YsTUFBTSxFQUFFLFVBQUMsQ0FBQyxTQUFTLENBQUMsMEJBQTBCLENBQUM7UUFDL0MsZ0JBQWdCLEVBQUUsVUFBQyxDQUFDLGlCQUFpQixDQUFDLFdBQVcsRUFBRSxFQUFFLENBQUM7S0FDekQsQ0FBQyxDQUFDO0lBRUgsMEJBQTBCLEVBQUUsSUFBQSxhQUFJLEVBQUMsVUFBQyxDQUFDLFdBQVcsQ0FBQztRQUMzQyxXQUFXLEVBQUUsVUFBQyxDQUFDLFNBQVMsQ0FBQyxzQkFBc0IsRUFBRSxDQUFDLFdBQUUsQ0FBQyxDQUFDLENBQUMsUUFBUSxDQUFDLENBQUMsQ0FBQyxFQUFFLDZDQUE2QztRQUNqSCxRQUFRLEVBQUUsVUFBQyxDQUFDLFdBQVcsQ0FBQztZQUNwQixhQUFhLEVBQUUsVUFBQyxDQUFDLEtBQUssQ0FBQztnQkFDbkIsVUFBVSxFQUFFLFVBQUMsQ0FBQyxTQUFTLENBQUMscUJBQXFCLEVBQUUsRUFBRSxDQUFDO2dCQUNsRCxhQUFhLEVBQUUsVUFBQyxDQUFDLGlCQUFpQixDQUFDLGVBQWUsRUFBRSxDQUFDLFdBQUUsQ0FBQyxDQUFDLENBQUMsYUFBYSxDQUFDLENBQUMsQ0FBQztnQkFDMUUsUUFBUSxFQUFFLFVBQUMsQ0FBQyxTQUFTLENBQUMsZ0JBQWdCLENBQUM7YUFDMUMsQ0FBQztZQUNGLGdCQUFnQixFQUFFLFVBQUMsQ0FBQyxLQUFLLENBQUM7Z0JBQ3RCLFVBQVUsRUFBRSxVQUFDLENBQUMsU0FBUyxDQUFDLHFCQUFxQixFQUFFLEVBQUUsQ0FBQztnQkFDbEQsZ0JBQWdCLEVBQUUsVUFBQyxDQUFDLGlCQUFpQixDQUFDLGVBQWUsRUFBRSxDQUFDLFdBQUUsQ0FBQyxDQUFDLENBQUMsVUFBVSxDQUFDLENBQUMsQ0FBQztnQkFDMUUsUUFBUSxFQUFFLFVBQUMsQ0FBQyxTQUFTLENBQUMsZ0JBQWdCLENBQUM7YUFDMUMsQ0FBQztTQUNMLENBQUM7S0FDTCxDQUFDLENBQUM7Q0FFTixDQUNKLENBQUEifQ==
400
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiJC50eXBlcy5hc3RuLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vLi4vc3JjL3RlbXAvdGVtcG9yYXJ5X3NjaGVtYXMvcGFyZXRvL3NjaGVtYXMvc2NoZW1hLyQudHlwZXMuYXN0bi50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiOzs7QUFFQSw2REFXeUM7QUFHNUIsUUFBQSxDQUFDLEdBQWlDLElBQUEsY0FBSyxFQUNoRDtJQUNJLFdBQVcsRUFBRSxJQUFBLGFBQUksRUFBQyxVQUFDLENBQUMsS0FBSyxDQUFDO1FBQ3RCLE1BQU0sRUFBRSxJQUFBLGFBQUksRUFBQyxVQUFDLENBQUMsV0FBVyxDQUFDO1lBQ3ZCLFlBQVksRUFBRSxJQUFBLGVBQU0sRUFBQyxVQUFDLENBQUMsT0FBTyxFQUFFLENBQUM7WUFDakMsYUFBYSxFQUFFLElBQUEsZUFBTSxFQUFDLFVBQUMsQ0FBQyxPQUFPLEVBQUUsQ0FBQztTQUNyQyxDQUFDLENBQUM7S0FDTixDQUFDLENBQUM7SUFFSCxhQUFhLEVBQUUsSUFBQSxhQUFJLEVBQUMsVUFBQyxDQUFDLEtBQUssQ0FBQztRQUN4Qjs7OztXQUlHO1FBQ0gsV0FBVyxFQUFFLElBQUEsYUFBSSxFQUFDLFVBQUMsQ0FBQyxXQUFXLENBQUM7WUFDNUI7O2VBRUc7WUFDSCxlQUFlLEVBQUUsSUFBQSxlQUFNLEVBQUMsVUFBQyxDQUFDLEtBQUssQ0FBQztnQkFDNUI7O21CQUVHO2dCQUNILG9CQUFvQixFQUFFLElBQUEsYUFBSSxFQUFDLFVBQUMsQ0FBQyxZQUFZLENBQUMsVUFBQyxDQUFDLE9BQU8sRUFBRSxDQUFDLENBQUM7YUFDMUQsQ0FBQyxDQUFDO1lBQ0g7O2VBRUc7WUFDSCxPQUFPLEVBQUUsSUFBQSxlQUFNLEVBQUMsVUFBQyxDQUFDLEtBQUssQ0FBQztnQkFDcEI7Ozs7O21CQUtHO2dCQUNILDBCQUEwQixFQUFFLElBQUEsYUFBSSxFQUFDLFVBQUMsQ0FBQyxRQUFRLENBQUMsVUFBQyxDQUFD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