@undefineds.co/drizzle-solid 0.2.11 → 0.3.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 (272) hide show
  1. package/README.md +178 -471
  2. package/dist/core/ast-to-sparql.d.ts +1 -1
  3. package/dist/core/ast-to-sparql.js +1 -1
  4. package/dist/core/comunica-patch.d.ts +1 -6
  5. package/dist/core/comunica-patch.d.ts.map +1 -1
  6. package/dist/core/comunica-patch.js +16 -19
  7. package/dist/core/comunica-patch.js.map +1 -1
  8. package/dist/core/execution/sparql-strategy.d.ts +9 -37
  9. package/dist/core/execution/sparql-strategy.d.ts.map +1 -1
  10. package/dist/core/execution/sparql-strategy.js +44 -148
  11. package/dist/core/execution/sparql-strategy.js.map +1 -1
  12. package/dist/core/execution/strategy-factory.d.ts +7 -20
  13. package/dist/core/execution/strategy-factory.d.ts.map +1 -1
  14. package/dist/core/execution/strategy-factory.js +2 -17
  15. package/dist/core/execution/strategy-factory.js.map +1 -1
  16. package/dist/core/expressions.d.ts +4 -0
  17. package/dist/core/expressions.d.ts.map +1 -1
  18. package/dist/core/expressions.js +8 -1
  19. package/dist/core/expressions.js.map +1 -1
  20. package/dist/core/order-by.d.ts +9 -0
  21. package/dist/core/order-by.d.ts.map +1 -0
  22. package/dist/core/order-by.js +20 -0
  23. package/dist/core/order-by.js.map +1 -0
  24. package/dist/core/pod-database.d.ts +8 -2
  25. package/dist/core/pod-database.d.ts.map +1 -1
  26. package/dist/core/pod-database.js +142 -52
  27. package/dist/core/pod-database.js.map +1 -1
  28. package/dist/core/pod-dialect.d.ts +12 -1
  29. package/dist/core/pod-dialect.d.ts.map +1 -1
  30. package/dist/core/pod-dialect.js +85 -4
  31. package/dist/core/pod-dialect.js.map +1 -1
  32. package/dist/core/query-builders/delete-query-builder.d.ts +7 -12
  33. package/dist/core/query-builders/delete-query-builder.d.ts.map +1 -1
  34. package/dist/core/query-builders/delete-query-builder.js +47 -20
  35. package/dist/core/query-builders/delete-query-builder.js.map +1 -1
  36. package/dist/core/query-builders/helpers.d.ts +7 -0
  37. package/dist/core/query-builders/helpers.d.ts.map +1 -1
  38. package/dist/core/query-builders/helpers.js +169 -0
  39. package/dist/core/query-builders/helpers.js.map +1 -1
  40. package/dist/core/query-builders/insert-query-builder.d.ts +10 -3
  41. package/dist/core/query-builders/insert-query-builder.d.ts.map +1 -1
  42. package/dist/core/query-builders/insert-query-builder.js +50 -6
  43. package/dist/core/query-builders/insert-query-builder.js.map +1 -1
  44. package/dist/core/query-builders/select-query-builder.d.ts +31 -3
  45. package/dist/core/query-builders/select-query-builder.d.ts.map +1 -1
  46. package/dist/core/query-builders/select-query-builder.js +415 -95
  47. package/dist/core/query-builders/select-query-builder.js.map +1 -1
  48. package/dist/core/query-builders/types.d.ts +5 -3
  49. package/dist/core/query-builders/types.d.ts.map +1 -1
  50. package/dist/core/query-builders/update-query-builder.d.ts +8 -12
  51. package/dist/core/query-builders/update-query-builder.d.ts.map +1 -1
  52. package/dist/core/query-builders/update-query-builder.js +63 -21
  53. package/dist/core/query-builders/update-query-builder.js.map +1 -1
  54. package/dist/core/query-conditions.d.ts +17 -16
  55. package/dist/core/query-conditions.d.ts.map +1 -1
  56. package/dist/core/query-conditions.js.map +1 -1
  57. package/dist/core/resource-resolver/base-resolver.d.ts +8 -4
  58. package/dist/core/resource-resolver/base-resolver.d.ts.map +1 -1
  59. package/dist/core/resource-resolver/base-resolver.js +39 -36
  60. package/dist/core/resource-resolver/base-resolver.js.map +1 -1
  61. package/dist/core/resource-resolver/document-resolver.d.ts.map +1 -1
  62. package/dist/core/resource-resolver/document-resolver.js +75 -78
  63. package/dist/core/resource-resolver/document-resolver.js.map +1 -1
  64. package/dist/core/schema/columns.d.ts +6 -6
  65. package/dist/core/schema/columns.d.ts.map +1 -1
  66. package/dist/core/schema/columns.js +18 -18
  67. package/dist/core/schema/columns.js.map +1 -1
  68. package/dist/core/schema/defs.d.ts +4 -4
  69. package/dist/core/schema/defs.d.ts.map +1 -1
  70. package/dist/core/schema/pod-table.d.ts +1 -0
  71. package/dist/core/schema/pod-table.d.ts.map +1 -1
  72. package/dist/core/schema/pod-table.js +69 -2
  73. package/dist/core/schema/pod-table.js.map +1 -1
  74. package/dist/core/select-plan.d.ts +6 -3
  75. package/dist/core/select-plan.d.ts.map +1 -1
  76. package/dist/core/services/pod-services.d.ts +7 -5
  77. package/dist/core/services/pod-services.d.ts.map +1 -1
  78. package/dist/core/services/pod-services.js +7 -5
  79. package/dist/core/services/pod-services.js.map +1 -1
  80. package/dist/core/shape/generator.js +3 -3
  81. package/dist/core/shape/generator.js.map +1 -1
  82. package/dist/core/shape/manager.js +5 -5
  83. package/dist/core/shape/manager.js.map +1 -1
  84. package/dist/core/sparql/builder/expression-builder.d.ts +15 -5
  85. package/dist/core/sparql/builder/expression-builder.d.ts.map +1 -1
  86. package/dist/core/sparql/builder/expression-builder.js +42 -19
  87. package/dist/core/sparql/builder/expression-builder.js.map +1 -1
  88. package/dist/core/sparql/builder/select-builder.d.ts +10 -1
  89. package/dist/core/sparql/builder/select-builder.d.ts.map +1 -1
  90. package/dist/core/sparql/builder/select-builder.js +148 -3
  91. package/dist/core/sparql/builder/select-builder.js.map +1 -1
  92. package/dist/core/sparql/builder/update-builder.d.ts +1 -1
  93. package/dist/core/sparql/builder/update-builder.d.ts.map +1 -1
  94. package/dist/core/sparql/builder/update-builder.js +4 -4
  95. package/dist/core/sparql/builder/update-builder.js.map +1 -1
  96. package/dist/core/sparql/helpers.js +3 -3
  97. package/dist/core/sparql/helpers.js.map +1 -1
  98. package/dist/core/sparql-engine.d.ts +16 -0
  99. package/dist/core/sparql-engine.d.ts.map +1 -0
  100. package/dist/core/sparql-engine.js +128 -0
  101. package/dist/core/sparql-engine.js.map +1 -0
  102. package/dist/core/sparql-executor.d.ts +3 -1
  103. package/dist/core/sparql-executor.d.ts.map +1 -1
  104. package/dist/core/sparql-executor.js +3 -4
  105. package/dist/core/sparql-executor.js.map +1 -1
  106. package/dist/core/triple/handlers/inverse.js +4 -4
  107. package/dist/core/triple/handlers/inverse.js.map +1 -1
  108. package/dist/core/triple/handlers/uri.d.ts +1 -1
  109. package/dist/core/triple/handlers/uri.js +3 -3
  110. package/dist/core/triple/handlers/uri.js.map +1 -1
  111. package/dist/core/uri/resolver.d.ts +9 -9
  112. package/dist/core/uri/resolver.d.ts.map +1 -1
  113. package/dist/core/uri/resolver.js +51 -51
  114. package/dist/core/uri/resolver.js.map +1 -1
  115. package/dist/core/uri/types.d.ts +10 -10
  116. package/dist/core/uri/types.d.ts.map +1 -1
  117. package/dist/core/utils/debug-logger.d.ts +19 -0
  118. package/dist/core/utils/debug-logger.d.ts.map +1 -0
  119. package/dist/core/utils/debug-logger.js +59 -0
  120. package/dist/core/utils/debug-logger.js.map +1 -0
  121. package/dist/driver.d.ts +14 -1
  122. package/dist/driver.d.ts.map +1 -1
  123. package/dist/driver.js +2 -5
  124. package/dist/driver.js.map +1 -1
  125. package/dist/esm/core/ast-to-sparql.d.ts +1 -1
  126. package/dist/esm/core/ast-to-sparql.js +1 -1
  127. package/dist/esm/core/comunica-patch.d.ts +1 -6
  128. package/dist/esm/core/comunica-patch.d.ts.map +1 -1
  129. package/dist/esm/core/comunica-patch.js +13 -20
  130. package/dist/esm/core/comunica-patch.js.map +1 -1
  131. package/dist/esm/core/execution/sparql-strategy.d.ts +9 -37
  132. package/dist/esm/core/execution/sparql-strategy.d.ts.map +1 -1
  133. package/dist/esm/core/execution/sparql-strategy.js +44 -148
  134. package/dist/esm/core/execution/sparql-strategy.js.map +1 -1
  135. package/dist/esm/core/execution/strategy-factory.d.ts +7 -20
  136. package/dist/esm/core/execution/strategy-factory.d.ts.map +1 -1
  137. package/dist/esm/core/execution/strategy-factory.js +2 -17
  138. package/dist/esm/core/execution/strategy-factory.js.map +1 -1
  139. package/dist/esm/core/expressions.d.ts +4 -0
  140. package/dist/esm/core/expressions.d.ts.map +1 -1
  141. package/dist/esm/core/expressions.js +6 -0
  142. package/dist/esm/core/expressions.js.map +1 -1
  143. package/dist/esm/core/order-by.d.ts +9 -0
  144. package/dist/esm/core/order-by.d.ts.map +1 -0
  145. package/dist/esm/core/order-by.js +15 -0
  146. package/dist/esm/core/order-by.js.map +1 -0
  147. package/dist/esm/core/pod-database.d.ts +8 -2
  148. package/dist/esm/core/pod-database.d.ts.map +1 -1
  149. package/dist/esm/core/pod-database.js +143 -53
  150. package/dist/esm/core/pod-database.js.map +1 -1
  151. package/dist/esm/core/pod-dialect.d.ts +12 -1
  152. package/dist/esm/core/pod-dialect.d.ts.map +1 -1
  153. package/dist/esm/core/pod-dialect.js +85 -4
  154. package/dist/esm/core/pod-dialect.js.map +1 -1
  155. package/dist/esm/core/query-builders/delete-query-builder.d.ts +7 -12
  156. package/dist/esm/core/query-builders/delete-query-builder.d.ts.map +1 -1
  157. package/dist/esm/core/query-builders/delete-query-builder.js +48 -21
  158. package/dist/esm/core/query-builders/delete-query-builder.js.map +1 -1
  159. package/dist/esm/core/query-builders/helpers.d.ts +7 -0
  160. package/dist/esm/core/query-builders/helpers.d.ts.map +1 -1
  161. package/dist/esm/core/query-builders/helpers.js +164 -0
  162. package/dist/esm/core/query-builders/helpers.js.map +1 -1
  163. package/dist/esm/core/query-builders/insert-query-builder.d.ts +10 -3
  164. package/dist/esm/core/query-builders/insert-query-builder.d.ts.map +1 -1
  165. package/dist/esm/core/query-builders/insert-query-builder.js +50 -6
  166. package/dist/esm/core/query-builders/insert-query-builder.js.map +1 -1
  167. package/dist/esm/core/query-builders/select-query-builder.d.ts +31 -3
  168. package/dist/esm/core/query-builders/select-query-builder.d.ts.map +1 -1
  169. package/dist/esm/core/query-builders/select-query-builder.js +417 -97
  170. package/dist/esm/core/query-builders/select-query-builder.js.map +1 -1
  171. package/dist/esm/core/query-builders/types.d.ts +5 -3
  172. package/dist/esm/core/query-builders/types.d.ts.map +1 -1
  173. package/dist/esm/core/query-builders/update-query-builder.d.ts +8 -12
  174. package/dist/esm/core/query-builders/update-query-builder.d.ts.map +1 -1
  175. package/dist/esm/core/query-builders/update-query-builder.js +64 -22
  176. package/dist/esm/core/query-builders/update-query-builder.js.map +1 -1
  177. package/dist/esm/core/query-conditions.d.ts +17 -16
  178. package/dist/esm/core/query-conditions.d.ts.map +1 -1
  179. package/dist/esm/core/query-conditions.js.map +1 -1
  180. package/dist/esm/core/resource-resolver/base-resolver.d.ts +8 -4
  181. package/dist/esm/core/resource-resolver/base-resolver.d.ts.map +1 -1
  182. package/dist/esm/core/resource-resolver/base-resolver.js +39 -36
  183. package/dist/esm/core/resource-resolver/base-resolver.js.map +1 -1
  184. package/dist/esm/core/resource-resolver/document-resolver.d.ts.map +1 -1
  185. package/dist/esm/core/resource-resolver/document-resolver.js +75 -78
  186. package/dist/esm/core/resource-resolver/document-resolver.js.map +1 -1
  187. package/dist/esm/core/schema/columns.d.ts +6 -6
  188. package/dist/esm/core/schema/columns.d.ts.map +1 -1
  189. package/dist/esm/core/schema/columns.js +18 -18
  190. package/dist/esm/core/schema/columns.js.map +1 -1
  191. package/dist/esm/core/schema/defs.d.ts +4 -4
  192. package/dist/esm/core/schema/defs.d.ts.map +1 -1
  193. package/dist/esm/core/schema/pod-table.d.ts +1 -0
  194. package/dist/esm/core/schema/pod-table.d.ts.map +1 -1
  195. package/dist/esm/core/schema/pod-table.js +68 -2
  196. package/dist/esm/core/schema/pod-table.js.map +1 -1
  197. package/dist/esm/core/select-plan.d.ts +6 -3
  198. package/dist/esm/core/select-plan.d.ts.map +1 -1
  199. package/dist/esm/core/services/pod-services.d.ts +7 -5
  200. package/dist/esm/core/services/pod-services.d.ts.map +1 -1
  201. package/dist/esm/core/services/pod-services.js +7 -5
  202. package/dist/esm/core/services/pod-services.js.map +1 -1
  203. package/dist/esm/core/shape/generator.js +3 -3
  204. package/dist/esm/core/shape/generator.js.map +1 -1
  205. package/dist/esm/core/shape/manager.js +5 -5
  206. package/dist/esm/core/shape/manager.js.map +1 -1
  207. package/dist/esm/core/sparql/builder/expression-builder.d.ts +15 -5
  208. package/dist/esm/core/sparql/builder/expression-builder.d.ts.map +1 -1
  209. package/dist/esm/core/sparql/builder/expression-builder.js +42 -19
  210. package/dist/esm/core/sparql/builder/expression-builder.js.map +1 -1
  211. package/dist/esm/core/sparql/builder/select-builder.d.ts +10 -1
  212. package/dist/esm/core/sparql/builder/select-builder.d.ts.map +1 -1
  213. package/dist/esm/core/sparql/builder/select-builder.js +149 -4
  214. package/dist/esm/core/sparql/builder/select-builder.js.map +1 -1
  215. package/dist/esm/core/sparql/builder/update-builder.d.ts +1 -1
  216. package/dist/esm/core/sparql/builder/update-builder.d.ts.map +1 -1
  217. package/dist/esm/core/sparql/builder/update-builder.js +4 -4
  218. package/dist/esm/core/sparql/builder/update-builder.js.map +1 -1
  219. package/dist/esm/core/sparql/helpers.js +3 -3
  220. package/dist/esm/core/sparql/helpers.js.map +1 -1
  221. package/dist/esm/core/sparql-engine.d.ts +16 -0
  222. package/dist/esm/core/sparql-engine.d.ts.map +1 -0
  223. package/dist/esm/core/sparql-engine.js +89 -0
  224. package/dist/esm/core/sparql-engine.js.map +1 -0
  225. package/dist/esm/core/sparql-executor.d.ts +3 -1
  226. package/dist/esm/core/sparql-executor.d.ts.map +1 -1
  227. package/dist/esm/core/sparql-executor.js +3 -4
  228. package/dist/esm/core/sparql-executor.js.map +1 -1
  229. package/dist/esm/core/triple/handlers/inverse.js +4 -4
  230. package/dist/esm/core/triple/handlers/inverse.js.map +1 -1
  231. package/dist/esm/core/triple/handlers/uri.d.ts +1 -1
  232. package/dist/esm/core/triple/handlers/uri.js +3 -3
  233. package/dist/esm/core/triple/handlers/uri.js.map +1 -1
  234. package/dist/esm/core/uri/resolver.d.ts +9 -9
  235. package/dist/esm/core/uri/resolver.d.ts.map +1 -1
  236. package/dist/esm/core/uri/resolver.js +51 -51
  237. package/dist/esm/core/uri/resolver.js.map +1 -1
  238. package/dist/esm/core/uri/types.d.ts +10 -10
  239. package/dist/esm/core/uri/types.d.ts.map +1 -1
  240. package/dist/esm/core/utils/debug-logger.d.ts +19 -0
  241. package/dist/esm/core/utils/debug-logger.d.ts.map +1 -0
  242. package/dist/esm/core/utils/debug-logger.js +53 -0
  243. package/dist/esm/core/utils/debug-logger.js.map +1 -0
  244. package/dist/esm/driver.d.ts +14 -1
  245. package/dist/esm/driver.d.ts.map +1 -1
  246. package/dist/esm/driver.js +2 -5
  247. package/dist/esm/driver.js.map +1 -1
  248. package/dist/esm/index.d.ts +4 -1
  249. package/dist/esm/index.d.ts.map +1 -1
  250. package/dist/esm/index.js +6 -2
  251. package/dist/esm/index.js.map +1 -1
  252. package/dist/esm/pod.d.ts +68 -0
  253. package/dist/esm/pod.d.ts.map +1 -0
  254. package/dist/esm/pod.js +146 -0
  255. package/dist/esm/pod.js.map +1 -0
  256. package/dist/esm/utils/webid-resolver.d.ts +1 -2
  257. package/dist/esm/utils/webid-resolver.d.ts.map +1 -1
  258. package/dist/esm/utils/webid-resolver.js +36 -30
  259. package/dist/esm/utils/webid-resolver.js.map +1 -1
  260. package/dist/index.d.ts +4 -1
  261. package/dist/index.d.ts.map +1 -1
  262. package/dist/index.js +17 -3
  263. package/dist/index.js.map +1 -1
  264. package/dist/pod.d.ts +68 -0
  265. package/dist/pod.d.ts.map +1 -0
  266. package/dist/pod.js +153 -0
  267. package/dist/pod.js.map +1 -0
  268. package/dist/utils/webid-resolver.d.ts +1 -2
  269. package/dist/utils/webid-resolver.d.ts.map +1 -1
  270. package/dist/utils/webid-resolver.js +36 -30
  271. package/dist/utils/webid-resolver.js.map +1 -1
  272. package/package.json +27 -8
