@cssints/apg-specs 0.0.0-stage → 0.5.1

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (260) hide show
  1. package/LICENSE +21 -0
  2. package/README.md +65 -2
  3. package/dist/apg/accordion.bridge.d.mts +35 -0
  4. package/dist/apg/accordion.bridge.mjs +326 -0
  5. package/dist/apg/accordion.model.json +8397 -0
  6. package/dist/apg/alert.bridge.d.mts +22 -0
  7. package/dist/apg/alert.bridge.mjs +86 -0
  8. package/dist/apg/alert.model.json +871 -0
  9. package/dist/apg/alertdialog.bridge.d.mts +21 -0
  10. package/dist/apg/alertdialog.bridge.mjs +221 -0
  11. package/dist/apg/alertdialog.model.json +5232 -0
  12. package/dist/apg/breadcrumb.bridge.d.mts +26 -0
  13. package/dist/apg/breadcrumb.bridge.mjs +120 -0
  14. package/dist/apg/breadcrumb.model.json +574 -0
  15. package/dist/apg/button.bridge.d.mts +35 -0
  16. package/dist/apg/button.bridge.mjs +208 -0
  17. package/dist/apg/button.model.json +5814 -0
  18. package/dist/apg/carousel.bridge.d.mts +44 -0
  19. package/dist/apg/carousel.bridge.mjs +262 -0
  20. package/dist/apg/carousel.model.json +8963 -0
  21. package/dist/apg/checkbox-group.bridge.d.mts +25 -0
  22. package/dist/apg/checkbox-group.bridge.mjs +276 -0
  23. package/dist/apg/checkbox-group.model.json +3863 -0
  24. package/dist/apg/checkbox.bridge.d.mts +34 -0
  25. package/dist/apg/checkbox.bridge.mjs +253 -0
  26. package/dist/apg/checkbox.model.json +3158 -0
  27. package/dist/apg/combobox-autocomplete.bridge.d.mts +14 -0
  28. package/dist/apg/combobox-autocomplete.bridge.mjs +326 -0
  29. package/dist/apg/combobox-autocomplete.model.json +11586 -0
  30. package/dist/apg/combobox-dialog.bridge.d.mts +17 -0
  31. package/dist/apg/combobox-dialog.bridge.mjs +250 -0
  32. package/dist/apg/combobox-dialog.model.json +8981 -0
  33. package/dist/apg/combobox-grid.bridge.d.mts +17 -0
  34. package/dist/apg/combobox-grid.bridge.mjs +227 -0
  35. package/dist/apg/combobox-grid.model.json +8554 -0
  36. package/dist/apg/combobox-select-only.bridge.d.mts +24 -0
  37. package/dist/apg/combobox-select-only.bridge.mjs +304 -0
  38. package/dist/apg/combobox-select-only.model.json +7846 -0
  39. package/dist/apg/combobox-tree.bridge.d.mts +17 -0
  40. package/dist/apg/combobox-tree.bridge.mjs +211 -0
  41. package/dist/apg/combobox-tree.model.json +9345 -0
  42. package/dist/apg/dialog-modal.bridge.d.mts +35 -0
  43. package/dist/apg/dialog-modal.bridge.mjs +186 -0
  44. package/dist/apg/dialog-modal.model.json +7580 -0
  45. package/dist/apg/disclosure.bridge.d.mts +25 -0
  46. package/dist/apg/disclosure.bridge.mjs +202 -0
  47. package/dist/apg/disclosure.model.json +4703 -0
  48. package/dist/apg/feed.bridge.d.mts +31 -0
  49. package/dist/apg/feed.bridge.mjs +246 -0
  50. package/dist/apg/feed.model.json +4523 -0
  51. package/dist/apg/grid-selection.bridge.d.mts +13 -0
  52. package/dist/apg/grid-selection.bridge.mjs +160 -0
  53. package/dist/apg/grid-selection.model.json +6974 -0
  54. package/dist/apg/grid-sort.bridge.d.mts +12 -0
  55. package/dist/apg/grid-sort.bridge.mjs +138 -0
  56. package/dist/apg/grid-sort.model.json +3799 -0
  57. package/dist/apg/grid.bridge.d.mts +54 -0
  58. package/dist/apg/grid.bridge.mjs +441 -0
  59. package/dist/apg/grid.model.json +3802 -0
  60. package/dist/apg/link.bridge.d.mts +24 -0
  61. package/dist/apg/link.bridge.mjs +126 -0
  62. package/dist/apg/link.model.json +694 -0
  63. package/dist/apg/listbox-multi.bridge.d.mts +10 -0
  64. package/dist/apg/listbox-multi.bridge.mjs +261 -0
  65. package/dist/apg/listbox-multi.model.json +10893 -0
  66. package/dist/apg/listbox-rearrangeable.bridge.d.mts +20 -0
  67. package/dist/apg/listbox-rearrangeable.bridge.mjs +237 -0
  68. package/dist/apg/listbox-rearrangeable.model.json +17592 -0
  69. package/dist/apg/listbox-shared.d.mts +58 -0
  70. package/dist/apg/listbox-shared.mjs +171 -0
  71. package/dist/apg/listbox-single.bridge.d.mts +10 -0
  72. package/dist/apg/listbox-single.bridge.mjs +196 -0
  73. package/dist/apg/listbox-single.model.json +8024 -0
  74. package/dist/apg/listbox-typeahead.bridge.d.mts +10 -0
  75. package/dist/apg/listbox-typeahead.bridge.mjs +153 -0
  76. package/dist/apg/listbox-typeahead.model.json +5615 -0
  77. package/dist/apg/menu-button.bridge.d.mts +29 -0
  78. package/dist/apg/menu-button.bridge.mjs +259 -0
  79. package/dist/apg/menu-button.model.json +5706 -0
  80. package/dist/apg/menu-checkable.bridge.d.mts +25 -0
  81. package/dist/apg/menu-checkable.bridge.mjs +226 -0
  82. package/dist/apg/menu-checkable.model.json +4277 -0
  83. package/dist/apg/menu-menubar.bridge.d.mts +27 -0
  84. package/dist/apg/menu-menubar.bridge.mjs +273 -0
  85. package/dist/apg/menu-menubar.model.json +9540 -0
  86. package/dist/apg/meter.bridge.d.mts +28 -0
  87. package/dist/apg/meter.bridge.mjs +159 -0
  88. package/dist/apg/meter.model.json +1185 -0
  89. package/dist/apg/player.bridge.d.mts +24 -0
  90. package/dist/apg/player.bridge.mjs +342 -0
  91. package/dist/apg/player.model.json +11013 -0
  92. package/dist/apg/radio.bridge.d.mts +35 -0
  93. package/dist/apg/radio.bridge.mjs +371 -0
  94. package/dist/apg/radio.model.json +5011 -0
  95. package/dist/apg/slider-multithumb.bridge.d.mts +34 -0
  96. package/dist/apg/slider-multithumb.bridge.mjs +365 -0
  97. package/dist/apg/slider-multithumb.model.json +5774 -0
  98. package/dist/apg/slider.bridge.d.mts +54 -0
  99. package/dist/apg/slider.bridge.mjs +359 -0
  100. package/dist/apg/slider.model.json +4881 -0
  101. package/dist/apg/spinbutton.bridge.d.mts +41 -0
  102. package/dist/apg/spinbutton.bridge.mjs +327 -0
  103. package/dist/apg/spinbutton.model.json +7571 -0
  104. package/dist/apg/switch.bridge.d.mts +30 -0
  105. package/dist/apg/switch.bridge.mjs +243 -0
  106. package/dist/apg/switch.model.json +3159 -0
  107. package/dist/apg/tabs.bridge.d.mts +41 -0
  108. package/dist/apg/tabs.bridge.mjs +294 -0
  109. package/dist/apg/tabs.model.json +7659 -0
  110. package/dist/apg/timeline.bridge.d.mts +36 -0
  111. package/dist/apg/timeline.bridge.mjs +265 -0
  112. package/dist/apg/timeline.model.json +6189 -0
  113. package/dist/apg/toolbar.bridge.d.mts +25 -0
  114. package/dist/apg/toolbar.bridge.mjs +307 -0
  115. package/dist/apg/toolbar.model.json +6616 -0
  116. package/dist/apg/tooltip.bridge.d.mts +36 -0
  117. package/dist/apg/tooltip.bridge.mjs +208 -0
  118. package/dist/apg/tooltip.model.json +8295 -0
  119. package/dist/apg/treegrid.bridge.d.mts +28 -0
  120. package/dist/apg/treegrid.bridge.mjs +311 -0
  121. package/dist/apg/treegrid.model.json +17358 -0
  122. package/dist/apg/treeview.bridge.d.mts +26 -0
  123. package/dist/apg/treeview.bridge.mjs +396 -0
  124. package/dist/apg/treeview.model.json +13745 -0
  125. package/dist/apg/windowsplitter.bridge.d.mts +36 -0
  126. package/dist/apg/windowsplitter.bridge.mjs +242 -0
  127. package/dist/apg/windowsplitter.model.json +6253 -0
  128. package/dist/canvas/camera.model.json +6568 -0
  129. package/dist/canvas/canvas.bridge.d.mts +190 -0
  130. package/dist/canvas/canvas.bridge.mjs +729 -0
  131. package/dist/canvas/pointer.model.json +17095 -0
  132. package/dist/scenario.d.mts +233 -0
  133. package/dist/scenario.mjs +313 -0
  134. package/package.json +57 -4
  135. package/scenarios/apg/README.md +221 -0
  136. package/scenarios/apg/accordion.base-ui.json +1005 -0
  137. package/scenarios/apg/accordion.react-aria.json +929 -0
  138. package/scenarios/apg/alert.base-ui.json +81 -0
  139. package/scenarios/apg/alert.react-aria.json +98 -0
  140. package/scenarios/apg/alertdialog.base-ui.json +331 -0
  141. package/scenarios/apg/alertdialog.react-aria.json +225 -0
  142. package/scenarios/apg/breadcrumb.react-aria.json +312 -0
  143. package/scenarios/apg/button.ariakit.json +136 -0
  144. package/scenarios/apg/button.base-ui.json +747 -0
  145. package/scenarios/apg/button.react-aria.json +443 -0
  146. package/scenarios/apg/carousel.apg.json +909 -0
  147. package/scenarios/apg/checkbox.ariakit.json +299 -0
  148. package/scenarios/apg/checkbox.base-ui.json +1126 -0
  149. package/scenarios/apg/checkbox.react-aria.json +518 -0
  150. package/scenarios/apg/combobox.ariakit.json +945 -0
  151. package/scenarios/apg/combobox.base-ui.json +2444 -0
  152. package/scenarios/apg/combobox.react-aria.json +845 -0
  153. package/scenarios/apg/dialog-modal.ariakit.json +1102 -0
  154. package/scenarios/apg/dialog-modal.base-ui.json +775 -0
  155. package/scenarios/apg/dialog-modal.react-aria.json +638 -0
  156. package/scenarios/apg/disclosure.apg.json +349 -0
  157. package/scenarios/apg/disclosure.ariakit.json +163 -0
  158. package/scenarios/apg/disclosure.base-ui.json +451 -0
  159. package/scenarios/apg/disclosure.react-aria.json +643 -0
  160. package/scenarios/apg/feed.apg.json +442 -0
  161. package/scenarios/apg/grid.ariakit.json +197 -0
  162. package/scenarios/apg/grid.base-ui.json +720 -0
  163. package/scenarios/apg/grid.react-aria.json +969 -0
  164. package/scenarios/apg/landmarks.ariakit.json +93 -0
  165. package/scenarios/apg/landmarks.react-aria.json +330 -0
  166. package/scenarios/apg/link.ariakit.json +83 -0
  167. package/scenarios/apg/link.base-ui.json +88 -0
  168. package/scenarios/apg/link.react-aria.json +186 -0
  169. package/scenarios/apg/listbox.ariakit.json +78 -0
  170. package/scenarios/apg/listbox.base-ui.json +163 -0
  171. package/scenarios/apg/listbox.react-aria.json +1118 -0
  172. package/scenarios/apg/menu-button.ariakit.json +924 -0
  173. package/scenarios/apg/menu-button.base-ui.json +1155 -0
  174. package/scenarios/apg/menu-button.react-aria.json +1080 -0
  175. package/scenarios/apg/menubar.ariakit.json +758 -0
  176. package/scenarios/apg/menubar.base-ui.json +673 -0
  177. package/scenarios/apg/meter.base-ui.json +243 -0
  178. package/scenarios/apg/meter.react-aria.json +201 -0
  179. package/scenarios/apg/radio.ariakit.json +459 -0
  180. package/scenarios/apg/radio.base-ui.json +581 -0
  181. package/scenarios/apg/radio.react-aria.json +576 -0
  182. package/scenarios/apg/slider-multithumb.base-ui.json +316 -0
  183. package/scenarios/apg/slider-multithumb.react-aria.json +363 -0
  184. package/scenarios/apg/slider.base-ui.json +544 -0
  185. package/scenarios/apg/slider.react-aria.json +456 -0
  186. package/scenarios/apg/spinbutton.base-ui.json +1688 -0
  187. package/scenarios/apg/spinbutton.react-aria.json +426 -0
  188. package/scenarios/apg/switch.base-ui.json +456 -0
  189. package/scenarios/apg/switch.react-aria.json +303 -0
  190. package/scenarios/apg/table.ariakit.json +65 -0
  191. package/scenarios/apg/table.react-aria.json +221 -0
  192. package/scenarios/apg/tabs.ariakit.json +329 -0
  193. package/scenarios/apg/tabs.base-ui.json +875 -0
  194. package/scenarios/apg/tabs.react-aria.json +644 -0
  195. package/scenarios/apg/toolbar.ariakit.json +595 -0
  196. package/scenarios/apg/toolbar.base-ui.json +1189 -0
  197. package/scenarios/apg/toolbar.react-aria.json +383 -0
  198. package/scenarios/apg/tooltip.ariakit.json +441 -0
  199. package/scenarios/apg/tooltip.base-ui.json +411 -0
  200. package/scenarios/apg/tooltip.react-aria.json +454 -0
  201. package/scenarios/apg/treegrid.apg.json +2558 -0
  202. package/scenarios/apg/treegrid.react-aria.json +5094 -0
  203. package/scenarios/apg/treeview.apg.json +928 -0
  204. package/scenarios/apg/windowsplitter.apg.json +557 -0
  205. package/scenarios/canvas/README.md +69 -0
  206. package/scenarios/canvas/camera.contract.json +237 -0
  207. package/scenarios/canvas/camera.excalidraw.json +57 -0
  208. package/scenarios/canvas/marquee.excalidraw.json +122 -0
  209. package/scenarios/canvas/pan.excalidraw.json +46 -0
  210. package/scenarios/canvas/pointer.contract.json +528 -0
  211. package/scenarios/parts.json +291 -0
  212. package/shared/aria.qnt +186 -0
  213. package/shared/details-group.qnt +50 -0
  214. package/shared/focusgroup.qnt +152 -0
  215. package/shared/invokers.qnt +81 -0
  216. package/shared/popover.qnt +71 -0
  217. package/specs/apg/STATIC.md +103 -0
  218. package/specs/apg/accordion.qnt +578 -0
  219. package/specs/apg/alert.qnt +131 -0
  220. package/specs/apg/alertdialog.qnt +455 -0
  221. package/specs/apg/breadcrumb.qnt +88 -0
  222. package/specs/apg/button.qnt +445 -0
  223. package/specs/apg/carousel.qnt +732 -0
  224. package/specs/apg/checkbox-group.qnt +388 -0
  225. package/specs/apg/checkbox.qnt +394 -0
  226. package/specs/apg/combobox-autocomplete.qnt +764 -0
  227. package/specs/apg/combobox-dialog.qnt +627 -0
  228. package/specs/apg/combobox-grid.qnt +632 -0
  229. package/specs/apg/combobox-select-only.qnt +626 -0
  230. package/specs/apg/combobox-tree.qnt +633 -0
  231. package/specs/apg/dialog-modal.qnt +499 -0
  232. package/specs/apg/disclosure.qnt +309 -0
  233. package/specs/apg/feed.qnt +485 -0
  234. package/specs/apg/grid-selection.qnt +512 -0
  235. package/specs/apg/grid-sort.qnt +330 -0
  236. package/specs/apg/grid.qnt +360 -0
  237. package/specs/apg/link.qnt +119 -0
  238. package/specs/apg/listbox-multi.qnt +799 -0
  239. package/specs/apg/listbox-rearrangeable.qnt +801 -0
  240. package/specs/apg/listbox-single.qnt +511 -0
  241. package/specs/apg/listbox-typeahead.qnt +396 -0
  242. package/specs/apg/menu-button.qnt +363 -0
  243. package/specs/apg/menu-checkable.qnt +304 -0
  244. package/specs/apg/menu-menubar.qnt +531 -0
  245. package/specs/apg/meter.qnt +129 -0
  246. package/specs/apg/player.qnt +1081 -0
  247. package/specs/apg/radio.qnt +394 -0
  248. package/specs/apg/slider-multithumb.qnt +441 -0
  249. package/specs/apg/slider.qnt +396 -0
  250. package/specs/apg/spinbutton.qnt +494 -0
  251. package/specs/apg/switch.qnt +389 -0
  252. package/specs/apg/tabs.qnt +412 -0
  253. package/specs/apg/timeline.qnt +612 -0
  254. package/specs/apg/toolbar.qnt +364 -0
  255. package/specs/apg/tooltip.qnt +553 -0
  256. package/specs/apg/treegrid.qnt +983 -0
  257. package/specs/apg/treeview.qnt +1004 -0
  258. package/specs/apg/windowsplitter.qnt +487 -0
  259. package/specs/canvas/camera.qnt +407 -0
  260. package/specs/canvas/pointer.qnt +841 -0
