@rippling/rippling-sdk 0.2.0-alpha.82 → 0.2.0-alpha.83

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 (351) hide show
  1. package/client.d.mts +4 -4
  2. package/client.d.mts.map +1 -1
  3. package/client.d.ts +4 -4
  4. package/client.d.ts.map +1 -1
  5. package/client.js.map +1 -1
  6. package/client.mjs.map +1 -1
  7. package/core/platform/custom-objects/category.d.mts +125 -0
  8. package/core/platform/custom-objects/category.d.mts.map +1 -0
  9. package/core/platform/custom-objects/category.d.ts +125 -0
  10. package/core/platform/custom-objects/category.d.ts.map +1 -0
  11. package/core/platform/custom-objects/category.js +188 -0
  12. package/core/platform/custom-objects/category.js.map +1 -0
  13. package/core/platform/custom-objects/category.mjs +178 -0
  14. package/core/platform/custom-objects/category.mjs.map +1 -0
  15. package/core/platform/custom-objects/definition.d.mts +147 -0
  16. package/core/platform/custom-objects/definition.d.mts.map +1 -0
  17. package/core/platform/custom-objects/definition.d.ts +147 -0
  18. package/core/platform/custom-objects/definition.d.ts.map +1 -0
  19. package/core/platform/custom-objects/definition.js +200 -0
  20. package/core/platform/custom-objects/definition.js.map +1 -0
  21. package/core/platform/custom-objects/definition.mjs +190 -0
  22. package/core/platform/custom-objects/definition.mjs.map +1 -0
  23. package/core/platform/custom-objects/fields.d.mts +302 -0
  24. package/core/platform/custom-objects/fields.d.mts.map +1 -0
  25. package/core/platform/custom-objects/fields.d.ts +302 -0
  26. package/core/platform/custom-objects/fields.d.ts.map +1 -0
  27. package/core/platform/custom-objects/fields.js +369 -0
  28. package/core/platform/custom-objects/fields.js.map +1 -0
  29. package/core/platform/custom-objects/fields.mjs +347 -0
  30. package/core/platform/custom-objects/fields.mjs.map +1 -0
  31. package/core/platform/custom-objects/function-runtime.d.mts +42 -0
  32. package/core/platform/custom-objects/function-runtime.d.mts.map +1 -0
  33. package/core/platform/custom-objects/function-runtime.d.ts +42 -0
  34. package/core/platform/custom-objects/function-runtime.d.ts.map +1 -0
  35. package/core/platform/custom-objects/function-runtime.js +38 -0
  36. package/core/platform/custom-objects/function-runtime.js.map +1 -0
  37. package/core/platform/custom-objects/function-runtime.mjs +35 -0
  38. package/core/platform/custom-objects/function-runtime.mjs.map +1 -0
  39. package/core/platform/custom-objects/lifecycle.d.mts +83 -0
  40. package/core/platform/custom-objects/lifecycle.d.mts.map +1 -0
  41. package/core/platform/custom-objects/lifecycle.d.ts +83 -0
  42. package/core/platform/custom-objects/lifecycle.d.ts.map +1 -0
  43. package/core/platform/custom-objects/lifecycle.js +372 -0
  44. package/core/platform/custom-objects/lifecycle.js.map +1 -0
  45. package/core/platform/custom-objects/lifecycle.mjs +367 -0
  46. package/core/platform/custom-objects/lifecycle.mjs.map +1 -0
  47. package/core/platform/custom-objects/manager.d.mts +354 -0
  48. package/core/platform/custom-objects/manager.d.mts.map +1 -0
  49. package/core/platform/custom-objects/manager.d.ts +354 -0
  50. package/core/platform/custom-objects/manager.d.ts.map +1 -0
  51. package/core/platform/custom-objects/manager.js +646 -0
  52. package/core/platform/custom-objects/manager.js.map +1 -0
  53. package/core/platform/custom-objects/manager.mjs +637 -0
  54. package/core/platform/custom-objects/manager.mjs.map +1 -0
  55. package/core/platform/custom-objects/provisioning.d.mts +138 -0
  56. package/core/platform/custom-objects/provisioning.d.mts.map +1 -0
  57. package/core/platform/custom-objects/provisioning.d.ts +138 -0
  58. package/core/platform/custom-objects/provisioning.d.ts.map +1 -0
  59. package/core/platform/custom-objects/provisioning.js +455 -0
  60. package/core/platform/custom-objects/provisioning.js.map +1 -0
  61. package/core/platform/custom-objects/provisioning.mjs +447 -0
  62. package/core/platform/custom-objects/provisioning.mjs.map +1 -0
  63. package/core/platform/custom-objects/rql.d.mts +122 -0
  64. package/core/platform/custom-objects/rql.d.mts.map +1 -0
  65. package/core/platform/custom-objects/rql.d.ts +122 -0
  66. package/core/platform/custom-objects/rql.d.ts.map +1 -0
  67. package/core/platform/custom-objects/rql.js +225 -0
  68. package/core/platform/custom-objects/rql.js.map +1 -0
  69. package/core/platform/custom-objects/rql.mjs +222 -0
  70. package/core/platform/custom-objects/rql.mjs.map +1 -0
  71. package/core/platform/custom-objects/schema-manager.d.mts +203 -0
  72. package/core/platform/custom-objects/schema-manager.d.mts.map +1 -0
  73. package/core/platform/custom-objects/schema-manager.d.ts +203 -0
  74. package/core/platform/custom-objects/schema-manager.d.ts.map +1 -0
  75. package/core/platform/custom-objects/schema-manager.js +256 -0
  76. package/core/platform/custom-objects/schema-manager.js.map +1 -0
  77. package/core/platform/custom-objects/schema-manager.mjs +249 -0
  78. package/core/platform/custom-objects/schema-manager.mjs.map +1 -0
  79. package/core/platform/custom-objects/typed-rql.d.mts +157 -0
  80. package/core/platform/custom-objects/typed-rql.d.mts.map +1 -0
  81. package/core/platform/custom-objects/typed-rql.d.ts +157 -0
  82. package/core/platform/custom-objects/typed-rql.d.ts.map +1 -0
  83. package/core/platform/custom-objects/typed-rql.js +583 -0
  84. package/core/platform/custom-objects/typed-rql.js.map +1 -0
  85. package/core/platform/custom-objects/typed-rql.mjs +580 -0
  86. package/core/platform/custom-objects/typed-rql.mjs.map +1 -0
  87. package/core/platform/custom-objects/types.d.mts +549 -0
  88. package/core/platform/custom-objects/types.d.mts.map +1 -0
  89. package/core/platform/custom-objects/types.d.ts +549 -0
  90. package/core/platform/custom-objects/types.d.ts.map +1 -0
  91. package/core/platform/custom-objects/types.js +20 -0
  92. package/core/platform/custom-objects/types.js.map +1 -0
  93. package/core/platform/custom-objects/types.mjs +17 -0
  94. package/core/platform/custom-objects/types.mjs.map +1 -0
  95. package/core/platform/custom-objects/validation.d.mts +97 -0
  96. package/core/platform/custom-objects/validation.d.mts.map +1 -0
  97. package/core/platform/custom-objects/validation.d.ts +97 -0
  98. package/core/platform/custom-objects/validation.d.ts.map +1 -0
  99. package/core/platform/custom-objects/validation.js +477 -0
  100. package/core/platform/custom-objects/validation.js.map +1 -0
  101. package/core/platform/custom-objects/validation.mjs +465 -0
  102. package/core/platform/custom-objects/validation.mjs.map +1 -0
  103. package/core/platform/custom-objects.d.mts +67 -0
  104. package/core/platform/custom-objects.d.mts.map +1 -0
  105. package/core/platform/custom-objects.d.ts +67 -0
  106. package/core/platform/custom-objects.d.ts.map +1 -0
  107. package/core/platform/custom-objects.js +118 -0
  108. package/core/platform/custom-objects.js.map +1 -0
  109. package/core/platform/custom-objects.mjs +45 -0
  110. package/core/platform/custom-objects.mjs.map +1 -0
  111. package/core/platform/manifest/custom-objects/action.d.mts +58 -0
  112. package/core/platform/manifest/custom-objects/action.d.mts.map +1 -0
  113. package/core/platform/manifest/custom-objects/action.d.ts +58 -0
  114. package/core/platform/manifest/custom-objects/action.d.ts.map +1 -0
  115. package/core/platform/manifest/custom-objects/action.js +44 -0
  116. package/core/platform/manifest/custom-objects/action.js.map +1 -0
  117. package/core/platform/manifest/custom-objects/action.mjs +40 -0
  118. package/core/platform/manifest/custom-objects/action.mjs.map +1 -0
  119. package/core/platform/manifest/custom-objects/conditions.d.mts +240 -0
  120. package/core/platform/manifest/custom-objects/conditions.d.mts.map +1 -0
  121. package/core/platform/manifest/custom-objects/conditions.d.ts +240 -0
  122. package/core/platform/manifest/custom-objects/conditions.d.ts.map +1 -0
  123. package/core/platform/manifest/custom-objects/conditions.js +326 -0
  124. package/core/platform/manifest/custom-objects/conditions.js.map +1 -0
  125. package/core/platform/manifest/custom-objects/conditions.mjs +321 -0
  126. package/core/platform/manifest/custom-objects/conditions.mjs.map +1 -0
  127. package/core/platform/manifest/custom-objects/existing.d.mts +87 -0
  128. package/core/platform/manifest/custom-objects/existing.d.mts.map +1 -0
  129. package/core/platform/manifest/custom-objects/existing.d.ts +87 -0
  130. package/core/platform/manifest/custom-objects/existing.d.ts.map +1 -0
  131. package/core/platform/manifest/custom-objects/existing.js +113 -0
  132. package/core/platform/manifest/custom-objects/existing.js.map +1 -0
  133. package/core/platform/manifest/custom-objects/existing.mjs +109 -0
  134. package/core/platform/manifest/custom-objects/existing.mjs.map +1 -0
  135. package/core/platform/manifest/custom-objects/field-resolution.d.mts +48 -0
  136. package/core/platform/manifest/custom-objects/field-resolution.d.mts.map +1 -0
  137. package/core/platform/manifest/custom-objects/field-resolution.d.ts +48 -0
  138. package/core/platform/manifest/custom-objects/field-resolution.d.ts.map +1 -0
  139. package/core/platform/manifest/custom-objects/field-resolution.js +61 -0
  140. package/core/platform/manifest/custom-objects/field-resolution.js.map +1 -0
  141. package/core/platform/manifest/custom-objects/field-resolution.mjs +58 -0
  142. package/core/platform/manifest/custom-objects/field-resolution.mjs.map +1 -0
  143. package/core/platform/manifest/custom-objects/function-file.d.mts +87 -0
  144. package/core/platform/manifest/custom-objects/function-file.d.mts.map +1 -0
  145. package/core/platform/manifest/custom-objects/function-file.d.ts +87 -0
  146. package/core/platform/manifest/custom-objects/function-file.d.ts.map +1 -0
  147. package/core/platform/manifest/custom-objects/function-file.js +76 -0
  148. package/core/platform/manifest/custom-objects/function-file.js.map +1 -0
  149. package/core/platform/manifest/custom-objects/function-file.mjs +69 -0
  150. package/core/platform/manifest/custom-objects/function-file.mjs.map +1 -0
  151. package/core/platform/manifest/custom-objects/list-view.d.mts +65 -0
  152. package/core/platform/manifest/custom-objects/list-view.d.mts.map +1 -0
  153. package/core/platform/manifest/custom-objects/list-view.d.ts +65 -0
  154. package/core/platform/manifest/custom-objects/list-view.d.ts.map +1 -0
  155. package/core/platform/manifest/custom-objects/list-view.js +33 -0
  156. package/core/platform/manifest/custom-objects/list-view.js.map +1 -0
  157. package/core/platform/manifest/custom-objects/list-view.mjs +30 -0
  158. package/core/platform/manifest/custom-objects/list-view.mjs.map +1 -0
  159. package/core/platform/manifest/custom-objects/object-list-page.d.mts +43 -0
  160. package/core/platform/manifest/custom-objects/object-list-page.d.mts.map +1 -0
  161. package/core/platform/manifest/custom-objects/object-list-page.d.ts +43 -0
  162. package/core/platform/manifest/custom-objects/object-list-page.d.ts.map +1 -0
  163. package/core/platform/manifest/custom-objects/object-list-page.js +54 -0
  164. package/core/platform/manifest/custom-objects/object-list-page.js.map +1 -0
  165. package/core/platform/manifest/custom-objects/object-list-page.mjs +50 -0
  166. package/core/platform/manifest/custom-objects/object-list-page.mjs.map +1 -0
  167. package/core/platform/manifest/custom-objects/page-layout.d.mts +142 -0
  168. package/core/platform/manifest/custom-objects/page-layout.d.mts.map +1 -0
  169. package/core/platform/manifest/custom-objects/page-layout.d.ts +142 -0
  170. package/core/platform/manifest/custom-objects/page-layout.d.ts.map +1 -0
  171. package/core/platform/manifest/custom-objects/page-layout.js +184 -0
  172. package/core/platform/manifest/custom-objects/page-layout.js.map +1 -0
  173. package/core/platform/manifest/custom-objects/page-layout.mjs +180 -0
  174. package/core/platform/manifest/custom-objects/page-layout.mjs.map +1 -0
  175. package/core/platform/manifest/custom-objects/register.d.mts +87 -0
  176. package/core/platform/manifest/custom-objects/register.d.mts.map +1 -0
  177. package/core/platform/manifest/custom-objects/register.d.ts +87 -0
  178. package/core/platform/manifest/custom-objects/register.d.ts.map +1 -0
  179. package/core/platform/manifest/custom-objects/register.js +395 -0
  180. package/core/platform/manifest/custom-objects/register.js.map +1 -0
  181. package/core/platform/manifest/custom-objects/register.mjs +391 -0
  182. package/core/platform/manifest/custom-objects/register.mjs.map +1 -0
  183. package/core/platform/manifest/custom-objects/rule.d.mts +113 -0
  184. package/core/platform/manifest/custom-objects/rule.d.mts.map +1 -0
  185. package/core/platform/manifest/custom-objects/rule.d.ts +113 -0
  186. package/core/platform/manifest/custom-objects/rule.d.ts.map +1 -0
  187. package/core/platform/manifest/custom-objects/rule.js +49 -0
  188. package/core/platform/manifest/custom-objects/rule.js.map +1 -0
  189. package/core/platform/manifest/custom-objects/rule.mjs +45 -0
  190. package/core/platform/manifest/custom-objects/rule.mjs.map +1 -0
  191. package/core/platform/manifest/custom-objects/sdui-page.d.mts +214 -0
  192. package/core/platform/manifest/custom-objects/sdui-page.d.mts.map +1 -0
  193. package/core/platform/manifest/custom-objects/sdui-page.d.ts +214 -0
  194. package/core/platform/manifest/custom-objects/sdui-page.d.ts.map +1 -0
  195. package/core/platform/manifest/custom-objects/sdui-page.js +194 -0
  196. package/core/platform/manifest/custom-objects/sdui-page.js.map +1 -0
  197. package/core/platform/manifest/custom-objects/sdui-page.mjs +182 -0
  198. package/core/platform/manifest/custom-objects/sdui-page.mjs.map +1 -0
  199. package/core/platform/manifest/custom-objects/typed-condition.d.mts +28 -0
  200. package/core/platform/manifest/custom-objects/typed-condition.d.mts.map +1 -0
  201. package/core/platform/manifest/custom-objects/typed-condition.d.ts +28 -0
  202. package/core/platform/manifest/custom-objects/typed-condition.d.ts.map +1 -0
  203. package/core/platform/manifest/custom-objects/typed-condition.js +434 -0
  204. package/core/platform/manifest/custom-objects/typed-condition.js.map +1 -0
  205. package/core/platform/manifest/custom-objects/typed-condition.mjs +431 -0
  206. package/core/platform/manifest/custom-objects/typed-condition.mjs.map +1 -0
  207. package/core/platform/manifest/custom-objects/types.d.mts +29 -0
  208. package/core/platform/manifest/custom-objects/types.d.mts.map +1 -0
  209. package/core/platform/manifest/custom-objects/types.d.ts +29 -0
  210. package/core/platform/manifest/custom-objects/types.d.ts.map +1 -0
  211. package/core/platform/manifest/custom-objects/types.js +3 -0
  212. package/core/platform/manifest/custom-objects/types.js.map +1 -0
  213. package/core/platform/manifest/custom-objects/types.mjs +2 -0
  214. package/core/platform/manifest/custom-objects/types.mjs.map +1 -0
  215. package/core/platform/manifest/custom-objects/validation.d.mts +44 -0
  216. package/core/platform/manifest/custom-objects/validation.d.mts.map +1 -0
  217. package/core/platform/manifest/custom-objects/validation.d.ts +44 -0
  218. package/core/platform/manifest/custom-objects/validation.d.ts.map +1 -0
  219. package/core/platform/manifest/custom-objects/validation.js +30 -0
  220. package/core/platform/manifest/custom-objects/validation.js.map +1 -0
  221. package/core/platform/manifest/custom-objects/validation.mjs +27 -0
  222. package/core/platform/manifest/custom-objects/validation.mjs.map +1 -0
  223. package/core/platform/manifest/custom-objects/workflow.d.mts +47 -0
  224. package/core/platform/manifest/custom-objects/workflow.d.mts.map +1 -0
  225. package/core/platform/manifest/custom-objects/workflow.d.ts +47 -0
  226. package/core/platform/manifest/custom-objects/workflow.d.ts.map +1 -0
  227. package/core/platform/manifest/custom-objects/workflow.js +38 -0
  228. package/core/platform/manifest/custom-objects/workflow.js.map +1 -0
  229. package/core/platform/manifest/custom-objects/workflow.mjs +34 -0
  230. package/core/platform/manifest/custom-objects/workflow.mjs.map +1 -0
  231. package/core/platform/manifest/custom-objects.d.mts +85 -0
  232. package/core/platform/manifest/custom-objects.d.mts.map +1 -0
  233. package/core/platform/manifest/custom-objects.d.ts +85 -0
  234. package/core/platform/manifest/custom-objects.d.ts.map +1 -0
  235. package/core/platform/manifest/custom-objects.js +84 -0
  236. package/core/platform/manifest/custom-objects.js.map +1 -0
  237. package/core/platform/manifest/custom-objects.mjs +55 -0
  238. package/core/platform/manifest/custom-objects.mjs.map +1 -0
  239. package/examples/manifest/custom-object-creation-workflow/custom-object-creation-workflow.ts +26 -44
  240. package/examples/manifest/custom-object-creation-workflow/functions/intake-request-created.ts +20 -0
  241. package/examples/manifest/custom-object-creation-workflow/schema.ts +29 -0
  242. package/examples/manifest/dental-practice-management/dental-practice-management.ts +142 -470
  243. package/examples/manifest/dental-practice-management/functions/chair-schedule.ts +13 -23
  244. package/examples/manifest/dental-practice-management/functions/complete-visit.ts +32 -55
  245. package/examples/manifest/dental-practice-management/functions/operatory-list.ts +13 -23
  246. package/examples/manifest/dental-practice-management/functions/patient-list.ts +13 -23
  247. package/examples/manifest/dental-practice-management/functions/treatment-plan-list.ts +13 -23
  248. package/examples/manifest/dental-practice-management/schema.ts +298 -0
  249. package/examples/manifest/existing-manifest-mutations/existing-manifest-mutations.ts +68 -23
  250. package/examples/manifest/field-service-dispatch/field-service-dispatch.ts +102 -375
  251. package/examples/manifest/field-service-dispatch/schema.ts +248 -0
  252. package/examples/manifest/grant-program-management/grant-program-management.ts +125 -419
  253. package/examples/manifest/grant-program-management/schema.ts +269 -0
  254. package/examples/manifest/gym-membership-management/functions/check-in-desk.ts +13 -23
  255. package/examples/manifest/gym-membership-management/functions/member-list.ts +13 -23
  256. package/examples/manifest/gym-membership-management/functions/today-schedule.ts +13 -23
  257. package/examples/manifest/gym-membership-management/functions/trainer-list.ts +13 -23
  258. package/examples/manifest/gym-membership-management/gym-membership-management.ts +92 -442
  259. package/examples/manifest/gym-membership-management/schema.ts +266 -0
  260. package/examples/manifest/procurement-approval-hub/functions/route-purchase-request.ts +20 -0
  261. package/examples/manifest/procurement-approval-hub/procurement-approval-hub.ts +122 -408
  262. package/examples/manifest/procurement-approval-hub/schema.ts +256 -0
  263. package/examples/manifest/simple-todo-app/functions/mark-done.ts +16 -12
  264. package/examples/manifest/simple-todo-app/functions/todo-list.ts +13 -23
  265. package/examples/manifest/simple-todo-app/schema.ts +60 -0
  266. package/examples/manifest/simple-todo-app/simple-todo-app.ts +40 -109
  267. package/examples/manifest/todo-app-without-object-list-view/functions/todo-page.ts +166 -193
  268. package/examples/manifest/todo-app-without-object-list-view/schema.ts +28 -0
  269. package/examples/manifest/todo-app-without-object-list-view/todo-app-without-object-list-view.ts +24 -47
  270. package/package.json +7 -13
  271. package/resources/custom-objects/custom-objects.d.mts +7 -0
  272. package/resources/custom-objects/custom-objects.d.mts.map +1 -1
  273. package/resources/custom-objects/custom-objects.d.ts +7 -0
  274. package/resources/custom-objects/custom-objects.d.ts.map +1 -1
  275. package/resources/custom-objects/custom-objects.js.map +1 -1
  276. package/resources/custom-objects/custom-objects.mjs.map +1 -1
  277. package/resources/custom-objects/fields.d.mts +170 -15
  278. package/resources/custom-objects/fields.d.mts.map +1 -1
  279. package/resources/custom-objects/fields.d.ts +170 -15
  280. package/resources/custom-objects/fields.d.ts.map +1 -1
  281. package/resources/index.d.mts +2 -2
  282. package/resources/index.d.mts.map +1 -1
  283. package/resources/index.d.ts +2 -2
  284. package/resources/index.d.ts.map +1 -1
  285. package/resources/index.js.map +1 -1
  286. package/resources/index.mjs.map +1 -1
  287. package/resources/leave-program-evaluations.d.mts +510 -3
  288. package/resources/leave-program-evaluations.d.mts.map +1 -1
  289. package/resources/leave-program-evaluations.d.ts +510 -3
  290. package/resources/leave-program-evaluations.d.ts.map +1 -1
  291. package/resources/levels.d.mts +64 -2
  292. package/resources/levels.d.mts.map +1 -1
  293. package/resources/levels.d.ts +64 -2
  294. package/resources/levels.d.ts.map +1 -1
  295. package/resources/levels.js +22 -0
  296. package/resources/levels.js.map +1 -1
  297. package/resources/levels.mjs +22 -0
  298. package/resources/levels.mjs.map +1 -1
  299. package/resources/tracks.d.mts +45 -1
  300. package/resources/tracks.d.mts.map +1 -1
  301. package/resources/tracks.d.ts +45 -1
  302. package/resources/tracks.d.ts.map +1 -1
  303. package/resources/tracks.js +22 -0
  304. package/resources/tracks.js.map +1 -1
  305. package/resources/tracks.mjs +22 -0
  306. package/resources/tracks.mjs.map +1 -1
  307. package/src/client.ts +8 -0
  308. package/src/core/platform/README.md +20 -0
  309. package/src/core/platform/custom-objects/category.ts +294 -0
  310. package/src/core/platform/custom-objects/definition.ts +373 -0
  311. package/src/core/platform/custom-objects/fields.ts +653 -0
  312. package/src/core/platform/custom-objects/function-runtime.ts +76 -0
  313. package/src/core/platform/custom-objects/lifecycle.ts +557 -0
  314. package/src/core/platform/custom-objects/manager.ts +959 -0
  315. package/src/core/platform/custom-objects/provisioning.ts +672 -0
  316. package/src/core/platform/custom-objects/rql.ts +375 -0
  317. package/src/core/platform/custom-objects/schema-manager.ts +351 -0
  318. package/src/core/platform/custom-objects/typed-rql.ts +1273 -0
  319. package/src/core/platform/custom-objects/types.ts +753 -0
  320. package/src/core/platform/custom-objects/validation.ts +573 -0
  321. package/src/core/platform/custom-objects.ts +269 -0
  322. package/src/core/platform/manifest/README.md +26 -0
  323. package/src/core/platform/manifest/custom-objects/action.ts +87 -0
  324. package/src/core/platform/manifest/custom-objects/conditions.ts +762 -0
  325. package/src/core/platform/manifest/custom-objects/existing.ts +221 -0
  326. package/src/core/platform/manifest/custom-objects/field-resolution.ts +116 -0
  327. package/src/core/platform/manifest/custom-objects/function-file.ts +149 -0
  328. package/src/core/platform/manifest/custom-objects/list-view.ts +95 -0
  329. package/src/core/platform/manifest/custom-objects/object-list-page.ts +87 -0
  330. package/src/core/platform/manifest/custom-objects/page-layout.ts +380 -0
  331. package/src/core/platform/manifest/custom-objects/register.ts +555 -0
  332. package/src/core/platform/manifest/custom-objects/rule.ts +192 -0
  333. package/src/core/platform/manifest/custom-objects/sdui-page.ts +515 -0
  334. package/src/core/platform/manifest/custom-objects/typed-condition.ts +617 -0
  335. package/src/core/platform/manifest/custom-objects/types.ts +92 -0
  336. package/src/core/platform/manifest/custom-objects/validation.ts +70 -0
  337. package/src/core/platform/manifest/custom-objects/workflow.ts +71 -0
  338. package/src/core/platform/manifest/custom-objects.ts +203 -0
  339. package/src/pebble-sdui-web-custom-apps-shim.d.ts +3 -0
  340. package/src/resources/custom-objects/custom-objects.ts +8 -0
  341. package/src/resources/custom-objects/fields.ts +239 -14
  342. package/src/resources/index.ts +4 -0
  343. package/src/resources/leave-program-evaluations.ts +610 -3
  344. package/src/resources/levels.ts +93 -1
  345. package/src/resources/tracks.ts +70 -0
  346. package/src/tsconfig.json +1 -1
  347. package/src/version.ts +1 -1
  348. package/version.d.mts +1 -1
  349. package/version.d.ts +1 -1
  350. package/version.js +1 -1
  351. package/version.mjs +1 -1