@@ -1 +1 @@
1
- {"version":3,"file":"select-query-builder.js","sourceRoot":"","sources":["../../../../src/core/query-builders/select-query-builder.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"select-query-builder.js","sourceRoot":"","sources":["../../../../src/core/query-builders/select-query-builder.ts"],"names":[],"mappings":";AAAA,OAAO,EAAE,UAAU,EAAE,GAAG,EAAE,MAAM,aAAa,CAAC;AAC9C,OAAO,EAAE,QAAQ,EAAE,aAAa,EAAkB,MAAM,WAAW,CAAC;AACpE,OAAO,EAAkB,OAAO,EAAE,MAAM,qBAAqB,CAAC;AAC9D,OAAO,EAAuB,qBAAqB,EAAE,MAAM,eAAe,CAAC;AAM3E,OAAO,EAAE,sBAAsB,EAAE,4BAA4B,EAAE,oBAAoB,EAAE,MAAM,WAAW,CAAC;AACvG,OAAO,EAAE,eAAe,EAAc,MAAM,QAAQ,CAAC;AACrD,OAAO,EAAE,mBAAmB,EAA0B,MAAM,aAAa,CAAC;AAC1E,OAAO,EAAE,wBAAwB,EAAE,MAAM,gBAAgB,CAAC;AAE1D,MAAM,OAAO,kBAAkB;IA2B7B,YAAmB,OAAyB,EAAE,MAAuB;QAAlD,YAAO,GAAP,OAAO,CAAkB;QApBpC,UAAK,GAMR,EAAE,CAAC;QAGA,mBAAc,GAAyD,EAAE,CAAC;QAC1E,eAAU,GAAG,KAAK,CAAC;QAEnB,iBAAY,GAAG,IAAI,GAAG,EAAyB,CAAC;QAChD,iBAAY,GAAG,IAAI,GAAG,EAAyB,CAAC;QAChD,eAAU,GAAG,IAAI,GAAG,EAAkB,CAAC;QAEvC,gBAAW,GAAqB,EAAE,CAAC;QACnC,mBAAc,GAAsB,EAAE,CAAC;QAI7C,IAAI,MAAM,EAAE,CAAC;YACX,IAAI,CAAC,iBAAiB,CAAC,MAAM,CAAC,CAAC;QACjC,CAAC;IACH,CAAC;IAED,IAAI,CAAmC,KAAiB;QACtD,IAAI,CAAC,aAAa,GAAG,KAA0B,CAAC;QAChD,IAAI,CAAC,YAAY,GAAG,IAAI,CAAC,mBAAmB,CAAC,KAAK,CAAC,CAAC;QACpD,OAAO,IAAiD,CAAC;IAC3D,CAAC;IAED,OAAO,CAAC,MAAsB;QAC5B,IAAI,CAAC,iBAAiB,CAAC,MAAM,CAAC,CAAC;QAC/B,OAAO,IAAI,CAAC;IACd,CAAC;IAEO,iBAAiB,CAAC,MAAsB;QAC9C,IAAI,CAAC,cAAc,GAAG,EAAE,GAAG,MAAM,EAAE,CAAC;IACtC,CAAC;IAED;;;;;OAKG;IACH,KAAK,CAAC,UAAsD;QAC1D,IAAI,UAAU,YAAY,GAAG,EAAE,CAAC;YAC9B,IAAI,CAAC,GAAG,GAAG,UAAU,CAAC;QACxB,CAAC;aAAM,IAAI,IAAI,CAAC,gBAAgB,CAAC,UAAU,CAAC,EAAE,CAAC;YAC7C,IAAI,CAAC,qBAAqB,CAAC,UAAU,CAAC,CAAC;QACzC,CAAC;aAAM,CAAC;YACN,sCAAsC;YACtC,IAAI,UAAU,IAAI,OAAO,UAAU,KAAK,QAAQ,IAAI,KAAK,IAAI,UAAU,EAAE,CAAC;gBACxE,MAAM,IAAI,KAAK,CACb,2CAA2C;oBAC3C,sDAAsD;oBACtD,8CAA8C,CAC/C,CAAC;YACJ,CAAC;YACD,IAAI,CAAC,kBAAkB,CAAC,UAAU,CAAC,CAAC;QACtC,CAAC;QACD,OAAO,IAAI,CAAC;IACd,CAAC;IAED;;;;OAIG;IACH,UAAU,CAAC,GAAsB;QAC/B,IAAI,CAAC,kBAAkB,CAAC,EAAE,KAAK,EAAE,GAAG,EAAE,CAAC,CAAC;QACxC,OAAO,IAAI,CAAC;IACd,CAAC;IAEO,gBAAgB,CAAC,GAAQ;QAC/B,OAAO,GAAG,IAAI,OAAO,GAAG,KAAK,QAAQ,IAAI,MAAM,IAAI,GAAG,IAAI,UAAU,IAAI,GAAG,CAAC;IAC9E,CAAC;IAEO,6BAA6B,CAAC,SAAyB;QAC7D,IAAI,SAAS,CAAC,IAAI,KAAK,aAAa,EAAE,CAAC;YACrC,MAAM,IAAI,GAAI,SAAiB,CAAC,IAAI,CAAC;YACrC,MAAM,KAAK,GAAI,SAAiB,CAAC,KAAK,CAAC;YACvC,MAAM,EAAE,GAAI,SAAiB,CAAC,QAAQ,CAAC;YACvC,MAAM,OAAO,GAAG,OAAO,IAAI,KAAK,QAAQ,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,IAAI,EAAE,IAAI,CAAC;YAC7D,IAAI,EAAE,KAAK,GAAG,IAAI,OAAO,IAAI,KAAK,KAAK,SAAS,EAAE,CAAC;gBACjD,OAAO,EAAE,CAAC,OAAO,CAAC,EAAE,KAAK,EAAE,CAAC;YAC9B,CAAC;QACH,CAAC;QAED,IAAI,SAAS,CAAC,IAAI,KAAK,cAAc,EAAE,CAAC;YACtC,MAAM,EAAE,GAAI,SAAiB,CAAC,QAAQ,CAAC;YACvC,MAAM,KAAK,GAAI,SAAiB,CAAC,WAAW,CAAC;YAC7C,IAAI,EAAE,KAAK,KAAK,IAAI,KAAK,EAAE,CAAC;gBAC1B,MAAM,MAAM,GAAwB,EAAE,CAAC;gBACvC,KAAK,MAAM,KAAK,IAAI,KAAK,EAAE,CAAC;oBAC1B,MAAM,WAAW,GAAG,IAAI,CAAC,6BAA6B,CAAC,KAAK,CAAC,CAAC;oBAC9D,IAAI,CAAC,WAAW,IAAI,MAAM,CAAC,IAAI,CAAC,WAAW,CAAC,CAAC,MAAM,KAAK,CAAC,EAAE,CAAC;wBAC1D,OAAO,EAAE,CAAC;oBACZ,CAAC;oBACD,KAAK,MAAM,CAAC,GAAG,EAAE,KAAK,CAAC,IAAI,MAAM,CAAC,OAAO,CAAC,WAAW,CAAC,EAAE,CAAC;wBACvD,MAAM,CAAC,GAAG,CAAC,GAAG,KAAK,CAAC;oBACtB,CAAC;gBACH,CAAC;gBACD,OAAO,MAAM,CAAC;YAChB,CAAC;QACH,CAAC;QAED,OAAO,EAAE,CAAC;IACZ,CAAC;IAEO,yBAAyB,CAAC,SAAyB;QACzD,8DAA8D;QAC9D,IAAI,SAAS,CAAC,IAAI,KAAK,aAAa,EAAE,CAAC;YACrC,MAAM,IAAI,GAAI,SAAiB,CAAC,IAAI,CAAC;YACrC,IAAI,IAAI,IAAI,OAAO,IAAI,KAAK,QAAQ,IAAI,OAAO,IAAI,IAAI,EAAE,CAAC;gBACxD,8DAA8D;gBAC9D,MAAM,QAAQ,GAAG,IAAI,CAAC,KAAK,CAAC;gBAC5B,IAAI,QAAQ,EAAE,CAAC;oBACb,4DAA4D;oBAC5D,MAAM,KAAK,GAAG,IAAI,CAAC,YAAY,CAAC,GAAG,CAAC,QAAQ,CAAC,CAAC;oBAC9C,OAAO,KAAK,CAAC;gBACf,CAAC;YACH,CAAC;YACD,uCAAuC;YACvC,IAAI,OAAO,IAAI,KAAK,QAAQ,IAAI,IAAI,CAAC,QAAQ,CAAC,GAAG,CAAC,EAAE,CAAC;gBACnD,OAAO,IAAI,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,CAAC;YAC5B,CAAC;QACH,CAAC;QACD,OAAO,SAAS,CAAC;IACnB,CAAC;IAED,QAAQ,CACN,KAAiB,EACjB,SAAc;QAEd,OAAO,IAAI,CAAC,OAAO,CAAC,UAAU,EAAE,KAAK,EAAE,SAAS,CAAC,CAAC;IACpD,CAAC;IAED,SAAS,CACP,KAAiB,EACjB,SAAc;QAEd,OAAO,IAAI,CAAC,OAAO,CAAC,WAAW,EAAE,KAAK,EAAE,SAAS,CAAC,CAAC;IACrD,CAAC;IAED,SAAS,CACP,KAAiB,EACjB,SAAc;QAEd,OAAO,IAAI,CAAC,OAAO,CAAC,WAAW,EAAE,KAAK,EAAE,SAAS,CAAC,CAAC;IACrD,CAAC;IAED,QAAQ,CACN,KAAiB,EACjB,SAAc;QAEd,OAAO,IAAI,CAAC,OAAO,CAAC,UAAU,EAAE,KAAK,EAAE,SAAS,CAAC,CAAC;IACpD,CAAC;IAED,SAAS,CACP,KAAiB;QAEjB,OAAO,IAAI,CAAC,OAAO,CAAC,WAAW,EAAE,KAAK,CAAC,CAAC;IAC1C,CAAC;IAED,OAAO,CAAC,GAAG,MAAqC;QAC9C,MAAM,IAAI,GAAG,MAAM,CAAC,GAAG,CAAC,CAAC,KAAK,EAAE,EAAE,CAAC,IAAI,CAAC,sBAAsB,CAAC,KAAK,CAAC,CAAC,CAAC;QACvE,IAAI,CAAC,cAAc,CAAC,IAAI,CAAC,GAAG,IAAI,CAAC,CAAC;QAClC,OAAO,IAAI,CAAC;IACd,CAAC;IAED,MAAM,CACJ,SAAkG;QAElG,IAAI,CAAC,eAAe,GAAG,OAAO,SAAS,KAAK,UAAU;YACpD,CAAC,CAAC,SAAS,CAAC,IAAI,CAAC,0BAA0B,EAAE,CAAC;YAC9C,CAAC,CAAC,SAAS,CAAC;QACd,OAAO,IAAI,CAAC;IACd,CAAC;IAEO,0BAA0B;QAChC,MAAM,OAAO,GAA6C,EAAE,CAAC;QAE7D,KAAK,MAAM,KAAK,IAAI,MAAM,CAAC,IAAI,CAAC,IAAI,CAAC,cAAc,IAAI,EAAE,CAAC,EAAE,CAAC;YAC3D,OAAO,CAAC,KAAK,CAAC,GAAG,IAAI,wBAAwB,CAAC,KAAK,CAAC,CAAC;QACvD,CAAC;QAED,OAAO,OAAO,CAAC;IACjB,CAAC;IAEO,OAAO,CACb,IAAc,EACd,KAAiB,EACjB,SAAe;QAEf,IAAI,IAAI,KAAK,WAAW,IAAI,IAAI,KAAK,UAAU,EAAE,CAAC;YAChD,MAAM,IAAI,KAAK,CAAC,GAAG,IAAI,wCAAwC,CAAC,CAAC;QACnE,CAAC;QAED,MAAM,KAAK,GAAG,IAAI,CAAC,mBAAmB,CAAC,KAAK,CAAC,CAAC;QAC9C,MAAM,kBAAkB,GAAG,IAAI,KAAK,WAAW;YAC7C,CAAC,CAAC,SAAS;YACX,CAAC,CAAC,IAAI,CAAC,qBAAqB,CAAC,SAAS,EAAE,KAAK,CAAC,CAAC;QAEjD,IAAI,CAAC,KAAK,CAAC,IAAI,CAAC;YACd,IAAI;YACJ,KAAK;YACL,KAAK;YACL,YAAY,EAAE,SAAS;YACvB,kBAAkB;SACnB,CAAC,CAAC;QAEH,OAAO,IAAI,CAAC;IACd,CAAC;IAEO,mBAAmB,CAAC,KAAoB;QAC9C,MAAM,QAAQ,GAAG,IAAI,CAAC,YAAY,CAAC,GAAG,CAAC,KAAK,CAAC,CAAC;QAC9C,IAAI,QAAQ,EAAE,CAAC;YACb,OAAO,QAAQ,CAAC;QAClB,CAAC;QAED,MAAM,QAAQ,GAAG,KAAK,CAAC,MAAM,CAAC,IAAI,IAAI,OAAO,CAAC;QAC9C,MAAM,KAAK,GAAG,IAAI,CAAC,UAAU,CAAC,GAAG,CAAC,QAAQ,CAAC,IAAI,CAAC,CAAC;QACjD,MAAM,SAAS,GAAG,KAAK,GAAG,CAAC,CAAC;QAC5B,IAAI,CAAC,UAAU,CAAC,GAAG,CAAC,QAAQ,EAAE,SAAS,CAAC,CAAC;QAEzC,MAAM,KAAK,GAAG,KAAK,KAAK,CAAC,CAAC,CAAC,CAAC,QAAQ,CAAC,CAAC,CAAC,GAAG,QAAQ,IAAI,SAAS,EAAE,CAAC;QAClE,IAAI,CAAC,YAAY,CAAC,GAAG,CAAC,KAAK,EAAE,KAAK,CAAC,CAAC;QACpC,IAAI,CAAC,YAAY,CAAC,GAAG,CAAC,KAAK,EAAE,KAAK,CAAC,CAAC;QACpC,OAAO,KAAK,CAAC;IACf,CAAC;IAEO,qBAAqB,CAAC,SAAc,EAAE,SAAiB;QAC7D,IAAI,IAAI,CAAC,gBAAgB,CAAC,SAAS,CAAC,EAAE,CAAC;YACrC,OAAO,IAAI,CAAC,8BAA8B,CAAC,SAAS,EAAE,SAAS,CAAC,CAAC;QACnE,CAAC;QAED,IAAI,CAAC,SAAS,IAAI,OAAO,SAAS,KAAK,QAAQ,EAAE,CAAC;YAChD,MAAM,IAAI,KAAK,CAAC,iEAAiE,CAAC,CAAC;QACrF,CAAC;QAED,MAAM,OAAO,GAAG,MAAM,CAAC,OAAO,CAAC,SAAS,CAA4C,CAAC;QACrF,IAAI,OAAO,CAAC,MAAM,KAAK,CAAC,EAAE,CAAC;YACzB,MAAM,IAAI,KAAK,CAAC,gCAAgC,CAAC,CAAC;QACpD,CAAC;QAED,OAAO,OAAO,CAAC,GAAG,CAAC,CAAC,CAAC,OAAO,EAAE,QAAQ,CAAC,EAAE,EAAE;YACzC,MAAM,OAAO,GAAG,IAAI,CAAC,sBAAsB,CAAC,OAAO,CAAC,CAAC;YACrD,MAAM,QAAQ,GAAG,IAAI,CAAC,sBAAsB,CAAC,QAAQ,CAAC,CAAC;YAEvD,IAAI,OAAO,CAAC,KAAK,KAAK,SAAS,IAAI,QAAQ,CAAC,KAAK,KAAK,SAAS,EAAE,CAAC;gBAChE,MAAM,IAAI,KAAK,CAAC,qEAAqE,CAAC,CAAC;YACzF,CAAC;YAED,OAAO,EAAE,IAAI,EAAE,OAAO,EAAE,KAAK,EAAE,QAAQ,EAAE,CAAC;QAC5C,CAAC,CAAC,CAAC;IACL,CAAC;IAEO,8BAA8B,CAAC,SAAyB,EAAE,SAAiB;QACjF,IAAI,SAAS,CAAC,IAAI,KAAK,cAAc,EAAE,CAAC;YACtC,MAAM,QAAQ,GAAG,CAAE,SAAiB,CAAC,QAAQ,IAAI,EAAE,CAAC,CAAC,WAAW,EAAE,CAAC;YACnE,MAAM,WAAW,GAAG,CAAE,SAAiB,CAAC,WAAW,IAAI,EAAE,CAAqB,CAAC;YAE/E,IAAI,QAAQ,KAAK,KAAK,IAAI,WAAW,CAAC,MAAM,KAAK,CAAC,EAAE,CAAC;gBACnD,MAAM,IAAI,KAAK,CAAC,qEAAqE,CAAC,CAAC;YACzF,CAAC;YAED,OAAO,WAAW,CAAC,OAAO,CAAC,CAAC,UAAU,EAAE,EAAE,CAAC,IAAI,CAAC,8BAA8B,CAAC,UAAU,EAAE,SAAS,CAAC,CAAC,CAAC;QACzG,CAAC;QAED,IAAI,SAAS,CAAC,IAAI,KAAK,aAAa,IAAK,SAAiB,CAAC,QAAQ,KAAK,GAAG,EAAE,CAAC;YAC5E,MAAM,IAAI,KAAK,CAAC,mDAAmD,CAAC,CAAC;QACvE,CAAC;QAED,MAAM,OAAO,GAAG,IAAI,CAAC,2BAA2B,CAAE,SAAiB,CAAC,IAAI,CAAC,CAAC;QAC1E,MAAM,QAAQ,GAAG,IAAI,CAAC,2BAA2B,CAAE,SAAiB,CAAC,KAAK,CAAC,CAAC;QAE5E,IAAI,CAAC,OAAO,IAAI,CAAC,QAAQ,EAAE,CAAC;YAC1B,MAAM,IAAI,KAAK,CAAC,8CAA8C,CAAC,CAAC;QAClE,CAAC;QAED,IAAI,OAAO,CAAC,KAAK,KAAK,SAAS,IAAI,QAAQ,CAAC,KAAK,KAAK,SAAS,EAAE,CAAC;YAChE,MAAM,IAAI,KAAK,CAAC,qEAAqE,CAAC,CAAC;QACzF,CAAC;QAED,OAAO,CAAC,EAAE,IAAI,EAAE,OAAO,EAAE,KAAK,EAAE,QAAQ,EAAE,CAAC,CAAC;IAC9C,CAAC;IAEO,2BAA2B,CAAC,KAAc,EAAE,aAAsB;QACxE,IAAI,KAAK,YAAY,aAAa,EAAE,CAAC;YACnC,OAAO,IAAI,CAAC,sBAAsB,CAAC,KAAK,EAAE,aAAa,CAAC,CAAC;QAC3D,CAAC;QAED,IAAI,OAAO,KAAK,KAAK,QAAQ,EAAE,CAAC;YAC9B,IAAI,KAAK,CAAC,QAAQ,CAAC,GAAG,CAAC,EAAE,CAAC;gBACxB,OAAO,IAAI,CAAC,sBAAsB,CAAC,KAAK,EAAE,aAAa,CAAC,CAAC;YAC3D,CAAC;YAED,MAAM,KAAK,GAAG,aAAa,IAAI,IAAI,CAAC,YAAY,CAAC;YACjD,MAAM,KAAK,GAAG,KAAK,CAAC,CAAC,CAAC,IAAI,CAAC,YAAY,CAAC,GAAG,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC,SAAS,CAAC;YAC/D,IAAI,KAAK,IAAI,KAAK,IAAI,CAAC,KAAK,CAAC,OAAO,IAAI,EAAE,CAAC,EAAE,CAAC;gBAC5C,OAAO,IAAI,CAAC,sBAAsB,CAAC,KAAK,EAAE,aAAa,CAAC,CAAC;YAC3D,CAAC;QACH,CAAC;QAED,OAAO,SAAS,CAAC;IACnB,CAAC;IAEO,sBAAsB,CAAC,KAA6B,EAAE,aAAsB;QAClF,IAAI,KAAK,YAAY,aAAa,EAAE,CAAC;YACnC,MAAM,KAAK,GAAG,KAAK,CAAC,KAAK,CAAC;YAC1B,IAAI,CAAC,KAAK,EAAE,CAAC;gBACX,MAAM,IAAI,KAAK,CAAC,UAAU,KAAK,CAAC,IAAI,iCAAiC,CAAC,CAAC;YACzE,CAAC;YACD,MAAM,KAAK,GAAG,IAAI,CAAC,mBAAmB,CAAC,KAAK,CAAC,CAAC;YAC9C,OAAO,EAAE,KAAK,EAAE,KAAK,EAAE,MAAM,EAAE,KAAK,CAAC,IAAI,EAAE,CAAC;QAC9C,CAAC;QAED,IAAI,OAAO,KAAK,KAAK,QAAQ,EAAE,CAAC;YAC9B,MAAM,EAAE,KAAK,EAAE,WAAW,EAAE,MAAM,EAAE,GAAG,IAAI,CAAC,0BAA0B,CAAC,KAAK,CAAC,CAAC;YAC9E,MAAM,KAAK,GAAG,WAAW,IAAI,aAAa,IAAI,IAAI,CAAC,YAAY,CAAC;YAChE,IAAI,CAAC,KAAK,EAAE,CAAC;gBACX,MAAM,IAAI,KAAK,CAAC,uDAAuD,KAAK,GAAG,CAAC,CAAC;YACnF,CAAC;YACD,MAAM,KAAK,GAAG,IAAI,CAAC,YAAY,CAAC,GAAG,CAAC,KAAK,CAAC,CAAC;YAC3C,IAAI,CAAC,KAAK,EAAE,CAAC;gBACX,MAAM,IAAI,KAAK,CAAC,wBAAwB,KAAK,0BAA0B,KAAK,GAAG,CAAC,CAAC;YACnF,CAAC;YACD,OAAO,EAAE,KAAK,EAAE,KAAK,EAAE,MAAM,EAAE,CAAC;QAClC,CAAC;QAED,MAAM,IAAI,KAAK,CAAC,8BAA8B,CAAC,CAAC;IAClD,CAAC;IAEO,0BAA0B,CAAC,SAAiB;QAClD,MAAM,OAAO,GAAG,SAAS,CAAC,IAAI,EAAE,CAAC;QACjC,IAAI,CAAC,OAAO,CAAC,QAAQ,CAAC,GAAG,CAAC,EAAE,CAAC;YAC3B,OAAO,EAAE,MAAM,EAAE,OAAO,EAAE,CAAC;QAC7B,CAAC;QACD,MAAM,CAAC,KAAK,EAAE,MAAM,CAAC,GAAG,OAAO,CAAC,KAAK,CAAC,GAAG,EAAE,CAAC,CAAC,CAAC;QAC9C,OAAO,EAAE,KAAK,EAAE,MAAM,EAAE,CAAC;IAC3B,CAAC;IAEO,kBAAkB,CAAC,UAAgC;QACzD,IAAI,CAAC,UAAU,EAAE,CAAC;YAChB,OAAO;QACT,CAAC;QAED,MAAM,cAAc,GAAwB,EAAE,GAAG,CAAC,IAAI,CAAC,eAAe,IAAI,EAAE,CAAC,EAAE,CAAC;QAEhF,KAAK,MAAM,CAAC,MAAM,EAAE,KAAK,CAAC,IAAI,MAAM,CAAC,OAAO,CAAC,UAAU,CAAC,EAAE,CAAC;YACzD,MAAM,EAAE,KAAK,EAAE,MAAM,EAAE,GAAG,IAAI,CAAC,0BAA0B,CAAC,MAAM,CAAC,CAAC;YAClE,MAAM,WAAW,GAAG,KAAK,IAAI,IAAI,CAAC,YAAY,CAAC;YAE/C,IAAI,CAAC,WAAW,IAAI,WAAW,KAAK,IAAI,CAAC,YAAY,IAAI,CAAC,IAAI,CAAC,YAAY,CAAC,GAAG,CAAC,WAAW,CAAC,EAAE,CAAC;gBAC7F,cAAc,CAAC,MAAM,CAAC,GAAG,KAAK,CAAC;gBAC/B,SAAS;YACX,CAAC;YAED,IAAI,CAAC,WAAW,CAAC,IAAI,CAAC,sBAAsB,CAAC,WAAW,EAAE,MAAM,EAAE,KAAK,CAAC,CAAC,CAAC;QAC5E,CAAC;QAED,IAAI,CAAC,eAAe,GAAG,MAAM,CAAC,IAAI,CAAC,cAAc,CAAC,CAAC,MAAM,GAAG,CAAC,CAAC,CAAC,CAAC,cAAc,CAAC,CAAC,CAAC,SAAS,CAAC;IAC7F,CAAC;IAEO,qBAAqB,CAAC,SAAyB;QACrD,6EAA6E;QAC7E,MAAM,SAAS,GAAG,IAAI,CAAC,yBAAyB,CAAC,SAAS,CAAC,CAAC;QAC5D,IAAI,SAAS,IAAI,SAAS,KAAK,IAAI,CAAC,YAAY,EAAE,CAAC;YACjD,IAAI,CAAC,WAAW,CAAC,IAAI,CAAC,SAAS,CAAC,CAAC;YACjC,OAAO;QACT,CAAC;QAED,IAAI,CAAC,aAAa,GAAG,SAAS,CAAC;QAC/B,MAAM,gBAAgB,GAAG,IAAI,CAAC,6BAA6B,CAAC,SAAS,CAAC,CAAC;QACvE,IAAI,MAAM,CAAC,IAAI,CAAC,gBAAgB,CAAC,CAAC,MAAM,GAAG,CAAC,EAAE,CAAC;YAC7C,IAAI,CAAC,eAAe,GAAG,gBAAgB,CAAC;QAC1C,CAAC;IACH,CAAC;IAEO,wBAAwB;QAC9B,IAAI,IAAI,CAAC,aAAa,EAAE,CAAC;YACvB,OAAO,IAAI,CAAC,aAAa,CAAC;QAC5B,CAAC;QACD,MAAM,KAAK,GAAG,IAAI,CAAC,YAAY,IAAI,IAAI,CAAC,aAAa,EAAE,MAAM,CAAC,IAAI,CAAC;QACnE,OAAO,4BAA4B,CAAC,IAAI,CAAC,eAAe,EAAE,KAAK,CAAC,CAAC;IACnE,CAAC;IAEM,IAAI;QACT,MAAM,YAAY,GAAG,IAAI,CAAC,wBAAwB,EAAE,CAAC;QACrD,OAAO,IAAI,CAAC,cAAc,CAAC,YAAY,CAAC,CAAC;IAC3C,CAAC;IAEO,cAAc,CAAC,cAA+B;QACpD,IAAI,CAAC,IAAI,CAAC,aAAa,EAAE,CAAC;YACxB,MAAM,IAAI,KAAK,CAAC,qCAAqC,CAAC,CAAC;QACzD,CAAC;QAED,MAAM,SAAS,GAAG,IAAI,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC,IAAI,EAAE,EAAE,CAAC,CAAC;YAC1C,IAAI,EAAE,IAAI,CAAC,IAAI;YACf,KAAK,EAAE,IAAI,CAAC,KAAK;YACjB,KAAK,EAAE,IAAI,CAAC,KAAK;YACjB,UAAU,EAAE,CAAC,IAAI,CAAC,kBAAkB,IAAI,EAAE,CAAC,CAAC,GAAG,CAAC,CAAC,EAAE,IAAI,EAAE,KAAK,EAAE,EAAE,EAAE,CAAC,CAAC;gBACpE,IAAI;gBACJ,KAAK;aACN,CAAC,CAAC;SACJ,CAAC,CAAC,CAAC;QAEJ,OAAO;YACL,SAAS,EAAE,IAAI,CAAC,aAAa;YAC7B,SAAS,EAAE,IAAI,CAAC,YAAY,IAAI,IAAI,CAAC,aAAa,CAAC,MAAM,CAAC,IAAI;YAC9D,MAAM,EAAE,IAAI,CAAC,cAAc;YAC3B,SAAS,EAAE,CAAC,IAAI,CAAC,cAAc;YAC/B,KAAK,EAAE,IAAI,CAAC,eAAe;YAC3B,aAAa,EAAE,cAAc;YAC7B,KAAK,EAAE,SAAS,CAAC,MAAM,GAAG,CAAC,CAAC,CAAC,CAAC,SAAS,CAAC,CAAC,CAAC,SAAS;YACnD,WAAW,EAAE,IAAI,CAAC,WAAW,CAAC,MAAM,GAAG,CAAC,CAAC,CAAC,CAAC,CAAC,GAAG,IAAI,CAAC,WAAW,CAAC,CAAC,CAAC,CAAC,SAAS;YAC5E,OAAO,EAAE,IAAI,CAAC,cAAc,CAAC,MAAM,GAAG,CAAC,CAAC,CAAC,CAAC,CAAC,GAAG,IAAI,CAAC,cAAc,CAAC,CAAC,CAAC,CAAC,SAAS;YAC9E,MAAM,EAAE,IAAI,CAAC,eAAe;YAC5B,OAAO,EAAE,IAAI,CAAC,cAAc,CAAC,MAAM,GAAG,CAAC;gBACrC,CAAC,CAAC,IAAI,CAAC,cAAc,CAAC,GAAG,CAAC,CAAC,MAAM,EAAE,EAAE,CAAC,CAAC;oBACnC,SAAS,EAAE,MAAM,CAAC,MAAM;oBACxB,SAAS,EAAE,MAAM,CAAC,SAAS;iBAC5B,CAAC,CAAC;gBACL,CAAC,CAAC,SAAS;YACb,QAAQ,EAAE,IAAI,CAAC,UAAU,IAAI,SAAS;YACtC,KAAK,EAAE,IAAI,CAAC,UAAU;YACtB,MAAM,EAAE,IAAI,CAAC,WAAW;YACxB,YAAY,EAAE,IAAI,GAAG,CAAC,IAAI,CAAC,YAAY,CAAC;YACxC,YAAY,EAAE,IAAI,GAAG,CAAC,IAAI,CAAC,YAAY,CAAC;SACzC,CAAC;IACJ,CAAC;IAED,KAAK,CAAC,KAAa;QACjB,IAAI,CAAC,MAAM,CAAC,SAAS,CAAC,KAAK,CAAC,IAAI,KAAK,GAAG,CAAC,EAAE,CAAC;YAC1C,MAAM,IAAI,KAAK,CAAC,sCAAsC,CAAC,CAAC;QAC1D,CAAC;QACD,IAAI,CAAC,UAAU,GAAG,KAAK,CAAC;QACxB,OAAO,IAAI,CAAC;IACd,CAAC;IAED,MAAM,CAAC,KAAa;QAClB,IAAI,CAAC,MAAM,CAAC,SAAS,CAAC,KAAK,CAAC,IAAI,KAAK,GAAG,CAAC,EAAE,CAAC;YAC1C,MAAM,IAAI,KAAK,CAAC,uCAAuC,CAAC,CAAC;QAC3D,CAAC;QACD,IAAI,CAAC,WAAW,GAAG,KAAK,CAAC;QACzB,OAAO,IAAI,CAAC;IACd,CAAC;IAEO,gBAAgB,CAAC,MAA8B,EAAE,YAA4B,KAAK;QACxF,MAAM,UAAU,GAAG,OAAO,MAAM,KAAK,QAAQ,CAAC,CAAC,CAAC,MAAM,CAAC,CAAC,CAAC,MAAM,CAAC,IAAI,CAAC;QACrE,IAAI,CAAC,UAAU,EAAE,CAAC;YAChB,MAAM,IAAI,KAAK,CAAC,uCAAuC,CAAC,CAAC;QAC3D,CAAC;QAED,IAAI,CAAC,cAAc,CAAC,IAAI,CAAC,EAAE,MAAM,EAAE,UAAU,EAAE,SAAS,EAAE,CAAC,CAAC;IAC9D,CAAC;IAED,OAAO,CAAC,GAAG,IAAwE;QACjF,IAAI,IAAI,CAAC,MAAM,KAAK,CAAC,EAAE,CAAC;YACtB,MAAM,IAAI,KAAK,CAAC,qDAAqD,CAAC,CAAC;QACzE,CAAC;QAED,IACE,IAAI,CAAC,MAAM,KAAK,CAAC;eACd,CAAC,IAAI,CAAC,CAAC,CAAC,YAAY,aAAa,IAAI,OAAO,IAAI,CAAC,CAAC,CAAC,KAAK,QAAQ,CAAC;eACjE,CAAC,IAAI,CAAC,CAAC,CAAC,KAAK,KAAK,IAAI,IAAI,CAAC,CAAC,CAAC,KAAK,MAAM,CAAC,EAC5C,CAAC;YACD,IAAI,CAAC,gBAAgB,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,IAAI,CAAC,CAAC,CAAC,CAAC,CAAC;YACxC,OAAO,IAAI,CAAC;QACd,CAAC;QAED,KAAK,MAAM,GAAG,IAAI,IAAI,EAAE,CAAC;YACvB,IAAI,mBAAmB,CAAC,GAAG,CAAC,EAAE,CAAC;gBAC7B,IAAI,CAAC,gBAAgB,CAAC,GAAG,CAAC,MAAM,EAAE,GAAG,CAAC,SAAS,CAAC,CAAC;gBACjD,SAAS;YACX,CAAC;YAED,IAAI,GAAG,YAAY,aAAa,IAAI,OAAO,GAAG,KAAK,QAAQ,EAAE,CAAC;gBAC5D,IAAI,CAAC,gBAAgB,CAAC,GAAG,EAAE,KAAK,CAAC,CAAC;gBAClC,SAAS;YACX,CAAC;YAED,MAAM,IAAI,KAAK,CAAC,2CAA2C,CAAC,CAAC;QAC/D,CAAC;QAED,OAAO,IAAI,CAAC;IACd,CAAC;IAED,QAAQ,CAAC,MAAM,GAAG,IAAI;QACpB,IAAI,CAAC,UAAU,GAAG,MAAM,CAAC;QACzB,OAAO,IAAI,CAAC;IACd,CAAC;IAGO,gBAAgB,CAAC,UAAU,GAAG,YAAY;QAChD,IAAI,IAAI,CAAC,GAAG,EAAE,CAAC;YACb,MAAM,KAAK,GAAG,IAAI,CAAC,GAAG,CAAC,WAAW,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC;YAC5C,MAAM,IAAI,GAAG,oBAAoB,CAAC,KAAK,CAAC,CAAC;YACzC,IAAI,CAAC,IAAI,EAAE,CAAC;gBACV,MAAM,IAAI,KAAK,CAAC,GAAG,UAAU,uDAAuD,CAAC,CAAC;YACxF,CAAC;YACD,OAAO,EAAE,IAAI,EAAE,KAAK,EAAE,QAAQ,EAAE,EAA4B,EAAE,CAAC;QACjE,CAAC;QAED,IAAI,CAAC,IAAI,CAAC,aAAa,EAAE,CAAC;YACxB,MAAM,IAAI,KAAK,CAAC,qCAAqC,CAAC,CAAC;QACzD,CAAC;QAED,IAAI,IAAI,CAAC,KAAK,CAAC,MAAM,GAAG,CAAC,EAAE,CAAC;YAC1B,MAAM,IAAI,KAAK,CAAC,GAAG,UAAU,yDAAyD,CAAC,CAAC;QAC1F,CAAC;QAED,IAAI,IAAI,CAAC,2BAA2B,EAAE,EAAE,CAAC;YACvC,MAAM,IAAI,KAAK,CAAC,GAAG,UAAU,0DAA0D,CAAC,CAAC;QAC3F,CAAC;QAED,MAAM,SAAS,GAAG,IAAI,CAAC,OAAO,CAAC,UAAU,EAAE,CAAC,kBAAkB,EAAE,EAAE,CAAC;QACnE,IAAI,CAAC,SAAS,EAAE,CAAC;YACf,MAAM,IAAI,KAAK,CAAC,GAAG,UAAU,4CAA4C,CAAC,CAAC;QAC7E,CAAC;QAED,OAAO,SAAS,CAAC,iBAAiB,CAAC,IAAI,CAAC,IAAI,EAAE,CAAC,CAAC;IAClD,CAAC;IAED,QAAQ;QACN,OAAO,IAAI,CAAC,gBAAgB,CAAC,YAAY,CAAC,CAAC;IAC7C,CAAC;IAED,QAAQ;QACN,OAAO,IAAI,CAAC,QAAQ,EAAE,CAAC;IACzB,CAAC;IAED,KAAK,CAAC,OAAO;QACX,IAAI,CAAC,IAAI,CAAC,aAAa,EAAE,CAAC;YACxB,MAAM,IAAI,KAAK,CAAC,qCAAqC,CAAC,CAAC;QACzD,CAAC;QAED,IAAI,IAAI,CAAC,UAAU,KAAK,CAAC,EAAE,CAAC;YAC1B,OAAO,EAAE,CAAC;QACZ,CAAC;QAED,IAAI,IAAI,CAAC,GAAG,EAAE,CAAC;YACb,OAAO,MAAM,IAAI,CAAC,OAAO,CAAC,UAAU,CAAC,IAAI,CAAC,GAAG,EAAE,IAAI,CAAC,aAAa,CAA6B,CAAC;QACjG,CAAC;aAAM,CAAC;YACN,MAAM,IAAI,GAAG,IAAI,CAAC,IAAI,EAAE,CAAC;YACzB,MAAM,YAAY,GAAG,IAAI,CAAC,aAAa,CAAC;YACxC,MAAM,QAAQ,GAAG,IAAI,CAAC,KAAK,CAAC,MAAM,GAAG,CAAC,CAAC;YACvC,MAAM,oBAAoB,GAAG,IAAI,CAAC,0BAA0B,EAAE,CAAC;YAC/D,MAAM,qBAAqB,GAAG,IAAI,CAAC,2BAA2B,EAAE,CAAC;YACjE,MAAM,yBAAyB,GAAG,QAAQ,IAAI,oBAAoB,CAAC;YAEnE,IAAI,QAAQ,IAAI,oBAAoB,IAAI,qBAAqB,EAAE,CAAC;gBAC9D,IAAI,CAAC,MAAM,GAAG,SAAS,CAAC;gBACxB,IAAI,CAAC,SAAS,GAAG,IAAI,CAAC;YACxB,CAAC;YAED,MAAM,aAAa,GAAG,yBAAyB;gBAC7C,CAAC,CAAC;oBACE,GAAG,IAAI;oBACP,KAAK,EAAE,SAAS;oBAChB,MAAM,EAAE,SAAS;oBACjB,OAAO,EAAE,SAAS;oBAClB,GAAG,CAAC,oBAAoB,CAAC,CAAC,CAAC,EAAE,OAAO,EAAE,SAAS,EAAE,MAAM,EAAE,SAAS,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC;iBAC3E;gBACH,CAAC,CAAC,IAAI,CAAC;YAET,MAAM,SAAS,GAAiB;gBAC9B,IAAI,EAAE,QAAQ;gBACd,KAAK,EAAE,IAAI,CAAC,aAAa;gBACzB,KAAK,EAAE,YAAY;gBACnB,KAAK,EAAE,yBAAyB,CAAC,CAAC,CAAC,SAAS,CAAC,CAAC,CAAC,IAAI,CAAC,UAAU;gBAC9D,MAAM,EAAE,yBAAyB,CAAC,CAAC,CAAC,SAAS,CAAC,CAAC,CAAC,IAAI,CAAC,WAAW;gBAChE,OAAO,EAAE,yBAAyB,IAAI,IAAI,CAAC,cAAc,CAAC,MAAM,KAAK,CAAC,CAAC,CAAC,CAAC,SAAS,CAAC,CAAC,CAAC,IAAI,CAAC,cAAc;gBACxG,QAAQ,EAAE,IAAI,CAAC,UAAU,IAAI,SAAS;aACvC,CAAC;YACF,SAAS,CAAC,IAAI,GAAG,aAAa,CAAC;YAE/B,IAAI,IAAI,CAAC,cAAc,CAAC,MAAM,KAAK,CAAC,IAAI,IAAI,CAAC,0BAA0B,EAAE,EAAE,CAAC;gBAC1E,MAAM,IAAI,KAAK,CAAC,sEAAsE,CAAC,CAAC;YAC1F,CAAC;YAED,IAAI,gBAAuC,CAAC;YAC5C,IAAI,CAAC,QAAQ,IAAI,CAAC,oBAAoB,IAAI,CAAC,qBAAqB,EAAE,CAAC;gBACjE,IAAI,IAAI,CAAC,cAAc,EAAE,CAAC;oBACxB,SAAS,CAAC,MAAM,GAAG,IAAI,CAAC,cAAc,CAAC;gBACzC,CAAC;gBACD,gBAAgB,GAAG,MAAM,IAAI,CAAC,OAAO,CAAC,OAAO,CAAC,SAAS,CAA0B,CAAC;gBAClF,gBAAgB,GAAG,IAAI,CAAC,oBAAoB,CAAC,gBAAgB,CAAC,CAAC;YACjE,CAAC;iBAAM,CAAC;gBACN,IAAI,QAAQ,EAAE,CAAC;oBACb,SAAS,CAAC,MAAM,GAAG,SAAS,CAAC;gBAC/B,CAAC;qBAAM,IAAI,CAAC,oBAAoB,IAAI,CAAC,qBAAqB,EAAE,CAAC;oBAC3D,SAAS,CAAC,MAAM,GAAG,IAAI,CAAC,cAAc,CAAC;gBACzC,CAAC;qBAAM,CAAC;oBACN,SAAS,CAAC,MAAM,GAAG,SAAS,CAAC;gBAC/B,CAAC;gBAED,gBAAgB,GAAG,MAAM,IAAI,CAAC,OAAO,CAAC,OAAO,CAAC,SAAS,CAA0B,CAAC;gBAClF,IAAI,CAAC,QAAQ,EAAE,CAAC;oBACd,gBAAgB,GAAG,IAAI,CAAC,oBAAoB,CAAC,gBAAgB,CAAC,CAAC;gBACjE,CAAC;gBAED,IAAI,QAAQ,EAAE,CAAC;oBACb,gBAAgB,GAAG,IAAI,CAAC,iBAAiB,CAAC,gBAAgB,CAAC,CAAC;oBAC5D,gBAAgB,GAAG,MAAM,IAAI,CAAC,iBAAiB,CAAC,gBAAgB,CAAC,CAAC;oBAClE,gBAAgB,GAAG,IAAI,CAAC,gBAAgB,CAAC,gBAAgB,CAAC,CAAC;gBAC7D,CAAC;YACH,CAAC;YAED,IAAI,oBAAoB,EAAE,CAAC;gBACzB,IAAI,aAAa,GAAG,IAAI,CAAC,uBAAuB,CAAC,gBAAgB,CAAC,CAAC;gBACnE,aAAa,GAAG,IAAI,CAAC,iBAAiB,CAAC,aAAa,CAAC,CAAC;gBACtD,IAAI,yBAAyB,EAAE,CAAC;oBAC9B,aAAa,GAAG,IAAI,CAAC,oBAAoB,CAAC,aAAa,CAAC,CAAC;oBACzD,aAAa,GAAG,IAAI,CAAC,2BAA2B,CAAC,aAAa,CAAC,CAAC;gBAClE,CAAC;gBACD,OAAO,aAAyC,CAAC;YACnD,CAAC;YAED,IAAI,SAAS,GAAG,gBAAgB,CAAC;YAEjC,IAAI,CAAC,QAAQ,EAAE,CAAC;gBACd,SAAS,GAAG,IAAI,CAAC,kBAAkB,CAAC,SAAS,CAAC,CAAC;YACjD,CAAC;YAED,IAAI,IAAI,CAAC,aAAa,EAAE,CAAC;gBACvB,SAAS,GAAG,MAAM,IAAI,CAAC,oBAAoB,CAAC,SAAS,EAAE,IAAI,CAAC,aAAa,EAAE,CAAC,QAAQ,CAAC,CAAC;gBACtF,sBAAsB;gBACtB,SAAS,GAAG,IAAI,CAAC,cAAc,CAAC,SAAS,EAAE,IAAI,CAAC,aAAa,CAAC,CAAC;YACjE,CAAC;YAED,IAAI,QAAQ,EAAE,CAAC;gBACb,SAAS,GAAG,IAAI,CAAC,oBAAoB,CAAC,SAAS,CAAC,CAAC;YACnD,CAAC;YAED,IAAI,IAAI,CAAC,cAAc,EAAE,CAAC;gBACxB,SAAS,GAAG,SAAS,CAAC,GAAG,CAAC,CAAC,GAAG,EAAE,EAAE,CAAC,IAAI,CAAC,kBAAkB,CAAC,GAAG,CAAC,CAAC,CAAC;YACnE,CAAC;YAED,SAAS,GAAG,IAAI,CAAC,iBAAiB,CAAC,SAAS,CAAC,CAAC;YAE9C,IAAI,CAAC,QAAQ,EAAE,CAAC;gBACd,SAAS,GAAG,IAAI,CAAC,kBAAkB,CAAC,SAAS,CAAC,CAAC;YACjD,CAAC;YAED,IAAI,QAAQ,EAAE,CAAC;gBACb,SAAS,GAAG,IAAI,CAAC,2BAA2B,CAAC,SAAS,CAAC,CAAC;YAC1D,CAAC;YAED,OAAO,SAAqC,CAAC;QAC/C,CAAC;IACH,CAAC;IAEO,kBAAkB,CAAC,GAAwB;QACjD,IAAI,CAAC,IAAI,CAAC,cAAc,EAAE,CAAC;YACzB,OAAO,GAAG,CAAC;QACb,CAAC;QAED,OAAO,IAAI,CAAC,eAAe,CAAC,GAAG,EAAE,IAAI,CAAC,cAAc,CAAC,CAAC;IACxD,CAAC;IAEO,eAAe,CACrB,GAAwB,EACxB,MAAsB,EACtB,kBAAkB,GAAG,IAAI;QAEzB,MAAM,SAAS,GAAwB,EAAE,CAAC;QAC1C,KAAK,MAAM,CAAC,GAAG,EAAE,KAAK,CAAC,IAAI,MAAM,CAAC,OAAO,CAAC,MAAM,CAAC,EAAE,CAAC;YAClD,SAAS,CAAC,GAAG,CAAC,GAAG,IAAI,CAAC,iBAAiB,CAAC,GAAG,EAAE,GAAG,EAAE,KAAK,EAAE,kBAAkB,CAAC,CAAC;QAC/E,CAAC;QACD,OAAO,SAAS,CAAC;IACnB,CAAC;IAEO,iBAAiB,CACvB,GAAwB,EACxB,KAAa,EACb,KAAkB,EAClB,kBAAkB,GAAG,IAAI;QAEzB,IAAI,qBAAqB,CAAC,KAAK,CAAC,EAAE,CAAC;YACjC,OAAO,kBAAkB,CAAC,CAAC,CAAC,GAAG,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC,SAAS,CAAC;QACrD,CAAC;QAED,IAAI,KAAK,YAAY,QAAQ,EAAE,CAAC;YAC9B,OAAO,IAAI,CAAC,iBAAiB,CAAC,GAAG,EAAE,KAAK,CAAC,CAAC;QAC5C,CAAC;QAED,IAAI,IAAI,CAAC,gBAAgB,CAAC,KAAK,CAAC,EAAE,CAAC;YACjC,MAAM,OAAO,GAAG,IAAI,CAAC,uBAAuB,CAAC,KAAK,CAAC,CAAC;YACpD,MAAM,qBAAqB,GAAG,OAAO,CAAC,IAAI,KAAK,CAAC,IAAI,CAAC,OAAO,CAAC,GAAG,CAAC,IAAI,CAAC,YAAY,IAAI,EAAE,CAAC,CAAC;YAC1F,MAAM,SAAS,GAAG,IAAI,CAAC,eAAe,CAAC,GAAG,EAAE,KAAK,EAAE,CAAC,qBAAqB,CAAC,CAAC;YAC3E,IAAI,OAAO,CAAC,IAAI,KAAK,CAAC,EAAE,CAAC;gBACvB,MAAM,CAAC,WAAW,CAAC,GAAG,KAAK,CAAC,IAAI,CAAC,OAAO,CAAC,CAAC;gBAC1C,IAAI,WAAW,IAAI,WAAW,KAAK,IAAI,CAAC,YAAY,IAAI,IAAI,CAAC,qBAAqB,CAAC,SAAS,CAAC,EAAE,CAAC;oBAC9F,OAAO,IAAI,CAAC;gBACd,CAAC;YACH,CAAC;YACD,OAAO,SAAS,CAAC;QACnB,CAAC;QAED,KAAK,MAAM,SAAS,IAAI,IAAI,CAAC,6BAA6B,CAAC,KAAK,EAAE,KAAK,CAAC,EAAE,CAAC;YACzE,IAAI,GAAG,CAAC,SAAS,CAAC,KAAK,SAAS,EAAE,CAAC;gBACjC,OAAO,GAAG,CAAC,SAAS,CAAC,CAAC;YACxB,CAAC;QACH,CAAC;QAED,OAAO,kBAAkB,CAAC,CAAC,CAAC,GAAG,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC,SAAS,CAAC;IACrD,CAAC;IAEO,iBAAiB,CAAC,GAAwB,EAAE,KAAoB;QACtE,MAAM,KAAK,GAAG,IAAI,CAAC,YAAY,CAAC,GAAG,CAAC,KAAK,CAAC,IAAI,KAAK,CAAC,MAAM,CAAC,IAAI,CAAC;QAChE,MAAM,SAAS,GAAwB,EAAE,CAAC;QAC1C,IAAI,QAAQ,GAAG,KAAK,CAAC;QAErB,KAAK,MAAM,UAAU,IAAI,MAAM,CAAC,IAAI,CAAC,KAAK,CAAC,OAAO,CAAC,EAAE,CAAC;YACpD,MAAM,UAAU,GAAG,KAAK,KAAK,IAAI,CAAC,YAAY;gBAC5C,CAAC,CAAC,CAAC,UAAU,EAAE,GAAG,KAAK,IAAI,UAAU,EAAE,CAAC;gBACxC,CAAC,CAAC,CAAC,GAAG,KAAK,IAAI,UAAU,EAAE,CAAC,CAAC;YAC/B,MAAM,KAAK,GAAG,UAAU,CAAC,IAAI,CAAC,CAAC,SAAS,EAAE,EAAE,CAAC,GAAG,CAAC,SAAS,CAAC,KAAK,SAAS,CAAC,CAAC;YAC3E,SAAS,CAAC,UAAU,CAAC,GAAG,KAAK,CAAC,CAAC,CAAC,GAAG,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC,SAAS,CAAC;YACvD,IAAI,SAAS,CAAC,UAAU,CAAC,KAAK,SAAS,EAAE,CAAC;gBACxC,QAAQ,GAAG,IAAI,CAAC;YAClB,CAAC;QACH,CAAC;QAED,IAAI,KAAK,KAAK,IAAI,CAAC,YAAY,IAAI,CAAC,QAAQ,EAAE,CAAC;YAC7C,OAAO,IAAI,CAAC;QACd,CAAC;QAED,OAAO,SAAS,CAAC;IACnB,CAAC;IAEO,gBAAgB,CAAC,KAAkB;QACzC,OAAO,CAAC,CAAC,KAAK;eACT,OAAO,KAAK,KAAK,QAAQ;eACzB,CAAC,CAAC,KAAK,YAAY,aAAa,CAAC;eACjC,CAAC,CAAC,KAAK,YAAY,QAAQ,CAAC;eAC5B,CAAC,qBAAqB,CAAC,KAAK,CAAC,CAAC;IACrC,CAAC;IAEO,uBAAuB,CAAC,KAAkB;QAChD,IAAI,OAAO,KAAK,KAAK,QAAQ,EAAE,CAAC;YAC9B,MAAM,EAAE,KAAK,EAAE,GAAG,IAAI,CAAC,0BAA0B,CAAC,KAAK,CAAC,CAAC;YACzD,OAAO,IAAI,GAAG,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,YAAY,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,YAAY,CAAC,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC;QACjF,CAAC;QAED,IAAI,KAAK,YAAY,aAAa,EAAE,CAAC;YACnC,OAAO,IAAI,GAAG,CAAC,CAAC,IAAI,CAAC,sBAAsB,CAAC,KAAK,CAAC,CAAC,KAAK,CAAC,CAAC,CAAC;QAC7D,CAAC;QAED,IAAI,KAAK,YAAY,QAAQ,EAAE,CAAC;YAC9B,OAAO,IAAI,GAAG,CAAC,CAAC,IAAI,CAAC,YAAY,CAAC,GAAG,CAAC,KAAK,CAAC,IAAI,KAAK,CAAC,MAAM,CAAC,IAAI,CAAC,CAAC,CAAC;QACtE,CAAC;QAED,IAAI,CAAC,IAAI,CAAC,gBAAgB,CAAC,KAAK,CAAC,EAAE,CAAC;YAClC,OAAO,IAAI,GAAG,EAAE,CAAC;QACnB,CAAC;QAED,MAAM,OAAO,GAAG,IAAI,GAAG,EAAU,CAAC;QAClC,KAAK,MAAM,KAAK,IAAI,MAAM,CAAC,MAAM,CAAC,KAAK,CAAC,EAAE,CAAC;YACzC,KAAK,MAAM,KAAK,IAAI,IAAI,CAAC,uBAAuB,CAAC,KAAK,CAAC,EAAE,CAAC;gBACxD,OAAO,CAAC,GAAG,CAAC,KAAK,CAAC,CAAC;YACrB,CAAC;QACH,CAAC;QACD,OAAO,OAAO,CAAC;IACjB,CAAC;IAEO,qBAAqB,CAAC,KAAc;QAC1C,IAAI,KAAK,KAAK,SAAS,IAAI,KAAK,KAAK,IAAI,EAAE,CAAC;YAC1C,OAAO,IAAI,CAAC;QACd,CAAC;QACD,IAAI,KAAK,CAAC,OAAO,CAAC,KAAK,CAAC,EAAE,CAAC;YACzB,OAAO,KAAK,CAAC,MAAM,KAAK,CAAC,CAAC;QAC5B,CAAC;QACD,IAAI,OAAO,KAAK,KAAK,QAAQ,EAAE,CAAC;YAC9B,MAAM,OAAO,GAAG,MAAM,CAAC,MAAM,CAAC,KAAgC,CAAC,CAAC;YAChE,OAAO,OAAO,CAAC,MAAM,GAAG,CAAC,IAAI,OAAO,CAAC,KAAK,CAAC,CAAC,KAAK,EAAE,EAAE,CAAC,IAAI,CAAC,qBAAqB,CAAC,KAAK,CAAC,CAAC,CAAC;QAC3F,CAAC;QACD,OAAO,KAAK,CAAC;IACf,CAAC;IAEO,6BAA6B,CAAC,KAAa,EAAE,KAAkB;QACrE,MAAM,UAAU,GAAG,IAAI,GAAG,EAAU,CAAC;QAErC,IAAI,OAAO,KAAK,KAAK,QAAQ,EAAE,CAAC;YAC9B,MAAM,EAAE,KAAK,EAAE,QAAQ,EAAE,MAAM,EAAE,GAAG,IAAI,CAAC,0BAA0B,CAAC,KAAK,CAAC,CAAC;YAC3E,UAAU,CAAC,GAAG,CAAC,KAAK,CAAC,CAAC;YACtB,UAAU,CAAC,GAAG,CAAC,MAAM,CAAC,CAAC;YACvB,IAAI,QAAQ,EAAE,CAAC;gBACb,UAAU,CAAC,GAAG,CAAC,GAAG,QAAQ,IAAI,MAAM,EAAE,CAAC,CAAC;YAC1C,CAAC;QACH,CAAC;aAAM,IAAI,KAAK,YAAY,aAAa,EAAE,CAAC;YAC1C,MAAM,SAAS,GAAG,IAAI,CAAC,sBAAsB,CAAC,KAAK,CAAC,CAAC;YACrD,UAAU,CAAC,GAAG,CAAC,GAAG,SAAS,CAAC,KAAK,IAAI,SAAS,CAAC,MAAM,EAAE,CAAC,CAAC;YACzD,IAAI,CAAC,SAAS,CAAC,KAAK,IAAI,SAAS,CAAC,KAAK,KAAK,IAAI,CAAC,YAAY,EAAE,CAAC;gBAC9D,UAAU,CAAC,GAAG,CAAC,KAAK,CAAC,IAAI,CAAC,CAAC;YAC7B,CAAC;QACH,CAAC;aAAM,IAAI,KAAK,IAAI,OAAO,KAAK,KAAK,QAAQ,EAAE,CAAC;YAC9C,MAAM,aAAa,GAAI,KAA4B,CAAC,IAAI,CAAC;YACzD,IAAI,OAAO,aAAa,KAAK,QAAQ,EAAE,CAAC;gBACtC,UAAU,CAAC,GAAG,CAAC,aAAa,CAAC,CAAC;YAChC,CAAC;QACH,CAAC;QAED,OAAO,KAAK,CAAC,IAAI,CAAC,UAAU,CAAC,CAAC;IAChC,CAAC;IAEO,2BAA2B;QACjC,IAAI,CAAC,IAAI,CAAC,cAAc,EAAE,CAAC;YACzB,OAAO,KAAK,CAAC;QACf,CAAC;QAED,MAAM,uBAAuB,GAAG,CAAC,KAAkB,EAAW,EAAE;YAC9D,IAAI,KAAK,YAAY,QAAQ,EAAE,CAAC;gBAC9B,OAAO,IAAI,CAAC;YACd,CAAC;YACD,IAAI,IAAI,CAAC,gBAAgB,CAAC,KAAK,CAAC,EAAE,CAAC;gBACjC,OAAO,IAAI,CAAC;YACd,CAAC;YACD,OAAO,KAAK,CAAC;QACf,CAAC,CAAC;QAEF,OAAO,MAAM,CAAC,MAAM,CAAC,IAAI,CAAC,cAAc,CAAC,CAAC,IAAI,CAAC,CAAC,KAAK,EAAE,EAAE,CAAC,uBAAuB,CAAC,KAAK,CAAC,CAAC,CAAC;IAC5F,CAAC;IAEO,0BAA0B;QAChC,IAAI,IAAI,CAAC,eAAe,EAAE,CAAC;YACzB,OAAO,IAAI,CAAC;QACd,CAAC;QAED,IAAI,IAAI,CAAC,KAAK,CAAC,MAAM,GAAG,CAAC,EAAE,CAAC;YAC1B,OAAO,IAAI,CAAC,cAAc,CAAC,MAAM,GAAG,CAAC,IAAI,IAAI,CAAC,qBAAqB,EAAE,CAAC;QACxE,CAAC;QAED,IAAI,IAAI,CAAC,cAAc,CAAC,MAAM,GAAG,CAAC,EAAE,CAAC;YACnC,OAAO,KAAK,CAAC;QACf,CAAC;QAED,IAAI,CAAC,IAAI,CAAC,cAAc,EAAE,CAAC;YACzB,OAAO,KAAK,CAAC;QACf,CAAC;QAED,MAAM,MAAM,GAAG,MAAM,CAAC,MAAM,CAAC,IAAI,CAAC,cAAc,CAAC,CAAC;QAClD,OAAO,MAAM,CAAC,MAAM,GAAG,CAAC,IAAI,MAAM,CAAC,KAAK,CAAC,CAAC,KAAK,EAAE,EAAE,CAAC,qBAAqB,CAAC,KAAK,CAAC,CAAC,CAAC;IACpF,CAAC;IAEO,iBAAiB,CAAC,IAA2B;QACnD,MAAM,MAAM,GAAwB,EAAE,CAAC;QACvC,IAAI,CAAC,IAAI,CAAC,cAAc,EAAE,CAAC;YACzB,OAAO,MAAM,CAAC;QAChB,CAAC;QAED,KAAK,MAAM,CAAC,KAAK,EAAE,KAAK,CAAC,IAAI,MAAM,CAAC,OAAO,CAAC,IAAI,CAAC,cAAc,CAAC,EAAE,CAAC;YACjE,IAAI,CAAC,qBAAqB,CAAC,KAAK,CAAC,EAAE,CAAC;gBAClC,SAAS;YACX,CAAC;YACD,MAAM,CAAC,KAAK,CAAC,GAAG,IAAI,CAAC,qBAAqB,CAAC,KAAK,EAAE,IAAI,CAAC,CAAC;QAC1D,CAAC;QAED,OAAO,MAAM,CAAC;IAChB,CAAC;IAEO,qBAAqB,CAAC,SAA8B,EAAE,IAA2B;QACvF,MAAM,SAAS,GAAG,IAAI,CAAC,yBAAyB,CAAC,SAAS,CAAC,CAAC;QAE5D,IAAI,CAAC,SAAS,EAAE,CAAC;YACf,IAAI,SAAS,CAAC,IAAI,KAAK,OAAO,EAAE,CAAC;gBAC/B,OAAO,SAAS,CAAC,QAAQ,CAAC,CAAC,CAAC,IAAI,CAAC,iBAAiB,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,MAAM,CAAC;YACzE,CAAC;YACD,OAAO,IAAI,CAAC;QACd,CAAC;QAED,QAAQ,SAAS,CAAC,IAAI,EAAE,CAAC;YACvB,KAAK,OAAO,CAAC,CAAC,CAAC;gBACb,MAAM,MAAM,GAAG,IAAI,CAAC,qBAAqB,CAAC,SAAS,EAAE,IAAI,EAAE,CAAC,CAAC,SAAS,CAAC,QAAQ,CAAC,CAAC;gBACjF,OAAO,MAAM,CAAC,MAAM,CAAC;YACvB,CAAC;YACD,KAAK,KAAK,CAAC,CAAC,CAAC;gBACX,MAAM,MAAM,GAAG,IAAI,CAAC,oBAAoB,CAAC,SAAS,EAAE,IAAI,EAAE,CAAC,CAAC,SAAS,CAAC,QAAQ,CAAC,CAAC;gBAChF,IAAI,MAAM,CAAC,MAAM,KAAK,CAAC;oBAAE,OAAO,IAAI,CAAC;gBACrC,OAAO,MAAM,CAAC,MAAM,CAAC,CAAC,GAAG,EAAE,KAAK,EAAE,EAAE,CAAC,GAAG,GAAG,KAAK,EAAE,CAAC,CAAC,CAAC;YACvD,CAAC;YACD,KAAK,KAAK,CAAC,CAAC,CAAC;gBACX,MAAM,MAAM,GAAG,IAAI,CAAC,oBAAoB,CAAC,SAAS,EAAE,IAAI,EAAE,CAAC,CAAC,SAAS,CAAC,QAAQ,CAAC,CAAC;gBAChF,IAAI,MAAM,CAAC,MAAM,KAAK,CAAC;oBAAE,OAAO,IAAI,CAAC;gBACrC,MAAM,KAAK,GAAG,MAAM,CAAC,MAAM,CAAC,CAAC,GAAG,EAAE,KAAK,EAAE,EAAE,CAAC,GAAG,GAAG,KAAK,EAAE,CAAC,CAAC,CAAC;gBAC5D,OAAO,KAAK,GAAG,MAAM,CAAC,MAAM,CAAC;YAC/B,CAAC;YACD,KAAK,KAAK,CAAC,CAAC,CAAC;gBACX,MAAM,MAAM,GAAG,IAAI,CAAC,oBAAoB,CAAC,SAAS,EAAE,IAAI,EAAE,CAAC,CAAC,SAAS,CAAC,QAAQ,CAAC,CAAC;gBAChF,IAAI,MAAM,CAAC,MAAM,KAAK,CAAC;oBAAE,OAAO,IAAI,CAAC;gBACrC,OAAO,IAAI,CAAC,GAAG,CAAC,GAAG,MAAM,CAAC,CAAC;YAC7B,CAAC;YACD,KAAK,KAAK,CAAC,CAAC,CAAC;gBACX,MAAM,MAAM,GAAG,IAAI,CAAC,oBAAoB,CAAC,SAAS,EAAE,IAAI,EAAE,CAAC,CAAC,SAAS,CAAC,QAAQ,CAAC,CAAC;gBAChF,IAAI,MAAM,CAAC,MAAM,KAAK,CAAC;oBAAE,OAAO,IAAI,CAAC;gBACrC,OAAO,IAAI,CAAC,GAAG,CAAC,GAAG,MAAM,CAAC,CAAC;YAC7B,CAAC;YACD;gBACE,OAAO,IAAI,CAAC;QAChB,CAAC;IACH,CAAC;IAEO,yBAAyB,CAAC,SAA8B;QAC9D,MAAM,MAAM,GAAG,SAAS,CAAC,MAAM,CAAC;QAChC,IAAI,CAAC,MAAM,EAAE,CAAC;YACZ,OAAO,SAAS,CAAC;QACnB,CAAC;QAED,IAAI,OAAO,MAAM,KAAK,QAAQ,EAAE,CAAC;YAC/B,OAAO,IAAI,CAAC,sBAAsB,CAAC,MAAM,CAAC,CAAC;QAC7C,CAAC;QAED,IAAI,MAAM,YAAY,aAAa,EAAE,CAAC;YACpC,OAAO,IAAI,CAAC,sBAAsB,CAAC,MAAM,CAAC,CAAC;QAC7C,CAAC;QAED,IAAI,OAAO,MAAM,KAAK,QAAQ,IAAI,MAAM,IAAK,MAAkC,EAAE,CAAC;YAChF,MAAM,SAAS,GAAI,MAA6B,CAAC,IAAI,CAAC;YACtD,IAAI,OAAO,SAAS,KAAK,QAAQ,EAAE,CAAC;gBAClC,OAAO,IAAI,CAAC,sBAAsB,CAAC,SAAS,CAAC,CAAC;YAChD,CAAC;QACH,CAAC;QAED,OAAO,SAAS,CAAC;IACnB,CAAC;IAEO,qBAAqB,CAAC,MAAuB,EAAE,IAA2B,EAAE,QAAiB;QACnG,MAAM,MAAM,GAAG,IAAI;aAChB,GAAG,CAAC,CAAC,GAAG,EAAE,EAAE,CAAC,IAAI,CAAC,oBAAoB,CAAC,GAAG,EAAE,MAAM,CAAC,CAAC;aACpD,MAAM,CAAC,CAAC,KAAK,EAAE,EAAE,CAAC,KAAK,KAAK,SAAS,IAAI,KAAK,KAAK,IAAI,CAAC,CAAC;QAE5D,IAAI,CAAC,QAAQ,EAAE,CAAC;YACd,OAAO,MAAM,CAAC;QAChB,CAAC;QAED,MAAM,IAAI,GAAG,IAAI,GAAG,EAAU,CAAC;QAC/B,MAAM,OAAO,GAAU,EAAE,CAAC;QAC1B,KAAK,MAAM,KAAK,IAAI,MAAM,EAAE,CAAC;YAC3B,MAAM,GAAG,GAAG,IAAI,CAAC,oBAAoB,CAAC,KAAK,CAAC,CAAC;YAC7C,IAAI,CAAC,IAAI,CAAC,GAAG,CAAC,GAAG,CAAC,EAAE,CAAC;gBACnB,IAAI,CAAC,GAAG,CAAC,GAAG,CAAC,CAAC;gBACd,OAAO,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC;YACtB,CAAC;QACH,CAAC;QACD,OAAO,OAAO,CAAC;IACjB,CAAC;IAEO,oBAAoB,CAAC,MAAuB,EAAE,IAA2B,EAAE,QAAiB;QAClG,MAAM,OAAO,GAAa,EAAE,CAAC;QAC7B,MAAM,IAAI,GAAG,IAAI,GAAG,EAAU,CAAC;QAE/B,KAAK,MAAM,GAAG,IAAI,IAAI,EAAE,CAAC;YACvB,MAAM,QAAQ,GAAG,IAAI,CAAC,oBAAoB,CAAC,GAAG,EAAE,MAAM,CAAC,CAAC;YACxD,IAAI,QAAQ,KAAK,SAAS,IAAI,QAAQ,KAAK,IAAI,EAAE,CAAC;gBAChD,SAAS;YACX,CAAC;YAED,MAAM,OAAO,GAAG,MAAM,CAAC,QAAQ,CAAC,CAAC;YACjC,IAAI,MAAM,CAAC,KAAK,CAAC,OAAO,CAAC,EAAE,CAAC;gBAC1B,SAAS;YACX,CAAC;YAED,IAAI,QAAQ,EAAE,CAAC;gBACb,MAAM,GAAG,GAAG,IAAI,CAAC,oBAAoB,CAAC,OAAO,CAAC,CAAC;gBAC/C,IAAI,CAAC,IAAI,CAAC,GAAG,CAAC,GAAG,CAAC,EAAE,CAAC;oBACnB,IAAI,CAAC,GAAG,CAAC,GAAG,CAAC,CAAC;oBACd,OAAO,CAAC,IAAI,CAAC,OAAO,CAAC,CAAC;gBACxB,CAAC;YACH,CAAC;iBAAM,CAAC;gBACN,OAAO,CAAC,IAAI,CAAC,OAAO,CAAC,CAAC;YACxB,CAAC;QACH,CAAC;QAED,OAAO,OAAO,CAAC;IACjB,CAAC;IAEO,iBAAiB,CAAC,IAA2B;QACnD,MAAM,IAAI,GAAG,IAAI,GAAG,EAAU,CAAC;QAC/B,KAAK,MAAM,GAAG,IAAI,IAAI,EAAE,CAAC;YACvB,MAAM,GAAG,GAAG,IAAI,CAAC,oBAAoB,CAAC,GAAG,CAAC,CAAC;YAC3C,IAAI,CAAC,GAAG,CAAC,GAAG,CAAC,CAAC;QAChB,CAAC;QACD,OAAO,IAAI,CAAC,IAAI,CAAC;IACnB,CAAC;IAEO,uBAAuB,CAAC,IAA2B;QACzD,IAAI,CAAC,IAAI,CAAC,cAAc,EAAE,CAAC;YACzB,IAAI,IAAI,CAAC,cAAc,CAAC,MAAM,KAAK,CAAC,EAAE,CAAC;gBACrC,OAAO,IAAI,CAAC;YACd,CAAC;YAED,MAAM,MAAM,GAAG,IAAI,GAAG,EAA+B,CAAC;YACtD,KAAK,MAAM,GAAG,IAAI,IAAI,EAAE,CAAC;gBACvB,MAAM,QAAQ,GAAG,IAAI,CAAC,cAAc,CAAC,GAAG,CAAC,CAAC,GAAG,EAAE,EAAE,CAAC,IAAI,CAAC,oBAAoB,CAAC,IAAI,CAAC,oBAAoB,CAAC,GAAG,EAAE,GAAG,CAAC,CAAC,CAAC,CAAC;gBAClH,MAAM,QAAQ,GAAG,IAAI,CAAC,SAAS,CAAC,QAAQ,CAAC,CAAC;gBAC1C,IAAI,CAAC,MAAM,CAAC,GAAG,CAAC,QAAQ,CAAC,EAAE,CAAC;oBAC1B,MAAM,CAAC,GAAG,CAAC,QAAQ,EAAE,GAAG,CAAC,CAAC;gBAC5B,CAAC;YACH,CAAC;YACD,OAAO,KAAK,CAAC,IAAI,CAAC,MAAM,CAAC,MAAM,EAAE,CAAC,CAAC;QACrC,CAAC;QAED,IAAI,IAAI,CAAC,cAAc,CAAC,MAAM,KAAK,CAAC,EAAE,CAAC;YACrC,OAAO,CAAC,IAAI,CAAC,iBAAiB,CAAC,IAAI,CAAC,CAAC,CAAC;QACxC,CAAC;QAED,OAAO,IAAI,CAAC,yBAAyB,CAAC,IAAI,CAAC,CAAC;IAC9C,CAAC;IAEO,yBAAyB,CAAC,IAA2B;QAC3D,IAAI,CAAC,IAAI,CAAC,cAAc,EAAE,CAAC;YACzB,OAAO,IAAI,CAAC;QACd,CAAC;QAED,IAAI,CAAC,qBAAqB,EAAE,CAAC;QAE7B,MAAM,MAAM,GAAG,IAAI,GAAG,EAAuE,CAAC;QAE9F,KAAK,MAAM,GAAG,IAAI,IAAI,EAAE,CAAC;YACvB,MAAM,QAAQ,GAAG,IAAI,CAAC,cAAc,CAAC,GAAG,CAAC,CAAC,GAAG,EAAE,EAAE,CAAC,IAAI,CAAC,oBAAoB,CAAC,IAAI,CAAC,oBAAoB,CAAC,GAAG,EAAE,GAAG,CAAC,CAAC,CAAC,CAAC;YAClH,MAAM,QAAQ,GAAG,IAAI,CAAC,SAAS,CAAC,QAAQ,CAAC,CAAC;YAC1C,IAAI,CAAC,MAAM,CAAC,GAAG,CAAC,QAAQ,CAAC,EAAE,CAAC;gBAC1B,MAAM,CAAC,GAAG,CAAC,QAAQ,EAAE,EAAE,IAAI,EAAE,EAAE,EAAE,KAAK,EAAE,GAAG,EAAE,CAAC,CAAC;YACjD,CAAC;YACD,MAAM,CAAC,GAAG,CAAC,QAAQ,CAAC,EAAE,IAAI,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC;QACvC,CAAC;QAED,MAAM,OAAO,GAA0B,EAAE,CAAC;QAC1C,KAAK,MAAM,EAAE,IAAI,EAAE,SAAS,EAAE,KAAK,EAAE,IAAI,MAAM,CAAC,MAAM,EAAE,EAAE,CAAC;YACzD,MAAM,eAAe,GAAG,IAAI,CAAC,iBAAiB,CAAC,SAAS,CAAC,CAAC;YAC1D,MAAM,SAAS,GAAwB,EAAE,CAAC;YAE1C,KAAK,MAAM,CAAC,GAAG,EAAE,KAAK,CAAC,IAAI,MAAM,CAAC,OAAO,CAAC,IAAI,CAAC,cAAc,CAAC,EAAE,CAAC;gBAC/D,IAAI,qBAAqB,CAAC,KAAK,CAAC,EAAE,CAAC;oBACjC,SAAS,CAAC,GAAG,CAAC,GAAG,eAAe,CAAC,GAAG,CAAC,CAAC;gBACxC,CAAC;qBAAM,CAAC;oBACN,MAAM,SAAS,GAAG,IAAI,CAAC,wBAAwB,CAAC,KAAK,CAAC,CAAC;oBACvD,SAAS,CAAC,GAAG,CAAC,GAAG,SAAS,CAAC,CAAC,CAAC,IAAI,CAAC,oBAAoB,CAAC,KAAK,EAAE,SAAS,CAAC,CAAC,CAAC,CAAC,SAAS,CAAC;gBACvF,CAAC;YACH,CAAC;YAED,OAAO,CAAC,IAAI,CAAC,SAAS,CAAC,CAAC;QAC1B,CAAC;QAED,OAAO,OAAO,CAAC;IACjB,CAAC;IAEO,qBAAqB;QAC3B,IAAI,CAAC,IAAI,CAAC,cAAc,EAAE,CAAC;YACzB,OAAO;QACT,CAAC;QAED,MAAM,YAAY,GAAG,IAAI,CAAC,cAAc,CAAC,GAAG,CAAC,CAAC,GAAG,EAAE,EAAE,CAAC,GAAG,GAAG,CAAC,KAAK,IAAI,GAAG,CAAC,MAAM,EAAE,CAAC,CAAC;QAEpF,KAAK,MAAM,KAAK,IAAI,MAAM,CAAC,MAAM,CAAC,IAAI,CAAC,cAAc,CAAC,EAAE,CAAC;YACvD,IAAI,qBAAqB,CAAC,KAAK,CAAC,EAAE,CAAC;gBACjC,SAAS;YACX,CAAC;YACD,MAAM,SAAS,GAAG,IAAI,CAAC,wBAAwB,CAAC,KAAK,CAAC,CAAC;YACvD,IAAI,CAAC,SAAS,EAAE,CAAC;gBACf,SAAS;YACX,CAAC;YACD,MAAM,UAAU,GAAG,GAAG,SAAS,CAAC,KAAK,IAAI,SAAS,CAAC,MAAM,EAAE,CAAC;YAC5D,IAAI,CAAC,YAAY,CAAC,QAAQ,CAAC,UAAU,CAAC,EAAE,CAAC;gBACvC,MAAM,IAAI,KAAK,CAAC,UAAU,UAAU,4DAA4D,CAAC,CAAC;YACpG,CAAC;QACH,CAAC;IACH,CAAC;IAEO,wBAAwB,CAAC,KAAkB;QACjD,IAAI,KAAK,YAAY,aAAa,EAAE,CAAC;YACnC,OAAO,IAAI,CAAC,sBAAsB,CAAC,KAAK,CAAC,CAAC;QAC5C,CAAC;QAED,IAAI,OAAO,KAAK,KAAK,QAAQ,EAAE,CAAC;YAC9B,OAAO,IAAI,CAAC,sBAAsB,CAAC,KAAK,CAAC,CAAC;QAC5C,CAAC;QAED,OAAO,SAAS,CAAC;IACnB,CAAC;IAEO,qBAAqB;QAC3B,IAAI,CAAC,IAAI,CAAC,cAAc,EAAE,CAAC;YACzB,OAAO,KAAK,CAAC;QACf,CAAC;QAED,OAAO,MAAM,CAAC,MAAM,CAAC,IAAI,CAAC,cAAc,CAAC,CAAC,IAAI,CAAC,CAAC,KAAK,EAAE,EAAE,CAAC,qBAAqB,CAAC,KAAK,CAAC,CAAC,CAAC;IAC1F,CAAC;IAEO,0BAA0B;QAChC,IAAI,CAAC,IAAI,CAAC,cAAc,EAAE,CAAC;YACzB,OAAO,KAAK,CAAC;QACf,CAAC;QACD,MAAM,MAAM,GAAG,MAAM,CAAC,MAAM,CAAC,IAAI,CAAC,cAAc,CAAC,CAAC;QAClD,MAAM,YAAY,GAAG,MAAM,CAAC,IAAI,CAAC,CAAC,KAAK,EAAE,EAAE,CAAC,qBAAqB,CAAC,KAAK,CAAC,CAAC,CAAC;QAC1E,MAAM,eAAe,GAAG,MAAM,CAAC,IAAI,CAAC,CAAC,KAAK,EAAE,EAAE,CAAC,CAAC,qBAAqB,CAAC,KAAK,CAAC,CAAC,CAAC;QAC9E,OAAO,YAAY,IAAI,eAAe,CAAC;IACzC,CAAC;IAEO,oBAAoB,CAAC,IAA2B;QACtD,OAAO,IAAI,CAAC,GAAG,CAAC,CAAC,GAAG,EAAE,EAAE,CAAC,IAAI,CAAC,qBAAqB,CAAC,GAAG,CAAC,CAAC,CAAC;IAC5D,CAAC;IAEO,qBAAqB,CAAC,GAAwB;QACpD,MAAM,YAAY,GAChB,OAAO,GAAG,CAAC,OAAO,KAAK,QAAQ,IAAI,GAAG,CAAC,OAAO,IAAI,OAAO,IAAI,GAAG,CAAC,OAAO;YACtE,CAAC,CAAE,GAAG,CAAC,OAAe,CAAC,KAAK;YAC5B,CAAC,CAAC,GAAG,CAAC,OAAO,CAAC;QAClB,IAAI,OAAO,YAAY,KAAK,QAAQ,IAAI,YAAY,CAAC,MAAM,GAAG,CAAC,EAAE,CAAC;YAChE,IAAI,GAAG,CAAC,KAAK,CAAC,KAAK,SAAS,EAAE,CAAC;gBAC7B,GAAG,CAAC,KAAK,CAAC,GAAG,YAAY,CAAC;YAC5B,CAAC;YACD,IAAI,GAAG,CAAC,GAAG,KAAK,SAAS,EAAE,CAAC;gBAC1B,GAAG,CAAC,GAAG,GAAG,YAAY,CAAC;YACzB,CAAC;YAED,IAAI,GAAG,CAAC,EAAE,KAAK,SAAS,EAAE,CAAC;gBACzB,MAAM,SAAS,GAAG,IAAI,CAAC,oBAAoB,CAAC,YAAY,EAAE,IAAI,CAAC,aAAa,CAAC,CAAC;gBAC9E,IAAI,SAAS,KAAK,SAAS,EAAE,CAAC;oBAC5B,GAAG,CAAC,EAAE,GAAG,SAAS,CAAC;gBACrB,CAAC;YACH,CAAC;QACH,CAAC;QACD,OAAO,GAAG,CAAC;IACb,CAAC;IAEO,iBAAiB,CAAC,IAA2B;QACnD,IAAI,CAAC,IAAI,CAAC,MAAM,EAAE,CAAC;YACjB,OAAO,IAAI,CAAC;QACd,CAAC;QAED,MAAM,KAAK,GAAG,IAAI,CAAC,YAAY,IAAI,IAAI,CAAC,mBAAmB,CAAC,IAAI,CAAC,aAAc,CAAC,CAAC;QAEjF,OAAO,IAAI,CAAC,GAAG,CAAC,CAAC,GAAG,EAAE,EAAE;YACtB,MAAM,MAAM,GAAwB,EAAE,GAAG,GAAG,EAAE,CAAC;YAC/C,KAAK,MAAM,CAAC,GAAG,EAAE,KAAK,CAAC,IAAI,MAAM,CAAC,OAAO,CAAC,GAAG,CAAC,EAAE,CAAC;gBAC/C,IAAI,GAAG,KAAK,GAAG,KAAK,IAAI,GAAG,EAAE,EAAE,CAAC;oBAC9B,SAAS;gBACX,CAAC;gBACD,MAAM,CAAC,GAAG,KAAK,IAAI,GAAG,EAAE,CAAC,GAAG,KAAK,CAAC;YACpC,CAAC;YAED,MAAM,YAAY,GAAG,GAAG,CAAC,OAA6B,CAAC;YACvD,IAAI,YAAY,EAAE,CAAC;gBACjB,MAAM,CAAC,OAAO,GAAG,YAAY,CAAC;gBAC9B,MAAM,CAAC,KAAK,CAAC,GAAG,YAAY,CAAC;gBAC7B,MAAM,CAAC,GAAG,GAAG,YAAY,CAAC;gBAC1B,MAAM,CAAC,GAAG,KAAK,UAAU,CAAC,GAAG,YAAY,CAAC;gBAC1C,MAAM,CAAC,GAAG,KAAK,MAAM,CAAC,GAAG,YAAY,CAAC;gBACtC,MAAM,CAAC,GAAG,KAAK,MAAM,CAAC,GAAG,YAAY,CAAC;gBACtC,MAAM,SAAS,GAAG,IAAI,CAAC,oBAAoB,CAAC,YAAY,EAAE,IAAI,CAAC,aAAa,CAAC,CAAC;gBAC9E,IAAI,SAAS,KAAK,SAAS,EAAE,CAAC;oBAC5B,IAAI,MAAM,CAAC,EAAE,KAAK,SAAS,EAAE,CAAC;wBAC5B,MAAM,CAAC,EAAE,GAAG,SAAS,CAAC;oBACxB,CAAC;oBACD,MAAM,CAAC,GAAG,KAAK,KAAK,CAAC,GAAG,SAAS,CAAC;gBACpC,CAAC;YACH,CAAC;YAED,OAAO,MAAM,CAAC;QAChB,CAAC,CAAC,CAAC;IACL,CAAC;IAEO,KAAK,CAAC,oBAAoB,CAChC,IAA2B,EAC3B,KAAoB,EACpB,SAAS,GAAG,IAAI;QAEhB,IAAI,CAAC,IAAI,CAAC,MAAM,EAAE,CAAC;YACjB,OAAO,IAAI,CAAC;QACd,CAAC;QACD,MAAM,aAAa,GAAI,MAAM,CAAC,MAAM,CAAC,KAAK,CAAC,OAAO,IAAI,EAAE,CAAqB,CAAC,MAAM,CAAC,CAAC,GAAG,EAAE,EAAE,CAC3F,IAAI,CAAC,oBAAoB,CAAC,GAAG,CAAC,CAC/B,CAAC;QACF,IAAI,aAAa,CAAC,MAAM,KAAK,CAAC,EAAE,CAAC;YAC/B,OAAO,IAAI,CAAC;QACd,CAAC;QACD,IAAI,SAAS,EAAE,CAAC;YACd,IAAI,GAAG,IAAI,CAAC,kBAAkB,CAAC,IAAI,CAAC,CAAC;QACvC,CAAC;QAED,MAAM,iBAAiB,GAAG,IAAI,GAAG,EAAyB,CAAC;QAC3D,aAAa,CAAC,OAAO,CAAC,CAAC,GAAG,EAAE,EAAE;YAC5B,MAAM,SAAS,GAAG,GAAG,CAAC,YAAY,CAAC,KAAK,CAAC,MAAM,CAAC,SAAgB,CAAC,CAAC;YAClE,iBAAiB,CAAC,GAAG,CAAC,SAAS,EAAE,GAAG,CAAC,CAAC;QACxC,CAAC,CAAC,CAAC;QAEH,MAAM,UAAU,GAAG,KAAK,CAAC,IAAI,CAC3B,IAAI,GAAG,CACL,IAAI;aACD,GAAG,CAAC,CAAC,GAAG,EAAE,EAAE,CACX,IAAI,CAAC,kBAAkB,CAAC,GAAG,CAAC,KAAK,CAAC,IAAI,GAAG,CAAC,OAAO,IAAI,GAAG,CAAC,GAAG,IAAI,GAAG,CAAC,EAAE,CAAC,CACxE;aACA,MAAM,CAAC,CAAC,CAAC,EAAe,EAAE,CAAC,CAAC,CAAC,CAAC,CAAC,CACnC,CACF,CAAC;QAEF,IAAI,UAAU,CAAC,MAAM,KAAK,CAAC,IAAI,iBAAiB,CAAC,IAAI,KAAK,CAAC,EAAE,CAAC;YAC5D,OAAO,IAAI,CAAC;QACd,CAAC;QAED,MAAM,YAAY,GAAG,UAAU,CAAC,GAAG,CAAC,CAAC,GAAG,EAAE,EAAE,CAAC,IAAI,GAAG,GAAG,CAAC,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC;QACnE,MAAM,eAAe,GAAG,KAAK,CAAC,IAAI,CAAC,iBAAiB,CAAC,IAAI,EAAE,CAAC;aACzD,GAAG,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,IAAI,CAAC,GAAG,CAAC;aACpB,IAAI,CAAC,GAAG,CAAC,CAAC;QACb,MAAM,SAAS,GAAG,IAAI,CAAC,oBAAoB,CAAC,UAAU,CAAC,CAAC,CAAC,EAAE,KAAK,CAAC,CAAC;QAClE,MAAM,MAAM,GAAG;YACb,IAAI,EAAE,QAAiB;YACvB,KAAK,EAAE;qBACQ,YAAY;uBACV,eAAe;;;EAGpC;YACI,QAAQ,EAAE,EAAE;SACb,CAAC;QAEF,MAAM,QAAQ,GAAG,IAAI,CAAC,OAAO,CAAC,UAAU,EAAE,CAAC,iBAAiB,EAAE,CAAC;QAC/D,MAAM,cAAc,GAAG,MAAM,QAAQ,CAAC,sBAAsB,CAAC,MAAM,EAAE,SAAS,CAAC,CAAC;QAEhF,MAAM,eAAe,GAAG,KAAK,CAAC,MAAM,CAAC,SAAS,EAAE,GAAG,IAAK,KAAK,CAAC,MAAM,CAAC,SAAiB,CAAC;QACvF,MAAM,SAAS,GAAG,IAAI,GAAG,EAAiC,CAAC;QAC3D,MAAM,QAAQ,GAAG,IAAI,GAAG,EAA+B,CAAC;QACxD,cAAc,CAAC,OAAO,CAAC,CAAC,OAAY,EAAE,EAAE;YACtC,MAAM,SAAS,GAAG,IAAI,CAAC,kBAAkB,CAAC,OAAO,CAAC,MAAM,CAAC,CAAC;YAC1D,MAAM,QAAQ,GAAG,IAAI,CAAC,kBAAkB,CAAC,OAAO,CAAC,QAAQ,CAAC,CAAC;YAC3D,MAAM,QAAQ,GAAG,IAAI,CAAC,kBAAkB,CAAC,OAAO,CAAC,KAAK,CAAC,CAAC;YACxD,MAAM,IAAI,GAAG,IAAI,CAAC,kBAAkB,CAAC,OAAO,CAAC,IAAI,CAAC,CAAC;YACnD,MAAM,GAAG,GAAG,IAAI,CAAC,0BAA0B,CAAC,OAAO,CAAC,GAAG,CAAC,CAAC;YACzD,IAAI,CAAC,SAAS,IAAI,CAAC,QAAQ;gBAAE,OAAO;YACpC,MAAM,MAAM,GAAG,iBAAiB,CAAC,GAAG,CAAC,QAAQ,CAAC,CAAC;YAC/C,IAAI,MAAM,EAAE,CAAC;gBACX,MAAM,SAAS,GAAG,SAAS,CAAC,GAAG,CAAC,SAAS,CAAC,IAAI,IAAI,GAAG,EAAoB,CAAC;gBAC1E,MAAM,IAAI,GAAG,SAAS,CAAC,GAAG,CAAC,MAAM,CAAC,IAAI,CAAC,IAAI,EAAE,CAAC;gBAC9C,IAAI,QAAQ,IAAI,CAAC,IAAI,CAAC,QAAQ,CAAC,QAAQ,CAAC,EAAE,CAAC;oBACzC,IAAI,CAAC,IAAI,CAAC,QAAQ,CAAC,CAAC;gBACtB,CAAC;gBACD,SAAS,CAAC,GAAG,CAAC,MAAM,CAAC,IAAI,EAAE,IAAI,CAAC,CAAC;gBACjC,SAAS,CAAC,GAAG,CAAC,SAAS,EAAE,SAAS,CAAC,CAAC;YACtC,CAAC;YACD,IAAI,CAAC,QAAQ,IAAI,CAAC,IAAI;gBAAE,OAAO;YAC/B,MAAM,KAAK,GAAG,QAAQ,CAAC,GAAG,CAAC,QAAQ,CAAC,IAAI,EAAE,KAAK,EAAE,QAAQ,EAAE,EAAE,EAAE,IAAI,CAAC,oBAAoB,CAAC,QAAQ,EAAE,KAAK,CAAC,EAAE,CAAC;YAC5G,MAAM,GAAG,GAAG,IAAI,CAAC,2BAA2B,CAAC,IAAI,EAAE,eAAe,CAAC,CAAC;YACpE,IAAI,GAAG,KAAK,SAAS,EAAE,CAAC;gBACtB,QAAQ,CAAC,GAAG,CAAC,QAAQ,EAAE,KAAK,CAAC,CAAC;gBAC9B,OAAO;YACT,CAAC;YACD,MAAM,QAAQ,GAAG,KAAK,CAAC,GAAG,CAAC,CAAC;YAC5B,IAAI,QAAQ,KAAK,SAAS,EAAE,CAAC;gBAC3B,KAAK,CAAC,GAAG,CAAC,GAAG,GAAG,CAAC;YACnB,CAAC;iBAAM,IAAI,KAAK,CAAC,OAAO,CAAC,QAAQ,CAAC,EAAE,CAAC;gBACnC,KAAK,CAAC,GAAG,CAAC,GAAG,CAAC,GAAG,QAAQ,EAAE,GAAG,CAAC,CAAC;YAClC,CAAC;iBAAM,CAAC;gBACN,KAAK,CAAC,GAAG,CAAC,GAAG,CAAC,QAAQ,EAAE,GAAG,CAAC,CAAC;YAC/B,CAAC;YACD,QAAQ,CAAC,GAAG,CAAC,QAAQ,EAAE,KAAK,CAAC,CAAC;QAChC,CAAC,CAAC,CAAC;QAEH,MAAM,iBAAiB,GAAG,CAAC,KAAU,EAAY,EAAE;YACjD,IAAI,KAAK,CAAC,OAAO,CAAC,KAAK,CAAC,EAAE,CAAC;gBACzB,OAAO,KAAK,CAAC,GAAG,CAAC,CAAC,KAAK,EAAE,EAAE,CAAC,IAAI,CAAC,kBAAkB,CAAC,KAAK,CAAC,CAAC,CAAC,MAAM,CAAC,CAAC,CAAC,EAAe,EAAE,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC;YAC9F,CAAC;YACD,MAAM,MAAM,GAAG,IAAI,CAAC,kBAAkB,CAAC,KAAK,CAAC,CAAC;YAC9C,OAAO,MAAM,CAAC,CAAC,CAAC,CAAC,MAAM,CAAC,CAAC,CAAC,CAAC,EAAE,CAAC;QAChC,CAAC,CAAC;QAEF,MAAM,YAAY,GAAG,CAAC,SAA6B,EAAE,GAAQ,EAAE,MAAW,EAAO,EAAE;YACjF,MAAM,cAAc,GAAG,SAAS,CAAC,CAAC,CAAC,SAAS,CAAC,GAAG,CAAC,SAAS,CAAC,EAAE,GAAG,CAAC,MAAM,CAAC,IAAI,CAAC,IAAI,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC;YACzF,MAAM,IAAI,GAAG,cAAc,CAAC,MAAM,GAAG,CAAC,CAAC,CAAC,CAAC,cAAc,CAAC,CAAC,CAAC,iBAAiB,CAAC,GAAG,CAAC,CAAC;YACjF,MAAM,OAAO,GAAG,IAAI,CAAC,GAAG,CAAC,CAAC,GAAG,EAAE,EAAE,CAAC,QAAQ,CAAC,GAAG,CAAC,GAAG,CAAC,IAAI,EAAE,KAAK,EAAE,GAAG,EAAE,EAAE,EAAE,IAAI,CAAC,oBAAoB,CAAC,GAAG,EAAE,KAAK,CAAC,EAAE,CAAC,CAAC;YAClH,IAAI,MAAM,CAAC,QAAQ,KAAK,OAAO,EAAE,CAAC;gBAChC,OAAO,OAAO,CAAC;YACjB,CAAC;YACD,OAAO,OAAO,CAAC,CAAC,CAAC,IAAI,IAAI,CAAC;QAC5B,CAAC,CAAC;QAEF,IAAI,CAAC,OAAO,CAAC,CAAC,GAAG,EAAE,EAAE;YACnB,MAAM,SAAS,GAAG,IAAI,CAAC,kBAAkB,CAAC,GAAG,CAAC,KAAK,CAAC,IAAI,GAAG,CAAC,OAAO,IAAI,GAAG,CAAC,GAAG,IAAI,GAAG,CAAC,EAAE,CAAC,CAAC;YAC1F,aAAa,CAAC,OAAO,CAAC,CAAC,GAAG,EAAE,EAAE;gBAC3B,GAAW,CAAC,GAAG,CAAC,IAAI,CAAC,GAAG,YAAY,CAAC,SAAS,EAAG,GAAW,CAAC,GAAG,CAAC,IAAI,CAAC,EAAE,GAAG,CAAC,CAAC;YAChF,CAAC,CAAC,CAAC;QACL,CAAC,CAAC,CAAC;QAEH,OAAO,IAAI,CAAC;IACd,CAAC;IAED;;;;;OAKG;IACK,cAAc,CAAC,IAA2B,EAAE,KAAoB;QACtE,IAAI,CAAC,IAAI,CAAC,MAAM;YAAE,OAAO,IAAI,CAAC;QAE9B,UAAU;QACV,MAAM,OAAO,GAAG,MAAM,CAAC,MAAM,CAAC,KAAK,CAAC,OAAO,IAAI,EAAE,CAAoB,CAAC;QACtE,MAAM,WAAW,GAAG,OAAO,CAAC,MAAM,CAAC,GAAG,CAAC,EAAE,CAAC,GAAG,CAAC,MAAM,EAAE,EAAE,CAAC,CAAC;QAE1D,IAAI,WAAW,CAAC,MAAM,KAAK,CAAC;YAAE,OAAO,IAAI,CAAC;QAE1C,iBAAiB;QACjB,MAAM,OAAO,GAAG,IAAI,CAAC,OAAO,CAAC,UAAU,EAAE,EAAE,CAAC;QAC5C,MAAM,QAAQ,GAAG,OAAO,EAAE,cAAc,EAAE,EAAE,IAAI,IAAI,eAAe,CAAC,OAAO,EAAE,SAAS,EAAE,EAAE,IAAI,EAAE,CAAC,CAAC;QAElG,aAAa;QACb,MAAM,UAAU,GAAe;YAC7B,OAAO,EAAE,OAAO,EAAE,SAAS,EAAE,EAAE;YAC/B,aAAa,EAAE,OAAO,EAAE,gBAAgB,EAAE,EAAE;YAC5C,iBAAiB,EAAE,OAAO,EAAE,oBAAoB,EAAE,EAAE;SACrD,CAAC;QAEF,OAAO,IAAI,CAAC,GAAG,CAAC,GAAG,CAAC,EAAE;YACpB,MAAM,MAAM,GAAG,EAAE,GAAG,GAAG,EAAE,CAAC;YAE1B,KAAK,MAAM,GAAG,IAAI,WAAW,EAAE,CAAC;gBAC9B,MAAM,KAAK,GAAG,GAAG,CAAC,GAAG,CAAC,IAAI,CAAC,CAAC;gBAC5B,IAAI,CAAC,KAAK;oBAAE,SAAS;gBAErB,SAAS;gBACT,IAAI,KAAK,CAAC,OAAO,CAAC,KAAK,CAAC,EAAE,CAAC;oBACzB,MAAM,CAAC,GAAG,CAAC,IAAI,CAAC,GAAG,KAAK,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE;wBAC/B,IAAI,OAAO,CAAC,KAAK,QAAQ,EAAE,CAAC;4BAC1B,OAAO,QAAQ,CAAC,aAAa,CAAC,CAAC,EAAE,GAAG,EAAE,UAAU,CAAC,CAAC;wBACpD,CAAC;wBACD,OAAO,CAAC,CAAC;oBACX,CAAC,CAAC,CAAC;gBACL,CAAC;qBAAM,IAAI,OAAO,KAAK,KAAK,QAAQ,EAAE,CAAC;oBACrC,MAAM,CAAC,GAAG,CAAC,IAAI,CAAC,GAAG,QAAQ,CAAC,aAAa,CAAC,KAAK,EAAE,GAAG,EAAE,UAAU,CAAC,CAAC;gBACpE,CAAC;YACH,CAAC;YAED,OAAO,MAAM,CAAC;QAChB,CAAC,CAAC,CAAC;IACL,CAAC;IAEO,2BAA2B,CAAC,SAAiB,EAAE,eAAwB;QAC7E,IAAI,eAAe,IAAI,SAAS,CAAC,UAAU,CAAC,eAAe,CAAC,EAAE,CAAC;YAC7D,OAAO,SAAS,CAAC,KAAK,CAAC,eAAe,CAAC,MAAM,CAAC,CAAC;QACjD,CAAC;QAED,MAAM,SAAS,GAAG,SAAS,CAAC,WAAW,CAAC,GAAG,CAAC,CAAC;QAC7C,IAAI,SAAS,KAAK,CAAC,CAAC,IAAI,SAAS,GAAG,SAAS,CAAC,MAAM,GAAG,CAAC,EAAE,CAAC;YACzD,OAAO,SAAS,CAAC,KAAK,CAAC,SAAS,GAAG,CAAC,CAAC,CAAC;QACxC,CAAC;QAED,MAAM,UAAU,GAAG,SAAS,CAAC,WAAW,CAAC,GAAG,CAAC,CAAC;QAC9C,IAAI,UAAU,KAAK,CAAC,CAAC,IAAI,UAAU,GAAG,SAAS,CAAC,MAAM,GAAG,CAAC,EAAE,CAAC;YAC3D,OAAO,SAAS,CAAC,KAAK,CAAC,UAAU,GAAG,CAAC,CAAC,CAAC;QACzC,CAAC;QAED,OAAO,SAAS,CAAC;IACnB,CAAC;IAEO,0BAA0B,CAAC,KAAU;QAC3C,IAAI,KAAK,KAAK,IAAI,IAAI,KAAK,KAAK,SAAS;YAAE,OAAO,SAAS,CAAC;QAC5D,IAAI,OAAO,KAAK,KAAK,QAAQ,IAAI,OAAO,IAAI,KAAK,EAAE,CAAC;YAClD,MAAM,IAAI,GAAQ,KAAK,CAAC;YACxB,OAAO,IAAI,CAAC,KAAK,IAAI,SAAS,CAAC;QACjC,CAAC;QACD,OAAO,KAAK,CAAC;IACf,CAAC;IAEO,kBAAkB,CAAC,KAAU;QACnC,IAAI,CAAC,KAAK;YAAE,OAAO,SAAS,CAAC;QAC7B,IAAI,OAAO,KAAK,KAAK,QAAQ;YAAE,OAAO,KAAK,CAAC;QAC5C,IAAI,OAAO,KAAK,KAAK,QAAQ,IAAI,OAAO,KAAK,CAAC,KAAK,CAAC,KAAK,QAAQ;YAAE,OAAO,KAAK,CAAC,KAAK,CAAC,CAAC;QACvF,IAAI,OAAO,KAAK,KAAK,QAAQ,IAAI,OAAO,KAAK,CAAC,EAAE,KAAK,QAAQ,IAAI,KAAK,CAAC,EAAE,CAAC,QAAQ,CAAC,MAAM,CAAC;YAAE,OAAO,KAAK,CAAC,EAAE,CAAC;QAC5G,IAAI,OAAO,KAAK,KAAK,QAAQ,IAAI,OAAO,KAAK,CAAC,KAAK,KAAK,QAAQ;YAAE,OAAO,KAAK,CAAC,KAAK,CAAC;QACrF,OAAO,SAAS,CAAC;IACnB,CAAC;IAEO,oBAAoB,CAAC,IAA2B;QACtD,IAAI,IAAI,CAAC,cAAc,CAAC,MAAM,KAAK,CAAC,IAAI,IAAI,CAAC,MAAM,GAAG,CAAC,EAAE,CAAC;YACxD,OAAO,IAAI,CAAC;QACd,CAAC;QAED,MAAM,MAAM,GAAG,CAAC,GAAG,IAAI,CAAC,CAAC;QACzB,MAAM,CAAC,IAAI,CAAC,CAAC,OAAO,EAAE,QAAQ,EAAE,EAAE;YAChC,KAAK,MAAM,MAAM,IAAI,IAAI,CAAC,cAAc,EAAE,CAAC;gBACzC,MAAM,SAAS,GAAG,IAAI,CAAC,eAAe,CAAC,OAAO,EAAE,MAAM,CAAC,MAAM,CAAC,CAAC;gBAC/D,MAAM,UAAU,GAAG,IAAI,CAAC,eAAe,CAAC,QAAQ,EAAE,MAAM,CAAC,MAAM,CAAC,CAAC;gBACjE,MAAM,UAAU,GAAG,IAAI,CAAC,oBAAoB,CAAC,SAAS,EAAE,UAAU,CAAC,CAAC;gBACpE,IAAI,UAAU,KAAK,CAAC,EAAE,CAAC;oBACrB,OAAO,MAAM,CAAC,SAAS,KAAK,MAAM,CAAC,CAAC,CAAC,CAAC,UAAU,CAAC,CAAC,CAAC,UAAU,CAAC;gBAChE,CAAC;YACH,CAAC;YAED,OAAO,CAAC,CAAC;QACX,CAAC,CAAC,CAAC;QAEH,OAAO,MAAM,CAAC;IAChB,CAAC;IAEO,iBAAiB,CAAC,IAA2B;QACnD,IAAI,CAAC,IAAI,CAAC,UAAU,IAAI,IAAI,CAAC,MAAM,GAAG,CAAC,EAAE,CAAC;YACxC,OAAO,IAAI,CAAC;QACd,CAAC;QAED,MAAM,IAAI,GAAG,IAAI,GAAG,EAAU,CAAC;QAC/B,MAAM,OAAO,GAA0B,EAAE,CAAC;QAC1C,KAAK,MAAM,GAAG,IAAI,IAAI,EAAE,CAAC;YACvB,MAAM,GAAG,GAAG,IAAI,CAAC,oBAAoB,CAAC,GAAG,CAAC,CAAC;YAC3C,IAAI,IAAI,CAAC,GAAG,CAAC,GAAG,CAAC,EAAE,CAAC;gBAClB,SAAS;YACX,CAAC;YACD,IAAI,CAAC,GAAG,CAAC,GAAG,CAAC,CAAC;YACd,OAAO,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC;QACpB,CAAC;QAED,OAAO,OAAO,CAAC;IACjB,CAAC;IAEO,2BAA2B,CAAC,IAA2B;QAC7D,MAAM,MAAM,GAAG,IAAI,CAAC,WAAW,IAAI,CAAC,CAAC;QACrC,MAAM,UAAU,GAAG,MAAM,GAAG,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,KAAK,CAAC,MAAM,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC;QAE1D,IAAI,IAAI,CAAC,UAAU,KAAK,SAAS,EAAE,CAAC;YAClC,OAAO,UAAU,CAAC;QACpB,CAAC;QAED,OAAO,UAAU,CAAC,KAAK,CAAC,CAAC,EAAE,IAAI,CAAC,UAAU,CAAC,CAAC;IAC9C,CAAC;IAEO,eAAe,CAAC,GAAwB,EAAE,UAAkB;QAClE,IAAI,UAAU,IAAI,GAAG,EAAE,CAAC;YACtB,OAAO,GAAG,CAAC,UAAU,CAAC,CAAC;QACzB,CAAC;QAED,MAAM,QAAQ,GAAG,MAAM,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC,IAAI,CAAC,CAAC,GAAG,EAAE,EAAE,CAAC,GAAG,CAAC,QAAQ,CAAC,IAAI,UAAU,EAAE,CAAC,CAAC,CAAC;QAChF,IAAI,QAAQ,EAAE,CAAC;YACb,OAAO,GAAG,CAAC,QAAQ,CAAC,CAAC;QACvB,CAAC;QAED,OAAO,SAAS,CAAC;IACnB,CAAC;IAEO,oBAAoB,CAAC,IAAS,EAAE,KAAU;QAChD,IAAI,IAAI,KAAK,KAAK,EAAE,CAAC;YACnB,OAAO,CAAC,CAAC;QACX,CAAC;QAED,IAAI,IAAI,KAAK,SAAS,IAAI,IAAI,KAAK,IAAI,EAAE,CAAC;YACxC,OAAO,CAAC,CAAC;QACX,CAAC;QAED,IAAI,KAAK,KAAK,SAAS,IAAI,KAAK,KAAK,IAAI,EAAE,CAAC;YAC1C,OAAO,CAAC,CAAC,CAAC;QACZ,CAAC;QAED,IAAI,OAAO,IAAI,KAAK,QAAQ,IAAI,OAAO,KAAK,KAAK,QAAQ,EAAE,CAAC;YAC1D,OAAO,IAAI,GAAG,KAAK,CAAC;QACtB,CAAC;QAED,OAAO,MAAM,CAAC,IAAI,CAAC,CAAC,aAAa,CAAC,MAAM,CAAC,KAAK,CAAC,CAAC,CAAC;IACnD,CAAC;IAEO,kBAAkB,CAAC,IAA2B;QACpD,MAAM,MAAM,GAAG,IAAI,GAAG,EAA+B,CAAC;QACtD,MAAM,KAAK,GAAa,EAAE,CAAC;QAC3B,IAAI,CAAC,OAAO,CAAC,CAAC,GAAG,EAAE,EAAE;YACnB,MAAM,GAAG,GACP,IAAI,CAAC,kBAAkB,CAAC,GAAG,CAAC,KAAK,CAAC,CAAC;gBACnC,IAAI,CAAC,kBAAkB,CAAC,GAAG,CAAC,OAAO,CAAC;gBACpC,IAAI,CAAC,kBAAkB,CAAC,GAAG,CAAC,GAAG,CAAC;gBAChC,CAAC,OAAO,GAAG,CAAC,EAAE,KAAK,QAAQ,CAAC,CAAC,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,CAAC,SAAS,CAAC,CAAC;YACpD,IAAI,OAAO,CAAC,GAAG,CAAC,kBAAkB,KAAK,GAAG,EAAE,CAAC;gBAC3C,OAAO,CAAC,GAAG,CAAC,wBAAwB,EAAE,GAAG,CAAC,CAAC;YAC7C,CAAC;YACD,IAAI,CAAC,GAAG,EAAE,CAAC;gBACT,KAAK,CAAC,IAAI,CAAC,UAAU,KAAK,CAAC,MAAM,EAAE,CAAC,CAAC;gBACrC,MAAM,CAAC,GAAG,CAAC,KAAK,CAAC,KAAK,CAAC,MAAM,GAAG,CAAC,CAAC,EAAE,EAAE,GAAG,GAAG,EAAE,CAAC,CAAC;gBAChD,OAAO;YACT,CAAC;YACD,IAAI,CAAC,MAAM,CAAC,GAAG,CAAC,GAAG,CAAC,EAAE,CAAC;gBACrB,MAAM,CAAC,GAAG,CAAC,GAAG,EAAE,EAAE,GAAG,GAAG,EAAE,CAAC,CAAC;gBAC5B,KAAK,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC;gBAChB,OAAO;YACT,CAAC;YACD,MAAM,MAAM,GAAG,MAAM,CAAC,GAAG,CAAC,GAAG,CAAE,CAAC;YAChC,MAAM,iBAAiB,GAAG,CAAC,GAAY,EAAU,EAAE;gBACjD,IAAI,GAAG,YAAY,IAAI;oBAAE,OAAO,QAAQ,GAAG,CAAC,WAAW,EAAE,EAAE,CAAC;gBAC5D,IAAI,OAAO,GAAG,KAAK,QAAQ;oBAAE,OAAO,OAAO,GAAG,EAAE,CAAC;gBACjD,IAAI,OAAO,GAAG,KAAK,QAAQ;oBAAE,OAAO,OAAO,GAAG,EAAE,CAAC;gBACjD,IAAI,OAAO,GAAG,KAAK,SAAS;oBAAE,OAAO,QAAQ,GAAG,EAAE,CAAC;gBACnD,IAAI,GAAG,KAAK,IAAI,IAAI,GAAG,KAAK,SAAS;oBAAE,OAAO,KAAK,CAAC;gBACpD,IAAI,CAAC;oBACH,OAAO,OAAO,IAAI,CAAC,SAAS,CAAC,GAAG,CAAC,EAAE,CAAC;gBACtC,CAAC;gBAAC,MAAM,CAAC;oBACP,OAAO,OAAO,MAAM,CAAC,GAAG,CAAC,EAAE,CAAC;gBAC9B,CAAC;YACH,CAAC,CAAC;YAEF,MAAM,CAAC,OAAO,CAAC,GAAG,CAAC,CAAC,OAAO,CAAC,CAAC,CAAC,GAAG,EAAE,KAAK,CAAC,EAAE,EAAE;gBAC3C,IAAI,KAAK,KAAK,SAAS;oBAAE,OAAO;gBAChC,MAAM,QAAQ,GAAG,MAAM,CAAC,GAAG,CAAC,CAAC;gBAC7B,IAAI,QAAQ,KAAK,SAAS,EAAE,CAAC;oBAC3B,MAAM,CAAC,GAAG,CAAC,GAAG,KAAK,CAAC;oBACpB,OAAO;gBACT,CAAC;gBACD,MAAM,WAAW,GAAG,KAAK,CAAC,OAAO,CAAC,QAAQ,CAAC,CAAC,CAAC,CAAC,QAAQ,CAAC,CAAC,CAAC,CAAC,QAAQ,CAAC,CAAC;gBACpE,MAAM,WAAW,GAAG,KAAK,CAAC,OAAO,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC,KAAK,CAAC,CAAC;gBAC3D,MAAM,QAAQ,GAAG,CAAC,GAAG,WAAW,CAAC,CAAC;gBAClC,WAAW,CAAC,OAAO,CAAC,CAAC,KAAK,EAAE,EAAE;oBAC5B,MAAM,QAAQ,GAAG,iBAAiB,CAAC,KAAK,CAAC,CAAC;oBAC1C,IAAI,CAAC,QAAQ,CAAC,IAAI,CAAC,CAAC,IAAI,EAAE,EAAE,CAAC,iBAAiB,CAAC,IAAI,CAAC,KAAK,QAAQ,CAAC,EAAE,CAAC;wBACnE,QAAQ,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC;oBACvB,CAAC;gBACH,CAAC,CAAC,CAAC;gBAEH,MAAM,MAAM,GAAG,IAAI,CAAC,aAAa,EAAE,OAAO,CAAC,GAAG,CAAC,CAAC;gBAChD,MAAM,WAAW,GAAG,MAAM,EAAE,OAAO,EAAE,OAAO,IAAK,MAAc,EAAE,QAAQ,KAAK,OAAO,CAAC;gBAEtF,IAAI,CAAC,WAAW,IAAI,QAAQ,CAAC,MAAM,GAAG,CAAC,EAAE,CAAC;oBACtC,OAAO,CAAC,IAAI,CAAC,mEAAmE,GAAG,iBAAiB,GAAG,uBAAuB,CAAC,CAAC;oBAChI,MAAM,CAAC,GAAG,CAAC,GAAG,QAAQ,CAAC,CAAC,CAAC,CAAC;gBAC9B,CAAC;qBAAM,CAAC;oBACJ,sFAAsF;oBACtF,IAAI,WAAW,EAAE,CAAC;wBAChB,MAAM,CAAC,GAAG,CAAC,GAAG,QAAQ,CAAC;oBACzB,CAAC;yBAAM,CAAC;wBACN,MAAM,CAAC,GAAG,CAAC,GAAG,QAAQ,CAAC,MAAM,KAAK,CAAC,CAAC,CAAC,CAAC,QAAQ,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,QAAQ,CAAC;oBAC/D,CAAC;gBACL,CAAC;YACH,CAAC,CAAC,CAAC;QACL,CAAC,CAAC,CAAC;QACH,MAAM,MAAM,GAAG,KAAK,CAAC,GAAG,CAAC,CAAC,GAAG,EAAE,EAAE,CAAC,MAAM,CAAC,GAAG,CAAC,GAAG,CAAE,CAAC,CAAC;QACpD,OAAO,MAAM,CAAC;IAChB,CAAC;IAEO,oBAAoB,CAAC,QAAgB,EAAE,KAAoB;QACjE,IAAI,CAAC,QAAQ,EAAE,CAAC;YACd,OAAO,IAAI,CAAC,OAAO,CAAC,UAAU,EAAE,CAAC,SAAS,EAAE,CAAC;QAC/C,CAAC;QACD,MAAM,SAAS,GAAG,QAAQ,CAAC,OAAO,CAAC,GAAG,CAAC,CAAC;QACxC,IAAI,SAAS,GAAG,CAAC,EAAE,CAAC;YAClB,OAAO,QAAQ,CAAC,KAAK,CAAC,CAAC,EAAE,SAAS,CAAC,CAAC;QACtC,CAAC;QACD,MAAM,YAAY,GAAG,KAAK,CAAC,eAAe,EAAE,EAAE,IAAI,KAAK,CAAC,MAAM,CAAC,IAAI,IAAI,KAAK,CAAC,gBAAgB,EAAE,EAAE,CAAC;QAClG,IAAI,YAAY,EAAE,CAAC;YACjB,MAAM,QAAQ,GAAG,YAAY,CAAC,UAAU,CAAC,MAAM,CAAC;gBAC9C,CAAC,CAAC,YAAY;gBACd,CAAC,CAAC,GAAG,IAAI,CAAC,OAAO,CAAC,UAAU,EAAE,CAAC,SAAS,EAAE,GAAG,YAAY,CAAC,OAAO,CAAC,KAAK,EAAE,EAAE,CAAC,EAAE,CAAC;YACjF,OAAO,QAAQ,CAAC;QAClB,CAAC;QACD,OAAO,IAAI,CAAC,OAAO,CAAC,UAAU,EAAE,CAAC,SAAS,EAAE,CAAC;IAC/C,CAAC;IAEO,oBAAoB,CAAC,MAAqB;QAChD,IAAI,CAAC,MAAM;YAAE,OAAO,KAAK,CAAC;QAC1B,IAAI,MAAM,CAAC,QAAQ,KAAK,QAAQ,IAAI,MAAM,CAAC,QAAQ,KAAK,MAAM;YAAE,OAAO,IAAI,CAAC;QAC5E,IAAI,MAAM,CAAC,QAAQ,KAAK,OAAO,EAAE,CAAC;YAChC,MAAM,WAAW,GAAI,MAAc,CAAC,WAAW,IAAI,MAAM,CAAC,OAAO,EAAE,QAAQ,CAAC;YAC5E,OAAO,WAAW,KAAK,QAAQ,IAAI,WAAW,KAAK,MAAM,CAAC;QAC5D,CAAC;QACD,OAAO,KAAK,CAAC;IACf,CAAC;IAEO,KAAK,CAAC,iBAAiB,CAAC,IAA2B;QACzD,IAAI,YAAY,GAAG,IAAI,CAAC;QAExB,KAAK,MAAM,IAAI,IAAI,IAAI,CAAC,KAAK,EAAE,CAAC;YAC9B,MAAM,QAAQ,GAAG,MAAM,IAAI,CAAC,aAAa,CAAC,IAAI,EAAE,YAAY,CAAC,CAAC;YAC9D,YAAY,GAAG,IAAI,CAAC,iBAAiB,CAAC,YAAY,EAAE,IAAI,EAAE,QAAQ,CAAC,CAAC;QACtE,CAAC;QAED,OAAO,YAAY,CAAC;IACtB,CAAC;IAEO,KAAK,CAAC,aAAa,CACzB,IAKC,EACD,QAA+B;QAE/B,IAAI,IAAI,CAAC,IAAI,KAAK,WAAW,EAAE,CAAC;YAC9B,MAAM,QAAQ,GAAG,MAAM,IAAI,CAAC,OAAO,CAAC,MAAM,EAAE,CAAC,IAAI,CAAC,IAAI,CAAC,KAAK,CAA0B,CAAC;YACvF,OAAO,IAAI,CAAC,iBAAiB,CAAC,IAAI,EAAE,QAAQ,CAAC,CAAC;QAChD,CAAC;QAED,MAAM,UAAU,GAAG,IAAI,CAAC,kBAAkB,IAAI,EAAE,CAAC;QACjD,IAAI,UAAU,CAAC,MAAM,KAAK,CAAC,EAAE,CAAC;YAC5B,OAAO,EAAE,CAAC;QACZ,CAAC;QAED,MAAM,CAAC,gBAAgB,CAAC,GAAG,UAAU,CAAC;QACtC,MAAM,OAAO,GAAG,gBAAgB,CAAC,IAAI,CAAC,KAAK,KAAK,IAAI,CAAC,KAAK,CAAC,CAAC,CAAC,gBAAgB,CAAC,IAAI,CAAC,CAAC,CAAC,gBAAgB,CAAC,KAAK,CAAC;QAC5G,MAAM,OAAO,GAAG,OAAO,KAAK,gBAAgB,CAAC,IAAI,CAAC,CAAC,CAAC,gBAAgB,CAAC,KAAK,CAAC,CAAC,CAAC,gBAAgB,CAAC,IAAI,CAAC;QAEnG,MAAM,YAAY,GAAG,IAAI,GAAG,EAAe,CAAC;QAC5C,KAAK,MAAM,GAAG,IAAI,QAAQ,EAAE,CAAC;YAC3B,MAAM,KAAK,GAAG,IAAI,CAAC,oBAAoB,CAAC,GAAG,EAAE,OAAO,CAAC,CAAC;YACtD,IAAI,KAAK,KAAK,SAAS,IAAI,KAAK,KAAK,IAAI,EAAE,CAAC;gBAC1C,SAAS;YACX,CAAC;YACD,MAAM,GAAG,GAAG,IAAI,CAAC,oBAAoB,CAAC,KAAK,CAAC,CAAC;YAC7C,IAAI,CAAC,YAAY,CAAC,GAAG,CAAC,GAAG,CAAC,EAAE,CAAC;gBAC3B,YAAY,CAAC,GAAG,CAAC,GAAG,EAAE,KAAK,CAAC,CAAC;YAC/B,CAAC;QACH,CAAC;QAED,IAAI,YAAY,CAAC,IAAI,KAAK,CAAC,EAAE,CAAC;YAC5B,OAAO,EAAE,CAAC;QACZ,CAAC;QAED,MAAM,WAAW,GAAG,KAAK,CAAC,IAAI,CAAC,YAAY,CAAC,MAAM,EAAE,CAAC,CAAC;QAEtD,MAAM,kBAAkB,GAAG,IAAI,CAAC,KAAK,CAAC,SAAS,CAAC,OAAO,CAAC,MAAM,CAAC,CAAC;QAChE,IAAI,SAAS,GAAG,IAAI,CAAC,OAAO,CAAC,MAAM,EAAE,CAAC,IAAI,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC;QAEvD,IAAI,kBAAkB,IAAI,OAAO,CAAC,MAAM,KAAK,IAAI,EAAE,CAAC;YAClD,SAAS,GAAG,SAAS,CAAC,KAAK,CAAC,OAAO,CAAC,kBAAkB,EAAE,WAAW,CAAC,CAAC,CAAC;QACxE,CAAC;QAED,MAAM,QAAQ,GAAG,MAAM,SAAkC,CAAC;QAC1D,OAAO,IAAI,CAAC,iBAAiB,CAAC,IAAI,EAAE,QAAQ,CAAC,CAAC;IAChD,CAAC;IAEO,iBAAiB,CACvB,IAGC,EACD,IAA2B;QAE3B,OAAO,IAAI,CAAC,GAAG,CAAC,CAAC,GAAG,EAAE,EAAE;YACtB,MAAM,UAAU,GAAwB,EAAE,CAAC;YAC3C,KAAK,MAAM,CAAC,GAAG,EAAE,KAAK,CAAC,IAAI,MAAM,CAAC,OAAO,CAAC,GAAG,CAAC,EAAE,CAAC;gBAC/C,UAAU,CAAC,GAAG,IAAI,CAAC,KAAK,IAAI,GAAG,EAAE,CAAC,GAAG,KAAK,CAAC;YAC7C,CAAC;YAED,MAAM,YAAY,GAAG,GAAG,CAAC,OAA6B,CAAC;YACvD,IAAI,YAAY,EAAE,CAAC;gBACjB,UAAU,CAAC,OAAO,GAAG,YAAY,CAAC;gBAClC,UAAU,CAAC,KAAK,CAAC,GAAG,YAAY,CAAC;gBACjC,UAAU,CAAC,GAAG,GAAG,YAAY,CAAC;gBAC9B,UAAU,CAAC,GAAG,IAAI,CAAC,KAAK,UAAU,CAAC,GAAG,YAAY,CAAC;gBACnD,UAAU,CAAC,GAAG,IAAI,CAAC,KAAK,MAAM,CAAC,GAAG,YAAY,CAAC;gBAC/C,UAAU,CAAC,GAAG,IAAI,CAAC,KAAK,MAAM,CAAC,GAAG,YAAY,CAAC;gBAC/C,MAAM,EAAE,GAAG,IAAI,CAAC,oBAAoB,CAAC,YAAY,EAAE,IAAI,CAAC,KAAK,CAAC,CAAC;gBAC/D,IAAI,EAAE,KAAK,SAAS,EAAE,CAAC;oBACrB,UAAU,CAAC,GAAG,IAAI,CAAC,KAAK,KAAK,CAAC,GAAG,EAAE,CAAC;gBACtC,CAAC;YACH,CAAC;YAED,OAAO,UAAU,CAAC;QACpB,CAAC,CAAC,CAAC;IACL,CAAC;IAEO,iBAAiB,CACvB,QAA+B,EAC/B,IAKC,EACD,QAA+B;QAE/B,IAAI,IAAI,CAAC,IAAI,KAAK,WAAW,EAAE,CAAC;YAC9B,IAAI,QAAQ,CAAC,MAAM,KAAK,CAAC,IAAI,QAAQ,CAAC,MAAM,KAAK,CAAC,EAAE,CAAC;gBACnD,OAAO,EAAE,CAAC;YACZ,CAAC;YAED,MAAM,MAAM,GAA0B,EAAE,CAAC;YACzC,KAAK,MAAM,OAAO,IAAI,QAAQ,EAAE,CAAC;gBAC/B,KAAK,MAAM,OAAO,IAAI,QAAQ,EAAE,CAAC;oBAC/B,MAAM,CAAC,IAAI,CAAC,EAAE,GAAG,OAAO,EAAE,GAAG,OAAO,EAAE,CAAC,CAAC;gBAC1C,CAAC;YACH,CAAC;YACD,OAAO,MAAM,CAAC;QAChB,CAAC;QAED,MAAM,UAAU,GAAG,IAAI,CAAC,kBAAkB,IAAI,EAAE,CAAC;QACjD,IAAI,UAAU,CAAC,MAAM,KAAK,CAAC,EAAE,CAAC;YAC5B,OAAO,QAAQ,CAAC;QAClB,CAAC;QAED,MAAM,CAAC,gBAAgB,CAAC,GAAG,UAAU,CAAC;QACtC,MAAM,OAAO,GAAG,gBAAgB,CAAC,IAAI,CAAC,KAAK,KAAK,IAAI,CAAC,KAAK,CAAC,CAAC,CAAC,gBAAgB,CAAC,IAAI,CAAC,CAAC,CAAC,gBAAgB,CAAC,KAAK,CAAC;QAC5G,MAAM,OAAO,GAAG,OAAO,KAAK,gBAAgB,CAAC,IAAI,CAAC,CAAC,CAAC,gBAAgB,CAAC,KAAK,CAAC,CAAC,CAAC,gBAAgB,CAAC,IAAI,CAAC;QAEnG,MAAM,YAAY,GAAG,IAAI,GAAG,EAAiC,CAAC;QAC9D,KAAK,MAAM,OAAO,IAAI,QAAQ,EAAE,CAAC;YAC/B,MAAM,KAAK,GAAG,IAAI,CAAC,oBAAoB,CAAC,OAAO,EAAE,OAAO,CAAC,CAAC;YAC1D,IAAI,KAAK,KAAK,SAAS,IAAI,KAAK,KAAK,IAAI,EAAE,CAAC;gBAC1C,SAAS;YACX,CAAC;YACD,MAAM,GAAG,GAAG,IAAI,CAAC,oBAAoB,CAAC,KAAK,CAAC,CAAC;YAC7C,IAAI,CAAC,YAAY,CAAC,GAAG,CAAC,GAAG,CAAC,EAAE,CAAC;gBAC3B,YAAY,CAAC,GAAG,CAAC,GAAG,EAAE,EAAE,CAAC,CAAC;YAC5B,CAAC;YACD,YAAY,CAAC,GAAG,CAAC,GAAG,CAAE,CAAC,IAAI,CAAC,OAAO,CAAC,CAAC;QACvC,CAAC;QAED,MAAM,MAAM,GAA0B,EAAE,CAAC;QACzC,KAAK,MAAM,OAAO,IAAI,QAAQ,EAAE,CAAC;YAC/B,MAAM,SAAS,GAAG,IAAI,CAAC,oBAAoB,CAAC,OAAO,EAAE,OAAO,CAAC,CAAC;YAC9D,MAAM,GAAG,GAAG,IAAI,CAAC,oBAAoB,CAAC,SAAS,CAAC,CAAC;YACjD,MAAM,OAAO,GAAG,SAAS,KAAK,SAAS,IAAI,SAAS,KAAK,IAAI,CAAC,CAAC,CAAC,YAAY,CAAC,GAAG,CAAC,GAAG,CAAC,IAAI,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC;YAEjG,IAAI,OAAO,CAAC,MAAM,KAAK,CAAC,EAAE,CAAC;gBACzB,IAAI,IAAI,CAAC,IAAI,KAAK,WAAW,EAAE,CAAC;oBAC9B,SAAS;gBACX,CAAC;gBACD,MAAM,CAAC,IAAI,CAAC,EAAE,GAAG,OAAO,EAAE,GAAG,IAAI,CAAC,kBAAkB,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC;gBAC9D,SAAS;YACX,CAAC;YAED,KAAK,MAAM,KAAK,IAAI,OAAO,EAAE,CAAC;gBAC5B,MAAM,CAAC,IAAI,CAAC,EAAE,GAAG,OAAO,EAAE,GAAG,KAAK,EAAE,CAAC,CAAC;YACxC,CAAC;QACH,CAAC;QAED,OAAO,MAAM,CAAC;IAChB,CAAC;IAEO,kBAAkB,CAAC,IAA6C;QACtE,MAAM,KAAK,GAAwB,EAAE,CAAC;QACtC,KAAK,MAAM,UAAU,IAAI,MAAM,CAAC,IAAI,CAAC,IAAI,CAAC,KAAK,CAAC,OAAO,CAAC,EAAE,CAAC;YACzD,KAAK,CAAC,GAAG,IAAI,CAAC,KAAK,IAAI,UAAU,EAAE,CAAC,GAAG,SAAS,CAAC;QACnD,CAAC;QACD,KAAK,CAAC,GAAG,IAAI,CAAC,KAAK,UAAU,CAAC,GAAG,SAAS,CAAC;QAC3C,KAAK,CAAC,GAAG,IAAI,CAAC,KAAK,KAAK,CAAC,GAAG,SAAS,CAAC;QACtC,OAAO,KAAK,CAAC;IACf,CAAC;IAEO,gBAAgB,CAAC,IAA2B;QAClD,IAAI,IAAI,CAAC,WAAW,CAAC,MAAM,KAAK,CAAC,EAAE,CAAC;YAClC,OAAO,IAAI,CAAC;QACd,CAAC;QAED,OAAO,IAAI,CAAC,MAAM,CAAC,CAAC,GAAG,EAAE,EAAE,CAAC,IAAI,CAAC,WAAW,CAAC,KAAK,CAAC,CAAC,SAAS,EAAE,EAAE,CAAC,IAAI,CAAC,iBAAiB,CAAC,GAAG,EAAE,SAAS,CAAC,CAAC,CAAC,CAAC;IAC7G,CAAC;IAEO,iBAAiB,CAAC,IAA2B;QACnD,IAAI,CAAC,IAAI,CAAC,eAAe,EAAE,CAAC;YAC1B,OAAO,IAAI,CAAC;QACd,CAAC;QAED,OAAO,IAAI,CAAC,MAAM,CAAC,CAAC,GAAG,EAAE,EAAE,CAAC,IAAI,CAAC,iBAAiB,CAAC,GAAG,EAAE,IAAI,CAAC,eAAgB,CAAC,CAAC,CAAC;IAClF,CAAC;IAEO,iBAAiB,CAAC,GAAwB,EAAE,SAAyB;QAC3E,QAAQ,SAAS,CAAC,IAAI,EAAE,CAAC;YACvB,KAAK,aAAa;gBAChB,OAAO,IAAI,CAAC,uBAAuB,CAAC,GAAG,EAAE,SAAS,CAAC,CAAC;YACtD,KAAK,YAAY;gBACf,OAAO,IAAI,CAAC,sBAAsB,CAAC,GAAG,EAAE,SAAS,CAAC,CAAC;YACrD,KAAK,cAAc;gBACjB,OAAO,IAAI,CAAC,wBAAwB,CAAC,GAAG,EAAE,SAAS,CAAC,CAAC;YACvD;gBACE,OAAO,IAAI,CAAC;QAChB,CAAC;IACH,CAAC;IAEO,uBAAuB,CAAC,GAAwB,EAAE,SAAyB;QACjF,MAAM,IAAI,GAAI,SAAiB,CAAC,IAAI,CAAC;QACrC,MAAM,KAAK,GAAI,SAAiB,CAAC,KAAK,CAAC;QACvC,MAAM,EAAE,GAAI,SAAiB,CAAC,QAAQ,CAAC;QAEvC,IAAI,CAAC,IAAI,EAAE,CAAC;YACV,OAAO,IAAI,CAAC;QACd,CAAC;QAED,MAAM,KAAK,GAAG,IAAI,CAAC,4BAA4B,CAAC,GAAG,EAAE,IAAI,EAAE,IAAI,CAAC,YAAY,CAAC,CAAC;QAC9E,MAAM,MAAM,GAAG,IAAI,CAAC,4BAA4B,CAAC,GAAG,EAAE,KAAK,CAAC,CAAC;QAE7D,QAAQ,EAAE,CAAC,WAAW,EAAE,EAAE,CAAC;YACzB,KAAK,GAAG;gBACN,OAAO,KAAK,KAAK,MAAM,CAAC;YAC1B,KAAK,IAAI,CAAC;YACV,KAAK,IAAI;gBACP,OAAO,KAAK,KAAK,MAAM,CAAC;YAC1B,KAAK,GAAG;gBACN,OAAO,MAAM,CAAC,KAAK,CAAC,GAAG,MAAM,CAAC,MAAM,CAAC,CAAC;YACxC,KAAK,IAAI;gBACP,OAAO,MAAM,CAAC,KAAK,CAAC,IAAI,MAAM,CAAC,MAAM,CAAC,CAAC;YACzC,KAAK,GAAG;gBACN,OAAO,MAAM,CAAC,KAAK,CAAC,GAAG,MAAM,CAAC,MAAM,CAAC,CAAC;YACxC,KAAK,IAAI;gBACP,OAAO,MAAM,CAAC,KAAK,CAAC,IAAI,MAAM,CAAC,MAAM,CAAC,CAAC;YACzC,KAAK,IAAI;gBACP,OAAO,KAAK,CAAC,OAAO,CAAC,MAAM,CAAC,IAAI,MAAM,CAAC,QAAQ,CAAC,KAAK,CAAC,CAAC;YACzD,KAAK,QAAQ;gBACX,OAAO,KAAK,CAAC,OAAO,CAAC,MAAM,CAAC,IAAI,CAAC,MAAM,CAAC,QAAQ,CAAC,KAAK,CAAC,CAAC;YAC1D,KAAK,MAAM;gBACT,OAAO,OAAO,KAAK,KAAK,QAAQ,IAAI,OAAO,MAAM,KAAK,QAAQ,IAAI,IAAI,CAAC,gBAAgB,CAAC,KAAK,EAAE,MAAM,CAAC,CAAC;YACzG;gBACE,OAAO,IAAI,CAAC;QAChB,CAAC;IACH,CAAC;IAEO,sBAAsB,CAAC,GAAwB,EAAE,SAAyB;QAChF,MAAM,EAAE,GAAI,SAAiB,CAAC,QAAQ,CAAC;QACvC,MAAM,GAAG,GAAI,SAAiB,CAAC,KAAK,CAAC;QAErC,IAAI,EAAE,CAAC,WAAW,EAAE,KAAK,KAAK,EAAE,CAAC;YAC/B,OAAO,CAAC,IAAI,CAAC,iBAAiB,CAAC,GAAG,EAAE,GAAqB,CAAC,CAAC;QAC7D,CAAC;QAED,IAAI,CAAC,GAAG,EAAE,CAAC;YACT,OAAO,IAAI,CAAC;QACd,CAAC;QAED,MAAM,QAAQ,GAAG,IAAI,CAAC,4BAA4B,CAAC,GAAG,EAAE,GAAG,EAAE,IAAI,CAAC,YAAY,CAAC,CAAC;QAEhF,QAAQ,EAAE,CAAC,WAAW,EAAE,EAAE,CAAC;YACzB,KAAK,SAAS;gBACZ,OAAO,QAAQ,KAAK,IAAI,IAAI,QAAQ,KAAK,SAAS,CAAC;YACrD,KAAK,aAAa;gBAChB,OAAO,QAAQ,KAAK,IAAI,IAAI,QAAQ,KAAK,SAAS,CAAC;YACrD;gBACE,OAAO,IAAI,CAAC;QAChB,CAAC;IACH,CAAC;IAEO,wBAAwB,CAAC,GAAwB,EAAE,SAAyB;QAClF,MAAM,EAAE,GAAI,SAAiB,CAAC,QAAQ,CAAC;QACvC,MAAM,QAAQ,GAAI,SAAiB,CAAC,WAAW,IAAI,EAAE,CAAC;QACtD,IAAI,EAAE,CAAC,WAAW,EAAE,KAAK,KAAK,EAAE,CAAC;YAC/B,OAAO,QAAQ,CAAC,KAAK,CAAC,CAAC,KAAqB,EAAE,EAAE,CAAC,IAAI,CAAC,iBAAiB,CAAC,GAAG,EAAE,KAAK,CAAC,CAAC,CAAC;QACvF,CAAC;QACD,IAAI,EAAE,CAAC,WAAW,EAAE,KAAK,IAAI,EAAE,CAAC;YAC9B,OAAO,QAAQ,CAAC,IAAI,CAAC,CAAC,KAAqB,EAAE,EAAE,CAAC,IAAI,CAAC,iBAAiB,CAAC,GAAG,EAAE,KAAK,CAAC,CAAC,CAAC;QACtF,CAAC;QACD,OAAO,IAAI,CAAC;IACd,CAAC;IAEO,4BAA4B,CAClC,GAAwB,EACxB,OAAgB,EAChB,aAAsB;QAEtB,IAAI,OAAO,YAAY,wBAAwB,EAAE,CAAC;YAChD,OAAO,GAAG,CAAC,OAAO,CAAC,KAAK,CAAC,CAAC;QAC5B,CAAC;QAED,MAAM,SAAS,GAAG,IAAI,CAAC,2BAA2B,CAAC,OAAO,EAAE,aAAa,CAAC,CAAC;QAC3E,IAAI,SAAS,EAAE,CAAC;YACd,OAAO,IAAI,CAAC,oBAAoB,CAAC,GAAG,EAAE,SAAS,CAAC,CAAC;QACnD,CAAC;QAED,OAAO,OAAO,CAAC;IACjB,CAAC;IAEO,sBAAsB,CAAC,MAAuB;QACpD,MAAM,UAAU,GAAG,EAAc,CAAC;QAClC,MAAM,SAAS,GAAG,IAAI,CAAC,YAAY,CAAC;QACpC,IAAI,MAAM,CAAC,KAAK,KAAK,SAAS,EAAE,CAAC;YAC/B,UAAU,CAAC,IAAI,CAAC,MAAM,CAAC,MAAM,CAAC,CAAC;QACjC,CAAC;QACD,UAAU,CAAC,IAAI,CAAC,GAAG,MAAM,CAAC,KAAK,IAAI,MAAM,CAAC,MAAM,EAAE,CAAC,CAAC;QACpD,OAAO,UAAU,CAAC;IACpB,CAAC;IAEO,oBAAoB,CAAC,GAAwB,EAAE,MAAuB;QAC5E,MAAM,UAAU,GAAG,IAAI,CAAC,sBAAsB,CAAC,MAAM,CAAC,CAAC;QACvD,KAAK,MAAM,GAAG,IAAI,UAAU,EAAE,CAAC;YAC7B,IAAI,GAAG,IAAI,GAAG,EAAE,CAAC;gBACf,OAAO,GAAG,CAAC,GAAG,CAAC,CAAC;YAClB,CAAC;QACH,CAAC;QACD,OAAO,SAAS,CAAC;IACnB,CAAC;IAEO,oBAAoB,CAAC,KAAU;QACrC,IAAI,KAAK,KAAK,IAAI,EAAE,CAAC;YACnB,OAAO,MAAM,CAAC;QAChB,CAAC;QACD,IAAI,OAAO,KAAK,KAAK,QAAQ,EAAE,CAAC;YAC9B,OAAO,IAAI,CAAC,SAAS,CAAC,KAAK,CAAC,CAAC;QAC/B,CAAC;QACD,OAAO,MAAM,CAAC,KAAK,CAAC,CAAC;IACvB,CAAC;IAEO,oBAAoB,CAAC,OAAgB,EAAE,KAAqB;QAClE,IAAI,CAAC,OAAO,EAAE,CAAC;YACb,OAAO,SAAS,CAAC;QACnB,CAAC;QAED,6DAA6D;QAC7D,IAAI,KAAK,EAAE,CAAC;YACV,MAAM,OAAO,GAAG,IAAI,CAAC,OAAO,CAAC,UAAU,EAAE,EAAE,CAAC;YAC5C,MAAM,QAAQ,GAAG,OAAO,EAAE,cAAc,EAAE,EAAE,IAAI,IAAI,eAAe,CAAC,OAAO,EAAE,SAAS,EAAE,EAAE,IAAI,EAAE,CAAC,CAAC;YAClG,MAAM,MAAM,GAAG,QAAQ,CAAC,YAAY,CAAC,OAAO,EAAE,KAAK,CAAC,CAAC;YAErD,IAAI,MAAM,IAAI,MAAM,CAAC,EAAE,EAAE,CAAC;gBACxB,OAAO,MAAM,CAAC,EAAE,CAAC;YACnB,CAAC;QACH,CAAC;QAED,+CAA+C;QAC/C,MAAM,SAAS,GAAG,OAAO,CAAC,OAAO,CAAC,GAAG,CAAC,CAAC;QACvC,IAAI,SAAS,KAAK,CAAC,CAAC,EAAE,CAAC;YACrB,kCAAkC;YAClC,MAAM,UAAU,GAAG,OAAO,CAAC,KAAK,CAAC,SAAS,CAAC,CAAC;YAC5C,OAAO,UAAU,CAAC;QACpB,CAAC;QAED,+CAA+C;QAC/C,MAAM,SAAS,GAAG,OAAO,CAAC,WAAW,CAAC,GAAG,CAAC,CAAC;QAC3C,IAAI,SAAS,KAAK,CAAC,CAAC,EAAE,CAAC;YACrB,MAAM,SAAS,GAAG,OAAO,CAAC,KAAK,CAAC,SAAS,GAAG,CAAC,CAAC,CAAC;YAC/C,IAAI,SAAS,CAAC,MAAM,GAAG,CAAC,EAAE,CAAC;gBACzB,OAAO,SAAS,CAAC;YACnB,CAAC;QACH,CAAC;QAED,OAAO,SAAS,CAAC;IACnB,CAAC;IAEO,gBAAgB,CAAC,KAAa,EAAE,OAAe;QACrD,MAAM,OAAO,GAAG,OAAO,CAAC,OAAO,CAAC,mBAAmB,EAAE,MAAM,CAAC,CAAC;QAC7D,MAAM,KAAK,GAAG,IAAI,MAAM,CAAC,IAAI,OAAO,CAAC,OAAO,CAAC,IAAI,EAAE,IAAI,CAAC,CAAC,OAAO,CAAC,IAAI,EAAE,GAAG,CAAC,GAAG,EAAE,GAAG,CAAC,CAAC;QACrF,OAAO,KAAK,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC;IAC3B,CAAC;IAGD,KAAK,CAAC,oBAAoB,CAAC,KAAe,EAAE,SAAyB;QACnE,MAAM,OAAO,GAAG,IAAI,CAAC,OAAO,CAAC,MAAM,CAAC,EAAE,EAAE,EAAE,KAAK,CAAC,SAAS,CAAC,IAAI,CAAC,IAAI,KAAK,CAAC,OAAO,CAAC,EAAE,EAAE,CAAC;aACnF,IAAI,CAAC,KAAK,CAAC;aACX,KAAK,CAAC,SAAS,CAAC;aAChB,OAAO,CAAC,EAAE,KAAK,EAAE,KAAK,CAAC,OAAO,CAAC,EAAE,EAAE,CAAC,CAAC;QACxC,MAAM,IAAI,GAAG,MAAM,OAAO,CAAC;QAC3B,OAAO,IAAI;aACR,GAAG,CAAC,CAAC,GAAQ,EAAE,EAAE,CAAC,GAAG,CAAC,EAAE,IAAI,GAAG,CAAC,KAAK,CAAC,CAAC;aACvC,MAAM,CAAC,CAAC,KAAc,EAAmB,EAAE,CAAC,OAAO,KAAK,KAAK,QAAQ,IAAI,KAAK,CAAC,MAAM,GAAG,CAAC,CAAC,CAAC;IAChG,CAAC;IAED,YAAY;IACZ,IAAI,CACF,WAA0I,EAC1I,UAAmF;QAEnF,OAAO,IAAI,CAAC,OAAO,EAAE,CAAC,IAAI,CAAC,WAAW,EAAE,UAAU,CAAC,CAAC;IACtD,CAAC;;KA75DgB,UAAU;AAAX,sBAAY,GAAG,oBAAoB,AAAvB,CAAwB"}
@@ -3,8 +3,10 @@ import { QueryCondition } from '../query-conditions';
3
3
  import { AggregateExpression } from '../aggregates';
4
4
  import { PodOperation } from '../pod-dialect';
5
5
  import { SQL } from 'drizzle-orm';
6
- export type SelectField = PodColumnBase | string | AggregateExpression;
7
- export type SelectFieldMap = Record<string, SelectField>;
6
+ export type SelectField = PodColumnBase | PodTable<any> | string | AggregateExpression | SelectFieldMap;
7
+ export interface SelectFieldMap {
8
+ [key: string]: SelectField;
9
+ }
8
10
  export interface InsertQueryPlan<TTable extends PodTable<any> = PodTable<any>> {
9
11
  table: TTable;
10
12
  rows: InferInsertData<TTable>[];
@@ -18,7 +20,7 @@ export interface DeleteQueryPlan<TTable extends PodTable<any> = PodTable<any>> {
18
20
  table: TTable;
19
21
  where?: QueryCondition;
20
22
  }
21
- export type JoinType = 'leftJoin' | 'rightJoin' | 'innerJoin' | 'fullJoin';
23
+ export type JoinType = 'leftJoin' | 'rightJoin' | 'innerJoin' | 'fullJoin' | 'crossJoin';
22
24
  export interface ColumnReference {
23
25
  table: PodTable<any>;
24
26
  alias: string;
@@ -1 +1 @@
1
- {"version":3,"file":"types.d.ts","sourceRoot":"","sources":["../../../../src/core/query-builders/types.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,aAAa,EAAE,KAAK,eAAe,EAAE,KAAK,eAAe,EAAE,QAAQ,EAAE,MAAM,WAAW,CAAC;AAChG,OAAO,EAAE,cAAc,EAAE,MAAM,qBAAqB,CAAC;AACrD,OAAO,EAAE,mBAAmB,EAAE,MAAM,eAAe,CAAC;AACpD,OAAO,EAAE,YAAY,EAAE,MAAM,gBAAgB,CAAC;AAC9C,OAAO,EAAE,GAAG,EAAE,MAAM,aAAa,CAAC;AAElC,MAAM,MAAM,WAAW,GAAG,aAAa,GAAG,MAAM,GAAG,mBAAmB,CAAC;AACvE,MAAM,MAAM,cAAc,GAAG,MAAM,CAAC,MAAM,EAAE,WAAW,CAAC,CAAC;AAEzD,MAAM,WAAW,eAAe,CAAC,MAAM,SAAS,QAAQ,CAAC,GAAG,CAAC,GAAG,QAAQ,CAAC,GAAG,CAAC;IAC3E,KAAK,EAAE,MAAM,CAAC;IACd,IAAI,EAAE,eAAe,CAAC,MAAM,CAAC,EAAE,CAAC;CACjC;AAED,MAAM,WAAW,eAAe,CAAC,MAAM,SAAS,QAAQ,CAAC,GAAG,CAAC,GAAG,QAAQ,CAAC,GAAG,CAAC;IAC3E,KAAK,EAAE,MAAM,CAAC;IACd,IAAI,EAAE,eAAe,CAAC,MAAM,CAAC,CAAC;IAC9B,KAAK,EAAE,cAAc,CAAC;CACvB;AAED,MAAM,WAAW,eAAe,CAAC,MAAM,SAAS,QAAQ,CAAC,GAAG,CAAC,GAAG,QAAQ,CAAC,GAAG,CAAC;IAC3E,KAAK,EAAE,MAAM,CAAC;IACd,KAAK,CAAC,EAAE,cAAc,CAAC;CACxB;AAED,MAAM,MAAM,QAAQ,GAAG,UAAU,GAAG,WAAW,GAAG,WAAW,GAAG,UAAU,CAAC;AAE3E,MAAM,WAAW,eAAe;IAC9B,KAAK,EAAE,QAAQ,CAAC,GAAG,CAAC,CAAC;IACrB,KAAK,EAAE,MAAM,CAAC;IACd,MAAM,EAAE,MAAM,CAAC;CAChB;AAED,MAAM,WAAW,qBAAqB;IACpC,IAAI,EAAE,eAAe,CAAC;IACtB,KAAK,EAAE,eAAe,CAAC;CACxB;AAED,MAAM,WAAW,gBAAgB;IAC/B,OAAO,CAAC,SAAS,EAAE,YAAY,GAAG,OAAO,CAAC,GAAG,EAAE,CAAC,CAAC;IACjD,UAAU,CAAC,GAAG,EAAE,GAAG,EAAE,KAAK,EAAE,QAAQ,GAAG,OAAO,CAAC,GAAG,EAAE,CAAC,CAAC;IACtD,UAAU,IAAI,GAAG,CAAC;IAClB,MAAM,CAAC,MAAM,CAAC,EAAE,cAAc,GAAG,GAAG,CAAC;CACtC"}
1
+ {"version":3,"file":"types.d.ts","sourceRoot":"","sources":["../../../../src/core/query-builders/types.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,aAAa,EAAE,KAAK,eAAe,EAAE,KAAK,eAAe,EAAE,QAAQ,EAAE,MAAM,WAAW,CAAC;AAChG,OAAO,EAAE,cAAc,EAAE,MAAM,qBAAqB,CAAC;AACrD,OAAO,EAAE,mBAAmB,EAAE,MAAM,eAAe,CAAC;AACpD,OAAO,EAAE,YAAY,EAAE,MAAM,gBAAgB,CAAC;AAC9C,OAAO,EAAE,GAAG,EAAE,MAAM,aAAa,CAAC;AAElC,MAAM,MAAM,WAAW,GAAG,aAAa,GAAG,QAAQ,CAAC,GAAG,CAAC,GAAG,MAAM,GAAG,mBAAmB,GAAG,cAAc,CAAC;AACxG,MAAM,WAAW,cAAc;IAC7B,CAAC,GAAG,EAAE,MAAM,GAAG,WAAW,CAAC;CAC5B;AAED,MAAM,WAAW,eAAe,CAAC,MAAM,SAAS,QAAQ,CAAC,GAAG,CAAC,GAAG,QAAQ,CAAC,GAAG,CAAC;IAC3E,KAAK,EAAE,MAAM,CAAC;IACd,IAAI,EAAE,eAAe,CAAC,MAAM,CAAC,EAAE,CAAC;CACjC;AAED,MAAM,WAAW,eAAe,CAAC,MAAM,SAAS,QAAQ,CAAC,GAAG,CAAC,GAAG,QAAQ,CAAC,GAAG,CAAC;IAC3E,KAAK,EAAE,MAAM,CAAC;IACd,IAAI,EAAE,eAAe,CAAC,MAAM,CAAC,CAAC;IAC9B,KAAK,EAAE,cAAc,CAAC;CACvB;AAED,MAAM,WAAW,eAAe,CAAC,MAAM,SAAS,QAAQ,CAAC,GAAG,CAAC,GAAG,QAAQ,CAAC,GAAG,CAAC;IAC3E,KAAK,EAAE,MAAM,CAAC;IACd,KAAK,CAAC,EAAE,cAAc,CAAC;CACxB;AAED,MAAM,MAAM,QAAQ,GAAG,UAAU,GAAG,WAAW,GAAG,WAAW,GAAG,UAAU,GAAG,WAAW,CAAC;AAEzF,MAAM,WAAW,eAAe;IAC9B,KAAK,EAAE,QAAQ,CAAC,GAAG,CAAC,CAAC;IACrB,KAAK,EAAE,MAAM,CAAC;IACd,MAAM,EAAE,MAAM,CAAC;CAChB;AAED,MAAM,WAAW,qBAAqB;IACpC,IAAI,EAAE,eAAe,CAAC;IACtB,KAAK,EAAE,eAAe,CAAC;CACxB;AAED,MAAM,WAAW,gBAAgB;IAC/B,OAAO,CAAC,SAAS,EAAE,YAAY,GAAG,OAAO,CAAC,GAAG,EAAE,CAAC,CAAC;IACjD,UAAU,CAAC,GAAG,EAAE,GAAG,EAAE,KAAK,EAAE,QAAQ,GAAG,OAAO,CAAC,GAAG,EAAE,CAAC,CAAC;IACtD,UAAU,IAAI,GAAG,CAAC;IAClB,MAAM,CAAC,MAAM,CAAC,EAAE,cAAc,GAAG,GAAG,CAAC;CACtC"}
@@ -2,7 +2,7 @@ import { entityKind, SQL } from 'drizzle-orm';
2
2
  import { PodTable, InferUpdateData } from '../schema';
3
3
  import { PodAsyncSession } from '../pod-session';
4
4
  import { QueryCondition } from '../query-conditions';
5
- import { UpdateQueryPlan } from './types';
5
+ import { UpdateQueryPlan, type SelectFieldMap } from './types';
6
6
  export declare class UpdateQueryBuilder<TTable extends PodTable<any> = PodTable<any>> {
7
7
  session: PodAsyncSession;
8
8
  table: TTable;
@@ -11,27 +11,23 @@ export declare class UpdateQueryBuilder<TTable extends PodTable<any> = PodTable<
11
11
  whereConditions?: Record<string, any>;
12
12
  sql?: SQL;
13
13
  private conditionTree?;
14
+ private returningFields?;
14
15
  constructor(session: PodAsyncSession, table: TTable);
15
16
  set(data: InferUpdateData<TTable> | SQL): this;
17
+ returning(fields?: SelectFieldMap): this;
16
18
  where(conditions: Record<string, any> | SQL | QueryCondition): this;
17
- /**
18
- * Internal method that allows @id in conditions.
19
- * Used by *ByIri methods internally.
20
- * @internal
21
- */
22
19
  whereByIri(iri: string): this;
23
20
  private isQueryCondition;
24
21
  private convertQueryConditionToSimple;
25
22
  private normalizeWhereConditionsForUpdate;
26
23
  toIR: () => UpdateQueryPlan<TTable>;
24
+ private buildSPARQLQuery;
25
+ toSPARQL(): import("../ast-to-sparql").SPARQLQuery;
26
+ toSparql(): import("../ast-to-sparql").SPARQLQuery;
27
27
  execute(): Promise<any[]>;
28
- /**
29
- * Run afterUpdate hooks for all updated records.
30
- */
28
+ private fetchMatchedRows;
29
+ private fetchReturningRowsBySubjects;
31
30
  private runAfterUpdateHooks;
32
- /**
33
- * Build the HookContext from session info.
34
- */
35
31
  private buildHookContext;
36
32
  then<TResult1 = Awaited<ReturnType<UpdateQueryBuilder<TTable>['execute']>>, TResult2 = never>(onfulfilled?: ((value: Awaited<ReturnType<UpdateQueryBuilder<TTable>['execute']>>) => TResult1 | PromiseLike<TResult1>) | undefined | null, onrejected?: ((reason: any) => TResult2 | PromiseLike<TResult2>) | undefined | null): Promise<TResult1 | TResult2>;
37
33
  }
@@ -1 +1 @@
1
- {"version":3,"file":"update-query-builder.d.ts","sourceRoot":"","sources":["../../../../src/core/query-builders/update-query-builder.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,UAAU,EAAE,GAAG,EAAE,MAAM,aAAa,CAAC;AAC9C,OAAO,EAAE,QAAQ,EAAiB,eAAe,EAAe,MAAM,WAAW,CAAC;AAClF,OAAO,EAAE,eAAe,EAAgB,MAAM,gBAAgB,CAAC;AAC/D,OAAO,EAAE,cAAc,EAAE,MAAM,qBAAqB,CAAC;AACrD,OAAO,EAAE,eAAe,EAAE,MAAM,SAAS,CAAC;AAG1C,qBAAa,kBAAkB,CAAC,MAAM,SAAS,QAAQ,CAAC,GAAG,CAAC,GAAG,QAAQ,CAAC,GAAG,CAAC;IASjE,OAAO,EAAE,eAAe;IACxB,KAAK,EAAE,MAAM;IATtB,MAAM,CAAC,QAAQ,CAAC,CAAC,UAAU,CAAC,wBAAwB;IAE7C,UAAU,CAAC,EAAE,eAAe,CAAC,MAAM,CAAC,CAAC;IACrC,eAAe,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,GAAG,CAAC,CAAC;IACtC,GAAG,CAAC,EAAE,GAAG,CAAC;IACjB,OAAO,CAAC,aAAa,CAAC,CAAiB;gBAG9B,OAAO,EAAE,eAAe,EACxB,KAAK,EAAE,MAAM;IAGtB,GAAG,CAAC,IAAI,EAAE,eAAe,CAAC,MAAM,CAAC,GAAG,GAAG;IASvC,KAAK,CAAC,UAAU,EAAE,MAAM,CAAC,MAAM,EAAE,GAAG,CAAC,GAAG,GAAG,GAAG,cAAc;IAyB5D;;;;OAIG;IACH,UAAU,CAAC,GAAG,EAAE,MAAM;IAMtB,OAAO,CAAC,gBAAgB;IAIxB,OAAO,CAAC,6BAA6B;IAarC,OAAO,CAAC,iCAAiC;IAOlC,IAAI,QAAO,eAAe,CAAC,MAAM,CAAC,CAavC;IAEI,OAAO,IAAI,OAAO,CAAC,GAAG,EAAE,CAAC;IAuB/B;;OAEG;YACW,mBAAmB;IA2BjC;;OAEG;IACH,OAAO,CAAC,gBAAgB;IAsBxB,IAAI,CAAC,QAAQ,GAAG,OAAO,CAAC,UAAU,CAAC,kBAAkB,CAAC,MAAM,CAAC,CAAC,SAAS,CAAC,CAAC,CAAC,EAAE,QAAQ,GAAG,KAAK,EAC1F,WAAW,CAAC,EAAE,CAAC,CAAC,KAAK,EAAE,OAAO,CAAC,UAAU,CAAC,kBAAkB,CAAC,MAAM,CAAC,CAAC,SAAS,CAAC,CAAC,CAAC,KAAK,QAAQ,GAAG,WAAW,CAAC,QAAQ,CAAC,CAAC,GAAG,SAAS,GAAG,IAAI,EAC1I,UAAU,CAAC,EAAE,CAAC,CAAC,MAAM,EAAE,GAAG,KAAK,QAAQ,GAAG,WAAW,CAAC,QAAQ,CAAC,CAAC,GAAG,SAAS,GAAG,IAAI,GAClF,OAAO,CAAC,QAAQ,GAAG,QAAQ,CAAC;CAGhC"}
1
+ {"version":3,"file":"update-query-builder.d.ts","sourceRoot":"","sources":["../../../../src/core/query-builders/update-query-builder.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,UAAU,EAAE,GAAG,EAAE,MAAM,aAAa,CAAC;AAC9C,OAAO,EAAE,QAAQ,EAAE,eAAe,EAAe,MAAM,WAAW,CAAC;AACnE,OAAO,EAAE,eAAe,EAAgB,MAAM,gBAAgB,CAAC;AAC/D,OAAO,EAAE,cAAc,EAAE,MAAM,qBAAqB,CAAC;AACrD,OAAO,EAAE,eAAe,EAAE,KAAK,cAAc,EAAE,MAAM,SAAS,CAAC;AAS/D,qBAAa,kBAAkB,CAAC,MAAM,SAAS,QAAQ,CAAC,GAAG,CAAC,GAAG,QAAQ,CAAC,GAAG,CAAC;IAUjE,OAAO,EAAE,eAAe;IACxB,KAAK,EAAE,MAAM;IAVtB,MAAM,CAAC,QAAQ,CAAC,CAAC,UAAU,CAAC,wBAAwB;IAE7C,UAAU,CAAC,EAAE,eAAe,CAAC,MAAM,CAAC,CAAC;IACrC,eAAe,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,GAAG,CAAC,CAAC;IACtC,GAAG,CAAC,EAAE,GAAG,CAAC;IACjB,OAAO,CAAC,aAAa,CAAC,CAAiB;IACvC,OAAO,CAAC,eAAe,CAAC,CAAwB;gBAGvC,OAAO,EAAE,eAAe,EACxB,KAAK,EAAE,MAAM;IAGtB,GAAG,CAAC,IAAI,EAAE,eAAe,CAAC,MAAM,CAAC,GAAG,GAAG;IASvC,SAAS,CAAC,MAAM,CAAC,EAAE,cAAc;IAKjC,KAAK,CAAC,UAAU,EAAE,MAAM,CAAC,MAAM,EAAE,GAAG,CAAC,GAAG,GAAG,GAAG,cAAc;IAuB5D,UAAU,CAAC,GAAG,EAAE,MAAM;IAMtB,OAAO,CAAC,gBAAgB;IAIxB,OAAO,CAAC,6BAA6B;IAYrC,OAAO,CAAC,iCAAiC;IAOlC,IAAI,QAAO,eAAe,CAAC,MAAM,CAAC,CAavC;IAGF,OAAO,CAAC,gBAAgB;IAmBxB,QAAQ;IAIR,QAAQ;IAIF,OAAO,IAAI,OAAO,CAAC,GAAG,EAAE,CAAC;YAmCjB,gBAAgB;YAIhB,4BAA4B;YAwB5B,mBAAmB;IAuBjC,OAAO,CAAC,gBAAgB;IAsBxB,IAAI,CAAC,QAAQ,GAAG,OAAO,CAAC,UAAU,CAAC,kBAAkB,CAAC,MAAM,CAAC,CAAC,SAAS,CAAC,CAAC,CAAC,EAAE,QAAQ,GAAG,KAAK,EAC1F,WAAW,CAAC,EAAE,CAAC,CAAC,KAAK,EAAE,OAAO,CAAC,UAAU,CAAC,kBAAkB,CAAC,MAAM,CAAC,CAAC,SAAS,CAAC,CAAC,CAAC,KAAK,QAAQ,GAAG,WAAW,CAAC,QAAQ,CAAC,CAAC,GAAG,SAAS,GAAG,IAAI,EAC1I,UAAU,CAAC,EAAE,CAAC,CAAC,MAAM,EAAE,GAAG,KAAK,QAAQ,GAAG,WAAW,CAAC,QAAQ,CAAC,CAAC,GAAG,SAAS,GAAG,IAAI,GAClF,OAAO,CAAC,QAAQ,GAAG,QAAQ,CAAC;CAGhC"}
@@ -1,6 +1,6 @@
1
1
  var _a;
2
2
  import { entityKind, SQL } from 'drizzle-orm';
3
- import { buildConditionTreeFromObject } from './helpers';
3
+ import { buildConditionTreeFromObject, inferSPARQLQueryType, orderRowsBySubjects, projectReturningRows, resolveRowSubject, } from './helpers';
4
4
  export class UpdateQueryBuilder {
5
5
  constructor(session, table) {
6
6
  this.session = session;
@@ -29,8 +29,11 @@ export class UpdateQueryBuilder {
29
29
  }
30
30
  return this;
31
31
  }
32
+ returning(fields) {
33
+ this.returningFields = fields ?? true;
34
+ return this;
35
+ }
32
36
  where(conditions) {
33
- // console.log('[UpdateQueryBuilder] where() received:', conditions);
34
37
  if (conditions instanceof SQL) {
35
38
  if (!this.sql) {
36
39
  this.sql = conditions;
@@ -42,7 +45,6 @@ export class UpdateQueryBuilder {
42
45
  this.whereConditions = Object.keys(simple).length > 0 ? simple : undefined;
43
46
  }
44
47
  else {
45
- // Check for @id usage and reject
46
48
  if (conditions && typeof conditions === 'object' && '@id' in conditions) {
47
49
  throw new Error(`Using '@id' in where() is not supported. ` +
48
50
  `Use db.updateByIri(table, iri, data) for IRI-based updates, ` +
@@ -53,11 +55,6 @@ export class UpdateQueryBuilder {
53
55
  }
54
56
  return this;
55
57
  }
56
- /**
57
- * Internal method that allows @id in conditions.
58
- * Used by *ByIri methods internally.
59
- * @internal
60
- */
61
58
  whereByIri(iri) {
62
59
  this.whereConditions = { '@id': iri };
63
60
  this.conditionTree = undefined;
@@ -75,7 +72,6 @@ export class UpdateQueryBuilder {
75
72
  return { [colName]: right };
76
73
  }
77
74
  }
78
- // For complex conditions, temporarily return empty object; can be extended later
79
75
  return {};
80
76
  }
81
77
  normalizeWhereConditionsForUpdate() {
@@ -84,12 +80,43 @@ export class UpdateQueryBuilder {
84
80
  }
85
81
  return buildConditionTreeFromObject(this.whereConditions);
86
82
  }
83
+ buildSPARQLQuery(methodName = 'toSPARQL()') {
84
+ if (this.sql) {
85
+ const query = this.sql.queryChunks.join('');
86
+ const type = inferSPARQLQueryType(query);
87
+ if (!type) {
88
+ throw new Error(`${methodName} could not infer SPARQL query type from raw AST input`);
89
+ }
90
+ return { type, query, prefixes: {} };
91
+ }
92
+ const converter = this.session.getDialect().getSPARQLConverter?.();
93
+ if (!converter) {
94
+ throw new Error(`${methodName} requires dialect SPARQL converter support`);
95
+ }
96
+ const plan = this.toIR();
97
+ return converter.convertUpdate(plan.data, plan.where, plan.table);
98
+ }
99
+ toSPARQL() {
100
+ return this.buildSPARQLQuery('toSPARQL()');
101
+ }
102
+ toSparql() {
103
+ return this.toSPARQL();
104
+ }
87
105
  async execute() {
88
106
  if (this.sql) {
107
+ if (this.returningFields) {
108
+ throw new Error('returning() is not supported for raw SQL update in Solid dialect');
109
+ }
89
110
  return await this.session.executeSql(this.sql, this.table);
90
111
  }
91
112
  else if (this.updateData) {
92
113
  const plan = this.toIR();
114
+ const matchedRows = this.returningFields
115
+ ? await this.fetchMatchedRows(plan.where)
116
+ : [];
117
+ const subjects = matchedRows
118
+ .map((row) => resolveRowSubject(row))
119
+ .filter((subject) => typeof subject === 'string' && subject.length > 0);
93
120
  const operation = {
94
121
  type: 'update',
95
122
  table: this.table,
@@ -98,44 +125,59 @@ export class UpdateQueryBuilder {
98
125
  plan
99
126
  };
100
127
  const results = await this.session.execute(operation);
101
- // Call afterUpdate hooks
102
- await this.runAfterUpdateHooks(results);
103
- return results;
128
+ const finalResults = this.returningFields
129
+ ? await this.fetchReturningRowsBySubjects(subjects)
130
+ : results;
131
+ await this.runAfterUpdateHooks(finalResults);
132
+ return finalResults;
104
133
  }
105
134
  else {
106
135
  throw new Error('No data specified for UPDATE query');
107
136
  }
108
137
  }
109
- /**
110
- * Run afterUpdate hooks for all updated records.
111
- */
138
+ async fetchMatchedRows(where) {
139
+ return await this.session.select().from(this.table).where(where);
140
+ }
141
+ async fetchReturningRowsBySubjects(subjects) {
142
+ if (subjects.length === 0) {
143
+ return [];
144
+ }
145
+ const rows = await this.session.select().from(this.table).whereByIri(subjects);
146
+ const projected = projectReturningRows(orderRowsBySubjects(rows, subjects), this.returningFields);
147
+ const arrayOverrides = Object.entries(this.updateData ?? {}).filter(([, value]) => Array.isArray(value));
148
+ if (arrayOverrides.length === 0) {
149
+ return projected;
150
+ }
151
+ return projected.map((row) => {
152
+ const normalized = { ...row };
153
+ for (const [key, value] of arrayOverrides) {
154
+ if (key in normalized) {
155
+ normalized[key] = [...value];
156
+ }
157
+ }
158
+ return normalized;
159
+ });
160
+ }
112
161
  async runAfterUpdateHooks(results) {
113
162
  const hooks = this.table.config.hooks;
114
163
  if (!hooks?.afterUpdate) {
115
164
  return;
116
165
  }
117
- // Build hook context
118
166
  const ctx = this.buildHookContext();
119
167
  if (!ctx) {
120
168
  console.warn('[UpdateQueryBuilder] Cannot run hooks: missing session info');
121
169
  return;
122
170
  }
123
- // Get the changes that were made
124
171
  const changes = (this.updateData ?? {});
125
- // Run hook for each updated record
126
172
  for (const record of results) {
127
173
  try {
128
174
  await hooks.afterUpdate(ctx, record, changes);
129
175
  }
130
176
  catch (error) {
131
177
  console.error('[UpdateQueryBuilder] afterUpdate hook failed:', error);
132
- // Don't throw - the update succeeded, just the hook failed
133
178
  }
134
179
  }
135
180
  }
136
- /**
137
- * Build the HookContext from session info.
138
- */
139
181
  buildHookContext() {
140
182
  const dialect = this.session.getDialect();
141
183
  const webId = dialect.getWebId();
@@ -1 +1 @@
1
- {"version":3,"file":"update-query-builder.js","sourceRoot":"","sources":["../../../../src/core/query-builders/update-query-builder.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"update-query-builder.js","sourceRoot":"","sources":["../../../../src/core/query-builders/update-query-builder.ts"],"names":[],"mappings":"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"}
@@ -3,24 +3,25 @@
3
3
  * 提供类似 Drizzle 的查询条件函数
4
4
  */
5
5
  import { PodColumnBase } from './schema';
6
- import { BinaryExpression, LogicalExpression, UnaryExpression } from './expressions';
6
+ import { BinaryExpression, LogicalExpression, UnaryExpression, SPARQLExpression } from './expressions';
7
7
  export type QueryCondition = BinaryExpression | LogicalExpression | UnaryExpression;
8
8
  type AnyColumn = PodColumnBase<any, any, any, any>;
9
- export declare function eq(column: AnyColumn | string, value: any): QueryCondition;
10
- export declare function ne(column: AnyColumn | string, value: any): QueryCondition;
11
- export declare function gt(column: AnyColumn | string, value: any): QueryCondition;
12
- export declare function gte(column: AnyColumn | string, value: any): QueryCondition;
13
- export declare function lt(column: AnyColumn | string, value: any): QueryCondition;
14
- export declare function lte(column: AnyColumn | string, value: any): QueryCondition;
15
- export declare function like(column: AnyColumn | string, pattern: string): QueryCondition;
16
- export declare function ilike(column: AnyColumn | string, pattern: string): QueryCondition;
17
- export declare function between(column: AnyColumn | string, min: any, max: any): QueryCondition;
18
- export declare function notBetween(column: AnyColumn | string, min: any, max: any): QueryCondition;
19
- export declare function regex(column: AnyColumn | string, pattern: string, flags?: string): QueryCondition;
20
- export declare function inArray(column: AnyColumn | string, values: any[]): QueryCondition;
21
- export declare function notInArray(column: AnyColumn | string, values: any[]): QueryCondition;
22
- export declare function isNull(column: AnyColumn | string): QueryCondition;
23
- export declare function isNotNull(column: AnyColumn | string): QueryCondition;
9
+ type ConditionOperand = AnyColumn | SPARQLExpression | string;
10
+ export declare function eq(column: ConditionOperand, value: any): QueryCondition;
11
+ export declare function ne(column: ConditionOperand, value: any): QueryCondition;
12
+ export declare function gt(column: ConditionOperand, value: any): QueryCondition;
13
+ export declare function gte(column: ConditionOperand, value: any): QueryCondition;
14
+ export declare function lt(column: ConditionOperand, value: any): QueryCondition;
15
+ export declare function lte(column: ConditionOperand, value: any): QueryCondition;
16
+ export declare function like(column: ConditionOperand, pattern: string): QueryCondition;
17
+ export declare function ilike(column: ConditionOperand, pattern: string): QueryCondition;
18
+ export declare function between(column: ConditionOperand, min: any, max: any): QueryCondition;
19
+ export declare function notBetween(column: ConditionOperand, min: any, max: any): QueryCondition;
20
+ export declare function regex(column: ConditionOperand, pattern: string, flags?: string): QueryCondition;
21
+ export declare function inArray(column: ConditionOperand, values: any[]): QueryCondition;
22
+ export declare function notInArray(column: ConditionOperand, values: any[]): QueryCondition;
23
+ export declare function isNull(column: ConditionOperand): QueryCondition;
24
+ export declare function isNotNull(column: ConditionOperand): QueryCondition;
24
25
  export declare function and(...conditions: (QueryCondition | undefined | null | false)[]): QueryCondition;
25
26
  export declare function or(...conditions: (QueryCondition | undefined | null | false)[]): QueryCondition;
26
27
  export declare function not(condition: QueryCondition): QueryCondition;
@@ -1 +1 @@
1
- {"version":3,"file":"query-conditions.d.ts","sourceRoot":"","sources":["../../../src/core/query-conditions.ts"],"names":[],"mappings":"AAAA;;;GAGG;AAEH,OAAO,EAAE,aAAa,EAAE,MAAM,UAAU,CAAC;AACzC,OAAO,EAAE,gBAAgB,EAAE,iBAAiB,EAAE,eAAe,EAAE,MAAM,eAAe,CAAC;AAGrF,MAAM,MAAM,cAAc,GAAG,gBAAgB,GAAG,iBAAiB,GAAG,eAAe,CAAC;AAGpF,KAAK,SAAS,GAAG,aAAa,CAAC,GAAG,EAAE,GAAG,EAAE,GAAG,EAAE,GAAG,CAAC,CAAC;AAGnD,wBAAgB,EAAE,CAAC,MAAM,EAAE,SAAS,GAAG,MAAM,EAAE,KAAK,EAAE,GAAG,GAAG,cAAc,CAEzE;AAGD,wBAAgB,EAAE,CAAC,MAAM,EAAE,SAAS,GAAG,MAAM,EAAE,KAAK,EAAE,GAAG,GAAG,cAAc,CAEzE;AAGD,wBAAgB,EAAE,CAAC,MAAM,EAAE,SAAS,GAAG,MAAM,EAAE,KAAK,EAAE,GAAG,GAAG,cAAc,CAEzE;AAGD,wBAAgB,GAAG,CAAC,MAAM,EAAE,SAAS,GAAG,MAAM,EAAE,KAAK,EAAE,GAAG,GAAG,cAAc,CAE1E;AAGD,wBAAgB,EAAE,CAAC,MAAM,EAAE,SAAS,GAAG,MAAM,EAAE,KAAK,EAAE,GAAG,GAAG,cAAc,CAEzE;AAGD,wBAAgB,GAAG,CAAC,MAAM,EAAE,SAAS,GAAG,MAAM,EAAE,KAAK,EAAE,GAAG,GAAG,cAAc,CAE1E;AAGD,wBAAgB,IAAI,CAAC,MAAM,EAAE,SAAS,GAAG,MAAM,EAAE,OAAO,EAAE,MAAM,GAAG,cAAc,CAEhF;AAGD,wBAAgB,KAAK,CAAC,MAAM,EAAE,SAAS,GAAG,MAAM,EAAE,OAAO,EAAE,MAAM,GAAG,cAAc,CAEjF;AAGD,wBAAgB,OAAO,CAAC,MAAM,EAAE,SAAS,GAAG,MAAM,EAAE,GAAG,EAAE,GAAG,EAAE,GAAG,EAAE,GAAG,GAAG,cAAc,CAEtF;AAGD,wBAAgB,UAAU,CAAC,MAAM,EAAE,SAAS,GAAG,MAAM,EAAE,GAAG,EAAE,GAAG,EAAE,GAAG,EAAE,GAAG,GAAG,cAAc,CAEzF;AAGD,wBAAgB,KAAK,CAAC,MAAM,EAAE,SAAS,GAAG,MAAM,EAAE,OAAO,EAAE,MAAM,EAAE,KAAK,CAAC,EAAE,MAAM,GAAG,cAAc,CAEjG;AAGD,wBAAgB,OAAO,CAAC,MAAM,EAAE,SAAS,GAAG,MAAM,EAAE,MAAM,EAAE,GAAG,EAAE,GAAG,cAAc,CAEjF;AAGD,wBAAgB,UAAU,CAAC,MAAM,EAAE,SAAS,GAAG,MAAM,EAAE,MAAM,EAAE,GAAG,EAAE,GAAG,cAAc,CAEpF;AAGD,wBAAgB,MAAM,CAAC,MAAM,EAAE,SAAS,GAAG,MAAM,GAAG,cAAc,CAEjE;AAGD,wBAAgB,SAAS,CAAC,MAAM,EAAE,SAAS,GAAG,MAAM,GAAG,cAAc,CAEpE;AAGD,wBAAgB,GAAG,CAAC,GAAG,UAAU,EAAE,CAAC,cAAc,GAAG,SAAS,GAAG,IAAI,GAAG,KAAK,CAAC,EAAE,GAAG,cAAc,CAEhG;AAGD,wBAAgB,EAAE,CAAC,GAAG,UAAU,EAAE,CAAC,cAAc,GAAG,SAAS,GAAG,IAAI,GAAG,KAAK,CAAC,EAAE,GAAG,cAAc,CAE/F;AAGD,wBAAgB,GAAG,CAAC,SAAS,EAAE,cAAc,GAAG,cAAc,CAE7D;AAGD,wBAAgB,MAAM,CAAC,QAAQ,EAAE,MAAM,GAAG,cAAc,CAEvD;AAGD,wBAAgB,SAAS,CAAC,QAAQ,EAAE,MAAM,GAAG,cAAc,CAE1D;AAGD,eAAO,MAAM,UAAU;;;;;;;;;;;;;;;;;;;;;CAqBtB,CAAC;AAGF,eAAe,UAAU,CAAC"}
1
+ {"version":3,"file":"query-conditions.d.ts","sourceRoot":"","sources":["../../../src/core/query-conditions.ts"],"names":[],"mappings":"AAAA;;;GAGG;AAEH,OAAO,EAAE,aAAa,EAAE,MAAM,UAAU,CAAC;AACzC,OAAO,EAAE,gBAAgB,EAAE,iBAAiB,EAAE,eAAe,EAAE,gBAAgB,EAAE,MAAM,eAAe,CAAC;AAGvG,MAAM,MAAM,cAAc,GAAG,gBAAgB,GAAG,iBAAiB,GAAG,eAAe,CAAC;AAGpF,KAAK,SAAS,GAAG,aAAa,CAAC,GAAG,EAAE,GAAG,EAAE,GAAG,EAAE,GAAG,CAAC,CAAC;AACnD,KAAK,gBAAgB,GAAG,SAAS,GAAG,gBAAgB,GAAG,MAAM,CAAC;AAG9D,wBAAgB,EAAE,CAAC,MAAM,EAAE,gBAAgB,EAAE,KAAK,EAAE,GAAG,GAAG,cAAc,CAEvE;AAGD,wBAAgB,EAAE,CAAC,MAAM,EAAE,gBAAgB,EAAE,KAAK,EAAE,GAAG,GAAG,cAAc,CAEvE;AAGD,wBAAgB,EAAE,CAAC,MAAM,EAAE,gBAAgB,EAAE,KAAK,EAAE,GAAG,GAAG,cAAc,CAEvE;AAGD,wBAAgB,GAAG,CAAC,MAAM,EAAE,gBAAgB,EAAE,KAAK,EAAE,GAAG,GAAG,cAAc,CAExE;AAGD,wBAAgB,EAAE,CAAC,MAAM,EAAE,gBAAgB,EAAE,KAAK,EAAE,GAAG,GAAG,cAAc,CAEvE;AAGD,wBAAgB,GAAG,CAAC,MAAM,EAAE,gBAAgB,EAAE,KAAK,EAAE,GAAG,GAAG,cAAc,CAExE;AAGD,wBAAgB,IAAI,CAAC,MAAM,EAAE,gBAAgB,EAAE,OAAO,EAAE,MAAM,GAAG,cAAc,CAE9E;AAGD,wBAAgB,KAAK,CAAC,MAAM,EAAE,gBAAgB,EAAE,OAAO,EAAE,MAAM,GAAG,cAAc,CAE/E;AAGD,wBAAgB,OAAO,CAAC,MAAM,EAAE,gBAAgB,EAAE,GAAG,EAAE,GAAG,EAAE,GAAG,EAAE,GAAG,GAAG,cAAc,CAEpF;AAGD,wBAAgB,UAAU,CAAC,MAAM,EAAE,gBAAgB,EAAE,GAAG,EAAE,GAAG,EAAE,GAAG,EAAE,GAAG,GAAG,cAAc,CAEvF;AAGD,wBAAgB,KAAK,CAAC,MAAM,EAAE,gBAAgB,EAAE,OAAO,EAAE,MAAM,EAAE,KAAK,CAAC,EAAE,MAAM,GAAG,cAAc,CAE/F;AAGD,wBAAgB,OAAO,CAAC,MAAM,EAAE,gBAAgB,EAAE,MAAM,EAAE,GAAG,EAAE,GAAG,cAAc,CAE/E;AAGD,wBAAgB,UAAU,CAAC,MAAM,EAAE,gBAAgB,EAAE,MAAM,EAAE,GAAG,EAAE,GAAG,cAAc,CAElF;AAGD,wBAAgB,MAAM,CAAC,MAAM,EAAE,gBAAgB,GAAG,cAAc,CAE/D;AAGD,wBAAgB,SAAS,CAAC,MAAM,EAAE,gBAAgB,GAAG,cAAc,CAElE;AAGD,wBAAgB,GAAG,CAAC,GAAG,UAAU,EAAE,CAAC,cAAc,GAAG,SAAS,GAAG,IAAI,GAAG,KAAK,CAAC,EAAE,GAAG,cAAc,CAEhG;AAGD,wBAAgB,EAAE,CAAC,GAAG,UAAU,EAAE,CAAC,cAAc,GAAG,SAAS,GAAG,IAAI,GAAG,KAAK,CAAC,EAAE,GAAG,cAAc,CAE/F;AAGD,wBAAgB,GAAG,CAAC,SAAS,EAAE,cAAc,GAAG,cAAc,CAE7D;AAGD,wBAAgB,MAAM,CAAC,QAAQ,EAAE,MAAM,GAAG,cAAc,CAEvD;AAGD,wBAAgB,SAAS,CAAC,QAAQ,EAAE,MAAM,GAAG,cAAc,CAE1D;AAGD,eAAO,MAAM,UAAU;;;;;;;;;;;;;;;;;;;;;CAqBtB,CAAC;AAGF,eAAe,UAAU,CAAC"}