arc-1 1.2.0 → 1.4.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (366) hide show
  1. package/README.md +8 -6
  2. package/dist/adt/atc-batch.d.ts +71 -0
  3. package/dist/adt/atc-batch.d.ts.map +1 -0
  4. package/dist/adt/atc-batch.js +182 -0
  5. package/dist/adt/atc-batch.js.map +1 -0
  6. package/dist/adt/atc.d.ts +34 -0
  7. package/dist/adt/atc.d.ts.map +1 -1
  8. package/dist/adt/atc.js +58 -12
  9. package/dist/adt/atc.js.map +1 -1
  10. package/dist/adt/aunit.d.ts.map +1 -1
  11. package/dist/adt/aunit.js +50 -7
  12. package/dist/adt/aunit.js.map +1 -1
  13. package/dist/adt/bounded-response.d.ts +4 -1
  14. package/dist/adt/bounded-response.d.ts.map +1 -1
  15. package/dist/adt/bounded-response.js +33 -7
  16. package/dist/adt/bounded-response.js.map +1 -1
  17. package/dist/adt/ci-quality-xml.d.ts +44 -0
  18. package/dist/adt/ci-quality-xml.d.ts.map +1 -0
  19. package/dist/adt/ci-quality-xml.js +98 -0
  20. package/dist/adt/ci-quality-xml.js.map +1 -0
  21. package/dist/adt/ci-quality.d.ts +64 -0
  22. package/dist/adt/ci-quality.d.ts.map +1 -0
  23. package/dist/adt/ci-quality.js +132 -0
  24. package/dist/adt/ci-quality.js.map +1 -0
  25. package/dist/adt/client.d.ts +20 -16
  26. package/dist/adt/client.d.ts.map +1 -1
  27. package/dist/adt/client.js +35 -70
  28. package/dist/adt/client.js.map +1 -1
  29. package/dist/adt/create-request.d.ts +4 -0
  30. package/dist/adt/create-request.d.ts.map +1 -0
  31. package/dist/adt/create-request.js +16 -0
  32. package/dist/adt/create-request.js.map +1 -0
  33. package/dist/adt/crud.d.ts.map +1 -1
  34. package/dist/adt/crud.js +7 -3
  35. package/dist/adt/crud.js.map +1 -1
  36. package/dist/adt/data-source-policy.d.ts +6 -15
  37. package/dist/adt/data-source-policy.d.ts.map +1 -1
  38. package/dist/adt/data-source-policy.js +18 -11
  39. package/dist/adt/data-source-policy.js.map +1 -1
  40. package/dist/adt/ddic-xml.d.ts +78 -4
  41. package/dist/adt/ddic-xml.d.ts.map +1 -1
  42. package/dist/adt/ddic-xml.js +647 -54
  43. package/dist/adt/ddic-xml.js.map +1 -1
  44. package/dist/adt/devtools.d.ts +1 -0
  45. package/dist/adt/devtools.d.ts.map +1 -1
  46. package/dist/adt/devtools.js +31 -8
  47. package/dist/adt/devtools.js.map +1 -1
  48. package/dist/adt/diagnostics.d.ts +11 -9
  49. package/dist/adt/diagnostics.d.ts.map +1 -1
  50. package/dist/adt/diagnostics.js +84 -10
  51. package/dist/adt/diagnostics.js.map +1 -1
  52. package/dist/adt/errors.d.ts +2 -0
  53. package/dist/adt/errors.d.ts.map +1 -1
  54. package/dist/adt/errors.js +3 -1
  55. package/dist/adt/errors.js.map +1 -1
  56. package/dist/adt/features.d.ts.map +1 -1
  57. package/dist/adt/features.js +2 -0
  58. package/dist/adt/features.js.map +1 -1
  59. package/dist/adt/flp.d.ts.map +1 -1
  60. package/dist/adt/flp.js +5 -4
  61. package/dist/adt/flp.js.map +1 -1
  62. package/dist/adt/http-deadline.d.ts +7 -0
  63. package/dist/adt/http-deadline.d.ts.map +1 -1
  64. package/dist/adt/http-deadline.js +2 -2
  65. package/dist/adt/http-deadline.js.map +1 -1
  66. package/dist/adt/http.d.ts +11 -5
  67. package/dist/adt/http.d.ts.map +1 -1
  68. package/dist/adt/http.js +136 -82
  69. package/dist/adt/http.js.map +1 -1
  70. package/dist/adt/internal-data-operations.d.ts +9 -4
  71. package/dist/adt/internal-data-operations.d.ts.map +1 -1
  72. package/dist/adt/internal-data-operations.js +11 -7
  73. package/dist/adt/internal-data-operations.js.map +1 -1
  74. package/dist/adt/package-contents.d.ts +12 -0
  75. package/dist/adt/package-contents.d.ts.map +1 -0
  76. package/dist/adt/package-contents.js +19 -0
  77. package/dist/adt/package-contents.js.map +1 -0
  78. package/dist/adt/publish-state.d.ts +4 -0
  79. package/dist/adt/publish-state.d.ts.map +1 -0
  80. package/dist/adt/publish-state.js +61 -0
  81. package/dist/adt/publish-state.js.map +1 -0
  82. package/dist/adt/relation-objects.d.ts +385 -0
  83. package/dist/adt/relation-objects.d.ts.map +1 -0
  84. package/dist/adt/relation-objects.js +262 -0
  85. package/dist/adt/relation-objects.js.map +1 -0
  86. package/dist/adt/repository-relations.d.ts +41 -0
  87. package/dist/adt/repository-relations.d.ts.map +1 -0
  88. package/dist/adt/repository-relations.js +246 -0
  89. package/dist/adt/repository-relations.js.map +1 -0
  90. package/dist/adt/request-attempt-budget.d.ts +26 -0
  91. package/dist/adt/request-attempt-budget.d.ts.map +1 -0
  92. package/dist/adt/request-attempt-budget.js +63 -0
  93. package/dist/adt/request-attempt-budget.js.map +1 -0
  94. package/dist/adt/result-limits.d.ts +3 -0
  95. package/dist/adt/result-limits.d.ts.map +1 -0
  96. package/dist/adt/result-limits.js +7 -0
  97. package/dist/adt/result-limits.js.map +1 -0
  98. package/dist/adt/server-driven.d.ts +21 -5
  99. package/dist/adt/server-driven.d.ts.map +1 -1
  100. package/dist/adt/server-driven.js +41 -26
  101. package/dist/adt/server-driven.js.map +1 -1
  102. package/dist/adt/table-query.d.ts +2 -0
  103. package/dist/adt/table-query.d.ts.map +1 -1
  104. package/dist/adt/table-query.js +61 -0
  105. package/dist/adt/table-query.js.map +1 -1
  106. package/dist/adt/text-elements.d.ts +48 -0
  107. package/dist/adt/text-elements.d.ts.map +1 -0
  108. package/dist/adt/text-elements.js +116 -0
  109. package/dist/adt/text-elements.js.map +1 -0
  110. package/dist/adt/transport.d.ts +1 -2
  111. package/dist/adt/transport.d.ts.map +1 -1
  112. package/dist/adt/transport.js +17 -12
  113. package/dist/adt/transport.js.map +1 -1
  114. package/dist/adt/types.d.ts +18 -0
  115. package/dist/adt/types.d.ts.map +1 -1
  116. package/dist/adt/uiad.d.ts +19 -0
  117. package/dist/adt/uiad.d.ts.map +1 -0
  118. package/dist/adt/uiad.js +173 -0
  119. package/dist/adt/uiad.js.map +1 -0
  120. package/dist/adt/xml-parser.d.ts +2 -0
  121. package/dist/adt/xml-parser.d.ts.map +1 -1
  122. package/dist/adt/xml-parser.js +20 -1
  123. package/dist/adt/xml-parser.js.map +1 -1
  124. package/dist/authz/policy.d.ts.map +1 -1
  125. package/dist/authz/policy.js +4 -1
  126. package/dist/authz/policy.js.map +1 -1
  127. package/dist/cache/cache.d.ts +3 -23
  128. package/dist/cache/cache.d.ts.map +1 -1
  129. package/dist/cache/cache.js +2 -3
  130. package/dist/cache/cache.js.map +1 -1
  131. package/dist/cache/caching-layer.d.ts +6 -25
  132. package/dist/cache/caching-layer.d.ts.map +1 -1
  133. package/dist/cache/caching-layer.js +3 -45
  134. package/dist/cache/caching-layer.js.map +1 -1
  135. package/dist/cache/memory.d.ts +1 -4
  136. package/dist/cache/memory.d.ts.map +1 -1
  137. package/dist/cache/memory.js +1 -10
  138. package/dist/cache/memory.js.map +1 -1
  139. package/dist/cache/sqlite.d.ts +1 -3
  140. package/dist/cache/sqlite.d.ts.map +1 -1
  141. package/dist/cache/sqlite.js +2 -17
  142. package/dist/cache/sqlite.js.map +1 -1
  143. package/dist/cli-checks.d.ts +3 -0
  144. package/dist/cli-checks.d.ts.map +1 -1
  145. package/dist/cli-checks.js +16 -0
  146. package/dist/cli-checks.js.map +1 -1
  147. package/dist/cli.d.ts.map +1 -1
  148. package/dist/cli.js +5 -2
  149. package/dist/cli.js.map +1 -1
  150. package/dist/context/compressor.d.ts +2 -3
  151. package/dist/context/compressor.d.ts.map +1 -1
  152. package/dist/context/compressor.js +30 -49
  153. package/dist/context/compressor.js.map +1 -1
  154. package/dist/context/contract.d.ts +5 -0
  155. package/dist/context/contract.d.ts.map +1 -1
  156. package/dist/context/contract.js +2 -2
  157. package/dist/context/contract.js.map +1 -1
  158. package/dist/context/deps.d.ts +11 -0
  159. package/dist/context/deps.d.ts.map +1 -1
  160. package/dist/context/deps.js +2 -2
  161. package/dist/context/deps.js.map +1 -1
  162. package/dist/context/parse-cache.d.ts +23 -0
  163. package/dist/context/parse-cache.d.ts.map +1 -0
  164. package/dist/context/parse-cache.js +71 -0
  165. package/dist/context/parse-cache.js.map +1 -0
  166. package/dist/context/relation-walk.d.ts +48 -0
  167. package/dist/context/relation-walk.d.ts.map +1 -0
  168. package/dist/context/relation-walk.js +137 -0
  169. package/dist/context/relation-walk.js.map +1 -0
  170. package/dist/context/types.d.ts +4 -4
  171. package/dist/context/types.d.ts.map +1 -1
  172. package/dist/context/unit-surgery.d.ts +1 -1
  173. package/dist/context/unit-surgery.d.ts.map +1 -1
  174. package/dist/context/unit-surgery.js +3 -2
  175. package/dist/context/unit-surgery.js.map +1 -1
  176. package/dist/handlers/activate.d.ts +1 -1
  177. package/dist/handlers/activate.d.ts.map +1 -1
  178. package/dist/handlers/activate.js +37 -56
  179. package/dist/handlers/activate.js.map +1 -1
  180. package/dist/handlers/activation-results.d.ts +3 -0
  181. package/dist/handlers/activation-results.d.ts.map +1 -0
  182. package/dist/handlers/activation-results.js +8 -0
  183. package/dist/handlers/activation-results.js.map +1 -0
  184. package/dist/handlers/context.d.ts.map +1 -1
  185. package/dist/handlers/context.js +8 -32
  186. package/dist/handlers/context.js.map +1 -1
  187. package/dist/handlers/data-element-fields.d.ts +26 -0
  188. package/dist/handlers/data-element-fields.d.ts.map +1 -0
  189. package/dist/handlers/data-element-fields.js +27 -0
  190. package/dist/handlers/data-element-fields.js.map +1 -0
  191. package/dist/handlers/diagnose-ci.d.ts +9 -0
  192. package/dist/handlers/diagnose-ci.d.ts.map +1 -0
  193. package/dist/handlers/diagnose-ci.js +120 -0
  194. package/dist/handlers/diagnose-ci.js.map +1 -0
  195. package/dist/handlers/diagnose-fields.d.ts +51 -0
  196. package/dist/handlers/diagnose-fields.d.ts.map +1 -0
  197. package/dist/handlers/diagnose-fields.js +48 -0
  198. package/dist/handlers/diagnose-fields.js.map +1 -0
  199. package/dist/handlers/diagnose.d.ts +4 -1
  200. package/dist/handlers/diagnose.d.ts.map +1 -1
  201. package/dist/handlers/diagnose.js +31 -7
  202. package/dist/handlers/diagnose.js.map +1 -1
  203. package/dist/handlers/dispatch.d.ts.map +1 -1
  204. package/dist/handlers/dispatch.js +65 -9
  205. package/dist/handlers/dispatch.js.map +1 -1
  206. package/dist/handlers/feature-cache.d.ts +4 -3
  207. package/dist/handlers/feature-cache.d.ts.map +1 -1
  208. package/dist/handlers/feature-cache.js +4 -3
  209. package/dist/handlers/feature-cache.js.map +1 -1
  210. package/dist/handlers/hyperfocused.js +1 -1
  211. package/dist/handlers/lint.d.ts.map +1 -1
  212. package/dist/handlers/lint.js +12 -3
  213. package/dist/handlers/lint.js.map +1 -1
  214. package/dist/handlers/live-relations.d.ts +5 -0
  215. package/dist/handlers/live-relations.d.ts.map +1 -0
  216. package/dist/handlers/live-relations.js +89 -0
  217. package/dist/handlers/live-relations.js.map +1 -0
  218. package/dist/handlers/manage.d.ts.map +1 -1
  219. package/dist/handlers/manage.js +7 -4
  220. package/dist/handlers/manage.js.map +1 -1
  221. package/dist/handlers/navigate.d.ts +1 -1
  222. package/dist/handlers/navigate.d.ts.map +1 -1
  223. package/dist/handlers/navigate.js +11 -5
  224. package/dist/handlers/navigate.js.map +1 -1
  225. package/dist/handlers/object-types.d.ts +2 -0
  226. package/dist/handlers/object-types.d.ts.map +1 -1
  227. package/dist/handlers/object-types.js +41 -6
  228. package/dist/handlers/object-types.js.map +1 -1
  229. package/dist/handlers/publish-failure.d.ts +7 -0
  230. package/dist/handlers/publish-failure.d.ts.map +1 -0
  231. package/dist/handlers/publish-failure.js +42 -0
  232. package/dist/handlers/publish-failure.js.map +1 -0
  233. package/dist/handlers/query-errors.d.ts +9 -1
  234. package/dist/handlers/query-errors.d.ts.map +1 -1
  235. package/dist/handlers/query-errors.js +40 -28
  236. package/dist/handlers/query-errors.js.map +1 -1
  237. package/dist/handlers/query.d.ts +1 -1
  238. package/dist/handlers/query.d.ts.map +1 -1
  239. package/dist/handlers/query.js +2 -2
  240. package/dist/handlers/query.js.map +1 -1
  241. package/dist/handlers/read.d.ts +1 -1
  242. package/dist/handlers/read.d.ts.map +1 -1
  243. package/dist/handlers/read.js +51 -19
  244. package/dist/handlers/read.js.map +1 -1
  245. package/dist/handlers/relation-input.d.ts +42 -0
  246. package/dist/handlers/relation-input.d.ts.map +1 -0
  247. package/dist/handlers/relation-input.js +22 -0
  248. package/dist/handlers/relation-input.js.map +1 -0
  249. package/dist/handlers/relation-tool.d.ts +5 -0
  250. package/dist/handlers/relation-tool.d.ts.map +1 -0
  251. package/dist/handlers/relation-tool.js +36 -0
  252. package/dist/handlers/relation-tool.js.map +1 -0
  253. package/dist/handlers/schemas.d.ts +125 -62
  254. package/dist/handlers/schemas.d.ts.map +1 -1
  255. package/dist/handlers/schemas.js +150 -13
  256. package/dist/handlers/schemas.js.map +1 -1
  257. package/dist/handlers/search.d.ts +1 -1
  258. package/dist/handlers/search.d.ts.map +1 -1
  259. package/dist/handlers/search.js +18 -5
  260. package/dist/handlers/search.js.map +1 -1
  261. package/dist/handlers/tool-descriptions.d.ts.map +1 -1
  262. package/dist/handlers/tool-descriptions.js +14 -15
  263. package/dist/handlers/tool-descriptions.js.map +1 -1
  264. package/dist/handlers/tool-registry.d.ts +5 -4
  265. package/dist/handlers/tool-registry.d.ts.map +1 -1
  266. package/dist/handlers/tool-registry.js +4 -0
  267. package/dist/handlers/tool-registry.js.map +1 -1
  268. package/dist/handlers/tools.d.ts +2 -3
  269. package/dist/handlers/tools.d.ts.map +1 -1
  270. package/dist/handlers/tools.js +130 -75
  271. package/dist/handlers/tools.js.map +1 -1
  272. package/dist/handlers/where-used.d.ts.map +1 -1
  273. package/dist/handlers/where-used.js +5 -0
  274. package/dist/handlers/where-used.js.map +1 -1
  275. package/dist/handlers/write/batch-results.d.ts +28 -0
  276. package/dist/handlers/write/batch-results.d.ts.map +1 -0
  277. package/dist/handlers/write/batch-results.js +106 -0
  278. package/dist/handlers/write/batch-results.js.map +1 -0
  279. package/dist/handlers/write/create-transport.d.ts +7 -0
  280. package/dist/handlers/write/create-transport.d.ts.map +1 -0
  281. package/dist/handlers/write/create-transport.js +38 -0
  282. package/dist/handlers/write/create-transport.js.map +1 -0
  283. package/dist/handlers/write/create.d.ts.map +1 -1
  284. package/dist/handlers/write/create.js +276 -413
  285. package/dist/handlers/write/create.js.map +1 -1
  286. package/dist/handlers/write/uiad.d.ts +8 -0
  287. package/dist/handlers/write/uiad.d.ts.map +1 -0
  288. package/dist/handlers/write/uiad.js +115 -0
  289. package/dist/handlers/write/uiad.js.map +1 -0
  290. package/dist/handlers/write/unit-surgery.d.ts.map +1 -1
  291. package/dist/handlers/write/unit-surgery.js +46 -28
  292. package/dist/handlers/write/unit-surgery.js.map +1 -1
  293. package/dist/handlers/write/update-delete.d.ts +6 -6
  294. package/dist/handlers/write/update-delete.d.ts.map +1 -1
  295. package/dist/handlers/write/update-delete.js +46 -15
  296. package/dist/handlers/write/update-delete.js.map +1 -1
  297. package/dist/handlers/write-helpers.d.ts +1 -7
  298. package/dist/handlers/write-helpers.d.ts.map +1 -1
  299. package/dist/handlers/write-helpers.js +105 -86
  300. package/dist/handlers/write-helpers.js.map +1 -1
  301. package/dist/handlers/write.d.ts.map +1 -1
  302. package/dist/handlers/write.js +7 -6
  303. package/dist/handlers/write.js.map +1 -1
  304. package/dist/lint/config-builder.d.ts +10 -1
  305. package/dist/lint/config-builder.d.ts.map +1 -1
  306. package/dist/lint/config-builder.js +4 -0
  307. package/dist/lint/config-builder.js.map +1 -1
  308. package/dist/lint/lint.d.ts +3 -1
  309. package/dist/lint/lint.d.ts.map +1 -1
  310. package/dist/lint/lint.js +2 -1
  311. package/dist/lint/lint.js.map +1 -1
  312. package/dist/public/testing.d.ts +4 -0
  313. package/dist/public/testing.d.ts.map +1 -1
  314. package/dist/public/testing.js +6 -0
  315. package/dist/public/testing.js.map +1 -1
  316. package/dist/public/types.d.ts +12 -2
  317. package/dist/public/types.d.ts.map +1 -1
  318. package/dist/public/ui/app.js +0 -2
  319. package/dist/server/audit.d.ts +1 -1
  320. package/dist/server/audit.d.ts.map +1 -1
  321. package/dist/server/config.d.ts.map +1 -1
  322. package/dist/server/config.js +6 -2
  323. package/dist/server/config.js.map +1 -1
  324. package/dist/server/http.d.ts +1 -1
  325. package/dist/server/http.d.ts.map +1 -1
  326. package/dist/server/http.js +8 -5
  327. package/dist/server/http.js.map +1 -1
  328. package/dist/server/logger.d.ts.map +1 -1
  329. package/dist/server/logger.js +4 -1
  330. package/dist/server/logger.js.map +1 -1
  331. package/dist/server/multi-target-tools.d.ts.map +1 -1
  332. package/dist/server/multi-target-tools.js +3 -1
  333. package/dist/server/multi-target-tools.js.map +1 -1
  334. package/dist/server/oauth-redirect-policy.d.ts +13 -0
  335. package/dist/server/oauth-redirect-policy.d.ts.map +1 -0
  336. package/dist/server/oauth-redirect-policy.js +21 -0
  337. package/dist/server/oauth-redirect-policy.js.map +1 -0
  338. package/dist/server/safe-http-client.d.ts +2 -2
  339. package/dist/server/safe-http-client.d.ts.map +1 -1
  340. package/dist/server/safe-http-client.js +24 -11
  341. package/dist/server/safe-http-client.js.map +1 -1
  342. package/dist/server/server-instructions.d.ts.map +1 -1
  343. package/dist/server/server-instructions.js +11 -5
  344. package/dist/server/server-instructions.js.map +1 -1
  345. package/dist/server/server.d.ts +1 -1
  346. package/dist/server/server.d.ts.map +1 -1
  347. package/dist/server/server.js +24 -48
  348. package/dist/server/server.js.map +1 -1
  349. package/dist/server/shutdown.d.ts +6 -0
  350. package/dist/server/shutdown.d.ts.map +1 -0
  351. package/dist/server/shutdown.js +52 -0
  352. package/dist/server/shutdown.js.map +1 -0
  353. package/dist/server/sinks/btp-auditlog.d.ts +10 -8
  354. package/dist/server/sinks/btp-auditlog.d.ts.map +1 -1
  355. package/dist/server/sinks/btp-auditlog.js +76 -68
  356. package/dist/server/sinks/btp-auditlog.js.map +1 -1
  357. package/dist/server/sinks/file.d.ts +1 -1
  358. package/dist/server/sinks/file.d.ts.map +1 -1
  359. package/dist/server/sinks/file.js +12 -21
  360. package/dist/server/sinks/file.js.map +1 -1
  361. package/dist/server/types.d.ts +5 -4
  362. package/dist/server/types.d.ts.map +1 -1
  363. package/dist/server/types.js.map +1 -1
  364. package/dist/server/ui.js +0 -2
  365. package/dist/server/ui.js.map +1 -1
  366. package/package.json +19 -17
