@logicflow/extension 1.2.27 → 2.0.0-beta.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 (615) hide show
  1. package/.turbo/turbo-build.log +734 -0
  2. package/CHANGELOG.md +1916 -0
  3. package/LICENSE +206 -0
  4. package/README.md +1 -2
  5. package/__test__/bpmn-adapter.test.js +227 -0
  6. package/dist/index.css +215 -0
  7. package/dist/index.js +26 -0
  8. package/dist/index.js.map +1 -0
  9. package/es/NodeResize/BasicShape/Ellipse.d.ts +3 -0
  10. package/es/NodeResize/BasicShape/Ellipse.js +19 -0
  11. package/es/NodeResize/BasicShape/Ellipse.js.map +1 -0
  12. package/es/NodeResize/BasicShape/Polygon.d.ts +1 -9
  13. package/es/NodeResize/BasicShape/Polygon.js +3 -2
  14. package/es/NodeResize/BasicShape/Polygon.js.map +1 -0
  15. package/es/NodeResize/BasicShape/Rect.d.ts +6 -4
  16. package/es/NodeResize/BasicShape/Rect.js +5 -5
  17. package/es/NodeResize/BasicShape/Rect.js.map +1 -0
  18. package/es/NodeResize/control/Control.d.ts +47 -0
  19. package/es/NodeResize/{Control → control}/Control.js +108 -61
  20. package/es/NodeResize/control/Control.js.map +1 -0
  21. package/es/NodeResize/{Control → control}/ControlGroup.d.ts +3 -4
  22. package/es/NodeResize/{Control → control}/ControlGroup.js +9 -8
  23. package/es/NodeResize/control/ControlGroup.js.map +1 -0
  24. package/es/NodeResize/{Control → control}/Util.js +18 -9
  25. package/es/NodeResize/control/Util.js.map +1 -0
  26. package/es/NodeResize/index.d.ts +4 -7
  27. package/es/NodeResize/index.js +11 -26
  28. package/es/NodeResize/index.js.map +1 -0
  29. package/es/NodeResize/node/DiamondResize.d.ts +44 -0
  30. package/es/NodeResize/{Node → node}/DiamondResize.js +28 -16
  31. package/es/NodeResize/node/DiamondResize.js.map +1 -0
  32. package/es/NodeResize/node/EllipseResize.d.ts +44 -0
  33. package/es/NodeResize/{Node → node}/EllipseResize.js +26 -12
  34. package/es/NodeResize/node/EllipseResize.js.map +1 -0
  35. package/es/NodeResize/node/HtmlResize.d.ts +35 -0
  36. package/es/NodeResize/{Node → node}/HtmlResize.js +26 -12
  37. package/es/NodeResize/node/HtmlResize.js.map +1 -0
  38. package/es/NodeResize/node/RectResize.d.ts +58 -0
  39. package/es/NodeResize/{Node → node}/RectResize.js +27 -16
  40. package/es/NodeResize/node/RectResize.js.map +1 -0
  41. package/es/NodeResize/node/index.d.ts +4 -0
  42. package/es/NodeResize/node/index.js +5 -0
  43. package/es/NodeResize/node/index.js.map +1 -0
  44. package/es/bpmn/constant.d.ts +2 -26
  45. package/es/bpmn/constant.js +1 -0
  46. package/es/bpmn/constant.js.map +1 -0
  47. package/es/bpmn/events/EndEvent.d.ts +6 -7
  48. package/es/bpmn/events/EndEvent.js +10 -8
  49. package/es/bpmn/events/EndEvent.js.map +1 -0
  50. package/es/bpmn/events/StartEvent.d.ts +2 -2
  51. package/es/bpmn/events/StartEvent.js +7 -6
  52. package/es/bpmn/events/StartEvent.js.map +1 -0
  53. package/es/bpmn/events/index.d.ts +2 -0
  54. package/es/bpmn/events/index.js +3 -0
  55. package/es/bpmn/events/index.js.map +1 -0
  56. package/es/bpmn/flow/SequenceFlow.d.ts +3 -4
  57. package/es/bpmn/flow/SequenceFlow.js +9 -7
  58. package/es/bpmn/flow/SequenceFlow.js.map +1 -0
  59. package/es/bpmn/flow/index.d.ts +1 -0
  60. package/es/bpmn/flow/index.js +2 -0
  61. package/es/bpmn/flow/index.js.map +1 -0
  62. package/es/bpmn/gateways/ExclusiveGateway.d.ts +7 -7
  63. package/es/bpmn/gateways/ExclusiveGateway.js +14 -10
  64. package/es/bpmn/gateways/ExclusiveGateway.js.map +1 -0
  65. package/es/bpmn/gateways/index.d.ts +1 -0
  66. package/es/bpmn/gateways/index.js +2 -0
  67. package/es/bpmn/gateways/index.js.map +1 -0
  68. package/es/bpmn/getBpmnId.js +2 -3
  69. package/es/bpmn/getBpmnId.js.map +1 -0
  70. package/es/bpmn/index.d.ts +4 -6
  71. package/es/bpmn/index.js +5 -8
  72. package/es/bpmn/index.js.map +1 -0
  73. package/es/bpmn/tasks/ServiceTask.d.ts +6 -7
  74. package/es/bpmn/tasks/ServiceTask.js +10 -9
  75. package/es/bpmn/tasks/ServiceTask.js.map +1 -0
  76. package/es/bpmn/tasks/UserTask.d.ts +6 -7
  77. package/es/bpmn/tasks/UserTask.js +10 -9
  78. package/es/bpmn/tasks/UserTask.js.map +1 -0
  79. package/es/bpmn/tasks/index.d.ts +2 -0
  80. package/es/bpmn/tasks/index.js +3 -0
  81. package/es/bpmn/tasks/index.js.map +1 -0
  82. package/es/bpmn-adapter/bpmnIds.d.ts +6 -0
  83. package/es/bpmn-adapter/bpmnIds.js +9 -9
  84. package/es/bpmn-adapter/bpmnIds.js.map +1 -0
  85. package/es/bpmn-adapter/index.d.ts +44 -7
  86. package/es/bpmn-adapter/index.js +27 -16
  87. package/es/bpmn-adapter/index.js.map +1 -0
  88. package/es/bpmn-adapter/json2xml.js +22 -22
  89. package/es/bpmn-adapter/json2xml.js.map +1 -0
  90. package/es/bpmn-adapter/xml2json.js +1 -0
  91. package/es/bpmn-adapter/xml2json.js.map +1 -0
  92. package/es/bpmn-elements/index.js +2 -3
  93. package/es/bpmn-elements/index.js.map +1 -0
  94. package/es/bpmn-elements/presets/Event/EndEventFactory.js +25 -17
  95. package/es/bpmn-elements/presets/Event/EndEventFactory.js.map +1 -0
  96. package/es/bpmn-elements/presets/Event/IntermediateCatchEvent.js +23 -13
  97. package/es/bpmn-elements/presets/Event/IntermediateCatchEvent.js.map +1 -0
  98. package/es/bpmn-elements/presets/Event/IntermediateThrowEvent.js +23 -14
  99. package/es/bpmn-elements/presets/Event/IntermediateThrowEvent.js.map +1 -0
  100. package/es/bpmn-elements/presets/Event/StartEventFactory.js +23 -15
  101. package/es/bpmn-elements/presets/Event/StartEventFactory.js.map +1 -0
  102. package/es/bpmn-elements/presets/Event/boundaryEventFactory.js +22 -12
  103. package/es/bpmn-elements/presets/Event/boundaryEventFactory.js.map +1 -0
  104. package/es/bpmn-elements/presets/Event/index.js +1 -0
  105. package/es/bpmn-elements/presets/Event/index.js.map +1 -0
  106. package/es/bpmn-elements/presets/Flow/index.js +1 -0
  107. package/es/bpmn-elements/presets/Flow/index.js.map +1 -0
  108. package/es/bpmn-elements/presets/Flow/manhattan.d.ts +39 -0
  109. package/es/bpmn-elements/presets/Flow/manhattan.js +636 -0
  110. package/es/bpmn-elements/presets/Flow/manhattan.js.map +1 -0
  111. package/es/bpmn-elements/presets/Flow/sequenceFlow.js +7 -7
  112. package/es/bpmn-elements/presets/Flow/sequenceFlow.js.map +1 -0
  113. package/es/bpmn-elements/presets/Gateway/gateway.d.ts +5 -0
  114. package/es/bpmn-elements/presets/Gateway/gateway.js +10 -11
  115. package/es/bpmn-elements/presets/Gateway/gateway.js.map +1 -0
  116. package/es/bpmn-elements/presets/Gateway/index.js +1 -0
  117. package/es/bpmn-elements/presets/Gateway/index.js.map +1 -0
  118. package/es/bpmn-elements/presets/Pool/Lane.d.ts +31 -0
  119. package/es/bpmn-elements/presets/Pool/Lane.js +217 -0
  120. package/es/bpmn-elements/presets/Pool/Lane.js.map +1 -0
  121. package/es/bpmn-elements/presets/Pool/Pool.d.ts +32 -0
  122. package/es/bpmn-elements/presets/Pool/Pool.js +298 -0
  123. package/es/bpmn-elements/presets/Pool/Pool.js.map +1 -0
  124. package/es/bpmn-elements/presets/Pool/index.d.ts +4 -0
  125. package/es/bpmn-elements/presets/Pool/index.js +86 -0
  126. package/es/bpmn-elements/presets/Pool/index.js.map +1 -0
  127. package/es/bpmn-elements/presets/Task/index.js +12 -3
  128. package/es/bpmn-elements/presets/Task/index.js.map +1 -0
  129. package/es/bpmn-elements/presets/Task/subProcess.js +22 -16
  130. package/es/bpmn-elements/presets/Task/subProcess.js.map +1 -0
  131. package/es/bpmn-elements/presets/Task/task.js +28 -21
  132. package/es/bpmn-elements/presets/Task/task.js.map +1 -0
  133. package/es/bpmn-elements/presets/icons.d.ts +4 -3
  134. package/es/bpmn-elements/presets/icons.js +1 -0
  135. package/es/bpmn-elements/presets/icons.js.map +1 -0
  136. package/es/bpmn-elements/utils.d.ts +1 -1
  137. package/es/bpmn-elements/utils.js +8 -7
  138. package/es/bpmn-elements/utils.js.map +1 -0
  139. package/es/bpmn-elements-adapter/constant.js +1 -0
  140. package/es/bpmn-elements-adapter/constant.js.map +1 -0
  141. package/es/bpmn-elements-adapter/index.d.ts +6 -6
  142. package/es/bpmn-elements-adapter/index.js +52 -39
  143. package/es/bpmn-elements-adapter/index.js.map +1 -0
  144. package/es/bpmn-elements-adapter/json2xml.js +8 -7
  145. package/es/bpmn-elements-adapter/json2xml.js.map +1 -0
  146. package/es/bpmn-elements-adapter/xml2json.js +13 -11
  147. package/es/bpmn-elements-adapter/xml2json.js.map +1 -0
  148. package/es/components/context-menu/index.d.ts +9 -3
  149. package/es/components/context-menu/index.js +85 -70
  150. package/es/components/context-menu/index.js.map +1 -0
  151. package/es/components/control/index.d.ts +13 -15
  152. package/es/components/control/index.js +20 -10
  153. package/es/components/control/index.js.map +1 -0
  154. package/es/components/dnd-panel/index.d.ts +10 -9
  155. package/es/components/dnd-panel/index.js +15 -7
  156. package/es/components/dnd-panel/index.js.map +1 -0
  157. package/es/components/highlight/index.d.ts +4 -4
  158. package/es/components/highlight/index.js +23 -17
  159. package/es/components/highlight/index.js.map +1 -0
  160. package/es/components/menu/index.d.ts +7 -7
  161. package/es/components/menu/index.js +195 -155
  162. package/es/components/menu/index.js.map +1 -0
  163. package/es/components/mini-map/index.d.ts +196 -48
  164. package/es/components/mini-map/index.js +372 -290
  165. package/es/components/mini-map/index.js.map +1 -0
  166. package/es/components/selection-select/index.d.ts +17 -26
  167. package/es/components/selection-select/index.js +76 -64
  168. package/es/components/selection-select/index.js.map +1 -0
  169. package/es/index.css +215 -0
  170. package/es/index.js +1 -1
  171. package/es/index.js.map +1 -0
  172. package/es/index.less +1 -0
  173. package/es/insert-node-in-polyline/edge.d.ts +3 -2
  174. package/es/insert-node-in-polyline/edge.js +20 -8
  175. package/es/insert-node-in-polyline/edge.js.map +1 -0
  176. package/es/insert-node-in-polyline/index.d.ts +7 -7
  177. package/es/insert-node-in-polyline/index.js +18 -10
  178. package/es/insert-node-in-polyline/index.js.map +1 -0
  179. package/es/materials/curved-edge/__test__/curved-edge.test.d.ts +1 -0
  180. package/es/materials/curved-edge/__test__/curved-edge.test.js +19 -0
  181. package/es/materials/curved-edge/__test__/curved-edge.test.js.map +1 -0
  182. package/es/materials/curved-edge/index.d.ts +2 -2
  183. package/es/materials/curved-edge/index.js +12 -9
  184. package/es/materials/curved-edge/index.js.map +1 -0
  185. package/es/materials/group/GroupNode.d.ts +22 -20
  186. package/es/materials/group/GroupNode.js +90 -58
  187. package/es/materials/group/GroupNode.js.map +1 -0
  188. package/es/materials/group/index.d.ts +28 -30
  189. package/es/materials/group/index.js +153 -112
  190. package/es/materials/group/index.js.map +1 -0
  191. package/es/materials/node-selection/index.d.ts +28 -0
  192. package/es/materials/node-selection/index.js +297 -0
  193. package/es/materials/node-selection/index.js.map +1 -0
  194. package/es/mindmap/fakerRoot.d.ts +13 -0
  195. package/es/mindmap/fakerRoot.js +41 -0
  196. package/es/mindmap/fakerRoot.js.map +1 -0
  197. package/es/mindmap/index.d.ts +41 -0
  198. package/es/mindmap/index.js +314 -0
  199. package/es/mindmap/index.js.map +1 -0
  200. package/es/mindmap/markContent.d.ts +17 -0
  201. package/es/mindmap/markContent.js +91 -0
  202. package/es/mindmap/markContent.js.map +1 -0
  203. package/es/mindmap/markContentOption.d.ts +17 -0
  204. package/es/mindmap/markContentOption.js +92 -0
  205. package/es/mindmap/markContentOption.js.map +1 -0
  206. package/es/mindmap/markEntity.d.ts +17 -0
  207. package/es/mindmap/markEntity.js +92 -0
  208. package/es/mindmap/markEntity.js.map +1 -0
  209. package/es/mindmap/markRoot.d.ts +17 -0
  210. package/es/mindmap/markRoot.js +93 -0
  211. package/es/mindmap/markRoot.js.map +1 -0
  212. package/es/mindmap/theme.d.ts +10 -0
  213. package/es/mindmap/theme.js +12 -0
  214. package/es/mindmap/theme.js.map +1 -0
  215. package/es/rect-label-node/RectLabelNodeView.d.ts +5 -0
  216. package/es/rect-label-node/RectLabelNodeView.js +54 -0
  217. package/es/rect-label-node/RectLabelNodeView.js.map +1 -0
  218. package/es/rect-label-node/index.d.ts +5 -0
  219. package/es/rect-label-node/index.js +14 -0
  220. package/es/rect-label-node/index.js.map +1 -0
  221. package/es/style/index.css +53 -60
  222. package/es/style/index.less +255 -0
  223. package/es/style/raw.d.ts +4 -0
  224. package/es/style/raw.js +6 -0
  225. package/es/style/raw.js.map +1 -0
  226. package/es/tools/auto-layout/index.js +8 -4
  227. package/es/tools/auto-layout/index.js.map +1 -0
  228. package/es/tools/flow-path/index.d.ts +8 -8
  229. package/es/tools/flow-path/index.js +51 -36
  230. package/es/tools/flow-path/index.js.map +1 -0
  231. package/es/tools/snapshot/index.d.ts +4 -5
  232. package/es/tools/snapshot/index.js +41 -29
  233. package/es/tools/snapshot/index.js.map +1 -0
  234. package/es/turbo-adapter/index.d.ts +4 -14
  235. package/es/turbo-adapter/index.js +17 -14
  236. package/es/turbo-adapter/index.js.map +1 -0
  237. package/jest.config.js +198 -0
  238. package/lib/NodeResize/BasicShape/Ellipse.d.ts +3 -0
  239. package/lib/NodeResize/BasicShape/Ellipse.js +21 -0
  240. package/lib/NodeResize/BasicShape/Ellipse.js.map +1 -0
  241. package/lib/NodeResize/BasicShape/Polygon.d.ts +2 -0
  242. package/{cjs → lib}/NodeResize/BasicShape/Polygon.js +3 -2
  243. package/lib/NodeResize/BasicShape/Polygon.js.map +1 -0
  244. package/lib/NodeResize/BasicShape/Rect.d.ts +19 -0
  245. package/{cjs → lib}/NodeResize/BasicShape/Rect.js +5 -5
  246. package/lib/NodeResize/BasicShape/Rect.js.map +1 -0
  247. package/lib/NodeResize/control/Control.d.ts +47 -0
  248. package/{cjs/NodeResize/Control → lib/NodeResize/control}/Control.js +110 -63
  249. package/lib/NodeResize/control/Control.js.map +1 -0
  250. package/lib/NodeResize/control/ControlGroup.d.ts +12 -0
  251. package/{cjs/NodeResize/Control → lib/NodeResize/control}/ControlGroup.js +14 -10
  252. package/lib/NodeResize/control/ControlGroup.js.map +1 -0
  253. package/lib/NodeResize/control/Util.d.ts +33 -0
  254. package/{cjs/NodeResize/Control → lib/NodeResize/control}/Util.js +19 -10
  255. package/lib/NodeResize/control/Util.js.map +1 -0
  256. package/lib/NodeResize/index.d.ts +8 -0
  257. package/lib/NodeResize/index.js +38 -0
  258. package/lib/NodeResize/index.js.map +1 -0
  259. package/lib/NodeResize/node/DiamondResize.d.ts +44 -0
  260. package/{cjs/NodeResize/Node → lib/NodeResize/node}/DiamondResize.js +31 -15
  261. package/lib/NodeResize/node/DiamondResize.js.map +1 -0
  262. package/lib/NodeResize/node/EllipseResize.d.ts +44 -0
  263. package/{cjs/NodeResize/Node → lib/NodeResize/node}/EllipseResize.js +30 -12
  264. package/lib/NodeResize/node/EllipseResize.js.map +1 -0
  265. package/lib/NodeResize/node/HtmlResize.d.ts +35 -0
  266. package/{cjs/NodeResize/Node → lib/NodeResize/node}/HtmlResize.js +30 -12
  267. package/lib/NodeResize/node/HtmlResize.js.map +1 -0
  268. package/lib/NodeResize/node/RectResize.d.ts +58 -0
  269. package/{cjs/NodeResize/Node → lib/NodeResize/node}/RectResize.js +31 -16
  270. package/lib/NodeResize/node/RectResize.js.map +1 -0
  271. package/lib/NodeResize/node/index.d.ts +4 -0
  272. package/lib/NodeResize/node/index.js +21 -0
  273. package/lib/NodeResize/node/index.js.map +1 -0
  274. package/lib/bpmn/constant.d.ts +22 -0
  275. package/{cjs → lib}/bpmn/constant.js +1 -0
  276. package/lib/bpmn/constant.js.map +1 -0
  277. package/lib/bpmn/events/EndEvent.d.ts +20 -0
  278. package/{cjs → lib}/bpmn/events/EndEvent.js +11 -10
  279. package/lib/bpmn/events/EndEvent.js.map +1 -0
  280. package/lib/bpmn/events/StartEvent.d.ts +17 -0
  281. package/{cjs → lib}/bpmn/events/StartEvent.js +9 -8
  282. package/lib/bpmn/events/StartEvent.js.map +1 -0
  283. package/lib/bpmn/events/index.d.ts +2 -0
  284. package/lib/bpmn/events/index.js +19 -0
  285. package/lib/bpmn/events/index.js.map +1 -0
  286. package/lib/bpmn/flow/SequenceFlow.d.ts +14 -0
  287. package/{cjs → lib}/bpmn/flow/SequenceFlow.js +9 -8
  288. package/lib/bpmn/flow/SequenceFlow.js.map +1 -0
  289. package/lib/bpmn/flow/index.d.ts +1 -0
  290. package/lib/bpmn/flow/index.js +18 -0
  291. package/lib/bpmn/flow/index.js.map +1 -0
  292. package/lib/bpmn/gateways/ExclusiveGateway.d.ts +16 -0
  293. package/{cjs → lib}/bpmn/gateways/ExclusiveGateway.js +14 -11
  294. package/lib/bpmn/gateways/ExclusiveGateway.js.map +1 -0
  295. package/lib/bpmn/gateways/index.d.ts +1 -0
  296. package/lib/bpmn/gateways/index.js +18 -0
  297. package/lib/bpmn/gateways/index.js.map +1 -0
  298. package/lib/bpmn/getBpmnId.d.ts +1 -0
  299. package/{cjs → lib}/bpmn/getBpmnId.js +2 -3
  300. package/lib/bpmn/getBpmnId.js.map +1 -0
  301. package/lib/bpmn/index.d.ts +11 -0
  302. package/{cjs → lib}/bpmn/index.js +23 -26
  303. package/lib/bpmn/index.js.map +1 -0
  304. package/lib/bpmn/tasks/ServiceTask.d.ts +16 -0
  305. package/{cjs → lib}/bpmn/tasks/ServiceTask.js +13 -13
  306. package/lib/bpmn/tasks/ServiceTask.js.map +1 -0
  307. package/lib/bpmn/tasks/UserTask.d.ts +16 -0
  308. package/{cjs → lib}/bpmn/tasks/UserTask.js +13 -13
  309. package/lib/bpmn/tasks/UserTask.js.map +1 -0
  310. package/lib/bpmn/tasks/index.d.ts +2 -0
  311. package/lib/bpmn/tasks/index.js +19 -0
  312. package/lib/bpmn/tasks/index.js.map +1 -0
  313. package/lib/bpmn-adapter/bpmnIds.d.ts +7 -0
  314. package/{cjs → lib}/bpmn-adapter/bpmnIds.js +10 -10
  315. package/lib/bpmn-adapter/bpmnIds.js.map +1 -0
  316. package/lib/bpmn-adapter/index.d.ts +100 -0
  317. package/{cjs → lib}/bpmn-adapter/index.js +30 -19
  318. package/lib/bpmn-adapter/index.js.map +1 -0
  319. package/lib/bpmn-adapter/json2xml.d.ts +3 -0
  320. package/{cjs → lib}/bpmn-adapter/json2xml.js +22 -22
  321. package/lib/bpmn-adapter/json2xml.js.map +1 -0
  322. package/lib/bpmn-adapter/xml2json.d.ts +2 -0
  323. package/{cjs → lib}/bpmn-adapter/xml2json.js +1 -0
  324. package/lib/bpmn-adapter/xml2json.js.map +1 -0
  325. package/lib/bpmn-elements/index.d.ts +17 -0
  326. package/{cjs → lib}/bpmn-elements/index.js +26 -11
  327. package/lib/bpmn-elements/index.js.map +1 -0
  328. package/lib/bpmn-elements/presets/Event/EndEventFactory.d.ts +5 -0
  329. package/{cjs → lib}/bpmn-elements/presets/Event/EndEventFactory.js +25 -17
  330. package/lib/bpmn-elements/presets/Event/EndEventFactory.js.map +1 -0
  331. package/lib/bpmn-elements/presets/Event/IntermediateCatchEvent.d.ts +5 -0
  332. package/{cjs → lib}/bpmn-elements/presets/Event/IntermediateCatchEvent.js +23 -13
  333. package/lib/bpmn-elements/presets/Event/IntermediateCatchEvent.js.map +1 -0
  334. package/lib/bpmn-elements/presets/Event/IntermediateThrowEvent.d.ts +5 -0
  335. package/{cjs → lib}/bpmn-elements/presets/Event/IntermediateThrowEvent.js +23 -14
  336. package/lib/bpmn-elements/presets/Event/IntermediateThrowEvent.js.map +1 -0
  337. package/lib/bpmn-elements/presets/Event/StartEventFactory.d.ts +5 -0
  338. package/{cjs → lib}/bpmn-elements/presets/Event/StartEventFactory.js +23 -15
  339. package/lib/bpmn-elements/presets/Event/StartEventFactory.js.map +1 -0
  340. package/lib/bpmn-elements/presets/Event/boundaryEventFactory.d.ts +5 -0
  341. package/{cjs → lib}/bpmn-elements/presets/Event/boundaryEventFactory.js +23 -13
  342. package/lib/bpmn-elements/presets/Event/boundaryEventFactory.js.map +1 -0
  343. package/lib/bpmn-elements/presets/Event/index.d.ts +2 -0
  344. package/{cjs → lib}/bpmn-elements/presets/Event/index.js +6 -5
  345. package/lib/bpmn-elements/presets/Event/index.js.map +1 -0
  346. package/lib/bpmn-elements/presets/Flow/index.d.ts +7 -0
  347. package/{cjs → lib}/bpmn-elements/presets/Flow/index.js +2 -1
  348. package/lib/bpmn-elements/presets/Flow/index.js.map +1 -0
  349. package/lib/bpmn-elements/presets/Flow/manhattan.d.ts +39 -0
  350. package/lib/bpmn-elements/presets/Flow/manhattan.js +641 -0
  351. package/lib/bpmn-elements/presets/Flow/manhattan.js.map +1 -0
  352. package/lib/bpmn-elements/presets/Flow/sequenceFlow.d.ts +5 -0
  353. package/{cjs → lib}/bpmn-elements/presets/Flow/sequenceFlow.js +8 -8
  354. package/lib/bpmn-elements/presets/Flow/sequenceFlow.js.map +1 -0
  355. package/lib/bpmn-elements/presets/Gateway/gateway.d.ts +22 -0
  356. package/{cjs → lib}/bpmn-elements/presets/Gateway/gateway.js +12 -13
  357. package/lib/bpmn-elements/presets/Gateway/gateway.js.map +1 -0
  358. package/lib/bpmn-elements/presets/Gateway/index.d.ts +2 -0
  359. package/{cjs → lib}/bpmn-elements/presets/Gateway/index.js +4 -3
  360. package/lib/bpmn-elements/presets/Gateway/index.js.map +1 -0
  361. package/lib/bpmn-elements/presets/Pool/Lane.d.ts +31 -0
  362. package/lib/bpmn-elements/presets/Pool/Lane.js +219 -0
  363. package/lib/bpmn-elements/presets/Pool/Lane.js.map +1 -0
  364. package/lib/bpmn-elements/presets/Pool/Pool.d.ts +32 -0
  365. package/lib/bpmn-elements/presets/Pool/Pool.js +301 -0
  366. package/lib/bpmn-elements/presets/Pool/Pool.js.map +1 -0
  367. package/lib/bpmn-elements/presets/Pool/index.d.ts +4 -0
  368. package/lib/bpmn-elements/presets/Pool/index.js +95 -0
  369. package/lib/bpmn-elements/presets/Pool/index.js.map +1 -0
  370. package/lib/bpmn-elements/presets/Task/index.d.ts +2 -0
  371. package/{cjs → lib}/bpmn-elements/presets/Task/index.js +15 -6
  372. package/lib/bpmn-elements/presets/Task/index.js.map +1 -0
  373. package/lib/bpmn-elements/presets/Task/subProcess.d.ts +5 -0
  374. package/{cjs → lib}/bpmn-elements/presets/Task/subProcess.js +27 -21
  375. package/lib/bpmn-elements/presets/Task/subProcess.js.map +1 -0
  376. package/lib/bpmn-elements/presets/Task/task.d.ts +12 -0
  377. package/{cjs → lib}/bpmn-elements/presets/Task/task.js +31 -24
  378. package/lib/bpmn-elements/presets/Task/task.js.map +1 -0
  379. package/lib/bpmn-elements/presets/icons.d.ts +26 -0
  380. package/{cjs → lib}/bpmn-elements/presets/icons.js +17 -16
  381. package/lib/bpmn-elements/presets/icons.js.map +1 -0
  382. package/lib/bpmn-elements/utils.d.ts +2 -0
  383. package/{cjs → lib}/bpmn-elements/utils.js +8 -7
  384. package/lib/bpmn-elements/utils.js.map +1 -0
  385. package/lib/bpmn-elements-adapter/constant.d.ts +66 -0
  386. package/{cjs → lib}/bpmn-elements-adapter/constant.js +1 -0
  387. package/lib/bpmn-elements-adapter/constant.js.map +1 -0
  388. package/lib/bpmn-elements-adapter/index.d.ts +103 -0
  389. package/{cjs → lib}/bpmn-elements-adapter/index.js +59 -43
  390. package/lib/bpmn-elements-adapter/index.js.map +1 -0
  391. package/lib/bpmn-elements-adapter/json2xml.d.ts +3 -0
  392. package/{cjs → lib}/bpmn-elements-adapter/json2xml.js +8 -7
  393. package/lib/bpmn-elements-adapter/json2xml.js.map +1 -0
  394. package/lib/bpmn-elements-adapter/xml2json.d.ts +2 -0
  395. package/{cjs → lib}/bpmn-elements-adapter/xml2json.js +13 -11
  396. package/lib/bpmn-elements-adapter/xml2json.js.map +1 -0
  397. package/lib/components/context-menu/index.d.ts +40 -0
  398. package/{cjs → lib}/components/context-menu/index.js +84 -69
  399. package/lib/components/context-menu/index.js.map +1 -0
  400. package/lib/components/control/index.d.ts +24 -0
  401. package/{cjs → lib}/components/control/index.js +19 -9
  402. package/lib/components/control/index.js.map +1 -0
  403. package/lib/components/dnd-panel/index.d.ts +27 -0
  404. package/{cjs → lib}/components/dnd-panel/index.js +14 -6
  405. package/lib/components/dnd-panel/index.js.map +1 -0
  406. package/lib/components/highlight/index.d.ts +21 -0
  407. package/{cjs → lib}/components/highlight/index.js +23 -17
  408. package/lib/components/highlight/index.js.map +1 -0
  409. package/lib/components/menu/index.d.ts +50 -0
  410. package/lib/components/menu/index.js +417 -0
  411. package/lib/components/menu/index.js.map +1 -0
  412. package/lib/components/mini-map/index.d.ts +236 -0
  413. package/lib/components/mini-map/index.js +519 -0
  414. package/lib/components/mini-map/index.js.map +1 -0
  415. package/lib/components/selection-select/index.d.ts +34 -0
  416. package/{cjs → lib}/components/selection-select/index.js +76 -64
  417. package/lib/components/selection-select/index.js.map +1 -0
  418. package/lib/index.css +215 -0
  419. package/lib/index.d.ts +21 -0
  420. package/{cjs → lib}/index.js +7 -3
  421. package/lib/index.js.map +1 -0
  422. package/lib/index.less +1 -0
  423. package/lib/insert-node-in-polyline/edge.d.ts +32 -0
  424. package/{cjs → lib}/insert-node-in-polyline/edge.js +31 -14
  425. package/lib/insert-node-in-polyline/edge.js.map +1 -0
  426. package/lib/insert-node-in-polyline/index.d.ts +28 -0
  427. package/{cjs → lib}/insert-node-in-polyline/index.js +24 -16
  428. package/lib/insert-node-in-polyline/index.js.map +1 -0
  429. package/lib/materials/curved-edge/__test__/curved-edge.test.d.ts +1 -0
  430. package/lib/materials/curved-edge/__test__/curved-edge.test.js +21 -0
  431. package/lib/materials/curved-edge/__test__/curved-edge.test.js.map +1 -0
  432. package/lib/materials/curved-edge/index.d.ts +14 -0
  433. package/{cjs → lib}/materials/curved-edge/index.js +12 -9
  434. package/lib/materials/curved-edge/index.js.map +1 -0
  435. package/lib/materials/group/GroupNode.d.ts +127 -0
  436. package/{cjs → lib}/materials/group/GroupNode.js +95 -62
  437. package/lib/materials/group/GroupNode.js.map +1 -0
  438. package/lib/materials/group/index.d.ts +65 -0
  439. package/{cjs → lib}/materials/group/index.js +171 -114
  440. package/lib/materials/group/index.js.map +1 -0
  441. package/lib/materials/node-selection/index.d.ts +28 -0
  442. package/lib/materials/node-selection/index.js +300 -0
  443. package/lib/materials/node-selection/index.js.map +1 -0
  444. package/lib/mindmap/fakerRoot.d.ts +13 -0
  445. package/lib/mindmap/fakerRoot.js +43 -0
  446. package/lib/mindmap/fakerRoot.js.map +1 -0
  447. package/lib/mindmap/index.d.ts +41 -0
  448. package/lib/mindmap/index.js +320 -0
  449. package/lib/mindmap/index.js.map +1 -0
  450. package/lib/mindmap/markContent.d.ts +17 -0
  451. package/lib/mindmap/markContent.js +93 -0
  452. package/lib/mindmap/markContent.js.map +1 -0
  453. package/lib/mindmap/markContentOption.d.ts +17 -0
  454. package/lib/mindmap/markContentOption.js +95 -0
  455. package/lib/mindmap/markContentOption.js.map +1 -0
  456. package/lib/mindmap/markEntity.d.ts +17 -0
  457. package/lib/mindmap/markEntity.js +94 -0
  458. package/lib/mindmap/markEntity.js.map +1 -0
  459. package/lib/mindmap/markRoot.d.ts +17 -0
  460. package/lib/mindmap/markRoot.js +95 -0
  461. package/lib/mindmap/markRoot.js.map +1 -0
  462. package/lib/mindmap/theme.d.ts +10 -0
  463. package/lib/mindmap/theme.js +15 -0
  464. package/lib/mindmap/theme.js.map +1 -0
  465. package/lib/rect-label-node/RectLabelNodeView.d.ts +5 -0
  466. package/lib/rect-label-node/RectLabelNodeView.js +57 -0
  467. package/lib/rect-label-node/RectLabelNodeView.js.map +1 -0
  468. package/lib/rect-label-node/index.d.ts +5 -0
  469. package/lib/rect-label-node/index.js +17 -0
  470. package/lib/rect-label-node/index.js.map +1 -0
  471. package/lib/style/index.css +53 -60
  472. package/lib/style/index.less +255 -0
  473. package/lib/style/raw.d.ts +4 -0
  474. package/lib/style/raw.js +9 -0
  475. package/lib/style/raw.js.map +1 -0
  476. package/lib/tools/auto-layout/index.d.ts +40 -0
  477. package/{cjs → lib}/tools/auto-layout/index.js +8 -4
  478. package/lib/tools/auto-layout/index.js.map +1 -0
  479. package/lib/tools/flow-path/index.d.ts +47 -0
  480. package/{cjs → lib}/tools/flow-path/index.js +50 -35
  481. package/lib/tools/flow-path/index.js.map +1 -0
  482. package/lib/tools/snapshot/index.d.ts +25 -0
  483. package/{cjs → lib}/tools/snapshot/index.js +42 -30
  484. package/lib/tools/snapshot/index.js.map +1 -0
  485. package/lib/turbo-adapter/index.d.ts +11 -0
  486. package/{cjs → lib}/turbo-adapter/index.js +17 -14
  487. package/lib/turbo-adapter/index.js.map +1 -0
  488. package/package.json +29 -83
  489. package/rollup.config.js +3 -0
  490. package/src/NodeResize/BasicShape/Ellipse.tsx +22 -0
  491. package/src/NodeResize/BasicShape/Polygon.tsx +24 -0
  492. package/src/NodeResize/BasicShape/Rect.tsx +44 -0
  493. package/src/NodeResize/control/Control.tsx +527 -0
  494. package/src/NodeResize/control/ControlGroup.tsx +76 -0
  495. package/src/NodeResize/control/Util.ts +206 -0
  496. package/src/NodeResize/index.ts +22 -0
  497. package/src/NodeResize/node/DiamondResize.tsx +148 -0
  498. package/src/NodeResize/node/EllipseResize.tsx +139 -0
  499. package/src/NodeResize/node/HtmlResize.tsx +124 -0
  500. package/src/NodeResize/node/RectResize.tsx +146 -0
  501. package/src/NodeResize/node/index.ts +4 -0
  502. package/src/bpmn/constant.ts +53 -0
  503. package/src/bpmn/events/EndEvent.ts +73 -0
  504. package/src/bpmn/events/StartEvent.ts +52 -0
  505. package/src/bpmn/events/index.ts +2 -0
  506. package/src/bpmn/flow/SequenceFlow.ts +25 -0
  507. package/src/bpmn/flow/index.ts +1 -0
  508. package/src/bpmn/gateways/ExclusiveGateway.ts +71 -0
  509. package/src/bpmn/gateways/index.ts +1 -0
  510. package/src/bpmn/getBpmnId.ts +31 -0
  511. package/src/bpmn/index.ts +57 -0
  512. package/src/bpmn/tasks/ServiceTask.ts +63 -0
  513. package/src/bpmn/tasks/UserTask.ts +64 -0
  514. package/src/bpmn/tasks/index.ts +2 -0
  515. package/src/bpmn-adapter/bpmnIds.ts +31 -0
  516. package/src/bpmn-adapter/index.ts +596 -0
  517. package/src/bpmn-adapter/json2xml.ts +90 -0
  518. package/src/bpmn-adapter/xml2json.ts +544 -0
  519. package/src/bpmn-elements/README.md +223 -0
  520. package/src/bpmn-elements/__tests__/definition.test.js +72 -0
  521. package/src/bpmn-elements/index.d.ts +26 -0
  522. package/src/bpmn-elements/index.ts +107 -0
  523. package/src/bpmn-elements/presets/Event/EndEventFactory.ts +114 -0
  524. package/src/bpmn-elements/presets/Event/IntermediateCatchEvent.ts +108 -0
  525. package/src/bpmn-elements/presets/Event/IntermediateThrowEvent.ts +109 -0
  526. package/src/bpmn-elements/presets/Event/StartEventFactory.ts +114 -0
  527. package/src/bpmn-elements/presets/Event/boundaryEventFactory.ts +117 -0
  528. package/src/bpmn-elements/presets/Event/index.ts +14 -0
  529. package/src/bpmn-elements/presets/Flow/flow.d.ts +6 -0
  530. package/src/bpmn-elements/presets/Flow/index.ts +8 -0
  531. package/src/bpmn-elements/presets/Flow/manhattan.ts +691 -0
  532. package/src/bpmn-elements/presets/Flow/sequenceFlow.ts +65 -0
  533. package/src/bpmn-elements/presets/Gateway/gateway.ts +107 -0
  534. package/src/bpmn-elements/presets/Gateway/index.ts +23 -0
  535. package/src/bpmn-elements/presets/Pool/Lane.ts +211 -0
  536. package/src/bpmn-elements/presets/Pool/Pool.ts +284 -0
  537. package/src/bpmn-elements/presets/Pool/index.ts +89 -0
  538. package/src/bpmn-elements/presets/Task/index.ts +122 -0
  539. package/src/bpmn-elements/presets/Task/subProcess.ts +190 -0
  540. package/src/bpmn-elements/presets/Task/task.ts +193 -0
  541. package/src/bpmn-elements/presets/icons.ts +155 -0
  542. package/src/bpmn-elements/utils.ts +52 -0
  543. package/src/bpmn-elements-adapter/README.md +295 -0
  544. package/src/bpmn-elements-adapter/__tests__/adapter_in.test.js +526 -0
  545. package/src/bpmn-elements-adapter/__tests__/adapter_out.test.js +569 -0
  546. package/src/bpmn-elements-adapter/constant.ts +76 -0
  547. package/src/bpmn-elements-adapter/index.ts +1134 -0
  548. package/src/bpmn-elements-adapter/json2xml.ts +91 -0
  549. package/src/bpmn-elements-adapter/xml2json.ts +548 -0
  550. package/src/components/context-menu/index.ts +253 -0
  551. package/src/components/control/index.ts +141 -0
  552. package/src/components/dnd-panel/index.ts +129 -0
  553. package/src/components/highlight/index.ts +173 -0
  554. package/src/components/menu/index.ts +435 -0
  555. package/src/components/mini-map/index.ts +666 -0
  556. package/src/components/selection-select/index.ts +184 -0
  557. package/src/index.less +1 -0
  558. package/src/index.ts +22 -0
  559. package/src/insert-node-in-polyline/edge.ts +175 -0
  560. package/src/insert-node-in-polyline/index.ts +187 -0
  561. package/src/materials/curved-edge/__test__/curved-edge.test.ts +43 -0
  562. package/src/materials/curved-edge/index.ts +185 -0
  563. package/src/materials/group/GroupNode.ts +443 -0
  564. package/src/materials/group/index.ts +542 -0
  565. package/src/materials/node-selection/index.ts +271 -0
  566. package/src/mindmap/fakerRoot.ts +19 -0
  567. package/src/mindmap/index.ts +328 -0
  568. package/src/mindmap/markContent.ts +81 -0
  569. package/src/mindmap/markContentOption.ts +81 -0
  570. package/src/mindmap/markEntity.ts +82 -0
  571. package/src/mindmap/markRoot.ts +83 -0
  572. package/src/mindmap/theme.ts +11 -0
  573. package/src/rect-label-node/RectLabelNodeView.ts +33 -0
  574. package/src/rect-label-node/index.ts +15 -0
  575. package/src/style/index.less +255 -0
  576. package/src/style/raw.ts +222 -0
  577. package/src/tools/auto-layout/index.ts +282 -0
  578. package/src/tools/flow-path/index.ts +234 -0
  579. package/src/tools/snapshot/README.md +9 -0
  580. package/src/tools/snapshot/index.ts +275 -0
  581. package/src/turbo-adapter/index.ts +212 -0
  582. package/tsconfig.json +18 -0
  583. package/cjs/NodeResize/index.js +0 -40
  584. package/cjs/components/menu/index.js +0 -377
  585. package/cjs/components/mini-map/index.js +0 -437
  586. package/cjs/style/index.css +0 -222
  587. package/cjs/type/index.js +0 -2
  588. package/es/NodeResize/Control/Control.d.ts +0 -68
  589. package/es/NodeResize/Node/DiamondResize.d.ts +0 -30
  590. package/es/NodeResize/Node/EllipseResize.d.ts +0 -30
  591. package/es/NodeResize/Node/HtmlResize.d.ts +0 -30
  592. package/es/NodeResize/Node/RectResize.d.ts +0 -32
  593. package/es/type/index.d.ts +0 -6
  594. package/es/type/index.js +0 -0
  595. package/lib/AutoLayout.js +0 -1
  596. package/lib/BpmnAdapter.js +0 -1
  597. package/lib/BpmnElement.js +0 -1
  598. package/lib/ContextMenu.js +0 -1
  599. package/lib/Control.js +0 -1
  600. package/lib/CurvedEdge.js +0 -1
  601. package/lib/DndPanel.js +0 -1
  602. package/lib/FlowPath.js +0 -1
  603. package/lib/Group.js +0 -1
  604. package/lib/Highlight.js +0 -1
  605. package/lib/InsertNodeInPolyline.js +0 -1
  606. package/lib/Menu.js +0 -1
  607. package/lib/MiniMap.js +0 -1
  608. package/lib/NodeResize.js +0 -1
  609. package/lib/RectLabelNode.js +0 -1
  610. package/lib/SelectionSelect.js +0 -1
  611. package/lib/Snapshot.js +0 -1
  612. package/lib/TurboAdapter.js +0 -1
  613. package/lib/lfJson2Xml.js +0 -1
  614. package/lib/lfXml2Json.js +0 -1
  615. /package/es/NodeResize/{Control → control}/Util.d.ts +0 -0
