rsmp 0.43.2 → 0.45.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (177) hide show
  1. checksums.yaml +4 -4
  2. data/Gemfile.lock +11 -11
  3. data/README.md +19 -3
  4. data/Rakefile +2 -2
  5. data/config/supervisor.yaml +2 -1
  6. data/config/tlc.yaml +2 -2
  7. data/lib/rsmp/cli.rb +29 -5
  8. data/lib/rsmp/component/component.rb +0 -4
  9. data/lib/rsmp/component/component_base.rb +15 -2
  10. data/lib/rsmp/component/component_proxy.rb +1 -1
  11. data/lib/rsmp/component/components.rb +22 -1
  12. data/lib/rsmp/convert/export/json_schema/outputs.rb +1 -0
  13. data/lib/rsmp/convert/export/json_schema/values.rb +6 -4
  14. data/lib/rsmp/convert/export/json_schema.rb +7 -3
  15. data/lib/rsmp/helpers/deep_merge.rb +2 -2
  16. data/lib/rsmp/message.rb +32 -0
  17. data/lib/rsmp/node/site/site.rb +34 -10
  18. data/lib/rsmp/node/supervisor/modules/configuration.rb +32 -5
  19. data/lib/rsmp/node/supervisor/modules/connection.rb +0 -2
  20. data/lib/rsmp/node/supervisor/supervisor.rb +0 -7
  21. data/lib/rsmp/options/options.rb +55 -6
  22. data/lib/rsmp/options/schemas/site.json +6 -3
  23. data/lib/rsmp/options/schemas/supervisor.json +5 -2
  24. data/lib/rsmp/options/schemas/supervisor_site.json +5 -2
  25. data/lib/rsmp/options/site_options.rb +3 -2
  26. data/lib/rsmp/options/supervisor_options.rb +3 -1
  27. data/lib/rsmp/proxy/modules/acknowledgements.rb +2 -0
  28. data/lib/rsmp/proxy/modules/receive.rb +5 -2
  29. data/lib/rsmp/proxy/modules/state.rb +1 -0
  30. data/lib/rsmp/proxy/modules/versions.rb +90 -15
  31. data/lib/rsmp/proxy/proxy.rb +52 -3
  32. data/lib/rsmp/proxy/site/modules/status.rb +5 -3
  33. data/lib/rsmp/proxy/site/site_proxy.rb +68 -35
  34. data/lib/rsmp/proxy/site/sxl_selection.rb +54 -0
  35. data/lib/rsmp/proxy/supervisor/supervisor_proxy.rb +54 -18
  36. data/lib/rsmp/schema/message_resolution.rb +104 -0
  37. data/lib/rsmp/schema.rb +104 -22
  38. data/lib/rsmp/schema_error.rb +7 -1
  39. data/lib/rsmp/sxl/interface.rb +48 -0
  40. data/lib/rsmp/sxl/registry.rb +55 -0
  41. data/lib/rsmp/sxl/site_interface.rb +10 -0
  42. data/lib/rsmp/sxl/supervisor_interface.rb +21 -0
  43. data/lib/rsmp/tlc/detector_logic.rb +2 -2
  44. data/lib/rsmp/tlc/signal_group.rb +2 -2
  45. data/lib/rsmp/tlc/site_interface.rb +10 -0
  46. data/lib/rsmp/tlc/{traffic_controller_proxy.rb → supervisor_interface.rb} +19 -34
  47. data/lib/rsmp/tlc/traffic_controller.rb +10 -2
  48. data/lib/rsmp/tlc/traffic_controller_site.rb +4 -2
  49. data/lib/rsmp/tlc.rb +10 -0
  50. data/lib/rsmp/version.rb +1 -1
  51. data/lib/rsmp.rb +8 -1
  52. data/rsmp.gemspec +5 -5
  53. data/schemas/core/3.3.0/aggregated_status.json +25 -0
  54. data/schemas/core/3.3.0/aggregated_status_request.json +9 -0
  55. data/schemas/core/3.3.0/alarm.json +71 -0
  56. data/schemas/core/3.3.0/alarm_acknowledge.json +11 -0
  57. data/schemas/core/3.3.0/alarm_issue.json +44 -0
  58. data/schemas/core/3.3.0/alarm_request.json +3 -0
  59. data/schemas/core/3.3.0/alarm_suspend_resume.json +3 -0
  60. data/schemas/core/3.3.0/alarm_suspended_resumed.json +44 -0
  61. data/schemas/core/3.3.0/command_request.json +24 -0
  62. data/schemas/core/3.3.0/command_response.json +35 -0
  63. data/schemas/core/3.3.0/component_list.json +24 -0
  64. data/schemas/core/3.3.0/core.json +40 -0
  65. data/schemas/core/3.3.0/definitions.json +133 -0
  66. data/schemas/core/3.3.0/message_ack.json +11 -0
  67. data/schemas/core/3.3.0/message_not_ack.json +15 -0
  68. data/schemas/core/3.3.0/rsmp.json +142 -0
  69. data/schemas/core/3.3.0/status.json +21 -0
  70. data/schemas/core/3.3.0/status_request.json +5 -0
  71. data/schemas/core/3.3.0/status_response.json +41 -0
  72. data/schemas/core/3.3.0/status_subscribe.json +31 -0
  73. data/schemas/core/3.3.0/status_unsubscribe.json +5 -0
  74. data/schemas/core/3.3.0/status_update.json +41 -0
  75. data/schemas/core/3.3.0/version.json +144 -0
  76. data/schemas/core/3.3.0/watchdog.json +9 -0
  77. data/schemas/tlc/1.3.0/alarms/A0001.json +4 -0
  78. data/schemas/tlc/1.3.0/alarms/A0002.json +4 -0
  79. data/schemas/tlc/1.3.0/alarms/A0003.json +4 -0
  80. data/schemas/tlc/1.3.0/alarms/A0004.json +4 -0
  81. data/schemas/tlc/1.3.0/alarms/A0005.json +4 -0
  82. data/schemas/tlc/1.3.0/alarms/A0006.json +4 -0
  83. data/schemas/tlc/1.3.0/alarms/A0007.json +34 -0
  84. data/schemas/tlc/1.3.0/alarms/A0008.json +30 -0
  85. data/schemas/tlc/1.3.0/alarms/A0009.json +4 -0
  86. data/schemas/tlc/1.3.0/alarms/A0010.json +4 -0
  87. data/schemas/tlc/1.3.0/alarms/A0101.json +4 -0
  88. data/schemas/tlc/1.3.0/alarms/A0201.json +35 -0
  89. data/schemas/tlc/1.3.0/alarms/A0202.json +35 -0
  90. data/schemas/tlc/1.3.0/alarms/A0301.json +92 -0
  91. data/schemas/tlc/1.3.0/alarms/A0302.json +115 -0
  92. data/schemas/tlc/1.3.0/alarms/A0303.json +92 -0
  93. data/schemas/tlc/1.3.0/alarms/A0304.json +115 -0
  94. data/schemas/tlc/1.3.0/alarms/alarms.json +287 -0
  95. data/schemas/tlc/1.3.0/commands/M0001.json +92 -0
  96. data/schemas/tlc/1.3.0/commands/M0002.json +69 -0
  97. data/schemas/tlc/1.3.0/commands/M0003.json +69 -0
  98. data/schemas/tlc/1.3.0/commands/M0004.json +51 -0
  99. data/schemas/tlc/1.3.0/commands/M0005.json +69 -0
  100. data/schemas/tlc/1.3.0/commands/M0006.json +69 -0
  101. data/schemas/tlc/1.3.0/commands/M0007.json +51 -0
  102. data/schemas/tlc/1.3.0/commands/M0008.json +87 -0
  103. data/schemas/tlc/1.3.0/commands/M0010.json +51 -0
  104. data/schemas/tlc/1.3.0/commands/M0011.json +51 -0
  105. data/schemas/tlc/1.3.0/commands/M0012.json +51 -0
  106. data/schemas/tlc/1.3.0/commands/M0013.json +51 -0
  107. data/schemas/tlc/1.3.0/commands/M0014.json +69 -0
  108. data/schemas/tlc/1.3.0/commands/M0015.json +69 -0
  109. data/schemas/tlc/1.3.0/commands/M0016.json +51 -0
  110. data/schemas/tlc/1.3.0/commands/M0017.json +51 -0
  111. data/schemas/tlc/1.3.0/commands/M0018.json +69 -0
  112. data/schemas/tlc/1.3.0/commands/M0019.json +87 -0
  113. data/schemas/tlc/1.3.0/commands/M0020.json +87 -0
  114. data/schemas/tlc/1.3.0/commands/M0021.json +51 -0
  115. data/schemas/tlc/1.3.0/commands/M0022.json +249 -0
  116. data/schemas/tlc/1.3.0/commands/M0023.json +51 -0
  117. data/schemas/tlc/1.3.0/commands/M0024.json +33 -0
  118. data/schemas/tlc/1.3.0/commands/M0103.json +72 -0
  119. data/schemas/tlc/1.3.0/commands/M0104.json +141 -0
  120. data/schemas/tlc/1.3.0/commands/command_requests.json +8 -0
  121. data/schemas/tlc/1.3.0/commands/command_responses.json +8 -0
  122. data/schemas/tlc/1.3.0/commands/commands.json +415 -0
  123. data/schemas/tlc/1.3.0/defs/definitions.json +72 -0
  124. data/schemas/tlc/1.3.0/defs/guards.json +24 -0
  125. data/schemas/tlc/1.3.0/rsmp.json +74 -0
  126. data/schemas/tlc/1.3.0/statuses/S0001.json +109 -0
  127. data/schemas/tlc/1.3.0/statuses/S0002.json +36 -0
  128. data/schemas/tlc/1.3.0/statuses/S0003.json +36 -0
  129. data/schemas/tlc/1.3.0/statuses/S0004.json +36 -0
  130. data/schemas/tlc/1.3.0/statuses/S0005.json +72 -0
  131. data/schemas/tlc/1.3.0/statuses/S0006.json +54 -0
  132. data/schemas/tlc/1.3.0/statuses/S0007.json +73 -0
  133. data/schemas/tlc/1.3.0/statuses/S0008.json +73 -0
  134. data/schemas/tlc/1.3.0/statuses/S0009.json +73 -0
  135. data/schemas/tlc/1.3.0/statuses/S0010.json +73 -0
  136. data/schemas/tlc/1.3.0/statuses/S0011.json +73 -0
  137. data/schemas/tlc/1.3.0/statuses/S0012.json +73 -0
  138. data/schemas/tlc/1.3.0/statuses/S0013.json +54 -0
  139. data/schemas/tlc/1.3.0/statuses/S0014.json +55 -0
  140. data/schemas/tlc/1.3.0/statuses/S0015.json +55 -0
  141. data/schemas/tlc/1.3.0/statuses/S0016.json +36 -0
  142. data/schemas/tlc/1.3.0/statuses/S0017.json +36 -0
  143. data/schemas/tlc/1.3.0/statuses/S0018.json +61 -0
  144. data/schemas/tlc/1.3.0/statuses/S0019.json +36 -0
  145. data/schemas/tlc/1.3.0/statuses/S0020.json +54 -0
  146. data/schemas/tlc/1.3.0/statuses/S0021.json +37 -0
  147. data/schemas/tlc/1.3.0/statuses/S0022.json +36 -0
  148. data/schemas/tlc/1.3.0/statuses/S0023.json +37 -0
  149. data/schemas/tlc/1.3.0/statuses/S0024.json +36 -0
  150. data/schemas/tlc/1.3.0/statuses/S0025.json +162 -0
  151. data/schemas/tlc/1.3.0/statuses/S0026.json +36 -0
  152. data/schemas/tlc/1.3.0/statuses/S0027.json +36 -0
  153. data/schemas/tlc/1.3.0/statuses/S0028.json +36 -0
  154. data/schemas/tlc/1.3.0/statuses/S0029.json +36 -0
  155. data/schemas/tlc/1.3.0/statuses/S0030.json +36 -0
  156. data/schemas/tlc/1.3.0/statuses/S0031.json +36 -0
  157. data/schemas/tlc/1.3.0/statuses/S0032.json +73 -0
  158. data/schemas/tlc/1.3.0/statuses/S0033.json +77 -0
  159. data/schemas/tlc/1.3.0/statuses/S0034.json +36 -0
  160. data/schemas/tlc/1.3.0/statuses/S0035.json +49 -0
  161. data/schemas/tlc/1.3.0/statuses/S0091.json +40 -0
  162. data/schemas/tlc/1.3.0/statuses/S0092.json +40 -0
  163. data/schemas/tlc/1.3.0/statuses/S0095.json +36 -0
  164. data/schemas/tlc/1.3.0/statuses/S0096.json +126 -0
  165. data/schemas/tlc/1.3.0/statuses/S0097.json +54 -0
  166. data/schemas/tlc/1.3.0/statuses/S0098.json +72 -0
  167. data/schemas/tlc/1.3.0/statuses/S0201.json +54 -0
  168. data/schemas/tlc/1.3.0/statuses/S0202.json +54 -0
  169. data/schemas/tlc/1.3.0/statuses/S0203.json +54 -0
  170. data/schemas/tlc/1.3.0/statuses/S0204.json +198 -0
  171. data/schemas/tlc/1.3.0/statuses/S0205.json +54 -0
  172. data/schemas/tlc/1.3.0/statuses/S0206.json +54 -0
  173. data/schemas/tlc/1.3.0/statuses/S0207.json +54 -0
  174. data/schemas/tlc/1.3.0/statuses/S0208.json +198 -0
  175. data/schemas/tlc/1.3.0/statuses/statuses.json +787 -0
  176. data/schemas/tlc/1.3.0/sxl.yaml +2296 -0
  177. metadata +144 -12