@@ -0,0 +1,4277 @@
1
+ {
2
+ "generatedFrom": "../../specs/apg/menu-checkable.qnt",
3
+ "specHash": "281201c9574dde5f24bbc36caf44ddebdeeb233222663767575c2cd550627ce9",
4
+ "module": "apg_menu_checkable",
5
+ "vars": [
6
+ {
7
+ "name": "focusIdx",
8
+ "type": "int"
9
+ },
10
+ {
11
+ "name": "menuOpen",
12
+ "type": "bool"
13
+ },
14
+ {
15
+ "name": "wrap",
16
+ "type": "bool"
17
+ },
18
+ {
19
+ "name": "choice",
20
+ "type": "int"
21
+ },
22
+ {
23
+ "name": "lastActivated",
24
+ "type": "int"
25
+ },
26
+ {
27
+ "name": "controlled",
28
+ "type": "bool"
29
+ },
30
+ {
31
+ "name": "accepting",
32
+ "type": "bool"
33
+ },
34
+ {
35
+ "name": "valueProp",
36
+ "type": "int"
37
+ },
38
+ {
39
+ "name": "requested",
40
+ "type": "int"
41
+ },
42
+ {
43
+ "name": "outcome",
44
+ "type": "str"
45
+ },
46
+ {
47
+ "name": "base",
48
+ "type": "int"
49
+ },
50
+ {
51
+ "name": "requests",
52
+ "type": "int"
53
+ }
54
+ ],
55
+ "defs": {
56
+ "itemRole": {
57
+ "kind": "function",
58
+ "params": [
59
+ "i"
60
+ ],
61
+ "body": {
62
+ "kind": "app",
63
+ "opcode": "ite",
64
+ "args": [
65
+ {
66
+ "kind": "app",
67
+ "opcode": "eq",
68
+ "args": [
69
+ {
70
+ "kind": "name",
71
+ "name": "i"
72
+ },
73
+ {
74
+ "kind": "int",
75
+ "value": "1"
76
+ }
77
+ ]
78
+ },
79
+ {
80
+ "kind": "int",
81
+ "value": "1"
82
+ },
83
+ {
84
+ "kind": "app",
85
+ "opcode": "ite",
86
+ "args": [
87
+ {
88
+ "kind": "app",
89
+ "opcode": "and",
90
+ "args": [
91
+ {
92
+ "kind": "app",
93
+ "opcode": "igte",
94
+ "args": [
95
+ {
96
+ "kind": "name",
97
+ "name": "i"
98
+ },
99
+ {
100
+ "kind": "int",
101
+ "value": "2"
102
+ }
103
+ ]
104
+ },
105
+ {
106
+ "kind": "app",
107
+ "opcode": "ilte",
108
+ "args": [
109
+ {
110
+ "kind": "name",
111
+ "name": "i"
112
+ },
113
+ {
114
+ "kind": "int",
115
+ "value": "4"
116
+ }
117
+ ]
118
+ }
119
+ ]
120
+ },
121
+ {
122
+ "kind": "int",
123
+ "value": "2"
124
+ },
125
+ {
126
+ "kind": "int",
127
+ "value": "0"
128
+ }
129
+ ]
130
+ }
131
+ ]
132
+ }
133
+ },
134
+ "ariaChecked": {
135
+ "kind": "function",
136
+ "params": [
137
+ "i",
138
+ "w",
139
+ "c"
140
+ ],
141
+ "body": {
142
+ "kind": "app",
143
+ "opcode": "ite",
144
+ "args": [
145
+ {
146
+ "kind": "app",
147
+ "opcode": "eq",
148
+ "args": [
149
+ {
150
+ "kind": "name",
151
+ "name": "i"
152
+ },
153
+ {
154
+ "kind": "int",
155
+ "value": "1"
156
+ }
157
+ ]
158
+ },
159
+ {
160
+ "kind": "name",
161
+ "name": "w"
162
+ },
163
+ {
164
+ "kind": "app",
165
+ "opcode": "ite",
166
+ "args": [
167
+ {
168
+ "kind": "app",
169
+ "opcode": "and",
170
+ "args": [
171
+ {
172
+ "kind": "app",
173
+ "opcode": "igte",
174
+ "args": [
175
+ {
176
+ "kind": "name",
177
+ "name": "i"
178
+ },
179
+ {
180
+ "kind": "int",
181
+ "value": "2"
182
+ }
183
+ ]
184
+ },
185
+ {
186
+ "kind": "app",
187
+ "opcode": "ilte",
188
+ "args": [
189
+ {
190
+ "kind": "name",
191
+ "name": "i"
192
+ },
193
+ {
194
+ "kind": "int",
195
+ "value": "4"
196
+ }
197
+ ]
198
+ }
199
+ ]
200
+ },
201
+ {
202
+ "kind": "app",
203
+ "opcode": "eq",
204
+ "args": [
205
+ {
206
+ "kind": "name",
207
+ "name": "c"
208
+ },
209
+ {
210
+ "kind": "name",
211
+ "name": "i"
212
+ }
213
+ ]
214
+ },
215
+ {
216
+ "kind": "bool",
217
+ "value": false
218
+ }
219
+ ]
220
+ }
221
+ ]
222
+ }
223
+ },
224
+ "b2i": {
225
+ "kind": "function",
226
+ "params": [
227
+ "b"
228
+ ],
229
+ "body": {
230
+ "kind": "app",
231
+ "opcode": "ite",
232
+ "args": [
233
+ {
234
+ "kind": "name",
235
+ "name": "b"
236
+ },
237
+ {
238
+ "kind": "int",
239
+ "value": "1"
240
+ },
241
+ {
242
+ "kind": "int",
243
+ "value": "0"
244
+ }
245
+ ]
246
+ }
247
+ },
248
+ "isRadio": {
249
+ "kind": "function",
250
+ "params": [
251
+ "i"
252
+ ],
253
+ "body": {
254
+ "kind": "app",
255
+ "opcode": "eq",
256
+ "args": [
257
+ {
258
+ "kind": "app",
259
+ "opcode": "itemRole",
260
+ "args": [
261
+ {
262
+ "kind": "name",
263
+ "name": "i"
264
+ }
265
+ ]
266
+ },
267
+ {
268
+ "kind": "int",
269
+ "value": "2"
270
+ }
271
+ ]
272
+ }
273
+ },
274
+ "checked": {
275
+ "kind": "function",
276
+ "params": [
277
+ "w",
278
+ "c"
279
+ ],
280
+ "body": {
281
+ "kind": "app",
282
+ "opcode": "iadd",
283
+ "args": [
284
+ {
285
+ "kind": "app",
286
+ "opcode": "imul",
287
+ "args": [
288
+ {
289
+ "kind": "app",
290
+ "opcode": "b2i",
291
+ "args": [
292
+ {
293
+ "kind": "name",
294
+ "name": "w"
295
+ }
296
+ ]
297
+ },
298
+ {
299
+ "kind": "int",
300
+ "value": "5"
301
+ }
302
+ ]
303
+ },
304
+ {
305
+ "kind": "name",
306
+ "name": "c"
307
+ }
308
+ ]
309
+ }
310
+ },
311
+ "nowPacked": {
312
+ "kind": "function",
313
+ "params": [],
314
+ "body": {
315
+ "kind": "app",
316
+ "opcode": "checked",
317
+ "args": [
318
+ {
319
+ "kind": "name",
320
+ "name": "wrap"
321
+ },
322
+ {
323
+ "kind": "name",
324
+ "name": "choice"
325
+ }
326
+ ]
327
+ }
328
+ },
329
+ "wrapFrom": {
330
+ "kind": "function",
331
+ "params": [
332
+ "v"
333
+ ],
334
+ "body": {
335
+ "kind": "app",
336
+ "opcode": "igte",
337
+ "args": [
338
+ {
339
+ "kind": "name",
340
+ "name": "v"
341
+ },
342
+ {
343
+ "kind": "int",
344
+ "value": "5"
345
+ }
346
+ ]
347
+ }
348
+ },
349
+ "choiceFrom": {
350
+ "kind": "function",
351
+ "params": [
352
+ "v"
353
+ ],
354
+ "body": {
355
+ "kind": "app",
356
+ "opcode": "imod",
357
+ "args": [
358
+ {
359
+ "kind": "name",
360
+ "name": "v"
361
+ },
362
+ {
363
+ "kind": "int",
364
+ "value": "5"
365
+ }
366
+ ]
367
+ }
368
+ },
369
+ "holds": {
370
+ "kind": "function",
371
+ "params": [],
372
+ "body": {
373
+ "kind": "app",
374
+ "opcode": "and",
375
+ "args": [
376
+ {
377
+ "kind": "name",
378
+ "name": "controlled"
379
+ },
380
+ {
381
+ "kind": "app",
382
+ "opcode": "not",
383
+ "args": [
384
+ {
385
+ "kind": "name",
386
+ "name": "accepting"
387
+ }
388
+ ]
389
+ }
390
+ ]
391
+ }
392
+ },
393
+ "follows": {
394
+ "kind": "function",
395
+ "params": [],
396
+ "body": {
397
+ "kind": "app",
398
+ "opcode": "and",
399
+ "args": [
400
+ {
401
+ "kind": "name",
402
+ "name": "controlled"
403
+ },
404
+ {
405
+ "kind": "name",
406
+ "name": "accepting"
407
+ }
408
+ ]
409
+ }
410
+ },
411
+ "verdict": {
412
+ "kind": "function",
413
+ "params": [],
414
+ "body": {
415
+ "kind": "app",
416
+ "opcode": "ite",
417
+ "args": [
418
+ {
419
+ "kind": "name",
420
+ "name": "holds"
421
+ },
422
+ {
423
+ "kind": "str",
424
+ "value": "rejected"
425
+ },
426
+ {
427
+ "kind": "str",
428
+ "value": "accepted"
429
+ }
430
+ ]
431
+ }
432
+ },
433
+ "propAfter": {
434
+ "kind": "function",
435
+ "params": [
436
+ "f",
437
+ "p",
438
+ "want"
439
+ ],
440
+ "body": {
441
+ "kind": "app",
442
+ "opcode": "ite",
443
+ "args": [
444
+ {
445
+ "kind": "name",
446
+ "name": "f"
447
+ },
448
+ {
449
+ "kind": "name",
450
+ "name": "want"
451
+ },
452
+ {
453
+ "kind": "name",
454
+ "name": "p"
455
+ }
456
+ ]
457
+ }
458
+ },
459
+ "intentWrap": {
460
+ "kind": "function",
461
+ "params": [],
462
+ "body": {
463
+ "kind": "app",
464
+ "opcode": "ite",
465
+ "args": [
466
+ {
467
+ "kind": "app",
468
+ "opcode": "and",
469
+ "args": [
470
+ {
471
+ "kind": "name",
472
+ "name": "menuOpen"
473
+ },
474
+ {
475
+ "kind": "app",
476
+ "opcode": "eq",
477
+ "args": [
478
+ {
479
+ "kind": "name",
480
+ "name": "focusIdx"
481
+ },
482
+ {
483
+ "kind": "int",
484
+ "value": "1"
485
+ }
486
+ ]
487
+ }
488
+ ]
489
+ },
490
+ {
491
+ "kind": "app",
492
+ "opcode": "not",
493
+ "args": [
494
+ {
495
+ "kind": "name",
496
+ "name": "wrap"
497
+ }
498
+ ]
499
+ },
500
+ {
501
+ "kind": "name",
502
+ "name": "wrap"
503
+ }
504
+ ]
505
+ }
506
+ },
507
+ "intentChoice": {
508
+ "kind": "function",
509
+ "params": [],
510
+ "body": {
511
+ "kind": "app",
512
+ "opcode": "ite",
513
+ "args": [
514
+ {
515
+ "kind": "app",
516
+ "opcode": "and",
517
+ "args": [
518
+ {
519
+ "kind": "name",
520
+ "name": "menuOpen"
521
+ },
522
+ {
523
+ "kind": "app",
524
+ "opcode": "isRadio",
525
+ "args": [
526
+ {
527
+ "kind": "name",
528
+ "name": "focusIdx"
529
+ }
530
+ ]
531
+ }
532
+ ]
533
+ },
534
+ {
535
+ "kind": "name",
536
+ "name": "focusIdx"
537
+ },
538
+ {
539
+ "kind": "name",
540
+ "name": "choice"
541
+ }
542
+ ]
543
+ }
544
+ },
545
+ "intentPacked": {
546
+ "kind": "function",
547
+ "params": [],
548
+ "body": {
549
+ "kind": "app",
550
+ "opcode": "checked",
551
+ "args": [
552
+ {
553
+ "kind": "name",
554
+ "name": "intentWrap"
555
+ },
556
+ {
557
+ "kind": "name",
558
+ "name": "intentChoice"
559
+ }
560
+ ]
561
+ }
562
+ },
563
+ "checkedMoves": {
564
+ "kind": "function",
565
+ "params": [],
566
+ "body": {
567
+ "kind": "app",
568
+ "opcode": "neq",
569
+ "args": [
570
+ {
571
+ "kind": "name",
572
+ "name": "intentPacked"
573
+ },
574
+ {
575
+ "kind": "name",
576
+ "name": "nowPacked"
577
+ }
578
+ ]
579
+ }
580
+ },
581
+ "rejects": {
582
+ "kind": "function",
583
+ "params": [],
584
+ "body": {
585
+ "kind": "app",
586
+ "opcode": "and",
587
+ "args": [
588
+ {
589
+ "kind": "name",
590
+ "name": "holds"
591
+ },
592
+ {
593
+ "kind": "name",
594
+ "name": "checkedMoves"
595
+ }
596
+ ]
597
+ }
598
+ },
599
+ "FocusIdxInRange": {
600
+ "kind": "invariant",
601
+ "params": [],
602
+ "body": {
603
+ "kind": "app",
604
+ "opcode": "and",
605
+ "args": [
606
+ {
607
+ "kind": "app",
608
+ "opcode": "igte",
609
+ "args": [
610
+ {
611
+ "kind": "name",
612
+ "name": "focusIdx"
613
+ },
614
+ {
615
+ "kind": "int",
616
+ "value": "0"
617
+ }
618
+ ]
619
+ },
620
+ {
621
+ "kind": "app",
622
+ "opcode": "ilte",
623
+ "args": [
624
+ {
625
+ "kind": "name",
626
+ "name": "focusIdx"
627
+ },
628
+ {
629
+ "kind": "int",
630
+ "value": "5"
631
+ }
632
+ ]
633
+ }
634
+ ]
635
+ }
636
+ },
637
+ "OpenIffFocusInMenu": {
638
+ "kind": "invariant",
639
+ "params": [],
640
+ "body": {
641
+ "kind": "app",
642
+ "opcode": "eq",
643
+ "args": [
644
+ {
645
+ "kind": "name",
646
+ "name": "menuOpen"
647
+ },
648
+ {
649
+ "kind": "app",
650
+ "opcode": "igt",
651
+ "args": [
652
+ {
653
+ "kind": "name",
654
+ "name": "focusIdx"
655
+ },
656
+ {
657
+ "kind": "int",
658
+ "value": "0"
659
+ }
660
+ ]
661
+ }
662
+ ]
663
+ }
664
+ },
665
+ "RadioChoiceInGroup": {
666
+ "kind": "invariant",
667
+ "params": [],
668
+ "body": {
669
+ "kind": "app",
670
+ "opcode": "and",
671
+ "args": [
672
+ {
673
+ "kind": "app",
674
+ "opcode": "igte",
675
+ "args": [
676
+ {
677
+ "kind": "name",
678
+ "name": "choice"
679
+ },
680
+ {
681
+ "kind": "int",
682
+ "value": "2"
683
+ }
684
+ ]
685
+ },
686
+ {
687
+ "kind": "app",
688
+ "opcode": "ilte",
689
+ "args": [
690
+ {
691
+ "kind": "name",
692
+ "name": "choice"
693
+ },
694
+ {
695
+ "kind": "int",
696
+ "value": "4"
697
+ }
698
+ ]
699
+ }
700
+ ]
701
+ }
702
+ },
703
+ "ExactlyOneRadioChecked": {
704
+ "kind": "invariant",
705
+ "params": [],
706
+ "body": {
707
+ "kind": "app",
708
+ "opcode": "eq",
709
+ "args": [
710
+ {
711
+ "kind": "app",
712
+ "opcode": "iadd",
713
+ "args": [
714
+ {
715
+ "kind": "app",
716
+ "opcode": "iadd",
717
+ "args": [
718
+ {
719
+ "kind": "app",
720
+ "opcode": "b2i",
721
+ "args": [
722
+ {
723
+ "kind": "app",
724
+ "opcode": "ariaChecked",
725
+ "args": [
726
+ {
727
+ "kind": "int",
728
+ "value": "2"
729
+ },
730
+ {
731
+ "kind": "name",
732
+ "name": "wrap"
733
+ },
734
+ {
735
+ "kind": "name",
736
+ "name": "choice"
737
+ }
738
+ ]
739
+ }
740
+ ]
741
+ },
742
+ {
743
+ "kind": "app",
744
+ "opcode": "b2i",
745
+ "args": [
746
+ {
747
+ "kind": "app",
748
+ "opcode": "ariaChecked",
749
+ "args": [
750
+ {
751
+ "kind": "int",
752
+ "value": "3"
753
+ },
754
+ {
755
+ "kind": "name",
756
+ "name": "wrap"
757
+ },
758
+ {
759
+ "kind": "name",
760
+ "name": "choice"
761
+ }
762
+ ]
763
+ }
764
+ ]
765
+ }
766
+ ]
767
+ },
768
+ {
769
+ "kind": "app",
770
+ "opcode": "b2i",
771
+ "args": [
772
+ {
773
+ "kind": "app",
774
+ "opcode": "ariaChecked",
775
+ "args": [
776
+ {
777
+ "kind": "int",
778
+ "value": "4"
779
+ },
780
+ {
781
+ "kind": "name",
782
+ "name": "wrap"
783
+ },
784
+ {
785
+ "kind": "name",
786
+ "name": "choice"
787
+ }
788
+ ]
789
+ }
790
+ ]
791
+ }
792
+ ]
793
+ },
794
+ {
795
+ "kind": "int",
796
+ "value": "1"
797
+ }
798
+ ]
799
+ }
800
+ },
801
+ "CheckboxCheckedIsWrap": {
802
+ "kind": "invariant",
803
+ "params": [],
804
+ "body": {
805
+ "kind": "app",
806
+ "opcode": "eq",
807
+ "args": [
808
+ {
809
+ "kind": "app",
810
+ "opcode": "ariaChecked",
811
+ "args": [
812
+ {
813
+ "kind": "int",
814
+ "value": "1"
815
+ },
816
+ {
817
+ "kind": "name",
818
+ "name": "wrap"
819
+ },
820
+ {
821
+ "kind": "name",
822
+ "name": "choice"
823
+ }
824
+ ]
825
+ },
826
+ {
827
+ "kind": "name",
828
+ "name": "wrap"
829
+ }
830
+ ]
831
+ }
832
+ },
833
+ "PlainItemNeverChecked": {
834
+ "kind": "invariant",
835
+ "params": [],
836
+ "body": {
837
+ "kind": "app",
838
+ "opcode": "not",
839
+ "args": [
840
+ {
841
+ "kind": "app",
842
+ "opcode": "ariaChecked",
843
+ "args": [
844
+ {
845
+ "kind": "int",
846
+ "value": "5"
847
+ },
848
+ {
849
+ "kind": "name",
850
+ "name": "wrap"
851
+ },
852
+ {
853
+ "kind": "name",
854
+ "name": "choice"
855
+ }
856
+ ]
857
+ }
858
+ ]
859
+ }
860
+ },
861
+ "LastActivatedValid": {
862
+ "kind": "invariant",
863
+ "params": [],
864
+ "body": {
865
+ "kind": "app",
866
+ "opcode": "and",
867
+ "args": [
868
+ {
869
+ "kind": "app",
870
+ "opcode": "igte",
871
+ "args": [
872
+ {
873
+ "kind": "name",
874
+ "name": "lastActivated"
875
+ },
876
+ {
877
+ "kind": "int",
878
+ "value": "0"
879
+ }
880
+ ]
881
+ },
882
+ {
883
+ "kind": "app",
884
+ "opcode": "ilte",
885
+ "args": [
886
+ {
887
+ "kind": "name",
888
+ "name": "lastActivated"
889
+ },
890
+ {
891
+ "kind": "int",
892
+ "value": "5"
893
+ }
894
+ ]
895
+ }
896
+ ]
897
+ }
898
+ },
899
+ "RequestsNonNegative": {
900
+ "kind": "invariant",
901
+ "params": [],
902
+ "body": {
903
+ "kind": "app",
904
+ "opcode": "igte",
905
+ "args": [
906
+ {
907
+ "kind": "name",
908
+ "name": "requests"
909
+ },
910
+ {
911
+ "kind": "int",
912
+ "value": "0"
913
+ }
914
+ ]
915
+ }
916
+ },
917
+ "ControlledFollowsProp": {
918
+ "kind": "invariant",
919
+ "params": [],
920
+ "body": {
921
+ "kind": "app",
922
+ "opcode": "or",
923
+ "args": [
924
+ {
925
+ "kind": "app",
926
+ "opcode": "not",
927
+ "args": [
928
+ {
929
+ "kind": "name",
930
+ "name": "controlled"
931
+ }
932
+ ]
933
+ },
934
+ {
935
+ "kind": "app",
936
+ "opcode": "eq",
937
+ "args": [
938
+ {
939
+ "kind": "name",
940
+ "name": "nowPacked"
941
+ },
942
+ {
943
+ "kind": "name",
944
+ "name": "valueProp"
945
+ }
946
+ ]
947
+ }
948
+ ]
949
+ }
950
+ },
951
+ "RejectedRequestUntouched": {
952
+ "kind": "invariant",
953
+ "params": [],
954
+ "body": {
955
+ "kind": "app",
956
+ "opcode": "or",
957
+ "args": [
958
+ {
959
+ "kind": "app",
960
+ "opcode": "not",
961
+ "args": [
962
+ {
963
+ "kind": "app",
964
+ "opcode": "eq",
965
+ "args": [
966
+ {
967
+ "kind": "name",
968
+ "name": "outcome"
969
+ },
970
+ {
971
+ "kind": "str",
972
+ "value": "rejected"
973
+ }
974
+ ]
975
+ }
976
+ ]
977
+ },
978
+ {
979
+ "kind": "app",
980
+ "opcode": "eq",
981
+ "args": [
982
+ {
983
+ "kind": "name",
984
+ "name": "nowPacked"
985
+ },
986
+ {
987
+ "kind": "name",
988
+ "name": "base"
989
+ }
990
+ ]
991
+ }
992
+ ]
993
+ }
994
+ },
995
+ "AcceptedRequestCommits": {
996
+ "kind": "invariant",
997
+ "params": [],
998
+ "body": {
999
+ "kind": "app",
1000
+ "opcode": "or",
1001
+ "args": [
1002
+ {
1003
+ "kind": "app",
1004
+ "opcode": "not",
1005
+ "args": [
1006
+ {
1007
+ "kind": "app",
1008
+ "opcode": "eq",
1009
+ "args": [
1010
+ {
1011
+ "kind": "name",
1012
+ "name": "outcome"
1013
+ },
1014
+ {
1015
+ "kind": "str",
1016
+ "value": "accepted"
1017
+ }
1018
+ ]
1019
+ }
1020
+ ]
1021
+ },
1022
+ {
1023
+ "kind": "app",
1024
+ "opcode": "eq",
1025
+ "args": [
1026
+ {
1027
+ "kind": "name",
1028
+ "name": "nowPacked"
1029
+ },
1030
+ {
1031
+ "kind": "name",
1032
+ "name": "requested"
1033
+ }
1034
+ ]
1035
+ }
1036
+ ]
1037
+ }
1038
+ },
1039
+ "ariaCycle0": {
1040
+ "kind": "function",
1041
+ "params": [
1042
+ "n",
1043
+ "cur",
1044
+ "k"
1045
+ ],
1046
+ "body": {
1047
+ "kind": "app",
1048
+ "opcode": "ite",
1049
+ "args": [
1050
+ {
1051
+ "kind": "app",
1052
+ "opcode": "ilt",
1053
+ "args": [
1054
+ {
1055
+ "kind": "name",
1056
+ "name": "n"
1057
+ },
1058
+ {
1059
+ "kind": "int",
1060
+ "value": "1"
1061
+ }
1062
+ ]
1063
+ },
1064
+ {
1065
+ "kind": "name",
1066
+ "name": "cur"
1067
+ },
1068
+ {
1069
+ "kind": "app",
1070
+ "opcode": "imod",
1071
+ "args": [
1072
+ {
1073
+ "kind": "app",
1074
+ "opcode": "iadd",
1075
+ "args": [
1076
+ {
1077
+ "kind": "name",
1078
+ "name": "cur"
1079
+ },
1080
+ {
1081
+ "kind": "name",
1082
+ "name": "k"
1083
+ }
1084
+ ]
1085
+ },
1086
+ {
1087
+ "kind": "name",
1088
+ "name": "n"
1089
+ }
1090
+ ]
1091
+ }
1092
+ ]
1093
+ }
1094
+ },
1095
+ "ariaCycle1": {
1096
+ "kind": "function",
1097
+ "params": [
1098
+ "n",
1099
+ "cur",
1100
+ "k"
1101
+ ],
1102
+ "body": {
1103
+ "kind": "app",
1104
+ "opcode": "ite",
1105
+ "args": [
1106
+ {
1107
+ "kind": "app",
1108
+ "opcode": "ilt",
1109
+ "args": [
1110
+ {
1111
+ "kind": "name",
1112
+ "name": "n"
1113
+ },
1114
+ {
1115
+ "kind": "int",
1116
+ "value": "1"
1117
+ }
1118
+ ]
1119
+ },
1120
+ {
1121
+ "kind": "name",
1122
+ "name": "cur"
1123
+ },
1124
+ {
1125
+ "kind": "app",
1126
+ "opcode": "iadd",
1127
+ "args": [
1128
+ {
1129
+ "kind": "app",
1130
+ "opcode": "imod",
1131
+ "args": [
1132
+ {
1133
+ "kind": "app",
1134
+ "opcode": "isub",
1135
+ "args": [
1136
+ {
1137
+ "kind": "app",
1138
+ "opcode": "iadd",
1139
+ "args": [
1140
+ {
1141
+ "kind": "app",
1142
+ "opcode": "iadd",
1143
+ "args": [
1144
+ {
1145
+ "kind": "name",
1146
+ "name": "cur"
1147
+ },
1148
+ {
1149
+ "kind": "name",
1150
+ "name": "k"
1151
+ }
1152
+ ]
1153
+ },
1154
+ {
1155
+ "kind": "name",
1156
+ "name": "n"
1157
+ }
1158
+ ]
1159
+ },
1160
+ {
1161
+ "kind": "int",
1162
+ "value": "1"
1163
+ }
1164
+ ]
1165
+ },
1166
+ {
1167
+ "kind": "name",
1168
+ "name": "n"
1169
+ }
1170
+ ]
1171
+ },
1172
+ {
1173
+ "kind": "int",
1174
+ "value": "1"
1175
+ }
1176
+ ]
1177
+ }
1178
+ ]
1179
+ }
1180
+ },
1181
+ "ariaWrapNext1": {
1182
+ "kind": "function",
1183
+ "params": [
1184
+ "i",
1185
+ "n"
1186
+ ],
1187
+ "body": {
1188
+ "kind": "app",
1189
+ "opcode": "ite",
1190
+ "args": [
1191
+ {
1192
+ "kind": "app",
1193
+ "opcode": "igte",
1194
+ "args": [
1195
+ {
1196
+ "kind": "name",
1197
+ "name": "i"
1198
+ },
1199
+ {
1200
+ "kind": "name",
1201
+ "name": "n"
1202
+ }
1203
+ ]
1204
+ },
1205
+ {
1206
+ "kind": "int",
1207
+ "value": "1"
1208
+ },
1209
+ {
1210
+ "kind": "app",
1211
+ "opcode": "iadd",
1212
+ "args": [
1213
+ {
1214
+ "kind": "name",
1215
+ "name": "i"
1216
+ },
1217
+ {
1218
+ "kind": "int",
1219
+ "value": "1"
1220
+ }
1221
+ ]
1222
+ }
1223
+ ]
1224
+ }
1225
+ },
1226
+ "ariaWrapPrev1": {
1227
+ "kind": "function",
1228
+ "params": [
1229
+ "i",
1230
+ "n"
1231
+ ],
1232
+ "body": {
1233
+ "kind": "app",
1234
+ "opcode": "ite",
1235
+ "args": [
1236
+ {
1237
+ "kind": "app",
1238
+ "opcode": "ilte",
1239
+ "args": [
1240
+ {
1241
+ "kind": "name",
1242
+ "name": "i"
1243
+ },
1244
+ {
1245
+ "kind": "int",
1246
+ "value": "1"
1247
+ }
1248
+ ]
1249
+ },
1250
+ {
1251
+ "kind": "name",
1252
+ "name": "n"
1253
+ },
1254
+ {
1255
+ "kind": "app",
1256
+ "opcode": "isub",
1257
+ "args": [
1258
+ {
1259
+ "kind": "name",
1260
+ "name": "i"
1261
+ },
1262
+ {
1263
+ "kind": "int",
1264
+ "value": "1"
1265
+ }
1266
+ ]
1267
+ }
1268
+ ]
1269
+ }
1270
+ },
1271
+ "ariaTaStart0": {
1272
+ "kind": "function",
1273
+ "params": [
1274
+ "n",
1275
+ "cur",
1276
+ "fresh"
1277
+ ],
1278
+ "body": {
1279
+ "kind": "app",
1280
+ "opcode": "ite",
1281
+ "args": [
1282
+ {
1283
+ "kind": "name",
1284
+ "name": "fresh"
1285
+ },
1286
+ {
1287
+ "kind": "app",
1288
+ "opcode": "ariaCycle0",
1289
+ "args": [
1290
+ {
1291
+ "kind": "name",
1292
+ "name": "n"
1293
+ },
1294
+ {
1295
+ "kind": "name",
1296
+ "name": "cur"
1297
+ },
1298
+ {
1299
+ "kind": "int",
1300
+ "value": "1"
1301
+ }
1302
+ ]
1303
+ },
1304
+ {
1305
+ "kind": "name",
1306
+ "name": "cur"
1307
+ }
1308
+ ]
1309
+ }
1310
+ },
1311
+ "ariaTaStart1": {
1312
+ "kind": "function",
1313
+ "params": [
1314
+ "n",
1315
+ "cur",
1316
+ "fresh"
1317
+ ],
1318
+ "body": {
1319
+ "kind": "app",
1320
+ "opcode": "ite",
1321
+ "args": [
1322
+ {
1323
+ "kind": "name",
1324
+ "name": "fresh"
1325
+ },
1326
+ {
1327
+ "kind": "app",
1328
+ "opcode": "ariaCycle1",
1329
+ "args": [
1330
+ {
1331
+ "kind": "name",
1332
+ "name": "n"
1333
+ },
1334
+ {
1335
+ "kind": "name",
1336
+ "name": "cur"
1337
+ },
1338
+ {
1339
+ "kind": "int",
1340
+ "value": "1"
1341
+ }
1342
+ ]
1343
+ },
1344
+ {
1345
+ "kind": "name",
1346
+ "name": "cur"
1347
+ }
1348
+ ]
1349
+ }
1350
+ },
1351
+ "ariaTaRepeatStart0": {
1352
+ "kind": "function",
1353
+ "params": [
1354
+ "n",
1355
+ "cur",
1356
+ "typedBefore",
1357
+ "ch"
1358
+ ],
1359
+ "body": {
1360
+ "kind": "app",
1361
+ "opcode": "ite",
1362
+ "args": [
1363
+ {
1364
+ "kind": "app",
1365
+ "opcode": "eq",
1366
+ "args": [
1367
+ {
1368
+ "kind": "name",
1369
+ "name": "typedBefore"
1370
+ },
1371
+ {
1372
+ "kind": "name",
1373
+ "name": "ch"
1374
+ }
1375
+ ]
1376
+ },
1377
+ {
1378
+ "kind": "app",
1379
+ "opcode": "ariaCycle0",
1380
+ "args": [
1381
+ {
1382
+ "kind": "name",
1383
+ "name": "n"
1384
+ },
1385
+ {
1386
+ "kind": "name",
1387
+ "name": "cur"
1388
+ },
1389
+ {
1390
+ "kind": "int",
1391
+ "value": "1"
1392
+ }
1393
+ ]
1394
+ },
1395
+ {
1396
+ "kind": "int",
1397
+ "value": "0"
1398
+ }
1399
+ ]
1400
+ }
1401
+ },
1402
+ "ariaTaFold": {
1403
+ "kind": "function",
1404
+ "params": [
1405
+ "c"
1406
+ ],
1407
+ "body": {
1408
+ "kind": "app",
1409
+ "opcode": "ite",
1410
+ "args": [
1411
+ {
1412
+ "kind": "app",
1413
+ "opcode": "eq",
1414
+ "args": [
1415
+ {
1416
+ "kind": "name",
1417
+ "name": "c"
1418
+ },
1419
+ {
1420
+ "kind": "str",
1421
+ "value": "A"
1422
+ }
1423
+ ]
1424
+ },
1425
+ {
1426
+ "kind": "str",
1427
+ "value": "a"
1428
+ },
1429
+ {
1430
+ "kind": "app",
1431
+ "opcode": "ite",
1432
+ "args": [
1433
+ {
1434
+ "kind": "app",
1435
+ "opcode": "eq",
1436
+ "args": [
1437
+ {
1438
+ "kind": "name",
1439
+ "name": "c"
1440
+ },
1441
+ {
1442
+ "kind": "str",
1443
+ "value": "B"
1444
+ }
1445
+ ]
1446
+ },
1447
+ {
1448
+ "kind": "str",
1449
+ "value": "b"
1450
+ },
1451
+ {
1452
+ "kind": "app",
1453
+ "opcode": "ite",
1454
+ "args": [
1455
+ {
1456
+ "kind": "app",
1457
+ "opcode": "eq",
1458
+ "args": [
1459
+ {
1460
+ "kind": "name",
1461
+ "name": "c"
1462
+ },
1463
+ {
1464
+ "kind": "str",
1465
+ "value": "C"
1466
+ }
1467
+ ]
1468
+ },
1469
+ {
1470
+ "kind": "str",
1471
+ "value": "c"
1472
+ },
1473
+ {
1474
+ "kind": "app",
1475
+ "opcode": "ite",
1476
+ "args": [
1477
+ {
1478
+ "kind": "app",
1479
+ "opcode": "eq",
1480
+ "args": [
1481
+ {
1482
+ "kind": "name",
1483
+ "name": "c"
1484
+ },
1485
+ {
1486
+ "kind": "str",
1487
+ "value": "D"
1488
+ }
1489
+ ]
1490
+ },
1491
+ {
1492
+ "kind": "str",
1493
+ "value": "d"
1494
+ },
1495
+ {
1496
+ "kind": "app",
1497
+ "opcode": "ite",
1498
+ "args": [
1499
+ {
1500
+ "kind": "app",
1501
+ "opcode": "eq",
1502
+ "args": [
1503
+ {
1504
+ "kind": "name",
1505
+ "name": "c"
1506
+ },
1507
+ {
1508
+ "kind": "str",
1509
+ "value": "E"
1510
+ }
1511
+ ]
1512
+ },
1513
+ {
1514
+ "kind": "str",
1515
+ "value": "e"
1516
+ },
1517
+ {
1518
+ "kind": "app",
1519
+ "opcode": "ite",
1520
+ "args": [
1521
+ {
1522
+ "kind": "app",
1523
+ "opcode": "eq",
1524
+ "args": [
1525
+ {
1526
+ "kind": "name",
1527
+ "name": "c"
1528
+ },
1529
+ {
1530
+ "kind": "str",
1531
+ "value": "F"
1532
+ }
1533
+ ]
1534
+ },
1535
+ {
1536
+ "kind": "str",
1537
+ "value": "f"
1538
+ },
1539
+ {
1540
+ "kind": "app",
1541
+ "opcode": "ite",
1542
+ "args": [
1543
+ {
1544
+ "kind": "app",
1545
+ "opcode": "eq",
1546
+ "args": [
1547
+ {
1548
+ "kind": "name",
1549
+ "name": "c"
1550
+ },
1551
+ {
1552
+ "kind": "str",
1553
+ "value": "G"
1554
+ }
1555
+ ]
1556
+ },
1557
+ {
1558
+ "kind": "str",
1559
+ "value": "g"
1560
+ },
1561
+ {
1562
+ "kind": "app",
1563
+ "opcode": "ite",
1564
+ "args": [
1565
+ {
1566
+ "kind": "app",
1567
+ "opcode": "eq",
1568
+ "args": [
1569
+ {
1570
+ "kind": "name",
1571
+ "name": "c"
1572
+ },
1573
+ {
1574
+ "kind": "str",
1575
+ "value": "H"
1576
+ }
1577
+ ]
1578
+ },
1579
+ {
1580
+ "kind": "str",
1581
+ "value": "h"
1582
+ },
1583
+ {
1584
+ "kind": "app",
1585
+ "opcode": "ite",
1586
+ "args": [
1587
+ {
1588
+ "kind": "app",
1589
+ "opcode": "eq",
1590
+ "args": [
1591
+ {
1592
+ "kind": "name",
1593
+ "name": "c"
1594
+ },
1595
+ {
1596
+ "kind": "str",
1597
+ "value": "I"
1598
+ }
1599
+ ]
1600
+ },
1601
+ {
1602
+ "kind": "str",
1603
+ "value": "i"
1604
+ },
1605
+ {
1606
+ "kind": "app",
1607
+ "opcode": "ite",
1608
+ "args": [
1609
+ {
1610
+ "kind": "app",
1611
+ "opcode": "eq",
1612
+ "args": [
1613
+ {
1614
+ "kind": "name",
1615
+ "name": "c"
1616
+ },
1617
+ {
1618
+ "kind": "str",
1619
+ "value": "J"
1620
+ }
1621
+ ]
1622
+ },
1623
+ {
1624
+ "kind": "str",
1625
+ "value": "j"
1626
+ },
1627
+ {
1628
+ "kind": "app",
1629
+ "opcode": "ite",
1630
+ "args": [
1631
+ {
1632
+ "kind": "app",
1633
+ "opcode": "eq",
1634
+ "args": [
1635
+ {
1636
+ "kind": "name",
1637
+ "name": "c"
1638
+ },
1639
+ {
1640
+ "kind": "str",
1641
+ "value": "K"
1642
+ }
1643
+ ]
1644
+ },
1645
+ {
1646
+ "kind": "str",
1647
+ "value": "k"
1648
+ },
1649
+ {
1650
+ "kind": "app",
1651
+ "opcode": "ite",
1652
+ "args": [
1653
+ {
1654
+ "kind": "app",
1655
+ "opcode": "eq",
1656
+ "args": [
1657
+ {
1658
+ "kind": "name",
1659
+ "name": "c"
1660
+ },
1661
+ {
1662
+ "kind": "str",
1663
+ "value": "L"
1664
+ }
1665
+ ]
1666
+ },
1667
+ {
1668
+ "kind": "str",
1669
+ "value": "l"
1670
+ },
1671
+ {
1672
+ "kind": "app",
1673
+ "opcode": "ite",
1674
+ "args": [
1675
+ {
1676
+ "kind": "app",
1677
+ "opcode": "eq",
1678
+ "args": [
1679
+ {
1680
+ "kind": "name",
1681
+ "name": "c"
1682
+ },
1683
+ {
1684
+ "kind": "str",
1685
+ "value": "M"
1686
+ }
1687
+ ]
1688
+ },
1689
+ {
1690
+ "kind": "str",
1691
+ "value": "m"
1692
+ },
1693
+ {
1694
+ "kind": "app",
1695
+ "opcode": "ite",
1696
+ "args": [
1697
+ {
1698
+ "kind": "app",
1699
+ "opcode": "eq",
1700
+ "args": [
1701
+ {
1702
+ "kind": "name",
1703
+ "name": "c"
1704
+ },
1705
+ {
1706
+ "kind": "str",
1707
+ "value": "N"
1708
+ }
1709
+ ]
1710
+ },
1711
+ {
1712
+ "kind": "str",
1713
+ "value": "n"
1714
+ },
1715
+ {
1716
+ "kind": "app",
1717
+ "opcode": "ite",
1718
+ "args": [
1719
+ {
1720
+ "kind": "app",
1721
+ "opcode": "eq",
1722
+ "args": [
1723
+ {
1724
+ "kind": "name",
1725
+ "name": "c"
1726
+ },
1727
+ {
1728
+ "kind": "str",
1729
+ "value": "O"
1730
+ }
1731
+ ]
1732
+ },
1733
+ {
1734
+ "kind": "str",
1735
+ "value": "o"
1736
+ },
1737
+ {
1738
+ "kind": "app",
1739
+ "opcode": "ite",
1740
+ "args": [
1741
+ {
1742
+ "kind": "app",
1743
+ "opcode": "eq",
1744
+ "args": [
1745
+ {
1746
+ "kind": "name",
1747
+ "name": "c"
1748
+ },
1749
+ {
1750
+ "kind": "str",
1751
+ "value": "P"
1752
+ }
1753
+ ]
1754
+ },
1755
+ {
1756
+ "kind": "str",
1757
+ "value": "p"
1758
+ },
1759
+ {
1760
+ "kind": "app",
1761
+ "opcode": "ite",
1762
+ "args": [
1763
+ {
1764
+ "kind": "app",
1765
+ "opcode": "eq",
1766
+ "args": [
1767
+ {
1768
+ "kind": "name",
1769
+ "name": "c"
1770
+ },
1771
+ {
1772
+ "kind": "str",
1773
+ "value": "Q"
1774
+ }
1775
+ ]
1776
+ },
1777
+ {
1778
+ "kind": "str",
1779
+ "value": "q"
1780
+ },
1781
+ {
1782
+ "kind": "app",
1783
+ "opcode": "ite",
1784
+ "args": [
1785
+ {
1786
+ "kind": "app",
1787
+ "opcode": "eq",
1788
+ "args": [
1789
+ {
1790
+ "kind": "name",
1791
+ "name": "c"
1792
+ },
1793
+ {
1794
+ "kind": "str",
1795
+ "value": "R"
1796
+ }
1797
+ ]
1798
+ },
1799
+ {
1800
+ "kind": "str",
1801
+ "value": "r"
1802
+ },
1803
+ {
1804
+ "kind": "app",
1805
+ "opcode": "ite",
1806
+ "args": [
1807
+ {
1808
+ "kind": "app",
1809
+ "opcode": "eq",
1810
+ "args": [
1811
+ {
1812
+ "kind": "name",
1813
+ "name": "c"
1814
+ },
1815
+ {
1816
+ "kind": "str",
1817
+ "value": "S"
1818
+ }
1819
+ ]
1820
+ },
1821
+ {
1822
+ "kind": "str",
1823
+ "value": "s"
1824
+ },
1825
+ {
1826
+ "kind": "app",
1827
+ "opcode": "ite",
1828
+ "args": [
1829
+ {
1830
+ "kind": "app",
1831
+ "opcode": "eq",
1832
+ "args": [
1833
+ {
1834
+ "kind": "name",
1835
+ "name": "c"
1836
+ },
1837
+ {
1838
+ "kind": "str",
1839
+ "value": "T"
1840
+ }
1841
+ ]
1842
+ },
1843
+ {
1844
+ "kind": "str",
1845
+ "value": "t"
1846
+ },
1847
+ {
1848
+ "kind": "app",
1849
+ "opcode": "ite",
1850
+ "args": [
1851
+ {
1852
+ "kind": "app",
1853
+ "opcode": "eq",
1854
+ "args": [
1855
+ {
1856
+ "kind": "name",
1857
+ "name": "c"
1858
+ },
1859
+ {
1860
+ "kind": "str",
1861
+ "value": "U"
1862
+ }
1863
+ ]
1864
+ },
1865
+ {
1866
+ "kind": "str",
1867
+ "value": "u"
1868
+ },
1869
+ {
1870
+ "kind": "app",
1871
+ "opcode": "ite",
1872
+ "args": [
1873
+ {
1874
+ "kind": "app",
1875
+ "opcode": "eq",
1876
+ "args": [
1877
+ {
1878
+ "kind": "name",
1879
+ "name": "c"
1880
+ },
1881
+ {
1882
+ "kind": "str",
1883
+ "value": "V"
1884
+ }
1885
+ ]
1886
+ },
1887
+ {
1888
+ "kind": "str",
1889
+ "value": "v"
1890
+ },
1891
+ {
1892
+ "kind": "app",
1893
+ "opcode": "ite",
1894
+ "args": [
1895
+ {
1896
+ "kind": "app",
1897
+ "opcode": "eq",
1898
+ "args": [
1899
+ {
1900
+ "kind": "name",
1901
+ "name": "c"
1902
+ },
1903
+ {
1904
+ "kind": "str",
1905
+ "value": "W"
1906
+ }
1907
+ ]
1908
+ },
1909
+ {
1910
+ "kind": "str",
1911
+ "value": "w"
1912
+ },
1913
+ {
1914
+ "kind": "app",
1915
+ "opcode": "ite",
1916
+ "args": [
1917
+ {
1918
+ "kind": "app",
1919
+ "opcode": "eq",
1920
+ "args": [
1921
+ {
1922
+ "kind": "name",
1923
+ "name": "c"
1924
+ },
1925
+ {
1926
+ "kind": "str",
1927
+ "value": "X"
1928
+ }
1929
+ ]
1930
+ },
1931
+ {
1932
+ "kind": "str",
1933
+ "value": "x"
1934
+ },
1935
+ {
1936
+ "kind": "app",
1937
+ "opcode": "ite",
1938
+ "args": [
1939
+ {
1940
+ "kind": "app",
1941
+ "opcode": "eq",
1942
+ "args": [
1943
+ {
1944
+ "kind": "name",
1945
+ "name": "c"
1946
+ },
1947
+ {
1948
+ "kind": "str",
1949
+ "value": "Y"
1950
+ }
1951
+ ]
1952
+ },
1953
+ {
1954
+ "kind": "str",
1955
+ "value": "y"
1956
+ },
1957
+ {
1958
+ "kind": "app",
1959
+ "opcode": "ite",
1960
+ "args": [
1961
+ {
1962
+ "kind": "app",
1963
+ "opcode": "eq",
1964
+ "args": [
1965
+ {
1966
+ "kind": "name",
1967
+ "name": "c"
1968
+ },
1969
+ {
1970
+ "kind": "str",
1971
+ "value": "Z"
1972
+ }
1973
+ ]
1974
+ },
1975
+ {
1976
+ "kind": "str",
1977
+ "value": "z"
1978
+ },
1979
+ {
1980
+ "kind": "name",
1981
+ "name": "c"
1982
+ }
1983
+ ]
1984
+ }
1985
+ ]
1986
+ }
1987
+ ]
1988
+ }
1989
+ ]
1990
+ }
1991
+ ]
1992
+ }
1993
+ ]
1994
+ }
1995
+ ]
1996
+ }
1997
+ ]
1998
+ }
1999
+ ]
2000
+ }
2001
+ ]
2002
+ }
2003
+ ]
2004
+ }
2005
+ ]
2006
+ }
2007
+ ]
2008
+ }
2009
+ ]
2010
+ }
2011
+ ]
2012
+ }
2013
+ ]
2014
+ }
2015
+ ]
2016
+ }
2017
+ ]
2018
+ }
2019
+ ]
2020
+ }
2021
+ ]
2022
+ }
2023
+ ]
2024
+ }
2025
+ ]
2026
+ }
2027
+ ]
2028
+ }
2029
+ ]
2030
+ }
2031
+ ]
2032
+ }
2033
+ ]
2034
+ }
2035
+ },
2036
+ "ariaTaSameChar": {
2037
+ "kind": "function",
2038
+ "params": [
2039
+ "a",
2040
+ "b"
2041
+ ],
2042
+ "body": {
2043
+ "kind": "app",
2044
+ "opcode": "eq",
2045
+ "args": [
2046
+ {
2047
+ "kind": "app",
2048
+ "opcode": "ariaTaFold",
2049
+ "args": [
2050
+ {
2051
+ "kind": "name",
2052
+ "name": "a"
2053
+ }
2054
+ ]
2055
+ },
2056
+ {
2057
+ "kind": "app",
2058
+ "opcode": "ariaTaFold",
2059
+ "args": [
2060
+ {
2061
+ "kind": "name",
2062
+ "name": "b"
2063
+ }
2064
+ ]
2065
+ }
2066
+ ]
2067
+ }
2068
+ },
2069
+ "ariaOrientationKnown": {
2070
+ "kind": "function",
2071
+ "params": [
2072
+ "o"
2073
+ ],
2074
+ "body": {
2075
+ "kind": "app",
2076
+ "opcode": "or",
2077
+ "args": [
2078
+ {
2079
+ "kind": "app",
2080
+ "opcode": "eq",
2081
+ "args": [
2082
+ {
2083
+ "kind": "name",
2084
+ "name": "o"
2085
+ },
2086
+ {
2087
+ "kind": "str",
2088
+ "value": "horizontal"
2089
+ }
2090
+ ]
2091
+ },
2092
+ {
2093
+ "kind": "app",
2094
+ "opcode": "eq",
2095
+ "args": [
2096
+ {
2097
+ "kind": "name",
2098
+ "name": "o"
2099
+ },
2100
+ {
2101
+ "kind": "str",
2102
+ "value": "vertical"
2103
+ }
2104
+ ]
2105
+ }
2106
+ ]
2107
+ }
2108
+ },
2109
+ "ariaAxisForward": {
2110
+ "kind": "function",
2111
+ "params": [
2112
+ "o",
2113
+ "key"
2114
+ ],
2115
+ "body": {
2116
+ "kind": "app",
2117
+ "opcode": "or",
2118
+ "args": [
2119
+ {
2120
+ "kind": "app",
2121
+ "opcode": "and",
2122
+ "args": [
2123
+ {
2124
+ "kind": "app",
2125
+ "opcode": "eq",
2126
+ "args": [
2127
+ {
2128
+ "kind": "name",
2129
+ "name": "o"
2130
+ },
2131
+ {
2132
+ "kind": "str",
2133
+ "value": "horizontal"
2134
+ }
2135
+ ]
2136
+ },
2137
+ {
2138
+ "kind": "app",
2139
+ "opcode": "eq",
2140
+ "args": [
2141
+ {
2142
+ "kind": "name",
2143
+ "name": "key"
2144
+ },
2145
+ {
2146
+ "kind": "str",
2147
+ "value": "ArrowRight"
2148
+ }
2149
+ ]
2150
+ }
2151
+ ]
2152
+ },
2153
+ {
2154
+ "kind": "app",
2155
+ "opcode": "and",
2156
+ "args": [
2157
+ {
2158
+ "kind": "app",
2159
+ "opcode": "eq",
2160
+ "args": [
2161
+ {
2162
+ "kind": "name",
2163
+ "name": "o"
2164
+ },
2165
+ {
2166
+ "kind": "str",
2167
+ "value": "vertical"
2168
+ }
2169
+ ]
2170
+ },
2171
+ {
2172
+ "kind": "app",
2173
+ "opcode": "eq",
2174
+ "args": [
2175
+ {
2176
+ "kind": "name",
2177
+ "name": "key"
2178
+ },
2179
+ {
2180
+ "kind": "str",
2181
+ "value": "ArrowDown"
2182
+ }
2183
+ ]
2184
+ }
2185
+ ]
2186
+ }
2187
+ ]
2188
+ }
2189
+ },
2190
+ "ariaAxisBackward": {
2191
+ "kind": "function",
2192
+ "params": [
2193
+ "o",
2194
+ "key"
2195
+ ],
2196
+ "body": {
2197
+ "kind": "app",
2198
+ "opcode": "or",
2199
+ "args": [
2200
+ {
2201
+ "kind": "app",
2202
+ "opcode": "and",
2203
+ "args": [
2204
+ {
2205
+ "kind": "app",
2206
+ "opcode": "eq",
2207
+ "args": [
2208
+ {
2209
+ "kind": "name",
2210
+ "name": "o"
2211
+ },
2212
+ {
2213
+ "kind": "str",
2214
+ "value": "horizontal"
2215
+ }
2216
+ ]
2217
+ },
2218
+ {
2219
+ "kind": "app",
2220
+ "opcode": "eq",
2221
+ "args": [
2222
+ {
2223
+ "kind": "name",
2224
+ "name": "key"
2225
+ },
2226
+ {
2227
+ "kind": "str",
2228
+ "value": "ArrowLeft"
2229
+ }
2230
+ ]
2231
+ }
2232
+ ]
2233
+ },
2234
+ {
2235
+ "kind": "app",
2236
+ "opcode": "and",
2237
+ "args": [
2238
+ {
2239
+ "kind": "app",
2240
+ "opcode": "eq",
2241
+ "args": [
2242
+ {
2243
+ "kind": "name",
2244
+ "name": "o"
2245
+ },
2246
+ {
2247
+ "kind": "str",
2248
+ "value": "vertical"
2249
+ }
2250
+ ]
2251
+ },
2252
+ {
2253
+ "kind": "app",
2254
+ "opcode": "eq",
2255
+ "args": [
2256
+ {
2257
+ "kind": "name",
2258
+ "name": "key"
2259
+ },
2260
+ {
2261
+ "kind": "str",
2262
+ "value": "ArrowUp"
2263
+ }
2264
+ ]
2265
+ }
2266
+ ]
2267
+ }
2268
+ ]
2269
+ }
2270
+ },
2271
+ "ariaFlipped": {
2272
+ "kind": "function",
2273
+ "params": [
2274
+ "o",
2275
+ "d"
2276
+ ],
2277
+ "body": {
2278
+ "kind": "app",
2279
+ "opcode": "and",
2280
+ "args": [
2281
+ {
2282
+ "kind": "app",
2283
+ "opcode": "eq",
2284
+ "args": [
2285
+ {
2286
+ "kind": "name",
2287
+ "name": "o"
2288
+ },
2289
+ {
2290
+ "kind": "str",
2291
+ "value": "horizontal"
2292
+ }
2293
+ ]
2294
+ },
2295
+ {
2296
+ "kind": "app",
2297
+ "opcode": "eq",
2298
+ "args": [
2299
+ {
2300
+ "kind": "name",
2301
+ "name": "d"
2302
+ },
2303
+ {
2304
+ "kind": "str",
2305
+ "value": "rtl"
2306
+ }
2307
+ ]
2308
+ }
2309
+ ]
2310
+ }
2311
+ },
2312
+ "ariaValueArrow": {
2313
+ "kind": "function",
2314
+ "params": [
2315
+ "key",
2316
+ "o",
2317
+ "d"
2318
+ ],
2319
+ "body": {
2320
+ "kind": "app",
2321
+ "opcode": "ite",
2322
+ "args": [
2323
+ {
2324
+ "kind": "app",
2325
+ "opcode": "eq",
2326
+ "args": [
2327
+ {
2328
+ "kind": "name",
2329
+ "name": "key"
2330
+ },
2331
+ {
2332
+ "kind": "str",
2333
+ "value": "ArrowUp"
2334
+ }
2335
+ ]
2336
+ },
2337
+ {
2338
+ "kind": "int",
2339
+ "value": "1"
2340
+ },
2341
+ {
2342
+ "kind": "app",
2343
+ "opcode": "ite",
2344
+ "args": [
2345
+ {
2346
+ "kind": "app",
2347
+ "opcode": "eq",
2348
+ "args": [
2349
+ {
2350
+ "kind": "name",
2351
+ "name": "key"
2352
+ },
2353
+ {
2354
+ "kind": "str",
2355
+ "value": "ArrowDown"
2356
+ }
2357
+ ]
2358
+ },
2359
+ {
2360
+ "kind": "app",
2361
+ "opcode": "iuminus",
2362
+ "args": [
2363
+ {
2364
+ "kind": "int",
2365
+ "value": "1"
2366
+ }
2367
+ ]
2368
+ },
2369
+ {
2370
+ "kind": "app",
2371
+ "opcode": "ite",
2372
+ "args": [
2373
+ {
2374
+ "kind": "app",
2375
+ "opcode": "eq",
2376
+ "args": [
2377
+ {
2378
+ "kind": "name",
2379
+ "name": "key"
2380
+ },
2381
+ {
2382
+ "kind": "str",
2383
+ "value": "ArrowRight"
2384
+ }
2385
+ ]
2386
+ },
2387
+ {
2388
+ "kind": "app",
2389
+ "opcode": "ite",
2390
+ "args": [
2391
+ {
2392
+ "kind": "app",
2393
+ "opcode": "ariaFlipped",
2394
+ "args": [
2395
+ {
2396
+ "kind": "name",
2397
+ "name": "o"
2398
+ },
2399
+ {
2400
+ "kind": "name",
2401
+ "name": "d"
2402
+ }
2403
+ ]
2404
+ },
2405
+ {
2406
+ "kind": "app",
2407
+ "opcode": "iuminus",
2408
+ "args": [
2409
+ {
2410
+ "kind": "int",
2411
+ "value": "1"
2412
+ }
2413
+ ]
2414
+ },
2415
+ {
2416
+ "kind": "int",
2417
+ "value": "1"
2418
+ }
2419
+ ]
2420
+ },
2421
+ {
2422
+ "kind": "app",
2423
+ "opcode": "ite",
2424
+ "args": [
2425
+ {
2426
+ "kind": "app",
2427
+ "opcode": "eq",
2428
+ "args": [
2429
+ {
2430
+ "kind": "name",
2431
+ "name": "key"
2432
+ },
2433
+ {
2434
+ "kind": "str",
2435
+ "value": "ArrowLeft"
2436
+ }
2437
+ ]
2438
+ },
2439
+ {
2440
+ "kind": "app",
2441
+ "opcode": "ite",
2442
+ "args": [
2443
+ {
2444
+ "kind": "app",
2445
+ "opcode": "ariaFlipped",
2446
+ "args": [
2447
+ {
2448
+ "kind": "name",
2449
+ "name": "o"
2450
+ },
2451
+ {
2452
+ "kind": "name",
2453
+ "name": "d"
2454
+ }
2455
+ ]
2456
+ },
2457
+ {
2458
+ "kind": "int",
2459
+ "value": "1"
2460
+ },
2461
+ {
2462
+ "kind": "app",
2463
+ "opcode": "iuminus",
2464
+ "args": [
2465
+ {
2466
+ "kind": "int",
2467
+ "value": "1"
2468
+ }
2469
+ ]
2470
+ }
2471
+ ]
2472
+ },
2473
+ {
2474
+ "kind": "int",
2475
+ "value": "0"
2476
+ }
2477
+ ]
2478
+ }
2479
+ ]
2480
+ }
2481
+ ]
2482
+ }
2483
+ ]
2484
+ }
2485
+ },
2486
+ "ariaSelModeKnown": {
2487
+ "kind": "function",
2488
+ "params": [
2489
+ "m"
2490
+ ],
2491
+ "body": {
2492
+ "kind": "app",
2493
+ "opcode": "or",
2494
+ "args": [
2495
+ {
2496
+ "kind": "app",
2497
+ "opcode": "eq",
2498
+ "args": [
2499
+ {
2500
+ "kind": "name",
2501
+ "name": "m"
2502
+ },
2503
+ {
2504
+ "kind": "str",
2505
+ "value": "single"
2506
+ }
2507
+ ]
2508
+ },
2509
+ {
2510
+ "kind": "app",
2511
+ "opcode": "eq",
2512
+ "args": [
2513
+ {
2514
+ "kind": "name",
2515
+ "name": "m"
2516
+ },
2517
+ {
2518
+ "kind": "str",
2519
+ "value": "multi"
2520
+ }
2521
+ ]
2522
+ }
2523
+ ]
2524
+ }
2525
+ },
2526
+ "ariaSelIsMulti": {
2527
+ "kind": "function",
2528
+ "params": [
2529
+ "m"
2530
+ ],
2531
+ "body": {
2532
+ "kind": "app",
2533
+ "opcode": "eq",
2534
+ "args": [
2535
+ {
2536
+ "kind": "name",
2537
+ "name": "m"
2538
+ },
2539
+ {
2540
+ "kind": "str",
2541
+ "value": "multi"
2542
+ }
2543
+ ]
2544
+ }
2545
+ },
2546
+ "ariaSingleHoldsAtMostOne": {
2547
+ "kind": "function",
2548
+ "params": [
2549
+ "controlled",
2550
+ "multi",
2551
+ "cnt"
2552
+ ],
2553
+ "body": {
2554
+ "kind": "app",
2555
+ "opcode": "or",
2556
+ "args": [
2557
+ {
2558
+ "kind": "name",
2559
+ "name": "controlled"
2560
+ },
2561
+ {
2562
+ "kind": "name",
2563
+ "name": "multi"
2564
+ },
2565
+ {
2566
+ "kind": "app",
2567
+ "opcode": "ilte",
2568
+ "args": [
2569
+ {
2570
+ "kind": "name",
2571
+ "name": "cnt"
2572
+ },
2573
+ {
2574
+ "kind": "int",
2575
+ "value": "1"
2576
+ }
2577
+ ]
2578
+ }
2579
+ ]
2580
+ }
2581
+ },
2582
+ "ariaBoolToken": {
2583
+ "kind": "function",
2584
+ "params": [
2585
+ "b"
2586
+ ],
2587
+ "body": {
2588
+ "kind": "app",
2589
+ "opcode": "ite",
2590
+ "args": [
2591
+ {
2592
+ "kind": "name",
2593
+ "name": "b"
2594
+ },
2595
+ {
2596
+ "kind": "str",
2597
+ "value": "true"
2598
+ },
2599
+ {
2600
+ "kind": "str",
2601
+ "value": "false"
2602
+ }
2603
+ ]
2604
+ }
2605
+ }
2606
+ },
2607
+ "actions": [
2608
+ {
2609
+ "name": "init",
2610
+ "assignments": [
2611
+ {
2612
+ "field": "focusIdx",
2613
+ "rhs": {
2614
+ "kind": "int",
2615
+ "value": "0"
2616
+ }
2617
+ },
2618
+ {
2619
+ "field": "menuOpen",
2620
+ "rhs": {
2621
+ "kind": "bool",
2622
+ "value": false
2623
+ }
2624
+ },
2625
+ {
2626
+ "field": "wrap",
2627
+ "rhs": {
2628
+ "kind": "bool",
2629
+ "value": false
2630
+ }
2631
+ },
2632
+ {
2633
+ "field": "choice",
2634
+ "rhs": {
2635
+ "kind": "int",
2636
+ "value": "2"
2637
+ }
2638
+ },
2639
+ {
2640
+ "field": "lastActivated",
2641
+ "rhs": {
2642
+ "kind": "int",
2643
+ "value": "0"
2644
+ }
2645
+ },
2646
+ {
2647
+ "field": "controlled",
2648
+ "rhs": {
2649
+ "kind": "bool",
2650
+ "value": false
2651
+ }
2652
+ },
2653
+ {
2654
+ "field": "accepting",
2655
+ "rhs": {
2656
+ "kind": "bool",
2657
+ "value": false
2658
+ }
2659
+ },
2660
+ {
2661
+ "field": "valueProp",
2662
+ "rhs": {
2663
+ "kind": "int",
2664
+ "value": "2"
2665
+ }
2666
+ },
2667
+ {
2668
+ "field": "requested",
2669
+ "rhs": {
2670
+ "kind": "int",
2671
+ "value": "2"
2672
+ }
2673
+ },
2674
+ {
2675
+ "field": "outcome",
2676
+ "rhs": {
2677
+ "kind": "str",
2678
+ "value": "none"
2679
+ }
2680
+ },
2681
+ {
2682
+ "field": "base",
2683
+ "rhs": {
2684
+ "kind": "int",
2685
+ "value": "2"
2686
+ }
2687
+ },
2688
+ {
2689
+ "field": "requests",
2690
+ "rhs": {
2691
+ "kind": "int",
2692
+ "value": "0"
2693
+ }
2694
+ }
2695
+ ]
2696
+ },
2697
+ {
2698
+ "name": "arrow_down",
2699
+ "assignments": [
2700
+ {
2701
+ "field": "focusIdx",
2702
+ "rhs": {
2703
+ "kind": "app",
2704
+ "opcode": "ite",
2705
+ "args": [
2706
+ {
2707
+ "kind": "name",
2708
+ "name": "menuOpen"
2709
+ },
2710
+ {
2711
+ "kind": "app",
2712
+ "opcode": "ariaWrapNext1",
2713
+ "args": [
2714
+ {
2715
+ "kind": "name",
2716
+ "name": "focusIdx"
2717
+ },
2718
+ {
2719
+ "kind": "int",
2720
+ "value": "5"
2721
+ }
2722
+ ]
2723
+ },
2724
+ {
2725
+ "kind": "int",
2726
+ "value": "1"
2727
+ }
2728
+ ]
2729
+ }
2730
+ },
2731
+ {
2732
+ "field": "menuOpen",
2733
+ "rhs": {
2734
+ "kind": "bool",
2735
+ "value": true
2736
+ }
2737
+ },
2738
+ {
2739
+ "field": "wrap",
2740
+ "rhs": {
2741
+ "kind": "name",
2742
+ "name": "wrap"
2743
+ }
2744
+ },
2745
+ {
2746
+ "field": "choice",
2747
+ "rhs": {
2748
+ "kind": "name",
2749
+ "name": "choice"
2750
+ }
2751
+ },
2752
+ {
2753
+ "field": "lastActivated",
2754
+ "rhs": {
2755
+ "kind": "name",
2756
+ "name": "lastActivated"
2757
+ }
2758
+ },
2759
+ {
2760
+ "field": "controlled",
2761
+ "rhs": {
2762
+ "kind": "name",
2763
+ "name": "controlled"
2764
+ }
2765
+ },
2766
+ {
2767
+ "field": "accepting",
2768
+ "rhs": {
2769
+ "kind": "name",
2770
+ "name": "accepting"
2771
+ }
2772
+ },
2773
+ {
2774
+ "field": "valueProp",
2775
+ "rhs": {
2776
+ "kind": "name",
2777
+ "name": "valueProp"
2778
+ }
2779
+ },
2780
+ {
2781
+ "field": "requested",
2782
+ "rhs": {
2783
+ "kind": "name",
2784
+ "name": "requested"
2785
+ }
2786
+ },
2787
+ {
2788
+ "field": "outcome",
2789
+ "rhs": {
2790
+ "kind": "name",
2791
+ "name": "outcome"
2792
+ }
2793
+ },
2794
+ {
2795
+ "field": "base",
2796
+ "rhs": {
2797
+ "kind": "name",
2798
+ "name": "base"
2799
+ }
2800
+ },
2801
+ {
2802
+ "field": "requests",
2803
+ "rhs": {
2804
+ "kind": "name",
2805
+ "name": "requests"
2806
+ }
2807
+ }
2808
+ ]
2809
+ },
2810
+ {
2811
+ "name": "arrow_up",
2812
+ "assignments": [
2813
+ {
2814
+ "field": "focusIdx",
2815
+ "rhs": {
2816
+ "kind": "app",
2817
+ "opcode": "ite",
2818
+ "args": [
2819
+ {
2820
+ "kind": "name",
2821
+ "name": "menuOpen"
2822
+ },
2823
+ {
2824
+ "kind": "app",
2825
+ "opcode": "ariaWrapPrev1",
2826
+ "args": [
2827
+ {
2828
+ "kind": "name",
2829
+ "name": "focusIdx"
2830
+ },
2831
+ {
2832
+ "kind": "int",
2833
+ "value": "5"
2834
+ }
2835
+ ]
2836
+ },
2837
+ {
2838
+ "kind": "int",
2839
+ "value": "5"
2840
+ }
2841
+ ]
2842
+ }
2843
+ },
2844
+ {
2845
+ "field": "menuOpen",
2846
+ "rhs": {
2847
+ "kind": "bool",
2848
+ "value": true
2849
+ }
2850
+ },
2851
+ {
2852
+ "field": "wrap",
2853
+ "rhs": {
2854
+ "kind": "name",
2855
+ "name": "wrap"
2856
+ }
2857
+ },
2858
+ {
2859
+ "field": "choice",
2860
+ "rhs": {
2861
+ "kind": "name",
2862
+ "name": "choice"
2863
+ }
2864
+ },
2865
+ {
2866
+ "field": "lastActivated",
2867
+ "rhs": {
2868
+ "kind": "name",
2869
+ "name": "lastActivated"
2870
+ }
2871
+ },
2872
+ {
2873
+ "field": "controlled",
2874
+ "rhs": {
2875
+ "kind": "name",
2876
+ "name": "controlled"
2877
+ }
2878
+ },
2879
+ {
2880
+ "field": "accepting",
2881
+ "rhs": {
2882
+ "kind": "name",
2883
+ "name": "accepting"
2884
+ }
2885
+ },
2886
+ {
2887
+ "field": "valueProp",
2888
+ "rhs": {
2889
+ "kind": "name",
2890
+ "name": "valueProp"
2891
+ }
2892
+ },
2893
+ {
2894
+ "field": "requested",
2895
+ "rhs": {
2896
+ "kind": "name",
2897
+ "name": "requested"
2898
+ }
2899
+ },
2900
+ {
2901
+ "field": "outcome",
2902
+ "rhs": {
2903
+ "kind": "name",
2904
+ "name": "outcome"
2905
+ }
2906
+ },
2907
+ {
2908
+ "field": "base",
2909
+ "rhs": {
2910
+ "kind": "name",
2911
+ "name": "base"
2912
+ }
2913
+ },
2914
+ {
2915
+ "field": "requests",
2916
+ "rhs": {
2917
+ "kind": "name",
2918
+ "name": "requests"
2919
+ }
2920
+ }
2921
+ ]
2922
+ },
2923
+ {
2924
+ "name": "key_home",
2925
+ "assignments": [
2926
+ {
2927
+ "field": "focusIdx",
2928
+ "rhs": {
2929
+ "kind": "app",
2930
+ "opcode": "ite",
2931
+ "args": [
2932
+ {
2933
+ "kind": "name",
2934
+ "name": "menuOpen"
2935
+ },
2936
+ {
2937
+ "kind": "int",
2938
+ "value": "1"
2939
+ },
2940
+ {
2941
+ "kind": "name",
2942
+ "name": "focusIdx"
2943
+ }
2944
+ ]
2945
+ }
2946
+ },
2947
+ {
2948
+ "field": "menuOpen",
2949
+ "rhs": {
2950
+ "kind": "name",
2951
+ "name": "menuOpen"
2952
+ }
2953
+ },
2954
+ {
2955
+ "field": "wrap",
2956
+ "rhs": {
2957
+ "kind": "name",
2958
+ "name": "wrap"
2959
+ }
2960
+ },
2961
+ {
2962
+ "field": "choice",
2963
+ "rhs": {
2964
+ "kind": "name",
2965
+ "name": "choice"
2966
+ }
2967
+ },
2968
+ {
2969
+ "field": "lastActivated",
2970
+ "rhs": {
2971
+ "kind": "name",
2972
+ "name": "lastActivated"
2973
+ }
2974
+ },
2975
+ {
2976
+ "field": "controlled",
2977
+ "rhs": {
2978
+ "kind": "name",
2979
+ "name": "controlled"
2980
+ }
2981
+ },
2982
+ {
2983
+ "field": "accepting",
2984
+ "rhs": {
2985
+ "kind": "name",
2986
+ "name": "accepting"
2987
+ }
2988
+ },
2989
+ {
2990
+ "field": "valueProp",
2991
+ "rhs": {
2992
+ "kind": "name",
2993
+ "name": "valueProp"
2994
+ }
2995
+ },
2996
+ {
2997
+ "field": "requested",
2998
+ "rhs": {
2999
+ "kind": "name",
3000
+ "name": "requested"
3001
+ }
3002
+ },
3003
+ {
3004
+ "field": "outcome",
3005
+ "rhs": {
3006
+ "kind": "name",
3007
+ "name": "outcome"
3008
+ }
3009
+ },
3010
+ {
3011
+ "field": "base",
3012
+ "rhs": {
3013
+ "kind": "name",
3014
+ "name": "base"
3015
+ }
3016
+ },
3017
+ {
3018
+ "field": "requests",
3019
+ "rhs": {
3020
+ "kind": "name",
3021
+ "name": "requests"
3022
+ }
3023
+ }
3024
+ ]
3025
+ },
3026
+ {
3027
+ "name": "key_end",
3028
+ "assignments": [
3029
+ {
3030
+ "field": "focusIdx",
3031
+ "rhs": {
3032
+ "kind": "app",
3033
+ "opcode": "ite",
3034
+ "args": [
3035
+ {
3036
+ "kind": "name",
3037
+ "name": "menuOpen"
3038
+ },
3039
+ {
3040
+ "kind": "int",
3041
+ "value": "5"
3042
+ },
3043
+ {
3044
+ "kind": "name",
3045
+ "name": "focusIdx"
3046
+ }
3047
+ ]
3048
+ }
3049
+ },
3050
+ {
3051
+ "field": "menuOpen",
3052
+ "rhs": {
3053
+ "kind": "name",
3054
+ "name": "menuOpen"
3055
+ }
3056
+ },
3057
+ {
3058
+ "field": "wrap",
3059
+ "rhs": {
3060
+ "kind": "name",
3061
+ "name": "wrap"
3062
+ }
3063
+ },
3064
+ {
3065
+ "field": "choice",
3066
+ "rhs": {
3067
+ "kind": "name",
3068
+ "name": "choice"
3069
+ }
3070
+ },
3071
+ {
3072
+ "field": "lastActivated",
3073
+ "rhs": {
3074
+ "kind": "name",
3075
+ "name": "lastActivated"
3076
+ }
3077
+ },
3078
+ {
3079
+ "field": "controlled",
3080
+ "rhs": {
3081
+ "kind": "name",
3082
+ "name": "controlled"
3083
+ }
3084
+ },
3085
+ {
3086
+ "field": "accepting",
3087
+ "rhs": {
3088
+ "kind": "name",
3089
+ "name": "accepting"
3090
+ }
3091
+ },
3092
+ {
3093
+ "field": "valueProp",
3094
+ "rhs": {
3095
+ "kind": "name",
3096
+ "name": "valueProp"
3097
+ }
3098
+ },
3099
+ {
3100
+ "field": "requested",
3101
+ "rhs": {
3102
+ "kind": "name",
3103
+ "name": "requested"
3104
+ }
3105
+ },
3106
+ {
3107
+ "field": "outcome",
3108
+ "rhs": {
3109
+ "kind": "name",
3110
+ "name": "outcome"
3111
+ }
3112
+ },
3113
+ {
3114
+ "field": "base",
3115
+ "rhs": {
3116
+ "kind": "name",
3117
+ "name": "base"
3118
+ }
3119
+ },
3120
+ {
3121
+ "field": "requests",
3122
+ "rhs": {
3123
+ "kind": "name",
3124
+ "name": "requests"
3125
+ }
3126
+ }
3127
+ ]
3128
+ },
3129
+ {
3130
+ "name": "enter",
3131
+ "assignments": [
3132
+ {
3133
+ "field": "focusIdx",
3134
+ "rhs": {
3135
+ "kind": "app",
3136
+ "opcode": "ite",
3137
+ "args": [
3138
+ {
3139
+ "kind": "name",
3140
+ "name": "menuOpen"
3141
+ },
3142
+ {
3143
+ "kind": "int",
3144
+ "value": "0"
3145
+ },
3146
+ {
3147
+ "kind": "int",
3148
+ "value": "1"
3149
+ }
3150
+ ]
3151
+ }
3152
+ },
3153
+ {
3154
+ "field": "menuOpen",
3155
+ "rhs": {
3156
+ "kind": "app",
3157
+ "opcode": "not",
3158
+ "args": [
3159
+ {
3160
+ "kind": "name",
3161
+ "name": "menuOpen"
3162
+ }
3163
+ ]
3164
+ }
3165
+ },
3166
+ {
3167
+ "field": "wrap",
3168
+ "rhs": {
3169
+ "kind": "app",
3170
+ "opcode": "ite",
3171
+ "args": [
3172
+ {
3173
+ "kind": "name",
3174
+ "name": "rejects"
3175
+ },
3176
+ {
3177
+ "kind": "name",
3178
+ "name": "wrap"
3179
+ },
3180
+ {
3181
+ "kind": "name",
3182
+ "name": "intentWrap"
3183
+ }
3184
+ ]
3185
+ }
3186
+ },
3187
+ {
3188
+ "field": "choice",
3189
+ "rhs": {
3190
+ "kind": "app",
3191
+ "opcode": "ite",
3192
+ "args": [
3193
+ {
3194
+ "kind": "name",
3195
+ "name": "rejects"
3196
+ },
3197
+ {
3198
+ "kind": "name",
3199
+ "name": "choice"
3200
+ },
3201
+ {
3202
+ "kind": "name",
3203
+ "name": "intentChoice"
3204
+ }
3205
+ ]
3206
+ }
3207
+ },
3208
+ {
3209
+ "field": "lastActivated",
3210
+ "rhs": {
3211
+ "kind": "app",
3212
+ "opcode": "ite",
3213
+ "args": [
3214
+ {
3215
+ "kind": "name",
3216
+ "name": "menuOpen"
3217
+ },
3218
+ {
3219
+ "kind": "name",
3220
+ "name": "focusIdx"
3221
+ },
3222
+ {
3223
+ "kind": "name",
3224
+ "name": "lastActivated"
3225
+ }
3226
+ ]
3227
+ }
3228
+ },
3229
+ {
3230
+ "field": "controlled",
3231
+ "rhs": {
3232
+ "kind": "name",
3233
+ "name": "controlled"
3234
+ }
3235
+ },
3236
+ {
3237
+ "field": "accepting",
3238
+ "rhs": {
3239
+ "kind": "name",
3240
+ "name": "accepting"
3241
+ }
3242
+ },
3243
+ {
3244
+ "field": "valueProp",
3245
+ "rhs": {
3246
+ "kind": "app",
3247
+ "opcode": "propAfter",
3248
+ "args": [
3249
+ {
3250
+ "kind": "name",
3251
+ "name": "follows"
3252
+ },
3253
+ {
3254
+ "kind": "name",
3255
+ "name": "valueProp"
3256
+ },
3257
+ {
3258
+ "kind": "name",
3259
+ "name": "intentPacked"
3260
+ }
3261
+ ]
3262
+ }
3263
+ },
3264
+ {
3265
+ "field": "requested",
3266
+ "rhs": {
3267
+ "kind": "app",
3268
+ "opcode": "ite",
3269
+ "args": [
3270
+ {
3271
+ "kind": "name",
3272
+ "name": "checkedMoves"
3273
+ },
3274
+ {
3275
+ "kind": "name",
3276
+ "name": "intentPacked"
3277
+ },
3278
+ {
3279
+ "kind": "name",
3280
+ "name": "requested"
3281
+ }
3282
+ ]
3283
+ }
3284
+ },
3285
+ {
3286
+ "field": "outcome",
3287
+ "rhs": {
3288
+ "kind": "app",
3289
+ "opcode": "ite",
3290
+ "args": [
3291
+ {
3292
+ "kind": "name",
3293
+ "name": "checkedMoves"
3294
+ },
3295
+ {
3296
+ "kind": "name",
3297
+ "name": "verdict"
3298
+ },
3299
+ {
3300
+ "kind": "name",
3301
+ "name": "outcome"
3302
+ }
3303
+ ]
3304
+ }
3305
+ },
3306
+ {
3307
+ "field": "base",
3308
+ "rhs": {
3309
+ "kind": "app",
3310
+ "opcode": "ite",
3311
+ "args": [
3312
+ {
3313
+ "kind": "name",
3314
+ "name": "checkedMoves"
3315
+ },
3316
+ {
3317
+ "kind": "name",
3318
+ "name": "nowPacked"
3319
+ },
3320
+ {
3321
+ "kind": "name",
3322
+ "name": "base"
3323
+ }
3324
+ ]
3325
+ }
3326
+ },
3327
+ {
3328
+ "field": "requests",
3329
+ "rhs": {
3330
+ "kind": "app",
3331
+ "opcode": "ite",
3332
+ "args": [
3333
+ {
3334
+ "kind": "name",
3335
+ "name": "checkedMoves"
3336
+ },
3337
+ {
3338
+ "kind": "app",
3339
+ "opcode": "iadd",
3340
+ "args": [
3341
+ {
3342
+ "kind": "name",
3343
+ "name": "requests"
3344
+ },
3345
+ {
3346
+ "kind": "int",
3347
+ "value": "1"
3348
+ }
3349
+ ]
3350
+ },
3351
+ {
3352
+ "kind": "name",
3353
+ "name": "requests"
3354
+ }
3355
+ ]
3356
+ }
3357
+ }
3358
+ ]
3359
+ },
3360
+ {
3361
+ "name": "space",
3362
+ "assignments": [
3363
+ {
3364
+ "field": "focusIdx",
3365
+ "rhs": {
3366
+ "kind": "app",
3367
+ "opcode": "ite",
3368
+ "args": [
3369
+ {
3370
+ "kind": "app",
3371
+ "opcode": "not",
3372
+ "args": [
3373
+ {
3374
+ "kind": "name",
3375
+ "name": "menuOpen"
3376
+ }
3377
+ ]
3378
+ },
3379
+ {
3380
+ "kind": "int",
3381
+ "value": "1"
3382
+ },
3383
+ {
3384
+ "kind": "app",
3385
+ "opcode": "ite",
3386
+ "args": [
3387
+ {
3388
+ "kind": "app",
3389
+ "opcode": "eq",
3390
+ "args": [
3391
+ {
3392
+ "kind": "name",
3393
+ "name": "focusIdx"
3394
+ },
3395
+ {
3396
+ "kind": "int",
3397
+ "value": "5"
3398
+ }
3399
+ ]
3400
+ },
3401
+ {
3402
+ "kind": "int",
3403
+ "value": "0"
3404
+ },
3405
+ {
3406
+ "kind": "name",
3407
+ "name": "focusIdx"
3408
+ }
3409
+ ]
3410
+ }
3411
+ ]
3412
+ }
3413
+ },
3414
+ {
3415
+ "field": "menuOpen",
3416
+ "rhs": {
3417
+ "kind": "app",
3418
+ "opcode": "ite",
3419
+ "args": [
3420
+ {
3421
+ "kind": "app",
3422
+ "opcode": "not",
3423
+ "args": [
3424
+ {
3425
+ "kind": "name",
3426
+ "name": "menuOpen"
3427
+ }
3428
+ ]
3429
+ },
3430
+ {
3431
+ "kind": "bool",
3432
+ "value": true
3433
+ },
3434
+ {
3435
+ "kind": "app",
3436
+ "opcode": "ite",
3437
+ "args": [
3438
+ {
3439
+ "kind": "app",
3440
+ "opcode": "eq",
3441
+ "args": [
3442
+ {
3443
+ "kind": "name",
3444
+ "name": "focusIdx"
3445
+ },
3446
+ {
3447
+ "kind": "int",
3448
+ "value": "5"
3449
+ }
3450
+ ]
3451
+ },
3452
+ {
3453
+ "kind": "bool",
3454
+ "value": false
3455
+ },
3456
+ {
3457
+ "kind": "bool",
3458
+ "value": true
3459
+ }
3460
+ ]
3461
+ }
3462
+ ]
3463
+ }
3464
+ },
3465
+ {
3466
+ "field": "wrap",
3467
+ "rhs": {
3468
+ "kind": "app",
3469
+ "opcode": "ite",
3470
+ "args": [
3471
+ {
3472
+ "kind": "name",
3473
+ "name": "rejects"
3474
+ },
3475
+ {
3476
+ "kind": "name",
3477
+ "name": "wrap"
3478
+ },
3479
+ {
3480
+ "kind": "name",
3481
+ "name": "intentWrap"
3482
+ }
3483
+ ]
3484
+ }
3485
+ },
3486
+ {
3487
+ "field": "choice",
3488
+ "rhs": {
3489
+ "kind": "app",
3490
+ "opcode": "ite",
3491
+ "args": [
3492
+ {
3493
+ "kind": "name",
3494
+ "name": "rejects"
3495
+ },
3496
+ {
3497
+ "kind": "name",
3498
+ "name": "choice"
3499
+ },
3500
+ {
3501
+ "kind": "name",
3502
+ "name": "intentChoice"
3503
+ }
3504
+ ]
3505
+ }
3506
+ },
3507
+ {
3508
+ "field": "lastActivated",
3509
+ "rhs": {
3510
+ "kind": "app",
3511
+ "opcode": "ite",
3512
+ "args": [
3513
+ {
3514
+ "kind": "name",
3515
+ "name": "menuOpen"
3516
+ },
3517
+ {
3518
+ "kind": "name",
3519
+ "name": "focusIdx"
3520
+ },
3521
+ {
3522
+ "kind": "name",
3523
+ "name": "lastActivated"
3524
+ }
3525
+ ]
3526
+ }
3527
+ },
3528
+ {
3529
+ "field": "controlled",
3530
+ "rhs": {
3531
+ "kind": "name",
3532
+ "name": "controlled"
3533
+ }
3534
+ },
3535
+ {
3536
+ "field": "accepting",
3537
+ "rhs": {
3538
+ "kind": "name",
3539
+ "name": "accepting"
3540
+ }
3541
+ },
3542
+ {
3543
+ "field": "valueProp",
3544
+ "rhs": {
3545
+ "kind": "app",
3546
+ "opcode": "propAfter",
3547
+ "args": [
3548
+ {
3549
+ "kind": "name",
3550
+ "name": "follows"
3551
+ },
3552
+ {
3553
+ "kind": "name",
3554
+ "name": "valueProp"
3555
+ },
3556
+ {
3557
+ "kind": "name",
3558
+ "name": "intentPacked"
3559
+ }
3560
+ ]
3561
+ }
3562
+ },
3563
+ {
3564
+ "field": "requested",
3565
+ "rhs": {
3566
+ "kind": "app",
3567
+ "opcode": "ite",
3568
+ "args": [
3569
+ {
3570
+ "kind": "name",
3571
+ "name": "checkedMoves"
3572
+ },
3573
+ {
3574
+ "kind": "name",
3575
+ "name": "intentPacked"
3576
+ },
3577
+ {
3578
+ "kind": "name",
3579
+ "name": "requested"
3580
+ }
3581
+ ]
3582
+ }
3583
+ },
3584
+ {
3585
+ "field": "outcome",
3586
+ "rhs": {
3587
+ "kind": "app",
3588
+ "opcode": "ite",
3589
+ "args": [
3590
+ {
3591
+ "kind": "name",
3592
+ "name": "checkedMoves"
3593
+ },
3594
+ {
3595
+ "kind": "name",
3596
+ "name": "verdict"
3597
+ },
3598
+ {
3599
+ "kind": "name",
3600
+ "name": "outcome"
3601
+ }
3602
+ ]
3603
+ }
3604
+ },
3605
+ {
3606
+ "field": "base",
3607
+ "rhs": {
3608
+ "kind": "app",
3609
+ "opcode": "ite",
3610
+ "args": [
3611
+ {
3612
+ "kind": "name",
3613
+ "name": "checkedMoves"
3614
+ },
3615
+ {
3616
+ "kind": "name",
3617
+ "name": "nowPacked"
3618
+ },
3619
+ {
3620
+ "kind": "name",
3621
+ "name": "base"
3622
+ }
3623
+ ]
3624
+ }
3625
+ },
3626
+ {
3627
+ "field": "requests",
3628
+ "rhs": {
3629
+ "kind": "app",
3630
+ "opcode": "ite",
3631
+ "args": [
3632
+ {
3633
+ "kind": "name",
3634
+ "name": "checkedMoves"
3635
+ },
3636
+ {
3637
+ "kind": "app",
3638
+ "opcode": "iadd",
3639
+ "args": [
3640
+ {
3641
+ "kind": "name",
3642
+ "name": "requests"
3643
+ },
3644
+ {
3645
+ "kind": "int",
3646
+ "value": "1"
3647
+ }
3648
+ ]
3649
+ },
3650
+ {
3651
+ "kind": "name",
3652
+ "name": "requests"
3653
+ }
3654
+ ]
3655
+ }
3656
+ }
3657
+ ]
3658
+ },
3659
+ {
3660
+ "name": "escape",
3661
+ "assignments": [
3662
+ {
3663
+ "field": "focusIdx",
3664
+ "rhs": {
3665
+ "kind": "app",
3666
+ "opcode": "ite",
3667
+ "args": [
3668
+ {
3669
+ "kind": "name",
3670
+ "name": "menuOpen"
3671
+ },
3672
+ {
3673
+ "kind": "int",
3674
+ "value": "0"
3675
+ },
3676
+ {
3677
+ "kind": "name",
3678
+ "name": "focusIdx"
3679
+ }
3680
+ ]
3681
+ }
3682
+ },
3683
+ {
3684
+ "field": "menuOpen",
3685
+ "rhs": {
3686
+ "kind": "bool",
3687
+ "value": false
3688
+ }
3689
+ },
3690
+ {
3691
+ "field": "wrap",
3692
+ "rhs": {
3693
+ "kind": "name",
3694
+ "name": "wrap"
3695
+ }
3696
+ },
3697
+ {
3698
+ "field": "choice",
3699
+ "rhs": {
3700
+ "kind": "name",
3701
+ "name": "choice"
3702
+ }
3703
+ },
3704
+ {
3705
+ "field": "lastActivated",
3706
+ "rhs": {
3707
+ "kind": "name",
3708
+ "name": "lastActivated"
3709
+ }
3710
+ },
3711
+ {
3712
+ "field": "controlled",
3713
+ "rhs": {
3714
+ "kind": "name",
3715
+ "name": "controlled"
3716
+ }
3717
+ },
3718
+ {
3719
+ "field": "accepting",
3720
+ "rhs": {
3721
+ "kind": "name",
3722
+ "name": "accepting"
3723
+ }
3724
+ },
3725
+ {
3726
+ "field": "valueProp",
3727
+ "rhs": {
3728
+ "kind": "name",
3729
+ "name": "valueProp"
3730
+ }
3731
+ },
3732
+ {
3733
+ "field": "requested",
3734
+ "rhs": {
3735
+ "kind": "name",
3736
+ "name": "requested"
3737
+ }
3738
+ },
3739
+ {
3740
+ "field": "outcome",
3741
+ "rhs": {
3742
+ "kind": "name",
3743
+ "name": "outcome"
3744
+ }
3745
+ },
3746
+ {
3747
+ "field": "base",
3748
+ "rhs": {
3749
+ "kind": "name",
3750
+ "name": "base"
3751
+ }
3752
+ },
3753
+ {
3754
+ "field": "requests",
3755
+ "rhs": {
3756
+ "kind": "name",
3757
+ "name": "requests"
3758
+ }
3759
+ }
3760
+ ]
3761
+ },
3762
+ {
3763
+ "name": "setValue",
3764
+ "nondet": {
3765
+ "name": "v",
3766
+ "kind": "int",
3767
+ "pool": [
3768
+ "2",
3769
+ "3",
3770
+ "4",
3771
+ "7",
3772
+ "8",
3773
+ "9"
3774
+ ]
3775
+ },
3776
+ "assignments": [
3777
+ {
3778
+ "field": "focusIdx",
3779
+ "rhs": {
3780
+ "kind": "name",
3781
+ "name": "focusIdx"
3782
+ }
3783
+ },
3784
+ {
3785
+ "field": "menuOpen",
3786
+ "rhs": {
3787
+ "kind": "name",
3788
+ "name": "menuOpen"
3789
+ }
3790
+ },
3791
+ {
3792
+ "field": "wrap",
3793
+ "rhs": {
3794
+ "kind": "app",
3795
+ "opcode": "ite",
3796
+ "args": [
3797
+ {
3798
+ "kind": "name",
3799
+ "name": "controlled"
3800
+ },
3801
+ {
3802
+ "kind": "app",
3803
+ "opcode": "wrapFrom",
3804
+ "args": [
3805
+ {
3806
+ "kind": "name",
3807
+ "name": "v"
3808
+ }
3809
+ ]
3810
+ },
3811
+ {
3812
+ "kind": "name",
3813
+ "name": "wrap"
3814
+ }
3815
+ ]
3816
+ }
3817
+ },
3818
+ {
3819
+ "field": "choice",
3820
+ "rhs": {
3821
+ "kind": "app",
3822
+ "opcode": "ite",
3823
+ "args": [
3824
+ {
3825
+ "kind": "name",
3826
+ "name": "controlled"
3827
+ },
3828
+ {
3829
+ "kind": "app",
3830
+ "opcode": "choiceFrom",
3831
+ "args": [
3832
+ {
3833
+ "kind": "name",
3834
+ "name": "v"
3835
+ }
3836
+ ]
3837
+ },
3838
+ {
3839
+ "kind": "name",
3840
+ "name": "choice"
3841
+ }
3842
+ ]
3843
+ }
3844
+ },
3845
+ {
3846
+ "field": "lastActivated",
3847
+ "rhs": {
3848
+ "kind": "name",
3849
+ "name": "lastActivated"
3850
+ }
3851
+ },
3852
+ {
3853
+ "field": "controlled",
3854
+ "rhs": {
3855
+ "kind": "name",
3856
+ "name": "controlled"
3857
+ }
3858
+ },
3859
+ {
3860
+ "field": "accepting",
3861
+ "rhs": {
3862
+ "kind": "name",
3863
+ "name": "accepting"
3864
+ }
3865
+ },
3866
+ {
3867
+ "field": "valueProp",
3868
+ "rhs": {
3869
+ "kind": "app",
3870
+ "opcode": "ite",
3871
+ "args": [
3872
+ {
3873
+ "kind": "name",
3874
+ "name": "controlled"
3875
+ },
3876
+ {
3877
+ "kind": "name",
3878
+ "name": "v"
3879
+ },
3880
+ {
3881
+ "kind": "name",
3882
+ "name": "valueProp"
3883
+ }
3884
+ ]
3885
+ }
3886
+ },
3887
+ {
3888
+ "field": "requested",
3889
+ "rhs": {
3890
+ "kind": "name",
3891
+ "name": "requested"
3892
+ }
3893
+ },
3894
+ {
3895
+ "field": "outcome",
3896
+ "rhs": {
3897
+ "kind": "app",
3898
+ "opcode": "ite",
3899
+ "args": [
3900
+ {
3901
+ "kind": "name",
3902
+ "name": "controlled"
3903
+ },
3904
+ {
3905
+ "kind": "str",
3906
+ "value": "none"
3907
+ },
3908
+ {
3909
+ "kind": "name",
3910
+ "name": "outcome"
3911
+ }
3912
+ ]
3913
+ }
3914
+ },
3915
+ {
3916
+ "field": "base",
3917
+ "rhs": {
3918
+ "kind": "name",
3919
+ "name": "base"
3920
+ }
3921
+ },
3922
+ {
3923
+ "field": "requests",
3924
+ "rhs": {
3925
+ "kind": "name",
3926
+ "name": "requests"
3927
+ }
3928
+ }
3929
+ ]
3930
+ },
3931
+ {
3932
+ "name": "hostToggle",
3933
+ "assignments": [
3934
+ {
3935
+ "field": "focusIdx",
3936
+ "rhs": {
3937
+ "kind": "name",
3938
+ "name": "focusIdx"
3939
+ }
3940
+ },
3941
+ {
3942
+ "field": "menuOpen",
3943
+ "rhs": {
3944
+ "kind": "name",
3945
+ "name": "menuOpen"
3946
+ }
3947
+ },
3948
+ {
3949
+ "field": "wrap",
3950
+ "rhs": {
3951
+ "kind": "app",
3952
+ "opcode": "ite",
3953
+ "args": [
3954
+ {
3955
+ "kind": "name",
3956
+ "name": "controlled"
3957
+ },
3958
+ {
3959
+ "kind": "app",
3960
+ "opcode": "not",
3961
+ "args": [
3962
+ {
3963
+ "kind": "name",
3964
+ "name": "wrap"
3965
+ }
3966
+ ]
3967
+ },
3968
+ {
3969
+ "kind": "name",
3970
+ "name": "wrap"
3971
+ }
3972
+ ]
3973
+ }
3974
+ },
3975
+ {
3976
+ "field": "choice",
3977
+ "rhs": {
3978
+ "kind": "name",
3979
+ "name": "choice"
3980
+ }
3981
+ },
3982
+ {
3983
+ "field": "lastActivated",
3984
+ "rhs": {
3985
+ "kind": "name",
3986
+ "name": "lastActivated"
3987
+ }
3988
+ },
3989
+ {
3990
+ "field": "controlled",
3991
+ "rhs": {
3992
+ "kind": "name",
3993
+ "name": "controlled"
3994
+ }
3995
+ },
3996
+ {
3997
+ "field": "accepting",
3998
+ "rhs": {
3999
+ "kind": "name",
4000
+ "name": "accepting"
4001
+ }
4002
+ },
4003
+ {
4004
+ "field": "valueProp",
4005
+ "rhs": {
4006
+ "kind": "app",
4007
+ "opcode": "ite",
4008
+ "args": [
4009
+ {
4010
+ "kind": "name",
4011
+ "name": "controlled"
4012
+ },
4013
+ {
4014
+ "kind": "app",
4015
+ "opcode": "checked",
4016
+ "args": [
4017
+ {
4018
+ "kind": "app",
4019
+ "opcode": "not",
4020
+ "args": [
4021
+ {
4022
+ "kind": "name",
4023
+ "name": "wrap"
4024
+ }
4025
+ ]
4026
+ },
4027
+ {
4028
+ "kind": "name",
4029
+ "name": "choice"
4030
+ }
4031
+ ]
4032
+ },
4033
+ {
4034
+ "kind": "name",
4035
+ "name": "valueProp"
4036
+ }
4037
+ ]
4038
+ }
4039
+ },
4040
+ {
4041
+ "field": "requested",
4042
+ "rhs": {
4043
+ "kind": "name",
4044
+ "name": "requested"
4045
+ }
4046
+ },
4047
+ {
4048
+ "field": "outcome",
4049
+ "rhs": {
4050
+ "kind": "app",
4051
+ "opcode": "ite",
4052
+ "args": [
4053
+ {
4054
+ "kind": "name",
4055
+ "name": "controlled"
4056
+ },
4057
+ {
4058
+ "kind": "str",
4059
+ "value": "none"
4060
+ },
4061
+ {
4062
+ "kind": "name",
4063
+ "name": "outcome"
4064
+ }
4065
+ ]
4066
+ }
4067
+ },
4068
+ {
4069
+ "field": "base",
4070
+ "rhs": {
4071
+ "kind": "name",
4072
+ "name": "base"
4073
+ }
4074
+ },
4075
+ {
4076
+ "field": "requests",
4077
+ "rhs": {
4078
+ "kind": "name",
4079
+ "name": "requests"
4080
+ }
4081
+ }
4082
+ ]
4083
+ },
4084
+ {
4085
+ "name": "control",
4086
+ "assignments": [
4087
+ {
4088
+ "field": "focusIdx",
4089
+ "rhs": {
4090
+ "kind": "name",
4091
+ "name": "focusIdx"
4092
+ }
4093
+ },
4094
+ {
4095
+ "field": "menuOpen",
4096
+ "rhs": {
4097
+ "kind": "name",
4098
+ "name": "menuOpen"
4099
+ }
4100
+ },
4101
+ {
4102
+ "field": "wrap",
4103
+ "rhs": {
4104
+ "kind": "name",
4105
+ "name": "wrap"
4106
+ }
4107
+ },
4108
+ {
4109
+ "field": "choice",
4110
+ "rhs": {
4111
+ "kind": "name",
4112
+ "name": "choice"
4113
+ }
4114
+ },
4115
+ {
4116
+ "field": "lastActivated",
4117
+ "rhs": {
4118
+ "kind": "name",
4119
+ "name": "lastActivated"
4120
+ }
4121
+ },
4122
+ {
4123
+ "field": "controlled",
4124
+ "rhs": {
4125
+ "kind": "bool",
4126
+ "value": true
4127
+ }
4128
+ },
4129
+ {
4130
+ "field": "accepting",
4131
+ "rhs": {
4132
+ "kind": "name",
4133
+ "name": "accepting"
4134
+ }
4135
+ },
4136
+ {
4137
+ "field": "valueProp",
4138
+ "rhs": {
4139
+ "kind": "name",
4140
+ "name": "nowPacked"
4141
+ }
4142
+ },
4143
+ {
4144
+ "field": "requested",
4145
+ "rhs": {
4146
+ "kind": "name",
4147
+ "name": "requested"
4148
+ }
4149
+ },
4150
+ {
4151
+ "field": "outcome",
4152
+ "rhs": {
4153
+ "kind": "name",
4154
+ "name": "outcome"
4155
+ }
4156
+ },
4157
+ {
4158
+ "field": "base",
4159
+ "rhs": {
4160
+ "kind": "name",
4161
+ "name": "base"
4162
+ }
4163
+ },
4164
+ {
4165
+ "field": "requests",
4166
+ "rhs": {
4167
+ "kind": "name",
4168
+ "name": "requests"
4169
+ }
4170
+ }
4171
+ ]
4172
+ },
4173
+ {
4174
+ "name": "acceptRequests",
4175
+ "assignments": [
4176
+ {
4177
+ "field": "focusIdx",
4178
+ "rhs": {
4179
+ "kind": "name",
4180
+ "name": "focusIdx"
4181
+ }
4182
+ },
4183
+ {
4184
+ "field": "menuOpen",
4185
+ "rhs": {
4186
+ "kind": "name",
4187
+ "name": "menuOpen"
4188
+ }
4189
+ },
4190
+ {
4191
+ "field": "wrap",
4192
+ "rhs": {
4193
+ "kind": "name",
4194
+ "name": "wrap"
4195
+ }
4196
+ },
4197
+ {
4198
+ "field": "choice",
4199
+ "rhs": {
4200
+ "kind": "name",
4201
+ "name": "choice"
4202
+ }
4203
+ },
4204
+ {
4205
+ "field": "lastActivated",
4206
+ "rhs": {
4207
+ "kind": "name",
4208
+ "name": "lastActivated"
4209
+ }
4210
+ },
4211
+ {
4212
+ "field": "controlled",
4213
+ "rhs": {
4214
+ "kind": "name",
4215
+ "name": "controlled"
4216
+ }
4217
+ },
4218
+ {
4219
+ "field": "accepting",
4220
+ "rhs": {
4221
+ "kind": "bool",
4222
+ "value": true
4223
+ }
4224
+ },
4225
+ {
4226
+ "field": "valueProp",
4227
+ "rhs": {
4228
+ "kind": "name",
4229
+ "name": "valueProp"
4230
+ }
4231
+ },
4232
+ {
4233
+ "field": "requested",
4234
+ "rhs": {
4235
+ "kind": "name",
4236
+ "name": "requested"
4237
+ }
4238
+ },
4239
+ {
4240
+ "field": "outcome",
4241
+ "rhs": {
4242
+ "kind": "name",
4243
+ "name": "outcome"
4244
+ }
4245
+ },
4246
+ {
4247
+ "field": "base",
4248
+ "rhs": {
4249
+ "kind": "name",
4250
+ "name": "base"
4251
+ }
4252
+ },
4253
+ {
4254
+ "field": "requests",
4255
+ "rhs": {
4256
+ "kind": "name",
4257
+ "name": "requests"
4258
+ }
4259
+ }
4260
+ ]
4261
+ }
4262
+ ],
4263
+ "step": [
4264
+ "init",
4265
+ "arrow_down",
4266
+ "arrow_up",
4267
+ "key_home",
4268
+ "key_end",
4269
+ "enter",
4270
+ "space",
4271
+ "escape",
4272
+ "setValue",
4273
+ "hostToggle",
4274
+ "control",
4275
+ "acceptRequests"
4276
+ ]
4277
+ }