@@ -4,11 +4,12 @@
4
4
  */
5
5
  import { resolveBspNameAndPath } from '../adt/bsp-path.js';
6
6
  import { DataSourcePolicyError } from '../adt/data-source-policy.js';
7
- import { decodeKtdText } from '../adt/ddic-xml.js';
7
+ import { decodeKtdText, formatKtdNodeIndex, formatKtdShortTexts, KTD_META_MARKER } from '../adt/ddic-xml.js';
8
8
  import { extractUnknownColumn, formatUnknownColumnHint, isNotFoundError } from '../adt/errors.js';
9
9
  import { mapSapReleaseToAbaplintVersion } from '../adt/features.js';
10
10
  import { parseFmSignature } from '../adt/fm-signature.js';
11
11
  import { internalOperationDenial, internalOperationWarning } from '../adt/internal-data-operations.js';
12
+ import { describePackageListing } from '../adt/package-contents.js';
12
13
  import { isOperationAllowed, OperationType } from '../adt/safety.js';
13
14
  import { ensureServerDrivenSupport, getServerDrivenObject, isServerDrivenObjectType, serverDrivenUnavailableMessage, } from '../adt/server-driven.js';
14
15
  import { getAppInfo } from '../adt/ui5-repository.js';
@@ -109,18 +110,18 @@ function sourceVersionWarning(effectiveVersion, draft) {
109
110
  * SWOTLV is a declared internal source and BOR method resolution has no alternative in ARC-1, so a
110
111
  * policy denial must name the affected feature rather than surfacing a bare policy error.
111
112
  */
112
- async function swotlv(run) {
113
+ async function swotlv(minimalErrors, run) {
113
114
  try {
114
115
  return await run();
115
116
  }
116
117
  catch (error) {
117
118
  if (error instanceof DataSourcePolicyError) {
118
- return { policyDenial: errorResult(internalOperationDenial('bor_method_lookup', error.message)) };
119
+ return { policyDenial: errorResult(internalOperationDenial('bor_method_lookup', error, minimalErrors)) };
119
120
  }
120
121
  throw error;
121
122
  }
122
123
  }
123
- export async function handleSAPRead(client, args, cachingLayer, cacheSecurity) {
124
+ export async function handleSAPRead(client, args, cachingLayer, cacheSecurity, minimalErrors) {
124
125
  const type = normalizeObjectType(String(args.type ?? ''));
125
126
  const name = String(args.name ?? '');
126
127
  const requestedVersion = (args.version ?? 'active');
@@ -175,10 +176,9 @@ export async function handleSAPRead(client, args, cachingLayer, cacheSecurity) {
175
176
  throw err;
176
177
  }
177
178
  }
178
- // Server-driven objects (ABAP Platform 2025 / SAP_BASIS 8.16+): DESD, EVTB, DTSC, COTA, …
179
- // share one AFF generic-object contract (blue:blueSource metadata + JSON or DDL-text source), read
180
- // via the discovery-gated generic engine instead of the per-type switch below. They bypass
181
- // the version/draft/cache machinery (no /source/main text; JSON output).
179
+ // Types in SDO_REGISTRY use the discovery-gated engine for metadata and JSON or DDL-text source.
180
+ // This early return bypasses the version/draft/cache machinery below: explicit versions are
181
+ // currently ignored and SAP's unversioned developer view is returned.
182
182
  if (isServerDrivenObjectType(type)) {
183
183
  if (!name)
184
184
  return errorResult(`"name" is required for SAPRead type=${type}.`);
@@ -222,9 +222,9 @@ export async function handleSAPRead(client, args, cachingLayer, cacheSecurity) {
222
222
  const g = grepSource(source, String(args.grep));
223
223
  return g.invalidPattern ? errorResult(g.output) : textResult(g.output);
224
224
  };
225
- // Structured format is only supported for CLAS type
226
- if (args.format === 'structured' && type !== 'CLAS') {
227
- return errorResult('The "structured" format is only supported for CLAS type. Other types return text format.');
225
+ // Structured ordinary reads: class metadata or a package listing envelope.
226
+ if (args.format === 'structured' && type !== 'CLAS' && type !== 'DEVC') {
227
+ return errorResult('For ordinary reads, format="structured" supports CLAS and DEVC. Retry this read with format="text" or omit format; DDIC metadata is returned by its normal reader.');
228
228
  }
229
229
  switch (type) {
230
230
  case 'PROG': {
@@ -465,10 +465,28 @@ export async function handleSAPRead(client, args, cachingLayer, cacheSecurity) {
465
465
  // inside <sktd:text>. Cache the raw envelope (update flow re-uses it) and
466
466
  // return the decoded Markdown to the LLM.
467
467
  const { source, cacheHit, revalidated } = await cachedGet('SKTD', name, effectiveVersion, (ifNoneMatch) => client.getKtd(name, { ifNoneMatch, version: effectiveVersion }));
468
- const markdown = decodeKtdText(source);
468
+ // Full reads use the reversible route-safe representation so their output can
469
+ // be pasted into SAPWrite. Grep searches the stored Markdown without escapes.
470
+ const markdown = decodeKtdText(source, { routeSafe: !args.grep });
469
471
  if (args.grep)
470
472
  return grepText(markdown);
471
- return cachedTextResult(markdown, cacheHit, revalidated, versionWarning);
473
+ // List copyable names for every writable node, including empty nodes omitted from Markdown.
474
+ // The labels use the same resolver as SAPWrite.
475
+ const index = formatKtdNodeIndex(source);
476
+ const readOnlyContext = [
477
+ versionWarning,
478
+ cacheHit && revalidated ? '[cached:revalidated]' : undefined,
479
+ formatKtdShortTexts(source) || undefined,
480
+ index || undefined,
481
+ ]
482
+ .filter((entry) => Boolean(entry))
483
+ .join('\n\n');
484
+ const text = readOnlyContext
485
+ ? [markdown || undefined, `${KTD_META_MARKER}\n${readOnlyContext}`]
486
+ .filter((entry) => Boolean(entry))
487
+ .join('\n\n')
488
+ : markdown;
489
+ return textResult(text);
472
490
  }
473
491
  catch (err) {
474
492
  if (isNotFoundError(err)) {
@@ -497,7 +515,9 @@ export async function handleSAPRead(client, args, cachingLayer, cacheSecurity) {
497
515
  return textResult(toolJson(domain));
498
516
  }
499
517
  case 'DTEL': {
500
- const dtel = await client.getDataElement(name);
518
+ // SAP's version-less developer view exposes pending drafts for omitted and `auto` reads.
519
+ const dtelVersion = args.version === 'active' || args.version === 'inactive' ? args.version : undefined;
520
+ const dtel = await client.getDataElement(name, dtelVersion);
501
521
  return textResult(toolJson(dtel));
502
522
  }
503
523
  case 'TTYP': {
@@ -643,7 +663,7 @@ export async function handleSAPRead(client, args, cachingLayer, cacheSecurity) {
643
663
  }
644
664
  if (safeMethod) {
645
665
  // Read specific BOR method implementation via SWOTLV lookup
646
- const data = await swotlv(() => client.runQuery(`SELECT PROGNAME, FORMNAME FROM SWOTLV WHERE LOBJTYPE = '${safeName}' AND VERB = '${safeMethod}'`, 1));
666
+ const data = await swotlv(minimalErrors, () => client.runQuery(`SELECT PROGNAME, FORMNAME FROM SWOTLV WHERE LOBJTYPE = '${safeName}' AND VERB = '${safeMethod}'`, 1));
647
667
  if ('policyDenial' in data)
648
668
  return data.policyDenial;
649
669
  if (data.rows.length > 0) {
@@ -657,7 +677,7 @@ export async function handleSAPRead(client, args, cachingLayer, cacheSecurity) {
657
677
  return errorResult(`BOR method "${method}" not found on object type "${name}". Use SAPRead(type="SOBJ", name="${name}") without method to list all methods.`);
658
678
  }
659
679
  // List all methods for this BOR object
660
- const methods = await swotlv(() => client.runQuery(`SELECT VERB, PROGNAME, FORMNAME, DESCRIPT FROM SWOTLV WHERE LOBJTYPE = '${safeName}'`, 100));
680
+ const methods = await swotlv(minimalErrors, () => client.runQuery(`SELECT VERB, PROGNAME, FORMNAME, DESCRIPT FROM SWOTLV WHERE LOBJTYPE = '${safeName}'`, 100));
661
681
  if ('policyDenial' in methods)
662
682
  return methods.policyDenial;
663
683
  if (methods.rows.length === 0) {
@@ -668,7 +688,12 @@ export async function handleSAPRead(client, args, cachingLayer, cacheSecurity) {
668
688
  case 'DEVC': {
669
689
  const maxResults = args.maxResults != null ? Number(args.maxResults) : undefined;
670
690
  const contents = await client.getPackageContents(name, maxResults);
671
- return textResult(toolJson(contents));
691
+ const listing = describePackageListing(contents.length, maxResults);
692
+ if (args.format === 'structured')
693
+ return textResult(toolJson({ objects: contents, listing }));
694
+ const result = textResult(toolJson(contents));
695
+ result.content.push({ type: 'text', text: toolJson({ listing }) });
696
+ return result;
672
697
  }
673
698
  case 'SYSTEM':
674
699
  return textResult(await client.getSystemInfo());
@@ -696,8 +721,15 @@ export async function handleSAPRead(client, args, cachingLayer, cacheSecurity) {
696
721
  return textResult(await client.getMessages(name));
697
722
  }
698
723
  }
699
- case 'TEXT_ELEMENTS':
700
- return textResult(await client.getTextElements(name));
724
+ case 'TEXT_ELEMENTS': {
725
+ // objectType picks the textelements collection (PROG default, also CLAS/FUGR); include picks
726
+ // one subobject (symbols | selections | headings) instead of the whole pool.
727
+ const part = args.include?.toLowerCase();
728
+ return textResult(await client.getTextElements(name, {
729
+ objectType: args.objectType ?? 'PROG',
730
+ part,
731
+ }));
732
+ }
701
733
  case 'VARIANTS':
702
734
  return textResult(await client.getVariants(name));
703
735
  case 'BSP': {
@@ -1 +1 @@
1
- {"version":3,"file":"read.js","sourceRoot":"","sources":["../../src/handlers/read.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"read.js","sourceRoot":"","sources":["../../src/handlers/read.ts"],"names":[],"mappings":"AAAA;;;GAGG;AAEH,OAAO,EAAE,qBAAqB,EAAE,MAAM,oBAAoB,CAAC;AAE3D,OAAO,EAAE,qBAAqB,EAAE,MAAM,8BAA8B,CAAC;AACrE,OAAO,EAAE,aAAa,EAAE,kBAAkB,EAAE,mBAAmB,EAAE,eAAe,EAAE,MAAM,oBAAoB,CAAC;AAC7G,OAAO,EAAE,oBAAoB,EAAE,uBAAuB,EAAE,eAAe,EAAE,MAAM,kBAAkB,CAAC;AAClG,OAAO,EAAE,8BAA8B,EAAE,MAAM,oBAAoB,CAAC;AACpE,OAAO,EAA0C,gBAAgB,EAAE,MAAM,wBAAwB,CAAC;AAClG,OAAO,EAAE,uBAAuB,EAAE,wBAAwB,EAAE,MAAM,oCAAoC,CAAC;AACvG,OAAO,EAAE,sBAAsB,EAAE,MAAM,4BAA4B,CAAC;AACpE,OAAO,EAAE,kBAAkB,EAAE,aAAa,EAAE,MAAM,kBAAkB,CAAC;AACrE,OAAO,EACL,yBAAyB,EACzB,qBAAqB,EACrB,wBAAwB,EACxB,8BAA8B,GAC/B,MAAM,yBAAyB,CAAC;AAEjC,OAAO,EAAE,UAAU,EAAE,MAAM,0BAA0B,CAAC;AACtD,OAAO,EAAE,cAAc,EAAE,MAAM,wBAAwB,CAAC;AAExD,OAAO,EAAE,kBAAkB,EAAE,MAAM,wBAAwB,CAAC;AAC5D,OAAO,EAAE,UAAU,EAAE,MAAM,oBAAoB,CAAC;AAChD,OAAO,EAAE,aAAa,EAAE,mBAAmB,EAAE,WAAW,EAAE,MAAM,8BAA8B,CAAC;AAC/F,OAAO,EAAE,MAAM,EAAE,MAAM,qBAAqB,CAAC;AAC7C,OAAO,EAA6B,mBAAmB,EAAE,sBAAsB,EAAE,MAAM,qBAAqB,CAAC;AAC7G,OAAO,EAAE,iBAAiB,EAAE,WAAW,EAAE,MAAM,oBAAoB,CAAC;AACpE,OAAO,EACL,yBAAyB,EACzB,eAAe,EACf,mBAAmB,EACnB,mBAAmB,GACpB,MAAM,mBAAmB,CAAC;AAC3B,OAAO,EAAE,WAAW,EAAmB,UAAU,EAAE,QAAQ,EAAE,MAAM,aAAa,CAAC;AAEjF,MAAM,SAAS,GAA2B;IACxC,IAAI,EAAE,qIAAqI;IAC3I,IAAI,EAAE,8HAA8H;IACpI,IAAI,EAAE,6FAA6F;IACnG,aAAa,EACX,iIAAiI;IACnI,QAAQ,EAAE,2EAA2E;IACrF,IAAI,EAAE,qHAAqH;IAC3H,IAAI,EAAE,sHAAsH;CAC7H,CAAC;AAKF,MAAM,2BAA2B,GAAG,IAAI,GAAG,CAAC;IAC1C,MAAM;IACN,MAAM;IACN,MAAM;IACN,MAAM;IACN,MAAM;IACN,MAAM;IACN,MAAM;IACN,MAAM;IACN,MAAM;IACN,MAAM;IACN,MAAM;IACN,MAAM;IACN,MAAM;IACN,MAAM;CACP,CAAC,CAAC;AAEH,SAAS,mBAAmB,CAAC,QAAgB,EAAE,YAAoB;IACjE,4EAA4E;IAC5E,0EAA0E;IAC1E,0EAA0E;IAC1E,6EAA6E;IAC7E,2EAA2E;IAC3E,iDAAiD;IACjD,IAAI,mBAAmB,CAAC,QAAQ,CAAC,KAAK,MAAM,IAAI,YAAY,CAAC,IAAI,EAAE,CAAC,WAAW,EAAE,KAAK,QAAQ;QAAE,OAAO,IAAI,CAAC;IAC5G,yEAAyE;IACzE,4DAA4D;IAC5D,OAAO,mBAAmB,CAAC,YAAY,CAAC,KAAK,mBAAmB,CAAC,QAAQ,CAAC,CAAC;AAC7E,CAAC;AAED,MAAM,CAAC,KAAK,UAAU,0BAA0B,CAC9C,MAAiB,EACjB,YAAsC,EACtC,IAAY,EACZ,IAAY,EACZ,gBAAwC,EACxC,aAAmC;IAEnC,IAAI,CAAC,2BAA2B,CAAC,GAAG,CAAC,IAAI,CAAC,EAAE,CAAC;QAC3C,OAAO,EAAE,gBAAgB,EAAE,gBAAgB,KAAK,MAAM,CAAC,CAAC,CAAC,QAAQ,CAAC,CAAC,CAAC,gBAAgB,EAAE,CAAC;IACzF,CAAC;IAED,IAAI,KAAiC,CAAC;IACtC,IAAI,YAAY,IAAI,gBAAgB,KAAK,QAAQ,EAAE,CAAC;QAClD,IAAI,CAAC;YACH,MAAM,eAAe,GAAG,YAAY;gBAClC,CAAC,CAAC,MAAM,YAAY,CAAC,aAAa,CAAC,UAAU,CAAC,MAAM,EAAE,mBAAmB,CAAC,MAAM,EAAE,aAAa,CAAC,CAAC;gBACjG,CAAC,CAAC,MAAM,MAAM,CAAC,kBAAkB,EAAE,CAAC;YACtC,MAAM,SAAS,GAAG,IAAI,CAAC,WAAW,EAAE,CAAC;YACrC,KAAK,GAAG,eAAe,CAAC,IAAI,CAC1B,CAAC,MAAM,EAAE,EAAE,CAAC,mBAAmB,CAAC,IAAI,EAAE,MAAM,CAAC,IAAI,CAAC,IAAI,MAAM,CAAC,IAAI,CAAC,WAAW,EAAE,KAAK,SAAS,CAC9F,CAAC;QACJ,CAAC;QAAC,OAAO,GAAG,EAAE,CAAC;YACb,MAAM,CAAC,KAAK,CAAC,iEAAiE,EAAE;gBAC9E,IAAI;gBACJ,IAAI;gBACJ,gBAAgB;gBAChB,KAAK,EAAE,GAAG,YAAY,KAAK,CAAC,CAAC,CAAC,GAAG,CAAC,OAAO,CAAC,CAAC,CAAC,MAAM,CAAC,GAAG,CAAC;aACxD,CAAC,CAAC;QACL,CAAC;IACH,CAAC;IAED,2FAA2F;IAC3F,8FAA8F;IAC9F,oGAAoG;IACpG,+FAA+F;IAC/F,oGAAoG;IACpG,IAAI,KAAK,IAAI,CAAC,aAAa,CAAC,eAAe,IAAI,YAAY,EAAE,oBAAoB,CAAC,IAAI,EAAE,IAAI,CAAC,EAAE,CAAC;QAC9F,KAAK,GAAG,SAAS,CAAC;IACpB,CAAC;IAED,IAAI,gBAAgB,KAAK,MAAM,EAAE,CAAC;QAChC,OAAO,EAAE,gBAAgB,EAAE,KAAK,CAAC,CAAC,CAAC,UAAU,CAAC,CAAC,CAAC,QAAQ,EAAE,KAAK,EAAE,CAAC;IACpE,CAAC;IACD,OAAO,EAAE,gBAAgB,EAAE,gBAAgB,EAAE,KAAK,EAAE,CAAC;AACvD,CAAC;AAED,SAAS,oBAAoB,CAAC,gBAA+B,EAAE,KAAsB;IACnF,IAAI,gBAAgB,KAAK,QAAQ,IAAI,KAAK,EAAE,CAAC;QAC3C,MAAM,QAAQ,GAAG,KAAK,CAAC,OAAO,CAAC,CAAC,CAAC,WAAW,CAAC,CAAC,CAAC,EAAE,CAAC;QAClD,MAAM,SAAS,GAAG,KAAK,CAAC,SAAS,CAAC,CAAC,CAAC,kBAAkB,KAAK,CAAC,SAAS,GAAG,CAAC,CAAC,CAAC,EAAE,CAAC;QAC9E,OAAO,gCAAgC,QAAQ,wBAAwB,SAAS,qKAAqK,CAAC;IACxP,CAAC;IACD,IAAI,gBAAgB,KAAK,UAAU,IAAI,CAAC,KAAK,EAAE,CAAC;QAC9C,OAAO,6FAA6F,CAAC;IACvG,CAAC;IACD,OAAO,SAAS,CAAC;AACnB,CAAC;AAED;;;GAGG;AACH,KAAK,UAAU,MAAM,CAAI,aAAsB,EAAE,GAAqB;IACpE,IAAI,CAAC;QACH,OAAO,MAAM,GAAG,EAAE,CAAC;IACrB,CAAC;IAAC,OAAO,KAAK,EAAE,CAAC;QACf,IAAI,KAAK,YAAY,qBAAqB,EAAE,CAAC;YAC3C,OAAO,EAAE,YAAY,EAAE,WAAW,CAAC,uBAAuB,CAAC,mBAAmB,EAAE,KAAK,EAAE,aAAa,CAAC,CAAC,EAAE,CAAC;QAC3G,CAAC;QACD,MAAM,KAAK,CAAC;IACd,CAAC;AACH,CAAC;AAED,MAAM,CAAC,KAAK,UAAU,aAAa,CACjC,MAAiB,EACjB,IAA6B,EAC7B,YAAsC,EACtC,aAAmC,EACnC,aAAsB;IAEtB,MAAM,IAAI,GAAG,mBAAmB,CAAC,MAAM,CAAC,IAAI,CAAC,IAAI,IAAI,EAAE,CAAC,CAAC,CAAC;IAC1D,MAAM,IAAI,GAAG,MAAM,CAAC,IAAI,CAAC,IAAI,IAAI,EAAE,CAAC,CAAC;IACrC,MAAM,gBAAgB,GAAG,CAAC,IAAI,CAAC,OAAO,IAAI,QAAQ,CAA2B,CAAC;IAE9E,kDAAkD;IAClD,IAAI,WAAW,EAAE,IAAI,SAAS,CAAC,IAAI,CAAC,EAAE,CAAC;QACrC,OAAO,WAAW,CAAC,SAAS,CAAC,IAAI,CAAC,CAAC,CAAC;IACtC,CAAC;IAED,wFAAwF;IACxF,0FAA0F;IAC1F,kEAAkE;IAClE,kEAAkE;IAClE,IAAI,IAAI,CAAC,MAAM,KAAK,MAAM,EAAE,CAAC;QAC3B,IAAI,CAAC,IAAI;YAAE,OAAO,WAAW,CAAC,0CAA0C,CAAC,CAAC;QAC1E,MAAM,IAAI,GAAG,OAAO,IAAI,CAAC,IAAI,KAAK,QAAQ,IAAI,IAAI,CAAC,IAAI,CAAC,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC,CAAC,QAAQ,CAAC;QAC/E,MAAM,EAAE,GAAG,OAAO,IAAI,CAAC,EAAE,KAAK,QAAQ,IAAI,IAAI,CAAC,EAAE,CAAC,CAAC,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC,CAAC,UAAU,CAAC;QACzE,MAAM,SAAS,GAAG,OAAO,IAAI,CAAC,SAAS,KAAK,QAAQ,IAAI,IAAI,CAAC,SAAS,CAAC,CAAC,CAAC,IAAI,CAAC,SAAS,CAAC,CAAC,CAAC,SAAS,CAAC;QACpG,MAAM,OAAO,GAAG,OAAO,IAAI,CAAC,OAAO,KAAK,QAAQ,IAAI,IAAI,CAAC,OAAO,CAAC,CAAC,CAAC,IAAI,CAAC,OAAO,CAAC,CAAC,CAAC,SAAS,CAAC;QAC5F,MAAM,WAAW,GAAG,SAAS,IAAI,IAAI,CAAC;QACtC,MAAM,SAAS,GAAG,OAAO,IAAI,EAAE,CAAC;QAChC,IAAI,CAAC;YACH,MAAM,CAAC,GAAG,MAAM,cAAc,CAAC,MAAM,EAAE,IAAI,EAAE,IAAI,EAAE,IAAI,EAAE,EAAE,EAAE;gBAC3D,OAAO,EAAE,OAAO,IAAI,CAAC,OAAO,KAAK,QAAQ,CAAC,CAAC,CAAC,IAAI,CAAC,OAAO,CAAC,CAAC,CAAC,SAAS;gBACpE,KAAK,EAAE,OAAO,IAAI,CAAC,KAAK,KAAK,QAAQ,CAAC,CAAC,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC,CAAC,SAAS;gBAC9D,SAAS;gBACT,OAAO;aACR,CAAC,CAAC;YACH,IAAI,IAAI,CAAC,MAAM,KAAK,YAAY,EAAE,CAAC;gBACjC,OAAO,UAAU,CACf,QAAQ,CAAC;oBACP,IAAI;oBACJ,IAAI;oBACJ,IAAI;oBACJ,EAAE;oBACF,SAAS,EAAE,WAAW;oBACtB,OAAO,EAAE,SAAS;oBAClB,SAAS,EAAE,CAAC,CAAC,SAAS;oBACtB,cAAc,EAAE,CAAC,CAAC,CAAC,SAAS;oBAC5B,KAAK,EAAE,CAAC,CAAC,KAAK;oBACd,OAAO,EAAE,CAAC,CAAC,OAAO;oBAClB,IAAI,EAAE,CAAC,CAAC,IAAI;iBACb,CAAC,CACH,CAAC;YACJ,CAAC;YACD,IAAI,CAAC,CAAC,SAAS,EAAE,CAAC;gBAChB,OAAO,UAAU,CAAC,0BAA0B,WAAW,QAAQ,SAAS,QAAQ,IAAI,IAAI,IAAI,GAAG,CAAC,CAAC;YACnG,CAAC;YACD,OAAO,UAAU,CACf,QAAQ,IAAI,IAAI,IAAI,KAAK,WAAW,MAAM,SAAS,OAAO,CAAC,CAAC,KAAK,KAAK,CAAC,CAAC,OAAO,QAAQ,CAAC,CAAC,IAAI,EAAE,CAChG,CAAC;QACJ,CAAC;QAAC,OAAO,GAAG,EAAE,CAAC;YACb,IAAI,eAAe,CAAC,GAAG,CAAC,EAAE,CAAC;gBACzB,OAAO,WAAW,CAChB,kBAAkB,IAAI,IAAI,IAAI,kCAAkC,GAAG,YAAY,KAAK,CAAC,CAAC,CAAC,IAAI,GAAG,CAAC,OAAO,EAAE,CAAC,CAAC,CAAC,EAAE,EAAE,CAChH,CAAC;YACJ,CAAC;YACD,MAAM,GAAG,CAAC;QACZ,CAAC;IACH,CAAC;IAED,iGAAiG;IACjG,4FAA4F;IAC5F,sEAAsE;IACtE,IAAI,wBAAwB,CAAC,IAAI,CAAC,EAAE,CAAC;QACnC,IAAI,CAAC,IAAI;YAAE,OAAO,WAAW,CAAC,uCAAuC,IAAI,GAAG,CAAC,CAAC;QAC9E,IAAI,CAAC,CAAC,MAAM,yBAAyB,CAAC,MAAM,CAAC,IAAI,EAAE,MAAM,CAAC,MAAM,EAAE,IAAI,CAAC,CAAC,EAAE,CAAC;YACzE,OAAO,WAAW,CAAC,8BAA8B,CAAC,SAAS,EAAE,IAAI,CAAC,CAAC,CAAC;QACtE,CAAC;QACD,MAAM,GAAG,GAAG,MAAM,qBAAqB,CAAC,MAAM,CAAC,IAAI,EAAE,MAAM,CAAC,MAAM,EAAE,IAAI,EAAE,IAAI,CAAC,CAAC;QAChF,OAAO,UAAU,CAAC,QAAQ,CAAC,GAAG,CAAC,CAAC,CAAC;IACnC,CAAC;IAED,kGAAkG;IAClG,kGAAkG;IAClG,2EAA2E;IAC3E,IAAI,IAAI,KAAK,MAAM,IAAK,IAAI,CAAC,OAA8B,EAAE,WAAW,EAAE,KAAK,cAAc,EAAE,CAAC;QAC9F,IAAI,CAAC,IAAI;YAAE,OAAO,WAAW,CAAC,2DAA2D,CAAC,CAAC;QAC3F,OAAO,UAAU,CAAC,MAAM,MAAM,CAAC,mBAAmB,CAAC,IAAI,CAAC,CAAC,CAAC;IAC5D,CAAC;IAED,IAAI,IAAI,CAAC,aAAa,KAAK,IAAI,IAAI,YAAY,IAAI,2BAA2B,CAAC,GAAG,CAAC,IAAI,CAAC,EAAE,CAAC;QACzF,sBAAsB,CAAC,YAAY,EAAE,MAAM,EAAE,aAAa,CAAC,CAAC;QAC5D,YAAY,CAAC,UAAU,CAAC,IAAI,EAAE,IAAI,EAAE,KAAK,CAAC,CAAC;IAC7C,CAAC;IAED,MAAM,EAAE,gBAAgB,EAAE,KAAK,EAAE,GAAG,MAAM,0BAA0B,CAClE,MAAM,EACN,YAAY,EACZ,IAAI,EACJ,IAAI,EACJ,gBAAgB,EAChB,aAAa,CACd,CAAC;IACF,MAAM,cAAc,GAAG,oBAAoB,CAAC,gBAAgB,EAAE,KAAK,CAAC,CAAC;IAErE,kEAAkE;IAClE,MAAM,SAAS,GAAG,KAAK,EACrB,OAAe,EACf,OAAe,EACf,OAAsB,EACtB,OAA4D,EACU,EAAE;QACxE,IAAI,CAAC,YAAY,EAAE,CAAC;YAClB,MAAM,MAAM,GAAG,MAAM,OAAO,CAAC,SAAS,CAAC,CAAC;YACxC,OAAO,EAAE,MAAM,EAAE,MAAM,CAAC,MAAM,EAAE,QAAQ,EAAE,KAAK,EAAE,WAAW,EAAE,KAAK,EAAE,CAAC;QACxE,CAAC;QACD,MAAM,EAAE,MAAM,EAAE,GAAG,EAAE,WAAW,EAAE,GAAG,MAAM,YAAY,CAAC,SAAS,CAAC,OAAO,EAAE,OAAO,EAAE,OAAO,EAAE,EAAE,OAAO,EAAE,CAAC,CAAC;QAC1G,OAAO,EAAE,MAAM,EAAE,QAAQ,EAAE,GAAG,EAAE,WAAW,EAAE,CAAC;IAChD,CAAC,CAAC;IAEF,qGAAqG;IACrG,MAAM,gBAAgB,GAAG,CAAC,MAAc,EAAE,QAAiB,EAAE,WAAoB,EAAE,OAAgB,EAAc,EAAE;QACjH,MAAM,IAAI,GAAG,OAAO,CAAC,CAAC,CAAC,GAAG,OAAO,MAAM,CAAC,CAAC,CAAC,EAAE,CAAC;QAC7C,MAAM,SAAS,GAAG,QAAQ,IAAI,WAAW,CAAC,CAAC,CAAC,wBAAwB,CAAC,CAAC,CAAC,EAAE,CAAC;QAC1E,OAAO,UAAU,CAAC,GAAG,IAAI,GAAG,SAAS,GAAG,MAAM,EAAE,CAAC,CAAC;IACpD,CAAC,CAAC;IAEF,kGAAkG;IAClG,MAAM,QAAQ,GAAG,CAAC,MAAc,EAAc,EAAE;QAC9C,MAAM,CAAC,GAAG,UAAU,CAAC,MAAM,EAAE,MAAM,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC,CAAC;QAChD,OAAO,CAAC,CAAC,cAAc,CAAC,CAAC,CAAC,WAAW,CAAC,CAAC,CAAC,MAAM,CAAC,CAAC,CAAC,CAAC,UAAU,CAAC,CAAC,CAAC,MAAM,CAAC,CAAC;IACzE,CAAC,CAAC;IAEF,2EAA2E;IAC3E,IAAI,IAAI,CAAC,MAAM,KAAK,YAAY,IAAI,IAAI,KAAK,MAAM,IAAI,IAAI,KAAK,MAAM,EAAE,CAAC;QACvE,OAAO,WAAW,CAChB,oKAAoK,CACrK,CAAC;IACJ,CAAC;IAED,QAAQ,IAAI,EAAE,CAAC;QACb,KAAK,MAAM,EAAE,CAAC;YACZ,MAAM,EAAE,MAAM,EAAE,QAAQ,EAAE,WAAW,EAAE,GAAG,MAAM,SAAS,CAAC,MAAM,EAAE,IAAI,EAAE,gBAAgB,EAAE,CAAC,WAAW,EAAE,EAAE,CACxG,MAAM,CAAC,UAAU,CAAC,IAAI,EAAE,EAAE,WAAW,EAAE,OAAO,EAAE,gBAAgB,EAAE,CAAC,CACpE,CAAC;YACF,IAAI,IAAI,CAAC,IAAI;gBAAE,OAAO,QAAQ,CAAC,MAAM,CAAC,CAAC;YACvC,OAAO,gBAAgB,CAAC,MAAM,EAAE,QAAQ,EAAE,WAAW,EAAE,cAAc,CAAC,CAAC;QACzE,CAAC;QACD,KAAK,MAAM,EAAE,CAAC;YACZ,8FAA8F;YAC9F,IAAI,IAAI,CAAC,IAAI,EAAE,CAAC;gBACd,IAAI,IAAI,CAAC,MAAM,EAAE,CAAC;oBAChB,OAAO,WAAW,CAChB,uGAAuG,CACxG,CAAC;gBACJ,CAAC;gBACD,MAAM,UAAU,GAAG,IAAI,CAAC,OAA6B,CAAC;gBACtD,mFAAmF;gBACnF,wFAAwF;gBACxF,MAAM,OAAO,GAAG,UAAU,IAAI,UAAU,CAAC,WAAW,EAAE,KAAK,MAAM,CAAC,CAAC,CAAC,UAAU,CAAC,CAAC,CAAC,SAAS,CAAC;gBAC3F,IAAI,UAAkB,CAAC;gBACvB,IAAI,OAAO,EAAE,CAAC;oBACZ,IAAI,CAAC;wBACH,UAAU,GAAG,CAAC,MAAM,MAAM,CAAC,eAAe,CAAC,IAAI,EAAE,OAAO,EAAE,EAAE,OAAO,EAAE,gBAAgB,EAAE,CAAC,CAAC,CAAC,MAAM,CAAC;oBACnG,CAAC;oBAAC,OAAO,GAAG,EAAE,CAAC;wBACb,IAAI,eAAe,CAAC,GAAG,CAAC,EAAE,CAAC;4BACzB,OAAO,UAAU,CACf,YAAY,OAAO,gCAAgC,IAAI,8DAA8D,CACtH,CAAC;wBACJ,CAAC;wBACD,MAAM,GAAG,CAAC;oBACZ,CAAC;gBACH,CAAC;qBAAM,CAAC;oBACN,UAAU,GAAG,CACX,MAAM,SAAS,CAAC,MAAM,EAAE,IAAI,EAAE,gBAAgB,EAAE,CAAC,WAAW,EAAE,EAAE,CAC9D,MAAM,CAAC,QAAQ,CAAC,IAAI,EAAE,SAAS,EAAE,EAAE,WAAW,EAAE,OAAO,EAAE,gBAAgB,EAAE,CAAC,CAC7E,CACF,CAAC,MAAM,CAAC;gBACX,CAAC;gBACD,MAAM,iBAAiB,GAAG,iBAAiB,EAAE,EAAE,WAAW,CAAC;gBAC3D,MAAM,WAAW,GAAG,iBAAiB,CAAC,CAAC,CAAC,8BAA8B,CAAC,iBAAiB,CAAC,CAAC,CAAC,CAAC,SAAS,CAAC;gBACtG,2FAA2F;gBAC3F,MAAM,OAAO,GAAG,WAAW,CAAC,UAAU,EAAE,IAAI,EAAE,WAAW,CAAC,CAAC;gBAC3D,MAAM,CAAC,GAAG,UAAU,CAAC,UAAU,EAAE,MAAM,CAAC,IAAI,CAAC,IAAI,CAAC,EAAE,OAAO,CAAC,OAAO,CAAC,CAAC,CAAC,EAAE,OAAO,EAAE,OAAO,CAAC,OAAO,EAAE,CAAC,CAAC,CAAC,SAAS,CAAC,CAAC;gBAChH,OAAO,CAAC,CAAC,cAAc;oBACrB,CAAC,CAAC,WAAW,CAAC,CAAC,CAAC,MAAM,CAAC;oBACvB,CAAC,CAAC,UAAU,CAAC,IAAI,IAAI,YAAY,UAAU,IAAI,MAAM,MAAM,CAAC,CAAC,MAAM,EAAE,CAAC,CAAC;YAC3E,CAAC;YACD,mEAAmE;YACnE,IAAI,IAAI,CAAC,MAAM,KAAK,YAAY,EAAE,CAAC;gBACjC,MAAM,UAAU,GAAG,MAAM,MAAM,CAAC,kBAAkB,CAAC,IAAI,CAAC,CAAC;gBACzD,OAAO,UAAU,CAAC,QAAQ,CAAC,UAAU,CAAC,CAAC,CAAC;YAC1C,CAAC;YACD,MAAM,WAAW,GAAG,IAAI,CAAC,MAA4B,CAAC;YACtD,IAAI,WAAW,EAAE,CAAC;gBAChB,yFAAyF;gBACzF,wFAAwF;gBACxF,MAAM,gBAAgB,GAAI,IAAI,CAAC,OAA8B,EAAE,WAAW,EAAE,CAAC;gBAC7E,MAAM,eAAe,GACnB,gBAAgB,KAAK,SAAS;oBAC5B,CAAC,CAAC,yBAAyB,CAAC,WAAW,CAAC;oBACxC,CAAC,CAAC,gBAAgB,KAAK,MAAM;wBAC3B,CAAC,CAAC,SAAS;wBACX,CAAC,CAAC,gBAAgB,CAAC;gBACzB,IAAI,YAAoB,CAAC;gBACzB,IAAI,eAAe,EAAE,CAAC;oBACpB,sFAAsF;oBACtF,8EAA8E;oBAC9E,IAAI,CAAC;wBACH,YAAY,GAAG,CACb,MAAM,MAAM,CAAC,eAAe,CAAC,IAAI,EAAE,eAAe,EAAE;4BAClD,OAAO,EAAE,gBAAgB;yBAC1B,CAAC,CACH,CAAC,MAAM,CAAC;oBACX,CAAC;oBAAC,OAAO,GAAG,EAAE,CAAC;wBACb,IAAI,eAAe,CAAC,GAAG,CAAC,EAAE,CAAC;4BACzB,OAAO,WAAW,CAChB,YAAY,eAAe,gCAAgC,IAAI,gBAAgB,WAAW,2BAA2B,CACtH,CAAC;wBACJ,CAAC;wBACD,MAAM,GAAG,CAAC;oBACZ,CAAC;gBACH,CAAC;qBAAM,CAAC;oBACN,YAAY,GAAG,CACb,MAAM,SAAS,CAAC,MAAM,EAAE,IAAI,EAAE,gBAAgB,EAAE,CAAC,WAAW,EAAE,EAAE,CAC9D,MAAM,CAAC,QAAQ,CAAC,IAAI,EAAE,SAAS,EAAE,EAAE,WAAW,EAAE,OAAO,EAAE,gBAAgB,EAAE,CAAC,CAC7E,CACF,CAAC,MAAM,CAAC;gBACX,CAAC;gBACD,MAAM,iBAAiB,GAAG,iBAAiB,EAAE,EAAE,WAAW,CAAC;gBAC3D,MAAM,WAAW,GAAG,iBAAiB,CAAC,CAAC,CAAC,8BAA8B,CAAC,iBAAiB,CAAC,CAAC,CAAC,CAAC,SAAS,CAAC;gBACtG,IAAI,WAAW,KAAK,GAAG,EAAE,CAAC;oBACxB,MAAM,OAAO,GAAG,WAAW,CAAC,YAAY,EAAE,IAAI,EAAE,WAAW,CAAC,CAAC;oBAC7D,OAAO,UAAU,CAAC,mBAAmB,CAAC,OAAO,CAAC,CAAC,CAAC;gBAClD,CAAC;gBACD,MAAM,SAAS,GAAG,aAAa,CAAC,YAAY,EAAE,IAAI,EAAE,WAAW,EAAE,WAAW,CAAC,CAAC;gBAC9E,IAAI,CAAC,SAAS,CAAC,OAAO,EAAE,CAAC;oBACvB,MAAM,QAAQ,GAAG,eAAe,CAAC,CAAC,CAAC,uBAAuB,eAAe,GAAG,CAAC,CAAC,CAAC,EAAE,CAAC;oBAClF,MAAM,IAAI,GACR,gBAAgB,KAAK,SAAS,IAAI,CAAC,eAAe;wBAChD,CAAC,CAAC,4JAA4J;wBAC9J,CAAC,CAAC,EAAE,CAAC;oBACT,OAAO,WAAW,CAAC,GAAG,SAAS,CAAC,KAAK,IAAI,WAAW,WAAW,kBAAkB,IAAI,GAAG,GAAG,QAAQ,GAAG,IAAI,EAAE,CAAC,CAAC;gBAChH,CAAC;gBACD,OAAO,gBAAgB,CAAC,SAAS,CAAC,YAAY,EAAE,KAAK,EAAE,KAAK,EAAE,cAAc,CAAC,CAAC;YAChF,CAAC;YACD,gFAAgF;YAChF,IAAI,CAAC,IAAI,CAAC,OAAO,EAAE,CAAC;gBAClB,MAAM,EAAE,MAAM,EAAE,QAAQ,EAAE,WAAW,EAAE,GAAG,MAAM,SAAS,CAAC,MAAM,EAAE,IAAI,EAAE,gBAAgB,EAAE,CAAC,WAAW,EAAE,EAAE,CACxG,MAAM,CAAC,QAAQ,CAAC,IAAI,EAAE,SAAS,EAAE,EAAE,WAAW,EAAE,OAAO,EAAE,gBAAgB,EAAE,CAAC,CAC7E,CAAC;gBACF,OAAO,gBAAgB,CAAC,MAAM,EAAE,QAAQ,EAAE,WAAW,EAAE,cAAc,CAAC,CAAC;YACzE,CAAC;YACD,MAAM,aAAa,GAAG,MAAM,MAAM,CAAC,QAAQ,CAAC,IAAI,EAAE,IAAI,CAAC,OAA6B,EAAE;gBACpF,OAAO,EAAE,gBAAgB;aAC1B,CAAC,CAAC;YACH,OAAO,gBAAgB,CAAC,aAAa,CAAC,MAAM,EAAE,KAAK,EAAE,KAAK,EAAE,cAAc,CAAC,CAAC;QAC9E,CAAC;QACD,KAAK,MAAM,EAAE,CAAC;YACZ,MAAM,EAAE,MAAM,EAAE,QAAQ,EAAE,WAAW,EAAE,GAAG,MAAM,SAAS,CAAC,MAAM,EAAE,IAAI,EAAE,gBAAgB,EAAE,CAAC,WAAW,EAAE,EAAE,CACxG,MAAM,CAAC,YAAY,CAAC,IAAI,EAAE,EAAE,WAAW,EAAE,OAAO,EAAE,gBAAgB,EAAE,CAAC,CACtE,CAAC;YACF,IAAI,IAAI,CAAC,IAAI;gBAAE,OAAO,QAAQ,CAAC,MAAM,CAAC,CAAC;YACvC,OAAO,gBAAgB,CAAC,MAAM,EAAE,QAAQ,EAAE,WAAW,EAAE,cAAc,CAAC,CAAC;QACzE,CAAC;QACD,KAAK,MAAM,EAAE,CAAC;YACZ,IAAI,KAAK,GAAG,MAAM,CAAC,IAAI,CAAC,KAAK,IAAI,EAAE,CAAC,CAAC;YACrC,IAAI,CAAC,KAAK,EAAE,CAAC;gBACX,gDAAgD;gBAChD,MAAM,QAAQ,GAAG,YAAY;oBAC3B,CAAC,CAAC,MAAM,YAAY,CAAC,gBAAgB,CAAC,MAAM,EAAE,IAAI,CAAC;oBACnD,CAAC,CAAC,MAAM,MAAM,CAAC,oBAAoB,CAAC,IAAI,CAAC,CAAC;gBAC5C,IAAI,CAAC,QAAQ,EAAE,CAAC;oBACd,OAAO,WAAW,CAChB,sCAAsC,IAAI,gEAAgE,IAAI,gCAAgC,CAC/I,CAAC;gBACJ,CAAC;gBACD,KAAK,GAAG,QAAQ,CAAC;YACnB,CAAC;YACD,MAAM,EAAE,MAAM,EAAE,QAAQ,EAAE,WAAW,EAAE,GAAG,MAAM,SAAS,CAAC,MAAM,EAAE,IAAI,EAAE,gBAAgB,EAAE,CAAC,WAAW,EAAE,EAAE,CACxG,MAAM,CAAC,WAAW,CAAC,KAAK,EAAE,IAAI,EAAE,EAAE,WAAW,EAAE,OAAO,EAAE,gBAAgB,EAAE,CAAC,CAC5E,CAAC;YACF,0EAA0E;YAC1E,mDAAmD;YACnD,IAAI,IAAI,CAAC,gBAAgB,KAAK,IAAI,EAAE,CAAC;gBACnC,MAAM,MAAM,GAAG,gBAAgB,CAAC,MAAM,CAAC,CAAC;gBACxC,MAAM,OAAO,GAA2C;oBACtD,SAAS,EAAE,EAAE;oBACb,SAAS,EAAE,EAAE;oBACb,QAAQ,EAAE,EAAE;oBACZ,MAAM,EAAE,EAAE;oBACV,UAAU,EAAE,EAAE;oBACd,OAAO,EAAE,EAAE;iBACZ,CAAC;gBACF,KAAK,MAAM,CAAC,IAAI,MAAM,CAAC,MAAM;oBAAE,OAAO,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC;gBACvD,2FAA2F;gBAC3F,4FAA4F;gBAC5F,4EAA4E;gBAC5E,IAAI,UAAgD,CAAC;gBACrD,IAAI,eAAmC,CAAC;gBACxC,IAAI,CAAC;oBACH,UAAU,GAAG,MAAM,MAAM,CAAC,2BAA2B,CAAC,KAAK,EAAE,IAAI,CAAC,CAAC;gBACrE,CAAC;gBAAC,OAAO,GAAG,EAAE,CAAC;oBACb,eAAe,GAAG,GAAG,YAAY,KAAK,CAAC,CAAC,CAAC,GAAG,CAAC,OAAO,CAAC,CAAC,CAAC,MAAM,CAAC,GAAG,CAAC,CAAC;gBACrE,CAAC;gBACD,MAAM,OAAO,GAAG;oBACd,MAAM;oBACN,SAAS,EAAE,OAAO;oBAClB,GAAG,CAAC,UAAU,EAAE,cAAc,CAAC,CAAC,CAAC,EAAE,cAAc,EAAE,UAAU,CAAC,cAAc,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC;oBACpF,GAAG,CAAC,UAAU,EAAE,cAAc,CAAC,CAAC,CAAC,EAAE,cAAc,EAAE,UAAU,CAAC,cAAc,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC;oBACpF,GAAG,CAAC,eAAe,CAAC,CAAC,CAAC,EAAE,eAAe,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC;iBAChD,CAAC;gBACF,OAAO,UAAU,CAAC,QAAQ,CAAC,OAAO,CAAC,CAAC,CAAC;YACvC,CAAC;YACD,IAAI,IAAI,CAAC,IAAI;gBAAE,OAAO,QAAQ,CAAC,MAAM,CAAC,CAAC;YACvC,OAAO,gBAAgB,CAAC,MAAM,EAAE,QAAQ,EAAE,WAAW,EAAE,cAAc,CAAC,CAAC;QACzE,CAAC;QACD,KAAK,MAAM,EAAE,CAAC;YACZ,MAAM,MAAM,GAAG,OAAO,CAAC,IAAI,CAAC,eAAe,CAAC,CAAC;YAC7C,IAAI,MAAM,EAAE,CAAC;gBACX,6EAA6E;gBAC7E,gFAAgF;gBAChF,kFAAkF;gBAClF,kFAAkF;gBAClF,iEAAiE;gBACjE,MAAM,EAAE,MAAM,EAAE,SAAS,EAAE,GAAG,MAAM,MAAM,CAAC,wBAAwB,CAAC,IAAI,EAAE,EAAE,OAAO,EAAE,gBAAgB,EAAE,CAAC,CAAC;gBACzG,MAAM,KAAK,GAAG,MAAM,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,OAAO,CAAC,CAAC,IAAI,SAAS,CAAC,CAAC,MAAM,EAAE,CAAC,CAAC;gBAClE,IAAI,SAAS,EAAE,CAAC;oBACd,KAAK,CAAC,IAAI,CACR,oFAAoF;wBAClF,6EAA6E,CAChF,CAAC;gBACJ,CAAC;gBACD,OAAO,UAAU,CAAC,KAAK,CAAC,IAAI,CAAC,MAAM,CAAC,CAAC,CAAC;YACxC,CAAC;YACD,MAAM,EAAE,GAAG,MAAM,MAAM,CAAC,gBAAgB,CAAC,IAAI,CAAC,CAAC;YAC/C,OAAO,UAAU,CAAC,QAAQ,CAAC,EAAE,CAAC,CAAC,CAAC;QAClC,CAAC;QACD,KAAK,MAAM,EAAE,CAAC;YACZ,MAAM,EAAE,MAAM,EAAE,QAAQ,EAAE,WAAW,EAAE,GAAG,MAAM,SAAS,CAAC,MAAM,EAAE,IAAI,EAAE,gBAAgB,EAAE,CAAC,WAAW,EAAE,EAAE,CACxG,MAAM,CAAC,UAAU,CAAC,IAAI,EAAE,EAAE,WAAW,EAAE,OAAO,EAAE,gBAAgB,EAAE,CAAC,CACpE,CAAC;YACF,IAAI,IAAI,CAAC,IAAI;gBAAE,OAAO,QAAQ,CAAC,MAAM,CAAC,CAAC;YACvC,OAAO,gBAAgB,CAAC,MAAM,EAAE,QAAQ,EAAE,WAAW,EAAE,cAAc,CAAC,CAAC;QACzE,CAAC;QACD,KAAK,MAAM,EAAE,CAAC;YACZ,MAAM,EACJ,MAAM,EAAE,SAAS,EACjB,QAAQ,EACR,WAAW,GACZ,GAAG,MAAM,SAAS,CAAC,MAAM,EAAE,IAAI,EAAE,gBAAgB,EAAE,CAAC,WAAW,EAAE,EAAE,CAClE,MAAM,CAAC,OAAO,CAAC,IAAI,EAAE,EAAE,WAAW,EAAE,OAAO,EAAE,gBAAgB,EAAE,CAAC,CACjE,CAAC;YACF,IAAI,SAAS,CAAC,IAAI,EAAE,KAAK,EAAE,EAAE,CAAC;gBAC5B,OAAO,UAAU,CACf,QAAQ,IAAI,iEAAiE;oBAC3E,sGAAsG,IAAI,mBAAmB,CAChI,CAAC;YACJ,CAAC;YACD,IAAK,IAAI,CAAC,OAA8B,EAAE,WAAW,EAAE,KAAK,UAAU,EAAE,CAAC;gBACvE,kEAAkE;gBAClE,OAAO,gBAAgB,CAAC,kBAAkB,CAAC,SAAS,EAAE,IAAI,CAAC,EAAE,KAAK,EAAE,KAAK,EAAE,cAAc,CAAC,CAAC;YAC7F,CAAC;YACD,IAAI,IAAI,CAAC,IAAI;gBAAE,OAAO,QAAQ,CAAC,SAAS,CAAC,CAAC;YAC1C,OAAO,gBAAgB,CAAC,SAAS,EAAE,QAAQ,EAAE,WAAW,EAAE,cAAc,CAAC,CAAC;QAC5E,CAAC;QACD,KAAK,MAAM,EAAE,CAAC;YACZ,MAAM,EAAE,MAAM,EAAE,QAAQ,EAAE,WAAW,EAAE,GAAG,MAAM,SAAS,CAAC,MAAM,EAAE,IAAI,EAAE,gBAAgB,EAAE,CAAC,WAAW,EAAE,EAAE,CACxG,MAAM,CAAC,MAAM,CAAC,IAAI,EAAE,EAAE,WAAW,EAAE,OAAO,EAAE,gBAAgB,EAAE,CAAC,CAChE,CAAC;YACF,IAAI,IAAI,CAAC,IAAI;gBAAE,OAAO,QAAQ,CAAC,MAAM,CAAC,CAAC;YACvC,OAAO,gBAAgB,CAAC,MAAM,EAAE,QAAQ,EAAE,WAAW,EAAE,cAAc,CAAC,CAAC;QACzE,CAAC;QACD,KAAK,MAAM,EAAE,CAAC;YACZ,MAAM,EAAE,MAAM,EAAE,QAAQ,EAAE,WAAW,EAAE,GAAG,MAAM,SAAS,CAAC,MAAM,EAAE,IAAI,EAAE,gBAAgB,EAAE,CAAC,WAAW,EAAE,EAAE,CACxG,MAAM,CAAC,OAAO,CAAC,IAAI,EAAE,EAAE,WAAW,EAAE,OAAO,EAAE,gBAAgB,EAAE,CAAC,CACjE,CAAC;YACF,IAAI,IAAI,CAAC,IAAI;gBAAE,OAAO,QAAQ,CAAC,MAAM,CAAC,CAAC;YACvC,OAAO,gBAAgB,CAAC,MAAM,EAAE,QAAQ,EAAE,WAAW,EAAE,cAAc,CAAC,CAAC;QACzE,CAAC;QACD,KAAK,MAAM,EAAE,CAAC;YACZ,MAAM,EAAE,MAAM,EAAE,QAAQ,EAAE,WAAW,EAAE,GAAG,MAAM,SAAS,CAAC,MAAM,EAAE,IAAI,EAAE,gBAAgB,EAAE,CAAC,WAAW,EAAE,EAAE,CACxG,MAAM,CAAC,OAAO,CAAC,IAAI,EAAE,EAAE,WAAW,EAAE,OAAO,EAAE,gBAAgB,EAAE,CAAC,CACjE,CAAC;YACF,IAAI,IAAI,CAAC,IAAI;gBAAE,OAAO,QAAQ,CAAC,MAAM,CAAC,CAAC;YACvC,OAAO,gBAAgB,CAAC,MAAM,EAAE,QAAQ,EAAE,WAAW,EAAE,cAAc,CAAC,CAAC;QACzE,CAAC;QACD,KAAK,MAAM,EAAE,CAAC;YACZ,IAAI,CAAC;gBACH,MAAM,EAAE,MAAM,EAAE,QAAQ,EAAE,WAAW,EAAE,GAAG,MAAM,SAAS,CAAC,MAAM,EAAE,IAAI,EAAE,gBAAgB,EAAE,CAAC,WAAW,EAAE,EAAE,CACxG,MAAM,CAAC,OAAO,CAAC,IAAI,EAAE,EAAE,WAAW,EAAE,OAAO,EAAE,gBAAgB,EAAE,CAAC,CACjE,CAAC;gBACF,IAAI,IAAI,CAAC,IAAI;oBAAE,OAAO,QAAQ,CAAC,MAAM,CAAC,CAAC;gBACvC,OAAO,gBAAgB,CAAC,MAAM,EAAE,QAAQ,EAAE,WAAW,EAAE,cAAc,CAAC,CAAC;YACzE,CAAC;YAAC,OAAO,GAAG,EAAE,CAAC;gBACb,IAAI,eAAe,CAAC,GAAG,CAAC,EAAE,CAAC;oBACzB,OAAO,UAAU,CACf,2CAA2C,IAAI,yMAAyM,CACzP,CAAC;gBACJ,CAAC;gBACD,MAAM,GAAG,CAAC;YACZ,CAAC;QACH,CAAC;QACD,KAAK,MAAM,EAAE,CAAC;YACZ,MAAM,EAAE,MAAM,EAAE,QAAQ,EAAE,WAAW,EAAE,GAAG,MAAM,SAAS,CAAC,MAAM,EAAE,IAAI,EAAE,gBAAgB,EAAE,CAAC,WAAW,EAAE,EAAE,CACxG,MAAM,CAAC,OAAO,CAAC,IAAI,EAAE,EAAE,WAAW,EAAE,OAAO,EAAE,gBAAgB,EAAE,CAAC,CACjE,CAAC;YACF,OAAO,gBAAgB,CAAC,MAAM,EAAE,QAAQ,EAAE,WAAW,EAAE,cAAc,CAAC,CAAC;QACzE,CAAC;QACD,KAAK,MAAM,EAAE,CAAC;YACZ,IAAI,CAAC;gBACH,+EAA+E;gBAC/E,0EAA0E;gBAC1E,0CAA0C;gBAC1C,MAAM,EAAE,MAAM,EAAE,QAAQ,EAAE,WAAW,EAAE,GAAG,MAAM,SAAS,CAAC,MAAM,EAAE,IAAI,EAAE,gBAAgB,EAAE,CAAC,WAAW,EAAE,EAAE,CACxG,MAAM,CAAC,MAAM,CAAC,IAAI,EAAE,EAAE,WAAW,EAAE,OAAO,EAAE,gBAAgB,EAAE,CAAC,CAChE,CAAC;gBACF,8EAA8E;gBAC9E,8EAA8E;gBAC9E,MAAM,QAAQ,GAAG,aAAa,CAAC,MAAM,EAAE,EAAE,SAAS,EAAE,CAAC,IAAI,CAAC,IAAI,EAAE,CAAC,CAAC;gBAClE,IAAI,IAAI,CAAC,IAAI;oBAAE,OAAO,QAAQ,CAAC,QAAQ,CAAC,CAAC;gBACzC,4FAA4F;gBAC5F,gDAAgD;gBAChD,MAAM,KAAK,GAAG,kBAAkB,CAAC,MAAM,CAAC,CAAC;gBACzC,MAAM,eAAe,GAAG;oBACtB,cAAc;oBACd,QAAQ,IAAI,WAAW,CAAC,CAAC,CAAC,sBAAsB,CAAC,CAAC,CAAC,SAAS;oBAC5D,mBAAmB,CAAC,MAAM,CAAC,IAAI,SAAS;oBACxC,KAAK,IAAI,SAAS;iBACnB;qBACE,MAAM,CAAC,CAAC,KAAK,EAAmB,EAAE,CAAC,OAAO,CAAC,KAAK,CAAC,CAAC;qBAClD,IAAI,CAAC,MAAM,CAAC,CAAC;gBAChB,MAAM,IAAI,GAAG,eAAe;oBAC1B,CAAC,CAAC,CAAC,QAAQ,IAAI,SAAS,EAAE,GAAG,eAAe,KAAK,eAAe,EAAE,CAAC;yBAC9D,MAAM,CAAC,CAAC,KAAK,EAAmB,EAAE,CAAC,OAAO,CAAC,KAAK,CAAC,CAAC;yBAClD,IAAI,CAAC,MAAM,CAAC;oBACjB,CAAC,CAAC,QAAQ,CAAC;gBACb,OAAO,UAAU,CAAC,IAAI,CAAC,CAAC;YAC1B,CAAC;YAAC,OAAO,GAAG,EAAE,CAAC;gBACb,IAAI,eAAe,CAAC,GAAG,CAAC,EAAE,CAAC;oBACzB,OAAO,UAAU,CACf,oDAAoD,IAAI,gHAAgH,IAAI,0BAA0B,CACvM,CAAC;gBACJ,CAAC;gBACD,MAAM,GAAG,CAAC;YACZ,CAAC;QACH,CAAC;QACD,KAAK,MAAM,EAAE,CAAC;YACZ,yEAAyE;YACzE,2EAA2E;YAC3E,mEAAmE;YACnE,MAAM,EAAE,MAAM,EAAE,QAAQ,EAAE,WAAW,EAAE,GAAG,MAAM,SAAS,CAAC,MAAM,EAAE,IAAI,EAAE,gBAAgB,EAAE,CAAC,WAAW,EAAE,EAAE,CACxG,MAAM,CAAC,OAAO,CAAC,IAAI,EAAE,EAAE,WAAW,EAAE,OAAO,EAAE,gBAAgB,EAAE,CAAC,CACjE,CAAC;YACF,IAAI,IAAI,CAAC,IAAI;gBAAE,OAAO,QAAQ,CAAC,MAAM,CAAC,CAAC;YACvC,OAAO,gBAAgB,CAAC,MAAM,EAAE,QAAQ,EAAE,WAAW,EAAE,cAAc,CAAC,CAAC;QACzE,CAAC;QACD,KAAK,MAAM,EAAE,CAAC;YACZ,MAAM,EAAE,MAAM,EAAE,QAAQ,EAAE,WAAW,EAAE,GAAG,MAAM,SAAS,CAAC,MAAM,EAAE,IAAI,EAAE,gBAAgB,EAAE,CAAC,WAAW,EAAE,EAAE,CACxG,MAAM,CAAC,OAAO,CAAC,IAAI,EAAE,EAAE,WAAW,EAAE,OAAO,EAAE,gBAAgB,EAAE,CAAC,CACjE,CAAC;YACF,IAAI,IAAI,CAAC,IAAI;gBAAE,OAAO,QAAQ,CAAC,MAAM,CAAC,CAAC;YACvC,OAAO,gBAAgB,CAAC,MAAM,EAAE,QAAQ,EAAE,WAAW,EAAE,cAAc,CAAC,CAAC;QACzE,CAAC;QACD,KAAK,MAAM,EAAE,CAAC;YACZ,MAAM,MAAM,GAAG,MAAM,MAAM,CAAC,SAAS,CAAC,IAAI,CAAC,CAAC;YAC5C,OAAO,UAAU,CAAC,QAAQ,CAAC,MAAM,CAAC,CAAC,CAAC;QACtC,CAAC;QACD,KAAK,MAAM,EAAE,CAAC;YACZ,yFAAyF;YACzF,MAAM,WAAW,GAAG,IAAI,CAAC,OAAO,KAAK,QAAQ,IAAI,IAAI,CAAC,OAAO,KAAK,UAAU,CAAC,CAAC,CAAC,IAAI,CAAC,OAAO,CAAC,CAAC,CAAC,SAAS,CAAC;YACxG,MAAM,IAAI,GAAG,MAAM,MAAM,CAAC,cAAc,CAAC,IAAI,EAAE,WAAW,CAAC,CAAC;YAC5D,OAAO,UAAU,CAAC,QAAQ,CAAC,IAAI,CAAC,CAAC,CAAC;QACpC,CAAC;QACD,KAAK,MAAM,EAAE,CAAC;YACZ,MAAM,IAAI,GAAG,MAAM,MAAM,CAAC,YAAY,CAAC,IAAI,CAAC,CAAC;YAC7C,OAAO,UAAU,CAAC,QAAQ,CAAC,IAAI,CAAC,CAAC,CAAC;QACpC,CAAC;QACD,KAAK,MAAM,EAAE,CAAC;YACZ,MAAM,SAAS,GAAG,MAAM,MAAM,CAAC,qBAAqB,CAAC,IAAI,CAAC,CAAC;YAC3D,OAAO,UAAU,CAAC,QAAQ,CAAC,SAAS,CAAC,CAAC,CAAC;QACzC,CAAC;QACD,KAAK,MAAM,CAAC;QACZ,KAAK,gBAAgB,EAAE,CAAC;YACtB,6EAA6E;YAC7E,kFAAkF;YAClF,iEAAiE;YACjE,IAAI,IAAI,KAAK,MAAM,EAAE,CAAC;gBACpB,MAAM,CAAC,IAAI,CAAC,kEAAkE,EAAE;oBAC9E,IAAI,EAAE,MAAM;oBACZ,WAAW,EAAE,gBAAgB;iBAC9B,CAAC,CAAC;YACL,CAAC;YACD,MAAM,MAAM,GAAG,MAAM,MAAM,CAAC,gBAAgB,CAAC,IAAI,CAAC,CAAC;YACnD,OAAO,UAAU,CAAC,QAAQ,CAAC,MAAM,CAAC,CAAC,CAAC;QACtC,CAAC;QACD,KAAK,MAAM,EAAE,CAAC;YACZ,MAAM,WAAW,GAAG,MAAM,MAAM,CAAC,4BAA4B,CAAC,IAAI,CAAC,CAAC;YACpE,OAAO,UAAU,CAAC,QAAQ,CAAC,WAAW,CAAC,CAAC,CAAC;QAC3C,CAAC;QACD,KAAK,UAAU,EAAE,CAAC;YAChB,MAAM,OAAO,GAAG,OAAO,IAAI,CAAC,OAAO,KAAK,QAAQ,CAAC,CAAC,CAAC,IAAI,CAAC,OAAO,CAAC,CAAC,CAAC,SAAS,CAAC;YAC5E,IAAI,KAAK,GAAG,OAAO,IAAI,CAAC,KAAK,KAAK,QAAQ,CAAC,CAAC,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC,CAAC,SAAS,CAAC;YACpE,MAAM,UAAU,GAAG,mBAAmB,CAAC,MAAM,CAAC,IAAI,CAAC,UAAU,IAAI,EAAE,CAAC,CAAC,IAAI,eAAe,CAAC,IAAI,CAAC,IAAI,MAAM,CAAC;YAEzG,IAAI,UAAU,KAAK,MAAM,IAAI,CAAC,KAAK,EAAE,CAAC;gBACpC,MAAM,QAAQ,GAAG,YAAY;oBAC3B,CAAC,CAAC,MAAM,YAAY,CAAC,gBAAgB,CAAC,MAAM,EAAE,IAAI,CAAC;oBACnD,CAAC,CAAC,MAAM,MAAM,CAAC,oBAAoB,CAAC,IAAI,CAAC,CAAC;gBAC5C,IAAI,CAAC,QAAQ,EAAE,CAAC;oBACd,OAAO,WAAW,CAChB,sCAAsC,IAAI,gEAAgE,IAAI,gCAAgC,CAC/I,CAAC;gBACJ,CAAC;gBACD,KAAK,GAAG,QAAQ,CAAC;YACnB,CAAC;YAED,IAAI,CAAC;gBACH,MAAM,SAAS,GAAG,MAAM,MAAM,CAAC,YAAY,CAAC,UAAU,EAAE,IAAI,EAAE,EAAE,OAAO,EAAE,KAAK,EAAE,CAAC,CAAC;gBAClF,OAAO,UAAU,CAAC,QAAQ,CAAC,SAAS,CAAC,CAAC,CAAC;YACzC,CAAC;YAAC,OAAO,GAAG,EAAE,CAAC;gBACb,IAAI,eAAe,CAAC,GAAG,CAAC,EAAE,CAAC;oBACzB,OAAO,UAAU,CACf,oCAAoC,UAAU,KAAK,IAAI,wBAAwB;wBAC7E,mGAAmG,UAAU,2BAA2B,CAC3I,CAAC;gBACJ,CAAC;gBACD,MAAM,GAAG,CAAC;YACZ,CAAC;QACH,CAAC;QACD,KAAK,gBAAgB,EAAE,CAAC;YACtB,MAAM,UAAU,GAAG,MAAM,CAAC,IAAI,CAAC,UAAU,IAAI,EAAE,CAAC,CAAC;YACjD,IAAI,CAAC,UAAU,EAAE,CAAC;gBAChB,OAAO,WAAW,CAChB,+HAA+H,CAChI,CAAC;YACJ,CAAC;YACD,IAAI,CAAC;gBACH,OAAO,UAAU,CAAC,MAAM,MAAM,CAAC,iBAAiB,CAAC,UAAU,CAAC,CAAC,CAAC;YAChE,CAAC;YAAC,OAAO,GAAG,EAAE,CAAC;gBACb,IAAI,eAAe,CAAC,GAAG,CAAC,EAAE,CAAC;oBACzB,OAAO,WAAW,CAChB,oBAAoB,UAAU,4IAA4I,CAC3K,CAAC;gBACJ,CAAC;gBACD,MAAM,GAAG,CAAC;YACZ,CAAC;QACH,CAAC;QACD,KAAK,MAAM,EAAE,CAAC;YACZ,MAAM,IAAI,GAAG,MAAM,MAAM,CAAC,cAAc,CAAC,IAAI,CAAC,CAAC;YAC/C,kFAAkF;YAClF,IAAI,WAA+B,CAAC;YACpC,IAAI,kBAAkB,CAAC,MAAM,CAAC,MAAM,EAAE,aAAa,CAAC,OAAO,CAAC,EAAE,CAAC;gBAC7D,IAAI,CAAC;oBACH,MAAM,QAAQ,GAAG,IAAI,CAAC,WAAW,EAAE,CAAC,OAAO,CAAC,cAAc,EAAE,EAAE,CAAC,CAAC;oBAChE,MAAM,IAAI,GAAG,MAAM,MAAM,CAAC,QAAQ,CAAC,gDAAgD,QAAQ,GAAG,EAAE,CAAC,CAAC,CAAC;oBACnG,IAAI,IAAI,CAAC,IAAI,CAAC,MAAM,GAAG,CAAC,EAAE,CAAC;wBACzB,IAAI,CAAC,OAAO,GAAG,MAAM,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC,CAAE,CAAC,KAAK,IAAI,EAAE,CAAC,CAAC,IAAI,EAAE,CAAC;oBAC1D,CAAC;gBACH,CAAC;gBAAC,OAAO,KAAK,EAAE,CAAC;oBACf,0FAA0F;oBAC1F,yFAAyF;oBACzF,IAAI,KAAK,YAAY,qBAAqB,EAAE,CAAC;wBAC3C,WAAW,GAAG,wBAAwB,CAAC,yBAAyB,EAAE,KAAK,CAAC,IAAI,CAAC,CAAC;oBAChF,CAAC;oBACD,wFAAwF;gBAC1F,CAAC;YACH,CAAC;YACD,OAAO,UAAU,CAAC,QAAQ,CAAC,WAAW,CAAC,CAAC,CAAC,EAAE,GAAG,IAAI,EAAE,OAAO,EAAE,WAAW,EAAE,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC;QACtF,CAAC;QACD,KAAK,WAAW,EAAE,CAAC;YACjB,kGAAkG;YAClG,MAAM,YAAY,GAAG,mBAAmB,CAAC,MAAM,CAAC,IAAI,CAAC,UAAU,IAAI,EAAE,CAAC,CAAC,CAAC;YACxE,MAAM,YAAY,GAAG,YAAY,IAAI,eAAe,CAAC,IAAI,CAAC,CAAC;YAC3D,IAAI,CAAC,YAAY,EAAE,CAAC;gBAClB,OAAO,WAAW,CAChB,uCAAuC,IAAI,4JAA4J,CACxM,CAAC;YACJ,CAAC;YACD,oGAAoG;YACpG,MAAM,SAAS,GAAG,mBAAmB,CAAC,YAAY,EAAE,IAAI,CAAC,CAAC;YAC1D,MAAM,YAAY,GAAG,MAAM,MAAM,CAAC,kBAAkB,CAAC,SAAS,CAAC,CAAC;YAChE,OAAO,UAAU,CAAC,QAAQ,CAAC,YAAY,CAAC,CAAC,CAAC;QAC5C,CAAC;QACD,KAAK,gBAAgB,EAAE,CAAC;YACtB,MAAM,OAAO,GAAG,MAAM,CAAC,IAAI,CAAC,OAAO,IAAI,GAAG,CAAC,CAAC;YAC5C,MAAM,IAAI,GAAG,MAAM,MAAM,CAAC,gBAAgB,CAAC,IAAI,EAAE,OAAO,EAAE,IAAI,CAAC,SAA+B,CAAC,CAAC;YAChG,OAAO,UAAU,CAAC,QAAQ,CAAC,IAAI,CAAC,CAAC,CAAC;QACpC,CAAC;QACD,KAAK,aAAa,EAAE,CAAC;YACnB,MAAM,OAAO,GAAG,MAAM,CAAC,IAAI,CAAC,OAAO,IAAI,GAAG,CAAC,CAAC;YAC5C,MAAM,OAAO,GAAG,KAAK,CAAC,OAAO,CAAC,IAAI,CAAC,OAAO,CAAC,CAAC,CAAC,CAAE,IAAI,CAAC,OAAoB,CAAC,CAAC,CAAC,SAAS,CAAC;YACrF,MAAM,KAAK,GAAG,KAAK,CAAC,OAAO,CAAC,IAAI,CAAC,KAAK,CAAC;gBACrC,CAAC,CAAE,IAAI,CAAC,KAA8D;gBACtE,CAAC,CAAC,SAAS,CAAC;YACd,IAAI,CAAC;gBACH,MAAM,IAAI,GAAG,MAAM,MAAM,CAAC,aAAa,CAAC,IAAI,EAAE,EAAE,OAAO,EAAE,KAAK,EAAE,OAAO,EAAE,CAAC,CAAC;gBAC3E,OAAO,UAAU,CAAC,QAAQ,CAAC,IAAI,CAAC,CAAC,CAAC;YACpC,CAAC;YAAC,OAAO,GAAG,EAAE,CAAC;gBACb,yFAAyF;gBACzF,sCAAsC;gBACtC,MAAM,SAAS,GAAG,oBAAoB,CAAC,GAAG,CAAC,CAAC;gBAC5C,IAAI,SAAS,EAAE,CAAC;oBACd,IAAI,CAAC;wBACH,MAAM,EAAE,OAAO,EAAE,KAAK,EAAE,GAAG,MAAM,MAAM,CAAC,gBAAgB,CAAC,IAAI,EAAE,CAAC,CAAC,CAAC;wBAClE,IAAI,KAAK,CAAC,MAAM,GAAG,CAAC;4BAAE,OAAO,WAAW,CAAC,uBAAuB,CAAC,SAAS,EAAE,IAAI,EAAE,KAAK,CAAC,CAAC,CAAC;oBAC5F,CAAC;oBAAC,MAAM,CAAC;wBACP,mDAAmD;oBACrD,CAAC;gBACH,CAAC;gBACD,MAAM,GAAG,CAAC;YACZ,CAAC;QACH,CAAC;QACD,KAAK,MAAM,EAAE,CAAC;YACZ,MAAM,MAAM,GAAG,MAAM,CAAC,IAAI,CAAC,MAAM,IAAI,EAAE,CAAC,CAAC;YACzC,0FAA0F;YAC1F,MAAM,QAAQ,GAAG,IAAI,CAAC,WAAW,EAAE,CAAC,OAAO,CAAC,cAAc,EAAE,EAAE,CAAC,CAAC;YAChE,MAAM,UAAU,GAAG,MAAM,CAAC,WAAW,EAAE,CAAC,OAAO,CAAC,aAAa,EAAE,EAAE,CAAC,CAAC;YACnE,IAAI,QAAQ,KAAK,IAAI,CAAC,WAAW,EAAE,CAAC,OAAO,CAAC,KAAK,EAAE,EAAE,CAAC,EAAE,CAAC;gBACvD,OAAO,WAAW,CAChB,6BAA6B,IAAI,wEAAwE,CAC1G,CAAC;YACJ,CAAC;YACD,IAAI,UAAU,EAAE,CAAC;gBACf,4DAA4D;gBAC5D,MAAM,IAAI,GAAG,MAAM,MAAM,CAAC,aAAa,EAAE,GAAG,EAAE,CAC5C,MAAM,CAAC,QAAQ,CACb,2DAA2D,QAAQ,iBAAiB,UAAU,GAAG,EACjG,CAAC,CACF,CACF,CAAC;gBACF,IAAI,cAAc,IAAI,IAAI;oBAAE,OAAO,IAAI,CAAC,YAAY,CAAC;gBACrD,IAAI,IAAI,CAAC,IAAI,CAAC,MAAM,GAAG,CAAC,EAAE,CAAC;oBACzB,MAAM,IAAI,GAAG,MAAM,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC,CAAE,CAAC,QAAQ,IAAI,EAAE,CAAC,CAAC,IAAI,EAAE,CAAC;oBACzD,IAAI,CAAC,IAAI,EAAE,CAAC;wBACV,OAAO,WAAW,CAAC,eAAe,MAAM,SAAS,IAAI,4BAA4B,CAAC,CAAC;oBACrF,CAAC;oBACD,MAAM,EAAE,MAAM,EAAE,GAAG,MAAM,MAAM,CAAC,UAAU,CAAC,IAAI,CAAC,CAAC;oBACjD,OAAO,UAAU,CACf,WAAW,IAAI,IAAI,MAAM,cAAc,IAAI,WAAW,MAAM,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC,CAAE,CAAC,QAAQ,IAAI,EAAE,CAAC,CAAC,IAAI,EAAE,UAAU,MAAM,EAAE,CACpH,CAAC;gBACJ,CAAC;gBACD,OAAO,WAAW,CAChB,eAAe,MAAM,+BAA+B,IAAI,qCAAqC,IAAI,wCAAwC,CAC1I,CAAC;YACJ,CAAC;YACD,uCAAuC;YACvC,MAAM,OAAO,GAAG,MAAM,MAAM,CAAC,aAAa,EAAE,GAAG,EAAE,CAC/C,MAAM,CAAC,QAAQ,CAAC,2EAA2E,QAAQ,GAAG,EAAE,GAAG,CAAC,CAC7G,CAAC;YACF,IAAI,cAAc,IAAI,OAAO;gBAAE,OAAO,OAAO,CAAC,YAAY,CAAC;YAC3D,IAAI,OAAO,CAAC,IAAI,CAAC,MAAM,KAAK,CAAC,EAAE,CAAC;gBAC9B,OAAO,WAAW,CAAC,yCAAyC,IAAI,qCAAqC,CAAC,CAAC;YACzG,CAAC;YACD,OAAO,UAAU,CAAC,QAAQ,CAAC,OAAO,CAAC,CAAC,CAAC;QACvC,CAAC;QACD,KAAK,MAAM,EAAE,CAAC;YACZ,MAAM,UAAU,GAAG,IAAI,CAAC,UAAU,IAAI,IAAI,CAAC,CAAC,CAAC,MAAM,CAAC,IAAI,CAAC,UAAU,CAAC,CAAC,CAAC,CAAC,SAAS,CAAC;YACjF,MAAM,QAAQ,GAAG,MAAM,MAAM,CAAC,kBAAkB,CAAC,IAAI,EAAE,UAAU,CAAC,CAAC;YACnE,MAAM,OAAO,GAAG,sBAAsB,CAAC,QAAQ,CAAC,MAAM,EAAE,UAAU,CAAC,CAAC;YACpE,IAAI,IAAI,CAAC,MAAM,KAAK,YAAY;gBAAE,OAAO,UAAU,CAAC,QAAQ,CAAC,EAAE,OAAO,EAAE,QAAQ,EAAE,OAAO,EAAE,CAAC,CAAC,CAAC;YAC9F,MAAM,MAAM,GAAG,UAAU,CAAC,QAAQ,CAAC,QAAQ,CAAC,CAAC,CAAC;YAC9C,MAAM,CAAC,OAAO,CAAC,IAAI,CAAC,EAAE,IAAI,EAAE,MAAM,EAAE,IAAI,EAAE,QAAQ,CAAC,EAAE,OAAO,EAAE,CAAC,EAAE,CAAC,CAAC;YACnE,OAAO,MAAM,CAAC;QAChB,CAAC;QACD,KAAK,QAAQ;YACX,OAAO,UAAU,CAAC,MAAM,MAAM,CAAC,aAAa,EAAE,CAAC,CAAC;QAClD,KAAK,YAAY,EAAE,CAAC;YAClB,MAAM,UAAU,GAAG,MAAM,MAAM,CAAC,sBAAsB,EAAE,CAAC;YACzD,OAAO,UAAU,CAAC,QAAQ,CAAC,UAAU,CAAC,CAAC,CAAC;QAC1C,CAAC;QACD,KAAK,UAAU,CAAC;QAChB,KAAK,MAAM,EAAE,CAAC;YACZ,6EAA6E;YAC7E,wDAAwD;YACxD,0CAA0C;YAC1C,IAAI,IAAI,KAAK,UAAU,EAAE,CAAC;gBACxB,MAAM,CAAC,IAAI,CAAC,4DAA4D,EAAE;oBACxE,IAAI,EAAE,UAAU;oBAChB,WAAW,EAAE,MAAM;iBACpB,CAAC,CAAC;YACL,CAAC;YACD,IAAI,CAAC;gBACH,MAAM,MAAM,GAAG,MAAM,MAAM,CAAC,mBAAmB,CAAC,IAAI,CAAC,CAAC;gBACtD,OAAO,UAAU,CAAC,QAAQ,CAAC,MAAM,CAAC,CAAC,CAAC;YACtC,CAAC;YAAC,MAAM,CAAC;gBACP,oEAAoE;gBACpE,OAAO,UAAU,CAAC,MAAM,MAAM,CAAC,WAAW,CAAC,IAAI,CAAC,CAAC,CAAC;YACpD,CAAC;QACH,CAAC;QACD,KAAK,eAAe,EAAE,CAAC;YACrB,6FAA6F;YAC7F,6EAA6E;YAC7E,MAAM,IAAI,GAAI,IAAI,CAAC,OAA8B,EAAE,WAAW,EAAiC,CAAC;YAChG,OAAO,UAAU,CACf,MAAM,MAAM,CAAC,eAAe,CAAC,IAAI,EAAE;gBACjC,UAAU,EAAG,IAAI,CAAC,UAAiC,IAAI,MAAM;gBAC7D,IAAI;aACL,CAAC,CACH,CAAC;QACJ,CAAC;QACD,KAAK,UAAU;YACb,OAAO,UAAU,CAAC,MAAM,MAAM,CAAC,WAAW,CAAC,IAAI,CAAC,CAAC,CAAC;QACpD,KAAK,KAAK,EAAE,CAAC;YACX,MAAM,UAAU,GAAG,iBAAiB,EAAE,EAAE,GAAG,CAAC;YAC5C,IAAI,UAAU,IAAI,CAAC,UAAU,CAAC,SAAS,EAAE,CAAC;gBACxC,OAAO,WAAW,CAChB,6FAA6F;oBAC3F,qGAAqG,CACxG,CAAC;YACJ,CAAC;YACD,IAAI,CAAC,IAAI,EAAE,CAAC;gBACV,wFAAwF;gBACxF,MAAM,IAAI,GAAG,MAAM,MAAM,CAAC,WAAW,EAAE,CAAC;gBACxC,OAAO,UAAU,CAAC,QAAQ,CAAC,IAAI,CAAC,CAAC,CAAC;YACpC,CAAC;YACD,MAAM,EAAE,OAAO,EAAE,IAAI,EAAE,GAAG,qBAAqB,CAAC,IAAI,EAAE,IAAI,CAAC,OAA6B,CAAC,CAAC;YAC1F,MAAM,OAAO,GAAG,MAAM,MAAM,CAAC,iBAAiB,CAAC,OAAO,EAAE,IAAI,CAAC,CAAC;YAC9D,OAAO,OAAO,CAAC,IAAI,KAAK,QAAQ,CAAC,CAAC,CAAC,UAAU,CAAC,QAAQ,CAAC,OAAO,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC,CAAC,UAAU,CAAC,OAAO,CAAC,OAAO,CAAC,CAAC;QACvG,CAAC;QACD,KAAK,YAAY,EAAE,CAAC;YAClB,MAAM,cAAc,GAAG,iBAAiB,EAAE,EAAE,OAAO,CAAC;YACpD,IAAI,cAAc,IAAI,CAAC,cAAc,CAAC,SAAS,EAAE,CAAC;gBAChD,OAAO,WAAW,CAChB,mGAAmG;oBACjG,+DAA+D,CAClE,CAAC;YACJ,CAAC;YACD,IAAI,CAAC,IAAI,EAAE,CAAC;gBACV,OAAO,WAAW,CAAC,mEAAmE,CAAC,CAAC;YAC1F,CAAC;YACD,MAAM,IAAI,GAAG,MAAM,UAAU,CAAC,MAAM,CAAC,IAAI,EAAE,MAAM,CAAC,MAAM,EAAE,IAAI,CAAC,CAAC;YAChE,IAAI,CAAC,IAAI,EAAE,CAAC;gBACV,OAAO,UAAU,CAAC,QAAQ,IAAI,iCAAiC,CAAC,CAAC;YACnE,CAAC;YACD,OAAO,UAAU,CAAC,QAAQ,CAAC,IAAI,CAAC,CAAC,CAAC;QACpC,CAAC;QACD,KAAK,kBAAkB,EAAE,CAAC;YACxB,MAAM,OAAO,GAAG,MAAM,MAAM,CAAC,kBAAkB,EAAE,CAAC;YAClD,OAAO,UAAU,CAAC,QAAQ,CAAC,EAAE,KAAK,EAAE,OAAO,CAAC,MAAM,EAAE,OAAO,EAAE,CAAC,CAAC,CAAC;QAClE,CAAC;QACD;YACE,OAAO,WAAW,CAChB,0BAA0B,IAAI,+XAA+X;gBAC3Z,+GAA+G;gBAC/G,mEAAmE,CACtE,CAAC;IACN,CAAC;AACH,CAAC"}
@@ -0,0 +1,42 @@
1
+ import { z } from 'zod';
2
+ /** Accept numeric strings, never JavaScript array/boolean/null-to-number coercion. */
3
+ export declare const relationNumber: z.ZodPreprocess<z.ZodNumber, unknown>;
4
+ export declare const LiveRelationsInput: z.ZodObject<{
5
+ action: z.ZodLiteral<"relations">;
6
+ type: z.ZodPreprocess<z.ZodEnum<{
7
+ BDEF: "BDEF";
8
+ CLAS: "CLAS";
9
+ DCLS: "DCLS";
10
+ DDLS: "DDLS";
11
+ DOMA: "DOMA";
12
+ DSFD: "DSFD";
13
+ DTEL: "DTEL";
14
+ ENHO: "ENHO";
15
+ ENHS: "ENHS";
16
+ ENQU: "ENQU";
17
+ EVTB: "EVTB";
18
+ FUGR: "FUGR";
19
+ FUNC: "FUNC";
20
+ INCL: "INCL";
21
+ INTF: "INTF";
22
+ MSAG: "MSAG";
23
+ PROG: "PROG";
24
+ SHLP: "SHLP";
25
+ SKTD: "SKTD";
26
+ SRVD: "SRVD";
27
+ TABL: "TABL";
28
+ TRAN: "TRAN";
29
+ TTYP: "TTYP";
30
+ TYPE: "TYPE";
31
+ VIEW: "VIEW";
32
+ }>, unknown>;
33
+ name: z.ZodString;
34
+ direction: z.ZodDefault<z.ZodEnum<{
35
+ incoming: "incoming";
36
+ outgoing: "outgoing";
37
+ }>>;
38
+ depth: z.ZodDefault<z.ZodPipe<z.ZodPreprocess<z.ZodNumber, unknown>, z.ZodNumber>>;
39
+ maxResults: z.ZodDefault<z.ZodPipe<z.ZodPreprocess<z.ZodNumber, unknown>, z.ZodNumber>>;
40
+ expandPackages: z.ZodOptional<z.ZodArray<z.ZodString>>;
41
+ }, z.core.$strict>;
42
+ //# sourceMappingURL=relation-input.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"relation-input.d.ts","sourceRoot":"","sources":["../../src/handlers/relation-input.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,CAAC,EAAE,MAAM,KAAK,CAAC;AAGxB,sFAAsF;AACtF,eAAO,MAAM,cAAc,uCAG1B,CAAC;AAEF,eAAO,MAAM,kBAAkB;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;kBAoBpB,CAAC"}
@@ -0,0 +1,22 @@
1
+ import { z } from 'zod';
2
+ import { RELATION_NAME, RELATION_ROOT_TYPES, relationObjectSpec } from '../adt/relation-objects.js';
3
+ /** Accept numeric strings, never JavaScript array/boolean/null-to-number coercion. */
4
+ export const relationNumber = z.preprocess((value) => (typeof value === 'string' && value.trim() !== '' ? Number(value) : value), z.number());
5
+ export const LiveRelationsInput = z
6
+ .object({
7
+ action: z.literal('relations'),
8
+ type: z.preprocess((value) => (typeof value === 'string' ? (relationObjectSpec(value)?.type ?? value) : value), z.enum(RELATION_ROOT_TYPES, {
9
+ error: (issue) => issue.input === undefined
10
+ ? 'relations requires type (the root object type). Retry with type and name; objectType is only a references result filter, not the relations root type.'
11
+ : issue.input === 'SOBJ' || issue.input === 'SOBJ/MO'
12
+ ? 'relations does not support SOBJ roots: native SOBJ/MO means a maintenance object, whereas SAPRead SOBJ means a different BOR object. Do not substitute a BOR read or omit type to retry this maintenance-object map.'
13
+ : undefined,
14
+ })),
15
+ name: z.string().min(1).max(120).regex(RELATION_NAME),
16
+ direction: z.enum(['incoming', 'outgoing']).default('outgoing'),
17
+ depth: relationNumber.pipe(z.number().int().min(1).max(3)).default(1),
18
+ maxResults: relationNumber.pipe(z.number().int().min(1).max(100)).default(50),
19
+ expandPackages: z.array(z.string().min(1).max(120).regex(RELATION_NAME)).max(8).optional(),
20
+ })
21
+ .strict();
22
+ //# sourceMappingURL=relation-input.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"relation-input.js","sourceRoot":"","sources":["../../src/handlers/relation-input.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,CAAC,EAAE,MAAM,KAAK,CAAC;AACxB,OAAO,EAAE,aAAa,EAAE,mBAAmB,EAAE,kBAAkB,EAAE,MAAM,4BAA4B,CAAC;AAEpG,sFAAsF;AACtF,MAAM,CAAC,MAAM,cAAc,GAAG,CAAC,CAAC,UAAU,CACxC,CAAC,KAAK,EAAE,EAAE,CAAC,CAAC,OAAO,KAAK,KAAK,QAAQ,IAAI,KAAK,CAAC,IAAI,EAAE,KAAK,EAAE,CAAC,CAAC,CAAC,MAAM,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC,KAAK,CAAC,EACrF,CAAC,CAAC,MAAM,EAAE,CACX,CAAC;AAEF,MAAM,CAAC,MAAM,kBAAkB,GAAG,CAAC;KAChC,MAAM,CAAC;IACN,MAAM,EAAE,CAAC,CAAC,OAAO,CAAC,WAAW,CAAC;IAC9B,IAAI,EAAE,CAAC,CAAC,UAAU,CAChB,CAAC,KAAK,EAAE,EAAE,CAAC,CAAC,OAAO,KAAK,KAAK,QAAQ,CAAC,CAAC,CAAC,CAAC,kBAAkB,CAAC,KAAK,CAAC,EAAE,IAAI,IAAI,KAAK,CAAC,CAAC,CAAC,CAAC,KAAK,CAAC,EAC3F,CAAC,CAAC,IAAI,CAAC,mBAAmB,EAAE;QAC1B,KAAK,EAAE,CAAC,KAAK,EAAE,EAAE,CACf,KAAK,CAAC,KAAK,KAAK,SAAS;YACvB,CAAC,CAAC,uJAAuJ;YACzJ,CAAC,CAAC,KAAK,CAAC,KAAK,KAAK,MAAM,IAAI,KAAK,CAAC,KAAK,KAAK,SAAS;gBACnD,CAAC,CAAC,sNAAsN;gBACxN,CAAC,CAAC,SAAS;KAClB,CAAC,CACH;IACD,IAAI,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,GAAG,CAAC,GAAG,CAAC,CAAC,KAAK,CAAC,aAAa,CAAC;IACrD,SAAS,EAAE,CAAC,CAAC,IAAI,CAAC,CAAC,UAAU,EAAE,UAAU,CAAC,CAAC,CAAC,OAAO,CAAC,UAAU,CAAC;IAC/D,KAAK,EAAE,cAAc,CAAC,IAAI,CAAC,CAAC,CAAC,MAAM,EAAE,CAAC,GAAG,EAAE,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,CAAC,OAAO,CAAC,CAAC,CAAC;IACrE,UAAU,EAAE,cAAc,CAAC,IAAI,CAAC,CAAC,CAAC,MAAM,EAAE,CAAC,GAAG,EAAE,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,GAAG,CAAC,GAAG,CAAC,CAAC,CAAC,OAAO,CAAC,EAAE,CAAC;IAC7E,cAAc,EAAE,CAAC,CAAC,KAAK,CAAC,CAAC,CAAC,MAAM,EAAE,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,GAAG,CAAC,GAAG,CAAC,CAAC,KAAK,CAAC,aAAa,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,QAAQ,EAAE;CAC3F,CAAC;KACD,MAAM,EAAE,CAAC"}
@@ -0,0 +1,5 @@
1
+ import type { ServerConfig } from '../server/types.js';
2
+ import type { ToolDefinition } from './tools.js';
3
+ /** Capability projection. Unknown stays visible; invocation verifies support before object access. */
4
+ export declare function addLiveRelationsDefinition(tool: ToolDefinition, config: ServerConfig, discovery?: ReadonlyMap<string, string[]>): void;
5
+ //# sourceMappingURL=relation-tool.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"relation-tool.d.ts","sourceRoot":"","sources":["../../src/handlers/relation-tool.ts"],"names":[],"mappings":"AAGA,OAAO,KAAK,EAAE,YAAY,EAAE,MAAM,oBAAoB,CAAC;AACvD,OAAO,KAAK,EAAE,cAAc,EAAE,MAAM,YAAY,CAAC;AAEjD,sGAAsG;AACtG,wBAAgB,0BAA0B,CACxC,IAAI,EAAE,cAAc,EACpB,MAAM,EAAE,YAAY,EACpB,SAAS,CAAC,EAAE,WAAW,CAAC,MAAM,EAAE,MAAM,EAAE,CAAC,QAiC1C"}
@@ -0,0 +1,36 @@
1
+ import { RELATION_ROOT_TYPES } from '../adt/relation-objects.js';
2
+ import { supportsRelations } from '../adt/repository-relations.js';
3
+ import { isActionDenied } from '../server/deny-actions.js';
4
+ /** Capability projection. Unknown stays visible; invocation verifies support before object access. */
5
+ export function addLiveRelationsDefinition(tool, config, discovery) {
6
+ if (config.multiTargetEndpoints ||
7
+ config.targetId ||
8
+ config.toolMode !== 'standard' ||
9
+ isActionDenied('SAPNavigate', 'relations', config.denyActions) ||
10
+ (discovery?.size && !supportsRelations(discovery)))
11
+ return;
12
+ const properties = tool.inputSchema.properties;
13
+ properties.action.enum.push('relations');
14
+ tool.description +=
15
+ ' Experimental relations: dependency maps or package neighborhoods, then selected reads. Consumer locations: references; objectType="CLAS/OC" for class-only; otherwise omit. Active metadata, not source-call/runtime proof. Coverage unknown. type+name required, no uri/source.';
16
+ properties.type.description += ` relations: ${RELATION_ROOT_TYPES.join(', ')}. ENHO/XHB, ENHS/XSB only; TTYP=table type; MSAG=message class.`;
17
+ properties.direction = {
18
+ type: 'string',
19
+ enum: ['incoming', 'outgoing'],
20
+ description: 'relations: incoming=users; outgoing=dependencies (default).',
21
+ };
22
+ properties.depth = {
23
+ type: 'integer',
24
+ minimum: 1,
25
+ maximum: 3,
26
+ description: 'relations: native steps (default 1), not source-call hops.',
27
+ };
28
+ properties.expandPackages = {
29
+ type: 'array',
30
+ maxItems: 8,
31
+ items: { type: 'string', minLength: 1, maxLength: 120, pattern: '^(?:/[A-Za-z0-9_]+/)?[A-Za-z0-9_$]+$' },
32
+ description: 'relations: expand exact packages beyond root; others visible. Not authorization.',
33
+ };
34
+ properties.maxResults.description += ' relations: node cap incl. root, 1–100 (default 50); may stop earlier.';
35
+ }
36
+ //# sourceMappingURL=relation-tool.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"relation-tool.js","sourceRoot":"","sources":["../../src/handlers/relation-tool.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,mBAAmB,EAAE,MAAM,4BAA4B,CAAC;AACjE,OAAO,EAAE,iBAAiB,EAAE,MAAM,gCAAgC,CAAC;AACnE,OAAO,EAAE,cAAc,EAAE,MAAM,2BAA2B,CAAC;AAI3D,sGAAsG;AACtG,MAAM,UAAU,0BAA0B,CACxC,IAAoB,EACpB,MAAoB,EACpB,SAAyC;IAEzC,IACE,MAAM,CAAC,oBAAoB;QAC3B,MAAM,CAAC,QAAQ;QACf,MAAM,CAAC,QAAQ,KAAK,UAAU;QAC9B,cAAc,CAAC,aAAa,EAAE,WAAW,EAAE,MAAM,CAAC,WAAW,CAAC;QAC9D,CAAC,SAAS,EAAE,IAAI,IAAI,CAAC,iBAAiB,CAAC,SAAS,CAAC,CAAC;QAElD,OAAO;IACT,MAAM,UAAU,GAAG,IAAI,CAAC,WAAW,CAAC,UAAqD,CAAC;IACzF,UAAU,CAAC,MAAO,CAAC,IAAiB,CAAC,IAAI,CAAC,WAAW,CAAC,CAAC;IACxD,IAAI,CAAC,WAAW;QACd,mRAAmR,CAAC;IACtR,UAAU,CAAC,IAAK,CAAC,WAAW,IAAI,eAAe,mBAAmB,CAAC,IAAI,CAAC,IAAI,CAAC,iEAAiE,CAAC;IAC/I,UAAU,CAAC,SAAS,GAAG;QACrB,IAAI,EAAE,QAAQ;QACd,IAAI,EAAE,CAAC,UAAU,EAAE,UAAU,CAAC;QAC9B,WAAW,EAAE,6DAA6D;KAC3E,CAAC;IACF,UAAU,CAAC,KAAK,GAAG;QACjB,IAAI,EAAE,SAAS;QACf,OAAO,EAAE,CAAC;QACV,OAAO,EAAE,CAAC;QACV,WAAW,EAAE,4DAA4D;KAC1E,CAAC;IACF,UAAU,CAAC,cAAc,GAAG;QAC1B,IAAI,EAAE,OAAO;QACb,QAAQ,EAAE,CAAC;QACX,KAAK,EAAE,EAAE,IAAI,EAAE,QAAQ,EAAE,SAAS,EAAE,CAAC,EAAE,SAAS,EAAE,GAAG,EAAE,OAAO,EAAE,sCAAsC,EAAE;QACxG,WAAW,EAAE,kFAAkF;KAChG,CAAC;IACF,UAAU,CAAC,UAAW,CAAC,WAAW,IAAI,wEAAwE,CAAC;AACjH,CAAC"}