@@ -0,0 +1,787 @@
1
+ {
2
+ "$schema" : "https://json-schema.org/draft/2020-12/schema",
3
+ "properties" : {
4
+ "sS" : {
5
+ "items" : {
6
+ "allOf" : [
7
+ {
8
+ "properties" : {
9
+ "sCI" : {
10
+ "enum" : [
11
+ "S0001",
12
+ "S0002",
13
+ "S0003",
14
+ "S0004",
15
+ "S0005",
16
+ "S0006",
17
+ "S0007",
18
+ "S0008",
19
+ "S0009",
20
+ "S0010",
21
+ "S0011",
22
+ "S0012",
23
+ "S0013",
24
+ "S0014",
25
+ "S0015",
26
+ "S0016",
27
+ "S0017",
28
+ "S0019",
29
+ "S0020",
30
+ "S0021",
31
+ "S0022",
32
+ "S0023",
33
+ "S0024",
34
+ "S0025",
35
+ "S0026",
36
+ "S0027",
37
+ "S0028",
38
+ "S0029",
39
+ "S0030",
40
+ "S0031",
41
+ "S0032",
42
+ "S0033",
43
+ "S0034",
44
+ "S0035",
45
+ "S0091",
46
+ "S0092",
47
+ "S0095",
48
+ "S0096",
49
+ "S0097",
50
+ "S0098",
51
+ "S0201",
52
+ "S0202",
53
+ "S0203",
54
+ "S0204",
55
+ "S0205",
56
+ "S0206",
57
+ "S0207",
58
+ "S0208"
59
+ ]
60
+ }
61
+ }
62
+ },
63
+ {
64
+ "if" : {
65
+ "required" : [
66
+ "sCI"
67
+ ],
68
+ "properties" : {
69
+ "sCI" : {
70
+ "const" : "S0001"
71
+ }
72
+ }
73
+ },
74
+ "then" : {
75
+ "$ref" : "S0001.json"
76
+ }
77
+ },
78
+ {
79
+ "if" : {
80
+ "required" : [
81
+ "sCI"
82
+ ],
83
+ "properties" : {
84
+ "sCI" : {
85
+ "const" : "S0002"
86
+ }
87
+ }
88
+ },
89
+ "then" : {
90
+ "$ref" : "S0002.json"
91
+ }
92
+ },
93
+ {
94
+ "if" : {
95
+ "required" : [
96
+ "sCI"
97
+ ],
98
+ "properties" : {
99
+ "sCI" : {
100
+ "const" : "S0003"
101
+ }
102
+ }
103
+ },
104
+ "then" : {
105
+ "$ref" : "S0003.json"
106
+ }
107
+ },
108
+ {
109
+ "if" : {
110
+ "required" : [
111
+ "sCI"
112
+ ],
113
+ "properties" : {
114
+ "sCI" : {
115
+ "const" : "S0004"
116
+ }
117
+ }
118
+ },
119
+ "then" : {
120
+ "$ref" : "S0004.json"
121
+ }
122
+ },
123
+ {
124
+ "if" : {
125
+ "required" : [
126
+ "sCI"
127
+ ],
128
+ "properties" : {
129
+ "sCI" : {
130
+ "const" : "S0005"
131
+ }
132
+ }
133
+ },
134
+ "then" : {
135
+ "$ref" : "S0005.json"
136
+ }
137
+ },
138
+ {
139
+ "if" : {
140
+ "required" : [
141
+ "sCI"
142
+ ],
143
+ "properties" : {
144
+ "sCI" : {
145
+ "const" : "S0006"
146
+ }
147
+ }
148
+ },
149
+ "then" : {
150
+ "$ref" : "S0006.json"
151
+ }
152
+ },
153
+ {
154
+ "if" : {
155
+ "required" : [
156
+ "sCI"
157
+ ],
158
+ "properties" : {
159
+ "sCI" : {
160
+ "const" : "S0007"
161
+ }
162
+ }
163
+ },
164
+ "then" : {
165
+ "$ref" : "S0007.json"
166
+ }
167
+ },
168
+ {
169
+ "if" : {
170
+ "required" : [
171
+ "sCI"
172
+ ],
173
+ "properties" : {
174
+ "sCI" : {
175
+ "const" : "S0008"
176
+ }
177
+ }
178
+ },
179
+ "then" : {
180
+ "$ref" : "S0008.json"
181
+ }
182
+ },
183
+ {
184
+ "if" : {
185
+ "required" : [
186
+ "sCI"
187
+ ],
188
+ "properties" : {
189
+ "sCI" : {
190
+ "const" : "S0009"
191
+ }
192
+ }
193
+ },
194
+ "then" : {
195
+ "$ref" : "S0009.json"
196
+ }
197
+ },
198
+ {
199
+ "if" : {
200
+ "required" : [
201
+ "sCI"
202
+ ],
203
+ "properties" : {
204
+ "sCI" : {
205
+ "const" : "S0010"
206
+ }
207
+ }
208
+ },
209
+ "then" : {
210
+ "$ref" : "S0010.json"
211
+ }
212
+ },
213
+ {
214
+ "if" : {
215
+ "required" : [
216
+ "sCI"
217
+ ],
218
+ "properties" : {
219
+ "sCI" : {
220
+ "const" : "S0011"
221
+ }
222
+ }
223
+ },
224
+ "then" : {
225
+ "$ref" : "S0011.json"
226
+ }
227
+ },
228
+ {
229
+ "if" : {
230
+ "required" : [
231
+ "sCI"
232
+ ],
233
+ "properties" : {
234
+ "sCI" : {
235
+ "const" : "S0012"
236
+ }
237
+ }
238
+ },
239
+ "then" : {
240
+ "$ref" : "S0012.json"
241
+ }
242
+ },
243
+ {
244
+ "if" : {
245
+ "required" : [
246
+ "sCI"
247
+ ],
248
+ "properties" : {
249
+ "sCI" : {
250
+ "const" : "S0013"
251
+ }
252
+ }
253
+ },
254
+ "then" : {
255
+ "$ref" : "S0013.json"
256
+ }
257
+ },
258
+ {
259
+ "if" : {
260
+ "required" : [
261
+ "sCI"
262
+ ],
263
+ "properties" : {
264
+ "sCI" : {
265
+ "const" : "S0014"
266
+ }
267
+ }
268
+ },
269
+ "then" : {
270
+ "$ref" : "S0014.json"
271
+ }
272
+ },
273
+ {
274
+ "if" : {
275
+ "required" : [
276
+ "sCI"
277
+ ],
278
+ "properties" : {
279
+ "sCI" : {
280
+ "const" : "S0015"
281
+ }
282
+ }
283
+ },
284
+ "then" : {
285
+ "$ref" : "S0015.json"
286
+ }
287
+ },
288
+ {
289
+ "if" : {
290
+ "required" : [
291
+ "sCI"
292
+ ],
293
+ "properties" : {
294
+ "sCI" : {
295
+ "const" : "S0016"
296
+ }
297
+ }
298
+ },
299
+ "then" : {
300
+ "$ref" : "S0016.json"
301
+ }
302
+ },
303
+ {
304
+ "if" : {
305
+ "required" : [
306
+ "sCI"
307
+ ],
308
+ "properties" : {
309
+ "sCI" : {
310
+ "const" : "S0017"
311
+ }
312
+ }
313
+ },
314
+ "then" : {
315
+ "$ref" : "S0017.json"
316
+ }
317
+ },
318
+ {
319
+ "if" : {
320
+ "required" : [
321
+ "sCI"
322
+ ],
323
+ "properties" : {
324
+ "sCI" : {
325
+ "const" : "S0019"
326
+ }
327
+ }
328
+ },
329
+ "then" : {
330
+ "$ref" : "S0019.json"
331
+ }
332
+ },
333
+ {
334
+ "if" : {
335
+ "required" : [
336
+ "sCI"
337
+ ],
338
+ "properties" : {
339
+ "sCI" : {
340
+ "const" : "S0020"
341
+ }
342
+ }
343
+ },
344
+ "then" : {
345
+ "$ref" : "S0020.json"
346
+ }
347
+ },
348
+ {
349
+ "if" : {
350
+ "required" : [
351
+ "sCI"
352
+ ],
353
+ "properties" : {
354
+ "sCI" : {
355
+ "const" : "S0021"
356
+ }
357
+ }
358
+ },
359
+ "then" : {
360
+ "$ref" : "S0021.json"
361
+ }
362
+ },
363
+ {
364
+ "if" : {
365
+ "required" : [
366
+ "sCI"
367
+ ],
368
+ "properties" : {
369
+ "sCI" : {
370
+ "const" : "S0022"
371
+ }
372
+ }
373
+ },
374
+ "then" : {
375
+ "$ref" : "S0022.json"
376
+ }
377
+ },
378
+ {
379
+ "if" : {
380
+ "required" : [
381
+ "sCI"
382
+ ],
383
+ "properties" : {
384
+ "sCI" : {
385
+ "const" : "S0023"
386
+ }
387
+ }
388
+ },
389
+ "then" : {
390
+ "$ref" : "S0023.json"
391
+ }
392
+ },
393
+ {
394
+ "if" : {
395
+ "required" : [
396
+ "sCI"
397
+ ],
398
+ "properties" : {
399
+ "sCI" : {
400
+ "const" : "S0024"
401
+ }
402
+ }
403
+ },
404
+ "then" : {
405
+ "$ref" : "S0024.json"
406
+ }
407
+ },
408
+ {
409
+ "if" : {
410
+ "required" : [
411
+ "sCI"
412
+ ],
413
+ "properties" : {
414
+ "sCI" : {
415
+ "const" : "S0025"
416
+ }
417
+ }
418
+ },
419
+ "then" : {
420
+ "$ref" : "S0025.json"
421
+ }
422
+ },
423
+ {
424
+ "if" : {
425
+ "required" : [
426
+ "sCI"
427
+ ],
428
+ "properties" : {
429
+ "sCI" : {
430
+ "const" : "S0026"
431
+ }
432
+ }
433
+ },
434
+ "then" : {
435
+ "$ref" : "S0026.json"
436
+ }
437
+ },
438
+ {
439
+ "if" : {
440
+ "required" : [
441
+ "sCI"
442
+ ],
443
+ "properties" : {
444
+ "sCI" : {
445
+ "const" : "S0027"
446
+ }
447
+ }
448
+ },
449
+ "then" : {
450
+ "$ref" : "S0027.json"
451
+ }
452
+ },
453
+ {
454
+ "if" : {
455
+ "required" : [
456
+ "sCI"
457
+ ],
458
+ "properties" : {
459
+ "sCI" : {
460
+ "const" : "S0028"
461
+ }
462
+ }
463
+ },
464
+ "then" : {
465
+ "$ref" : "S0028.json"
466
+ }
467
+ },
468
+ {
469
+ "if" : {
470
+ "required" : [
471
+ "sCI"
472
+ ],
473
+ "properties" : {
474
+ "sCI" : {
475
+ "const" : "S0029"
476
+ }
477
+ }
478
+ },
479
+ "then" : {
480
+ "$ref" : "S0029.json"
481
+ }
482
+ },
483
+ {
484
+ "if" : {
485
+ "required" : [
486
+ "sCI"
487
+ ],
488
+ "properties" : {
489
+ "sCI" : {
490
+ "const" : "S0030"
491
+ }
492
+ }
493
+ },
494
+ "then" : {
495
+ "$ref" : "S0030.json"
496
+ }
497
+ },
498
+ {
499
+ "if" : {
500
+ "required" : [
501
+ "sCI"
502
+ ],
503
+ "properties" : {
504
+ "sCI" : {
505
+ "const" : "S0031"
506
+ }
507
+ }
508
+ },
509
+ "then" : {
510
+ "$ref" : "S0031.json"
511
+ }
512
+ },
513
+ {
514
+ "if" : {
515
+ "required" : [
516
+ "sCI"
517
+ ],
518
+ "properties" : {
519
+ "sCI" : {
520
+ "const" : "S0032"
521
+ }
522
+ }
523
+ },
524
+ "then" : {
525
+ "$ref" : "S0032.json"
526
+ }
527
+ },
528
+ {
529
+ "if" : {
530
+ "required" : [
531
+ "sCI"
532
+ ],
533
+ "properties" : {
534
+ "sCI" : {
535
+ "const" : "S0033"
536
+ }
537
+ }
538
+ },
539
+ "then" : {
540
+ "$ref" : "S0033.json"
541
+ }
542
+ },
543
+ {
544
+ "if" : {
545
+ "required" : [
546
+ "sCI"
547
+ ],
548
+ "properties" : {
549
+ "sCI" : {
550
+ "const" : "S0034"
551
+ }
552
+ }
553
+ },
554
+ "then" : {
555
+ "$ref" : "S0034.json"
556
+ }
557
+ },
558
+ {
559
+ "if" : {
560
+ "required" : [
561
+ "sCI"
562
+ ],
563
+ "properties" : {
564
+ "sCI" : {
565
+ "const" : "S0035"
566
+ }
567
+ }
568
+ },
569
+ "then" : {
570
+ "$ref" : "S0035.json"
571
+ }
572
+ },
573
+ {
574
+ "if" : {
575
+ "required" : [
576
+ "sCI"
577
+ ],
578
+ "properties" : {
579
+ "sCI" : {
580
+ "const" : "S0091"
581
+ }
582
+ }
583
+ },
584
+ "then" : {
585
+ "$ref" : "S0091.json"
586
+ }
587
+ },
588
+ {
589
+ "if" : {
590
+ "required" : [
591
+ "sCI"
592
+ ],
593
+ "properties" : {
594
+ "sCI" : {
595
+ "const" : "S0092"
596
+ }
597
+ }
598
+ },
599
+ "then" : {
600
+ "$ref" : "S0092.json"
601
+ }
602
+ },
603
+ {
604
+ "if" : {
605
+ "required" : [
606
+ "sCI"
607
+ ],
608
+ "properties" : {
609
+ "sCI" : {
610
+ "const" : "S0095"
611
+ }
612
+ }
613
+ },
614
+ "then" : {
615
+ "$ref" : "S0095.json"
616
+ }
617
+ },
618
+ {
619
+ "if" : {
620
+ "required" : [
621
+ "sCI"
622
+ ],
623
+ "properties" : {
624
+ "sCI" : {
625
+ "const" : "S0096"
626
+ }
627
+ }
628
+ },
629
+ "then" : {
630
+ "$ref" : "S0096.json"
631
+ }
632
+ },
633
+ {
634
+ "if" : {
635
+ "required" : [
636
+ "sCI"
637
+ ],
638
+ "properties" : {
639
+ "sCI" : {
640
+ "const" : "S0097"
641
+ }
642
+ }
643
+ },
644
+ "then" : {
645
+ "$ref" : "S0097.json"
646
+ }
647
+ },
648
+ {
649
+ "if" : {
650
+ "required" : [
651
+ "sCI"
652
+ ],
653
+ "properties" : {
654
+ "sCI" : {
655
+ "const" : "S0098"
656
+ }
657
+ }
658
+ },
659
+ "then" : {
660
+ "$ref" : "S0098.json"
661
+ }
662
+ },
663
+ {
664
+ "if" : {
665
+ "required" : [
666
+ "sCI"
667
+ ],
668
+ "properties" : {
669
+ "sCI" : {
670
+ "const" : "S0201"
671
+ }
672
+ }
673
+ },
674
+ "then" : {
675
+ "$ref" : "S0201.json"
676
+ }
677
+ },
678
+ {
679
+ "if" : {
680
+ "required" : [
681
+ "sCI"
682
+ ],
683
+ "properties" : {
684
+ "sCI" : {
685
+ "const" : "S0202"
686
+ }
687
+ }
688
+ },
689
+ "then" : {
690
+ "$ref" : "S0202.json"
691
+ }
692
+ },
693
+ {
694
+ "if" : {
695
+ "required" : [
696
+ "sCI"
697
+ ],
698
+ "properties" : {
699
+ "sCI" : {
700
+ "const" : "S0203"
701
+ }
702
+ }
703
+ },
704
+ "then" : {
705
+ "$ref" : "S0203.json"
706
+ }
707
+ },
708
+ {
709
+ "if" : {
710
+ "required" : [
711
+ "sCI"
712
+ ],
713
+ "properties" : {
714
+ "sCI" : {
715
+ "const" : "S0204"
716
+ }
717
+ }
718
+ },
719
+ "then" : {
720
+ "$ref" : "S0204.json"
721
+ }
722
+ },
723
+ {
724
+ "if" : {
725
+ "required" : [
726
+ "sCI"
727
+ ],
728
+ "properties" : {
729
+ "sCI" : {
730
+ "const" : "S0205"
731
+ }
732
+ }
733
+ },
734
+ "then" : {
735
+ "$ref" : "S0205.json"
736
+ }
737
+ },
738
+ {
739
+ "if" : {
740
+ "required" : [
741
+ "sCI"
742
+ ],
743
+ "properties" : {
744
+ "sCI" : {
745
+ "const" : "S0206"
746
+ }
747
+ }
748
+ },
749
+ "then" : {
750
+ "$ref" : "S0206.json"
751
+ }
752
+ },
753
+ {
754
+ "if" : {
755
+ "required" : [
756
+ "sCI"
757
+ ],
758
+ "properties" : {
759
+ "sCI" : {
760
+ "const" : "S0207"
761
+ }
762
+ }
763
+ },
764
+ "then" : {
765
+ "$ref" : "S0207.json"
766
+ }
767
+ },
768
+ {
769
+ "if" : {
770
+ "required" : [
771
+ "sCI"
772
+ ],
773
+ "properties" : {
774
+ "sCI" : {
775
+ "const" : "S0208"
776
+ }
777
+ }
778
+ },
779
+ "then" : {
780
+ "$ref" : "S0208.json"
781
+ }
782
+ }
783
+ ]
784
+ }
785
+ }
786
+ }
787
+ }