@@ -0,0 +1,434 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.typedCondition = typedCondition;
4
+ const STANDARD_TYPED_CONDITION_FIELDS = [
5
+ 'id',
6
+ 'name',
7
+ 'created_at',
8
+ 'updated_at',
9
+ 'system_updated_at',
10
+ 'external_id',
11
+ 'owner_role',
12
+ 'created_by',
13
+ 'last_modified_by',
14
+ ];
15
+ const STANDARD_TYPED_CONDITION_LOOKUP_FIELDS = new Set(['owner_role', 'created_by', 'last_modified_by']);
16
+ function isManifestRegistration(target) {
17
+ return typeof target === 'object' && target != null && 'definition' in target && 'object' in target;
18
+ }
19
+ function resolveTargetDefinition(target) {
20
+ return isManifestRegistration(target) ? target.definition : target;
21
+ }
22
+ function createFragment(text) {
23
+ return Object.freeze({ text });
24
+ }
25
+ function skipWhitespace(state) {
26
+ while (state.index < state.text.length && /\s/.test(state.text[state.index] ?? '')) {
27
+ state.index += 1;
28
+ }
29
+ }
30
+ function consumeCharacter(state, expected) {
31
+ skipWhitespace(state);
32
+ if (state.text[state.index] === expected) {
33
+ state.index += 1;
34
+ return true;
35
+ }
36
+ return false;
37
+ }
38
+ function expectCharacter(state, expected) {
39
+ if (!consumeCharacter(state, expected)) {
40
+ throw new Error(`Expected "${expected}" at index ${state.index}.`);
41
+ }
42
+ }
43
+ function consumeKeyword(state, keyword) {
44
+ skipWhitespace(state);
45
+ const candidate = state.text.slice(state.index, state.index + keyword.length);
46
+ if (candidate.toUpperCase() !== keyword)
47
+ return false;
48
+ const nextCharacter = state.text[state.index + keyword.length];
49
+ if (nextCharacter != null && /[A-Za-z0-9_]/.test(nextCharacter))
50
+ return false;
51
+ state.index += keyword.length;
52
+ return true;
53
+ }
54
+ function parseIdentifier(state) {
55
+ skipWhitespace(state);
56
+ const start = state.index;
57
+ while (state.index < state.text.length && /[A-Za-z0-9_]/.test(state.text[state.index] ?? '')) {
58
+ state.index += 1;
59
+ }
60
+ if (state.index === start) {
61
+ throw new Error(`Expected a field or function identifier at index ${state.index}.`);
62
+ }
63
+ return state.text.slice(start, state.index);
64
+ }
65
+ function parseStringLiteral(state) {
66
+ expectCharacter(state, "'");
67
+ let value = '';
68
+ while (state.index < state.text.length) {
69
+ const character = state.text[state.index];
70
+ if (character === undefined)
71
+ break;
72
+ state.index += 1;
73
+ if (character === "'") {
74
+ return { kind: 'string', value };
75
+ }
76
+ if (character === '\\') {
77
+ const escaped = state.text[state.index];
78
+ if (escaped == null) {
79
+ throw new Error('Unterminated escape sequence in manifest condition string literal.');
80
+ }
81
+ state.index += 1;
82
+ value += escaped;
83
+ continue;
84
+ }
85
+ value += character;
86
+ }
87
+ throw new Error('Unterminated manifest condition string literal.');
88
+ }
89
+ function parseNumberLiteral(state) {
90
+ skipWhitespace(state);
91
+ const start = state.index;
92
+ if (state.text[state.index] === '-') {
93
+ state.index += 1;
94
+ }
95
+ let sawDigit = false;
96
+ while (state.index < state.text.length && /[0-9]/.test(state.text[state.index] ?? '')) {
97
+ state.index += 1;
98
+ sawDigit = true;
99
+ }
100
+ if (state.text[state.index] === '.') {
101
+ state.index += 1;
102
+ while (state.index < state.text.length && /[0-9]/.test(state.text[state.index] ?? '')) {
103
+ state.index += 1;
104
+ sawDigit = true;
105
+ }
106
+ }
107
+ if (!sawDigit) {
108
+ throw new Error(`Expected a number literal at index ${start}.`);
109
+ }
110
+ const value = Number(state.text.slice(start, state.index));
111
+ if (!Number.isFinite(value)) {
112
+ throw new Error(`Manifest-condition numeric literals must be finite. Received ${state.text.slice(start, state.index)}.`);
113
+ }
114
+ return { kind: 'number', value };
115
+ }
116
+ function parseScalarLiteral(state) {
117
+ skipWhitespace(state);
118
+ const character = state.text[state.index];
119
+ if (character === "'")
120
+ return parseStringLiteral(state);
121
+ if (character === '-' || /[0-9]/.test(character ?? ''))
122
+ return parseNumberLiteral(state);
123
+ if (consumeKeyword(state, 'TRUE'))
124
+ return { kind: 'boolean', value: true };
125
+ if (consumeKeyword(state, 'FALSE'))
126
+ return { kind: 'boolean', value: false };
127
+ if (consumeKeyword(state, 'NULL'))
128
+ return { kind: 'null' };
129
+ if (consumeKeyword(state, 'TODAY')) {
130
+ expectCharacter(state, '(');
131
+ expectCharacter(state, ')');
132
+ return { kind: 'function', name: 'TODAY' };
133
+ }
134
+ throw new Error(`Expected a supported manifest-condition literal at index ${state.index}.`);
135
+ }
136
+ function parseArrayLiteral(state) {
137
+ expectCharacter(state, '[');
138
+ const values = [];
139
+ while (true) {
140
+ skipWhitespace(state);
141
+ if (consumeCharacter(state, ']')) {
142
+ return { kind: 'array', value: values };
143
+ }
144
+ const nextValue = parseScalarLiteral(state);
145
+ if (nextValue.kind === 'function') {
146
+ throw new Error('Manifest-condition arrays do not support TODAY().');
147
+ }
148
+ values.push(nextValue);
149
+ skipWhitespace(state);
150
+ if (consumeCharacter(state, ']')) {
151
+ return { kind: 'array', value: values };
152
+ }
153
+ expectCharacter(state, ',');
154
+ }
155
+ }
156
+ function parseLiteral(state) {
157
+ skipWhitespace(state);
158
+ if (state.text[state.index] === '[') {
159
+ return parseArrayLiteral(state);
160
+ }
161
+ return parseScalarLiteral(state);
162
+ }
163
+ function parseOperator(state) {
164
+ skipWhitespace(state);
165
+ for (const operator of ['NOT_IN', 'IN', '==', '!=', '<=', '>=', '<', '>']) {
166
+ if (state.text.slice(state.index, state.index + operator.length).toUpperCase() === operator) {
167
+ state.index += operator.length;
168
+ return operator;
169
+ }
170
+ }
171
+ throw new Error(`Expected a manifest-condition operator at index ${state.index}.`);
172
+ }
173
+ function parseComparison(state) {
174
+ const field = parseIdentifier(state);
175
+ const operator = parseOperator(state);
176
+ const value = parseLiteral(state);
177
+ return { kind: 'comparison', field, operator, value };
178
+ }
179
+ function parsePrimary(state) {
180
+ skipWhitespace(state);
181
+ if (consumeCharacter(state, '(')) {
182
+ const expression = parseOrExpression(state);
183
+ expectCharacter(state, ')');
184
+ return expression;
185
+ }
186
+ return parseComparison(state);
187
+ }
188
+ function parseNotExpression(state) {
189
+ skipWhitespace(state);
190
+ if (consumeKeyword(state, 'NOT')) {
191
+ return { kind: 'not', operand: parseNotExpression(state) };
192
+ }
193
+ return parsePrimary(state);
194
+ }
195
+ function parseAndExpression(state) {
196
+ const operands = [parseNotExpression(state)];
197
+ while (true) {
198
+ const checkpoint = state.index;
199
+ if (!consumeKeyword(state, 'AND')) {
200
+ state.index = checkpoint;
201
+ break;
202
+ }
203
+ operands.push(parseNotExpression(state));
204
+ }
205
+ return operands.length === 1 ? operands[0] : { kind: 'logical', operator: 'AND', operands };
206
+ }
207
+ function parseOrExpression(state) {
208
+ const operands = [parseAndExpression(state)];
209
+ while (true) {
210
+ const checkpoint = state.index;
211
+ if (!consumeKeyword(state, 'OR')) {
212
+ state.index = checkpoint;
213
+ break;
214
+ }
215
+ operands.push(parseAndExpression(state));
216
+ }
217
+ return operands.length === 1 ? operands[0] : { kind: 'logical', operator: 'OR', operands };
218
+ }
219
+ function parseTypedConditionExpression(text) {
220
+ const state = { text, index: 0 };
221
+ const expression = parseOrExpression(state);
222
+ skipWhitespace(state);
223
+ if (state.index !== state.text.length) {
224
+ throw new Error(`Unexpected trailing manifest-condition content starting at index ${state.index}: ${state.text.slice(state.index)}.`);
225
+ }
226
+ return expression;
227
+ }
228
+ function resolveRuntimeFieldMetadata(definition, fieldName) {
229
+ if (STANDARD_TYPED_CONDITION_FIELDS.includes(fieldName)) {
230
+ return {
231
+ apiName: fieldName,
232
+ category: STANDARD_TYPED_CONDITION_LOOKUP_FIELDS.has(fieldName) ? 'lookup' : 'string',
233
+ };
234
+ }
235
+ const field = definition.fields[fieldName];
236
+ if (field == null) {
237
+ throw new Error(`Unknown manifest-condition field "${fieldName}" for "${definition.apiName}". Valid fields: ${[
238
+ ...STANDARD_TYPED_CONDITION_FIELDS,
239
+ ...Object.keys(definition.fields).sort(),
240
+ ].join(', ')}.`);
241
+ }
242
+ switch (field.kind) {
243
+ case 'text':
244
+ case 'long-text':
245
+ case 'email':
246
+ case 'url':
247
+ case 'phone':
248
+ case 'date':
249
+ case 'datetime':
250
+ case 'time':
251
+ case 'select':
252
+ case 'radio':
253
+ case 'formula-text':
254
+ case 'formula-date':
255
+ case 'formula-url':
256
+ return { apiName: field.apiName, category: 'string' };
257
+ case 'number':
258
+ case 'currency':
259
+ case 'percentage':
260
+ case 'formula-number':
261
+ case 'formula-currency':
262
+ case 'formula-percentage':
263
+ return { apiName: field.apiName, category: 'number' };
264
+ case 'boolean':
265
+ case 'formula-boolean':
266
+ return { apiName: field.apiName, category: 'boolean' };
267
+ case 'lookup':
268
+ case 'parent-child':
269
+ return { apiName: field.apiName, category: 'lookup' };
270
+ default:
271
+ return { apiName: field.apiName, category: 'unsupported' };
272
+ }
273
+ }
274
+ function encodeConditionString(value) {
275
+ return `'${value.replace(/\\/g, '\\\\').replace(/'/g, "\\'")}'`;
276
+ }
277
+ function renderConditionLiteral(literal) {
278
+ switch (literal.kind) {
279
+ case 'string':
280
+ return encodeConditionString(literal.value);
281
+ case 'number':
282
+ return String(literal.value);
283
+ case 'boolean':
284
+ return literal.value ? 'True' : 'False';
285
+ case 'null':
286
+ return 'null';
287
+ case 'function':
288
+ return `${literal.name}()`;
289
+ case 'array':
290
+ return `[${literal.value.map((value) => renderConditionLiteral(value)).join(', ')}]`;
291
+ }
292
+ }
293
+ function describeExpectedLiteral(category) {
294
+ switch (category) {
295
+ case 'string':
296
+ return "a quoted string literal such as 'Ada' or TODAY()";
297
+ case 'number':
298
+ return 'a numeric literal such as 14';
299
+ case 'boolean':
300
+ return 'a boolean literal: True or False';
301
+ case 'lookup':
302
+ return "a quoted record-id string such as 'role_123'";
303
+ default:
304
+ return 'a supported literal value';
305
+ }
306
+ }
307
+ function describeLiteral(literal) {
308
+ switch (literal.kind) {
309
+ case 'string':
310
+ return `quoted string ${encodeConditionString(literal.value)}`;
311
+ case 'number':
312
+ return `number ${String(literal.value)}`;
313
+ case 'boolean':
314
+ return `boolean ${literal.value ? 'True' : 'False'}`;
315
+ case 'null':
316
+ return 'null';
317
+ case 'function':
318
+ return `${literal.name}()`;
319
+ case 'array':
320
+ return `array ${renderConditionLiteral(literal)}`;
321
+ }
322
+ }
323
+ function assertLiteralMatchesCategory(fieldName, category, operator, literal) {
324
+ if (category === 'unsupported') {
325
+ throw new Error('typedCondition(...) does not yet support this field kind in parsed-string mode.');
326
+ }
327
+ if (operator === 'IN' || operator === 'NOT_IN') {
328
+ if (literal.kind !== 'array') {
329
+ throw new Error(`Manifest-condition field "${fieldName}" with operator "${operator}" requires an array literal such as ['value']; received ${describeLiteral(literal)}.`);
330
+ }
331
+ if (literal.value.length === 0) {
332
+ throw new Error(`Manifest-condition field "${fieldName}" with operator "${operator}" requires a non-empty array literal such as ['value'].`);
333
+ }
334
+ for (const value of literal.value) {
335
+ assertLiteralMatchesCategory(fieldName, category, '==', value);
336
+ }
337
+ return;
338
+ }
339
+ if (literal.kind === 'null') {
340
+ if (operator === '<' || operator === '<=' || operator === '>' || operator === '>=') {
341
+ throw new Error(`Manifest-condition field "${fieldName}" with operator "${operator}" does not allow null. Use a concrete ${describeExpectedLiteral(category)}.`);
342
+ }
343
+ return;
344
+ }
345
+ if (literal.kind === 'function') {
346
+ if (literal.name !== 'TODAY' || category !== 'string') {
347
+ throw new Error(`Manifest-condition field "${fieldName}" with operator "${operator}" does not support ${describeLiteral(literal)}.`);
348
+ }
349
+ return;
350
+ }
351
+ if ((operator === '<' || operator === '<=' || operator === '>' || operator === '>=') &&
352
+ !(category === 'string' || category === 'number')) {
353
+ throw new Error(`Manifest-condition field "${fieldName}" uses operator "${operator}", which is only valid for string or number fields; this field expects ${describeExpectedLiteral(category)}.`);
354
+ }
355
+ switch (category) {
356
+ case 'string':
357
+ if (literal.kind !== 'string') {
358
+ throw new Error(`Manifest-condition field "${fieldName}" with operator "${operator}" expects ${describeExpectedLiteral(category)}; received ${describeLiteral(literal)}.`);
359
+ }
360
+ return;
361
+ case 'number':
362
+ if (literal.kind !== 'number') {
363
+ throw new Error(`Manifest-condition field "${fieldName}" with operator "${operator}" expects ${describeExpectedLiteral(category)}; received ${describeLiteral(literal)}.`);
364
+ }
365
+ return;
366
+ case 'boolean':
367
+ if (literal.kind !== 'boolean') {
368
+ throw new Error(`Manifest-condition field "${fieldName}" with operator "${operator}" expects ${describeExpectedLiteral(category)}; received ${describeLiteral(literal)}.`);
369
+ }
370
+ return;
371
+ case 'lookup':
372
+ if (literal.kind !== 'string') {
373
+ throw new Error(`Manifest-condition field "${fieldName}" with operator "${operator}" expects ${describeExpectedLiteral(category)}; received ${describeLiteral(literal)}.`);
374
+ }
375
+ return;
376
+ default:
377
+ return;
378
+ }
379
+ }
380
+ function validateTypedConditionAst(definition, node) {
381
+ switch (node.kind) {
382
+ case 'logical':
383
+ for (const operand of node.operands)
384
+ validateTypedConditionAst(definition, operand);
385
+ return;
386
+ case 'not':
387
+ validateTypedConditionAst(definition, node.operand);
388
+ return;
389
+ case 'comparison': {
390
+ const metadata = resolveRuntimeFieldMetadata(definition, node.field);
391
+ assertLiteralMatchesCategory(node.field, metadata.category, node.operator, node.value);
392
+ return;
393
+ }
394
+ }
395
+ }
396
+ function renderTypedConditionAst(definition, node) {
397
+ switch (node.kind) {
398
+ case 'logical':
399
+ return `(${node.operands
400
+ .map((operand) => renderTypedConditionAst(definition, operand))
401
+ .join(` ${node.operator} `)})`;
402
+ case 'not':
403
+ return `(NOT ${renderTypedConditionAst(definition, node.operand)})`;
404
+ case 'comparison': {
405
+ const metadata = resolveRuntimeFieldMetadata(definition, node.field);
406
+ return `(${metadata.apiName} ${node.operator} ${renderConditionLiteral(node.value)})`;
407
+ }
408
+ }
409
+ }
410
+ /**
411
+ * Parses one constrained logical-name manifest-condition string, validates it against the typed custom-object definition,
412
+ * and renders a backend-ready manifest condition that uses wire-level field API names.
413
+ *
414
+ * Supported parsed-string manifest-condition contract:
415
+ * - standard record fields and local custom-object fields
416
+ * - `==`, `!=`, `<`, `<=`, `>`, `>=`, `IN`, `NOT_IN`
417
+ * - `AND`, `OR`, `NOT`
418
+ * - parentheses / grouping
419
+ * - string / number / boolean / null / array literals
420
+ * - `TODAY()`
421
+ *
422
+ * @param target - Object definition or manifest registration whose logical field names should be enforced.
423
+ * @param expression - Constrained logical-name manifest-condition source string to parse and render.
424
+ * @returns Opaque manifest-condition fragment that can be passed anywhere typed manifest helpers accept conditions.
425
+ * @typeParam TDefinition - Object definition whose field names and value categories should be enforced.
426
+ * @typeParam TExpression - Candidate manifest-condition expression string.
427
+ */
428
+ function typedCondition(target, expression) {
429
+ const definition = resolveTargetDefinition(target);
430
+ const ast = parseTypedConditionExpression(expression);
431
+ validateTypedConditionAst(definition, ast);
432
+ return createFragment(renderTypedConditionAst(definition, ast));
433
+ }
434
+ //# sourceMappingURL=typed-condition.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"typed-condition.js","sourceRoot":"","sources":["../../../../src/core/platform/manifest/custom-objects/typed-condition.ts"],"names":[],"mappings":";;AAgmBA,wCAQC;AAhmBD,MAAM,+BAA+B,GAAG;IACtC,IAAI;IACJ,MAAM;IACN,YAAY;IACZ,YAAY;IACZ,mBAAmB;IACnB,aAAa;IACb,YAAY;IACZ,YAAY;IACZ,kBAAkB;CACV,CAAC;AAEX,MAAM,sCAAsC,GAAG,IAAI,GAAG,CAAC,CAAC,YAAY,EAAE,YAAY,EAAE,kBAAkB,CAAC,CAAC,CAAC;AAoFzG,SAAS,sBAAsB,CAC7B,MAA+C;IAE/C,OAAO,OAAO,MAAM,KAAK,QAAQ,IAAI,MAAM,IAAI,IAAI,IAAI,YAAY,IAAI,MAAM,IAAI,QAAQ,IAAI,MAAM,CAAC;AACtG,CAAC;AAED,SAAS,uBAAuB,CAC9B,MAA+C;IAE/C,OAAO,sBAAsB,CAAC,MAAM,CAAC,CAAC,CAAC,CAAC,MAAM,CAAC,UAAU,CAAC,CAAC,CAAC,MAAM,CAAC;AACrE,CAAC;AAED,SAAS,cAAc,CAAC,IAAY;IAClC,OAAO,MAAM,CAAC,MAAM,CAAC,EAAE,IAAI,EAAE,CAAC,CAAC;AACjC,CAAC;AAED,SAAS,cAAc,CAAC,KAAkC;IACxD,OAAO,KAAK,CAAC,KAAK,GAAG,KAAK,CAAC,IAAI,CAAC,MAAM,IAAI,IAAI,CAAC,IAAI,CAAC,KAAK,CAAC,IAAI,CAAC,KAAK,CAAC,KAAK,CAAC,IAAI,EAAE,CAAC,EAAE,CAAC;QACnF,KAAK,CAAC,KAAK,IAAI,CAAC,CAAC;IACnB,CAAC;AACH,CAAC;AAED,SAAS,gBAAgB,CAAC,KAAkC,EAAE,QAAgB;IAC5E,cAAc,CAAC,KAAK,CAAC,CAAC;IACtB,IAAI,KAAK,CAAC,IAAI,CAAC,KAAK,CAAC,KAAK,CAAC,KAAK,QAAQ,EAAE,CAAC;QACzC,KAAK,CAAC,KAAK,IAAI,CAAC,CAAC;QACjB,OAAO,IAAI,CAAC;IACd,CAAC;IACD,OAAO,KAAK,CAAC;AACf,CAAC;AAED,SAAS,eAAe,CAAC,KAAkC,EAAE,QAAgB;IAC3E,IAAI,CAAC,gBAAgB,CAAC,KAAK,EAAE,QAAQ,CAAC,EAAE,CAAC;QACvC,MAAM,IAAI,KAAK,CAAC,aAAa,QAAQ,cAAc,KAAK,CAAC,KAAK,GAAG,CAAC,CAAC;IACrE,CAAC;AACH,CAAC;AAED,SAAS,cAAc,CAAC,KAAkC,EAAE,OAAe;IACzE,cAAc,CAAC,KAAK,CAAC,CAAC;IACtB,MAAM,SAAS,GAAG,KAAK,CAAC,IAAI,CAAC,KAAK,CAAC,KAAK,CAAC,KAAK,EAAE,KAAK,CAAC,KAAK,GAAG,OAAO,CAAC,MAAM,CAAC,CAAC;IAC9E,IAAI,SAAS,CAAC,WAAW,EAAE,KAAK,OAAO;QAAE,OAAO,KAAK,CAAC;IAEtD,MAAM,aAAa,GAAG,KAAK,CAAC,IAAI,CAAC,KAAK,CAAC,KAAK,GAAG,OAAO,CAAC,MAAM,CAAC,CAAC;IAC/D,IAAI,aAAa,IAAI,IAAI,IAAI,cAAc,CAAC,IAAI,CAAC,aAAa,CAAC;QAAE,OAAO,KAAK,CAAC;IAE9E,KAAK,CAAC,KAAK,IAAI,OAAO,CAAC,MAAM,CAAC;IAC9B,OAAO,IAAI,CAAC;AACd,CAAC;AAED,SAAS,eAAe,CAAC,KAAkC;IACzD,cAAc,CAAC,KAAK,CAAC,CAAC;IACtB,MAAM,KAAK,GAAG,KAAK,CAAC,KAAK,CAAC;IAC1B,OAAO,KAAK,CAAC,KAAK,GAAG,KAAK,CAAC,IAAI,CAAC,MAAM,IAAI,cAAc,CAAC,IAAI,CAAC,KAAK,CAAC,IAAI,CAAC,KAAK,CAAC,KAAK,CAAC,IAAI,EAAE,CAAC,EAAE,CAAC;QAC7F,KAAK,CAAC,KAAK,IAAI,CAAC,CAAC;IACnB,CAAC;IACD,IAAI,KAAK,CAAC,KAAK,KAAK,KAAK,EAAE,CAAC;QAC1B,MAAM,IAAI,KAAK,CAAC,oDAAoD,KAAK,CAAC,KAAK,GAAG,CAAC,CAAC;IACtF,CAAC;IACD,OAAO,KAAK,CAAC,IAAI,CAAC,KAAK,CAAC,KAAK,EAAE,KAAK,CAAC,KAAK,CAAC,CAAC;AAC9C,CAAC;AAED,SAAS,kBAAkB,CAAC,KAAkC;IAC5D,eAAe,CAAC,KAAK,EAAE,GAAG,CAAC,CAAC;IAC5B,IAAI,KAAK,GAAG,EAAE,CAAC;IACf,OAAO,KAAK,CAAC,KAAK,GAAG,KAAK,CAAC,IAAI,CAAC,MAAM,EAAE,CAAC;QACvC,MAAM,SAAS,GAAG,KAAK,CAAC,IAAI,CAAC,KAAK,CAAC,KAAK,CAAC,CAAC;QAC1C,IAAI,SAAS,KAAK,SAAS;YAAE,MAAM;QACnC,KAAK,CAAC,KAAK,IAAI,CAAC,CAAC;QACjB,IAAI,SAAS,KAAK,GAAG,EAAE,CAAC;YACtB,OAAO,EAAE,IAAI,EAAE,QAAQ,EAAE,KAAK,EAAE,CAAC;QACnC,CAAC;QACD,IAAI,SAAS,KAAK,IAAI,EAAE,CAAC;YACvB,MAAM,OAAO,GAAG,KAAK,CAAC,IAAI,CAAC,KAAK,CAAC,KAAK,CAAC,CAAC;YACxC,IAAI,OAAO,IAAI,IAAI,EAAE,CAAC;gBACpB,MAAM,IAAI,KAAK,CAAC,oEAAoE,CAAC,CAAC;YACxF,CAAC;YACD,KAAK,CAAC,KAAK,IAAI,CAAC,CAAC;YACjB,KAAK,IAAI,OAAO,CAAC;YACjB,SAAS;QACX,CAAC;QACD,KAAK,IAAI,SAAS,CAAC;IACrB,CAAC;IACD,MAAM,IAAI,KAAK,CAAC,iDAAiD,CAAC,CAAC;AACrE,CAAC;AAED,SAAS,kBAAkB,CAAC,KAAkC;IAC5D,cAAc,CAAC,KAAK,CAAC,CAAC;IACtB,MAAM,KAAK,GAAG,KAAK,CAAC,KAAK,CAAC;IAC1B,IAAI,KAAK,CAAC,IAAI,CAAC,KAAK,CAAC,KAAK,CAAC,KAAK,GAAG,EAAE,CAAC;QACpC,KAAK,CAAC,KAAK,IAAI,CAAC,CAAC;IACnB,CAAC;IACD,IAAI,QAAQ,GAAG,KAAK,CAAC;IACrB,OAAO,KAAK,CAAC,KAAK,GAAG,KAAK,CAAC,IAAI,CAAC,MAAM,IAAI,OAAO,CAAC,IAAI,CAAC,KAAK,CAAC,IAAI,CAAC,KAAK,CAAC,KAAK,CAAC,IAAI,EAAE,CAAC,EAAE,CAAC;QACtF,KAAK,CAAC,KAAK,IAAI,CAAC,CAAC;QACjB,QAAQ,GAAG,IAAI,CAAC;IAClB,CAAC;IACD,IAAI,KAAK,CAAC,IAAI,CAAC,KAAK,CAAC,KAAK,CAAC,KAAK,GAAG,EAAE,CAAC;QACpC,KAAK,CAAC,KAAK,IAAI,CAAC,CAAC;QACjB,OAAO,KAAK,CAAC,KAAK,GAAG,KAAK,CAAC,IAAI,CAAC,MAAM,IAAI,OAAO,CAAC,IAAI,CAAC,KAAK,CAAC,IAAI,CAAC,KAAK,CAAC,KAAK,CAAC,IAAI,EAAE,CAAC,EAAE,CAAC;YACtF,KAAK,CAAC,KAAK,IAAI,CAAC,CAAC;YACjB,QAAQ,GAAG,IAAI,CAAC;QAClB,CAAC;IACH,CAAC;IACD,IAAI,CAAC,QAAQ,EAAE,CAAC;QACd,MAAM,IAAI,KAAK,CAAC,sCAAsC,KAAK,GAAG,CAAC,CAAC;IAClE,CAAC;IACD,MAAM,KAAK,GAAG,MAAM,CAAC,KAAK,CAAC,IAAI,CAAC,KAAK,CAAC,KAAK,EAAE,KAAK,CAAC,KAAK,CAAC,CAAC,CAAC;IAC3D,IAAI,CAAC,MAAM,CAAC,QAAQ,CAAC,KAAK,CAAC,EAAE,CAAC;QAC5B,MAAM,IAAI,KAAK,CACb,gEAAgE,KAAK,CAAC,IAAI,CAAC,KAAK,CAAC,KAAK,EAAE,KAAK,CAAC,KAAK,CAAC,GAAG,CACxG,CAAC;IACJ,CAAC;IACD,OAAO,EAAE,IAAI,EAAE,QAAQ,EAAE,KAAK,EAAE,CAAC;AACnC,CAAC;AAED,SAAS,kBAAkB,CACzB,KAAkC;IAElC,cAAc,CAAC,KAAK,CAAC,CAAC;IACtB,MAAM,SAAS,GAAG,KAAK,CAAC,IAAI,CAAC,KAAK,CAAC,KAAK,CAAC,CAAC;IAC1C,IAAI,SAAS,KAAK,GAAG;QAAE,OAAO,kBAAkB,CAAC,KAAK,CAAC,CAAC;IACxD,IAAI,SAAS,KAAK,GAAG,IAAI,OAAO,CAAC,IAAI,CAAC,SAAS,IAAI,EAAE,CAAC;QAAE,OAAO,kBAAkB,CAAC,KAAK,CAAC,CAAC;IACzF,IAAI,cAAc,CAAC,KAAK,EAAE,MAAM,CAAC;QAAE,OAAO,EAAE,IAAI,EAAE,SAAS,EAAE,KAAK,EAAE,IAAI,EAAE,CAAC;IAC3E,IAAI,cAAc,CAAC,KAAK,EAAE,OAAO,CAAC;QAAE,OAAO,EAAE,IAAI,EAAE,SAAS,EAAE,KAAK,EAAE,KAAK,EAAE,CAAC;IAC7E,IAAI,cAAc,CAAC,KAAK,EAAE,MAAM,CAAC;QAAE,OAAO,EAAE,IAAI,EAAE,MAAM,EAAE,CAAC;IAC3D,IAAI,cAAc,CAAC,KAAK,EAAE,OAAO,CAAC,EAAE,CAAC;QACnC,eAAe,CAAC,KAAK,EAAE,GAAG,CAAC,CAAC;QAC5B,eAAe,CAAC,KAAK,EAAE,GAAG,CAAC,CAAC;QAC5B,OAAO,EAAE,IAAI,EAAE,UAAU,EAAE,IAAI,EAAE,OAAO,EAAE,CAAC;IAC7C,CAAC;IACD,MAAM,IAAI,KAAK,CAAC,4DAA4D,KAAK,CAAC,KAAK,GAAG,CAAC,CAAC;AAC9F,CAAC;AAED,SAAS,iBAAiB,CAAC,KAAkC;IAC3D,eAAe,CAAC,KAAK,EAAE,GAAG,CAAC,CAAC;IAC5B,MAAM,MAAM,GAAmC,EAAE,CAAC;IAClD,OAAO,IAAI,EAAE,CAAC;QACZ,cAAc,CAAC,KAAK,CAAC,CAAC;QACtB,IAAI,gBAAgB,CAAC,KAAK,EAAE,GAAG,CAAC,EAAE,CAAC;YACjC,OAAO,EAAE,IAAI,EAAE,OAAO,EAAE,KAAK,EAAE,MAAM,EAAE,CAAC;QAC1C,CAAC;QACD,MAAM,SAAS,GAAG,kBAAkB,CAAC,KAAK,CAAC,CAAC;QAC5C,IAAI,SAAS,CAAC,IAAI,KAAK,UAAU,EAAE,CAAC;YAClC,MAAM,IAAI,KAAK,CAAC,mDAAmD,CAAC,CAAC;QACvE,CAAC;QACD,MAAM,CAAC,IAAI,CAAC,SAAS,CAAC,CAAC;QACvB,cAAc,CAAC,KAAK,CAAC,CAAC;QACtB,IAAI,gBAAgB,CAAC,KAAK,EAAE,GAAG,CAAC,EAAE,CAAC;YACjC,OAAO,EAAE,IAAI,EAAE,OAAO,EAAE,KAAK,EAAE,MAAM,EAAE,CAAC;QAC1C,CAAC;QACD,eAAe,CAAC,KAAK,EAAE,GAAG,CAAC,CAAC;IAC9B,CAAC;AACH,CAAC;AAED,SAAS,YAAY,CAAC,KAAkC;IACtD,cAAc,CAAC,KAAK,CAAC,CAAC;IACtB,IAAI,KAAK,CAAC,IAAI,CAAC,KAAK,CAAC,KAAK,CAAC,KAAK,GAAG,EAAE,CAAC;QACpC,OAAO,iBAAiB,CAAC,KAAK,CAAC,CAAC;IAClC,CAAC;IACD,OAAO,kBAAkB,CAAC,KAAK,CAAC,CAAC;AACnC,CAAC;AAED,SAAS,aAAa,CAAC,KAAkC;IACvD,cAAc,CAAC,KAAK,CAAC,CAAC;IACtB,KAAK,MAAM,QAAQ,IAAI,CAAC,QAAQ,EAAE,IAAI,EAAE,IAAI,EAAE,IAAI,EAAE,IAAI,EAAE,IAAI,EAAE,GAAG,EAAE,GAAG,CAAU,EAAE,CAAC;QACnF,IAAI,KAAK,CAAC,IAAI,CAAC,KAAK,CAAC,KAAK,CAAC,KAAK,EAAE,KAAK,CAAC,KAAK,GAAG,QAAQ,CAAC,MAAM,CAAC,CAAC,WAAW,EAAE,KAAK,QAAQ,EAAE,CAAC;YAC5F,KAAK,CAAC,KAAK,IAAI,QAAQ,CAAC,MAAM,CAAC;YAC/B,OAAO,QAAQ,CAAC;QAClB,CAAC;IACH,CAAC;IACD,MAAM,IAAI,KAAK,CAAC,mDAAmD,KAAK,CAAC,KAAK,GAAG,CAAC,CAAC;AACrF,CAAC;AAED,SAAS,eAAe,CAAC,KAAkC;IACzD,MAAM,KAAK,GAAG,eAAe,CAAC,KAAK,CAAC,CAAC;IACrC,MAAM,QAAQ,GAAG,aAAa,CAAC,KAAK,CAAC,CAAC;IACtC,MAAM,KAAK,GAAG,YAAY,CAAC,KAAK,CAAC,CAAC;IAClC,OAAO,EAAE,IAAI,EAAE,YAAY,EAAE,KAAK,EAAE,QAAQ,EAAE,KAAK,EAAE,CAAC;AACxD,CAAC;AAED,SAAS,YAAY,CAAC,KAAkC;IACtD,cAAc,CAAC,KAAK,CAAC,CAAC;IACtB,IAAI,gBAAgB,CAAC,KAAK,EAAE,GAAG,CAAC,EAAE,CAAC;QACjC,MAAM,UAAU,GAAG,iBAAiB,CAAC,KAAK,CAAC,CAAC;QAC5C,eAAe,CAAC,KAAK,EAAE,GAAG,CAAC,CAAC;QAC5B,OAAO,UAAU,CAAC;IACpB,CAAC;IACD,OAAO,eAAe,CAAC,KAAK,CAAC,CAAC;AAChC,CAAC;AAED,SAAS,kBAAkB,CAAC,KAAkC;IAC5D,cAAc,CAAC,KAAK,CAAC,CAAC;IACtB,IAAI,cAAc,CAAC,KAAK,EAAE,KAAK,CAAC,EAAE,CAAC;QACjC,OAAO,EAAE,IAAI,EAAE,KAAK,EAAE,OAAO,EAAE,kBAAkB,CAAC,KAAK,CAAC,EAAE,CAAC;IAC7D,CAAC;IACD,OAAO,YAAY,CAAC,KAAK,CAAC,CAAC;AAC7B,CAAC;AAED,SAAS,kBAAkB,CAAC,KAAkC;IAC5D,MAAM,QAAQ,GAAoC,CAAC,kBAAkB,CAAC,KAAK,CAAC,CAAC,CAAC;IAC9E,OAAO,IAAI,EAAE,CAAC;QACZ,MAAM,UAAU,GAAG,KAAK,CAAC,KAAK,CAAC;QAC/B,IAAI,CAAC,cAAc,CAAC,KAAK,EAAE,KAAK,CAAC,EAAE,CAAC;YAClC,KAAK,CAAC,KAAK,GAAG,UAAU,CAAC;YACzB,MAAM;QACR,CAAC;QACD,QAAQ,CAAC,IAAI,CAAC,kBAAkB,CAAC,KAAK,CAAC,CAAC,CAAC;IAC3C,CAAC;IACD,OAAO,QAAQ,CAAC,MAAM,KAAK,CAAC,CAAC,CAAC,CAAC,QAAQ,CAAC,CAAC,CAAE,CAAC,CAAC,CAAC,EAAE,IAAI,EAAE,SAAS,EAAE,QAAQ,EAAE,KAAK,EAAE,QAAQ,EAAE,CAAC;AAC/F,CAAC;AAED,SAAS,iBAAiB,CAAC,KAAkC;IAC3D,MAAM,QAAQ,GAAoC,CAAC,kBAAkB,CAAC,KAAK,CAAC,CAAC,CAAC;IAC9E,OAAO,IAAI,EAAE,CAAC;QACZ,MAAM,UAAU,GAAG,KAAK,CAAC,KAAK,CAAC;QAC/B,IAAI,CAAC,cAAc,CAAC,KAAK,EAAE,IAAI,CAAC,EAAE,CAAC;YACjC,KAAK,CAAC,KAAK,GAAG,UAAU,CAAC;YACzB,MAAM;QACR,CAAC;QACD,QAAQ,CAAC,IAAI,CAAC,kBAAkB,CAAC,KAAK,CAAC,CAAC,CAAC;IAC3C,CAAC;IACD,OAAO,QAAQ,CAAC,MAAM,KAAK,CAAC,CAAC,CAAC,CAAC,QAAQ,CAAC,CAAC,CAAE,CAAC,CAAC,CAAC,EAAE,IAAI,EAAE,SAAS,EAAE,QAAQ,EAAE,IAAI,EAAE,QAAQ,EAAE,CAAC;AAC9F,CAAC;AAED,SAAS,6BAA6B,CAAC,IAAY;IACjD,MAAM,KAAK,GAAgC,EAAE,IAAI,EAAE,KAAK,EAAE,CAAC,EAAE,CAAC;IAC9D,MAAM,UAAU,GAAG,iBAAiB,CAAC,KAAK,CAAC,CAAC;IAC5C,cAAc,CAAC,KAAK,CAAC,CAAC;IACtB,IAAI,KAAK,CAAC,KAAK,KAAK,KAAK,CAAC,IAAI,CAAC,MAAM,EAAE,CAAC;QACtC,MAAM,IAAI,KAAK,CACb,oEAAoE,KAAK,CAAC,KAAK,KAAK,KAAK,CAAC,IAAI,CAAC,KAAK,CAClG,KAAK,CAAC,KAAK,CACZ,GAAG,CACL,CAAC;IACJ,CAAC;IACD,OAAO,UAAU,CAAC;AACpB,CAAC;AAED,SAAS,2BAA2B,CAClC,UAAqC,EACrC,SAAiB;IAEjB,IAAK,+BAAqD,CAAC,QAAQ,CAAC,SAAS,CAAC,EAAE,CAAC;QAC/E,OAAO;YACL,OAAO,EAAE,SAAS;YAClB,QAAQ,EAAE,sCAAsC,CAAC,GAAG,CAAC,SAAS,CAAC,CAAC,CAAC,CAAC,QAAQ,CAAC,CAAC,CAAC,QAAQ;SACtF,CAAC;IACJ,CAAC;IAED,MAAM,KAAK,GAAG,UAAU,CAAC,MAAM,CAAC,SAA0C,CAAC,CAAC;IAC5E,IAAI,KAAK,IAAI,IAAI,EAAE,CAAC;QAClB,MAAM,IAAI,KAAK,CACb,qCAAqC,SAAS,UAAU,UAAU,CAAC,OAAO,oBAAoB;YAC5F,GAAG,+BAA+B;YAClC,GAAG,MAAM,CAAC,IAAI,CAAC,UAAU,CAAC,MAAM,CAAC,CAAC,IAAI,EAAE;SACzC,CAAC,IAAI,CAAC,IAAI,CAAC,GAAG,CAChB,CAAC;IACJ,CAAC;IAED,QAAQ,KAAK,CAAC,IAAI,EAAE,CAAC;QACnB,KAAK,MAAM,CAAC;QACZ,KAAK,WAAW,CAAC;QACjB,KAAK,OAAO,CAAC;QACb,KAAK,KAAK,CAAC;QACX,KAAK,OAAO,CAAC;QACb,KAAK,MAAM,CAAC;QACZ,KAAK,UAAU,CAAC;QAChB,KAAK,MAAM,CAAC;QACZ,KAAK,QAAQ,CAAC;QACd,KAAK,OAAO,CAAC;QACb,KAAK,cAAc,CAAC;QACpB,KAAK,cAAc,CAAC;QACpB,KAAK,aAAa;YAChB,OAAO,EAAE,OAAO,EAAE,KAAK,CAAC,OAAO,EAAE,QAAQ,EAAE,QAAQ,EAAE,CAAC;QACxD,KAAK,QAAQ,CAAC;QACd,KAAK,UAAU,CAAC;QAChB,KAAK,YAAY,CAAC;QAClB,KAAK,gBAAgB,CAAC;QACtB,KAAK,kBAAkB,CAAC;QACxB,KAAK,oBAAoB;YACvB,OAAO,EAAE,OAAO,EAAE,KAAK,CAAC,OAAO,EAAE,QAAQ,EAAE,QAAQ,EAAE,CAAC;QACxD,KAAK,SAAS,CAAC;QACf,KAAK,iBAAiB;YACpB,OAAO,EAAE,OAAO,EAAE,KAAK,CAAC,OAAO,EAAE,QAAQ,EAAE,SAAS,EAAE,CAAC;QACzD,KAAK,QAAQ,CAAC;QACd,KAAK,cAAc;YACjB,OAAO,EAAE,OAAO,EAAE,KAAK,CAAC,OAAO,EAAE,QAAQ,EAAE,QAAQ,EAAE,CAAC;QACxD;YACE,OAAO,EAAE,OAAO,EAAE,KAAK,CAAC,OAAO,EAAE,QAAQ,EAAE,aAAa,EAAE,CAAC;IAC/D,CAAC;AACH,CAAC;AAED,SAAS,qBAAqB,CAAC,KAAa;IAC1C,OAAO,IAAI,KAAK,CAAC,OAAO,CAAC,KAAK,EAAE,MAAM,CAAC,CAAC,OAAO,CAAC,IAAI,EAAE,KAAK,CAAC,GAAG,CAAC;AAClE,CAAC;AAED,SAAS,sBAAsB,CAAC,OAA+B;IAC7D,QAAQ,OAAO,CAAC,IAAI,EAAE,CAAC;QACrB,KAAK,QAAQ;YACX,OAAO,qBAAqB,CAAC,OAAO,CAAC,KAAK,CAAC,CAAC;QAC9C,KAAK,QAAQ;YACX,OAAO,MAAM,CAAC,OAAO,CAAC,KAAK,CAAC,CAAC;QAC/B,KAAK,SAAS;YACZ,OAAO,OAAO,CAAC,KAAK,CAAC,CAAC,CAAC,MAAM,CAAC,CAAC,CAAC,OAAO,CAAC;QAC1C,KAAK,MAAM;YACT,OAAO,MAAM,CAAC;QAChB,KAAK,UAAU;YACb,OAAO,GAAG,OAAO,CAAC,IAAI,IAAI,CAAC;QAC7B,KAAK,OAAO;YACV,OAAO,IAAI,OAAO,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC,KAAK,EAAE,EAAE,CAAC,sBAAsB,CAAC,KAAK,CAAC,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,GAAG,CAAC;IACzF,CAAC;AACH,CAAC;AAED,SAAS,uBAAuB,CAAC,QAAmC;IAClE,QAAQ,QAAQ,EAAE,CAAC;QACjB,KAAK,QAAQ;YACX,OAAO,kDAAkD,CAAC;QAC5D,KAAK,QAAQ;YACX,OAAO,8BAA8B,CAAC;QACxC,KAAK,SAAS;YACZ,OAAO,kCAAkC,CAAC;QAC5C,KAAK,QAAQ;YACX,OAAO,8CAA8C,CAAC;QACxD;YACE,OAAO,2BAA2B,CAAC;IACvC,CAAC;AACH,CAAC;AAED,SAAS,eAAe,CAAC,OAA+B;IACtD,QAAQ,OAAO,CAAC,IAAI,EAAE,CAAC;QACrB,KAAK,QAAQ;YACX,OAAO,iBAAiB,qBAAqB,CAAC,OAAO,CAAC,KAAK,CAAC,EAAE,CAAC;QACjE,KAAK,QAAQ;YACX,OAAO,UAAU,MAAM,CAAC,OAAO,CAAC,KAAK,CAAC,EAAE,CAAC;QAC3C,KAAK,SAAS;YACZ,OAAO,WAAW,OAAO,CAAC,KAAK,CAAC,CAAC,CAAC,MAAM,CAAC,CAAC,CAAC,OAAO,EAAE,CAAC;QACvD,KAAK,MAAM;YACT,OAAO,MAAM,CAAC;QAChB,KAAK,UAAU;YACb,OAAO,GAAG,OAAO,CAAC,IAAI,IAAI,CAAC;QAC7B,KAAK,OAAO;YACV,OAAO,SAAS,sBAAsB,CAAC,OAAO,CAAC,EAAE,CAAC;IACtD,CAAC;AACH,CAAC;AAED,SAAS,4BAA4B,CACnC,SAAiB,EACjB,QAAmC,EACnC,QAAmD,EACnD,OAA+B;IAE/B,IAAI,QAAQ,KAAK,aAAa,EAAE,CAAC;QAC/B,MAAM,IAAI,KAAK,CAAC,iFAAiF,CAAC,CAAC;IACrG,CAAC;IAED,IAAI,QAAQ,KAAK,IAAI,IAAI,QAAQ,KAAK,QAAQ,EAAE,CAAC;QAC/C,IAAI,OAAO,CAAC,IAAI,KAAK,OAAO,EAAE,CAAC;YAC7B,MAAM,IAAI,KAAK,CACb,6BAA6B,SAAS,oBAAoB,QAAQ,2DAA2D,eAAe,CAC1I,OAAO,CACR,GAAG,CACL,CAAC;QACJ,CAAC;QACD,IAAI,OAAO,CAAC,KAAK,CAAC,MAAM,KAAK,CAAC,EAAE,CAAC;YAC/B,MAAM,IAAI,KAAK,CACb,6BAA6B,SAAS,oBAAoB,QAAQ,yDAAyD,CAC5H,CAAC;QACJ,CAAC;QACD,KAAK,MAAM,KAAK,IAAI,OAAO,CAAC,KAAK,EAAE,CAAC;YAClC,4BAA4B,CAAC,SAAS,EAAE,QAAQ,EAAE,IAAI,EAAE,KAAK,CAAC,CAAC;QACjE,CAAC;QACD,OAAO;IACT,CAAC;IAED,IAAI,OAAO,CAAC,IAAI,KAAK,MAAM,EAAE,CAAC;QAC5B,IAAI,QAAQ,KAAK,GAAG,IAAI,QAAQ,KAAK,IAAI,IAAI,QAAQ,KAAK,GAAG,IAAI,QAAQ,KAAK,IAAI,EAAE,CAAC;YACnF,MAAM,IAAI,KAAK,CACb,6BAA6B,SAAS,oBAAoB,QAAQ,yCAAyC,uBAAuB,CAChI,QAAQ,CACT,GAAG,CACL,CAAC;QACJ,CAAC;QACD,OAAO;IACT,CAAC;IAED,IAAI,OAAO,CAAC,IAAI,KAAK,UAAU,EAAE,CAAC;QAChC,IAAI,OAAO,CAAC,IAAI,KAAK,OAAO,IAAI,QAAQ,KAAK,QAAQ,EAAE,CAAC;YACtD,MAAM,IAAI,KAAK,CACb,6BAA6B,SAAS,oBAAoB,QAAQ,sBAAsB,eAAe,CACrG,OAAO,CACR,GAAG,CACL,CAAC;QACJ,CAAC;QACD,OAAO;IACT,CAAC;IAED,IACE,CAAC,QAAQ,KAAK,GAAG,IAAI,QAAQ,KAAK,IAAI,IAAI,QAAQ,KAAK,GAAG,IAAI,QAAQ,KAAK,IAAI,CAAC;QAChF,CAAC,CAAC,QAAQ,KAAK,QAAQ,IAAI,QAAQ,KAAK,QAAQ,CAAC,EACjD,CAAC;QACD,MAAM,IAAI,KAAK,CACb,6BAA6B,SAAS,oBAAoB,QAAQ,0EAA0E,uBAAuB,CACjK,QAAQ,CACT,GAAG,CACL,CAAC;IACJ,CAAC;IAED,QAAQ,QAAQ,EAAE,CAAC;QACjB,KAAK,QAAQ;YACX,IAAI,OAAO,CAAC,IAAI,KAAK,QAAQ,EAAE,CAAC;gBAC9B,MAAM,IAAI,KAAK,CACb,6BAA6B,SAAS,oBAAoB,QAAQ,aAAa,uBAAuB,CACpG,QAAQ,CACT,cAAc,eAAe,CAAC,OAAO,CAAC,GAAG,CAC3C,CAAC;YACJ,CAAC;YACD,OAAO;QACT,KAAK,QAAQ;YACX,IAAI,OAAO,CAAC,IAAI,KAAK,QAAQ,EAAE,CAAC;gBAC9B,MAAM,IAAI,KAAK,CACb,6BAA6B,SAAS,oBAAoB,QAAQ,aAAa,uBAAuB,CACpG,QAAQ,CACT,cAAc,eAAe,CAAC,OAAO,CAAC,GAAG,CAC3C,CAAC;YACJ,CAAC;YACD,OAAO;QACT,KAAK,SAAS;YACZ,IAAI,OAAO,CAAC,IAAI,KAAK,SAAS,EAAE,CAAC;gBAC/B,MAAM,IAAI,KAAK,CACb,6BAA6B,SAAS,oBAAoB,QAAQ,aAAa,uBAAuB,CACpG,QAAQ,CACT,cAAc,eAAe,CAAC,OAAO,CAAC,GAAG,CAC3C,CAAC;YACJ,CAAC;YACD,OAAO;QACT,KAAK,QAAQ;YACX,IAAI,OAAO,CAAC,IAAI,KAAK,QAAQ,EAAE,CAAC;gBAC9B,MAAM,IAAI,KAAK,CACb,6BAA6B,SAAS,oBAAoB,QAAQ,aAAa,uBAAuB,CACpG,QAAQ,CACT,cAAc,eAAe,CAAC,OAAO,CAAC,GAAG,CAC3C,CAAC;YACJ,CAAC;YACD,OAAO;QACT;YACE,OAAO;IACX,CAAC;AACH,CAAC;AAED,SAAS,yBAAyB,CAChC,UAAqC,EACrC,IAAmC;IAEnC,QAAQ,IAAI,CAAC,IAAI,EAAE,CAAC;QAClB,KAAK,SAAS;YACZ,KAAK,MAAM,OAAO,IAAI,IAAI,CAAC,QAAQ;gBAAE,yBAAyB,CAAC,UAAU,EAAE,OAAO,CAAC,CAAC;YACpF,OAAO;QACT,KAAK,KAAK;YACR,yBAAyB,CAAC,UAAU,EAAE,IAAI,CAAC,OAAO,CAAC,CAAC;YACpD,OAAO;QACT,KAAK,YAAY,CAAC,CAAC,CAAC;YAClB,MAAM,QAAQ,GAAG,2BAA2B,CAAC,UAAU,EAAE,IAAI,CAAC,KAAK,CAAC,CAAC;YACrE,4BAA4B,CAAC,IAAI,CAAC,KAAK,EAAE,QAAQ,CAAC,QAAQ,EAAE,IAAI,CAAC,QAAQ,EAAE,IAAI,CAAC,KAAK,CAAC,CAAC;YACvF,OAAO;QACT,CAAC;IACH,CAAC;AACH,CAAC;AAED,SAAS,uBAAuB,CAC9B,UAAqC,EACrC,IAAmC;IAEnC,QAAQ,IAAI,CAAC,IAAI,EAAE,CAAC;QAClB,KAAK,SAAS;YACZ,OAAO,IAAI,IAAI,CAAC,QAAQ;iBACrB,GAAG,CAAC,CAAC,OAAO,EAAE,EAAE,CAAC,uBAAuB,CAAC,UAAU,EAAE,OAAO,CAAC,CAAC;iBAC9D,IAAI,CAAC,IAAI,IAAI,CAAC,QAAQ,GAAG,CAAC,GAAG,CAAC;QACnC,KAAK,KAAK;YACR,OAAO,QAAQ,uBAAuB,CAAC,UAAU,EAAE,IAAI,CAAC,OAAO,CAAC,GAAG,CAAC;QACtE,KAAK,YAAY,CAAC,CAAC,CAAC;YAClB,MAAM,QAAQ,GAAG,2BAA2B,CAAC,UAAU,EAAE,IAAI,CAAC,KAAK,CAAC,CAAC;YACrE,OAAO,IAAI,QAAQ,CAAC,OAAO,IAAI,IAAI,CAAC,QAAQ,IAAI,sBAAsB,CAAC,IAAI,CAAC,KAAK,CAAC,GAAG,CAAC;QACxF,CAAC;IACH,CAAC;AACH,CAAC;AAED;;;;;;;;;;;;;;;;;GAiBG;AACH,SAAgB,cAAc,CAC5B,MAA+C,EAC/C,UAAuB;IAEvB,MAAM,UAAU,GAAG,uBAAuB,CAAC,MAAM,CAAC,CAAC;IACnD,MAAM,GAAG,GAAG,6BAA6B,CAAC,UAAoB,CAAC,CAAC;IAChE,yBAAyB,CAAC,UAAU,EAAE,GAAG,CAAC,CAAC;IAC3C,OAAO,cAAc,CAAC,uBAAuB,CAAC,UAAU,EAAE,GAAG,CAAC,CAAC,CAAC;AAClE,CAAC"}