@@ -0,0 +1,636 @@
1
+ var __read = (this && this.__read) || function (o, n) {
2
+ var m = typeof Symbol === "function" && o[Symbol.iterator];
3
+ if (!m) return o;
4
+ var i = m.call(o), r, ar = [], e;
5
+ try {
6
+ while ((n === void 0 || n-- > 0) && !(r = i.next()).done) ar.push(r.value);
7
+ }
8
+ catch (error) { e = { error: error }; }
9
+ finally {
10
+ try {
11
+ if (r && !r.done && (m = i["return"])) m.call(i);
12
+ }
13
+ finally { if (e) throw e.error; }
14
+ }
15
+ return ar;
16
+ };
17
+ var __spreadArray = (this && this.__spreadArray) || function (to, from, pack) {
18
+ if (pack || arguments.length === 2) for (var i = 0, l = from.length, ar; i < l; i++) {
19
+ if (ar || !(i in from)) {
20
+ if (!ar) ar = Array.prototype.slice.call(from, 0, i);
21
+ ar[i] = from[i];
22
+ }
23
+ }
24
+ return to.concat(ar || Array.prototype.slice.call(from));
25
+ };
26
+ var __values = (this && this.__values) || function(o) {
27
+ var s = typeof Symbol === "function" && Symbol.iterator, m = s && o[s], i = 0;
28
+ if (m) return m.call(o);
29
+ if (o && typeof o.length === "number") return {
30
+ next: function () {
31
+ if (o && i >= o.length) o = void 0;
32
+ return { value: o && o[i++], done: !o };
33
+ }
34
+ };
35
+ throw new TypeError(s ? "Object is not iterable." : "Symbol.iterator is not defined.");
36
+ };
37
+ var NodeBase = /** @class */ (function () {
38
+ function NodeBase(x, y) {
39
+ this.x = x;
40
+ this.y = y;
41
+ this.G = 0;
42
+ this.H = 0;
43
+ this.isProcessed = false;
44
+ this.connection = null;
45
+ this.from = null;
46
+ }
47
+ Object.defineProperty(NodeBase.prototype, "F", {
48
+ get: function () {
49
+ return this.G + this.H;
50
+ },
51
+ enumerable: false,
52
+ configurable: true
53
+ });
54
+ NodeBase.prototype.setProcessed = function () {
55
+ this.isProcessed = true;
56
+ };
57
+ NodeBase.prototype.setConnection = function (connection) {
58
+ this.connection = connection;
59
+ };
60
+ NodeBase.prototype.setFrom = function (from) {
61
+ this.from = from;
62
+ };
63
+ NodeBase.prototype.setG = function (g) {
64
+ this.G = g;
65
+ };
66
+ NodeBase.prototype.setH = function (h) {
67
+ this.H = h;
68
+ };
69
+ NodeBase.prototype.getManhattanDistanceTo = function (point) {
70
+ var _a = this, x1 = _a.x, y1 = _a.y;
71
+ var x2 = point.x, y2 = point.y;
72
+ return Math.abs(x1 - x2) + Math.abs(y1 - y2);
73
+ };
74
+ return NodeBase;
75
+ }());
76
+ var PriorityQueue = /** @class */ (function () {
77
+ function PriorityQueue() {
78
+ this.heap = [];
79
+ }
80
+ PriorityQueue.prototype.enqueue = function (node, priority) {
81
+ this.heap.push({
82
+ node: node,
83
+ priority: priority,
84
+ });
85
+ this.bubbleUp(this.heap.length - 1);
86
+ };
87
+ PriorityQueue.prototype.dequeue = function () {
88
+ var min = this.heap[0];
89
+ var end = this.heap.pop();
90
+ if (this.heap.length > 0) {
91
+ this.heap[0] = end;
92
+ this.sinkDown(0);
93
+ }
94
+ return min;
95
+ };
96
+ PriorityQueue.prototype.bubbleUp = function (index) {
97
+ var node = this.heap[index];
98
+ while (index > 0) {
99
+ var parentIndex = Math.floor((index - 1) / 2);
100
+ var parent_1 = this.heap[parentIndex];
101
+ if (node.priority >= parent_1.priority)
102
+ break;
103
+ this.heap[parentIndex] = node;
104
+ this.heap[index] = parent_1;
105
+ index = parentIndex;
106
+ }
107
+ };
108
+ PriorityQueue.prototype.sinkDown = function (index) {
109
+ var leftChildIndex = 2 * index + 1;
110
+ var rightChildIndex = 2 * index + 2;
111
+ var smallestChildIndex = index;
112
+ var length = this.heap.length;
113
+ if (leftChildIndex < length &&
114
+ this.heap[leftChildIndex].priority <
115
+ this.heap[smallestChildIndex].priority) {
116
+ smallestChildIndex = leftChildIndex;
117
+ }
118
+ if (rightChildIndex < length &&
119
+ this.heap[rightChildIndex].priority <
120
+ this.heap[smallestChildIndex].priority) {
121
+ smallestChildIndex = rightChildIndex;
122
+ }
123
+ if (smallestChildIndex !== index) {
124
+ var swapNode = this.heap[smallestChildIndex];
125
+ this.heap[smallestChildIndex] = this.heap[index];
126
+ this.heap[index] = swapNode;
127
+ this.sinkDown(smallestChildIndex);
128
+ }
129
+ };
130
+ PriorityQueue.prototype.isEmpty = function () {
131
+ return this.heap.length === 0;
132
+ };
133
+ return PriorityQueue;
134
+ }());
135
+ export { PriorityQueue };
136
+ function expandBBox(bbox, offset) {
137
+ var minX = bbox.minX, minY = bbox.minY, maxX = bbox.maxX, maxY = bbox.maxY;
138
+ return {
139
+ minX: minX - offset,
140
+ minY: minY - offset,
141
+ maxX: maxX + offset,
142
+ maxY: maxY + offset,
143
+ };
144
+ }
145
+ function getPointsFromBBoxBorder(bbox) {
146
+ var minX = bbox.minX, minY = bbox.minY, maxX = bbox.maxX, maxY = bbox.maxY;
147
+ return [
148
+ {
149
+ x: minX,
150
+ y: minY,
151
+ },
152
+ {
153
+ x: minX + (maxX - minX) / 2,
154
+ y: minY,
155
+ },
156
+ {
157
+ x: maxX,
158
+ y: minY,
159
+ },
160
+ {
161
+ x: maxX,
162
+ y: minY + (maxY - minY) / 2,
163
+ },
164
+ {
165
+ x: maxX,
166
+ y: maxY,
167
+ },
168
+ {
169
+ x: minX + (maxX - minX) / 2,
170
+ y: maxY,
171
+ },
172
+ {
173
+ x: minX,
174
+ y: maxY,
175
+ },
176
+ {
177
+ x: minX,
178
+ y: minY + (maxY - minY) / 2,
179
+ },
180
+ ];
181
+ }
182
+ function getHull(points) {
183
+ var xs = points.map(function (item) { return item.x; });
184
+ var ys = points.map(function (item) { return item.y; });
185
+ return {
186
+ minX: Math.min.apply(Math, __spreadArray([], __read(xs), false)),
187
+ minY: Math.min.apply(Math, __spreadArray([], __read(ys), false)),
188
+ maxX: Math.max.apply(Math, __spreadArray([], __read(xs), false)),
189
+ maxY: Math.max.apply(Math, __spreadArray([], __read(ys), false)),
190
+ };
191
+ }
192
+ function isPointInsideTheBoxes(point, bboxes) {
193
+ var e_1, _a;
194
+ var flag = false;
195
+ try {
196
+ for (var bboxes_1 = __values(bboxes), bboxes_1_1 = bboxes_1.next(); !bboxes_1_1.done; bboxes_1_1 = bboxes_1.next()) {
197
+ var bbox = bboxes_1_1.value;
198
+ if (isBBoxContainThePoint(bbox, point)) {
199
+ flag = true;
200
+ break;
201
+ }
202
+ }
203
+ }
204
+ catch (e_1_1) { e_1 = { error: e_1_1 }; }
205
+ finally {
206
+ try {
207
+ if (bboxes_1_1 && !bboxes_1_1.done && (_a = bboxes_1.return)) _a.call(bboxes_1);
208
+ }
209
+ finally { if (e_1) throw e_1.error; }
210
+ }
211
+ return flag;
212
+ }
213
+ function isBBoxContainThePoint(bbox, p) {
214
+ var x = p.x, y = p.y;
215
+ var minX = bbox.minX, minY = bbox.minY, maxX = bbox.maxX, maxY = bbox.maxY;
216
+ // ignore the point on the border
217
+ return x > minX && x < maxX && y > minY && y < maxY;
218
+ }
219
+ function isSegmentsIntersected(seg1, seg2) {
220
+ var _a = __read(seg1, 2), p0 = _a[0], p1 = _a[1];
221
+ var _b = __read(seg2, 2), p2 = _b[0], p3 = _b[1];
222
+ var s1x = p1.x - p0.x;
223
+ var s1y = p1.y - p0.y;
224
+ var s2x = p3.x - p2.x;
225
+ var s2y = p3.y - p2.y;
226
+ var s = (-s1y * (p0.x - p2.x) + s1x * (p0.y - p2.y)) / (-s2x * s1y + s1x * s2y);
227
+ var t = (s2x * (p0.y - p2.y) - s2y * (p0.x - p2.x)) / (-s2x * s1y + s1x * s2y);
228
+ return s >= 0 && s <= 1 && t >= 0 && t <= 1;
229
+ }
230
+ function getVerticesFromBBox(bbox) {
231
+ var minX = bbox.minX, minY = bbox.minY, maxX = bbox.maxX, maxY = bbox.maxY;
232
+ return [
233
+ {
234
+ x: minX,
235
+ y: minY,
236
+ },
237
+ {
238
+ x: maxX,
239
+ y: minY,
240
+ },
241
+ {
242
+ x: maxX,
243
+ y: maxY,
244
+ },
245
+ {
246
+ x: minX,
247
+ y: maxY,
248
+ },
249
+ ];
250
+ }
251
+ function isSegmentCrossingBBox(line, bbox) {
252
+ var _a = __read(line, 2), p1 = _a[0], p2 = _a[1];
253
+ var minX = bbox.minX, minY = bbox.minY, maxX = bbox.maxX, maxY = bbox.maxY;
254
+ var width = Math.abs(maxX - minX);
255
+ var height = Math.abs(maxY - minY);
256
+ if (width === 0 && height === 0) {
257
+ return false;
258
+ }
259
+ var _b = __read(getVerticesFromBBox(bbox), 4), pa = _b[0], pb = _b[1], pc = _b[2], pd = _b[3];
260
+ var count = 0;
261
+ if (isSegmentsIntersected([p1, p2], [pa, pb])) {
262
+ count++;
263
+ }
264
+ if (isSegmentsIntersected([p1, p2], [pa, pd])) {
265
+ count++;
266
+ }
267
+ if (isSegmentsIntersected([p1, p2], [pb, pc])) {
268
+ count++;
269
+ }
270
+ if (isSegmentsIntersected([p1, p2], [pc, pd])) {
271
+ count++;
272
+ }
273
+ return count !== 0;
274
+ }
275
+ function aStarFindPathByGrid(startNode, endNode, step, bboxes, outside) {
276
+ var toSearch = [startNode];
277
+ var searchSet = new Set();
278
+ var _loop_1 = function () {
279
+ var e_2, _a, e_3, _b;
280
+ var current = toSearch[0];
281
+ try {
282
+ for (var toSearch_1 = (e_2 = void 0, __values(toSearch)), toSearch_1_1 = toSearch_1.next(); !toSearch_1_1.done; toSearch_1_1 = toSearch_1.next()) {
283
+ var item = toSearch_1_1.value;
284
+ if (item.F < current.F || (item.F === current.F && item.H < current.H)) {
285
+ current = item;
286
+ }
287
+ }
288
+ }
289
+ catch (e_2_1) { e_2 = { error: e_2_1 }; }
290
+ finally {
291
+ try {
292
+ if (toSearch_1_1 && !toSearch_1_1.done && (_a = toSearch_1.return)) _a.call(toSearch_1);
293
+ }
294
+ finally { if (e_2) throw e_2.error; }
295
+ }
296
+ if ("".concat(current.x, "/").concat(current.y) === "".concat(endNode.x, "/").concat(endNode.y)) {
297
+ var res = [
298
+ {
299
+ x: current.x,
300
+ y: current.y,
301
+ },
302
+ ];
303
+ while (current.connection) {
304
+ var connection = current.connection;
305
+ res.push({
306
+ x: connection.x,
307
+ y: connection.y,
308
+ });
309
+ current = current.connection;
310
+ }
311
+ return { value: res.reverse() };
312
+ }
313
+ var val = "".concat(current.x, "/").concat(current.y);
314
+ !searchSet.has(val) && searchSet.add(val);
315
+ toSearch = toSearch.filter(function (item) { return "".concat(current.x, "/").concat(current.y) !== "".concat(item.x, "/").concat(item.y); });
316
+ var neighborsRes = findNeighborsByGridStep(current, step, bboxes, outside).filter(function (item) {
317
+ var flag = !isPointInsideTheBoxes(item, bboxes);
318
+ return flag;
319
+ });
320
+ var tmpRes = [];
321
+ neighborsRes.forEach(function (item) {
322
+ var key = "".concat(item.x, "/").concat(item.y);
323
+ if (!searchSet.has(key)) {
324
+ tmpRes.push(item);
325
+ tmpRes.push(item);
326
+ }
327
+ });
328
+ try {
329
+ for (var tmpRes_1 = (e_3 = void 0, __values(tmpRes)), tmpRes_1_1 = tmpRes_1.next(); !tmpRes_1_1.done; tmpRes_1_1 = tmpRes_1.next()) {
330
+ var neighbor = tmpRes_1_1.value;
331
+ if (neighbor.isProcessed)
332
+ continue;
333
+ var inSearch = toSearch.includes(current);
334
+ var costToNeighbor = current.G + current.getManhattanDistanceTo(neighbor);
335
+ if (!inSearch || costToNeighbor < neighbor.G) {
336
+ neighbor.setG(costToNeighbor);
337
+ neighbor.setConnection(current);
338
+ current.setFrom(neighbor);
339
+ if (!inSearch) {
340
+ neighbor.setH(neighbor.getManhattanDistanceTo(endNode));
341
+ toSearch.push(neighbor);
342
+ }
343
+ }
344
+ }
345
+ }
346
+ catch (e_3_1) { e_3 = { error: e_3_1 }; }
347
+ finally {
348
+ try {
349
+ if (tmpRes_1_1 && !tmpRes_1_1.done && (_b = tmpRes_1.return)) _b.call(tmpRes_1);
350
+ }
351
+ finally { if (e_3) throw e_3.error; }
352
+ }
353
+ };
354
+ while (toSearch.length) {
355
+ var state_1 = _loop_1();
356
+ if (typeof state_1 === "object")
357
+ return state_1.value;
358
+ }
359
+ return null;
360
+ }
361
+ function findNeighborsByGridStep(cur, step, bboxes, outside) {
362
+ var neighbors = [];
363
+ var x = cur.x, y = cur.y;
364
+ var minX = outside.minX, minY = outside.minY, maxX = outside.maxX, maxY = outside.maxY;
365
+ var x1 = x - step;
366
+ var x2 = x + step;
367
+ var y1 = y - step;
368
+ var y2 = y + step;
369
+ // eslint-disable-next-line no-shadow
370
+ function isValid(cur, neighbor, bboxes) {
371
+ var e_4, _a;
372
+ var flag = !isPointInsideTheBoxes(neighbor, bboxes) &&
373
+ !isPointInsideTheBoxes(cur, bboxes);
374
+ if (!flag)
375
+ return false;
376
+ try {
377
+ for (var bboxes_2 = __values(bboxes), bboxes_2_1 = bboxes_2.next(); !bboxes_2_1.done; bboxes_2_1 = bboxes_2.next()) {
378
+ var bbox = bboxes_2_1.value;
379
+ if (isSegmentCrossingBBox([
380
+ {
381
+ x: cur.x,
382
+ y: cur.y,
383
+ },
384
+ {
385
+ x: neighbor.x,
386
+ y: neighbor.y,
387
+ },
388
+ ], bbox)) {
389
+ flag = false;
390
+ break;
391
+ }
392
+ }
393
+ }
394
+ catch (e_4_1) { e_4 = { error: e_4_1 }; }
395
+ finally {
396
+ try {
397
+ if (bboxes_2_1 && !bboxes_2_1.done && (_a = bboxes_2.return)) _a.call(bboxes_2);
398
+ }
399
+ finally { if (e_4) throw e_4.error; }
400
+ }
401
+ return flag;
402
+ }
403
+ if (x1 >= minX) {
404
+ isValid(cur, {
405
+ x: x1,
406
+ y: y,
407
+ }, bboxes) && neighbors.push(new NodeBase(x1, y));
408
+ }
409
+ if (x2 <= maxX) {
410
+ isValid(cur, {
411
+ x: x2,
412
+ y: y,
413
+ }, bboxes) && neighbors.push(new NodeBase(x2, y));
414
+ }
415
+ if (y1 >= minY) {
416
+ isValid(cur, {
417
+ x: x,
418
+ y: y1,
419
+ }, bboxes) && neighbors.push(new NodeBase(x, y1));
420
+ }
421
+ if (y2 <= maxY) {
422
+ isValid(cur, {
423
+ x: x,
424
+ y: y2,
425
+ }, bboxes) && neighbors.push(new NodeBase(x, y2));
426
+ }
427
+ return neighbors;
428
+ }
429
+ function getAnchorWithOffset(_a, node, offset) {
430
+ var bbox = _a.bbox;
431
+ var minX = bbox.minX, minY = bbox.minY, maxX = bbox.maxX, maxY = bbox.maxY;
432
+ var x = node.x, y = node.y;
433
+ if (x === minX) {
434
+ return {
435
+ x: x - offset,
436
+ y: y,
437
+ };
438
+ }
439
+ if (x === maxX) {
440
+ return {
441
+ x: x + offset,
442
+ y: y,
443
+ };
444
+ }
445
+ if (y === minY) {
446
+ return {
447
+ x: x,
448
+ y: y - offset,
449
+ };
450
+ }
451
+ if (y === maxY) {
452
+ return {
453
+ x: x,
454
+ y: y + offset,
455
+ };
456
+ }
457
+ }
458
+ function perpendicularDistance(point, lineStart, lineEnd) {
459
+ var x1 = lineStart.x, y1 = lineStart.y;
460
+ var x2 = lineEnd.x, y2 = lineEnd.y;
461
+ var x = point.x, y = point.y;
462
+ if (x1 === x2) {
463
+ // 线段是垂直的
464
+ return Math.abs(x - x1);
465
+ }
466
+ if (y1 === y2) {
467
+ // 线段是水平的
468
+ return Math.abs(y - y1);
469
+ }
470
+ // 计算点到线段垂直点的坐标
471
+ var px = x1 +
472
+ ((x2 - x1) * ((x - x1) * (x2 - x1) + (y - y1) * (y2 - y1))) /
473
+ (Math.pow((x2 - x1), 2) + Math.pow((y2 - y1), 2));
474
+ var py = y1 +
475
+ ((y2 - y1) * ((x - x1) * (x2 - x1) + (y - y1) * (y2 - y1))) /
476
+ (Math.pow((x2 - x1), 2) + Math.pow((y2 - y1), 2));
477
+ // 计算曼哈顿距离
478
+ return Math.abs(x - px) + Math.abs(y - py);
479
+ }
480
+ function perpendicularToStraight(line) {
481
+ // Step 1: Convert perpendicular segments to straight lines
482
+ var straightLine = [line[0]];
483
+ for (var i = 0; i < line.length - 2; i++) {
484
+ var point1 = line[i];
485
+ var point2 = line[i + 1];
486
+ var point3 = line[i + 2];
487
+ if (isVertical(point1, point2, point3) ||
488
+ isHorizontal(point1, point2, point3)) {
489
+ // Remove point2 to make it a straight line
490
+ continue;
491
+ }
492
+ straightLine.push(point2);
493
+ }
494
+ straightLine.push(line[line.length - 1]);
495
+ // Step 2: Douglas-Peucker algorithm to remove redundant points
496
+ // return straightLine;
497
+ var epsilon = 1.0; // Adjust epsilon based on your requirements
498
+ return douglasPeucker(straightLine, epsilon);
499
+ }
500
+ function isVertical(p1, p2, p3) {
501
+ return p1.x === p2.x && p2.x === p3.x;
502
+ }
503
+ function isHorizontal(p1, p2, p3) {
504
+ return p1.y === p2.y && p2.y === p3.y;
505
+ }
506
+ function douglasPeucker(points, epsilon) {
507
+ var dmax = 0;
508
+ var index = 0;
509
+ for (var i = 1; i < points.length - 1; i++) {
510
+ var d = perpendicularDistance(points[i], points[0], points[points.length - 1]);
511
+ if (d > dmax) {
512
+ index = i;
513
+ dmax = d;
514
+ }
515
+ }
516
+ if (dmax > epsilon) {
517
+ var left = douglasPeucker(points.slice(0, index + 1), epsilon);
518
+ var right = douglasPeucker(points.slice(index), epsilon);
519
+ return left.slice(0, left.length - 1).concat(right);
520
+ }
521
+ return [points[0], points[points.length - 1]];
522
+ }
523
+ // 每三个点如果其横坐标或者纵坐标都相同,则取其二
524
+ function getSimplePath(path) {
525
+ // if (path.length < 5) return path;
526
+ path = circleDetection(path);
527
+ var res = [];
528
+ for (var i = 0; i < path.length;) {
529
+ var point1 = path[i];
530
+ var point2 = path[i + 1];
531
+ var point3 = path[i + 2];
532
+ if (!point3) {
533
+ res.push(point1);
534
+ i++;
535
+ continue;
536
+ }
537
+ if ((point1.x === point2.x && point2.x === point3.x) ||
538
+ (point1.y === point2.y && point2.y === point3.y)) {
539
+ res.push(point1);
540
+ res.push(point3);
541
+ i += 3;
542
+ }
543
+ else {
544
+ res.push(point1);
545
+ i++;
546
+ }
547
+ }
548
+ return res;
549
+ }
550
+ // 回环检测 & 处理
551
+ function circleDetection(path) {
552
+ if (path.length < 6)
553
+ return path;
554
+ var res = [];
555
+ for (var i = 0; i < path.length;) {
556
+ var point1 = path[i];
557
+ var point2 = path[i + 1];
558
+ var point4 = path[i + 3];
559
+ var point5 = path[i + 4];
560
+ if (!point5) {
561
+ res.push(point1);
562
+ i++;
563
+ continue;
564
+ }
565
+ if (isSegmentsIntersected([point1, point2], [point4, point5])) {
566
+ var x = 0;
567
+ var y = 0;
568
+ if (point1.x === point2.x) {
569
+ x = point1.x;
570
+ y = point4.y;
571
+ }
572
+ else {
573
+ x = point4.x;
574
+ y = point1.y;
575
+ }
576
+ res.push({
577
+ x: x,
578
+ y: y,
579
+ });
580
+ res.push(point5);
581
+ i += 4;
582
+ continue;
583
+ }
584
+ res.push(point1);
585
+ i++;
586
+ }
587
+ return res;
588
+ }
589
+ export function getOrient(start, end) {
590
+ var x1 = start.x, y1 = start.y;
591
+ var x2 = end.x, y2 = end.y;
592
+ var prefix = '';
593
+ var suffix = '';
594
+ if (x1 >= x2) {
595
+ prefix = 'left';
596
+ }
597
+ else {
598
+ prefix = 'right';
599
+ }
600
+ if (y1 >= y2) {
601
+ suffix = 'top';
602
+ }
603
+ else {
604
+ suffix = 'bottom';
605
+ }
606
+ return "".concat(prefix, ":").concat(suffix);
607
+ }
608
+ export function ManhattanLayout(startAnchor, endAnchor, startNode, endNode,
609
+ // obstacles,
610
+ offset) {
611
+ // get expanded bbox
612
+ var startBBox = startNode.bbox;
613
+ var endBBox = endNode.bbox;
614
+ var startExpandBBox = expandBBox(startNode.bbox, offset);
615
+ var endExpandBBox = expandBBox(endNode.bbox, offset);
616
+ // get points from bbox border
617
+ var points1 = getPointsFromBBoxBorder(startExpandBBox);
618
+ var points2 = getPointsFromBBoxBorder(endExpandBBox);
619
+ // is bbox overlap
620
+ // const overlap = isBBoxOverlap(startBBox, endBBox);
621
+ var outsideBBox = getHull(__spreadArray(__spreadArray([], __read(points1), false), __read(points2), false));
622
+ var sNode = getAnchorWithOffset(startNode, startAnchor, offset);
623
+ var eNode = getAnchorWithOffset(endNode, endAnchor, offset);
624
+ var sNodeBase = new NodeBase(sNode.x, sNode.y);
625
+ var eNodeBase = new NodeBase(eNode.x, eNode.y);
626
+ var path = aStarFindPathByGrid(eNodeBase, sNodeBase, 10,
627
+ // obstacles,
628
+ [startBBox, endBBox],
629
+ // [startExpandBBox, endExpandBBox],
630
+ outsideBBox);
631
+ if (path) {
632
+ var simplifiedPath = perpendicularToStraight(path);
633
+ return getSimplePath(__spreadArray(__spreadArray([endAnchor], __read(simplifiedPath), false), [startAnchor], false).reverse());
634
+ }
635
+ }
636
+ //# sourceMappingURL=manhattan.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"manhattan.js","sourceRoot":"","sources":["../../../../src/bpmn-elements/presets/Flow/manhattan.ts"],"names":[],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;AAKA;IASE,kBAAY,CAAS,EAAE,CAAS;QAC9B,IAAI,CAAC,CAAC,GAAG,CAAC,CAAA;QACV,IAAI,CAAC,CAAC,GAAG,CAAC,CAAA;QACV,IAAI,CAAC,CAAC,GAAG,CAAC,CAAA;QACV,IAAI,CAAC,CAAC,GAAG,CAAC,CAAA;QACV,IAAI,CAAC,WAAW,GAAG,KAAK,CAAA;QACxB,IAAI,CAAC,UAAU,GAAG,IAAI,CAAA;QACtB,IAAI,CAAC,IAAI,GAAG,IAAI,CAAA;IAClB,CAAC;IAED,sBAAI,uBAAC;aAAL;YACE,OAAO,IAAI,CAAC,CAAC,GAAG,IAAI,CAAC,CAAC,CAAA;QACxB,CAAC;;;OAAA;IAED,+BAAY,GAAZ;QACE,IAAI,CAAC,WAAW,GAAG,IAAI,CAAA;IACzB,CAAC;IAED,gCAAa,GAAb,UAAc,UAAe;QAC3B,IAAI,CAAC,UAAU,GAAG,UAAU,CAAA;IAC9B,CAAC;IAED,0BAAO,GAAP,UAAQ,IAAS;QACf,IAAI,CAAC,IAAI,GAAG,IAAI,CAAA;IAClB,CAAC;IAED,uBAAI,GAAJ,UAAK,CAAS;QACZ,IAAI,CAAC,CAAC,GAAG,CAAC,CAAA;IACZ,CAAC;IAED,uBAAI,GAAJ,UAAK,CAAS;QACZ,IAAI,CAAC,CAAC,GAAG,CAAC,CAAA;IACZ,CAAC;IAED,yCAAsB,GAAtB,UAAuB,KAA+B;QAC9C,IAAA,KAAmB,IAAI,EAAlB,EAAE,OAAA,EAAK,EAAE,OAAS,CAAA;QACrB,IAAG,EAAE,GAAY,KAAK,EAAjB,EAAK,EAAE,GAAK,KAAK,EAAV,CAAU;QAC9B,OAAO,IAAI,CAAC,GAAG,CAAC,EAAE,GAAG,EAAE,CAAC,GAAG,IAAI,CAAC,GAAG,CAAC,EAAE,GAAG,EAAE,CAAC,CAAA;IAC9C,CAAC;IACH,eAAC;AAAD,CAAC,AAhDD,IAgDC;AAED;IAGE;QACE,IAAI,CAAC,IAAI,GAAG,EAAE,CAAA;IAChB,CAAC;IAED,+BAAO,GAAP,UAAQ,IAA4B,EAAE,QAAgB;QACpD,IAAI,CAAC,IAAI,CAAC,IAAI,CAAC;YACb,IAAI,MAAA;YACJ,QAAQ,UAAA;SACT,CAAC,CAAA;QACF,IAAI,CAAC,QAAQ,CAAC,IAAI,CAAC,IAAI,CAAC,MAAM,GAAG,CAAC,CAAC,CAAA;IACrC,CAAC;IAED,+BAAO,GAAP;QACE,IAAM,GAAG,GAAG,IAAI,CAAC,IAAI,CAAC,CAAC,CAAC,CAAA;QACxB,IAAM,GAAG,GAAG,IAAI,CAAC,IAAI,CAAC,GAAG,EAAE,CAAA;QAC3B,IAAI,IAAI,CAAC,IAAI,CAAC,MAAM,GAAG,CAAC,EAAE,CAAC;YACzB,IAAI,CAAC,IAAI,CAAC,CAAC,CAAC,GAAG,GAAG,CAAA;YAClB,IAAI,CAAC,QAAQ,CAAC,CAAC,CAAC,CAAA;QAClB,CAAC;QACD,OAAO,GAAG,CAAA;IACZ,CAAC;IAED,gCAAQ,GAAR,UAAS,KAAa;QACpB,IAAM,IAAI,GAAG,IAAI,CAAC,IAAI,CAAC,KAAK,CAAC,CAAA;QAC7B,OAAO,KAAK,GAAG,CAAC,EAAE,CAAC;YACjB,IAAM,WAAW,GAAG,IAAI,CAAC,KAAK,CAAC,CAAC,KAAK,GAAG,CAAC,CAAC,GAAG,CAAC,CAAC,CAAA;YAC/C,IAAM,QAAM,GAAG,IAAI,CAAC,IAAI,CAAC,WAAW,CAAC,CAAA;YACrC,IAAI,IAAI,CAAC,QAAQ,IAAI,QAAM,CAAC,QAAQ;gBAAE,MAAK;YAC3C,IAAI,CAAC,IAAI,CAAC,WAAW,CAAC,GAAG,IAAI,CAAA;YAC7B,IAAI,CAAC,IAAI,CAAC,KAAK,CAAC,GAAG,QAAM,CAAA;YACzB,KAAK,GAAG,WAAW,CAAA;QACrB,CAAC;IACH,CAAC;IAED,gCAAQ,GAAR,UAAS,KAAa;QACpB,IAAM,cAAc,GAAG,CAAC,GAAG,KAAK,GAAG,CAAC,CAAA;QACpC,IAAM,eAAe,GAAG,CAAC,GAAG,KAAK,GAAG,CAAC,CAAA;QACrC,IAAI,kBAAkB,GAAG,KAAK,CAAA;QACtB,IAAA,MAAM,GAAK,IAAI,CAAC,IAAI,OAAd,CAAc;QAE5B,IACE,cAAc,GAAG,MAAM;YACvB,IAAI,CAAC,IAAI,CAAC,cAAc,CAAC,CAAC,QAAQ;gBAChC,IAAI,CAAC,IAAI,CAAC,kBAAkB,CAAC,CAAC,QAAQ,EACxC,CAAC;YACD,kBAAkB,GAAG,cAAc,CAAA;QACrC,CAAC;QAED,IACE,eAAe,GAAG,MAAM;YACxB,IAAI,CAAC,IAAI,CAAC,eAAe,CAAC,CAAC,QAAQ;gBACjC,IAAI,CAAC,IAAI,CAAC,kBAAkB,CAAC,CAAC,QAAQ,EACxC,CAAC;YACD,kBAAkB,GAAG,eAAe,CAAA;QACtC,CAAC;QAED,IAAI,kBAAkB,KAAK,KAAK,EAAE,CAAC;YACjC,IAAM,QAAQ,GAAG,IAAI,CAAC,IAAI,CAAC,kBAAkB,CAAC,CAAA;YAC9C,IAAI,CAAC,IAAI,CAAC,kBAAkB,CAAC,GAAG,IAAI,CAAC,IAAI,CAAC,KAAK,CAAC,CAAA;YAChD,IAAI,CAAC,IAAI,CAAC,KAAK,CAAC,GAAG,QAAQ,CAAA;YAC3B,IAAI,CAAC,QAAQ,CAAC,kBAAkB,CAAC,CAAA;QACnC,CAAC;IACH,CAAC;IAED,+BAAO,GAAP;QACE,OAAO,IAAI,CAAC,IAAI,CAAC,MAAM,KAAK,CAAC,CAAA;IAC/B,CAAC;IACH,oBAAC;AAAD,CAAC,AAtED,IAsEC;;AAED,SAAS,UAAU,CAAC,IAAc,EAAE,MAAc;IACxC,IAAA,IAAI,GAAuB,IAAI,KAA3B,EAAE,IAAI,GAAiB,IAAI,KAArB,EAAE,IAAI,GAAW,IAAI,KAAf,EAAE,IAAI,GAAK,IAAI,KAAT,CAAS;IACvC,OAAO;QACL,IAAI,EAAE,IAAI,GAAG,MAAM;QACnB,IAAI,EAAE,IAAI,GAAG,MAAM;QACnB,IAAI,EAAE,IAAI,GAAG,MAAM;QACnB,IAAI,EAAE,IAAI,GAAG,MAAM;KACpB,CAAA;AACH,CAAC;AAED,SAAS,uBAAuB,CAAC,IAAc;IACrC,IAAA,IAAI,GAAuB,IAAI,KAA3B,EAAE,IAAI,GAAiB,IAAI,KAArB,EAAE,IAAI,GAAW,IAAI,KAAf,EAAE,IAAI,GAAK,IAAI,KAAT,CAAS;IACvC,OAAO;QACL;YACE,CAAC,EAAE,IAAI;YACP,CAAC,EAAE,IAAI;SACR;QACD;YACE,CAAC,EAAE,IAAI,GAAG,CAAC,IAAI,GAAG,IAAI,CAAC,GAAG,CAAC;YAC3B,CAAC,EAAE,IAAI;SACR;QACD;YACE,CAAC,EAAE,IAAI;YACP,CAAC,EAAE,IAAI;SACR;QACD;YACE,CAAC,EAAE,IAAI;YACP,CAAC,EAAE,IAAI,GAAG,CAAC,IAAI,GAAG,IAAI,CAAC,GAAG,CAAC;SAC5B;QACD;YACE,CAAC,EAAE,IAAI;YACP,CAAC,EAAE,IAAI;SACR;QACD;YACE,CAAC,EAAE,IAAI,GAAG,CAAC,IAAI,GAAG,IAAI,CAAC,GAAG,CAAC;YAC3B,CAAC,EAAE,IAAI;SACR;QACD;YACE,CAAC,EAAE,IAAI;YACP,CAAC,EAAE,IAAI;SACR;QACD;YACE,CAAC,EAAE,IAAI;YACP,CAAC,EAAE,IAAI,GAAG,CAAC,IAAI,GAAG,IAAI,CAAC,GAAG,CAAC;SAC5B;KACF,CAAA;AACH,CAAC;AAED,SAAS,OAAO,CAAC,MAAa;IAC5B,IAAM,EAAE,GAAG,MAAM,CAAC,GAAG,CAAC,UAAC,IAAgB,IAAK,OAAA,IAAI,CAAC,CAAC,EAAN,CAAM,CAAC,CAAA;IACnD,IAAM,EAAE,GAAG,MAAM,CAAC,GAAG,CAAC,UAAC,IAAgB,IAAK,OAAA,IAAI,CAAC,CAAC,EAAN,CAAM,CAAC,CAAA;IACnD,OAAO;QACL,IAAI,EAAE,IAAI,CAAC,GAAG,OAAR,IAAI,2BAAQ,EAAE,UAAC;QACrB,IAAI,EAAE,IAAI,CAAC,GAAG,OAAR,IAAI,2BAAQ,EAAE,UAAC;QACrB,IAAI,EAAE,IAAI,CAAC,GAAG,OAAR,IAAI,2BAAQ,EAAE,UAAC;QACrB,IAAI,EAAE,IAAI,CAAC,GAAG,OAAR,IAAI,2BAAQ,EAAE,UAAC;KACtB,CAAA;AACH,CAAC;AAED,SAAS,qBAAqB,CAAC,KAAuB,EAAE,MAAkB;;IACxE,IAAI,IAAI,GAAG,KAAK,CAAA;;QAChB,KAAmB,IAAA,WAAA,SAAA,MAAM,CAAA,8BAAA,kDAAE,CAAC;YAAvB,IAAM,IAAI,mBAAA;YACb,IAAI,qBAAqB,CAAC,IAAI,EAAE,KAAK,CAAC,EAAE,CAAC;gBACvC,IAAI,GAAG,IAAI,CAAA;gBACX,MAAK;YACP,CAAC;QACH,CAAC;;;;;;;;;IACD,OAAO,IAAI,CAAA;AACb,CAAC;AAED,SAAS,qBAAqB,CAAC,IAAc,EAAE,CAAmB;IACxD,IAAA,CAAC,GAAQ,CAAC,EAAT,EAAE,CAAC,GAAK,CAAC,EAAN,CAAM;IACV,IAAA,IAAI,GAAuB,IAAI,KAA3B,EAAE,IAAI,GAAiB,IAAI,KAArB,EAAE,IAAI,GAAW,IAAI,KAAf,EAAE,IAAI,GAAK,IAAI,KAAT,CAAS;IACvC,iCAAiC;IACjC,OAAO,CAAC,GAAG,IAAI,IAAI,CAAC,GAAG,IAAI,IAAI,CAAC,GAAG,IAAI,IAAI,CAAC,GAAG,IAAI,CAAA;AACrD,CAAC;AAED,SAAS,qBAAqB,CAAC,IAAW,EAAE,IAAW;IAC/C,IAAA,KAAA,OAAW,IAAI,IAAA,EAAd,EAAE,QAAA,EAAE,EAAE,QAAQ,CAAA;IACf,IAAA,KAAA,OAAW,IAAI,IAAA,EAAd,EAAE,QAAA,EAAE,EAAE,QAAQ,CAAA;IACrB,IAAM,GAAG,GAAG,EAAE,CAAC,CAAC,GAAG,EAAE,CAAC,CAAC,CAAA;IACvB,IAAM,GAAG,GAAG,EAAE,CAAC,CAAC,GAAG,EAAE,CAAC,CAAC,CAAA;IACvB,IAAM,GAAG,GAAG,EAAE,CAAC,CAAC,GAAG,EAAE,CAAC,CAAC,CAAA;IACvB,IAAM,GAAG,GAAG,EAAE,CAAC,CAAC,GAAG,EAAE,CAAC,CAAC,CAAA;IAEvB,IAAM,CAAC,GACL,CAAC,CAAC,GAAG,GAAG,CAAC,EAAE,CAAC,CAAC,GAAG,EAAE,CAAC,CAAC,CAAC,GAAG,GAAG,GAAG,CAAC,EAAE,CAAC,CAAC,GAAG,EAAE,CAAC,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,CAAC,CAAA;IACzE,IAAM,CAAC,GACL,CAAC,GAAG,GAAG,CAAC,EAAE,CAAC,CAAC,GAAG,EAAE,CAAC,CAAC,CAAC,GAAG,GAAG,GAAG,CAAC,EAAE,CAAC,CAAC,GAAG,EAAE,CAAC,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,CAAC,CAAA;IAExE,OAAO,CAAC,IAAI,CAAC,IAAI,CAAC,IAAI,CAAC,IAAI,CAAC,IAAI,CAAC,IAAI,CAAC,IAAI,CAAC,CAAA;AAC7C,CAAC;AAED,SAAS,mBAAmB,CAAC,IAAc;IACjC,IAAA,IAAI,GAAuB,IAAI,KAA3B,EAAE,IAAI,GAAiB,IAAI,KAArB,EAAE,IAAI,GAAW,IAAI,KAAf,EAAE,IAAI,GAAK,IAAI,KAAT,CAAS;IACvC,OAAO;QACL;YACE,CAAC,EAAE,IAAI;YACP,CAAC,EAAE,IAAI;SACR;QACD;YACE,CAAC,EAAE,IAAI;YACP,CAAC,EAAE,IAAI;SACR;QACD;YACE,CAAC,EAAE,IAAI;YACP,CAAC,EAAE,IAAI;SACR;QACD;YACE,CAAC,EAAE,IAAI;YACP,CAAC,EAAE,IAAI;SACR;KACF,CAAA;AACH,CAAC;AAED,SAAS,qBAAqB,CAAC,IAAS,EAAE,IAAc;IAChD,IAAA,KAAA,OAAW,IAAI,IAAA,EAAd,EAAE,QAAA,EAAE,EAAE,QAAQ,CAAA;IACb,IAAA,IAAI,GAAuB,IAAI,KAA3B,EAAE,IAAI,GAAiB,IAAI,KAArB,EAAE,IAAI,GAAW,IAAI,KAAf,EAAE,IAAI,GAAK,IAAI,KAAT,CAAS;IACvC,IAAM,KAAK,GAAG,IAAI,CAAC,GAAG,CAAC,IAAI,GAAG,IAAI,CAAC,CAAA;IACnC,IAAM,MAAM,GAAG,IAAI,CAAC,GAAG,CAAC,IAAI,GAAG,IAAI,CAAC,CAAA;IACpC,IAAI,KAAK,KAAK,CAAC,IAAI,MAAM,KAAK,CAAC,EAAE,CAAC;QAChC,OAAO,KAAK,CAAA;IACd,CAAC;IACK,IAAA,KAAA,OAAmB,mBAAmB,CAAC,IAAI,CAAC,IAAA,EAA3C,EAAE,QAAA,EAAE,EAAE,QAAA,EAAE,EAAE,QAAA,EAAE,EAAE,QAA6B,CAAA;IAClD,IAAI,KAAK,GAAG,CAAC,CAAA;IACb,IAAI,qBAAqB,CAAC,CAAC,EAAE,EAAE,EAAE,CAAC,EAAE,CAAC,EAAE,EAAE,EAAE,CAAC,CAAC,EAAE,CAAC;QAC9C,KAAK,EAAE,CAAA;IACT,CAAC;IACD,IAAI,qBAAqB,CAAC,CAAC,EAAE,EAAE,EAAE,CAAC,EAAE,CAAC,EAAE,EAAE,EAAE,CAAC,CAAC,EAAE,CAAC;QAC9C,KAAK,EAAE,CAAA;IACT,CAAC;IACD,IAAI,qBAAqB,CAAC,CAAC,EAAE,EAAE,EAAE,CAAC,EAAE,CAAC,EAAE,EAAE,EAAE,CAAC,CAAC,EAAE,CAAC;QAC9C,KAAK,EAAE,CAAA;IACT,CAAC;IACD,IAAI,qBAAqB,CAAC,CAAC,EAAE,EAAE,EAAE,CAAC,EAAE,CAAC,EAAE,EAAE,EAAE,CAAC,CAAC,EAAE,CAAC;QAC9C,KAAK,EAAE,CAAA;IACT,CAAC;IACD,OAAO,KAAK,KAAK,CAAC,CAAA;AACpB,CAAC;AAED,SAAS,mBAAmB,CAC1B,SAAmB,EACnB,OAAiB,EACjB,IAAY,EACZ,MAAa,EACb,OAAiB;IAEjB,IAAI,QAAQ,GAAG,CAAC,SAAS,CAAC,CAAA;IAC1B,IAAM,SAAS,GAAG,IAAI,GAAG,EAAE,CAAA;;;QAGzB,IAAI,OAAO,GAAG,QAAQ,CAAC,CAAC,CAAC,CAAA;;YAEzB,KAAmB,IAAA,4BAAA,SAAA,QAAQ,CAAA,CAAA,kCAAA,wDAAE,CAAC;gBAAzB,IAAM,IAAI,qBAAA;gBACb,IAAI,IAAI,CAAC,CAAC,GAAG,OAAO,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC,KAAK,OAAO,CAAC,CAAC,IAAI,IAAI,CAAC,CAAC,GAAG,OAAO,CAAC,CAAC,CAAC,EAAE,CAAC;oBACvE,OAAO,GAAG,IAAI,CAAA;gBAChB,CAAC;YACH,CAAC;;;;;;;;;QAED,IAAI,UAAG,OAAO,CAAC,CAAC,cAAI,OAAO,CAAC,CAAC,CAAE,KAAK,UAAG,OAAO,CAAC,CAAC,cAAI,OAAO,CAAC,CAAC,CAAE,EAAE,CAAC;YAChE,IAAM,GAAG,GAAG;gBACV;oBACE,CAAC,EAAE,OAAO,CAAC,CAAC;oBACZ,CAAC,EAAE,OAAO,CAAC,CAAC;iBACb;aACF,CAAA;YACD,OAAO,OAAO,CAAC,UAAU,EAAE,CAAC;gBAClB,IAAA,UAAU,GAAK,OAAO,WAAZ,CAAY;gBAC9B,GAAG,CAAC,IAAI,CAAC;oBACP,CAAC,EAAE,UAAU,CAAC,CAAC;oBACf,CAAC,EAAE,UAAU,CAAC,CAAC;iBAChB,CAAC,CAAA;gBACF,OAAO,GAAG,OAAO,CAAC,UAAU,CAAA;YAC9B,CAAC;4BACM,GAAG,CAAC,OAAO,EAAE;QACtB,CAAC;QAED,IAAM,GAAG,GAAG,UAAG,OAAO,CAAC,CAAC,cAAI,OAAO,CAAC,CAAC,CAAE,CAAA;QAEvC,CAAC,SAAS,CAAC,GAAG,CAAC,GAAG,CAAC,IAAI,SAAS,CAAC,GAAG,CAAC,GAAG,CAAC,CAAA;QAEzC,QAAQ,GAAG,QAAQ,CAAC,MAAM,CACxB,UAAC,IAAI,IAAK,OAAA,UAAG,OAAO,CAAC,CAAC,cAAI,OAAO,CAAC,CAAC,CAAE,KAAK,UAAG,IAAI,CAAC,CAAC,cAAI,IAAI,CAAC,CAAC,CAAE,EAArD,CAAqD,CAChE,CAAA;QAED,IAAM,YAAY,GAAG,uBAAuB,CAC1C,OAAO,EACP,IAAI,EACJ,MAAM,EACN,OAAO,CACR,CAAC,MAAM,CAAC,UAAC,IAAI;YACZ,IAAM,IAAI,GAAG,CAAC,qBAAqB,CAAC,IAAI,EAAE,MAAM,CAAC,CAAA;YACjD,OAAO,IAAI,CAAA;QACb,CAAC,CAAC,CAAA;QAEF,IAAM,MAAM,GAAe,EAAE,CAAA;QAC7B,YAAY,CAAC,OAAO,CAAC,UAAC,IAAc;YAClC,IAAM,GAAG,GAAG,UAAG,IAAI,CAAC,CAAC,cAAI,IAAI,CAAC,CAAC,CAAE,CAAA;YACjC,IAAI,CAAC,SAAS,CAAC,GAAG,CAAC,GAAG,CAAC,EAAE,CAAC;gBACxB,MAAM,CAAC,IAAI,CAAC,IAAI,CAAC,CAAA;gBACjB,MAAM,CAAC,IAAI,CAAC,IAAI,CAAC,CAAA;YACnB,CAAC;QACH,CAAC,CAAC,CAAA;;YAEF,KAAuB,IAAA,0BAAA,SAAA,MAAM,CAAA,CAAA,8BAAA,kDAAE,CAAC;gBAA3B,IAAM,QAAQ,mBAAA;gBACjB,IAAI,QAAQ,CAAC,WAAW;oBAAE,SAAQ;gBAClC,IAAM,QAAQ,GAAG,QAAQ,CAAC,QAAQ,CAAC,OAAO,CAAC,CAAA;gBAC3C,IAAM,cAAc,GAClB,OAAO,CAAC,CAAC,GAAG,OAAO,CAAC,sBAAsB,CAAC,QAAQ,CAAC,CAAA;gBAEtD,IAAI,CAAC,QAAQ,IAAI,cAAc,GAAG,QAAQ,CAAC,CAAC,EAAE,CAAC;oBAC7C,QAAQ,CAAC,IAAI,CAAC,cAAc,CAAC,CAAA;oBAC7B,QAAQ,CAAC,aAAa,CAAC,OAAO,CAAC,CAAA;oBAC/B,OAAO,CAAC,OAAO,CAAC,QAAQ,CAAC,CAAA;oBAEzB,IAAI,CAAC,QAAQ,EAAE,CAAC;wBACd,QAAQ,CAAC,IAAI,CAAC,QAAQ,CAAC,sBAAsB,CAAC,OAAO,CAAC,CAAC,CAAA;wBACvD,QAAQ,CAAC,IAAI,CAAC,QAAQ,CAAC,CAAA;oBACzB,CAAC;gBACH,CAAC;YACH,CAAC;;;;;;;;;;IAtEH,OAAO,QAAQ,CAAC,MAAM;;;;KAuErB;IACD,OAAO,IAAI,CAAA;AACb,CAAC;AAED,SAAS,uBAAuB,CAC9B,GAAa,EACb,IAAY,EACZ,MAAW,EACX,OAAiB;IAEjB,IAAM,SAAS,GAAe,EAAE,CAAA;IACxB,IAAA,CAAC,GAAQ,GAAG,EAAX,EAAE,CAAC,GAAK,GAAG,EAAR,CAAQ;IACZ,IAAA,IAAI,GAAuB,OAAO,KAA9B,EAAE,IAAI,GAAiB,OAAO,KAAxB,EAAE,IAAI,GAAW,OAAO,KAAlB,EAAE,IAAI,GAAK,OAAO,KAAZ,CAAY;IAC1C,IAAM,EAAE,GAAG,CAAC,GAAG,IAAI,CAAA;IACnB,IAAM,EAAE,GAAG,CAAC,GAAG,IAAI,CAAA;IACnB,IAAM,EAAE,GAAG,CAAC,GAAG,IAAI,CAAA;IACnB,IAAM,EAAE,GAAG,CAAC,GAAG,IAAI,CAAA;IAEnB,qCAAqC;IACrC,SAAS,OAAO,CACd,GAAqB,EACrB,QAA0B,EAC1B,MAAkB;;QAElB,IAAI,IAAI,GACN,CAAC,qBAAqB,CAAC,QAAQ,EAAE,MAAM,CAAC;YACxC,CAAC,qBAAqB,CAAC,GAAG,EAAE,MAAM,CAAC,CAAA;QACrC,IAAI,CAAC,IAAI;YAAE,OAAO,KAAK,CAAA;;YACvB,KAAmB,IAAA,WAAA,SAAA,MAAM,CAAA,8BAAA,kDAAE,CAAC;gBAAvB,IAAM,IAAI,mBAAA;gBACb,IACE,qBAAqB,CACnB;oBACE;wBACE,CAAC,EAAE,GAAG,CAAC,CAAC;wBACR,CAAC,EAAE,GAAG,CAAC,CAAC;qBACT;oBACD;wBACE,CAAC,EAAE,QAAQ,CAAC,CAAC;wBACb,CAAC,EAAE,QAAQ,CAAC,CAAC;qBACd;iBACF,EACD,IAAI,CACL,EACD,CAAC;oBACD,IAAI,GAAG,KAAK,CAAA;oBACZ,MAAK;gBACP,CAAC;YACH,CAAC;;;;;;;;;QACD,OAAO,IAAI,CAAA;IACb,CAAC;IAED,IAAI,EAAE,IAAI,IAAI,EAAE,CAAC;QACf,OAAO,CACL,GAAG,EACH;YACE,CAAC,EAAE,EAAE;YACL,CAAC,GAAA;SACF,EACD,MAAM,CACP,IAAI,SAAS,CAAC,IAAI,CAAC,IAAI,QAAQ,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,CAAA;IAC1C,CAAC;IACD,IAAI,EAAE,IAAI,IAAI,EAAE,CAAC;QACf,OAAO,CACL,GAAG,EACH;YACE,CAAC,EAAE,EAAE;YACL,CAAC,GAAA;SACF,EACD,MAAM,CACP,IAAI,SAAS,CAAC,IAAI,CAAC,IAAI,QAAQ,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,CAAA;IAC1C,CAAC;IACD,IAAI,EAAE,IAAI,IAAI,EAAE,CAAC;QACf,OAAO,CACL,GAAG,EACH;YACE,CAAC,GAAA;YACD,CAAC,EAAE,EAAE;SACN,EACD,MAAM,CACP,IAAI,SAAS,CAAC,IAAI,CAAC,IAAI,QAAQ,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAA;IAC1C,CAAC;IACD,IAAI,EAAE,IAAI,IAAI,EAAE,CAAC;QACf,OAAO,CACL,GAAG,EACH;YACE,CAAC,GAAA;YACD,CAAC,EAAE,EAAE;SACN,EACD,MAAM,CACP,IAAI,SAAS,CAAC,IAAI,CAAC,IAAI,QAAQ,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAA;IAC1C,CAAC;IACD,OAAO,SAAS,CAAA;AAClB,CAAC;AAED,SAAS,mBAAmB,CAAC,EAAa,EAAE,IAAc,EAAE,MAAc;QAA3C,IAAI,UAAA;IACzB,IAAA,IAAI,GAAuB,IAAI,KAA3B,EAAE,IAAI,GAAiB,IAAI,KAArB,EAAE,IAAI,GAAW,IAAI,KAAf,EAAE,IAAI,GAAK,IAAI,KAAT,CAAS;IAC/B,IAAA,CAAC,GAAQ,IAAI,EAAZ,EAAE,CAAC,GAAK,IAAI,EAAT,CAAS;IACrB,IAAI,CAAC,KAAK,IAAI,EAAE,CAAC;QACf,OAAO;YACL,CAAC,EAAE,CAAC,GAAG,MAAM;YACb,CAAC,GAAA;SACF,CAAA;IACH,CAAC;IACD,IAAI,CAAC,KAAK,IAAI,EAAE,CAAC;QACf,OAAO;YACL,CAAC,EAAE,CAAC,GAAG,MAAM;YACb,CAAC,GAAA;SACF,CAAA;IACH,CAAC;IACD,IAAI,CAAC,KAAK,IAAI,EAAE,CAAC;QACf,OAAO;YACL,CAAC,GAAA;YACD,CAAC,EAAE,CAAC,GAAG,MAAM;SACd,CAAA;IACH,CAAC;IACD,IAAI,CAAC,KAAK,IAAI,EAAE,CAAC;QACf,OAAO;YACL,CAAC,GAAA;YACD,CAAC,EAAE,CAAC,GAAG,MAAM;SACd,CAAA;IACH,CAAC;AACH,CAAC;AAED,SAAS,qBAAqB,CAC5B,KAAe,EACf,SAAmB,EACnB,OAAiB;IAET,IAAG,EAAE,GAAY,SAAS,EAArB,EAAK,EAAE,GAAK,SAAS,EAAd,CAAc;IAC1B,IAAG,EAAE,GAAY,OAAO,EAAnB,EAAK,EAAE,GAAK,OAAO,EAAZ,CAAY;IACxB,IAAA,CAAC,GAAQ,KAAK,EAAb,EAAE,CAAC,GAAK,KAAK,EAAV,CAAU;IAEtB,IAAI,EAAE,KAAK,EAAE,EAAE,CAAC;QACd,SAAS;QACT,OAAO,IAAI,CAAC,GAAG,CAAC,CAAC,GAAG,EAAE,CAAC,CAAA;IACzB,CAAC;IAED,IAAI,EAAE,KAAK,EAAE,EAAE,CAAC;QACd,SAAS;QACT,OAAO,IAAI,CAAC,GAAG,CAAC,CAAC,GAAG,EAAE,CAAC,CAAA;IACzB,CAAC;IAED,eAAe;IACf,IAAM,EAAE,GACN,EAAE;QACF,CAAC,CAAC,EAAE,GAAG,EAAE,CAAC,GAAG,CAAC,CAAC,CAAC,GAAG,EAAE,CAAC,GAAG,CAAC,EAAE,GAAG,EAAE,CAAC,GAAG,CAAC,CAAC,GAAG,EAAE,CAAC,GAAG,CAAC,EAAE,GAAG,EAAE,CAAC,CAAC,CAAC;YACzD,CAAC,SAAA,CAAC,EAAE,GAAG,EAAE,CAAC,EAAI,CAAC,CAAA,GAAG,SAAA,CAAC,EAAE,GAAG,EAAE,CAAC,EAAI,CAAC,CAAA,CAAC,CAAA;IACrC,IAAM,EAAE,GACN,EAAE;QACF,CAAC,CAAC,EAAE,GAAG,EAAE,CAAC,GAAG,CAAC,CAAC,CAAC,GAAG,EAAE,CAAC,GAAG,CAAC,EAAE,GAAG,EAAE,CAAC,GAAG,CAAC,CAAC,GAAG,EAAE,CAAC,GAAG,CAAC,EAAE,GAAG,EAAE,CAAC,CAAC,CAAC;YACzD,CAAC,SAAA,CAAC,EAAE,GAAG,EAAE,CAAC,EAAI,CAAC,CAAA,GAAG,SAAA,CAAC,EAAE,GAAG,EAAE,CAAC,EAAI,CAAC,CAAA,CAAC,CAAA;IAErC,UAAU;IACV,OAAO,IAAI,CAAC,GAAG,CAAC,CAAC,GAAG,EAAE,CAAC,GAAG,IAAI,CAAC,GAAG,CAAC,CAAC,GAAG,EAAE,CAAC,CAAA;AAC5C,CAAC;AAED,SAAS,uBAAuB,CAAC,IAAoB;IACnD,2DAA2D;IAC3D,IAAM,YAAY,GAAG,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,CAAA;IAC9B,KAAK,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC,GAAG,IAAI,CAAC,MAAM,GAAG,CAAC,EAAE,CAAC,EAAE,EAAE,CAAC;QACzC,IAAM,MAAM,GAAG,IAAI,CAAC,CAAC,CAAC,CAAA;QACtB,IAAM,MAAM,GAAG,IAAI,CAAC,CAAC,GAAG,CAAC,CAAC,CAAA;QAC1B,IAAM,MAAM,GAAG,IAAI,CAAC,CAAC,GAAG,CAAC,CAAC,CAAA;QAE1B,IACE,UAAU,CAAC,MAAM,EAAE,MAAM,EAAE,MAAM,CAAC;YAClC,YAAY,CAAC,MAAM,EAAE,MAAM,EAAE,MAAM,CAAC,EACpC,CAAC;YACD,2CAA2C;YAC3C,SAAQ;QACV,CAAC;QAED,YAAY,CAAC,IAAI,CAAC,MAAM,CAAC,CAAA;IAC3B,CAAC;IACD,YAAY,CAAC,IAAI,CAAC,IAAI,CAAC,IAAI,CAAC,MAAM,GAAG,CAAC,CAAC,CAAC,CAAA;IAExC,+DAA+D;IAC/D,uBAAuB;IACvB,IAAM,OAAO,GAAG,GAAG,CAAA,CAAC,4CAA4C;IAChE,OAAO,cAAc,CAAC,YAAY,EAAE,OAAO,CAAC,CAAA;AAC9C,CAAC;AAED,SAAS,UAAU,CAAC,EAAc,EAAE,EAAc,EAAE,EAAc;IAChE,OAAO,EAAE,CAAC,CAAC,KAAK,EAAE,CAAC,CAAC,IAAI,EAAE,CAAC,CAAC,KAAK,EAAE,CAAC,CAAC,CAAA;AACvC,CAAC;AAED,SAAS,YAAY,CAAC,EAAc,EAAE,EAAc,EAAE,EAAc;IAClE,OAAO,EAAE,CAAC,CAAC,KAAK,EAAE,CAAC,CAAC,IAAI,EAAE,CAAC,CAAC,KAAK,EAAE,CAAC,CAAC,CAAA;AACvC,CAAC;AAED,SAAS,cAAc,CAAC,MAAsB,EAAE,OAAe;IAC7D,IAAI,IAAI,GAAG,CAAC,CAAA;IACZ,IAAI,KAAK,GAAG,CAAC,CAAA;IAEb,KAAK,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC,GAAG,MAAM,CAAC,MAAM,GAAG,CAAC,EAAE,CAAC,EAAE,EAAE,CAAC;QAC3C,IAAM,CAAC,GAAG,qBAAqB,CAC7B,MAAM,CAAC,CAAC,CAAC,EACT,MAAM,CAAC,CAAC,CAAC,EACT,MAAM,CAAC,MAAM,CAAC,MAAM,GAAG,CAAC,CAAC,CAC1B,CAAA;QACD,IAAI,CAAC,GAAG,IAAI,EAAE,CAAC;YACb,KAAK,GAAG,CAAC,CAAA;YACT,IAAI,GAAG,CAAC,CAAA;QACV,CAAC;IACH,CAAC;IAED,IAAI,IAAI,GAAG,OAAO,EAAE,CAAC;QACnB,IAAM,IAAI,GAAG,cAAc,CAAC,MAAM,CAAC,KAAK,CAAC,CAAC,EAAE,KAAK,GAAG,CAAC,CAAC,EAAE,OAAO,CAAC,CAAA;QAChE,IAAM,KAAK,GAAG,cAAc,CAAC,MAAM,CAAC,KAAK,CAAC,KAAK,CAAC,EAAE,OAAO,CAAC,CAAA;QAE1D,OAAO,IAAI,CAAC,KAAK,CAAC,CAAC,EAAE,IAAI,CAAC,MAAM,GAAG,CAAC,CAAC,CAAC,MAAM,CAAC,KAAK,CAAC,CAAA;IACrD,CAAC;IACD,OAAO,CAAC,MAAM,CAAC,CAAC,CAAC,EAAE,MAAM,CAAC,MAAM,CAAC,MAAM,GAAG,CAAC,CAAC,CAAC,CAAA;AAC/C,CAAC;AAED,0BAA0B;AAC1B,SAAS,aAAa,CAAC,IAAoB;IACzC,oCAAoC;IACpC,IAAI,GAAG,eAAe,CAAC,IAAI,CAAC,CAAA;IAC5B,IAAM,GAAG,GAAe,EAAE,CAAA;IAC1B,KAAK,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC,GAAG,IAAI,CAAC,MAAM,GAAI,CAAC;QAClC,IAAM,MAAM,GAAG,IAAI,CAAC,CAAC,CAAC,CAAA;QACtB,IAAM,MAAM,GAAG,IAAI,CAAC,CAAC,GAAG,CAAC,CAAC,CAAA;QAC1B,IAAM,MAAM,GAAG,IAAI,CAAC,CAAC,GAAG,CAAC,CAAC,CAAA;QAC1B,IAAI,CAAC,MAAM,EAAE,CAAC;YACZ,GAAG,CAAC,IAAI,CAAC,MAAM,CAAC,CAAA;YAChB,CAAC,EAAE,CAAA;YACH,SAAQ;QACV,CAAC;QACD,IACE,CAAC,MAAM,CAAC,CAAC,KAAK,MAAM,CAAC,CAAC,IAAI,MAAM,CAAC,CAAC,KAAK,MAAM,CAAC,CAAC,CAAC;YAChD,CAAC,MAAM,CAAC,CAAC,KAAK,MAAM,CAAC,CAAC,IAAI,MAAM,CAAC,CAAC,KAAK,MAAM,CAAC,CAAC,CAAC,EAChD,CAAC;YACD,GAAG,CAAC,IAAI,CAAC,MAAM,CAAC,CAAA;YAChB,GAAG,CAAC,IAAI,CAAC,MAAM,CAAC,CAAA;YAChB,CAAC,IAAI,CAAC,CAAA;QACR,CAAC;aAAM,CAAC;YACN,GAAG,CAAC,IAAI,CAAC,MAAM,CAAC,CAAA;YAChB,CAAC,EAAE,CAAA;QACL,CAAC;IACH,CAAC;IACD,OAAO,GAAG,CAAA;AACZ,CAAC;AAED,YAAY;AACZ,SAAS,eAAe,CAAC,IAAoB;IAC3C,IAAI,IAAI,CAAC,MAAM,GAAG,CAAC;QAAE,OAAO,IAAI,CAAA;IAEhC,IAAM,GAAG,GAA4B,EAAE,CAAA;IACvC,KAAK,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC,GAAG,IAAI,CAAC,MAAM,GAAI,CAAC;QAClC,IAAM,MAAM,GAAG,IAAI,CAAC,CAAC,CAAC,CAAA;QACtB,IAAM,MAAM,GAAG,IAAI,CAAC,CAAC,GAAG,CAAC,CAAC,CAAA;QAC1B,IAAM,MAAM,GAAG,IAAI,CAAC,CAAC,GAAG,CAAC,CAAC,CAAA;QAC1B,IAAM,MAAM,GAAG,IAAI,CAAC,CAAC,GAAG,CAAC,CAAC,CAAA;QAC1B,IAAI,CAAC,MAAM,EAAE,CAAC;YACZ,GAAG,CAAC,IAAI,CAAC,MAAM,CAAC,CAAA;YAChB,CAAC,EAAE,CAAA;YACH,SAAQ;QACV,CAAC;QACD,IAAI,qBAAqB,CAAC,CAAC,MAAM,EAAE,MAAM,CAAC,EAAE,CAAC,MAAM,EAAE,MAAM,CAAC,CAAC,EAAE,CAAC;YAC9D,IAAI,CAAC,GAAG,CAAC,CAAA;YACT,IAAI,CAAC,GAAG,CAAC,CAAA;YACT,IAAI,MAAM,CAAC,CAAC,KAAK,MAAM,CAAC,CAAC,EAAE,CAAC;gBAC1B,CAAC,GAAG,MAAM,CAAC,CAAC,CAAA;gBACZ,CAAC,GAAG,MAAM,CAAC,CAAC,CAAA;YACd,CAAC;iBAAM,CAAC;gBACN,CAAC,GAAG,MAAM,CAAC,CAAC,CAAA;gBACZ,CAAC,GAAG,MAAM,CAAC,CAAC,CAAA;YACd,CAAC;YACD,GAAG,CAAC,IAAI,CAAC;gBACP,CAAC,GAAA;gBACD,CAAC,GAAA;aACF,CAAC,CAAA;YACF,GAAG,CAAC,IAAI,CAAC,MAAM,CAAC,CAAA;YAChB,CAAC,IAAI,CAAC,CAAA;YACN,SAAQ;QACV,CAAC;QACD,GAAG,CAAC,IAAI,CAAC,MAAM,CAAC,CAAA;QAChB,CAAC,EAAE,CAAA;IACL,CAAC;IACD,OAAO,GAAG,CAAA;AACZ,CAAC;AAED,MAAM,UAAU,SAAS,CAAC,KAAe,EAAE,GAAa;IAC9C,IAAG,EAAE,GAAY,KAAK,EAAjB,EAAK,EAAE,GAAK,KAAK,EAAV,CAAU;IACtB,IAAG,EAAE,GAAY,GAAG,EAAf,EAAK,EAAE,GAAK,GAAG,EAAR,CAAQ;IAC5B,IAAI,MAAM,GAAG,EAAE,CAAA;IACf,IAAI,MAAM,GAAG,EAAE,CAAA;IACf,IAAI,EAAE,IAAI,EAAE,EAAE,CAAC;QACb,MAAM,GAAG,MAAM,CAAA;IACjB,CAAC;SAAM,CAAC;QACN,MAAM,GAAG,OAAO,CAAA;IAClB,CAAC;IACD,IAAI,EAAE,IAAI,EAAE,EAAE,CAAC;QACb,MAAM,GAAG,KAAK,CAAA;IAChB,CAAC;SAAM,CAAC;QACN,MAAM,GAAG,QAAQ,CAAA;IACnB,CAAC;IACD,OAAO,UAAG,MAAM,cAAI,MAAM,CAAE,CAAA;AAC9B,CAAC;AAED,MAAM,UAAU,eAAe,CAC7B,WAAgB,EAChB,SAAc,EACd,SAAwB,EACxB,OAAsB;AACtB,aAAa;AACb,MAAW;IAEX,oBAAoB;IACZ,IAAM,SAAS,GAAK,SAAS,KAAd,CAAc;IAC7B,IAAM,OAAO,GAAK,OAAO,KAAZ,CAAY;IACjC,IAAM,eAAe,GAAG,UAAU,CAAC,SAAS,CAAC,IAAI,EAAE,MAAM,CAAC,CAAA;IAC1D,IAAM,aAAa,GAAG,UAAU,CAAC,OAAO,CAAC,IAAI,EAAE,MAAM,CAAC,CAAA;IACtD,8BAA8B;IAC9B,IAAM,OAAO,GAAG,uBAAuB,CAAC,eAAe,CAAC,CAAA;IACxD,IAAM,OAAO,GAAG,uBAAuB,CAAC,aAAa,CAAC,CAAA;IACtD,kBAAkB;IAClB,qDAAqD;IACrD,IAAM,WAAW,GAAG,OAAO,wCAAK,OAAO,kBAAK,OAAO,UAAE,CAAA;IAErD,IAAM,KAAK,GAAG,mBAAmB,CAAC,SAAS,EAAE,WAAW,EAAE,MAAM,CAAC,CAAA;IACjE,IAAM,KAAK,GAAG,mBAAmB,CAAC,OAAO,EAAE,SAAS,EAAE,MAAM,CAAC,CAAA;IAE7D,IAAM,SAAS,GAAG,IAAI,QAAQ,CAAC,KAAM,CAAC,CAAC,EAAE,KAAM,CAAC,CAAC,CAAC,CAAA;IAClD,IAAM,SAAS,GAAG,IAAI,QAAQ,CAAC,KAAM,CAAC,CAAC,EAAE,KAAM,CAAC,CAAC,CAAC,CAAA;IAElD,IAAM,IAAI,GAAG,mBAAmB,CAC9B,SAAS,EACT,SAAS,EACT,EAAE;IACF,aAAa;IACb,CAAC,SAAS,EAAE,OAAO,CAAC;IACpB,oCAAoC;IACpC,WAAW,CACZ,CAAA;IAED,IAAI,IAAI,EAAE,CAAC;QACT,IAAM,cAAc,GAAG,uBAAuB,CAAC,IAAI,CAAC,CAAA;QAEpD,OAAO,aAAa,CAAC,6BAAC,SAAS,UAAK,cAAc,YAAE,WAAW,UAAE,OAAO,EAAE,CAAC,CAAA;IAC7E,CAAC;AACH,CAAC"}