@coursebuilder/adapter-drizzle 2.1.0 → 3.0.0-canary.0.0c9beb2ae

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 (307) hide show
  1. package/dist/{chunk-KIQLUFJX.js → chunk-2GW3BJE2.js} +2 -2
  2. package/dist/{chunk-M3WM5Q7W.js → chunk-33ZN7FN7.js} +2 -2
  3. package/dist/chunk-4VZJQAPV.js +74 -0
  4. package/dist/chunk-5FLS4ZBX.js +109 -0
  5. package/dist/chunk-5YR5M22S.js +147 -0
  6. package/dist/chunk-6XQ6C3IX.js +18 -0
  7. package/dist/chunk-AIDM2CH6.js +146 -0
  8. package/dist/chunk-ALTODDUX.js +173 -0
  9. package/dist/chunk-AZY2VRAE.js +63 -0
  10. package/dist/chunk-BS7T27VL.js +239 -0
  11. package/dist/chunk-CN3FCRLR.js +55 -0
  12. package/dist/chunk-EAXC4CQD.js +245 -0
  13. package/dist/chunk-EDDG2YFS.js +249 -0
  14. package/dist/chunk-EDKWCMA7.js +210 -0
  15. package/dist/{chunk-CFSRMUNC.js → chunk-EDM6DKA5.js} +2 -2
  16. package/dist/{chunk-EZEQQJNH.js → chunk-EIQBTF5J.js} +2 -2
  17. package/dist/chunk-FYT7RTVW.js +248 -0
  18. package/dist/{chunk-DUFH5L2F.js → chunk-INZTF6QV.js} +2 -2
  19. package/dist/{chunk-3AF6MZQ7.js → chunk-JVHX4JHA.js} +2 -2
  20. package/dist/chunk-LWEKWDLC.js +300 -0
  21. package/dist/chunk-OJPEBGGE.js +139 -0
  22. package/dist/chunk-QKOSV34V.js +16268 -0
  23. package/dist/chunk-QO3QE3LE.js +330 -0
  24. package/dist/chunk-QQKNNFFB.js +399 -0
  25. package/dist/chunk-RBHCV3UW.js +20 -0
  26. package/dist/chunk-TNH2C27F.js +252 -0
  27. package/dist/chunk-TNWNW666.js +133 -0
  28. package/dist/chunk-VBEXYQ6L.js +156 -0
  29. package/dist/chunk-W3ILNMLD.js +265 -0
  30. package/dist/chunk-WJ2ZUXL3.js +71 -0
  31. package/dist/{chunk-4SWTV7Z3.js → chunk-WUMDFFN3.js} +2 -2
  32. package/dist/{chunk-FJGNLVE4.js → chunk-X7DRYXB7.js} +2 -2
  33. package/dist/{chunk-PNPTKVJ4.js → chunk-XUBZKYH6.js} +24 -15
  34. package/dist/{chunk-MYG6PCE3.js → chunk-ZY4AFKUQ.js} +2 -2
  35. package/dist/index.d.ts +5 -11
  36. package/dist/index.js +42 -19
  37. package/dist/lib/mysql/cms-resource-actions.cjs +15932 -4129
  38. package/dist/lib/mysql/cms-resource-actions.cjs.map +1 -1
  39. package/dist/lib/mysql/cms-resource-actions.d.cts +10 -25
  40. package/dist/lib/mysql/cms-resource-actions.d.ts +10 -25
  41. package/dist/lib/mysql/cms-resource-actions.js +2 -1
  42. package/dist/lib/mysql/context.cjs +3380 -0
  43. package/dist/lib/mysql/context.cjs.map +1 -0
  44. package/dist/lib/mysql/context.d.cts +15 -0
  45. package/dist/lib/mysql/context.d.ts +15 -0
  46. package/dist/lib/mysql/context.js +34 -0
  47. package/dist/lib/mysql/context.js.map +1 -0
  48. package/dist/lib/mysql/index.cjs +21648 -15013
  49. package/dist/lib/mysql/index.cjs.map +1 -1
  50. package/dist/lib/mysql/index.d.cts +24 -14300
  51. package/dist/lib/mysql/index.d.ts +24 -14300
  52. package/dist/lib/mysql/index.js +47 -23
  53. package/dist/lib/mysql/ports/auth-storage.cjs +84 -0
  54. package/dist/lib/mysql/ports/auth-storage.cjs.map +1 -0
  55. package/dist/lib/mysql/ports/auth-storage.d.cts +22 -0
  56. package/dist/lib/mysql/ports/auth-storage.d.ts +22 -0
  57. package/dist/lib/mysql/ports/auth-storage.js +8 -0
  58. package/dist/lib/mysql/ports/auth-storage.js.map +1 -0
  59. package/dist/lib/mysql/ports/catalog.cjs +16688 -0
  60. package/dist/lib/mysql/ports/catalog.cjs.map +1 -0
  61. package/dist/lib/mysql/ports/catalog.d.cts +24 -0
  62. package/dist/lib/mysql/ports/catalog.d.ts +24 -0
  63. package/dist/lib/mysql/ports/catalog.js +9 -0
  64. package/dist/lib/mysql/ports/catalog.js.map +1 -0
  65. package/dist/lib/mysql/ports/content-resource.cjs +321 -0
  66. package/dist/lib/mysql/ports/content-resource.cjs.map +1 -0
  67. package/dist/lib/mysql/ports/content-resource.d.cts +23 -0
  68. package/dist/lib/mysql/ports/content-resource.d.ts +23 -0
  69. package/dist/lib/mysql/ports/content-resource.js +8 -0
  70. package/dist/lib/mysql/ports/content-resource.js.map +1 -0
  71. package/dist/lib/mysql/ports/coupon.cjs +16524 -0
  72. package/dist/lib/mysql/ports/coupon.cjs.map +1 -0
  73. package/dist/lib/mysql/ports/coupon.d.cts +22 -0
  74. package/dist/lib/mysql/ports/coupon.d.ts +22 -0
  75. package/dist/lib/mysql/ports/coupon.js +9 -0
  76. package/dist/lib/mysql/ports/coupon.js.map +1 -0
  77. package/dist/lib/mysql/ports/entitlement.cjs +16350 -0
  78. package/dist/lib/mysql/ports/entitlement.cjs.map +1 -0
  79. package/dist/lib/mysql/ports/entitlement.d.cts +22 -0
  80. package/dist/lib/mysql/ports/entitlement.d.ts +22 -0
  81. package/dist/lib/mysql/ports/entitlement.js +9 -0
  82. package/dist/lib/mysql/ports/entitlement.js.map +1 -0
  83. package/dist/lib/mysql/ports/identity.cjs +154 -0
  84. package/dist/lib/mysql/ports/identity.cjs.map +1 -0
  85. package/dist/lib/mysql/ports/identity.d.cts +22 -0
  86. package/dist/lib/mysql/ports/identity.d.ts +22 -0
  87. package/dist/lib/mysql/ports/identity.js +8 -0
  88. package/dist/lib/mysql/ports/identity.js.map +1 -0
  89. package/dist/lib/mysql/ports/merchant.cjs +194 -0
  90. package/dist/lib/mysql/ports/merchant.cjs.map +1 -0
  91. package/dist/lib/mysql/ports/merchant.d.cts +22 -0
  92. package/dist/lib/mysql/ports/merchant.d.ts +22 -0
  93. package/dist/lib/mysql/ports/merchant.js +8 -0
  94. package/dist/lib/mysql/ports/merchant.js.map +1 -0
  95. package/dist/lib/mysql/ports/organization.cjs +16426 -0
  96. package/dist/lib/mysql/ports/organization.cjs.map +1 -0
  97. package/dist/lib/mysql/ports/organization.d.cts +22 -0
  98. package/dist/lib/mysql/ports/organization.d.ts +22 -0
  99. package/dist/lib/mysql/ports/organization.js +9 -0
  100. package/dist/lib/mysql/ports/organization.js.map +1 -0
  101. package/dist/lib/mysql/ports/progress.cjs +16544 -0
  102. package/dist/lib/mysql/ports/progress.cjs.map +1 -0
  103. package/dist/lib/mysql/ports/progress.d.cts +22 -0
  104. package/dist/lib/mysql/ports/progress.d.ts +22 -0
  105. package/dist/lib/mysql/ports/progress.js +9 -0
  106. package/dist/lib/mysql/ports/progress.js.map +1 -0
  107. package/dist/lib/mysql/ports/purchase.cjs +16609 -0
  108. package/dist/lib/mysql/ports/purchase.cjs.map +1 -0
  109. package/dist/lib/mysql/ports/purchase.d.cts +23 -0
  110. package/dist/lib/mysql/ports/purchase.d.ts +23 -0
  111. package/dist/lib/mysql/ports/purchase.js +9 -0
  112. package/dist/lib/mysql/ports/purchase.js.map +1 -0
  113. package/dist/lib/mysql/ports/subscription.cjs +76 -0
  114. package/dist/lib/mysql/ports/subscription.cjs.map +1 -0
  115. package/dist/lib/mysql/ports/subscription.d.cts +22 -0
  116. package/dist/lib/mysql/ports/subscription.d.ts +22 -0
  117. package/dist/lib/mysql/ports/subscription.js +8 -0
  118. package/dist/lib/mysql/ports/subscription.js.map +1 -0
  119. package/dist/lib/mysql/schema.cjs +3373 -0
  120. package/dist/lib/mysql/schema.cjs.map +1 -0
  121. package/dist/lib/mysql/schema.d.cts +14385 -0
  122. package/dist/lib/mysql/schema.d.ts +14385 -0
  123. package/dist/lib/mysql/schema.js +35 -0
  124. package/dist/lib/mysql/schema.js.map +1 -0
  125. package/dist/lib/mysql/schemas/auth/accounts.cjs.map +1 -1
  126. package/dist/lib/mysql/schemas/auth/accounts.js +6 -6
  127. package/dist/lib/mysql/schemas/auth/device-access-token.cjs.map +1 -1
  128. package/dist/lib/mysql/schemas/auth/device-access-token.js +7 -7
  129. package/dist/lib/mysql/schemas/auth/device-verification.cjs.map +1 -1
  130. package/dist/lib/mysql/schemas/auth/device-verification.js +7 -7
  131. package/dist/lib/mysql/schemas/auth/personal-access-token.cjs.map +1 -1
  132. package/dist/lib/mysql/schemas/auth/personal-access-token.js +7 -7
  133. package/dist/lib/mysql/schemas/auth/profiles.cjs.map +1 -1
  134. package/dist/lib/mysql/schemas/auth/profiles.js +6 -6
  135. package/dist/lib/mysql/schemas/auth/role-permissions.cjs.map +1 -1
  136. package/dist/lib/mysql/schemas/auth/role-permissions.js +7 -7
  137. package/dist/lib/mysql/schemas/auth/roles.cjs.map +1 -1
  138. package/dist/lib/mysql/schemas/auth/roles.js +6 -6
  139. package/dist/lib/mysql/schemas/auth/sessions.cjs.map +1 -1
  140. package/dist/lib/mysql/schemas/auth/sessions.js +7 -7
  141. package/dist/lib/mysql/schemas/auth/user-permissions.cjs.map +1 -1
  142. package/dist/lib/mysql/schemas/auth/user-permissions.js +6 -6
  143. package/dist/lib/mysql/schemas/auth/user-prefs.cjs.map +1 -1
  144. package/dist/lib/mysql/schemas/auth/user-prefs.js +6 -6
  145. package/dist/lib/mysql/schemas/auth/user-roles.cjs.map +1 -1
  146. package/dist/lib/mysql/schemas/auth/user-roles.js +6 -6
  147. package/dist/lib/mysql/schemas/auth/users.cjs +5 -1
  148. package/dist/lib/mysql/schemas/auth/users.cjs.map +1 -1
  149. package/dist/lib/mysql/schemas/auth/users.js +6 -6
  150. package/dist/lib/mysql/schemas/commerce/coupon.cjs.map +1 -1
  151. package/dist/lib/mysql/schemas/commerce/coupon.js +6 -6
  152. package/dist/lib/mysql/schemas/commerce/merchant-charge.cjs.map +1 -1
  153. package/dist/lib/mysql/schemas/commerce/merchant-charge.js +6 -6
  154. package/dist/lib/mysql/schemas/commerce/merchant-subscription.cjs.map +1 -1
  155. package/dist/lib/mysql/schemas/commerce/merchant-subscription.js +6 -6
  156. package/dist/lib/mysql/schemas/commerce/price.cjs.map +1 -1
  157. package/dist/lib/mysql/schemas/commerce/price.js +6 -6
  158. package/dist/lib/mysql/schemas/commerce/product.cjs.map +1 -1
  159. package/dist/lib/mysql/schemas/commerce/product.js +6 -6
  160. package/dist/lib/mysql/schemas/commerce/purchase-user-transfer.cjs.map +1 -1
  161. package/dist/lib/mysql/schemas/commerce/purchase-user-transfer.js +7 -7
  162. package/dist/lib/mysql/schemas/commerce/purchase.cjs +11 -2
  163. package/dist/lib/mysql/schemas/commerce/purchase.cjs.map +1 -1
  164. package/dist/lib/mysql/schemas/commerce/purchase.js +6 -6
  165. package/dist/lib/mysql/schemas/commerce/subscription.cjs +6 -1
  166. package/dist/lib/mysql/schemas/commerce/subscription.cjs.map +1 -1
  167. package/dist/lib/mysql/schemas/commerce/subscription.js +6 -6
  168. package/dist/lib/mysql/schemas/commerce/upgradable-products.cjs.map +1 -1
  169. package/dist/lib/mysql/schemas/commerce/upgradable-products.js +7 -7
  170. package/dist/lib/mysql/schemas/communication/comment.cjs +5 -1
  171. package/dist/lib/mysql/schemas/communication/comment.cjs.map +1 -1
  172. package/dist/lib/mysql/schemas/communication/comment.js +6 -6
  173. package/dist/lib/mysql/schemas/communication/communication-preferences.cjs +5 -1
  174. package/dist/lib/mysql/schemas/communication/communication-preferences.cjs.map +1 -1
  175. package/dist/lib/mysql/schemas/communication/communication-preferences.js +6 -6
  176. package/dist/lib/mysql/schemas/communication/question-response.cjs.map +1 -1
  177. package/dist/lib/mysql/schemas/communication/question-response.js +7 -7
  178. package/dist/lib/mysql/schemas/content/content-contributions.cjs +5 -1
  179. package/dist/lib/mysql/schemas/content/content-contributions.cjs.map +1 -1
  180. package/dist/lib/mysql/schemas/content/content-contributions.js +6 -6
  181. package/dist/lib/mysql/schemas/content/content-resource-product.cjs.map +1 -1
  182. package/dist/lib/mysql/schemas/content/content-resource-product.js +6 -6
  183. package/dist/lib/mysql/schemas/content/content-resource-resource.cjs.map +1 -1
  184. package/dist/lib/mysql/schemas/content/content-resource-resource.js +6 -6
  185. package/dist/lib/mysql/schemas/content/content-resource-tag.cjs.map +1 -1
  186. package/dist/lib/mysql/schemas/content/content-resource-tag.js +6 -6
  187. package/dist/lib/mysql/schemas/content/content-resource-version.cjs.map +1 -1
  188. package/dist/lib/mysql/schemas/content/content-resource-version.js +6 -6
  189. package/dist/lib/mysql/schemas/content/content-resource.cjs +5 -1
  190. package/dist/lib/mysql/schemas/content/content-resource.cjs.map +1 -1
  191. package/dist/lib/mysql/schemas/content/content-resource.js +6 -6
  192. package/dist/lib/mysql/schemas/content/tag-tag.cjs.map +1 -1
  193. package/dist/lib/mysql/schemas/content/tag-tag.js +6 -6
  194. package/dist/lib/mysql/schemas/content/tag.cjs.map +1 -1
  195. package/dist/lib/mysql/schemas/content/tag.js +6 -6
  196. package/dist/lib/mysql/schemas/entitlements/entitlement.cjs +11 -2
  197. package/dist/lib/mysql/schemas/entitlements/entitlement.cjs.map +1 -1
  198. package/dist/lib/mysql/schemas/entitlements/entitlement.js +7 -7
  199. package/dist/lib/mysql/schemas/org/organization-membership-roles.cjs +11 -2
  200. package/dist/lib/mysql/schemas/org/organization-membership-roles.cjs.map +1 -1
  201. package/dist/lib/mysql/schemas/org/organization-membership-roles.js +6 -6
  202. package/dist/lib/mysql/schemas/org/organization-memberships.cjs +11 -2
  203. package/dist/lib/mysql/schemas/org/organization-memberships.cjs.map +1 -1
  204. package/dist/lib/mysql/schemas/org/organization-memberships.d.cts +16 -0
  205. package/dist/lib/mysql/schemas/org/organization-memberships.d.ts +16 -0
  206. package/dist/lib/mysql/schemas/org/organization-memberships.js +6 -6
  207. package/dist/lib/mysql/schemas/org/organizations.cjs +11 -2
  208. package/dist/lib/mysql/schemas/org/organizations.cjs.map +1 -1
  209. package/dist/lib/mysql/schemas/org/organizations.d.cts +16 -0
  210. package/dist/lib/mysql/schemas/org/organizations.d.ts +16 -0
  211. package/dist/lib/mysql/schemas/org/organizations.js +6 -6
  212. package/dist/lib/mysql/workflows/content-resource-workflow-utils.cjs +40 -0
  213. package/dist/lib/mysql/workflows/content-resource-workflow-utils.cjs.map +1 -0
  214. package/dist/lib/mysql/workflows/content-resource-workflow-utils.d.cts +4 -0
  215. package/dist/lib/mysql/workflows/content-resource-workflow-utils.d.ts +4 -0
  216. package/dist/lib/mysql/workflows/content-resource-workflow-utils.js +10 -0
  217. package/dist/lib/mysql/workflows/content-resource-workflow-utils.js.map +1 -0
  218. package/dist/lib/mysql/workflows/create-cohort.cjs +184 -0
  219. package/dist/lib/mysql/workflows/create-cohort.cjs.map +1 -0
  220. package/dist/lib/mysql/workflows/create-cohort.d.cts +24 -0
  221. package/dist/lib/mysql/workflows/create-cohort.d.ts +24 -0
  222. package/dist/lib/mysql/workflows/create-cohort.js +9 -0
  223. package/dist/lib/mysql/workflows/create-cohort.js.map +1 -0
  224. package/dist/lib/mysql/workflows/create-event-series.cjs +283 -0
  225. package/dist/lib/mysql/workflows/create-event-series.cjs.map +1 -0
  226. package/dist/lib/mysql/workflows/create-event-series.d.cts +24 -0
  227. package/dist/lib/mysql/workflows/create-event-series.d.ts +24 -0
  228. package/dist/lib/mysql/workflows/create-event-series.js +9 -0
  229. package/dist/lib/mysql/workflows/create-event-series.js.map +1 -0
  230. package/dist/lib/mysql/workflows/create-event.cjs +194 -0
  231. package/dist/lib/mysql/workflows/create-event.cjs.map +1 -0
  232. package/dist/lib/mysql/workflows/create-event.d.cts +24 -0
  233. package/dist/lib/mysql/workflows/create-event.d.ts +24 -0
  234. package/dist/lib/mysql/workflows/create-event.js +9 -0
  235. package/dist/lib/mysql/workflows/create-event.js.map +1 -0
  236. package/dist/lib/mysql/workflows/create-merchant-charge-and-purchase.cjs +231 -0
  237. package/dist/lib/mysql/workflows/create-merchant-charge-and-purchase.cjs.map +1 -0
  238. package/dist/lib/mysql/workflows/create-merchant-charge-and-purchase.d.cts +22 -0
  239. package/dist/lib/mysql/workflows/create-merchant-charge-and-purchase.d.ts +22 -0
  240. package/dist/lib/mysql/workflows/create-merchant-charge-and-purchase.js +8 -0
  241. package/dist/lib/mysql/workflows/create-merchant-charge-and-purchase.js.map +1 -0
  242. package/dist/lib/mysql/workflows/create-workshop.cjs +286 -0
  243. package/dist/lib/mysql/workflows/create-workshop.cjs.map +1 -0
  244. package/dist/lib/mysql/workflows/create-workshop.d.cts +24 -0
  245. package/dist/lib/mysql/workflows/create-workshop.d.ts +24 -0
  246. package/dist/lib/mysql/workflows/create-workshop.js +9 -0
  247. package/dist/lib/mysql/workflows/create-workshop.js.map +1 -0
  248. package/dist/lib/mysql/workflows/redeem-full-price-coupon.cjs +130 -0
  249. package/dist/lib/mysql/workflows/redeem-full-price-coupon.cjs.map +1 -0
  250. package/dist/lib/mysql/workflows/redeem-full-price-coupon.d.cts +24 -0
  251. package/dist/lib/mysql/workflows/redeem-full-price-coupon.d.ts +24 -0
  252. package/dist/lib/mysql/workflows/redeem-full-price-coupon.js +8 -0
  253. package/dist/lib/mysql/workflows/redeem-full-price-coupon.js.map +1 -0
  254. package/dist/lib/mysql/workflows/transfer-purchase-to-user.cjs +95 -0
  255. package/dist/lib/mysql/workflows/transfer-purchase-to-user.cjs.map +1 -0
  256. package/dist/lib/mysql/workflows/transfer-purchase-to-user.d.cts +30 -0
  257. package/dist/lib/mysql/workflows/transfer-purchase-to-user.d.ts +30 -0
  258. package/dist/lib/mysql/workflows/transfer-purchase-to-user.js +8 -0
  259. package/dist/lib/mysql/workflows/transfer-purchase-to-user.js.map +1 -0
  260. package/dist/lib/utils.d.cts +1 -10
  261. package/dist/lib/utils.d.ts +1 -10
  262. package/dist/types.d.ts +14 -0
  263. package/dist/types.js +1 -0
  264. package/package.json +9 -5
  265. package/src/index.ts +3 -2
  266. package/src/lib/mysql/cms-resource-actions.ts +37 -0
  267. package/src/lib/mysql/context.ts +20 -0
  268. package/src/lib/mysql/index.ts +118 -4872
  269. package/src/lib/mysql/ports/auth-storage.ts +139 -0
  270. package/src/lib/mysql/ports/catalog.ts +610 -0
  271. package/src/lib/mysql/ports/content-resource.ts +442 -0
  272. package/src/lib/mysql/ports/coupon.ts +387 -0
  273. package/src/lib/mysql/ports/entitlement.ts +96 -0
  274. package/src/lib/mysql/ports/identity.ts +160 -0
  275. package/src/lib/mysql/ports/merchant.ts +274 -0
  276. package/src/lib/mysql/ports/organization.ts +216 -0
  277. package/src/lib/mysql/ports/progress.ts +366 -0
  278. package/src/lib/mysql/ports/purchase.ts +517 -0
  279. package/src/lib/mysql/ports/subscription.ts +93 -0
  280. package/src/lib/mysql/schema.ts +374 -0
  281. package/src/lib/mysql/schemas/org/organization-memberships.ts +7 -0
  282. package/src/lib/mysql/schemas/org/organizations.ts +8 -0
  283. package/src/lib/mysql/workflows/content-resource-workflow-utils.ts +22 -0
  284. package/src/lib/mysql/workflows/create-cohort.ts +239 -0
  285. package/src/lib/mysql/workflows/create-event-series.ts +384 -0
  286. package/src/lib/mysql/workflows/create-event.ts +232 -0
  287. package/src/lib/mysql/workflows/create-merchant-charge-and-purchase.ts +365 -0
  288. package/src/lib/mysql/workflows/create-workshop.ts +372 -0
  289. package/src/lib/mysql/workflows/redeem-full-price-coupon.ts +179 -0
  290. package/src/lib/mysql/workflows/transfer-purchase-to-user.ts +142 -0
  291. package/src/types.ts +33 -0
  292. package/dist/authjs.d.ts +0 -27
  293. package/dist/authjs.js +0 -1
  294. package/dist/chunk-25RKHMRM.js +0 -8729
  295. package/dist/chunk-2AW5KYAK.js +0 -101
  296. package/dist/chunk-3EF5ZXLG.js +0 -101
  297. package/dist/chunk-7FBSP3VD.js +0 -78
  298. package/dist/chunk-AP5HBIV4.js +0 -112
  299. package/dist/chunk-F56AI52P.js +0 -49
  300. package/dist/chunk-HAQZSRJL.js +0 -4696
  301. package/dist/chunk-I2U5PTWN.js +0 -79
  302. package/dist/chunk-IBQGXFEX.js +0 -8729
  303. package/dist/chunk-PJORQUQP.js +0 -58
  304. package/dist/chunk-W6RPAAKG.js +0 -2144
  305. package/dist/chunk-WKJTU24D.js +0 -88
  306. package/dist/chunk-WWBSNLRC.js +0 -63
  307. package/src/authjs.ts +0 -34
@@ -0,0 +1 @@
1
+ {"version":3,"sources":["../../../src/lib/mysql/schema.ts","../../../src/lib/mysql/schemas/auth/accounts.ts","../../../src/lib/mysql/schemas/auth/users.ts","../../../src/lib/mysql/schemas/commerce/purchase.ts","../../../src/lib/mysql/schemas/org/organization-memberships.ts","../../../src/lib/mysql/schemas/org/organization-membership-roles.ts","../../../src/lib/mysql/schemas/auth/roles.ts","../../../src/lib/mysql/schemas/auth/user-roles.ts","../../../src/lib/mysql/schemas/org/organizations.ts","../../../src/lib/mysql/schemas/commerce/subscription.ts","../../../src/lib/mysql/schemas/commerce/merchant-subscription.ts","../../../src/lib/mysql/schemas/commerce/merchant-charge.ts","../../../src/lib/mysql/schemas/commerce/merchant-account.ts","../../../src/lib/mysql/schemas/commerce/merchant-customer.ts","../../../src/lib/mysql/schemas/commerce/merchant-product.ts","../../../src/lib/mysql/schemas/commerce/product.ts","../../../src/lib/mysql/schemas/content/content-resource-product.ts","../../../src/lib/mysql/schemas/content/content-resource.ts","../../../src/lib/mysql/schemas/content/content-contributions.ts","../../../src/lib/mysql/schemas/content/contribution-types.ts","../../../src/lib/mysql/schemas/content/content-resource-resource.ts","../../../src/lib/mysql/schemas/content/content-resource-tag.ts","../../../src/lib/mysql/schemas/content/tag.ts","../../../src/lib/mysql/schemas/content/tag-tag.ts","../../../src/lib/mysql/schemas/content/content-resource-version.ts","../../../src/lib/mysql/schemas/commerce/price.ts","../../../src/lib/mysql/schemas/commerce/merchant-price.ts","../../../src/lib/mysql/schemas/commerce/coupon.ts","../../../src/lib/mysql/schemas/commerce/merchant-coupon.ts","../../../src/lib/mysql/schemas/commerce/merchant-session.ts","../../../src/lib/mysql/schemas/communication/comment.ts","../../../src/lib/mysql/schemas/communication/communication-preferences.ts","../../../src/lib/mysql/schemas/communication/communication-channel.ts","../../../src/lib/mysql/schemas/communication/communication-preference-types.ts","../../../src/lib/mysql/schemas/auth/profiles.ts","../../../src/lib/mysql/schemas/auth/user-permissions.ts","../../../src/lib/mysql/schemas/auth/permissions.ts","../../../src/lib/mysql/schemas/auth/user-prefs.ts","../../../src/lib/mysql/schemas/auth/device-access-token.ts","../../../src/lib/mysql/schemas/auth/device-verification.ts","../../../src/lib/mysql/schemas/auth/personal-access-token.ts","../../../src/lib/mysql/schemas/auth/role-permissions.ts","../../../src/lib/mysql/schemas/auth/sessions.ts","../../../src/lib/mysql/schemas/auth/verification-tokens.ts","../../../src/lib/mysql/schemas/commerce/merchant-events.ts","../../../src/lib/mysql/schemas/commerce/purchase-user-transfer.ts","../../../src/lib/mysql/schemas/commerce/upgradable-products.ts","../../../src/lib/mysql/schemas/communication/question-response.ts","../../../src/lib/mysql/schemas/content/lesson-progress.ts","../../../src/lib/mysql/schemas/content/resource-progress.ts","../../../src/lib/mysql/schemas/entitlements/entitlement-type.ts","../../../src/lib/mysql/schemas/entitlements/entitlement.ts"],"sourcesContent":["import type { MySqlTableFn } from 'drizzle-orm/mysql-core'\n\nimport {\n\tgetAccountsRelationsSchema,\n\tgetAccountsSchema,\n} from './schemas/auth/accounts.js'\nimport {\n\tgetDeviceAccessTokenRelationsSchema,\n\tgetDeviceAccessTokenSchema,\n} from './schemas/auth/device-access-token.js'\nimport {\n\tgetDeviceVerificationRelationsSchema,\n\tgetDeviceVerificationSchema,\n} from './schemas/auth/device-verification.js'\nimport {\n\tgetPermissionsRelationsSchema,\n\tgetPermissionsSchema,\n} from './schemas/auth/permissions.js'\nimport {\n\tgetPersonalAccessTokenRelationsSchema,\n\tgetPersonalAccessTokenSchema,\n} from './schemas/auth/personal-access-token.js'\nimport {\n\tgetProfilesRelationsSchema,\n\tgetProfilesSchema,\n} from './schemas/auth/profiles.js'\nimport {\n\tgetRolePermissionsRelationsSchema,\n\tgetRolePermissionsSchema,\n} from './schemas/auth/role-permissions.js'\nimport {\n\tgetRolesRelationsSchema,\n\tgetRolesSchema,\n} from './schemas/auth/roles.js'\nimport {\n\tgetSessionRelationsSchema,\n\tgetSessionsSchema,\n} from './schemas/auth/sessions.js'\nimport {\n\tgetUserPermissionsRelationsSchema,\n\tgetUserPermissionsSchema,\n} from './schemas/auth/user-permissions.js'\nimport {\n\tgetUserPrefsRelationsSchema,\n\tgetUserPrefsSchema,\n} from './schemas/auth/user-prefs.js'\nimport {\n\tgetUserRolesRelationsSchema,\n\tgetUserRolesSchema,\n} from './schemas/auth/user-roles.js'\nimport {\n\tgetUsersRelationsSchema,\n\tgetUsersSchema,\n\ttype UsersSchemaOverrides,\n} from './schemas/auth/users.js'\nimport { getVerificationTokensSchema } from './schemas/auth/verification-tokens.js'\nimport {\n\tgetCouponRelationsSchema,\n\tgetCouponSchema,\n} from './schemas/commerce/coupon.js'\nimport { getMerchantAccountSchema } from './schemas/commerce/merchant-account.js'\nimport {\n\tgetMerchantChargeRelationsSchema,\n\tgetMerchantChargeSchema,\n} from './schemas/commerce/merchant-charge.js'\nimport { getMerchantCouponSchema } from './schemas/commerce/merchant-coupon.js'\nimport { getMerchantCustomerSchema } from './schemas/commerce/merchant-customer.js'\nimport {\n\tgetMerchantEventsRelationsSchema,\n\tgetMerchantEventsSchema,\n} from './schemas/commerce/merchant-events.js'\nimport { getMerchantPriceSchema } from './schemas/commerce/merchant-price.js'\nimport { getMerchantProductSchema } from './schemas/commerce/merchant-product.js'\nimport { getMerchantSessionSchema } from './schemas/commerce/merchant-session.js'\nimport {\n\tgetMerchantSubscriptionRelationsSchema,\n\tgetMerchantSubscriptionSchema,\n} from './schemas/commerce/merchant-subscription.js'\nimport { getPriceSchema } from './schemas/commerce/price.js'\nimport {\n\tgetProductRelationsSchema,\n\tgetProductSchema,\n} from './schemas/commerce/product.js'\nimport {\n\tgetPurchaseUserTransferRelationsSchema,\n\tgetPurchaseUserTransferSchema,\n} from './schemas/commerce/purchase-user-transfer.js'\nimport {\n\tgetPurchaseRelationsSchema,\n\tgetPurchaseSchema,\n} from './schemas/commerce/purchase.js'\nimport {\n\tgetSubscriptionRelationsSchema,\n\tgetSubscriptionSchema,\n} from './schemas/commerce/subscription.js'\nimport {\n\tgetUpgradableProductsRelationsSchema,\n\tgetUpgradableProductsSchema,\n} from './schemas/commerce/upgradable-products.js'\nimport {\n\tgetCommentRelationsSchema,\n\tgetCommentsSchema,\n} from './schemas/communication/comment.js'\nimport { getCommunicationChannelSchema } from './schemas/communication/communication-channel.js'\nimport { getCommunicationPreferenceTypesSchema } from './schemas/communication/communication-preference-types.js'\nimport {\n\tgetCommunicationPreferencesRelationsSchema,\n\tgetCommunicationPreferencesSchema,\n} from './schemas/communication/communication-preferences.js'\nimport {\n\tgetQuestionResponseRelationsSchema,\n\tgetQuestionResponseSchema,\n} from './schemas/communication/question-response.js'\nimport {\n\tgetContentContributionRelationsSchema,\n\tgetContentContributionsSchema,\n} from './schemas/content/content-contributions.js'\nimport {\n\tgetContentResourceProductRelationsSchema,\n\tgetContentResourceProductSchema,\n} from './schemas/content/content-resource-product.js'\nimport {\n\tgetContentResourceResourceRelationsSchema,\n\tgetContentResourceResourceSchema,\n} from './schemas/content/content-resource-resource.js'\nimport {\n\tgetContentResourceTagRelationsSchema,\n\tgetContentResourceTagSchema,\n} from './schemas/content/content-resource-tag.js'\nimport {\n\tgetContentResourceVersionRelationsSchema,\n\tgetContentResourceVersionSchema,\n} from './schemas/content/content-resource-version.js'\nimport {\n\tgetContentResourceRelationsSchema,\n\tgetContentResourceSchema,\n} from './schemas/content/content-resource.js'\nimport {\n\tgetContributionTypesRelationsSchema,\n\tgetContributionTypesSchema,\n} from './schemas/content/contribution-types.js'\nimport { getLessonProgressSchema } from './schemas/content/lesson-progress.js'\nimport { getResourceProgressSchema } from './schemas/content/resource-progress.js'\nimport {\n\tgetTagTagRelationsSchema,\n\tgetTagTagSchema,\n} from './schemas/content/tag-tag.js'\nimport { getTagRelationsSchema, getTagSchema } from './schemas/content/tag.js'\nimport { getEntitlementTypesSchema } from './schemas/entitlements/entitlement-type.js'\nimport {\n\tgetEntitlementRelationsSchema,\n\tgetEntitlementsSchema,\n} from './schemas/entitlements/entitlement.js'\nimport {\n\tgetOrganizationMembershipRolesRelationsSchema,\n\tgetOrganizationMembershipRolesSchema,\n} from './schemas/org/organization-membership-roles.js'\nimport {\n\tgetOrganizationMembershipsRelationsSchema,\n\tgetOrganizationMembershipsSchema,\n} from './schemas/org/organization-memberships.js'\nimport {\n\tgetOrganizationsRelationsSchema,\n\tgetOrganizationsSchema,\n} from './schemas/org/organizations.js'\n\n/** Overrides for constructing a Course Builder MySQL schema with custom user tables. */\nexport type CourseBuilderSchemaOverrides<\n\tTUsers extends ReturnType<typeof getUsersSchema> = ReturnType<\n\t\ttypeof getUsersSchema\n\t>,\n> = UsersSchemaOverrides<TUsers>\n\n/**\n * Constructs the complete Course Builder MySQL table and relation set.\n *\n * @param mysqlTable - Drizzle table factory, optionally configured with a prefix.\n * @param overrides - Optional schema factories for custom user tables.\n * @returns The shared table and relation objects used by the MySQL adapter.\n *\n * @example\n * ```ts\n * const schema = getCourseBuilderSchema(mysqlTable)\n * ```\n */\nexport function getCourseBuilderSchema<\n\tTUsers extends ReturnType<typeof getUsersSchema> = ReturnType<\n\t\ttypeof getUsersSchema\n\t>,\n>(\n\tmysqlTable: MySqlTableFn,\n\toverrides: CourseBuilderSchemaOverrides<TUsers> = {},\n) {\n\tconst resolvedGetUsersSchema = (overrides.getUsersSchema ??\n\t\tgetUsersSchema) as (mysqlTable: MySqlTableFn) => TUsers\n\tconst userRelationsOverrides: UsersSchemaOverrides<TUsers> = {\n\t\tgetUsersSchema: resolvedGetUsersSchema,\n\t}\n\treturn {\n\t\taccounts: getAccountsSchema(mysqlTable),\n\t\taccountsRelations: getAccountsRelationsSchema(\n\t\t\tmysqlTable,\n\t\t\tuserRelationsOverrides,\n\t\t),\n\t\tpermissions: getPermissionsSchema(mysqlTable),\n\t\tpermissionsRelations: getPermissionsRelationsSchema(mysqlTable),\n\t\trolePermissions: getRolePermissionsSchema(mysqlTable),\n\t\trolePermissionsRelations: getRolePermissionsRelationsSchema(mysqlTable),\n\t\troles: getRolesSchema(mysqlTable),\n\t\trolesRelations: getRolesRelationsSchema(mysqlTable),\n\t\tsessions: getSessionsSchema(mysqlTable),\n\t\tsessionsRelations: getSessionRelationsSchema(\n\t\t\tmysqlTable,\n\t\t\tuserRelationsOverrides,\n\t\t),\n\t\tuserPermissions: getUserPermissionsSchema(mysqlTable),\n\t\tuserPermissionsRelations: getUserPermissionsRelationsSchema(\n\t\t\tmysqlTable,\n\t\t\tuserRelationsOverrides,\n\t\t),\n\t\tuserRoles: getUserRolesSchema(mysqlTable),\n\t\tuserRolesRelations: getUserRolesRelationsSchema(\n\t\t\tmysqlTable,\n\t\t\tuserRelationsOverrides,\n\t\t),\n\t\tusers: resolvedGetUsersSchema(mysqlTable),\n\t\tusersRelations: getUsersRelationsSchema(mysqlTable, userRelationsOverrides),\n\t\tverificationTokens: getVerificationTokensSchema(mysqlTable),\n\t\tcoupon: getCouponSchema(mysqlTable),\n\t\tcouponRelations: getCouponRelationsSchema(mysqlTable),\n\t\tlessonProgress: getLessonProgressSchema(mysqlTable),\n\t\tmerchantAccount: getMerchantAccountSchema(mysqlTable),\n\t\tmerchantCharge: getMerchantChargeSchema(mysqlTable),\n\t\tmerchantChargeRelations: getMerchantChargeRelationsSchema(mysqlTable),\n\t\tmerchantEvents: getMerchantEventsSchema(mysqlTable),\n\t\tmerchantEventsRelations: getMerchantEventsRelationsSchema(mysqlTable),\n\t\tmerchantCoupon: getMerchantCouponSchema(mysqlTable),\n\t\tmerchantCustomer: getMerchantCustomerSchema(mysqlTable),\n\t\tmerchantPrice: getMerchantPriceSchema(mysqlTable),\n\t\tmerchantProduct: getMerchantProductSchema(mysqlTable),\n\t\tmerchantSession: getMerchantSessionSchema(mysqlTable),\n\t\tprices: getPriceSchema(mysqlTable),\n\t\tproducts: getProductSchema(mysqlTable),\n\t\tpurchases: getPurchaseSchema(mysqlTable),\n\t\tpurchaseRelations: getPurchaseRelationsSchema(\n\t\t\tmysqlTable,\n\t\t\tuserRelationsOverrides,\n\t\t),\n\t\tpurchaseUserTransfer: getPurchaseUserTransferSchema(mysqlTable),\n\t\tpurchaseUserTransferRelations: getPurchaseUserTransferRelationsSchema(\n\t\t\tmysqlTable,\n\t\t\tuserRelationsOverrides,\n\t\t),\n\t\tcommunicationChannel: getCommunicationChannelSchema(mysqlTable),\n\t\tcommunicationPreferenceTypes:\n\t\t\tgetCommunicationPreferenceTypesSchema(mysqlTable),\n\t\tcommunicationPreferences: getCommunicationPreferencesSchema(mysqlTable),\n\t\tcommunicationPreferencesRelations:\n\t\t\tgetCommunicationPreferencesRelationsSchema(\n\t\t\t\tmysqlTable,\n\t\t\t\tuserRelationsOverrides,\n\t\t\t),\n\t\tcontentContributions: getContentContributionsSchema(mysqlTable),\n\t\tcontentContributionRelations: getContentContributionRelationsSchema(\n\t\t\tmysqlTable,\n\t\t\tuserRelationsOverrides,\n\t\t),\n\t\tcontentResource: getContentResourceSchema(mysqlTable),\n\t\tcontentResourceVersion: getContentResourceVersionSchema(mysqlTable),\n\t\tcontentResourceVersionRelations: getContentResourceVersionRelationsSchema(\n\t\t\tmysqlTable,\n\t\t\tuserRelationsOverrides,\n\t\t),\n\t\tcontentResourceRelations: getContentResourceRelationsSchema(\n\t\t\tmysqlTable,\n\t\t\tuserRelationsOverrides,\n\t\t),\n\t\tcontentResourceResource: getContentResourceResourceSchema(mysqlTable),\n\t\tcontentResourceResourceRelations:\n\t\t\tgetContentResourceResourceRelationsSchema(mysqlTable),\n\t\tcontentResourceTag: getContentResourceTagSchema(mysqlTable),\n\t\tcontentResourceTagRelations:\n\t\t\tgetContentResourceTagRelationsSchema(mysqlTable),\n\t\tcontributionTypes: getContributionTypesSchema(mysqlTable),\n\t\tcontributionTypesRelations: getContributionTypesRelationsSchema(mysqlTable),\n\t\tresourceProgress: getResourceProgressSchema(mysqlTable),\n\t\tquestionResponse: getQuestionResponseSchema(mysqlTable),\n\t\tquestionResponseRelations: getQuestionResponseRelationsSchema(\n\t\t\tmysqlTable,\n\t\t\tuserRelationsOverrides,\n\t\t),\n\t\tupgradableProducts: getUpgradableProductsSchema(mysqlTable),\n\t\tupgradableProductsRelations:\n\t\t\tgetUpgradableProductsRelationsSchema(mysqlTable),\n\t\tcontentResourceProduct: getContentResourceProductSchema(mysqlTable),\n\t\tcontentResourceProductRelations:\n\t\t\tgetContentResourceProductRelationsSchema(mysqlTable),\n\t\tproductRelations: getProductRelationsSchema(mysqlTable),\n\t\tcomments: getCommentsSchema(mysqlTable),\n\t\tcommentsRelations: getCommentRelationsSchema(\n\t\t\tmysqlTable,\n\t\t\tuserRelationsOverrides,\n\t\t),\n\t\tdeviceVerifications: getDeviceVerificationSchema(mysqlTable),\n\t\tdeviceVerificationRelations: getDeviceVerificationRelationsSchema(\n\t\t\tmysqlTable,\n\t\t\tuserRelationsOverrides,\n\t\t),\n\t\tdeviceAccessToken: getDeviceAccessTokenSchema(mysqlTable),\n\t\tdeviceAccessTokenRelations: getDeviceAccessTokenRelationsSchema(\n\t\t\tmysqlTable,\n\t\t\tuserRelationsOverrides,\n\t\t),\n\t\tpersonalAccessToken: getPersonalAccessTokenSchema(mysqlTable),\n\t\tpersonalAccessTokenRelations: getPersonalAccessTokenRelationsSchema(\n\t\t\tmysqlTable,\n\t\t\tuserRelationsOverrides,\n\t\t),\n\t\ttag: getTagSchema(mysqlTable),\n\t\ttagRelations: getTagRelationsSchema(mysqlTable),\n\t\ttagTag: getTagTagSchema(mysqlTable),\n\t\ttagTagRelations: getTagTagRelationsSchema(mysqlTable),\n\t\tuserPrefs: getUserPrefsSchema(mysqlTable),\n\t\tuserPrefsRelations: getUserPrefsRelationsSchema(\n\t\t\tmysqlTable,\n\t\t\tuserRelationsOverrides,\n\t\t),\n\t\torganization: getOrganizationsSchema(mysqlTable),\n\t\torganizationRelations: getOrganizationsRelationsSchema(mysqlTable),\n\t\torganizationMemberships: getOrganizationMembershipsSchema(mysqlTable),\n\t\torganizationMembershipRelations: getOrganizationMembershipsRelationsSchema(\n\t\t\tmysqlTable,\n\t\t\tuserRelationsOverrides,\n\t\t),\n\t\torganizationMembershipRoles:\n\t\t\tgetOrganizationMembershipRolesSchema(mysqlTable),\n\t\torganizationMembershipRolesRelations:\n\t\t\tgetOrganizationMembershipRolesRelationsSchema(mysqlTable),\n\t\tmerchantSubscription: getMerchantSubscriptionSchema(mysqlTable),\n\t\tmerchantSubscriptionRelations:\n\t\t\tgetMerchantSubscriptionRelationsSchema(mysqlTable),\n\t\tsubscription: getSubscriptionSchema(mysqlTable),\n\t\tsubscriptionRelations: getSubscriptionRelationsSchema(mysqlTable),\n\t\tprofiles: getProfilesSchema(mysqlTable),\n\t\tprofilesRelations: getProfilesRelationsSchema(\n\t\t\tmysqlTable,\n\t\t\tuserRelationsOverrides,\n\t\t),\n\t\tentitlementTypes: getEntitlementTypesSchema(mysqlTable),\n\t\tentitlements: getEntitlementsSchema(mysqlTable),\n\t\tentitlementsRelations: getEntitlementRelationsSchema(\n\t\t\tmysqlTable,\n\t\t\tuserRelationsOverrides,\n\t\t),\n\t} as const\n}\n\n/**\n * Creates the default Course Builder MySQL schema.\n *\n * @param mySqlTable - Drizzle table factory used for every schema object.\n * @returns The complete default table and relation set.\n *\n * @example\n * ```ts\n * const tables = createTables(mysqlTable)\n * ```\n */\nexport function createTables(mySqlTable: MySqlTableFn) {\n\treturn getCourseBuilderSchema(mySqlTable)\n}\n\n/** Default schema type shared by MySQL adapter factories. */\nexport type DefaultSchema = ReturnType<typeof createTables>\n","import { relations } from 'drizzle-orm'\nimport {\n\tindex,\n\tint,\n\tMySqlTableFn,\n\tprimaryKey,\n\ttext,\n\tvarchar,\n} from 'drizzle-orm/mysql-core'\n\nimport type { CourseBuilderAccountType } from '@coursebuilder/core/auth'\n\nimport { getUsersSchema, type UsersSchemaOverrides } from './users.js'\n\nexport function getAccountsSchema(mysqlTable: MySqlTableFn) {\n\treturn mysqlTable(\n\t\t'Account',\n\t\t{\n\t\t\tuserId: varchar('userId', { length: 255 }).notNull(),\n\t\t\ttype: varchar('type', { length: 255 })\n\t\t\t\t.$type<CourseBuilderAccountType>()\n\t\t\t\t.notNull(),\n\t\t\tprovider: varchar('provider', { length: 255 }).notNull(),\n\t\t\tproviderAccountId: varchar('providerAccountId', {\n\t\t\t\tlength: 255,\n\t\t\t}).notNull(),\n\t\t\trefresh_token: text('refresh_token'),\n\t\t\taccess_token: text('access_token'),\n\t\t\toauth_token: text('oauth_token'),\n\t\t\toauth_token_secret: text('oauth_token_secret'),\n\t\t\texpires_at: int('expires_at'),\n\t\t\ttoken_type: varchar('token_type', { length: 255 }),\n\t\t\tscope: varchar('scope', { length: 255 }),\n\t\t\tid_token: text('id_token'),\n\t\t\tsession_state: varchar('session_state', { length: 255 }),\n\t\t\trefresh_token_expires_in: int('refresh_token_expires_in'),\n\t\t},\n\t\t(account) => ({\n\t\t\tpk: primaryKey({\n\t\t\t\tcolumns: [account.provider, account.providerAccountId],\n\t\t\t}),\n\t\t\tuserIdIdx: index('userId_idx').on(account.userId),\n\t\t}),\n\t)\n}\n\nexport function getAccountsRelationsSchema(\n\tmysqlTable: MySqlTableFn,\n\toverrides: UsersSchemaOverrides = {},\n) {\n\tconst accounts = getAccountsSchema(mysqlTable)\n\tconst resolveUsersSchema = overrides.getUsersSchema ?? getUsersSchema\n\tconst users = resolveUsersSchema(mysqlTable)\n\treturn relations(accounts, ({ one }) => ({\n\t\tuser: one(users, {\n\t\t\tfields: [accounts.userId],\n\t\t\treferences: [users.id],\n\t\t\trelationName: 'user',\n\t\t}),\n\t}))\n}\n","import { relations, sql } from 'drizzle-orm'\nimport {\n\tindex,\n\tjson,\n\tMySqlTableFn,\n\ttimestamp,\n\tvarchar,\n} from 'drizzle-orm/mysql-core'\n\nimport { getPurchaseSchema } from '../commerce/purchase.js'\nimport { getCommentsSchema } from '../communication/comment.js'\nimport { getCommunicationPreferencesSchema } from '../communication/communication-preferences.js'\nimport { getContentContributionsSchema } from '../content/content-contributions.js'\nimport { getContentResourceSchema } from '../content/content-resource.js'\nimport { getOrganizationMembershipsSchema } from '../org/organization-memberships.js'\nimport { getAccountsSchema } from './accounts.js'\nimport { getProfilesSchema } from './profiles.js'\nimport { getUserPermissionsSchema } from './user-permissions.js'\nimport { getUserPrefsSchema } from './user-prefs.js'\nimport { getUserRolesSchema } from './user-roles.js'\n\nexport function getUsersSchema(mysqlTable: MySqlTableFn) {\n\treturn mysqlTable(\n\t\t'User',\n\t\t{\n\t\t\tid: varchar('id', { length: 255 }).notNull().primaryKey(),\n\t\t\tname: varchar('name', { length: 255 }),\n\t\t\trole: varchar('role', { length: 191 }).notNull().default('user'),\n\t\t\temail: varchar('email', { length: 255 }).notNull().unique(),\n\t\t\tfields: json('fields').$type<Record<string, any>>().default({}),\n\t\t\temailVerified: timestamp('emailVerified', {\n\t\t\t\tmode: 'date',\n\t\t\t\tfsp: 3,\n\t\t\t}),\n\t\t\timage: varchar('image', { length: 255 }),\n\t\t\tcreatedAt: timestamp('createdAt', {\n\t\t\t\tmode: 'date',\n\t\t\t\tfsp: 3,\n\t\t\t}).default(sql`CURRENT_TIMESTAMP(3)`),\n\t\t},\n\t\t(user) => ({\n\t\t\temailIdx: index('email_idx').on(user.email),\n\t\t\troleIdx: index('role_idx').on(user.role),\n\t\t\tcreatedAtIdx: index('created_at_idx').on(user.createdAt),\n\t\t}),\n\t)\n}\n\nexport type UsersSchemaOverrides<\n\tTUsers extends ReturnType<typeof getUsersSchema> = ReturnType<\n\t\ttypeof getUsersSchema\n\t>,\n> = {\n\tgetUsersSchema?: (mysqlTable: MySqlTableFn) => TUsers\n}\n\nexport function getUsersRelationsSchema<\n\tTUsers extends ReturnType<typeof getUsersSchema> = ReturnType<\n\t\ttypeof getUsersSchema\n\t>,\n>(mysqlTable: MySqlTableFn, overrides: UsersSchemaOverrides<TUsers> = {}) {\n\tconst resolveUsersSchema = (overrides.getUsersSchema ?? getUsersSchema) as (\n\t\tmysqlTable: MySqlTableFn,\n\t) => TUsers\n\tconst users = resolveUsersSchema(mysqlTable)\n\tconst profiles = getProfilesSchema(mysqlTable)\n\tconst accounts = getAccountsSchema(mysqlTable)\n\tconst communicationPreferences = getCommunicationPreferencesSchema(mysqlTable)\n\tconst userRoles = getUserRolesSchema(mysqlTable)\n\tconst userPermissions = getUserPermissionsSchema(mysqlTable)\n\tconst contentContributions = getContentContributionsSchema(mysqlTable)\n\tconst contentResource = getContentResourceSchema(mysqlTable)\n\tconst purchases = getPurchaseSchema(mysqlTable)\n\tconst comments = getCommentsSchema(mysqlTable)\n\tconst userPrefs = getUserPrefsSchema(mysqlTable)\n\tconst organizationMemberships = getOrganizationMembershipsSchema(mysqlTable)\n\treturn relations(users, ({ many, one }) => ({\n\t\tprofiles: many(profiles, {\n\t\t\trelationName: 'profiles',\n\t\t}),\n\t\taccounts: many(accounts, {\n\t\t\trelationName: 'user',\n\t\t}),\n\t\tpurchases: many(purchases, {\n\t\t\trelationName: 'user',\n\t\t}),\n\t\tcommunicationPreferences: many(communicationPreferences, {\n\t\t\trelationName: 'user',\n\t\t}),\n\t\troles: many(userRoles, {\n\t\t\trelationName: 'user',\n\t\t}),\n\t\tuserPermissions: many(userPermissions, {\n\t\t\trelationName: 'user',\n\t\t}),\n\t\tcontributions: many(contentContributions, {\n\t\t\trelationName: 'user',\n\t\t}),\n\t\tcreatedContent: many(contentResource, {\n\t\t\trelationName: 'user',\n\t\t}),\n\t\tcomments: many(comments, {\n\t\t\trelationName: 'user',\n\t\t}),\n\t\tprefs: many(userPrefs, {\n\t\t\trelationName: 'user',\n\t\t}),\n\t\torganizationMemberships: many(organizationMemberships, {\n\t\t\trelationName: 'user',\n\t\t}),\n\t}))\n}\n","import { relations, sql } from 'drizzle-orm'\nimport {\n\tdecimal,\n\tindex,\n\tjson,\n\tMySqlTableFn,\n\tprimaryKey,\n\ttimestamp,\n\tunique,\n\tvarchar,\n} from 'drizzle-orm/mysql-core'\n\nimport { getUsersSchema, type UsersSchemaOverrides } from '../auth/users.js'\nimport { getOrganizationMembershipsSchema } from '../org/organization-memberships.js'\nimport { getOrganizationsSchema } from '../org/organizations.js'\nimport { getCouponSchema } from './coupon.js'\nimport { getMerchantChargeSchema } from './merchant-charge.js'\nimport { getMerchantSessionSchema } from './merchant-session.js'\nimport { getProductSchema } from './product.js'\n\nexport function getPurchaseSchema(mysqlTable: MySqlTableFn) {\n\treturn mysqlTable(\n\t\t'Purchase',\n\t\t{\n\t\t\tid: varchar('id', { length: 191 }).notNull(),\n\t\t\tuserId: varchar('userId', { length: 191 }),\n\t\t\tpurchasedByorganizationMembershipId: varchar('organizationMembershipId', {\n\t\t\t\tlength: 191,\n\t\t\t}),\n\t\t\torganizationId: varchar('organizationId', { length: 191 }),\n\t\t\tcreatedAt: timestamp('createdAt', { mode: 'date', fsp: 3 })\n\t\t\t\t.default(sql`CURRENT_TIMESTAMP(3)`)\n\t\t\t\t.notNull(),\n\t\t\ttotalAmount: decimal('totalAmount', {\n\t\t\t\tprecision: 65,\n\t\t\t\tscale: 30,\n\t\t\t}).notNull(),\n\t\t\tipAddress: varchar('ip_address', { length: 191 }),\n\t\t\tcity: varchar('city', { length: 191 }),\n\t\t\tstate: varchar('state', { length: 191 }),\n\t\t\tcountry: varchar('country', { length: 191 }),\n\t\t\tcouponId: varchar('couponId', { length: 191 }),\n\t\t\tproductId: varchar('productId', { length: 191 }).notNull(),\n\t\t\tmerchantChargeId: varchar('merchantChargeId', { length: 191 }),\n\t\t\tupgradedFromId: varchar('upgradedFromId', { length: 191 }),\n\t\t\tstatus: varchar('status', { length: 191 }).default('Valid').notNull(),\n\t\t\tbulkCouponId: varchar('bulkCouponId', { length: 191 }),\n\t\t\tmerchantSessionId: varchar('merchantSessionId', { length: 191 }),\n\t\t\tredeemedBulkCouponId: varchar('redeemedBulkCouponId', { length: 191 }),\n\t\t\tfields: json('fields').$type<Record<string, any>>().default({}),\n\t\t},\n\t\t(table) => {\n\t\t\treturn {\n\t\t\t\tpurchaseId: primaryKey({ columns: [table.id], name: 'Purchase_id' }),\n\t\t\t\tmerchantChargeIdIdx: index('idx_Purchase_on_merchantChargeId').on(\n\t\t\t\t\ttable.merchantChargeId,\n\t\t\t\t),\n\t\t\t\tpurchaseUpgradedFromIdKey: unique('Purchase_upgradedFromId_key').on(\n\t\t\t\t\ttable.upgradedFromId,\n\t\t\t\t),\n\t\t\t\torganizationIdIdx: index('organizationId_idx').on(table.organizationId),\n\t\t\t\torganizationMembershipIdIdx: index('organizationMembershipId_idx').on(\n\t\t\t\t\ttable.purchasedByorganizationMembershipId,\n\t\t\t\t),\n\t\t\t\tuserStatusProductIdx: index(\n\t\t\t\t\t'idx_Purchase_on_userId_status_productId',\n\t\t\t\t).on(table.userId, table.status, table.productId),\n\t\t\t}\n\t\t},\n\t)\n}\n\nexport function getPurchaseRelationsSchema(\n\tmysqlTable: MySqlTableFn,\n\toverrides: UsersSchemaOverrides = {},\n) {\n\tconst purchases = getPurchaseSchema(mysqlTable)\n\tconst resolveUsersSchema = overrides.getUsersSchema ?? getUsersSchema\n\tconst users = resolveUsersSchema(mysqlTable)\n\tconst products = getProductSchema(mysqlTable)\n\tconst merchantCharges = getMerchantChargeSchema(mysqlTable)\n\tconst merchantSessions = getMerchantSessionSchema(mysqlTable)\n\tconst coupons = getCouponSchema(mysqlTable)\n\tconst organizations = getOrganizationsSchema(mysqlTable)\n\tconst organizationMemberships = getOrganizationMembershipsSchema(mysqlTable)\n\n\treturn relations(purchases, ({ many, one }) => ({\n\t\tredeemedBulkCoupon: one(coupons, {\n\t\t\tfields: [purchases.redeemedBulkCouponId],\n\t\t\treferences: [coupons.id],\n\t\t\trelationName: 'redeemedBulkCoupon',\n\t\t}),\n\t\tuser: one(users, {\n\t\t\tfields: [purchases.userId],\n\t\t\treferences: [users.id],\n\t\t\trelationName: 'user',\n\t\t}),\n\t\torganization: one(organizations, {\n\t\t\tfields: [purchases.organizationId],\n\t\t\treferences: [organizations.id],\n\t\t\trelationName: 'organization',\n\t\t}),\n\t\tpurchasedBy: one(organizationMemberships, {\n\t\t\tfields: [purchases.purchasedByorganizationMembershipId],\n\t\t\treferences: [organizationMemberships.id],\n\t\t\trelationName: 'organizationMembership',\n\t\t}),\n\t\tproduct: one(products, {\n\t\t\tfields: [purchases.productId],\n\t\t\treferences: [products.id],\n\t\t\trelationName: 'product',\n\t\t}),\n\t\tbulkCoupon: one(coupons, {\n\t\t\tfields: [purchases.bulkCouponId],\n\t\t\treferences: [coupons.id],\n\t\t\trelationName: 'bulkCoupon',\n\t\t}),\n\t\tmerchantCharge: one(merchantCharges, {\n\t\t\tfields: [purchases.merchantChargeId],\n\t\t\treferences: [merchantCharges.id],\n\t\t\trelationName: 'merchantCharge',\n\t\t}),\n\t\tmerchantSession: one(merchantSessions, {\n\t\t\tfields: [purchases.merchantSessionId],\n\t\t\treferences: [merchantSessions.id],\n\t\t\trelationName: 'merchantSession',\n\t\t}),\n\t}))\n}\n","import { relations, sql } from 'drizzle-orm'\nimport {\n\tindex,\n\tjson,\n\tmysqlEnum,\n\tMySqlTableFn,\n\ttimestamp,\n\tuniqueIndex,\n\tvarchar,\n} from 'drizzle-orm/mysql-core'\n\nimport { getUsersSchema, type UsersSchemaOverrides } from '../auth/users.js'\nimport { getPurchaseSchema } from '../commerce/purchase.js'\nimport { getOrganizationMembershipRolesSchema } from './organization-membership-roles.js'\nimport { getOrganizationsSchema } from './organizations.js'\n\nexport function getOrganizationMembershipsSchema(mysqlTable: MySqlTableFn) {\n\treturn mysqlTable(\n\t\t'OrganizationMembership',\n\t\t{\n\t\t\tid: varchar('id', { length: 255 }).notNull().primaryKey(),\n\t\t\torganizationId: varchar('organizationId', { length: 191 }),\n\t\t\trole: varchar('role', { length: 191 }).notNull().default('user'),\n\t\t\tinvitedById: varchar('invitedById', { length: 255 }).notNull(),\n\t\t\tuserId: varchar('userId', { length: 255 }).notNull(),\n\t\t\tpersonalOrganizationUserId: varchar('personalOrganizationUserId', {\n\t\t\t\tlength: 255,\n\t\t\t}),\n\t\t\tfields: json('fields').$type<Record<string, any>>().default({}),\n\t\t\tcreatedAt: timestamp('createdAt', {\n\t\t\t\tmode: 'date',\n\t\t\t\tfsp: 3,\n\t\t\t}).default(sql`CURRENT_TIMESTAMP(3)`),\n\t\t},\n\t\t(organizationMembership) => ({\n\t\t\troleIdx: index('role_idx').on(organizationMembership.role),\n\t\t\tcreatedAtIdx: index('created_at_idx').on(\n\t\t\t\torganizationMembership.createdAt,\n\t\t\t),\n\t\t\torganizationIdIdx: index('organizationId_idx').on(\n\t\t\t\torganizationMembership.organizationId,\n\t\t\t),\n\t\t\tpersonalOrganizationUserIdIdx: uniqueIndex(\n\t\t\t\t'personalOrganizationUserId_idx',\n\t\t\t).on(organizationMembership.personalOrganizationUserId),\n\t\t}),\n\t)\n}\n\nexport function getOrganizationMembershipsRelationsSchema(\n\tmysqlTable: MySqlTableFn,\n\toverrides: UsersSchemaOverrides = {},\n) {\n\tconst resolveUsersSchema = overrides.getUsersSchema ?? getUsersSchema\n\tconst users = resolveUsersSchema(mysqlTable)\n\n\tconst organizationMemberships = getOrganizationMembershipsSchema(mysqlTable)\n\tconst purchases = getPurchaseSchema(mysqlTable)\n\tconst organizations = getOrganizationsSchema(mysqlTable)\n\tconst organizationMembershipRoles =\n\t\tgetOrganizationMembershipRolesSchema(mysqlTable)\n\n\treturn relations(organizationMemberships, ({ one, many }) => ({\n\t\tuser: one(users, {\n\t\t\tfields: [organizationMemberships.userId],\n\t\t\treferences: [users.id],\n\t\t\trelationName: 'user',\n\t\t}),\n\t\tinvitedBy: one(users, {\n\t\t\tfields: [organizationMemberships.invitedById],\n\t\t\treferences: [users.id],\n\t\t\trelationName: 'invitedBy',\n\t\t}),\n\t\tpurchases: many(purchases),\n\t\torganization: one(organizations, {\n\t\t\tfields: [organizationMemberships.organizationId],\n\t\t\treferences: [organizations.id],\n\t\t\trelationName: 'organization',\n\t\t}),\n\t\torganizationMembershipRoles: many(organizationMembershipRoles, {\n\t\t\trelationName: 'organizationMembership',\n\t\t}),\n\t}))\n}\n","import { relations } from 'drizzle-orm'\nimport {\n\tboolean,\n\tindex,\n\tMySqlTableFn,\n\tprimaryKey,\n\ttimestamp,\n\tvarchar,\n} from 'drizzle-orm/mysql-core'\n\nimport { getRolesSchema } from '../auth/roles.js'\nimport { getOrganizationMembershipsSchema } from './organization-memberships.js'\nimport { getOrganizationsSchema } from './organizations.js'\n\nexport function getOrganizationMembershipRolesSchema(mysqlTable: MySqlTableFn) {\n\treturn mysqlTable(\n\t\t'OrganizationMembershipRole',\n\t\t{\n\t\t\torganizationMembershipId: varchar('organizationMembershipId', {\n\t\t\t\tlength: 255,\n\t\t\t}).notNull(),\n\t\t\troleId: varchar('roleId', { length: 255 }).notNull(),\n\t\t\tactive: boolean('active').notNull().default(true),\n\t\t\torganizationId: varchar('organizationId', { length: 191 }),\n\t\t\tcreatedAt: timestamp('createdAt', {\n\t\t\t\tmode: 'date',\n\t\t\t\tfsp: 3,\n\t\t\t}).defaultNow(),\n\t\t\tupdatedAt: timestamp('updatedAt', {\n\t\t\t\tmode: 'date',\n\t\t\t\tfsp: 3,\n\t\t\t}).defaultNow(),\n\t\t\tdeletedAt: timestamp('deletedAt', {\n\t\t\t\tmode: 'date',\n\t\t\t\tfsp: 3,\n\t\t\t}),\n\t\t},\n\t\t(ur) => ({\n\t\t\tpk: primaryKey({\n\t\t\t\tcolumns: [ur.organizationMembershipId, ur.roleId],\n\t\t\t\tname: 'pk',\n\t\t\t}),\n\t\t\torgMemberIdIdx: index('orgMemberId_idx').on(ur.organizationMembershipId),\n\t\t\troleIdIdx: index('roleId_idx').on(ur.roleId),\n\t\t\torganizationIdIdx: index('organizationId_idx').on(ur.organizationId),\n\t\t}),\n\t)\n}\n\nexport function getOrganizationMembershipRolesRelationsSchema(\n\tmysqlTable: MySqlTableFn,\n) {\n\tconst organizationMembershipRoles =\n\t\tgetOrganizationMembershipRolesSchema(mysqlTable)\n\tconst organizationMemberships = getOrganizationMembershipsSchema(mysqlTable)\n\tconst roles = getRolesSchema(mysqlTable)\n\tconst organizations = getOrganizationsSchema(mysqlTable)\n\treturn relations(organizationMembershipRoles, ({ one }) => ({\n\t\torganizationMembership: one(organizationMemberships, {\n\t\t\tfields: [organizationMembershipRoles.organizationMembershipId],\n\t\t\treferences: [organizationMemberships.id],\n\t\t\trelationName: 'organizationMembership',\n\t\t}),\n\t\trole: one(roles, {\n\t\t\tfields: [organizationMembershipRoles.roleId],\n\t\t\treferences: [roles.id],\n\t\t\trelationName: 'role',\n\t\t}),\n\t\torganization: one(organizations, {\n\t\t\tfields: [organizationMembershipRoles.organizationId],\n\t\t\treferences: [organizations.id],\n\t\t\trelationName: 'organization',\n\t\t}),\n\t}))\n}\n","import { relations } from 'drizzle-orm'\nimport {\n\tboolean,\n\tindex,\n\tMySqlTableFn,\n\ttext,\n\ttimestamp,\n\tuniqueIndex,\n\tvarchar,\n} from 'drizzle-orm/mysql-core'\n\nimport { getUserRolesSchema } from './user-roles.js'\n\nexport function getRolesSchema(mysqlTable: MySqlTableFn) {\n\treturn mysqlTable(\n\t\t'Role',\n\t\t{\n\t\t\tid: varchar('id', { length: 255 }).notNull().primaryKey(),\n\t\t\torganizationId: varchar('organizationId', { length: 191 }),\n\t\t\tname: varchar('name', { length: 255 }).notNull(),\n\t\t\tdescription: text('description'),\n\t\t\tactive: boolean('active').notNull().default(true),\n\t\t\tcreatedAt: timestamp('createdAt', {\n\t\t\t\tmode: 'date',\n\t\t\t\tfsp: 3,\n\t\t\t}).defaultNow(),\n\t\t\tupdatedAt: timestamp('updatedAt', {\n\t\t\t\tmode: 'date',\n\t\t\t\tfsp: 3,\n\t\t\t}).defaultNow(),\n\t\t\tdeletedAt: timestamp('deletedAt', {\n\t\t\t\tmode: 'date',\n\t\t\t\tfsp: 3,\n\t\t\t}),\n\t\t},\n\t\t(role) => ({\n\t\t\tnameIdx: index('name_idx').on(role.name),\n\t\t\torganizationIdIdx: index('organizationId_idx').on(role.organizationId),\n\t\t\tuniqueNamePerOrg: uniqueIndex('unique_name_per_org').on(\n\t\t\t\trole.organizationId,\n\t\t\t\trole.name,\n\t\t\t),\n\t\t}),\n\t)\n}\n\nexport function getRolesRelationsSchema(mysqlTable: MySqlTableFn) {\n\tconst roles = getRolesSchema(mysqlTable)\n\tconst userRoles = getUserRolesSchema(mysqlTable)\n\n\treturn relations(roles, ({ many }) => ({\n\t\tuserRoles: many(userRoles, { relationName: 'role' }),\n\t}))\n}\n","import { relations } from 'drizzle-orm'\nimport {\n\tboolean,\n\tindex,\n\tMySqlTableFn,\n\tprimaryKey,\n\ttimestamp,\n\tvarchar,\n} from 'drizzle-orm/mysql-core'\n\nimport { getRolesSchema } from './roles.js'\nimport { getUsersSchema, type UsersSchemaOverrides } from './users.js'\n\nexport function getUserRolesSchema(mysqlTable: MySqlTableFn) {\n\treturn mysqlTable(\n\t\t'UserRole',\n\t\t{\n\t\t\tuserId: varchar('userId', { length: 255 }).notNull(),\n\t\t\troleId: varchar('roleId', { length: 255 }).notNull(),\n\t\t\tactive: boolean('active').notNull().default(true),\n\t\t\torganizationId: varchar('organizationId', { length: 191 }),\n\t\t\tcreatedAt: timestamp('createdAt', {\n\t\t\t\tmode: 'date',\n\t\t\t\tfsp: 3,\n\t\t\t}).defaultNow(),\n\t\t\tupdatedAt: timestamp('updatedAt', {\n\t\t\t\tmode: 'date',\n\t\t\t\tfsp: 3,\n\t\t\t}).defaultNow(),\n\t\t\tdeletedAt: timestamp('deletedAt', {\n\t\t\t\tmode: 'date',\n\t\t\t\tfsp: 3,\n\t\t\t}),\n\t\t},\n\t\t(ur) => ({\n\t\t\tpk: primaryKey({ columns: [ur.userId, ur.roleId] }),\n\t\t\tuserIdIdx: index('userId_idx').on(ur.userId),\n\t\t\troleIdIdx: index('roleId_idx').on(ur.roleId),\n\t\t\torganizationIdIdx: index('organizationId_idx').on(ur.organizationId),\n\t\t}),\n\t)\n}\n\nexport function getUserRolesRelationsSchema(\n\tmysqlTable: MySqlTableFn,\n\toverrides: UsersSchemaOverrides = {},\n) {\n\tconst userRoles = getUserRolesSchema(mysqlTable)\n\tconst resolveUsersSchema = overrides.getUsersSchema ?? getUsersSchema\n\tconst users = resolveUsersSchema(mysqlTable)\n\tconst roles = getRolesSchema(mysqlTable)\n\treturn relations(userRoles, ({ one }) => ({\n\t\tuser: one(users, {\n\t\t\tfields: [userRoles.userId],\n\t\t\treferences: [users.id],\n\t\t\trelationName: 'user',\n\t\t}),\n\t\trole: one(roles, {\n\t\t\tfields: [userRoles.roleId],\n\t\t\treferences: [roles.id],\n\t\t\trelationName: 'role',\n\t\t}),\n\t}))\n}\n","import { relations, sql } from 'drizzle-orm'\nimport {\n\tindex,\n\tjson,\n\tmysqlEnum,\n\tMySqlTableFn,\n\ttimestamp,\n\tuniqueIndex,\n\tvarchar,\n} from 'drizzle-orm/mysql-core'\n\nimport { getPurchaseSchema } from '../commerce/purchase.js'\nimport { getSubscriptionSchema } from '../commerce/subscription.js'\nimport { getOrganizationMembershipsSchema } from './organization-memberships.js'\n\nexport function getOrganizationsSchema(mysqlTable: MySqlTableFn) {\n\treturn mysqlTable(\n\t\t'Organization',\n\t\t{\n\t\t\tid: varchar('id', { length: 255 }).notNull().primaryKey(),\n\t\t\tname: varchar('name', { length: 255 }),\n\t\t\t// ADR-0012 P3: identity is stable even when email/name presentation changes.\n\t\t\tpersonalOrganizationUserId: varchar('personalOrganizationUserId', {\n\t\t\t\tlength: 255,\n\t\t\t}),\n\t\t\tfields: json('fields').$type<Record<string, any>>().default({}),\n\t\t\timage: varchar('image', { length: 255 }),\n\t\t\tcreatedAt: timestamp('createdAt', {\n\t\t\t\tmode: 'date',\n\t\t\t\tfsp: 3,\n\t\t\t}).default(sql`CURRENT_TIMESTAMP(3)`),\n\t\t},\n\t\t(organization) => ({\n\t\t\tcreatedAtIdx: index('created_at_idx').on(organization.createdAt),\n\t\t\tpersonalOrganizationUserIdIdx: uniqueIndex(\n\t\t\t\t'personalOrganizationUserId_idx',\n\t\t\t).on(organization.personalOrganizationUserId),\n\t\t}),\n\t)\n}\n\nexport function getOrganizationsRelationsSchema(mysqlTable: MySqlTableFn) {\n\tconst organizations = getOrganizationsSchema(mysqlTable)\n\tconst purchases = getPurchaseSchema(mysqlTable)\n\tconst subscriptions = getSubscriptionSchema(mysqlTable)\n\tconst organizationMemberships = getOrganizationMembershipsSchema(mysqlTable)\n\treturn relations(organizations, ({ many }) => ({\n\t\tpurchases: many(purchases, {\n\t\t\trelationName: 'organization',\n\t\t}),\n\t\tsubscriptions: many(subscriptions, {\n\t\t\trelationName: 'organization',\n\t\t}),\n\t\tmembers: many(organizationMemberships, {\n\t\t\trelationName: 'organization',\n\t\t}),\n\t}))\n}\n","import { relations, sql } from 'drizzle-orm'\nimport {\n\tindex,\n\tjson,\n\tMySqlTableFn,\n\tprimaryKey,\n\ttimestamp,\n\tvarchar,\n} from 'drizzle-orm/mysql-core'\n\nimport { getOrganizationsSchema } from '../org/organizations.js'\nimport { getMerchantSubscriptionSchema } from './merchant-subscription.js'\nimport { getProductSchema } from './product.js'\n\n// TODO: do we add a renewal date here? probably just add that stuff to fields\n// \teven status feels out of place at the top level maybe\nexport function getSubscriptionSchema(mysqlTable: MySqlTableFn) {\n\treturn mysqlTable(\n\t\t'Subscription',\n\t\t{\n\t\t\tid: varchar('id', { length: 191 }).notNull(),\n\t\t\torganizationId: varchar('organizationId', { length: 191 }),\n\t\t\tproductId: varchar('productId', { length: 191 }).notNull(),\n\t\t\tcreatedAt: timestamp('createdAt', { mode: 'date', fsp: 3 })\n\t\t\t\t.default(sql`CURRENT_TIMESTAMP(3)`)\n\t\t\t\t.notNull(),\n\t\t\tmerchantSubscriptionId: varchar('merchantSubscriptionId', {\n\t\t\t\tlength: 191,\n\t\t\t}).notNull(),\n\t\t\tstatus: varchar('status', { length: 191 }).default('active').notNull(),\n\t\t\tfields: json('fields').$type<Record<string, any>>().default({}),\n\t\t},\n\t\t(table) => {\n\t\t\treturn {\n\t\t\t\tsubscriptionId: primaryKey({\n\t\t\t\t\tcolumns: [table.id],\n\t\t\t\t\tname: 'Subscription_id',\n\t\t\t\t}),\n\t\t\t\torganizationIdIdx: index('organizationId_idx').on(table.organizationId),\n\t\t\t}\n\t\t},\n\t)\n}\n\nexport function getSubscriptionRelationsSchema(mysqlTable: MySqlTableFn) {\n\tconst subscriptions = getSubscriptionSchema(mysqlTable)\n\tconst products = getProductSchema(mysqlTable)\n\n\tconst organizations = getOrganizationsSchema(mysqlTable)\n\tconst merchantSubscriptions = getMerchantSubscriptionSchema(mysqlTable)\n\n\treturn relations(subscriptions, ({ many, one }) => ({\n\t\torganization: one(organizations, {\n\t\t\tfields: [subscriptions.organizationId],\n\t\t\treferences: [organizations.id],\n\t\t\trelationName: 'organization',\n\t\t}),\n\t\tproduct: one(products, {\n\t\t\tfields: [subscriptions.productId],\n\t\t\treferences: [products.id],\n\t\t\trelationName: 'product',\n\t\t}),\n\t\tmerchantSubscription: one(merchantSubscriptions, {\n\t\t\tfields: [subscriptions.merchantSubscriptionId],\n\t\t\treferences: [merchantSubscriptions.id],\n\t\t\trelationName: 'merchantSubscription',\n\t\t}),\n\t}))\n}\n","import { relations, sql } from 'drizzle-orm'\nimport {\n\tindex,\n\tint,\n\tMySqlTableFn,\n\tprimaryKey,\n\ttimestamp,\n\tvarchar,\n} from 'drizzle-orm/mysql-core'\n\nimport { getMerchantChargeSchema } from './merchant-charge.js'\nimport { getSubscriptionSchema } from './subscription.js'\n\nexport function getMerchantSubscriptionSchema(mysqlTable: MySqlTableFn) {\n\treturn mysqlTable(\n\t\t'MerchantSubscription',\n\t\t{\n\t\t\tid: varchar('id', { length: 191 }).notNull(),\n\t\t\torganizationId: varchar('organizationId', { length: 191 }),\n\t\t\tmerchantAccountId: varchar('merchantAccountId', {\n\t\t\t\tlength: 191,\n\t\t\t}).notNull(),\n\t\t\tstatus: int('status').default(0).notNull(),\n\t\t\tcreatedAt: timestamp('createdAt', { mode: 'date', fsp: 3 })\n\t\t\t\t.default(sql`CURRENT_TIMESTAMP(3)`)\n\t\t\t\t.notNull(),\n\t\t\tlabel: varchar('label', { length: 191 }),\n\t\t\tidentifier: varchar('identifier', { length: 191 }),\n\t\t\tmerchantCustomerId: varchar('merchantCustomerId', {\n\t\t\t\tlength: 191,\n\t\t\t}).notNull(),\n\t\t\tmerchantProductId: varchar('merchantProductId', {\n\t\t\t\tlength: 191,\n\t\t\t}).notNull(),\n\t\t},\n\t\t(table) => {\n\t\t\treturn {\n\t\t\t\tmerchantSubscriptionId: primaryKey({\n\t\t\t\t\tcolumns: [table.id],\n\t\t\t\t\tname: 'MerchantSubscription_id',\n\t\t\t\t}),\n\t\t\t\torganizationIdIdx: index('organizationId_idx').on(table.organizationId),\n\t\t\t}\n\t\t},\n\t)\n}\n\nexport function getMerchantSubscriptionRelationsSchema(\n\tmysqlTable: MySqlTableFn,\n) {\n\tconst merchantSubscription = getMerchantSubscriptionSchema(mysqlTable)\n\tconst merchantCharge = getMerchantChargeSchema(mysqlTable)\n\tconst subscription = getSubscriptionSchema(mysqlTable)\n\treturn relations(merchantSubscription, ({ many, one }) => ({\n\t\tmerchantCharges: many(merchantCharge, {\n\t\t\trelationName: 'merchantSubscription',\n\t\t}),\n\t\tsubscription: one(subscription, {\n\t\t\tfields: [merchantSubscription.id],\n\t\t\treferences: [subscription.merchantSubscriptionId],\n\t\t\trelationName: 'subscription',\n\t\t}),\n\t}))\n}\n","import { relations, sql } from 'drizzle-orm'\nimport {\n\tindex,\n\tint,\n\tMySqlTableFn,\n\tprimaryKey,\n\ttimestamp,\n\tunique,\n\tvarchar,\n} from 'drizzle-orm/mysql-core'\n\nimport { getMerchantAccountSchema } from './merchant-account.js'\nimport { getMerchantCustomerSchema } from './merchant-customer.js'\nimport { getMerchantProductSchema } from './merchant-product.js'\nimport { getMerchantSubscriptionSchema } from './merchant-subscription.js'\n\nexport function getMerchantChargeSchema(mysqlTable: MySqlTableFn) {\n\treturn mysqlTable(\n\t\t'MerchantCharge',\n\t\t{\n\t\t\tid: varchar('id', { length: 191 }).notNull(),\n\t\t\torganizationId: varchar('organizationId', { length: 191 }),\n\t\t\tstatus: int('status').default(0).notNull(),\n\t\t\tidentifier: varchar('identifier', { length: 191 }).notNull(),\n\t\t\tuserId: varchar('userId', { length: 191 }).notNull(),\n\t\t\tmerchantAccountId: varchar('merchantAccountId', {\n\t\t\t\tlength: 191,\n\t\t\t}).notNull(),\n\t\t\tmerchantProductId: varchar('merchantProductId', {\n\t\t\t\tlength: 191,\n\t\t\t}).notNull(),\n\t\t\tmerchantSubscriptionId: varchar('merchantSubscriptionId', {\n\t\t\t\tlength: 191,\n\t\t\t}),\n\t\t\tcreatedAt: timestamp('createdAt', { mode: 'date', fsp: 3 })\n\t\t\t\t.default(sql`CURRENT_TIMESTAMP(3)`)\n\t\t\t\t.notNull(),\n\t\t\tmerchantCustomerId: varchar('merchantCustomerId', {\n\t\t\t\tlength: 191,\n\t\t\t}).notNull(),\n\t\t},\n\t\t(table) => {\n\t\t\treturn {\n\t\t\t\tmerchantChargeId: primaryKey({\n\t\t\t\t\tcolumns: [table.id],\n\t\t\t\t\tname: 'MerchantCharge_id',\n\t\t\t\t}),\n\t\t\t\tmerchantChargeIdentifierKey: unique('MerchantCharge_identifier_key').on(\n\t\t\t\t\ttable.identifier,\n\t\t\t\t),\n\t\t\t\tmerchantSubscriptionIdIdx: index('merchantSubscriptionId_idx').on(\n\t\t\t\t\ttable.merchantSubscriptionId,\n\t\t\t\t),\n\t\t\t\torganizationIdIdx: index('organizationId_idx').on(table.organizationId),\n\t\t\t}\n\t\t},\n\t)\n}\n\nexport function getMerchantChargeRelationsSchema(mysqlTable: MySqlTableFn) {\n\tconst merchantCharge = getMerchantChargeSchema(mysqlTable)\n\tconst merchantAccount = getMerchantAccountSchema(mysqlTable)\n\tconst merchantProduct = getMerchantProductSchema(mysqlTable)\n\tconst merchantCustomer = getMerchantCustomerSchema(mysqlTable)\n\tconst merchantSubscription = getMerchantSubscriptionSchema(mysqlTable)\n\treturn relations(merchantCharge, ({ one }) => ({\n\t\tmerchantAccount: one(merchantAccount, {\n\t\t\tfields: [merchantCharge.merchantAccountId],\n\t\t\treferences: [merchantAccount.id],\n\t\t\trelationName: 'merchantAccount',\n\t\t}),\n\t\tmerchantProduct: one(merchantProduct, {\n\t\t\tfields: [merchantCharge.merchantProductId],\n\t\t\treferences: [merchantProduct.id],\n\t\t\trelationName: 'merchantProduct',\n\t\t}),\n\t\tmerchantCustomer: one(merchantCustomer, {\n\t\t\tfields: [merchantCharge.merchantCustomerId],\n\t\t\treferences: [merchantCustomer.id],\n\t\t\trelationName: 'merchantCustomer',\n\t\t}),\n\t\tmerchantSubscription: one(merchantSubscription, {\n\t\t\tfields: [merchantCharge.merchantSubscriptionId],\n\t\t\treferences: [merchantSubscription.id],\n\t\t\trelationName: 'merchantSubscription',\n\t\t}),\n\t}))\n}\n","import { sql } from 'drizzle-orm'\nimport {\n\tindex,\n\tint,\n\tMySqlTableFn,\n\tprimaryKey,\n\ttimestamp,\n\tvarchar,\n} from 'drizzle-orm/mysql-core'\n\nexport function getMerchantAccountSchema(mysqlTable: MySqlTableFn) {\n\treturn mysqlTable(\n\t\t'MerchantAccount',\n\t\t{\n\t\t\tid: varchar('id', { length: 191 }).notNull(),\n\t\t\torganizationId: varchar('organizationId', { length: 191 }),\n\t\t\tstatus: int('status').default(0).notNull(),\n\t\t\tcreatedAt: timestamp('createdAt', { mode: 'date', fsp: 3 })\n\t\t\t\t.default(sql`CURRENT_TIMESTAMP(3)`)\n\t\t\t\t.notNull(),\n\t\t\tlabel: varchar('label', { length: 191 }),\n\t\t\tidentifier: varchar('identifier', { length: 191 }),\n\t\t},\n\t\t(table) => {\n\t\t\treturn {\n\t\t\t\tmerchantAccountId: primaryKey({\n\t\t\t\t\tcolumns: [table.id],\n\t\t\t\t\tname: 'MerchantAccount_id',\n\t\t\t\t}),\n\t\t\t\torganizationIdIdx: index('organizationId_idx').on(table.organizationId),\n\t\t\t}\n\t\t},\n\t)\n}\n","import { sql } from 'drizzle-orm'\nimport {\n\tindex,\n\tint,\n\tMySqlTableFn,\n\tprimaryKey,\n\ttimestamp,\n\tunique,\n\tvarchar,\n} from 'drizzle-orm/mysql-core'\n\nexport function getMerchantCustomerSchema(mysqlTable: MySqlTableFn) {\n\treturn mysqlTable(\n\t\t'MerchantCustomer',\n\t\t{\n\t\t\tid: varchar('id', { length: 191 }).notNull(),\n\t\t\torganizationId: varchar('organizationId', { length: 191 }),\n\t\t\tuserId: varchar('userId', { length: 191 }).notNull(),\n\t\t\tmerchantAccountId: varchar('merchantAccountId', {\n\t\t\t\tlength: 191,\n\t\t\t}).notNull(),\n\t\t\tidentifier: varchar('identifier', { length: 191 }).notNull(),\n\t\t\tcreatedAt: timestamp('createdAt', { mode: 'date', fsp: 3 })\n\t\t\t\t.default(sql`CURRENT_TIMESTAMP(3)`)\n\t\t\t\t.notNull(),\n\t\t\tstatus: int('status').default(0),\n\t\t},\n\t\t(table) => {\n\t\t\treturn {\n\t\t\t\tmerchantCustomerId: primaryKey({\n\t\t\t\t\tcolumns: [table.id],\n\t\t\t\t\tname: 'MerchantCustomer_id',\n\t\t\t\t}),\n\t\t\t\tmerchantCustomerIdentifierKey: unique(\n\t\t\t\t\t'MerchantCustomer_identifier_key',\n\t\t\t\t).on(table.identifier),\n\t\t\t\tuserIdIdx: index('idx_MerchantCustomer_on_userId').on(table.userId),\n\t\t\t\torganizationIdIdx: index('organizationId_idx').on(table.organizationId),\n\t\t\t}\n\t\t},\n\t)\n}\n","import { sql } from 'drizzle-orm'\nimport {\n\tindex,\n\tint,\n\tMySqlTableFn,\n\tprimaryKey,\n\ttimestamp,\n\tunique,\n\tvarchar,\n} from 'drizzle-orm/mysql-core'\n\nexport function getMerchantProductSchema(mysqlTable: MySqlTableFn) {\n\treturn mysqlTable(\n\t\t'MerchantProduct',\n\t\t{\n\t\t\tid: varchar('id', { length: 191 }).notNull(),\n\t\t\torganizationId: varchar('organizationId', { length: 191 }),\n\t\t\tmerchantAccountId: varchar('merchantAccountId', {\n\t\t\t\tlength: 191,\n\t\t\t}).notNull(),\n\t\t\tproductId: varchar('productId', { length: 191 }).notNull(),\n\t\t\tstatus: int('status').default(0).notNull(),\n\t\t\tidentifier: varchar('identifier', { length: 191 }),\n\t\t\tcreatedAt: timestamp('createdAt', { mode: 'date', fsp: 3 })\n\t\t\t\t.default(sql`CURRENT_TIMESTAMP(3)`)\n\t\t\t\t.notNull(),\n\t\t},\n\t\t(table) => {\n\t\t\treturn {\n\t\t\t\tmerchantProductId: primaryKey({\n\t\t\t\t\tcolumns: [table.id],\n\t\t\t\t\tname: 'MerchantProduct_id',\n\t\t\t\t}),\n\t\t\t\tmerchantProductIdentifierKey: unique(\n\t\t\t\t\t'MerchantProduct_identifier_key',\n\t\t\t\t).on(table.identifier),\n\t\t\t\torganizationIdIdx: index('organizationId_idx').on(table.organizationId),\n\t\t\t}\n\t\t},\n\t)\n}\n","import { relations, sql } from 'drizzle-orm'\nimport {\n\tindex,\n\tint,\n\tjson,\n\tMySqlTableFn,\n\tprimaryKey,\n\ttimestamp,\n\tvarchar,\n} from 'drizzle-orm/mysql-core'\n\nimport { getContentResourceProductSchema } from '../content/content-resource-product.js'\nimport { getMerchantProductSchema } from './merchant-product.js'\nimport { getPriceSchema } from './price.js'\n\nexport function getProductSchema(mysqlTable: MySqlTableFn) {\n\treturn mysqlTable(\n\t\t'Product',\n\t\t{\n\t\t\tid: varchar('id', { length: 191 }).notNull(),\n\t\t\torganizationId: varchar('organizationId', { length: 191 }),\n\t\t\tname: varchar('name', { length: 191 }).notNull(),\n\t\t\tkey: varchar('key', { length: 191 }),\n\t\t\ttype: varchar('type', { length: 191 }),\n\t\t\tfields: json('fields').$type<Record<string, any>>().default({}),\n\t\t\tcreatedAt: timestamp('createdAt', { mode: 'date', fsp: 3 })\n\t\t\t\t.default(sql`CURRENT_TIMESTAMP(3)`)\n\t\t\t\t.notNull(),\n\t\t\tstatus: int('status').default(0).notNull(),\n\t\t\tquantityAvailable: int('quantityAvailable').default(-1).notNull(),\n\t\t},\n\t\t(table) => {\n\t\t\treturn {\n\t\t\t\tproductId: primaryKey({ columns: [table.id], name: 'Product_id' }),\n\t\t\t\torganizationIdIdx: index('organizationId_idx').on(table.organizationId),\n\t\t\t}\n\t\t},\n\t)\n}\n\nexport function getProductRelationsSchema(mysqlTable: MySqlTableFn) {\n\tconst product = getProductSchema(mysqlTable)\n\tconst price = getPriceSchema(mysqlTable)\n\tconst merchantProduct = getMerchantProductSchema(mysqlTable)\n\tconst contentResourceProduct = getContentResourceProductSchema(mysqlTable)\n\treturn relations(product, ({ one, many }) => ({\n\t\tprice: one(price, {\n\t\t\tfields: [product.id],\n\t\t\treferences: [price.productId],\n\t\t\trelationName: 'price',\n\t\t}),\n\t\tresources: many(contentResourceProduct, { relationName: 'product' }),\n\t\tmerchantProduct: one(merchantProduct, {\n\t\t\tfields: [product.id],\n\t\t\treferences: [merchantProduct.productId],\n\t\t\trelationName: 'merchantProduct',\n\t\t}),\n\t}))\n}\n","import { relations, sql } from 'drizzle-orm'\nimport {\n\tdouble,\n\tindex,\n\tjson,\n\tMySqlTableFn,\n\tprimaryKey,\n\ttimestamp,\n\tvarchar,\n} from 'drizzle-orm/mysql-core'\n\nimport { getProductSchema } from '../commerce/product.js'\nimport { getContentResourceSchema } from './content-resource.js'\n\nexport function getContentResourceProductSchema(mysqlTable: MySqlTableFn) {\n\treturn mysqlTable(\n\t\t'ContentResourceProduct',\n\t\t{\n\t\t\tproductId: varchar('productId', { length: 255 }).notNull(),\n\t\t\tresourceId: varchar('resourceId', { length: 255 }).notNull(),\n\t\t\torganizationId: varchar('organizationId', { length: 191 }),\n\t\t\tposition: double('position').notNull().default(0),\n\t\t\tmetadata: json('metadata').$type<Record<string, any>>().default({}),\n\t\t\tcreatedAt: timestamp('createdAt', {\n\t\t\t\tmode: 'date',\n\t\t\t\tfsp: 3,\n\t\t\t}).default(sql`CURRENT_TIMESTAMP(3)`),\n\t\t\tupdatedAt: timestamp('updatedAt', {\n\t\t\t\tmode: 'date',\n\t\t\t\tfsp: 3,\n\t\t\t}).default(sql`CURRENT_TIMESTAMP(3)`),\n\t\t\tdeletedAt: timestamp('deletedAt', {\n\t\t\t\tmode: 'date',\n\t\t\t\tfsp: 3,\n\t\t\t}),\n\t\t},\n\t\t(crr) => ({\n\t\t\tpk: primaryKey({ columns: [crr.productId, crr.resourceId] }),\n\t\t\tcontentResourceIdIdx: index('contentResourceId_idx').on(crr.productId),\n\t\t\tresourceIdIdx: index('resourceId_idx').on(crr.resourceId),\n\t\t\torganizationIdIdx: index('organizationId_idx').on(crr.organizationId),\n\t\t}),\n\t)\n}\n\nexport function getContentResourceProductRelationsSchema(\n\tmysqlTable: MySqlTableFn,\n) {\n\tconst contentResource = getContentResourceSchema(mysqlTable)\n\tconst contentResourceProduct = getContentResourceProductSchema(mysqlTable)\n\tconst product = getProductSchema(mysqlTable)\n\treturn relations(contentResourceProduct, ({ one }) => ({\n\t\tproduct: one(product, {\n\t\t\tfields: [contentResourceProduct.productId],\n\t\t\treferences: [product.id],\n\t\t\trelationName: 'product',\n\t\t}),\n\t\tresource: one(contentResource, {\n\t\t\tfields: [contentResourceProduct.resourceId],\n\t\t\treferences: [contentResource.id],\n\t\t\trelationName: 'resource',\n\t\t}),\n\t}))\n}\n","import { relations, sql } from 'drizzle-orm'\nimport {\n\tindex,\n\tjson,\n\tMySqlTableFn,\n\ttimestamp,\n\tvarchar,\n} from 'drizzle-orm/mysql-core'\n\nimport { getUsersSchema, type UsersSchemaOverrides } from '../auth/users.js'\nimport { getOrganizationMembershipsSchema } from '../org/organization-memberships.js'\nimport { getContentContributionsSchema } from './content-contributions.js'\nimport { getContentResourceProductSchema } from './content-resource-product.js'\nimport { getContentResourceResourceSchema } from './content-resource-resource.js'\nimport { getContentResourceTagSchema } from './content-resource-tag.js'\nimport { getContentResourceVersionSchema } from './content-resource-version.js'\nimport { getTagSchema } from './tag.js'\n\nexport function getContentResourceSchema(mysqlTable: MySqlTableFn) {\n\treturn mysqlTable(\n\t\t'ContentResource',\n\t\t{\n\t\t\tid: varchar('id', { length: 255 }).notNull().primaryKey(),\n\t\t\torganizationId: varchar('organizationId', { length: 191 }),\n\t\t\tcreatedByOrganizationMembershipId: varchar(\n\t\t\t\t'createdByOrganizationMembershipId',\n\t\t\t\t{\n\t\t\t\t\tlength: 191,\n\t\t\t\t},\n\t\t\t),\n\t\t\ttype: varchar('type', { length: 255 }).notNull(),\n\t\t\tcreatedById: varchar('createdById', { length: 255 }).notNull(),\n\t\t\tfields: json('fields').$type<Record<string, any>>().default({}),\n\t\t\t// Generated column for indexing JSON slug field\n\t\t\tslug: varchar('slug', { length: 255 }).generatedAlwaysAs(\n\t\t\t\tsql`(fields->>'$.slug')`,\n\t\t\t\t{ mode: 'stored' },\n\t\t\t),\n\t\t\tcurrentVersionId: varchar('currentVersionId', { length: 255 }),\n\t\t\tcreatedAt: timestamp('createdAt', {\n\t\t\t\tmode: 'date',\n\t\t\t\tfsp: 3,\n\t\t\t}).default(sql`CURRENT_TIMESTAMP(3)`),\n\t\t\tupdatedAt: timestamp('updatedAt', {\n\t\t\t\tmode: 'date',\n\t\t\t\tfsp: 3,\n\t\t\t}).default(sql`CURRENT_TIMESTAMP(3)`),\n\t\t\tdeletedAt: timestamp('deletedAt', {\n\t\t\t\tmode: 'date',\n\t\t\t\tfsp: 3,\n\t\t\t}),\n\t\t},\n\t\t(cm) => ({\n\t\t\ttypeIdx: index('type_idx').on(cm.type),\n\t\t\tcreatedByIdx: index('createdById_idx').on(cm.createdById),\n\t\t\tcreatedAtIdx: index('createdAt_idx').on(cm.createdAt),\n\t\t\tcurrentVersionIdIdx: index('currentVersionId_idx').on(\n\t\t\t\tcm.currentVersionId,\n\t\t\t),\n\t\t\tcreatedByOrganizationMembershipIdIdx: index(\n\t\t\t\t'createdByOrganizationMembershipId_idx',\n\t\t\t).on(cm.createdByOrganizationMembershipId),\n\t\t\tslugIdx: index('slug_idx').on(cm.slug),\n\t\t}),\n\t)\n}\n\nexport function getContentResourceRelationsSchema(\n\tmysqlTable: MySqlTableFn,\n\toverrides: UsersSchemaOverrides = {},\n) {\n\tconst contentResource = getContentResourceSchema(mysqlTable)\n\tconst resolveUsersSchema = overrides.getUsersSchema ?? getUsersSchema\n\tconst users = resolveUsersSchema(mysqlTable)\n\tconst contentResourceResource = getContentResourceResourceSchema(mysqlTable)\n\tconst contentResourceProduct = getContentResourceProductSchema(mysqlTable)\n\tconst contentContributions = getContentContributionsSchema(mysqlTable)\n\tconst contentResourceTag = getContentResourceTagSchema(mysqlTable)\n\tconst contentResourceVersion = getContentResourceVersionSchema(mysqlTable)\n\tconst organizationMemberships = getOrganizationMembershipsSchema(mysqlTable)\n\tconst tag = getTagSchema(mysqlTable)\n\treturn relations(contentResource, ({ one, many }) => ({\n\t\tcreatedBy: one(users, {\n\t\t\tfields: [contentResource.createdById],\n\t\t\treferences: [users.id],\n\t\t\trelationName: 'creator',\n\t\t}),\n\t\tcreatedByOrganizationMembership: one(organizationMemberships, {\n\t\t\tfields: [contentResource.createdByOrganizationMembershipId],\n\t\t\treferences: [organizationMemberships.id],\n\t\t\trelationName: 'createdByOrganizationMembership',\n\t\t}),\n\t\ttags: many(contentResourceTag, { relationName: 'contentResource' }),\n\t\tresources: many(contentResourceResource, { relationName: 'resourceOf' }),\n\t\tresourceOf: many(contentResourceResource, { relationName: 'resource' }),\n\t\tresourceProducts: many(contentResourceProduct, {\n\t\t\trelationName: 'resource',\n\t\t}),\n\t\tcontributions: many(contentContributions, {\n\t\t\trelationName: 'contributions',\n\t\t}),\n\t\tcurrentVersion: one(contentResourceVersion, {\n\t\t\tfields: [contentResource.currentVersionId],\n\t\t\treferences: [contentResourceVersion.id],\n\t\t\trelationName: 'currentVersionResource',\n\t\t}),\n\t\tversions: many(contentResourceVersion, { relationName: 'resource' }),\n\t}))\n}\n","import { relations } from 'drizzle-orm'\nimport {\n\tboolean,\n\tindex,\n\tMySqlTableFn,\n\ttimestamp,\n\tvarchar,\n} from 'drizzle-orm/mysql-core'\n\nimport { getUsersSchema, type UsersSchemaOverrides } from '../auth/users.js'\nimport { getOrganizationMembershipsSchema } from '../org/organization-memberships.js'\nimport { getContentResourceSchema } from './content-resource.js'\nimport { getContributionTypesSchema } from './contribution-types.js'\n\nexport function getContentContributionsSchema(mysqlTable: MySqlTableFn) {\n\treturn mysqlTable(\n\t\t'ContentContribution',\n\t\t{\n\t\t\tid: varchar('id', { length: 255 }).notNull().primaryKey(),\n\t\t\tuserId: varchar('userId', { length: 255 }).notNull(),\n\t\t\torganizationId: varchar('organizationId', { length: 191 }),\n\t\t\torganizationMembershipId: varchar('organizationMembershipId', {\n\t\t\t\tlength: 255,\n\t\t\t}),\n\t\t\tcontentId: varchar('contentId', { length: 255 }).notNull(),\n\t\t\tcontributionTypeId: varchar('contributionTypeId', {\n\t\t\t\tlength: 255,\n\t\t\t}).notNull(),\n\t\t\tactive: boolean('active').notNull().default(true),\n\t\t\tcreatedAt: timestamp('createdAt', {\n\t\t\t\tmode: 'date',\n\t\t\t\tfsp: 3,\n\t\t\t}).defaultNow(),\n\t\t\tupdatedAt: timestamp('updatedAt', {\n\t\t\t\tmode: 'date',\n\t\t\t\tfsp: 3,\n\t\t\t}).defaultNow(),\n\t\t\tdeletedAt: timestamp('deletedAt', {\n\t\t\t\tmode: 'date',\n\t\t\t\tfsp: 3,\n\t\t\t}),\n\t\t},\n\t\t(cc) => ({\n\t\t\tuserIdIdx: index('userId_idx').on(cc.userId),\n\t\t\tcontentIdIdx: index('contentId_idx').on(cc.contentId),\n\t\t\tcontributionTypeIdIdx: index('contributionTypeId_idx').on(\n\t\t\t\tcc.contributionTypeId,\n\t\t\t),\n\t\t\torganizationMembershipIdIdx: index('organizationMembershipId_idx').on(\n\t\t\t\tcc.organizationMembershipId,\n\t\t\t),\n\t\t}),\n\t)\n}\n\nexport function getContentContributionRelationsSchema(\n\tmysqlTable: MySqlTableFn,\n\toverrides: UsersSchemaOverrides = {},\n) {\n\tconst contentContributions = getContentContributionsSchema(mysqlTable)\n\tconst resolveUsersSchema = overrides.getUsersSchema ?? getUsersSchema\n\tconst users = resolveUsersSchema(mysqlTable)\n\tconst contentResource = getContentResourceSchema(mysqlTable)\n\tconst contributionTypes = getContributionTypesSchema(mysqlTable)\n\tconst organizationMemberships = getOrganizationMembershipsSchema(mysqlTable)\n\n\treturn relations(contentContributions, ({ one }) => ({\n\t\tuser: one(users, {\n\t\t\tfields: [contentContributions.userId],\n\t\t\treferences: [users.id],\n\t\t\trelationName: 'user',\n\t\t}),\n\t\tcontent: one(contentResource, {\n\t\t\tfields: [contentContributions.contentId],\n\t\t\treferences: [contentResource.id],\n\t\t\trelationName: 'contributions',\n\t\t}),\n\t\tcontributionType: one(contributionTypes, {\n\t\t\tfields: [contentContributions.contributionTypeId],\n\t\t\treferences: [contributionTypes.id],\n\t\t\trelationName: 'contributionType',\n\t\t}),\n\t\torganizationMembership: one(organizationMemberships, {\n\t\t\tfields: [contentContributions.organizationMembershipId],\n\t\t\treferences: [organizationMemberships.id],\n\t\t\trelationName: 'organizationMembership',\n\t\t}),\n\t}))\n}\n","import { relations } from 'drizzle-orm'\nimport {\n\tboolean,\n\tindex,\n\tMySqlTableFn,\n\ttext,\n\ttimestamp,\n\tvarchar,\n} from 'drizzle-orm/mysql-core'\n\nimport { getContentContributionsSchema } from './content-contributions.js'\n\nexport function getContributionTypesSchema(mysqlTable: MySqlTableFn) {\n\treturn mysqlTable(\n\t\t'ContributionType',\n\t\t{\n\t\t\tid: varchar('id', { length: 255 }).notNull().primaryKey(),\n\t\t\torganizationId: varchar('organizationId', { length: 191 }),\n\t\t\tslug: varchar('slug', { length: 255 }).notNull().unique(),\n\t\t\tname: varchar('name', { length: 255 }).notNull(),\n\t\t\tdescription: text('description'),\n\t\t\tactive: boolean('active').notNull().default(true),\n\t\t\tcreatedAt: timestamp('createdAt', {\n\t\t\t\tmode: 'date',\n\t\t\t\tfsp: 3,\n\t\t\t}).defaultNow(),\n\t\t\tupdatedAt: timestamp('updatedAt', {\n\t\t\t\tmode: 'date',\n\t\t\t\tfsp: 3,\n\t\t\t}).defaultNow(),\n\t\t\tdeletedAt: timestamp('deletedAt', {\n\t\t\t\tmode: 'date',\n\t\t\t\tfsp: 3,\n\t\t\t}),\n\t\t},\n\t\t(ct) => ({\n\t\t\tnameIdx: index('name_idx').on(ct.name),\n\t\t\tslugIdx: index('slug_idx').on(ct.slug),\n\t\t\torganizationIdIdx: index('organizationId_idx').on(ct.organizationId),\n\t\t}),\n\t)\n}\n\nexport function getContributionTypesRelationsSchema(mysqlTable: MySqlTableFn) {\n\tconst contributionTypes = getContributionTypesSchema(mysqlTable)\n\n\treturn relations(contributionTypes, ({ many }) => ({}))\n}\n","import { relations, sql } from 'drizzle-orm'\nimport {\n\tdouble,\n\tindex,\n\tjson,\n\tMySqlTableFn,\n\tprimaryKey,\n\ttimestamp,\n\tvarchar,\n} from 'drizzle-orm/mysql-core'\n\nimport { getContentResourceSchema } from './content-resource.js'\n\nexport function getContentResourceResourceSchema(mysqlTable: MySqlTableFn) {\n\treturn mysqlTable(\n\t\t'ContentResourceResource',\n\t\t{\n\t\t\tresourceOfId: varchar('resourceOfId', { length: 255 }).notNull(),\n\t\t\tresourceId: varchar('resourceId', { length: 255 }).notNull(),\n\t\t\tposition: double('position').notNull().default(0),\n\t\t\tmetadata: json('metadata').$type<Record<string, any>>().default({}),\n\t\t\torganizationId: varchar('organizationId', { length: 191 }),\n\t\t\tcreatedAt: timestamp('createdAt', {\n\t\t\t\tmode: 'date',\n\t\t\t\tfsp: 3,\n\t\t\t}).default(sql`CURRENT_TIMESTAMP(3)`),\n\t\t\tupdatedAt: timestamp('updatedAt', {\n\t\t\t\tmode: 'date',\n\t\t\t\tfsp: 3,\n\t\t\t}).default(sql`CURRENT_TIMESTAMP(3)`),\n\t\t\tdeletedAt: timestamp('deletedAt', {\n\t\t\t\tmode: 'date',\n\t\t\t\tfsp: 3,\n\t\t\t}),\n\t\t},\n\t\t(crr) => ({\n\t\t\tpk: primaryKey({ columns: [crr.resourceOfId, crr.resourceId] }),\n\t\t\tcontentResourceIdIdx: index('contentResourceId_idx').on(crr.resourceOfId),\n\t\t\tresourceIdIdx: index('resourceId_idx').on(crr.resourceId),\n\t\t\torganizationIdIdx: index('organizationId_idx').on(crr.organizationId),\n\t\t}),\n\t)\n}\n\nexport function getContentResourceResourceRelationsSchema(\n\tmysqlTable: MySqlTableFn,\n) {\n\tconst contentResource = getContentResourceSchema(mysqlTable)\n\tconst contentResourceResource = getContentResourceResourceSchema(mysqlTable)\n\treturn relations(contentResourceResource, ({ one }) => ({\n\t\tresourceOf: one(contentResource, {\n\t\t\tfields: [contentResourceResource.resourceOfId],\n\t\t\treferences: [contentResource.id],\n\t\t\trelationName: 'resourceOf',\n\t\t}),\n\t\tresource: one(contentResource, {\n\t\t\tfields: [contentResourceResource.resourceId],\n\t\t\treferences: [contentResource.id],\n\t\t\trelationName: 'resource',\n\t\t}),\n\t}))\n}\n","import { relations, sql } from 'drizzle-orm'\nimport {\n\tdouble,\n\tindex,\n\tMySqlTableFn,\n\tprimaryKey,\n\ttimestamp,\n\tvarchar,\n} from 'drizzle-orm/mysql-core'\n\nimport { getContentResourceSchema } from './content-resource.js'\nimport { getTagSchema } from './tag.js'\n\nexport function getContentResourceTagSchema(mysqlTable: MySqlTableFn) {\n\treturn mysqlTable(\n\t\t'ContentResourceTag',\n\t\t{\n\t\t\tcontentResourceId: varchar('contentResourceId', {\n\t\t\t\tlength: 255,\n\t\t\t}).notNull(),\n\t\t\torganizationId: varchar('organizationId', { length: 191 }),\n\t\t\ttagId: varchar('tagId', { length: 255 }).notNull(),\n\t\t\tposition: double('position').notNull().default(0),\n\t\t\tcreatedAt: timestamp('createdAt', {\n\t\t\t\tmode: 'date',\n\t\t\t\tfsp: 3,\n\t\t\t}).default(sql`CURRENT_TIMESTAMP(3)`),\n\t\t\tupdatedAt: timestamp('updatedAt', {\n\t\t\t\tmode: 'date',\n\t\t\t\tfsp: 3,\n\t\t\t}).default(sql`CURRENT_TIMESTAMP(3)`),\n\t\t},\n\t\t(crt) => ({\n\t\t\tpk: primaryKey({ columns: [crt.contentResourceId, crt.tagId] }),\n\t\t\tcontentResourceIdIdx: index('contentResourceId_idx').on(\n\t\t\t\tcrt.contentResourceId,\n\t\t\t),\n\t\t\ttagIdIdx: index('tagId_idx').on(crt.tagId),\n\t\t\tpositionIdx: index('position_idx').on(crt.position),\n\t\t\torganizationIdIdx: index('organizationId_idx').on(crt.organizationId),\n\t\t}),\n\t)\n}\n\nexport function getContentResourceTagRelationsSchema(mysqlTable: MySqlTableFn) {\n\tconst contentResource = getContentResourceSchema(mysqlTable)\n\tconst tag = getTagSchema(mysqlTable)\n\tconst contentResourceTag = getContentResourceTagSchema(mysqlTable)\n\treturn relations(contentResourceTag, ({ one }) => ({\n\t\tcontentResource: one(contentResource, {\n\t\t\tfields: [contentResourceTag.contentResourceId],\n\t\t\treferences: [contentResource.id],\n\t\t\trelationName: 'contentResource',\n\t\t}),\n\t\ttag: one(tag, {\n\t\t\tfields: [contentResourceTag.tagId],\n\t\t\treferences: [tag.id],\n\t\t\trelationName: 'tag',\n\t\t}),\n\t}))\n}\n","import { relations, sql } from 'drizzle-orm'\nimport {\n\tindex,\n\tjson,\n\tMySqlTableFn,\n\ttimestamp,\n\tvarchar,\n} from 'drizzle-orm/mysql-core'\n\nimport { getContentResourceTagSchema } from './content-resource-tag.js'\nimport { getTagTagSchema } from './tag-tag.js'\n\nexport function getTagSchema(mysqlTable: MySqlTableFn) {\n\treturn mysqlTable(\n\t\t'Tag',\n\t\t{\n\t\t\tid: varchar('id', { length: 255 }).notNull().primaryKey(),\n\t\t\torganizationId: varchar('organizationId', { length: 191 }),\n\t\t\ttype: varchar('type', { length: 255 }).notNull(),\n\t\t\tfields: json('fields').$type<Record<string, any>>().default({}),\n\t\t\tcreatedAt: timestamp('createdAt', {\n\t\t\t\tmode: 'date',\n\t\t\t\tfsp: 3,\n\t\t\t}).default(sql`CURRENT_TIMESTAMP(3)`),\n\t\t\tupdatedAt: timestamp('updatedAt', {\n\t\t\t\tmode: 'date',\n\t\t\t\tfsp: 3,\n\t\t\t}).default(sql`CURRENT_TIMESTAMP(3)`),\n\t\t\tdeletedAt: timestamp('deletedAt', {\n\t\t\t\tmode: 'date',\n\t\t\t\tfsp: 3,\n\t\t\t}),\n\t\t},\n\t\t(t) => ({\n\t\t\ttypeIdx: index('type_idx').on(t.type),\n\t\t\torganizationIdIdx: index('organizationId_idx').on(t.organizationId),\n\t\t}),\n\t)\n}\n\nexport function getTagRelationsSchema(mysqlTable: MySqlTableFn) {\n\tconst tag = getTagSchema(mysqlTable)\n\tconst contentResourceTag = getContentResourceTagSchema(mysqlTable)\n\tconst tagTag = getTagTagSchema(mysqlTable)\n\treturn relations(tag, ({ many }) => ({\n\t\tresources: many(contentResourceTag, { relationName: 'contentResource' }),\n\t\tparentTags: many(tagTag, { relationName: 'childTag' }),\n\t\tchildTags: many(tagTag, { relationName: 'parentTag' }),\n\t}))\n}\n","import { relations, sql } from 'drizzle-orm'\nimport {\n\tdouble,\n\tindex,\n\tjson,\n\tMySqlTableFn,\n\tprimaryKey,\n\ttimestamp,\n\tvarchar,\n} from 'drizzle-orm/mysql-core'\n\nimport { getTagSchema } from './tag.js'\n\nexport function getTagTagSchema(mysqlTable: MySqlTableFn) {\n\treturn mysqlTable(\n\t\t'TagTag',\n\t\t{\n\t\t\tparentTagId: varchar('parentTagId', { length: 255 }).notNull(),\n\t\t\tchildTagId: varchar('childTagId', { length: 255 }).notNull(),\n\t\t\tposition: double('position').notNull().default(0),\n\t\t\tmetadata: json('metadata').$type<Record<string, any>>().default({}),\n\t\t\torganizationId: varchar('organizationId', { length: 191 }),\n\t\t\tcreatedAt: timestamp('createdAt', {\n\t\t\t\tmode: 'date',\n\t\t\t\tfsp: 3,\n\t\t\t}).default(sql`CURRENT_TIMESTAMP(3)`),\n\t\t\tupdatedAt: timestamp('updatedAt', {\n\t\t\t\tmode: 'date',\n\t\t\t\tfsp: 3,\n\t\t\t}).default(sql`CURRENT_TIMESTAMP(3)`),\n\t\t\tdeletedAt: timestamp('deletedAt', {\n\t\t\t\tmode: 'date',\n\t\t\t\tfsp: 3,\n\t\t\t}),\n\t\t},\n\t\t(tt) => ({\n\t\t\tpk: primaryKey({ columns: [tt.parentTagId, tt.childTagId] }),\n\t\t\tparentTagIdIdx: index('parentTagId_idx').on(tt.parentTagId),\n\t\t\tchildTagIdIdx: index('childTagId_idx').on(tt.childTagId),\n\t\t\tpositionIdx: index('position_idx').on(tt.position),\n\t\t\torganizationIdIdx: index('organizationId_idx').on(tt.organizationId),\n\t\t}),\n\t)\n}\n\nexport function getTagTagRelationsSchema(mysqlTable: MySqlTableFn) {\n\tconst tag = getTagSchema(mysqlTable)\n\tconst tagTag = getTagTagSchema(mysqlTable)\n\treturn relations(tagTag, ({ one }) => ({\n\t\tparentTag: one(tag, {\n\t\t\tfields: [tagTag.parentTagId],\n\t\t\treferences: [tag.id],\n\t\t\trelationName: 'parentTag',\n\t\t}),\n\t\tchildTag: one(tag, {\n\t\t\tfields: [tagTag.childTagId],\n\t\t\treferences: [tag.id],\n\t\t\trelationName: 'childTag',\n\t\t}),\n\t}))\n}\n","import { relations, sql } from 'drizzle-orm'\nimport {\n\tindex,\n\tint,\n\tjson,\n\tMySqlTableFn,\n\ttimestamp,\n\tunique,\n\tvarchar,\n} from 'drizzle-orm/mysql-core'\n\nimport { getUsersSchema, type UsersSchemaOverrides } from '../auth/users.js'\nimport { getContentResourceSchema } from './content-resource.js'\n\nexport function getContentResourceVersionSchema(mysqlTable: MySqlTableFn) {\n\treturn mysqlTable(\n\t\t'ContentResourceVersion',\n\t\t{\n\t\t\tid: varchar('id', { length: 255 }).notNull().primaryKey(),\n\t\t\torganizationId: varchar('organizationId', { length: 191 }),\n\t\t\tresourceId: varchar('resourceId', { length: 255 }).notNull(),\n\t\t\tparentVersionId: varchar('parentVersionId', { length: 255 }),\n\t\t\tversionNumber: int('versionNumber').notNull(),\n\t\t\tfields: json('fields').$type<Record<string, any>>().default({}),\n\t\t\tcreatedAt: timestamp('createdAt', {\n\t\t\t\tmode: 'date',\n\t\t\t\tfsp: 3,\n\t\t\t}).default(sql`CURRENT_TIMESTAMP(3)`),\n\t\t\tcreatedById: varchar('createdById', { length: 255 }).notNull(),\n\t\t},\n\t\t(crv) => ({\n\t\t\tresourceIdIdx: index('resourceId_idx').on(crv.resourceId),\n\t\t\tparentVersionIdIdx: index('parentVersionId_idx').on(crv.parentVersionId),\n\t\t\tresourceIdVersionNumberIdx: index('resourceId_versionNumber_idx').on(\n\t\t\t\tcrv.resourceId,\n\t\t\t\tcrv.versionNumber,\n\t\t\t),\n\t\t\tuniqueResourceVersion: unique('uq_resource_version_number').on(\n\t\t\t\tcrv.resourceId,\n\t\t\t\tcrv.versionNumber,\n\t\t\t),\n\t\t\torganizationIdIdx: index('organizationId_idx').on(crv.organizationId),\n\t\t}),\n\t)\n}\n\nexport function getContentResourceVersionRelationsSchema(\n\tmysqlTable: MySqlTableFn,\n\toverrides: UsersSchemaOverrides = {},\n) {\n\tconst contentResourceVersion = getContentResourceVersionSchema(mysqlTable)\n\tconst contentResource = getContentResourceSchema(mysqlTable)\n\tconst resolveUsersSchema = overrides.getUsersSchema ?? getUsersSchema\n\tconst users = resolveUsersSchema(mysqlTable)\n\n\treturn relations(contentResourceVersion, ({ one }) => ({\n\t\tresource: one(contentResource, {\n\t\t\tfields: [contentResourceVersion.resourceId],\n\t\t\treferences: [contentResource.id],\n\t\t\trelationName: 'versions',\n\t\t}),\n\t\tparentVersion: one(contentResourceVersion, {\n\t\t\tfields: [contentResourceVersion.parentVersionId],\n\t\t\treferences: [contentResourceVersion.id],\n\t\t\trelationName: 'childVersions',\n\t\t}),\n\t\tcreatedBy: one(users, {\n\t\t\tfields: [contentResourceVersion.createdById],\n\t\t\treferences: [users.id],\n\t\t\trelationName: 'createdVersions',\n\t\t}),\n\t}))\n}\n","import { relations, sql } from 'drizzle-orm'\nimport {\n\tdecimal,\n\tindex,\n\tint,\n\tjson,\n\tMySqlTableFn,\n\tprimaryKey,\n\ttimestamp,\n\tvarchar,\n} from 'drizzle-orm/mysql-core'\n\nimport { getMerchantPriceSchema } from './merchant-price.js'\nimport { getProductSchema } from './product.js'\n\nexport function getPriceSchema(mysqlTable: MySqlTableFn) {\n\treturn mysqlTable(\n\t\t'Price',\n\t\t{\n\t\t\tid: varchar('id', { length: 191 }).notNull(),\n\t\t\tproductId: varchar('productId', { length: 191 }),\n\t\t\torganizationId: varchar('organizationId', { length: 191 }),\n\t\t\tnickname: varchar('nickname', { length: 191 }),\n\t\t\tstatus: int('status').default(0).notNull(),\n\t\t\tunitAmount: decimal('unitAmount', { precision: 10, scale: 2 }).notNull(),\n\t\t\tcreatedAt: timestamp('createdAt', { mode: 'date', fsp: 3 })\n\t\t\t\t.default(sql`CURRENT_TIMESTAMP(3)`)\n\t\t\t\t.notNull(),\n\t\t\tfields: json('fields').$type<Record<string, any>>().default({}),\n\t\t},\n\t\t(table) => {\n\t\t\treturn {\n\t\t\t\tpriceId: primaryKey({ columns: [table.id], name: 'Price_id' }),\n\t\t\t\torganizationIdIdx: index('organizationId_idx').on(table.organizationId),\n\t\t\t}\n\t\t},\n\t)\n}\n\nexport function getProductRelationsSchema(mysqlTable: MySqlTableFn) {\n\tconst product = getProductSchema(mysqlTable)\n\tconst price = getPriceSchema(mysqlTable)\n\tconst merchantPrice = getMerchantPriceSchema(mysqlTable)\n\treturn relations(price, ({ one, many }) => ({\n\t\tproduct: one(product, {\n\t\t\tfields: [price.productId],\n\t\t\treferences: [product.id],\n\t\t\trelationName: 'user',\n\t\t}),\n\t\tmerchantPrice: one(merchantPrice, {\n\t\t\tfields: [price.id],\n\t\t\treferences: [merchantPrice.priceId],\n\t\t\trelationName: 'merchantPrice',\n\t\t}),\n\t}))\n}\n","import { sql } from 'drizzle-orm'\nimport {\n\tindex,\n\tint,\n\tMySqlTableFn,\n\tprimaryKey,\n\ttimestamp,\n\tunique,\n\tvarchar,\n} from 'drizzle-orm/mysql-core'\n\nexport function getMerchantPriceSchema(mysqlTable: MySqlTableFn) {\n\treturn mysqlTable(\n\t\t'MerchantPrice',\n\t\t{\n\t\t\tid: varchar('id', { length: 191 }).notNull(),\n\t\t\torganizationId: varchar('organizationId', { length: 191 }),\n\t\t\tmerchantAccountId: varchar('merchantAccountId', {\n\t\t\t\tlength: 191,\n\t\t\t}).notNull(),\n\t\t\tmerchantProductId: varchar('merchantProductId', {\n\t\t\t\tlength: 191,\n\t\t\t}).notNull(),\n\t\t\tstatus: int('status').default(0),\n\t\t\tidentifier: varchar('identifier', { length: 191 }),\n\t\t\tcreatedAt: timestamp('createdAt', { mode: 'date', fsp: 3 })\n\t\t\t\t.default(sql`CURRENT_TIMESTAMP(3)`)\n\t\t\t\t.notNull(),\n\t\t\tpriceId: varchar('priceId', { length: 191 }),\n\t\t},\n\t\t(table) => {\n\t\t\treturn {\n\t\t\t\tmerchantPriceId: primaryKey({\n\t\t\t\t\tcolumns: [table.id],\n\t\t\t\t\tname: 'MerchantPrice_id',\n\t\t\t\t}),\n\t\t\t\tmerchantPriceIdentifierKey: unique('MerchantPrice_identifier_key').on(\n\t\t\t\t\ttable.identifier,\n\t\t\t\t),\n\t\t\t\torganizationIdIdx: index('organizationId_idx').on(table.organizationId),\n\t\t\t}\n\t\t},\n\t)\n}\n","import { relations, sql } from 'drizzle-orm'\nimport {\n\tboolean,\n\tdecimal,\n\tindex,\n\tint,\n\tjson,\n\tMySqlTableFn,\n\tprimaryKey,\n\ttimestamp,\n\tunique,\n\tvarchar,\n} from 'drizzle-orm/mysql-core'\n\nimport { getMerchantCouponSchema } from './merchant-coupon.js'\nimport { getProductSchema } from './product.js'\nimport { getPurchaseSchema } from './purchase.js'\n\nexport function getCouponSchema(mysqlTable: MySqlTableFn) {\n\treturn mysqlTable(\n\t\t'Coupon',\n\t\t{\n\t\t\tid: varchar('id', { length: 191 }).notNull(),\n\t\t\torganizationId: varchar('organizationId', { length: 191 }),\n\t\t\tcode: varchar('code', { length: 191 }),\n\t\t\tcreatedAt: timestamp('createdAt', { mode: 'date', fsp: 3 })\n\t\t\t\t.default(sql`CURRENT_TIMESTAMP(3)`)\n\t\t\t\t.notNull(),\n\t\t\texpires: timestamp('expires', { mode: 'date', fsp: 3 }),\n\t\t\tfields: json('fields').$type<Record<string, any>>().default({}),\n\t\t\tmaxUses: int('maxUses').default(-1).notNull(),\n\t\t\tdefault: boolean('default').default(false).notNull(),\n\t\t\tmerchantCouponId: varchar('merchantCouponId', { length: 191 }),\n\t\t\tstatus: int('status').default(0).notNull(),\n\t\t\tusedCount: int('usedCount').default(0).notNull(),\n\t\t\tpercentageDiscount: decimal('percentageDiscount', {\n\t\t\t\tprecision: 3,\n\t\t\t\tscale: 2,\n\t\t\t}),\n\t\t\tamountDiscount: int('amountDiscount'),\n\t\t\trestrictedToProductId: varchar('restrictedToProductId', { length: 191 }),\n\t\t},\n\t\t(table) => {\n\t\t\treturn {\n\t\t\t\tcouponIdCodeIndex: index('Coupon_id_code_index').on(\n\t\t\t\t\ttable.id,\n\t\t\t\t\ttable.code,\n\t\t\t\t),\n\t\t\t\tcouponId: primaryKey({ columns: [table.id], name: 'Coupon_id' }),\n\t\t\t\tcouponCodeKey: unique('Coupon_code_key').on(table.code),\n\t\t\t\torganizationIdIdx: index('organizationId_idx').on(table.organizationId),\n\t\t\t}\n\t\t},\n\t)\n}\n\nexport function getCouponRelationsSchema(mysqlTable: MySqlTableFn) {\n\tconst purchase = getPurchaseSchema(mysqlTable)\n\tconst coupon = getCouponSchema(mysqlTable)\n\tconst merchantCoupon = getMerchantCouponSchema(mysqlTable)\n\treturn relations(coupon, ({ many, one }) => ({\n\t\tredeemedBulkCouponPurchases: many(purchase, {\n\t\t\trelationName: 'redeemedBulkCoupon',\n\t\t}),\n\t\tmerchantCoupon: one(merchantCoupon, {\n\t\t\tfields: [coupon.merchantCouponId],\n\t\t\treferences: [merchantCoupon.id],\n\t\t\trelationName: 'merchantCoupon',\n\t\t}),\n\t\tproduct: one(getProductSchema(mysqlTable), {\n\t\t\tfields: [coupon.restrictedToProductId],\n\t\t\treferences: [getProductSchema(mysqlTable).id],\n\t\t\trelationName: 'product',\n\t\t}),\n\t\tbulkPurchases: many(purchase, {\n\t\t\trelationName: 'bulkCoupon',\n\t\t}),\n\t}))\n}\n","import {\n\tdecimal,\n\tindex,\n\tint,\n\tMySqlTableFn,\n\tprimaryKey,\n\tunique,\n\tvarchar,\n} from 'drizzle-orm/mysql-core'\n\nexport function getMerchantCouponSchema(mysqlTable: MySqlTableFn) {\n\treturn mysqlTable(\n\t\t'MerchantCoupon',\n\t\t{\n\t\t\tid: varchar('id', { length: 191 }).notNull(),\n\t\t\tidentifier: varchar('identifier', { length: 191 }),\n\t\t\torganizationId: varchar('organizationId', { length: 191 }),\n\t\t\tstatus: int('status').default(0).notNull(),\n\t\t\tmerchantAccountId: varchar('merchantAccountId', {\n\t\t\t\tlength: 191,\n\t\t\t}).notNull(),\n\t\t\tpercentageDiscount: decimal('percentageDiscount', {\n\t\t\t\tprecision: 3,\n\t\t\t\tscale: 2,\n\t\t\t}),\n\t\t\tamountDiscount: int('amountDiscount'),\n\t\t\ttype: varchar('type', { length: 191 }),\n\t\t},\n\t\t(table) => {\n\t\t\treturn {\n\t\t\t\tmerchantCouponId: primaryKey({\n\t\t\t\t\tcolumns: [table.id],\n\t\t\t\t\tname: 'MerchantCoupon_id',\n\t\t\t\t}),\n\t\t\t\tmerchantCouponIdentifierKey: unique('MerchantCoupon_identifier_key').on(\n\t\t\t\t\ttable.identifier,\n\t\t\t\t),\n\t\t\t\torganizationIdIdx: index('organizationId_idx').on(table.organizationId),\n\t\t\t}\n\t\t},\n\t)\n}\n","import {\n\tindex,\n\tMySqlTableFn,\n\tprimaryKey,\n\tvarchar,\n} from 'drizzle-orm/mysql-core'\n\nexport function getMerchantSessionSchema(mysqlTable: MySqlTableFn) {\n\treturn mysqlTable(\n\t\t'MerchantSession',\n\t\t{\n\t\t\tid: varchar('id', { length: 191 }).notNull(),\n\t\t\torganizationId: varchar('organizationId', { length: 191 }),\n\t\t\tidentifier: varchar('identifier', { length: 191 }).notNull(),\n\t\t\tmerchantAccountId: varchar('merchantAccountId', {\n\t\t\t\tlength: 191,\n\t\t\t}).notNull(),\n\t\t},\n\t\t(table) => {\n\t\t\treturn {\n\t\t\t\tmerchantSessionId: primaryKey({\n\t\t\t\t\tcolumns: [table.id],\n\t\t\t\t\tname: 'MerchantSession_id',\n\t\t\t\t}),\n\t\t\t\torganizationIdIdx: index('organizationId_idx').on(table.organizationId),\n\t\t\t}\n\t\t},\n\t)\n}\n","import { relations, sql } from 'drizzle-orm'\nimport {\n\tindex,\n\tjson,\n\tMySqlTableFn,\n\tprimaryKey,\n\ttext,\n\ttimestamp,\n\tvarchar,\n} from 'drizzle-orm/mysql-core'\n\nimport { getUsersSchema, type UsersSchemaOverrides } from '../auth/users.js'\nimport { getOrganizationMembershipsSchema } from '../org/organization-memberships.js'\n\nexport function getCommentsSchema(mysqlTable: MySqlTableFn) {\n\treturn mysqlTable(\n\t\t'Comment',\n\t\t{\n\t\t\tid: varchar('id', { length: 191 }).notNull(),\n\t\t\tuserId: varchar('userId', { length: 255 }).notNull(),\n\t\t\torganizationMembershipId: varchar('organizationMembershipId', {\n\t\t\t\tlength: 255,\n\t\t\t}),\n\t\t\tcontext: json('context').$type<Record<string, any>>().default({}),\n\t\t\ttext: text('text').notNull(),\n\t\t\tcreatedAt: timestamp('createdAt', {\n\t\t\t\tmode: 'date',\n\t\t\t\tfsp: 3,\n\t\t\t}).default(sql`CURRENT_TIMESTAMP(3)`),\n\t\t\tupdatedAt: timestamp('updatedAt', {\n\t\t\t\tmode: 'date',\n\t\t\t\tfsp: 3,\n\t\t\t}).default(sql`CURRENT_TIMESTAMP(3)`),\n\t\t\tdeletedAt: timestamp('deletedAt', {\n\t\t\t\tmode: 'date',\n\t\t\t\tfsp: 3,\n\t\t\t}),\n\t\t},\n\t\t(crr) => ({\n\t\t\tpk: primaryKey({ columns: [crr.id] }),\n\t\t\tcrrUserIdIdKey: index('crr_userIdId_idx').on(crr.userId),\n\t\t\torganizationMembershipIdIdx: index('organizationMembershipId_idx').on(\n\t\t\t\tcrr.organizationMembershipId,\n\t\t\t),\n\t\t}),\n\t)\n}\n\nexport function getCommentRelationsSchema(\n\tmysqlTable: MySqlTableFn,\n\toverrides: UsersSchemaOverrides = {},\n) {\n\tconst comment = getCommentsSchema(mysqlTable)\n\tconst resolveUsersSchema = overrides.getUsersSchema ?? getUsersSchema\n\tconst user = resolveUsersSchema(mysqlTable)\n\tconst organizationMemberships = getOrganizationMembershipsSchema(mysqlTable)\n\treturn relations(comment, ({ one }) => ({\n\t\tuser: one(user, {\n\t\t\tfields: [comment.userId],\n\t\t\treferences: [user.id],\n\t\t\trelationName: 'user',\n\t\t}),\n\t\torganizationMembership: one(organizationMemberships, {\n\t\t\tfields: [comment.organizationMembershipId],\n\t\t\treferences: [organizationMemberships.id],\n\t\t\trelationName: 'organizationMembership',\n\t\t}),\n\t}))\n}\n","import { relations } from 'drizzle-orm'\nimport {\n\tboolean,\n\tindex,\n\tmysqlEnum,\n\tMySqlTableFn,\n\ttimestamp,\n\tvarchar,\n} from 'drizzle-orm/mysql-core'\n\nimport { getUsersSchema, type UsersSchemaOverrides } from '../auth/users.js'\nimport { getOrganizationMembershipsSchema } from '../org/organization-memberships.js'\nimport { getCommunicationChannelSchema } from './communication-channel.js'\nimport { getCommunicationPreferenceTypesSchema } from './communication-preference-types.js'\n\nexport function getCommunicationPreferencesSchema(mysqlTable: MySqlTableFn) {\n\treturn mysqlTable(\n\t\t'CommunicationPreference',\n\t\t{\n\t\t\tid: varchar('id', { length: 255 }).notNull().primaryKey(),\n\t\t\torganizationId: varchar('organizationId', { length: 191 }),\n\t\t\tuserId: varchar('userId', { length: 255 }).notNull(),\n\t\t\torganizationMembershipId: varchar('organizationMembershipId', {\n\t\t\t\tlength: 255,\n\t\t\t}),\n\t\t\tchannelId: varchar('channelId', { length: 255 }).notNull(),\n\t\t\tpreferenceLevel: mysqlEnum('preferenceLevel', ['low', 'medium', 'high'])\n\t\t\t\t.notNull()\n\t\t\t\t.default('medium'),\n\t\t\tpreferenceTypeId: varchar('preferenceTypeId', { length: 255 }).notNull(),\n\t\t\tactive: boolean('active').notNull().default(true),\n\t\t\tcreatedAt: timestamp('createdAt', {\n\t\t\t\tmode: 'date',\n\t\t\t\tfsp: 3,\n\t\t\t}).defaultNow(),\n\t\t\toptInAt: timestamp('optInAt', {\n\t\t\t\tmode: 'date',\n\t\t\t\tfsp: 3,\n\t\t\t}),\n\t\t\toptOutAt: timestamp('optOutAt', {\n\t\t\t\tmode: 'date',\n\t\t\t\tfsp: 3,\n\t\t\t}),\n\t\t\tupdatedAt: timestamp('updatedAt', {\n\t\t\t\tmode: 'date',\n\t\t\t\tfsp: 3,\n\t\t\t}).defaultNow(),\n\t\t\tdeletedAt: timestamp('deletedAt', {\n\t\t\t\tmode: 'date',\n\t\t\t\tfsp: 3,\n\t\t\t}),\n\t\t},\n\t\t(cp) => ({\n\t\t\tuserIdIdx: index('userId_idx').on(cp.userId),\n\t\t\tpreferenceTypeIdx: index('preferenceTypeId_idx').on(cp.preferenceTypeId),\n\t\t\tchannelIdIdx: index('channelId_idx').on(cp.channelId),\n\t\t\torganizationMembershipIdIdx: index('organizationMembershipId_idx').on(\n\t\t\t\tcp.organizationMembershipId,\n\t\t\t),\n\t\t}),\n\t)\n}\n\nexport function getCommunicationPreferencesRelationsSchema(\n\tmysqlTable: MySqlTableFn,\n\toverrides: UsersSchemaOverrides = {},\n) {\n\tconst communicationPreferences = getCommunicationPreferencesSchema(mysqlTable)\n\tconst resolveUsersSchema = overrides.getUsersSchema ?? getUsersSchema\n\tconst users = resolveUsersSchema(mysqlTable)\n\tconst communicationChannel = getCommunicationChannelSchema(mysqlTable)\n\tconst communicationPreferenceTypes =\n\t\tgetCommunicationPreferenceTypesSchema(mysqlTable)\n\tconst organizationMemberships = getOrganizationMembershipsSchema(mysqlTable)\n\treturn relations(communicationPreferences, ({ one }) => ({\n\t\tuser: one(users, {\n\t\t\tfields: [communicationPreferences.userId],\n\t\t\treferences: [users.id],\n\t\t\trelationName: 'user',\n\t\t}),\n\t\torganizationMembership: one(organizationMemberships, {\n\t\t\tfields: [communicationPreferences.organizationMembershipId],\n\t\t\treferences: [organizationMemberships.id],\n\t\t\trelationName: 'organizationMembership',\n\t\t}),\n\t\tchannel: one(communicationChannel, {\n\t\t\tfields: [communicationPreferences.channelId],\n\t\t\treferences: [communicationChannel.id],\n\t\t\trelationName: 'channel',\n\t\t}),\n\t\tpreferenceType: one(communicationPreferenceTypes, {\n\t\t\tfields: [communicationPreferences.preferenceTypeId],\n\t\t\treferences: [communicationPreferenceTypes.id],\n\t\t\trelationName: 'preferenceType',\n\t\t}),\n\t}))\n}\n","import {\n\tboolean,\n\tindex,\n\tMySqlTableFn,\n\ttext,\n\ttimestamp,\n\tvarchar,\n} from 'drizzle-orm/mysql-core'\n\nexport function getCommunicationChannelSchema(mysqlTable: MySqlTableFn) {\n\treturn mysqlTable(\n\t\t'CommunicationChannel',\n\t\t{\n\t\t\tid: varchar('id', { length: 255 }).notNull().primaryKey(),\n\t\t\torganizationId: varchar('organizationId', { length: 191 }),\n\t\t\tname: varchar('name', { length: 255 }).notNull(),\n\t\t\tdescription: text('description'),\n\t\t\tactive: boolean('active').notNull().default(true),\n\t\t\tcreatedAt: timestamp('createdAt', {\n\t\t\t\tmode: 'date',\n\t\t\t\tfsp: 3,\n\t\t\t}).defaultNow(),\n\t\t\tupdatedAt: timestamp('updatedAt', {\n\t\t\t\tmode: 'date',\n\t\t\t\tfsp: 3,\n\t\t\t}).defaultNow(),\n\t\t\tdeletedAt: timestamp('deletedAt', {\n\t\t\t\tmode: 'date',\n\t\t\t\tfsp: 3,\n\t\t\t}),\n\t\t},\n\t\t(cc) => ({\n\t\t\tnameIdx: index('name_idx').on(cc.name),\n\t\t\torganizationIdIdx: index('organizationId_idx').on(cc.organizationId),\n\t\t}),\n\t)\n}\n","import {\n\tboolean,\n\tMySqlTableFn,\n\ttext,\n\ttimestamp,\n\tvarchar,\n} from 'drizzle-orm/mysql-core'\n\nexport function getCommunicationPreferenceTypesSchema(\n\tmysqlTable: MySqlTableFn,\n) {\n\treturn mysqlTable('CommunicationPreferenceType', {\n\t\tid: varchar('id', { length: 255 }).notNull().primaryKey(),\n\t\torganizationId: varchar('organizationId', { length: 191 }),\n\t\tname: varchar('name', { length: 255 }).notNull(),\n\t\tdescription: text('description'),\n\t\tactive: boolean('active').notNull().default(true),\n\t\tcreatedAt: timestamp('createdAt', {\n\t\t\tmode: 'date',\n\t\t\tfsp: 3,\n\t\t}).defaultNow(),\n\t\tupdatedAt: timestamp('updatedAt', {\n\t\t\tmode: 'date',\n\t\t\tfsp: 3,\n\t\t}),\n\t\tdeletedAt: timestamp('deletedAt', {\n\t\t\tmode: 'date',\n\t\t\tfsp: 3,\n\t\t}),\n\t})\n}\n","import { relations, sql } from 'drizzle-orm'\nimport {\n\tindex,\n\tjson,\n\tMySqlTableFn,\n\ttimestamp,\n\tuniqueIndex,\n\tvarchar,\n} from 'drizzle-orm/mysql-core'\n\nimport { getUsersSchema, type UsersSchemaOverrides } from './users.js'\n\nexport function getProfilesSchema(mysqlTable: MySqlTableFn) {\n\treturn mysqlTable(\n\t\t'Profile',\n\t\t{\n\t\t\tid: varchar('id', { length: 255 }).notNull().primaryKey(),\n\t\t\tuserId: varchar('userId', { length: 255 }).notNull(),\n\t\t\ttype: varchar('type', { length: 255 }).notNull(),\n\t\t\tfields: json('fields').$type<Record<string, any>>().default({}),\n\t\t\tcreatedAt: timestamp('createdAt', {\n\t\t\t\tmode: 'date',\n\t\t\t\tfsp: 3,\n\t\t\t}).default(sql`CURRENT_TIMESTAMP(3)`),\n\t\t\tupdatedAt: timestamp('updatedAt', {\n\t\t\t\tmode: 'date',\n\t\t\t\tfsp: 3,\n\t\t\t}).default(sql`CURRENT_TIMESTAMP(3)`),\n\t\t},\n\t\t(profile) => ({\n\t\t\tuserIdIdx: index('userId_idx').on(profile.userId),\n\t\t\tuniqueUserType: uniqueIndex('unique_user_type_idx').on(\n\t\t\t\tprofile.userId,\n\t\t\t\tprofile.type,\n\t\t\t),\n\t\t}),\n\t)\n}\n\nexport function getProfilesRelationsSchema(\n\tmysqlTable: MySqlTableFn,\n\toverrides: UsersSchemaOverrides = {},\n) {\n\tconst profiles = getProfilesSchema(mysqlTable)\n\tconst resolveUsersSchema = overrides.getUsersSchema ?? getUsersSchema\n\tconst users = resolveUsersSchema(mysqlTable)\n\treturn relations(profiles, ({ one }) => ({\n\t\tuser: one(users, {\n\t\t\tfields: [profiles.userId],\n\t\t\treferences: [users.id],\n\t\t\trelationName: 'profiles',\n\t\t}),\n\t}))\n}\n","import { relations } from 'drizzle-orm'\nimport {\n\tboolean,\n\tindex,\n\tMySqlTableFn,\n\tprimaryKey,\n\ttimestamp,\n\tvarchar,\n} from 'drizzle-orm/mysql-core'\n\nimport { getPermissionsSchema } from './permissions.js'\nimport { getUsersSchema, type UsersSchemaOverrides } from './users.js'\n\nexport function getUserPermissionsSchema(mysqlTable: MySqlTableFn) {\n\treturn mysqlTable(\n\t\t'UserPermission',\n\t\t{\n\t\t\tuserId: varchar('userId', { length: 255 }).notNull(),\n\t\t\torganizationId: varchar('organizationId', { length: 191 }),\n\t\t\tpermissionId: varchar('permissionId', { length: 255 }).notNull(),\n\t\t\tactive: boolean('active').notNull().default(true),\n\t\t\tcreatedAt: timestamp('createdAt', {\n\t\t\t\tmode: 'date',\n\t\t\t\tfsp: 3,\n\t\t\t}).defaultNow(),\n\t\t\tupdatedAt: timestamp('updatedAt', {\n\t\t\t\tmode: 'date',\n\t\t\t\tfsp: 3,\n\t\t\t}).defaultNow(),\n\t\t\tdeletedAt: timestamp('deletedAt', {\n\t\t\t\tmode: 'date',\n\t\t\t\tfsp: 3,\n\t\t\t}),\n\t\t},\n\t\t(up) => ({\n\t\t\tpk: primaryKey({ columns: [up.userId, up.permissionId] }),\n\t\t\tuserIdIdx: index('userId_idx').on(up.userId),\n\t\t\tpermissionIdIdx: index('permissionId_idx').on(up.permissionId),\n\t\t\torganizationIdIdx: index('organizationId_idx').on(up.organizationId),\n\t\t}),\n\t)\n}\n\nexport function getUserPermissionsRelationsSchema(\n\tmysqlTable: MySqlTableFn,\n\toverrides: UsersSchemaOverrides = {},\n) {\n\tconst userPermissions = getUserPermissionsSchema(mysqlTable)\n\tconst resolveUsersSchema = overrides.getUsersSchema ?? getUsersSchema\n\tconst users = resolveUsersSchema(mysqlTable)\n\tconst permissions = getPermissionsSchema(mysqlTable)\n\treturn relations(userPermissions, ({ one }) => ({\n\t\tuser: one(users, {\n\t\t\tfields: [userPermissions.userId],\n\t\t\treferences: [users.id],\n\t\t\trelationName: 'user',\n\t\t}),\n\t\tpermission: one(permissions, {\n\t\t\tfields: [userPermissions.permissionId],\n\t\t\treferences: [permissions.id],\n\t\t\trelationName: 'permission',\n\t\t}),\n\t}))\n}\n","import { relations } from 'drizzle-orm'\nimport {\n\tboolean,\n\tindex,\n\tMySqlTableFn,\n\ttext,\n\ttimestamp,\n\tvarchar,\n} from 'drizzle-orm/mysql-core'\n\nimport { getRolePermissionsSchema } from './role-permissions.js'\n\nexport function getPermissionsSchema(mysqlTable: MySqlTableFn) {\n\treturn mysqlTable(\n\t\t'Permission',\n\t\t{\n\t\t\tid: varchar('id', { length: 255 }).notNull().primaryKey(),\n\t\t\tname: varchar('name', { length: 255 }).notNull().unique(),\n\t\t\tdescription: text('description'),\n\t\t\tactive: boolean('active').notNull().default(true),\n\t\t\tcreatedAt: timestamp('createdAt', {\n\t\t\t\tmode: 'date',\n\t\t\t\tfsp: 3,\n\t\t\t}).defaultNow(),\n\t\t\tupdatedAt: timestamp('updatedAt', {\n\t\t\t\tmode: 'date',\n\t\t\t\tfsp: 3,\n\t\t\t}).defaultNow(),\n\t\t\tdeletedAt: timestamp('deletedAt', {\n\t\t\t\tmode: 'date',\n\t\t\t\tfsp: 3,\n\t\t\t}),\n\t\t},\n\t\t(permission) => ({\n\t\t\tnameIdx: index('name_idx').on(permission.name),\n\t\t}),\n\t)\n}\n\nexport function getPermissionsRelationsSchema(mysqlTable: MySqlTableFn) {\n\treturn relations(getPermissionsSchema(mysqlTable), ({ many }) => ({}))\n}\n","import { relations, sql } from 'drizzle-orm'\nimport {\n\tindex,\n\tjson,\n\tMySqlTableFn,\n\tprimaryKey,\n\ttext,\n\ttimestamp,\n\tvarchar,\n} from 'drizzle-orm/mysql-core'\n\nimport { getUsersSchema, type UsersSchemaOverrides } from '../auth/users.js'\n\nexport function getUserPrefsSchema(mysqlTable: MySqlTableFn) {\n\treturn mysqlTable(\n\t\t'UserPrefs',\n\t\t{\n\t\t\tid: varchar('id', { length: 191 }).notNull(),\n\t\t\torganizationId: varchar('organizationId', { length: 191 }),\n\t\t\ttype: varchar('type', { length: 191 }).default('Global').notNull(),\n\t\t\tuserId: varchar('userId', { length: 255 }).notNull(),\n\t\t\tfields: json('fields').$type<Record<string, any>>().default({}),\n\t\t\tcreatedAt: timestamp('createdAt', {\n\t\t\t\tmode: 'date',\n\t\t\t\tfsp: 3,\n\t\t\t}).default(sql`CURRENT_TIMESTAMP(3)`),\n\t\t\tupdatedAt: timestamp('updatedAt', {\n\t\t\t\tmode: 'date',\n\t\t\t\tfsp: 3,\n\t\t\t}).default(sql`CURRENT_TIMESTAMP(3)`),\n\t\t\tdeletedAt: timestamp('deletedAt', {\n\t\t\t\tmode: 'date',\n\t\t\t\tfsp: 3,\n\t\t\t}),\n\t\t},\n\t\t(crr) => ({\n\t\t\tpk: primaryKey({ columns: [crr.id] }),\n\t\t\tcrrUserIdIdKey: index('crr_userIdId_idx').on(crr.userId),\n\t\t\torganizationIdIdx: index('organizationId_idx').on(crr.organizationId),\n\t\t}),\n\t)\n}\n\nexport function getUserPrefsRelationsSchema(\n\tmysqlTable: MySqlTableFn,\n\toverrides: UsersSchemaOverrides = {},\n) {\n\tconst userPrefs = getUserPrefsSchema(mysqlTable)\n\tconst resolveUsersSchema = overrides.getUsersSchema ?? getUsersSchema\n\tconst user = resolveUsersSchema(mysqlTable)\n\treturn relations(userPrefs, ({ one }) => ({\n\t\tuser: one(user, {\n\t\t\tfields: [userPrefs.userId],\n\t\t\treferences: [user.id],\n\t\t\trelationName: 'user',\n\t\t}),\n\t}))\n}\n","import { relations, sql } from 'drizzle-orm'\nimport {\n\tindex,\n\tMySqlTableFn,\n\tprimaryKey,\n\ttimestamp,\n\tvarchar,\n} from 'drizzle-orm/mysql-core'\n\nimport { getUsersSchema, type UsersSchemaOverrides } from './users.js'\n\nexport function getDeviceAccessTokenSchema(mysqlTable: MySqlTableFn) {\n\treturn mysqlTable(\n\t\t'DeviceAccessToken',\n\t\t{\n\t\t\ttoken: varchar('token', { length: 191 }).notNull(),\n\t\t\tuserId: varchar('userId', { length: 191 }).notNull(),\n\t\t\torganizationMembershipId: varchar('organizationMembershipId', {\n\t\t\t\tlength: 191,\n\t\t\t}),\n\t\t\tcreatedAt: timestamp('createdAt', {\n\t\t\t\tmode: 'date',\n\t\t\t\tfsp: 3,\n\t\t\t}).default(sql`CURRENT_TIMESTAMP(3)`),\n\t\t},\n\t\t(crr) => ({\n\t\t\tpk: primaryKey({ columns: [crr.token] }),\n\t\t\tuserIdIdx: index('userId_idx').on(crr.userId),\n\t\t}),\n\t)\n}\n\nexport function getDeviceAccessTokenRelationsSchema(\n\tmysqlTable: MySqlTableFn,\n\toverrides: UsersSchemaOverrides = {},\n) {\n\tconst deviceAccessToken = getDeviceAccessTokenSchema(mysqlTable)\n\tconst resolveUsersSchema = overrides.getUsersSchema ?? getUsersSchema\n\tconst user = resolveUsersSchema(mysqlTable)\n\treturn relations(deviceAccessToken, ({ one }) => ({\n\t\tverifiedBy: one(user, {\n\t\t\tfields: [deviceAccessToken.userId],\n\t\t\treferences: [user.id],\n\t\t\trelationName: 'user',\n\t\t}),\n\t}))\n}\n","import { relations, sql } from 'drizzle-orm'\nimport {\n\tMySqlTableFn,\n\tprimaryKey,\n\ttext,\n\ttimestamp,\n\tvarchar,\n} from 'drizzle-orm/mysql-core'\n\nimport { getUsersSchema, type UsersSchemaOverrides } from './users.js'\n\nexport function getDeviceVerificationSchema(mysqlTable: MySqlTableFn) {\n\treturn mysqlTable(\n\t\t'DeviceVerification',\n\t\t{\n\t\t\tverifiedByUserId: varchar('verifiedByUserId', { length: 255 }),\n\t\t\tdeviceCode: varchar('deviceCode', { length: 191 }).notNull(),\n\t\t\tuserCode: text('userCode').notNull(),\n\t\t\texpires: timestamp('expires', {\n\t\t\t\tmode: 'date',\n\t\t\t\tfsp: 3,\n\t\t\t}).notNull(),\n\t\t\tcreatedAt: timestamp('createdAt', {\n\t\t\t\tmode: 'date',\n\t\t\t\tfsp: 3,\n\t\t\t}).default(sql`CURRENT_TIMESTAMP(3)`),\n\t\t\tverifiedAt: timestamp('verifiedAt', {\n\t\t\t\tmode: 'date',\n\t\t\t\tfsp: 3,\n\t\t\t}),\n\t\t},\n\t\t(crr) => ({\n\t\t\tpk: primaryKey({ columns: [crr.deviceCode] }),\n\t\t}),\n\t)\n}\n\nexport function getDeviceVerificationRelationsSchema(\n\tmysqlTable: MySqlTableFn,\n\toverrides: UsersSchemaOverrides = {},\n) {\n\tconst deviceVerification = getDeviceVerificationSchema(mysqlTable)\n\tconst resolveUsersSchema = overrides.getUsersSchema ?? getUsersSchema\n\tconst user = resolveUsersSchema(mysqlTable)\n\treturn relations(deviceVerification, ({ one }) => ({\n\t\tverifiedBy: one(user, {\n\t\t\tfields: [deviceVerification.verifiedByUserId],\n\t\t\treferences: [user.id],\n\t\t\trelationName: 'user',\n\t\t}),\n\t}))\n}\n","import { relations, sql } from 'drizzle-orm'\nimport {\n\tindex,\n\tjson,\n\tMySqlTableFn,\n\tprimaryKey,\n\ttimestamp,\n\tuniqueIndex,\n\tvarchar,\n} from 'drizzle-orm/mysql-core'\n\nimport { getUsersSchema, type UsersSchemaOverrides } from './users.js'\n\n/**\n * Creates the PersonalAccessToken table schema for operator API credentials.\n *\n * Stores safe token metadata and a derived token hash, never the raw token\n * secret. Key fields are `publicId` and `tokenPrefix` for lookup/display,\n * `tokenHash` for verification, `scopes` for coarse authorization, and\n * `expiresAt`, `lastUsedAt`, and `revokedAt` for lifecycle control.\n *\n * @param mysqlTable - Drizzle MySQL table factory, usually app-prefixed.\n * @returns The PersonalAccessToken MySQL table schema.\n *\n * @example\n * ```ts\n * const personalAccessToken = getPersonalAccessTokenSchema(mysqlTable)\n * ```\n */\nexport function getPersonalAccessTokenSchema(mysqlTable: MySqlTableFn) {\n\treturn mysqlTable(\n\t\t'PersonalAccessToken',\n\t\t{\n\t\t\tid: varchar('id', { length: 191 }).notNull(),\n\t\t\tuserId: varchar('userId', { length: 191 }).notNull(),\n\t\t\tname: varchar('name', { length: 255 }).notNull(),\n\t\t\tpublicId: varchar('publicId', { length: 64 }).notNull(),\n\t\t\ttokenPrefix: varchar('tokenPrefix', { length: 128 }).notNull(),\n\t\t\ttokenHash: varchar('tokenHash', { length: 128 }).notNull(),\n\t\t\tscopes: json('scopes').$type<string[]>().notNull(),\n\t\t\texpiresAt: timestamp('expiresAt', {\n\t\t\t\tmode: 'date',\n\t\t\t\tfsp: 3,\n\t\t\t}),\n\t\t\tlastUsedAt: timestamp('lastUsedAt', {\n\t\t\t\tmode: 'date',\n\t\t\t\tfsp: 3,\n\t\t\t}),\n\t\t\trevokedAt: timestamp('revokedAt', {\n\t\t\t\tmode: 'date',\n\t\t\t\tfsp: 3,\n\t\t\t}),\n\t\t\tcreatedAt: timestamp('createdAt', {\n\t\t\t\tmode: 'date',\n\t\t\t\tfsp: 3,\n\t\t\t}).default(sql`CURRENT_TIMESTAMP(3)`),\n\t\t\tupdatedAt: timestamp('updatedAt', {\n\t\t\t\tmode: 'date',\n\t\t\t\tfsp: 3,\n\t\t\t})\n\t\t\t\t.default(sql`CURRENT_TIMESTAMP(3)`)\n\t\t\t\t.$onUpdate(() => new Date()),\n\t\t},\n\t\t(pat) => ({\n\t\t\tpk: primaryKey({ columns: [pat.id] }),\n\t\t\tpublicIdIdx: uniqueIndex('publicId_idx').on(pat.publicId),\n\t\t\ttokenHashIdx: uniqueIndex('tokenHash_idx').on(pat.tokenHash),\n\t\t\tuserIdIdx: index('userId_idx').on(pat.userId),\n\t\t\texpiresAtIdx: index('expiresAt_idx').on(pat.expiresAt),\n\t\t\trevokedAtIdx: index('revokedAt_idx').on(pat.revokedAt),\n\t\t}),\n\t)\n}\n\n/**\n * Creates PersonalAccessToken relations for the Users table.\n *\n * Links `personalAccessToken.userId` to `user.id` with relation name `user`.\n * Uses `getPersonalAccessTokenSchema` and either the default `getUsersSchema`\n * helper or `overrides.getUsersSchema` when an app needs a custom user schema.\n *\n * @param mysqlTable - Drizzle MySQL table factory, usually app-prefixed.\n * @param overrides - Optional schema overrides, especially `getUsersSchema`.\n * @returns A Drizzle relations schema for PersonalAccessToken.\n *\n * @example\n * ```ts\n * const relations = getPersonalAccessTokenRelationsSchema(mysqlTable, {\n * \tgetUsersSchema: customGetUsersSchema,\n * })\n * ```\n */\nexport function getPersonalAccessTokenRelationsSchema(\n\tmysqlTable: MySqlTableFn,\n\toverrides: UsersSchemaOverrides = {},\n) {\n\tconst personalAccessToken = getPersonalAccessTokenSchema(mysqlTable)\n\tconst resolveUsersSchema = overrides.getUsersSchema ?? getUsersSchema\n\tconst user = resolveUsersSchema(mysqlTable)\n\treturn relations(personalAccessToken, ({ one }) => ({\n\t\tuser: one(user, {\n\t\t\tfields: [personalAccessToken.userId],\n\t\t\treferences: [user.id],\n\t\t\trelationName: 'user',\n\t\t}),\n\t}))\n}\n","import { relations } from 'drizzle-orm'\nimport {\n\tboolean,\n\tindex,\n\tMySqlTableFn,\n\tprimaryKey,\n\ttimestamp,\n\tvarchar,\n} from 'drizzle-orm/mysql-core'\n\nimport { getPermissionsSchema } from './permissions.js'\nimport { getRolesSchema } from './roles.js'\n\nexport function getRolePermissionsSchema(mysqlTable: MySqlTableFn) {\n\treturn mysqlTable(\n\t\t'RolePermission',\n\t\t{\n\t\t\troleId: varchar('roleId', { length: 255 }).notNull(),\n\t\t\tpermissionId: varchar('permissionId', { length: 255 }).notNull(),\n\t\t\tactive: boolean('active').notNull().default(true),\n\t\t\tcreatedAt: timestamp('createdAt', {\n\t\t\t\tmode: 'date',\n\t\t\t\tfsp: 3,\n\t\t\t}).defaultNow(),\n\t\t\tupdatedAt: timestamp('updatedAt', {\n\t\t\t\tmode: 'date',\n\t\t\t\tfsp: 3,\n\t\t\t}).defaultNow(),\n\t\t\tdeletedAt: timestamp('deletedAt', {\n\t\t\t\tmode: 'date',\n\t\t\t\tfsp: 3,\n\t\t\t}),\n\t\t},\n\t\t(rp) => ({\n\t\t\tpk: primaryKey({ columns: [rp.roleId, rp.permissionId] }),\n\t\t\troleIdIdx: index('roleId_idx').on(rp.roleId),\n\t\t\tpermissionIdIdx: index('permissionId_idx').on(rp.permissionId),\n\t\t}),\n\t)\n}\n\nexport function getRolePermissionsRelationsSchema(mysqlTable: MySqlTableFn) {\n\tconst permissions = getPermissionsSchema(mysqlTable)\n\tconst roles = getRolesSchema(mysqlTable)\n\tconst rolePermissions = getRolePermissionsSchema(mysqlTable)\n\treturn relations(rolePermissions, ({ one }) => ({\n\t\trole: one(roles, {\n\t\t\tfields: [rolePermissions.roleId],\n\t\t\treferences: [roles.id],\n\t\t\trelationName: 'role',\n\t\t}),\n\t\tpermission: one(permissions, {\n\t\t\tfields: [rolePermissions.permissionId],\n\t\t\treferences: [permissions.id],\n\t\t\trelationName: 'permission',\n\t\t}),\n\t}))\n}\n","import { relations } from 'drizzle-orm'\nimport { index, MySqlTableFn, timestamp, varchar } from 'drizzle-orm/mysql-core'\n\nimport { getUsersSchema, type UsersSchemaOverrides } from './users.js'\n\nexport function getSessionsSchema(mysqlTable: MySqlTableFn) {\n\treturn mysqlTable(\n\t\t'Session',\n\t\t{\n\t\t\tsessionToken: varchar('sessionToken', { length: 255 })\n\t\t\t\t.notNull()\n\t\t\t\t.primaryKey(),\n\t\t\tuserId: varchar('userId', { length: 255 }).notNull(),\n\t\t\texpires: timestamp('expires', { mode: 'date' }).notNull(),\n\t\t},\n\t\t(session) => ({\n\t\t\tuserIdIdx: index('userId_idx').on(session.userId),\n\t\t}),\n\t)\n}\n\nexport function getSessionRelationsSchema(\n\tmysqlTable: MySqlTableFn,\n\toverrides: UsersSchemaOverrides = {},\n) {\n\tconst sessions = getSessionsSchema(mysqlTable)\n\tconst resolveUsersSchema = overrides.getUsersSchema ?? getUsersSchema\n\tconst users = resolveUsersSchema(mysqlTable)\n\treturn relations(sessions, ({ one }) => ({\n\t\tuser: one(users, {\n\t\t\tfields: [sessions.userId],\n\t\t\treferences: [users.id],\n\t\t\trelationName: 'user',\n\t\t}),\n\t}))\n}\n","import {\n\tMySqlTableFn,\n\tprimaryKey,\n\ttimestamp,\n\tvarchar,\n} from 'drizzle-orm/mysql-core'\n\nexport function getVerificationTokensSchema(mysqlTable: MySqlTableFn) {\n\treturn mysqlTable(\n\t\t'VerificationToken',\n\t\t{\n\t\t\tidentifier: varchar('identifier', { length: 255 }).notNull(),\n\t\t\ttoken: varchar('token', { length: 255 }).notNull(),\n\t\t\texpires: timestamp('expires', { mode: 'date' }).notNull(),\n\t\t\tcreatedAt: timestamp('createdAt', {\n\t\t\t\tmode: 'date',\n\t\t\t\tfsp: 3,\n\t\t\t}).defaultNow(),\n\t\t},\n\t\t(vt) => ({\n\t\t\tpk: primaryKey({ columns: [vt.identifier, vt.token] }),\n\t\t}),\n\t)\n}\n","import { relations, sql } from 'drizzle-orm'\nimport {\n\tindex,\n\tjson,\n\tMySqlTableFn,\n\tprimaryKey,\n\ttimestamp,\n\tunique,\n\tvarchar,\n} from 'drizzle-orm/mysql-core'\n\nimport { getMerchantAccountSchema } from './merchant-account.js'\n\n/**\n * MerchantEvents table for tracking webhook events from payment providers\n * This provides an audit trail of what webhooks we received, regardless of\n * whether Inngest successfully processed them or not.\n */\nexport function getMerchantEventsSchema(mysqlTable: MySqlTableFn) {\n\treturn mysqlTable(\n\t\t'MerchantEvents',\n\t\t{\n\t\t\tid: varchar('id', { length: 191 }).notNull(),\n\t\t\tmerchantAccountId: varchar('merchantAccountId', {\n\t\t\t\tlength: 191,\n\t\t\t}).notNull(),\n\t\t\tidentifier: varchar('identifier', { length: 191 }).notNull(),\n\t\t\tpayload: json('payload').notNull(),\n\t\t\tcreatedAt: timestamp('createdAt', { mode: 'date', fsp: 3 })\n\t\t\t\t.default(sql`CURRENT_TIMESTAMP(3)`)\n\t\t\t\t.notNull(),\n\t\t},\n\t\t(table) => {\n\t\t\treturn {\n\t\t\t\tmerchantEventsId: primaryKey({\n\t\t\t\t\tcolumns: [table.id],\n\t\t\t\t\tname: 'MerchantEvents_id',\n\t\t\t\t}),\n\t\t\t\tmerchantEventsIdentifierKey: unique('MerchantEvents_identifier_key').on(\n\t\t\t\t\ttable.identifier,\n\t\t\t\t),\n\t\t\t\tmerchantAccountIdIdx: index('merchantAccountId_idx').on(\n\t\t\t\t\ttable.merchantAccountId,\n\t\t\t\t),\n\t\t\t\tcreatedAtIdx: index('createdAt_idx').on(table.createdAt),\n\t\t\t}\n\t\t},\n\t)\n}\n\nexport function getMerchantEventsRelationsSchema(mysqlTable: MySqlTableFn) {\n\tconst merchantEvents = getMerchantEventsSchema(mysqlTable)\n\tconst merchantAccount = getMerchantAccountSchema(mysqlTable)\n\n\treturn relations(merchantEvents, ({ one }) => ({\n\t\tmerchantAccount: one(merchantAccount, {\n\t\t\tfields: [merchantEvents.merchantAccountId],\n\t\t\treferences: [merchantAccount.id],\n\t\t\trelationName: 'merchantAccount',\n\t\t}),\n\t}))\n}\n","import { relations, sql } from 'drizzle-orm'\nimport {\n\tindex,\n\tmysqlEnum,\n\tMySqlTableFn,\n\tprimaryKey,\n\ttimestamp,\n\tvarchar,\n} from 'drizzle-orm/mysql-core'\n\nimport { getUsersSchema, type UsersSchemaOverrides } from '../auth/users.js'\nimport { getPurchaseSchema } from './purchase.js'\n\nexport function getPurchaseUserTransferSchema(mysqlTable: MySqlTableFn) {\n\treturn mysqlTable(\n\t\t'PurchaseUserTransfer',\n\t\t{\n\t\t\tid: varchar('id', { length: 191 }).notNull(),\n\t\t\ttransferState: mysqlEnum('transferState', [\n\t\t\t\t'AVAILABLE',\n\t\t\t\t'INITIATED',\n\t\t\t\t'VERIFIED',\n\t\t\t\t'CANCELED',\n\t\t\t\t'EXPIRED',\n\t\t\t\t'CONFIRMED',\n\t\t\t\t'COMPLETED',\n\t\t\t])\n\t\t\t\t.default('AVAILABLE')\n\t\t\t\t.notNull(),\n\t\t\tpurchaseId: varchar('purchaseId', { length: 191 }).notNull(),\n\t\t\torganizationId: varchar('organizationId', { length: 191 }),\n\t\t\tsourceUserId: varchar('sourceUserId', { length: 191 }).notNull(),\n\t\t\ttargetUserId: varchar('targetUserId', { length: 191 }),\n\t\t\tcreatedAt: timestamp('createdAt', { mode: 'date', fsp: 3 })\n\t\t\t\t.default(sql`CURRENT_TIMESTAMP(3)`)\n\t\t\t\t.notNull(),\n\t\t\texpiresAt: timestamp('expiresAt', { mode: 'date', fsp: 3 }),\n\t\t\tcanceledAt: timestamp('canceledAt', { mode: 'date', fsp: 3 }),\n\t\t\tconfirmedAt: timestamp('confirmedAt', { mode: 'date', fsp: 3 }),\n\t\t\tcompletedAt: timestamp('completedAt', { mode: 'date', fsp: 3 }),\n\t\t},\n\t\t(table) => {\n\t\t\treturn {\n\t\t\t\tpurchaseUserTransferId: primaryKey({\n\t\t\t\t\tcolumns: [table.id],\n\t\t\t\t\tname: 'PurchaseUserTransfer_id',\n\t\t\t\t}),\n\t\t\t\torganizationIdIdx: index('organizationId_idx').on(table.organizationId),\n\t\t\t}\n\t\t},\n\t)\n}\n\nexport function getPurchaseUserTransferRelationsSchema(\n\tmysqlTable: MySqlTableFn,\n\toverrides: UsersSchemaOverrides = {},\n) {\n\tconst purchaseUserTransfer = getPurchaseUserTransferSchema(mysqlTable)\n\tconst resolveUsersSchema = overrides.getUsersSchema ?? getUsersSchema\n\tconst user = resolveUsersSchema(mysqlTable)\n\tconst purchase = getPurchaseSchema(mysqlTable)\n\treturn relations(purchaseUserTransfer, ({ one }) => ({\n\t\tsourceUser: one(user, {\n\t\t\tfields: [purchaseUserTransfer.sourceUserId],\n\t\t\treferences: [user.id],\n\t\t\trelationName: 'sourceUser',\n\t\t}),\n\t\ttargetUser: one(user, {\n\t\t\tfields: [purchaseUserTransfer.targetUserId],\n\t\t\treferences: [user.id],\n\t\t\trelationName: 'targetUser',\n\t\t}),\n\t\tpurchase: one(purchase, {\n\t\t\tfields: [purchaseUserTransfer.purchaseId],\n\t\t\treferences: [purchase.id],\n\t\t\trelationName: 'purchase',\n\t\t}),\n\t}))\n}\n","import { relations, sql } from 'drizzle-orm'\nimport {\n\tdouble,\n\tindex,\n\tjson,\n\tMySqlTableFn,\n\tprimaryKey,\n\ttimestamp,\n\tvarchar,\n} from 'drizzle-orm/mysql-core'\n\nimport { getProductSchema } from './product.js'\n\nexport function getUpgradableProductsSchema(mysqlTable: MySqlTableFn) {\n\treturn mysqlTable(\n\t\t'UpgradableProducts',\n\t\t{\n\t\t\tupgradableToId: varchar('upgradableToId', { length: 255 }).notNull(),\n\t\t\tupgradableFromId: varchar('upgradableFrom', { length: 255 }).notNull(),\n\t\t\torganizationId: varchar('organizationId', { length: 191 }),\n\t\t\tposition: double('position').notNull().default(0),\n\t\t\tmetadata: json('metadata').$type<Record<string, any>>().default({}),\n\t\t\tcreatedAt: timestamp('createdAt', {\n\t\t\t\tmode: 'date',\n\t\t\t\tfsp: 3,\n\t\t\t}).default(sql`CURRENT_TIMESTAMP(3)`),\n\t\t\tupdatedAt: timestamp('updatedAt', {\n\t\t\t\tmode: 'date',\n\t\t\t\tfsp: 3,\n\t\t\t}).default(sql`CURRENT_TIMESTAMP(3)`),\n\t\t\tdeletedAt: timestamp('deletedAt', {\n\t\t\t\tmode: 'date',\n\t\t\t\tfsp: 3,\n\t\t\t}),\n\t\t},\n\t\t(crr) => ({\n\t\t\tpk: primaryKey({ columns: [crr.upgradableToId, crr.upgradableFromId] }),\n\t\t\tupgradableToIdIdx: index('upgradableFromId_idx').on(crr.upgradableToId),\n\t\t\tupgradableFromIdIdx: index('upgradableToId_idx').on(crr.upgradableFromId),\n\t\t\torganizationIdIdx: index('organizationId_idx').on(crr.organizationId),\n\t\t}),\n\t)\n}\n\nexport function getUpgradableProductsRelationsSchema(mysqlTable: MySqlTableFn) {\n\tconst product = getProductSchema(mysqlTable)\n\tconst upgradableProduct = getUpgradableProductsSchema(mysqlTable)\n\treturn relations(upgradableProduct, ({ one }) => ({\n\t\tupgradableTo: one(product, {\n\t\t\tfields: [upgradableProduct.upgradableToId],\n\t\t\treferences: [product.id],\n\t\t\trelationName: 'upgradableTo',\n\t\t}),\n\t\tupgradableFrom: one(product, {\n\t\t\tfields: [upgradableProduct.upgradableFromId],\n\t\t\treferences: [product.id],\n\t\t\trelationName: 'upgradableFrom',\n\t\t}),\n\t}))\n}\n","import { relations, sql } from 'drizzle-orm'\nimport {\n\tindex,\n\tjson,\n\tMySqlTableFn,\n\ttimestamp,\n\tuniqueIndex,\n\tvarchar,\n} from 'drizzle-orm/mysql-core'\n\nimport { getUsersSchema, type UsersSchemaOverrides } from '../auth/users.js'\nimport { getContentResourceSchema } from '../content/content-resource.js'\n\n/**\n * Question response table - stores individual question responses\n * Supports surveys, quizzes, polls, and other question-based interactions\n * Works for both authenticated users and anonymous email subscribers\n */\nexport function getQuestionResponseSchema(mysqlTable: MySqlTableFn) {\n\treturn mysqlTable(\n\t\t'QuestionResponse',\n\t\t{\n\t\t\tid: varchar('id', { length: 255 }).notNull().primaryKey(),\n\t\t\tsurveyId: varchar('surveyId', { length: 255 }).notNull(),\n\t\t\tquestionId: varchar('questionId', { length: 255 }).notNull(),\n\t\t\trespondentKey: varchar('respondentKey', { length: 255 }),\n\t\t\tsurveySessionId: varchar('surveySessionId', { length: 255 }),\n\t\t\tuserId: varchar('userId', { length: 255 }),\n\t\t\temailListSubscriberId: varchar('emailListSubscriberId', { length: 255 }),\n\t\t\tfields: json('fields').$type<Record<string, any>>().default({}),\n\t\t\tcreatedAt: timestamp('createdAt', {\n\t\t\t\tmode: 'date',\n\t\t\t\tfsp: 3,\n\t\t\t}).default(sql`CURRENT_TIMESTAMP(3)`),\n\t\t\tupdatedAt: timestamp('updatedAt', {\n\t\t\t\tmode: 'date',\n\t\t\t\tfsp: 3,\n\t\t\t}).default(sql`CURRENT_TIMESTAMP(3)`),\n\t\t\tdeletedAt: timestamp('deletedAt', {\n\t\t\t\tmode: 'date',\n\t\t\t\tfsp: 3,\n\t\t\t}),\n\t\t},\n\t\t(qr) => ({\n\t\t\tsurveyIdIdx: index('surveyId_idx').on(qr.surveyId),\n\t\t\tquestionIdIdx: index('questionId_idx').on(qr.questionId),\n\t\t\trespondentKeyIdx: index('respondent_key_idx').on(qr.respondentKey),\n\t\t\tsurveySessionIdIdx: index('survey_session_id_idx').on(qr.surveySessionId),\n\t\t\tuserIdIdx: index('userId_idx').on(qr.userId),\n\t\t\temailListSubscriberIdIdx: index('emailListSubscriberId_idx').on(\n\t\t\t\tqr.emailListSubscriberId,\n\t\t\t),\n\t\t\tsurveySubscriberIdx: index('survey_subscriber_idx').on(\n\t\t\t\tqr.surveyId,\n\t\t\t\tqr.emailListSubscriberId,\n\t\t\t),\n\t\t\tsurveyQuestionRespondentIdx: uniqueIndex(\n\t\t\t\t'survey_question_respondent_unique',\n\t\t\t).on(qr.surveyId, qr.questionId, qr.respondentKey),\n\t\t}),\n\t)\n}\n\nexport function getQuestionResponseRelationsSchema(\n\tmysqlTable: MySqlTableFn,\n\toverrides: UsersSchemaOverrides = {},\n) {\n\tconst questionResponse = getQuestionResponseSchema(mysqlTable)\n\tconst resolveUsersSchema = overrides.getUsersSchema ?? getUsersSchema\n\tconst users = resolveUsersSchema(mysqlTable)\n\tconst contentResource = getContentResourceSchema(mysqlTable)\n\n\treturn relations(questionResponse, ({ one }) => ({\n\t\tuser: one(users, {\n\t\t\tfields: [questionResponse.userId],\n\t\t\treferences: [users.id],\n\t\t\trelationName: 'questionResponseUser',\n\t\t}),\n\t\tsurvey: one(contentResource, {\n\t\t\tfields: [questionResponse.surveyId],\n\t\t\treferences: [contentResource.id],\n\t\t\trelationName: 'questionResponseSurvey',\n\t\t}),\n\t\tquestion: one(contentResource, {\n\t\t\tfields: [questionResponse.questionId],\n\t\t\treferences: [contentResource.id],\n\t\t\trelationName: 'questionResponseQuestion',\n\t\t}),\n\t}))\n}\n","import { sql } from 'drizzle-orm'\nimport {\n\tdatetime,\n\tindex,\n\tjson,\n\tMySqlTableFn,\n\tprimaryKey,\n\tvarchar,\n} from 'drizzle-orm/mysql-core'\n\nexport function getLessonProgressSchema(mysqlTable: MySqlTableFn) {\n\treturn mysqlTable(\n\t\t'LessonProgress',\n\t\t{\n\t\t\tid: varchar('id', { length: 191 }).notNull().primaryKey(),\n\t\t\tuserId: varchar('userId', { length: 191 }).notNull(),\n\t\t\torganizationId: varchar('organizationId', { length: 191 }),\n\t\t\torganizationMembershipId: varchar('organizationMembershipId', {\n\t\t\t\tlength: 191,\n\t\t\t}),\n\t\t\tlessonId: varchar('lessonId', { length: 191 }),\n\t\t\tlessonSlug: varchar('lessonSlug', { length: 191 }),\n\t\t\tlessonVersion: varchar('lessonVersion', { length: 191 }),\n\t\t\tsectionId: varchar('sectionId', { length: 191 }),\n\t\t\tmoduleId: varchar('moduleId', { length: 191 }),\n\t\t\tcompletedAt: datetime('completedAt', { mode: 'date', fsp: 3 }),\n\t\t\tupdatedAt: datetime('updatedAt', { mode: 'date', fsp: 3 }),\n\t\t\tcreatedAt: datetime('createdAt', { mode: 'date', fsp: 3 })\n\t\t\t\t.default(sql`CURRENT_TIMESTAMP(3)`)\n\t\t\t\t.notNull(),\n\t\t},\n\t\t(crp) => {\n\t\t\treturn {\n\t\t\t\tuserIdLessonIdIdx: index('crp_userId_contentResourceId_idx').on(\n\t\t\t\t\tcrp.userId,\n\t\t\t\t\tcrp.lessonId,\n\t\t\t\t),\n\t\t\t\tuserIdIdx: index('userId_idx').on(crp.userId),\n\t\t\t\tlessonIdIdx: index('lessonId_idx').on(crp.lessonId),\n\t\t\t\torganizationMembershipIdIdx: index('organizationMembershipId_idx').on(\n\t\t\t\t\tcrp.organizationMembershipId,\n\t\t\t\t),\n\t\t\t}\n\t\t},\n\t)\n}\n","import { sql } from 'drizzle-orm'\nimport {\n\tdatetime,\n\tindex,\n\tjson,\n\tMySqlTableFn,\n\tprimaryKey,\n\tvarchar,\n} from 'drizzle-orm/mysql-core'\n\nexport function getResourceProgressSchema(mysqlTable: MySqlTableFn) {\n\treturn mysqlTable(\n\t\t'ResourceProgress',\n\t\t{\n\t\t\tuserId: varchar('userId', { length: 255 }).notNull(),\n\t\t\torganizationId: varchar('organizationId', { length: 191 }),\n\t\t\torganizationMembershipId: varchar('organizationMembershipId', {\n\t\t\t\tlength: 191,\n\t\t\t}),\n\t\t\tresourceId: varchar('resourceId', { length: 255 }),\n\t\t\tfields: json('fields').$type<Record<string, any>>().default({}),\n\t\t\tcompletedAt: datetime('completedAt', { mode: 'date', fsp: 3 }),\n\t\t\tupdatedAt: datetime('updatedAt', { mode: 'date', fsp: 3 }),\n\t\t\tcreatedAt: datetime('createdAt', { mode: 'date', fsp: 3 })\n\t\t\t\t.default(sql`CURRENT_TIMESTAMP(3)`)\n\t\t\t\t.notNull(),\n\t\t},\n\t\t(crp) => {\n\t\t\treturn {\n\t\t\t\tuserIdLessonIdIdx: index('crp_userId_contentResourceId_idx').on(\n\t\t\t\t\tcrp.userId,\n\t\t\t\t\tcrp.resourceId,\n\t\t\t\t),\n\t\t\t\tpk: primaryKey({ columns: [crp.userId, crp.resourceId] }),\n\t\t\t\tcontentResourceIdIdx: index('contentResourceId_idx').on(crp.resourceId),\n\t\t\t\tuserIdIdx: index('resourceId_idx').on(crp.userId),\n\t\t\t\torganizationMembershipIdIdx: index('organizationMembershipId_idx').on(\n\t\t\t\t\tcrp.organizationMembershipId,\n\t\t\t\t),\n\t\t\t}\n\t\t},\n\t)\n}\n","import {\n\tMySqlTableFn,\n\ttext,\n\tuniqueIndex,\n\tvarchar,\n} from 'drizzle-orm/mysql-core'\n\nexport function getEntitlementTypesSchema(mysqlTable: MySqlTableFn) {\n\treturn mysqlTable(\n\t\t'EntitlementType',\n\t\t{\n\t\t\tid: varchar('id', { length: 191 }).notNull().primaryKey(),\n\t\t\tname: varchar('name', { length: 255 }).notNull(),\n\t\t\tdescription: text('description'),\n\t\t\t// Add any type-specific config fields here\n\t\t},\n\t\t(table) => ({\n\t\t\tuniqueName: uniqueIndex('unique_name_idx').on(table.name),\n\t\t}),\n\t)\n}\n","import { relations, sql } from 'drizzle-orm'\nimport {\n\tindex,\n\tjson,\n\tMySqlTableFn,\n\ttimestamp,\n\tvarchar,\n} from 'drizzle-orm/mysql-core'\n\nimport { getUsersSchema, type UsersSchemaOverrides } from '../auth/users.js'\nimport { getOrganizationMembershipsSchema } from '../org/organization-memberships.js'\nimport { getOrganizationsSchema } from '../org/organizations.js'\n\nexport function getEntitlementsSchema(mysqlTable: MySqlTableFn) {\n\treturn mysqlTable(\n\t\t'Entitlement',\n\t\t{\n\t\t\tid: varchar('id', { length: 191 }).notNull().primaryKey(),\n\t\t\tentitlementType: varchar('entitlementType', { length: 255 }).notNull(),\n\t\t\tuserId: varchar('userId', { length: 191 }),\n\t\t\torganizationId: varchar('organizationId', { length: 191 }),\n\t\t\torganizationMembershipId: varchar('organizationMembershipId', {\n\t\t\t\tlength: 191,\n\t\t\t}),\n\t\t\tsourceType: varchar('sourceType', { length: 255 }).notNull(), // 'PURCHASE' | 'SUBSCRIPTION' | 'MANUAL' etc\n\t\t\tsourceId: varchar('sourceId', { length: 191 }).notNull(),\n\t\t\tmetadata: json('metadata').$type<Record<string, any>>().default({}),\n\t\t\texpiresAt: timestamp('expiresAt', { mode: 'date', fsp: 3 }),\n\t\t\tcreatedAt: timestamp('createdAt', { mode: 'date', fsp: 3 })\n\t\t\t\t.default(sql`CURRENT_TIMESTAMP(3)`)\n\t\t\t\t.notNull(),\n\t\t\tupdatedAt: timestamp('updatedAt', { mode: 'date', fsp: 3 })\n\t\t\t\t.default(sql`CURRENT_TIMESTAMP(3)`)\n\t\t\t\t.notNull(),\n\t\t\tdeletedAt: timestamp('deletedAt', { mode: 'date', fsp: 3 }),\n\t\t},\n\t\t(table) => ({\n\t\t\tuserIdIdx: index('userId_idx').on(table.userId),\n\t\t\torgIdIdx: index('orgId_idx').on(table.organizationId),\n\t\t\tsourceIdx: index('source_idx').on(table.sourceType, table.sourceId),\n\t\t\ttypeIdx: index('type_idx').on(table.entitlementType),\n\t\t\tuserIdTypeDeletedAtIdx: index(\n\t\t\t\t'idx_Entitlement_on_userId_type_deletedAt',\n\t\t\t).on(table.userId, table.entitlementType, table.deletedAt),\n\t\t}),\n\t)\n}\n\nexport function getEntitlementRelationsSchema(\n\tmysqlTable: MySqlTableFn,\n\toverrides: UsersSchemaOverrides = {},\n) {\n\tconst entitlements = getEntitlementsSchema(mysqlTable)\n\tconst resolveUsersSchema = overrides.getUsersSchema ?? getUsersSchema\n\tconst users = resolveUsersSchema(mysqlTable)\n\tconst orgs = getOrganizationsSchema(mysqlTable)\n\tconst memberships = getOrganizationMembershipsSchema(mysqlTable)\n\n\treturn relations(entitlements, ({ one }) => ({\n\t\tuser: one(users, {\n\t\t\tfields: [entitlements.userId],\n\t\t\treferences: [users.id],\n\t\t}),\n\t\torganization: one(orgs, {\n\t\t\tfields: [entitlements.organizationId],\n\t\t\treferences: [orgs.id],\n\t\t}),\n\t\tmembership: one(memberships, {\n\t\t\tfields: [entitlements.organizationMembershipId],\n\t\t\treferences: [memberships.id],\n\t\t}),\n\t}))\n}\n"],"mappings":";;;;;;;;;;;;;;;;;;;;;AAEA;;;;;;;;ACFA,IAAAA,uBAA0B;AAC1B,IAAAC,sBAOO;;;ACRP,IAAAC,uBAA+B;AAC/B,IAAAC,sBAMO;;;ACPP,IAAAC,uBAA+B;AAC/B,IAAAC,sBASO;;;ACVP,IAAAC,uBAA+B;AAC/B,IAAAC,sBAQO;;;ACTP,IAAAC,uBAA0B;AAC1B,IAAAC,sBAOO;;;ACRP,IAAAC,sBAA0B;AAC1B,IAAAC,qBAQO;;;ACTP,yBAA0B;AAC1B,wBAOO;AAKA,SAASC,mBAAmBC,YAAwB;AAC1D,SAAOA,WACN,YACA;IACCC,YAAQC,2BAAQ,UAAU;MAAEC,QAAQ;IAAI,CAAA,EAAGC,QAAO;IAClDC,YAAQH,2BAAQ,UAAU;MAAEC,QAAQ;IAAI,CAAA,EAAGC,QAAO;IAClDE,YAAQC,2BAAQ,QAAA,EAAUH,QAAO,EAAGI,QAAQ,IAAA;IAC5CC,oBAAgBP,2BAAQ,kBAAkB;MAAEC,QAAQ;IAAI,CAAA;IACxDO,eAAWC,6BAAU,aAAa;MACjCC,MAAM;MACNC,KAAK;IACN,CAAA,EAAGC,WAAU;IACbC,eAAWJ,6BAAU,aAAa;MACjCC,MAAM;MACNC,KAAK;IACN,CAAA,EAAGC,WAAU;IACbE,eAAWL,6BAAU,aAAa;MACjCC,MAAM;MACNC,KAAK;IACN,CAAA;EACD,GACA,CAACI,QAAQ;IACRC,QAAIC,8BAAW;MAAEC,SAAS;QAACH,GAAGhB;QAAQgB,GAAGZ;;IAAQ,CAAA;IACjDgB,eAAWC,yBAAM,YAAA,EAAcC,GAAGN,GAAGhB,MAAM;IAC3CuB,eAAWF,yBAAM,YAAA,EAAcC,GAAGN,GAAGZ,MAAM;IAC3CoB,uBAAmBH,yBAAM,oBAAA,EAAsBC,GAAGN,GAAGR,cAAc;EACpE,EAAA;AAEF;AA5BgBV;AA8BT,SAAS2B,4BACf1B,YACA2B,YAAkC,CAAC,GAAC;AAEpC,QAAMC,YAAY7B,mBAAmBC,UAAAA;AACrC,QAAM6B,qBAAqBF,UAAUG,kBAAkBA;AACvD,QAAMC,QAAQF,mBAAmB7B,UAAAA;AACjC,QAAMgC,QAAQC,eAAejC,UAAAA;AAC7B,aAAOkC,8BAAUN,WAAW,CAAC,EAAEO,IAAG,OAAQ;IACzCC,MAAMD,IAAIJ,OAAO;MAChBM,QAAQ;QAACT,UAAU3B;;MACnBqC,YAAY;QAACP,MAAMQ;;MACnBC,cAAc;IACf,CAAA;IACAC,MAAMN,IAAIH,OAAO;MAChBK,QAAQ;QAACT,UAAUvB;;MACnBiC,YAAY;QAACN,MAAMO;;MACnBC,cAAc;IACf,CAAA;EACD,EAAA;AACD;AApBgBd;;;AD9BT,SAASgB,eAAeC,YAAwB;AACtD,SAAOA,WACN,QACA;IACCC,QAAIC,4BAAQ,MAAM;MAAEC,QAAQ;IAAI,CAAA,EAAGC,QAAO,EAAGC,WAAU;IACvDC,oBAAgBJ,4BAAQ,kBAAkB;MAAEC,QAAQ;IAAI,CAAA;IACxDI,UAAML,4BAAQ,QAAQ;MAAEC,QAAQ;IAAI,CAAA,EAAGC,QAAO;IAC9CI,iBAAaC,yBAAK,aAAA;IAClBC,YAAQC,4BAAQ,QAAA,EAAUP,QAAO,EAAGQ,QAAQ,IAAA;IAC5CC,eAAWC,8BAAU,aAAa;MACjCC,MAAM;MACNC,KAAK;IACN,CAAA,EAAGC,WAAU;IACbC,eAAWJ,8BAAU,aAAa;MACjCC,MAAM;MACNC,KAAK;IACN,CAAA,EAAGC,WAAU;IACbE,eAAWL,8BAAU,aAAa;MACjCC,MAAM;MACNC,KAAK;IACN,CAAA;EACD,GACA,CAACI,UAAU;IACVC,aAASC,0BAAM,UAAA,EAAYC,GAAGH,KAAKb,IAAI;IACvCiB,uBAAmBF,0BAAM,oBAAA,EAAsBC,GAAGH,KAAKd,cAAc;IACrEmB,sBAAkBC,gCAAY,qBAAA,EAAuBH,GACpDH,KAAKd,gBACLc,KAAKb,IAAI;EAEX,EAAA;AAEF;AA/BgBR;AAiCT,SAAS4B,wBAAwB3B,YAAwB;AAC/D,QAAM4B,QAAQ7B,eAAeC,UAAAA;AAC7B,QAAM6B,YAAYC,mBAAmB9B,UAAAA;AAErC,aAAO+B,+BAAUH,OAAO,CAAC,EAAEI,KAAI,OAAQ;IACtCH,WAAWG,KAAKH,WAAW;MAAEI,cAAc;IAAO,CAAA;EACnD,EAAA;AACD;AAPgBN;;;AE9ChB,IAAAO,uBAA+B;AAC/B,IAAAC,sBAQO;;;ACTP,IAAAC,uBAA+B;AAC/B,IAAAC,sBAOO;;;ACRP,IAAAC,sBAA+B;AAC/B,IAAAC,qBAOO;;;ACRP,IAAAC,sBAA+B;AAC/B,IAAAC,qBAQO;;;ACTP,IAAAC,sBAAoB;AACpB,IAAAC,qBAOO;AAEA,SAASC,yBAAyBC,YAAwB;AAChE,SAAOA,WACN,mBACA;IACCC,QAAIC,4BAAQ,MAAM;MAAEC,QAAQ;IAAI,CAAA,EAAGC,QAAO;IAC1CC,oBAAgBH,4BAAQ,kBAAkB;MAAEC,QAAQ;IAAI,CAAA;IACxDG,YAAQC,wBAAI,QAAA,EAAUC,QAAQ,CAAA,EAAGJ,QAAO;IACxCK,eAAWC,8BAAU,aAAa;MAAEC,MAAM;MAAQC,KAAK;IAAE,CAAA,EACvDJ,QAAQK,6CAAyB,EACjCT,QAAO;IACTU,WAAOZ,4BAAQ,SAAS;MAAEC,QAAQ;IAAI,CAAA;IACtCY,gBAAYb,4BAAQ,cAAc;MAAEC,QAAQ;IAAI,CAAA;EACjD,GACA,CAACa,UAAAA;AACA,WAAO;MACNC,uBAAmBC,+BAAW;QAC7BC,SAAS;UAACH,MAAMf;;QAChBmB,MAAM;MACP,CAAA;MACAC,uBAAmBC,0BAAM,oBAAA,EAAsBC,GAAGP,MAAMX,cAAc;IACvE;EACD,CAAA;AAEF;AAvBgBN;;;ACVhB,IAAAyB,sBAAoB;AACpB,IAAAC,qBAQO;AAEA,SAASC,0BAA0BC,YAAwB;AACjE,SAAOA,WACN,oBACA;IACCC,QAAIC,4BAAQ,MAAM;MAAEC,QAAQ;IAAI,CAAA,EAAGC,QAAO;IAC1CC,oBAAgBH,4BAAQ,kBAAkB;MAAEC,QAAQ;IAAI,CAAA;IACxDG,YAAQJ,4BAAQ,UAAU;MAAEC,QAAQ;IAAI,CAAA,EAAGC,QAAO;IAClDG,uBAAmBL,4BAAQ,qBAAqB;MAC/CC,QAAQ;IACT,CAAA,EAAGC,QAAO;IACVI,gBAAYN,4BAAQ,cAAc;MAAEC,QAAQ;IAAI,CAAA,EAAGC,QAAO;IAC1DK,eAAWC,8BAAU,aAAa;MAAEC,MAAM;MAAQC,KAAK;IAAE,CAAA,EACvDC,QAAQC,6CAAyB,EACjCV,QAAO;IACTW,YAAQC,wBAAI,QAAA,EAAUH,QAAQ,CAAA;EAC/B,GACA,CAACI,UAAAA;AACA,WAAO;MACNC,wBAAoBC,+BAAW;QAC9BC,SAAS;UAACH,MAAMhB;;QAChBoB,MAAM;MACP,CAAA;MACAC,mCAA+BC,2BAC9B,iCAAA,EACCC,GAAGP,MAAMT,UAAU;MACrBiB,eAAWC,0BAAM,gCAAA,EAAkCF,GAAGP,MAAMX,MAAM;MAClEqB,uBAAmBD,0BAAM,oBAAA,EAAsBF,GAAGP,MAAMZ,cAAc;IACvE;EACD,CAAA;AAEF;AA9BgBN;;;ACXhB,IAAA6B,sBAAoB;AACpB,IAAAC,qBAQO;AAEA,SAASC,yBAAyBC,YAAwB;AAChE,SAAOA,WACN,mBACA;IACCC,QAAIC,4BAAQ,MAAM;MAAEC,QAAQ;IAAI,CAAA,EAAGC,QAAO;IAC1CC,oBAAgBH,4BAAQ,kBAAkB;MAAEC,QAAQ;IAAI,CAAA;IACxDG,uBAAmBJ,4BAAQ,qBAAqB;MAC/CC,QAAQ;IACT,CAAA,EAAGC,QAAO;IACVG,eAAWL,4BAAQ,aAAa;MAAEC,QAAQ;IAAI,CAAA,EAAGC,QAAO;IACxDI,YAAQC,wBAAI,QAAA,EAAUC,QAAQ,CAAA,EAAGN,QAAO;IACxCO,gBAAYT,4BAAQ,cAAc;MAAEC,QAAQ;IAAI,CAAA;IAChDS,eAAWC,8BAAU,aAAa;MAAEC,MAAM;MAAQC,KAAK;IAAE,CAAA,EACvDL,QAAQM,6CAAyB,EACjCZ,QAAO;EACV,GACA,CAACa,UAAAA;AACA,WAAO;MACNC,uBAAmBC,+BAAW;QAC7BC,SAAS;UAACH,MAAMhB;;QAChBoB,MAAM;MACP,CAAA;MACAC,kCAA8BC,2BAC7B,gCAAA,EACCC,GAAGP,MAAMN,UAAU;MACrBc,uBAAmBC,0BAAM,oBAAA,EAAsBF,GAAGP,MAAMZ,cAAc;IACvE;EACD,CAAA;AAEF;AA7BgBN;;;AHKT,SAAS4B,wBAAwBC,YAAwB;AAC/D,SAAOA,WACN,kBACA;IACCC,QAAIC,4BAAQ,MAAM;MAAEC,QAAQ;IAAI,CAAA,EAAGC,QAAO;IAC1CC,oBAAgBH,4BAAQ,kBAAkB;MAAEC,QAAQ;IAAI,CAAA;IACxDG,YAAQC,wBAAI,QAAA,EAAUC,QAAQ,CAAA,EAAGJ,QAAO;IACxCK,gBAAYP,4BAAQ,cAAc;MAAEC,QAAQ;IAAI,CAAA,EAAGC,QAAO;IAC1DM,YAAQR,4BAAQ,UAAU;MAAEC,QAAQ;IAAI,CAAA,EAAGC,QAAO;IAClDO,uBAAmBT,4BAAQ,qBAAqB;MAC/CC,QAAQ;IACT,CAAA,EAAGC,QAAO;IACVQ,uBAAmBV,4BAAQ,qBAAqB;MAC/CC,QAAQ;IACT,CAAA,EAAGC,QAAO;IACVS,4BAAwBX,4BAAQ,0BAA0B;MACzDC,QAAQ;IACT,CAAA;IACAW,eAAWC,8BAAU,aAAa;MAAEC,MAAM;MAAQC,KAAK;IAAE,CAAA,EACvDT,QAAQU,6CAAyB,EACjCd,QAAO;IACTe,wBAAoBjB,4BAAQ,sBAAsB;MACjDC,QAAQ;IACT,CAAA,EAAGC,QAAO;EACX,GACA,CAACgB,UAAAA;AACA,WAAO;MACNC,sBAAkBC,+BAAW;QAC5BC,SAAS;UAACH,MAAMnB;;QAChBuB,MAAM;MACP,CAAA;MACAC,iCAA6BC,2BAAO,+BAAA,EAAiCC,GACpEP,MAAMX,UAAU;MAEjBmB,+BAA2BC,0BAAM,4BAAA,EAA8BF,GAC9DP,MAAMP,sBAAsB;MAE7BiB,uBAAmBD,0BAAM,oBAAA,EAAsBF,GAAGP,MAAMf,cAAc;IACvE;EACD,CAAA;AAEF;AAzCgBN;AA2CT,SAASgC,iCAAiC/B,YAAwB;AACxE,QAAMgC,iBAAiBjC,wBAAwBC,UAAAA;AAC/C,QAAMiC,kBAAkBC,yBAAyBlC,UAAAA;AACjD,QAAMmC,kBAAkBC,yBAAyBpC,UAAAA;AACjD,QAAMqC,mBAAmBC,0BAA0BtC,UAAAA;AACnD,QAAMuC,uBAAuBC,8BAA8BxC,UAAAA;AAC3D,aAAOyC,+BAAUT,gBAAgB,CAAC,EAAEU,IAAG,OAAQ;IAC9CT,iBAAiBS,IAAIT,iBAAiB;MACrCU,QAAQ;QAACX,eAAerB;;MACxBiC,YAAY;QAACX,gBAAgBhC;;MAC7B4C,cAAc;IACf,CAAA;IACAV,iBAAiBO,IAAIP,iBAAiB;MACrCQ,QAAQ;QAACX,eAAepB;;MACxBgC,YAAY;QAACT,gBAAgBlC;;MAC7B4C,cAAc;IACf,CAAA;IACAR,kBAAkBK,IAAIL,kBAAkB;MACvCM,QAAQ;QAACX,eAAeb;;MACxByB,YAAY;QAACP,iBAAiBpC;;MAC9B4C,cAAc;IACf,CAAA;IACAN,sBAAsBG,IAAIH,sBAAsB;MAC/CI,QAAQ;QAACX,eAAenB;;MACxB+B,YAAY;QAACL,qBAAqBtC;;MAClC4C,cAAc;IACf,CAAA;EACD,EAAA;AACD;AA5BgBd;;;AD9CT,SAASe,8BAA8BC,YAAwB;AACrE,SAAOA,WACN,wBACA;IACCC,QAAIC,4BAAQ,MAAM;MAAEC,QAAQ;IAAI,CAAA,EAAGC,QAAO;IAC1CC,oBAAgBH,4BAAQ,kBAAkB;MAAEC,QAAQ;IAAI,CAAA;IACxDG,uBAAmBJ,4BAAQ,qBAAqB;MAC/CC,QAAQ;IACT,CAAA,EAAGC,QAAO;IACVG,YAAQC,wBAAI,QAAA,EAAUC,QAAQ,CAAA,EAAGL,QAAO;IACxCM,eAAWC,8BAAU,aAAa;MAAEC,MAAM;MAAQC,KAAK;IAAE,CAAA,EACvDJ,QAAQK,6CAAyB,EACjCV,QAAO;IACTW,WAAOb,4BAAQ,SAAS;MAAEC,QAAQ;IAAI,CAAA;IACtCa,gBAAYd,4BAAQ,cAAc;MAAEC,QAAQ;IAAI,CAAA;IAChDc,wBAAoBf,4BAAQ,sBAAsB;MACjDC,QAAQ;IACT,CAAA,EAAGC,QAAO;IACVc,uBAAmBhB,4BAAQ,qBAAqB;MAC/CC,QAAQ;IACT,CAAA,EAAGC,QAAO;EACX,GACA,CAACe,UAAAA;AACA,WAAO;MACNC,4BAAwBC,+BAAW;QAClCC,SAAS;UAACH,MAAMlB;;QAChBsB,MAAM;MACP,CAAA;MACAC,uBAAmBC,0BAAM,oBAAA,EAAsBC,GAAGP,MAAMd,cAAc;IACvE;EACD,CAAA;AAEF;AAhCgBN;AAkCT,SAAS4B,uCACf3B,YAAwB;AAExB,QAAM4B,uBAAuB7B,8BAA8BC,UAAAA;AAC3D,QAAM6B,iBAAiBC,wBAAwB9B,UAAAA;AAC/C,QAAM+B,eAAeC,sBAAsBhC,UAAAA;AAC3C,aAAOiC,+BAAUL,sBAAsB,CAAC,EAAEM,MAAMC,IAAG,OAAQ;IAC1DC,iBAAiBF,KAAKL,gBAAgB;MACrCQ,cAAc;IACf,CAAA;IACAN,cAAcI,IAAIJ,cAAc;MAC/BO,QAAQ;QAACV,qBAAqB3B;;MAC9BsC,YAAY;QAACR,aAAaX;;MAC1BiB,cAAc;IACf,CAAA;EACD,EAAA;AACD;AAhBgBV;;;AK/ChB,IAAAa,uBAA+B;AAC/B,IAAAC,sBAQO;;;ACTP,IAAAC,uBAA+B;AAC/B,IAAAC,sBAQO;;;ACTP,IAAAC,uBAA+B;AAC/B,IAAAC,sBAMO;;;ACPP,IAAAC,sBAA0B;AAC1B,IAAAC,qBAMO;;;ACPP,IAAAC,sBAA0B;AAC1B,IAAAC,qBAOO;AAIA,SAASC,2BAA2BC,YAAwB;AAClE,SAAOA,WACN,oBACA;IACCC,QAAIC,4BAAQ,MAAM;MAAEC,QAAQ;IAAI,CAAA,EAAGC,QAAO,EAAGC,WAAU;IACvDC,oBAAgBJ,4BAAQ,kBAAkB;MAAEC,QAAQ;IAAI,CAAA;IACxDI,UAAML,4BAAQ,QAAQ;MAAEC,QAAQ;IAAI,CAAA,EAAGC,QAAO,EAAGI,OAAM;IACvDC,UAAMP,4BAAQ,QAAQ;MAAEC,QAAQ;IAAI,CAAA,EAAGC,QAAO;IAC9CM,iBAAaC,yBAAK,aAAA;IAClBC,YAAQC,4BAAQ,QAAA,EAAUT,QAAO,EAAGU,QAAQ,IAAA;IAC5CC,eAAWC,8BAAU,aAAa;MACjCC,MAAM;MACNC,KAAK;IACN,CAAA,EAAGC,WAAU;IACbC,eAAWJ,8BAAU,aAAa;MACjCC,MAAM;MACNC,KAAK;IACN,CAAA,EAAGC,WAAU;IACbE,eAAWL,8BAAU,aAAa;MACjCC,MAAM;MACNC,KAAK;IACN,CAAA;EACD,GACA,CAACI,QAAQ;IACRC,aAASC,0BAAM,UAAA,EAAYC,GAAGH,GAAGb,IAAI;IACrCiB,aAASF,0BAAM,UAAA,EAAYC,GAAGH,GAAGf,IAAI;IACrCoB,uBAAmBH,0BAAM,oBAAA,EAAsBC,GAAGH,GAAGhB,cAAc;EACpE,EAAA;AAEF;AA7BgBP;AA+BT,SAAS6B,oCAAoC5B,YAAwB;AAC3E,QAAM6B,oBAAoB9B,2BAA2BC,UAAAA;AAErD,aAAO8B,+BAAUD,mBAAmB,CAAC,EAAEE,KAAI,OAAQ,CAAC,EAAA;AACrD;AAJgBH;;;AD7BT,SAASI,8BAA8BC,YAAwB;AACrE,SAAOA,WACN,uBACA;IACCC,QAAIC,4BAAQ,MAAM;MAAEC,QAAQ;IAAI,CAAA,EAAGC,QAAO,EAAGC,WAAU;IACvDC,YAAQJ,4BAAQ,UAAU;MAAEC,QAAQ;IAAI,CAAA,EAAGC,QAAO;IAClDG,oBAAgBL,4BAAQ,kBAAkB;MAAEC,QAAQ;IAAI,CAAA;IACxDK,8BAA0BN,4BAAQ,4BAA4B;MAC7DC,QAAQ;IACT,CAAA;IACAM,eAAWP,4BAAQ,aAAa;MAAEC,QAAQ;IAAI,CAAA,EAAGC,QAAO;IACxDM,wBAAoBR,4BAAQ,sBAAsB;MACjDC,QAAQ;IACT,CAAA,EAAGC,QAAO;IACVO,YAAQC,4BAAQ,QAAA,EAAUR,QAAO,EAAGS,QAAQ,IAAA;IAC5CC,eAAWC,8BAAU,aAAa;MACjCC,MAAM;MACNC,KAAK;IACN,CAAA,EAAGC,WAAU;IACbC,eAAWJ,8BAAU,aAAa;MACjCC,MAAM;MACNC,KAAK;IACN,CAAA,EAAGC,WAAU;IACbE,eAAWL,8BAAU,aAAa;MACjCC,MAAM;MACNC,KAAK;IACN,CAAA;EACD,GACA,CAACI,QAAQ;IACRC,eAAWC,0BAAM,YAAA,EAAcC,GAAGH,GAAGf,MAAM;IAC3CmB,kBAAcF,0BAAM,eAAA,EAAiBC,GAAGH,GAAGZ,SAAS;IACpDiB,2BAAuBH,0BAAM,wBAAA,EAA0BC,GACtDH,GAAGX,kBAAkB;IAEtBiB,iCAA6BJ,0BAAM,8BAAA,EAAgCC,GAClEH,GAAGb,wBAAwB;EAE7B,EAAA;AAEF;AAvCgBT;AAyCT,SAAS6B,sCACf5B,YACA6B,YAAkC,CAAC,GAAC;AAEpC,QAAMC,uBAAuB/B,8BAA8BC,UAAAA;AAC3D,QAAM+B,qBAAqBF,UAAUG,kBAAkBA;AACvD,QAAMC,QAAQF,mBAAmB/B,UAAAA;AACjC,QAAMkC,kBAAkBC,yBAAyBnC,UAAAA;AACjD,QAAMoC,oBAAoBC,2BAA2BrC,UAAAA;AACrD,QAAMsC,0BAA0BC,iCAAiCvC,UAAAA;AAEjE,aAAOwC,+BAAUV,sBAAsB,CAAC,EAAEW,IAAG,OAAQ;IACpDC,MAAMD,IAAIR,OAAO;MAChBU,QAAQ;QAACb,qBAAqBxB;;MAC9BsC,YAAY;QAACX,MAAMhC;;MACnB4C,cAAc;IACf,CAAA;IACAC,SAASL,IAAIP,iBAAiB;MAC7BS,QAAQ;QAACb,qBAAqBrB;;MAC9BmC,YAAY;QAACV,gBAAgBjC;;MAC7B4C,cAAc;IACf,CAAA;IACAE,kBAAkBN,IAAIL,mBAAmB;MACxCO,QAAQ;QAACb,qBAAqBpB;;MAC9BkC,YAAY;QAACR,kBAAkBnC;;MAC/B4C,cAAc;IACf,CAAA;IACAG,wBAAwBP,IAAIH,yBAAyB;MACpDK,QAAQ;QAACb,qBAAqBtB;;MAC9BoC,YAAY;QAACN,wBAAwBrC;;MACrC4C,cAAc;IACf,CAAA;EACD,EAAA;AACD;AAjCgBjB;;;AEvDhB,IAAAqB,uBAA+B;AAC/B,IAAAC,sBAQO;AAIA,SAASC,iCAAiCC,YAAwB;AACxE,SAAOA,WACN,2BACA;IACCC,kBAAcC,6BAAQ,gBAAgB;MAAEC,QAAQ;IAAI,CAAA,EAAGC,QAAO;IAC9DC,gBAAYH,6BAAQ,cAAc;MAAEC,QAAQ;IAAI,CAAA,EAAGC,QAAO;IAC1DE,cAAUC,4BAAO,UAAA,EAAYH,QAAO,EAAGI,QAAQ,CAAA;IAC/CC,cAAUC,0BAAK,UAAA,EAAYC,MAAK,EAAwBH,QAAQ,CAAC,CAAA;IACjEI,oBAAgBV,6BAAQ,kBAAkB;MAAEC,QAAQ;IAAI,CAAA;IACxDU,eAAWC,+BAAU,aAAa;MACjCC,MAAM;MACNC,KAAK;IACN,CAAA,EAAGR,QAAQS,8CAAyB;IACpCC,eAAWJ,+BAAU,aAAa;MACjCC,MAAM;MACNC,KAAK;IACN,CAAA,EAAGR,QAAQS,8CAAyB;IACpCE,eAAWL,+BAAU,aAAa;MACjCC,MAAM;MACNC,KAAK;IACN,CAAA;EACD,GACA,CAACI,SAAS;IACTC,QAAIC,gCAAW;MAAEC,SAAS;QAACH,IAAInB;QAAcmB,IAAIf;;IAAY,CAAA;IAC7DmB,0BAAsBC,2BAAM,uBAAA,EAAyBC,GAAGN,IAAInB,YAAY;IACxE0B,mBAAeF,2BAAM,gBAAA,EAAkBC,GAAGN,IAAIf,UAAU;IACxDuB,uBAAmBH,2BAAM,oBAAA,EAAsBC,GAAGN,IAAIR,cAAc;EACrE,EAAA;AAEF;AA7BgBb;AA+BT,SAAS8B,0CACf7B,YAAwB;AAExB,QAAM8B,kBAAkBC,yBAAyB/B,UAAAA;AACjD,QAAMgC,0BAA0BjC,iCAAiCC,UAAAA;AACjE,aAAOiC,gCAAUD,yBAAyB,CAAC,EAAEE,IAAG,OAAQ;IACvDC,YAAYD,IAAIJ,iBAAiB;MAChCM,QAAQ;QAACJ,wBAAwB/B;;MACjCoC,YAAY;QAACP,gBAAgBQ;;MAC7BC,cAAc;IACf,CAAA;IACAC,UAAUN,IAAIJ,iBAAiB;MAC9BM,QAAQ;QAACJ,wBAAwB3B;;MACjCgC,YAAY;QAACP,gBAAgBQ;;MAC7BC,cAAc;IACf,CAAA;EACD,EAAA;AACD;AAjBgBV;;;AC5ChB,IAAAY,uBAA+B;AAC/B,IAAAC,sBAOO;;;ACRP,IAAAC,uBAA+B;AAC/B,IAAAC,sBAMO;;;ACPP,IAAAC,uBAA+B;AAC/B,IAAAC,sBAQO;AAIA,SAASC,gBAAgBC,YAAwB;AACvD,SAAOA,WACN,UACA;IACCC,iBAAaC,6BAAQ,eAAe;MAAEC,QAAQ;IAAI,CAAA,EAAGC,QAAO;IAC5DC,gBAAYH,6BAAQ,cAAc;MAAEC,QAAQ;IAAI,CAAA,EAAGC,QAAO;IAC1DE,cAAUC,4BAAO,UAAA,EAAYH,QAAO,EAAGI,QAAQ,CAAA;IAC/CC,cAAUC,0BAAK,UAAA,EAAYC,MAAK,EAAwBH,QAAQ,CAAC,CAAA;IACjEI,oBAAgBV,6BAAQ,kBAAkB;MAAEC,QAAQ;IAAI,CAAA;IACxDU,eAAWC,+BAAU,aAAa;MACjCC,MAAM;MACNC,KAAK;IACN,CAAA,EAAGR,QAAQS,8CAAyB;IACpCC,eAAWJ,+BAAU,aAAa;MACjCC,MAAM;MACNC,KAAK;IACN,CAAA,EAAGR,QAAQS,8CAAyB;IACpCE,eAAWL,+BAAU,aAAa;MACjCC,MAAM;MACNC,KAAK;IACN,CAAA;EACD,GACA,CAACI,QAAQ;IACRC,QAAIC,gCAAW;MAAEC,SAAS;QAACH,GAAGnB;QAAamB,GAAGf;;IAAY,CAAA;IAC1DmB,oBAAgBC,2BAAM,iBAAA,EAAmBC,GAAGN,GAAGnB,WAAW;IAC1D0B,mBAAeF,2BAAM,gBAAA,EAAkBC,GAAGN,GAAGf,UAAU;IACvDuB,iBAAaH,2BAAM,cAAA,EAAgBC,GAAGN,GAAGd,QAAQ;IACjDuB,uBAAmBJ,2BAAM,oBAAA,EAAsBC,GAAGN,GAAGR,cAAc;EACpE,EAAA;AAEF;AA9BgBb;AAgCT,SAAS+B,yBAAyB9B,YAAwB;AAChE,QAAM+B,MAAMC,aAAahC,UAAAA;AACzB,QAAMiC,SAASlC,gBAAgBC,UAAAA;AAC/B,aAAOkC,gCAAUD,QAAQ,CAAC,EAAEE,IAAG,OAAQ;IACtCC,WAAWD,IAAIJ,KAAK;MACnBM,QAAQ;QAACJ,OAAOhC;;MAChBqC,YAAY;QAACP,IAAIQ;;MACjBC,cAAc;IACf,CAAA;IACAC,UAAUN,IAAIJ,KAAK;MAClBM,QAAQ;QAACJ,OAAO5B;;MAChBiC,YAAY;QAACP,IAAIQ;;MACjBC,cAAc;IACf,CAAA;EACD,EAAA;AACD;AAfgBV;;;ADjCT,SAASY,aAAaC,YAAwB;AACpD,SAAOA,WACN,OACA;IACCC,QAAIC,6BAAQ,MAAM;MAAEC,QAAQ;IAAI,CAAA,EAAGC,QAAO,EAAGC,WAAU;IACvDC,oBAAgBJ,6BAAQ,kBAAkB;MAAEC,QAAQ;IAAI,CAAA;IACxDI,UAAML,6BAAQ,QAAQ;MAAEC,QAAQ;IAAI,CAAA,EAAGC,QAAO;IAC9CI,YAAQC,0BAAK,QAAA,EAAUC,MAAK,EAAwBC,QAAQ,CAAC,CAAA;IAC7DC,eAAWC,+BAAU,aAAa;MACjCC,MAAM;MACNC,KAAK;IACN,CAAA,EAAGJ,QAAQK,8CAAyB;IACpCC,eAAWJ,+BAAU,aAAa;MACjCC,MAAM;MACNC,KAAK;IACN,CAAA,EAAGJ,QAAQK,8CAAyB;IACpCE,eAAWL,+BAAU,aAAa;MACjCC,MAAM;MACNC,KAAK;IACN,CAAA;EACD,GACA,CAACI,OAAO;IACPC,aAASC,2BAAM,UAAA,EAAYC,GAAGH,EAAEZ,IAAI;IACpCgB,uBAAmBF,2BAAM,oBAAA,EAAsBC,GAAGH,EAAEb,cAAc;EACnE,EAAA;AAEF;AA1BgBP;AA4BT,SAASyB,sBAAsBxB,YAAwB;AAC7D,QAAMyB,MAAM1B,aAAaC,UAAAA;AACzB,QAAM0B,qBAAqBC,4BAA4B3B,UAAAA;AACvD,QAAM4B,SAASC,gBAAgB7B,UAAAA;AAC/B,aAAO8B,gCAAUL,KAAK,CAAC,EAAEM,KAAI,OAAQ;IACpCC,WAAWD,KAAKL,oBAAoB;MAAEO,cAAc;IAAkB,CAAA;IACtEC,YAAYH,KAAKH,QAAQ;MAAEK,cAAc;IAAW,CAAA;IACpDE,WAAWJ,KAAKH,QAAQ;MAAEK,cAAc;IAAY,CAAA;EACrD,EAAA;AACD;AATgBT;;;AD3BT,SAASY,4BAA4BC,YAAwB;AACnE,SAAOA,WACN,sBACA;IACCC,uBAAmBC,6BAAQ,qBAAqB;MAC/CC,QAAQ;IACT,CAAA,EAAGC,QAAO;IACVC,oBAAgBH,6BAAQ,kBAAkB;MAAEC,QAAQ;IAAI,CAAA;IACxDG,WAAOJ,6BAAQ,SAAS;MAAEC,QAAQ;IAAI,CAAA,EAAGC,QAAO;IAChDG,cAAUC,4BAAO,UAAA,EAAYJ,QAAO,EAAGK,QAAQ,CAAA;IAC/CC,eAAWC,+BAAU,aAAa;MACjCC,MAAM;MACNC,KAAK;IACN,CAAA,EAAGJ,QAAQK,8CAAyB;IACpCC,eAAWJ,+BAAU,aAAa;MACjCC,MAAM;MACNC,KAAK;IACN,CAAA,EAAGJ,QAAQK,8CAAyB;EACrC,GACA,CAACE,SAAS;IACTC,QAAIC,gCAAW;MAAEC,SAAS;QAACH,IAAIf;QAAmBe,IAAIV;;IAAO,CAAA;IAC7Dc,0BAAsBC,2BAAM,uBAAA,EAAyBC,GACpDN,IAAIf,iBAAiB;IAEtBsB,cAAUF,2BAAM,WAAA,EAAaC,GAAGN,IAAIV,KAAK;IACzCkB,iBAAaH,2BAAM,cAAA,EAAgBC,GAAGN,IAAIT,QAAQ;IAClDkB,uBAAmBJ,2BAAM,oBAAA,EAAsBC,GAAGN,IAAIX,cAAc;EACrE,EAAA;AAEF;AA7BgBN;AA+BT,SAAS2B,qCAAqC1B,YAAwB;AAC5E,QAAM2B,kBAAkBC,yBAAyB5B,UAAAA;AACjD,QAAM6B,MAAMC,aAAa9B,UAAAA;AACzB,QAAM+B,qBAAqBhC,4BAA4BC,UAAAA;AACvD,aAAOgC,gCAAUD,oBAAoB,CAAC,EAAEE,IAAG,OAAQ;IAClDN,iBAAiBM,IAAIN,iBAAiB;MACrCO,QAAQ;QAACH,mBAAmB9B;;MAC5BkC,YAAY;QAACR,gBAAgBS;;MAC7BC,cAAc;IACf,CAAA;IACAR,KAAKI,IAAIJ,KAAK;MACbK,QAAQ;QAACH,mBAAmBzB;;MAC5B6B,YAAY;QAACN,IAAIO;;MACjBC,cAAc;IACf,CAAA;EACD,EAAA;AACD;AAhBgBX;;;AG5ChB,IAAAY,uBAA+B;AAC/B,IAAAC,sBAQO;AAKA,SAASC,gCAAgCC,YAAwB;AACvE,SAAOA,WACN,0BACA;IACCC,QAAIC,6BAAQ,MAAM;MAAEC,QAAQ;IAAI,CAAA,EAAGC,QAAO,EAAGC,WAAU;IACvDC,oBAAgBJ,6BAAQ,kBAAkB;MAAEC,QAAQ;IAAI,CAAA;IACxDI,gBAAYL,6BAAQ,cAAc;MAAEC,QAAQ;IAAI,CAAA,EAAGC,QAAO;IAC1DI,qBAAiBN,6BAAQ,mBAAmB;MAAEC,QAAQ;IAAI,CAAA;IAC1DM,mBAAeC,yBAAI,eAAA,EAAiBN,QAAO;IAC3CO,YAAQC,0BAAK,QAAA,EAAUC,MAAK,EAAwBC,QAAQ,CAAC,CAAA;IAC7DC,eAAWC,+BAAU,aAAa;MACjCC,MAAM;MACNC,KAAK;IACN,CAAA,EAAGJ,QAAQK,8CAAyB;IACpCC,iBAAalB,6BAAQ,eAAe;MAAEC,QAAQ;IAAI,CAAA,EAAGC,QAAO;EAC7D,GACA,CAACiB,SAAS;IACTC,mBAAeC,2BAAM,gBAAA,EAAkBC,GAAGH,IAAId,UAAU;IACxDkB,wBAAoBF,2BAAM,qBAAA,EAAuBC,GAAGH,IAAIb,eAAe;IACvEkB,gCAA4BH,2BAAM,8BAAA,EAAgCC,GACjEH,IAAId,YACJc,IAAIZ,aAAa;IAElBkB,2BAAuBC,4BAAO,4BAAA,EAA8BJ,GAC3DH,IAAId,YACJc,IAAIZ,aAAa;IAElBoB,uBAAmBN,2BAAM,oBAAA,EAAsBC,GAAGH,IAAIf,cAAc;EACrE,EAAA;AAEF;AA9BgBP;AAgCT,SAAS+B,yCACf9B,YACA+B,YAAkC,CAAC,GAAC;AAEpC,QAAMC,yBAAyBjC,gCAAgCC,UAAAA;AAC/D,QAAMiC,kBAAkBC,yBAAyBlC,UAAAA;AACjD,QAAMmC,qBAAqBJ,UAAUK,kBAAkBA;AACvD,QAAMC,QAAQF,mBAAmBnC,UAAAA;AAEjC,aAAOsC,gCAAUN,wBAAwB,CAAC,EAAEO,IAAG,OAAQ;IACtDC,UAAUD,IAAIN,iBAAiB;MAC9BtB,QAAQ;QAACqB,uBAAuBzB;;MAChCkC,YAAY;QAACR,gBAAgBhC;;MAC7ByC,cAAc;IACf,CAAA;IACAC,eAAeJ,IAAIP,wBAAwB;MAC1CrB,QAAQ;QAACqB,uBAAuBxB;;MAChCiC,YAAY;QAACT,uBAAuB/B;;MACpCyC,cAAc;IACf,CAAA;IACAE,WAAWL,IAAIF,OAAO;MACrB1B,QAAQ;QAACqB,uBAAuBZ;;MAChCqB,YAAY;QAACJ,MAAMpC;;MACnByC,cAAc;IACf,CAAA;EACD,EAAA;AACD;AA1BgBZ;;;AP5BT,SAASe,yBAAyBC,YAAwB;AAChE,SAAOA,WACN,mBACA;IACCC,QAAIC,6BAAQ,MAAM;MAAEC,QAAQ;IAAI,CAAA,EAAGC,QAAO,EAAGC,WAAU;IACvDC,oBAAgBJ,6BAAQ,kBAAkB;MAAEC,QAAQ;IAAI,CAAA;IACxDI,uCAAmCL,6BAClC,qCACA;MACCC,QAAQ;IACT,CAAA;IAEDK,UAAMN,6BAAQ,QAAQ;MAAEC,QAAQ;IAAI,CAAA,EAAGC,QAAO;IAC9CK,iBAAaP,6BAAQ,eAAe;MAAEC,QAAQ;IAAI,CAAA,EAAGC,QAAO;IAC5DM,YAAQC,0BAAK,QAAA,EAAUC,MAAK,EAAwBC,QAAQ,CAAC,CAAA;;IAE7DC,UAAMZ,6BAAQ,QAAQ;MAAEC,QAAQ;IAAI,CAAA,EAAGY,kBACtCC,+CACA;MAAEC,MAAM;IAAS,CAAA;IAElBC,sBAAkBhB,6BAAQ,oBAAoB;MAAEC,QAAQ;IAAI,CAAA;IAC5DgB,eAAWC,+BAAU,aAAa;MACjCH,MAAM;MACNI,KAAK;IACN,CAAA,EAAGR,QAAQG,8CAAyB;IACpCM,eAAWF,+BAAU,aAAa;MACjCH,MAAM;MACNI,KAAK;IACN,CAAA,EAAGR,QAAQG,8CAAyB;IACpCO,eAAWH,+BAAU,aAAa;MACjCH,MAAM;MACNI,KAAK;IACN,CAAA;EACD,GACA,CAACG,QAAQ;IACRC,aAASC,2BAAM,UAAA,EAAYC,GAAGH,GAAGhB,IAAI;IACrCoB,kBAAcF,2BAAM,iBAAA,EAAmBC,GAAGH,GAAGf,WAAW;IACxDoB,kBAAcH,2BAAM,eAAA,EAAiBC,GAAGH,GAAGL,SAAS;IACpDW,yBAAqBJ,2BAAM,sBAAA,EAAwBC,GAClDH,GAAGN,gBAAgB;IAEpBa,0CAAsCL,2BACrC,uCAAA,EACCC,GAAGH,GAAGjB,iCAAiC;IACzCyB,aAASN,2BAAM,UAAA,EAAYC,GAAGH,GAAGV,IAAI;EACtC,EAAA;AAEF;AA/CgBf;AAiDT,SAASkC,kCACfjC,YACAkC,YAAkC,CAAC,GAAC;AAEpC,QAAMC,kBAAkBpC,yBAAyBC,UAAAA;AACjD,QAAMoC,qBAAqBF,UAAUG,kBAAkBA;AACvD,QAAMC,QAAQF,mBAAmBpC,UAAAA;AACjC,QAAMuC,0BAA0BC,iCAAiCxC,UAAAA;AACjE,QAAMyC,yBAAyBC,gCAAgC1C,UAAAA;AAC/D,QAAM2C,uBAAuBC,8BAA8B5C,UAAAA;AAC3D,QAAM6C,qBAAqBC,4BAA4B9C,UAAAA;AACvD,QAAM+C,yBAAyBC,gCAAgChD,UAAAA;AAC/D,QAAMiD,0BAA0BC,iCAAiClD,UAAAA;AACjE,QAAMmD,MAAMC,aAAapD,UAAAA;AACzB,aAAOqD,gCAAUlB,iBAAiB,CAAC,EAAEmB,KAAKC,KAAI,OAAQ;IACrDC,WAAWF,IAAIhB,OAAO;MACrB5B,QAAQ;QAACyB,gBAAgB1B;;MACzBgD,YAAY;QAACnB,MAAMrC;;MACnByD,cAAc;IACf,CAAA;IACAC,iCAAiCL,IAAIL,yBAAyB;MAC7DvC,QAAQ;QAACyB,gBAAgB5B;;MACzBkD,YAAY;QAACR,wBAAwBhD;;MACrCyD,cAAc;IACf,CAAA;IACAE,MAAML,KAAKV,oBAAoB;MAAEa,cAAc;IAAkB,CAAA;IACjEG,WAAWN,KAAKhB,yBAAyB;MAAEmB,cAAc;IAAa,CAAA;IACtEI,YAAYP,KAAKhB,yBAAyB;MAAEmB,cAAc;IAAW,CAAA;IACrEK,kBAAkBR,KAAKd,wBAAwB;MAC9CiB,cAAc;IACf,CAAA;IACAM,eAAeT,KAAKZ,sBAAsB;MACzCe,cAAc;IACf,CAAA;IACAO,gBAAgBX,IAAIP,wBAAwB;MAC3CrC,QAAQ;QAACyB,gBAAgBjB;;MACzBuC,YAAY;QAACV,uBAAuB9C;;MACpCyD,cAAc;IACf,CAAA;IACAQ,UAAUX,KAAKR,wBAAwB;MAAEW,cAAc;IAAW,CAAA;EACnE,EAAA;AACD;AAzCgBzB;;;ADrDT,SAASkC,gCAAgCC,YAAwB;AACvE,SAAOA,WACN,0BACA;IACCC,eAAWC,6BAAQ,aAAa;MAAEC,QAAQ;IAAI,CAAA,EAAGC,QAAO;IACxDC,gBAAYH,6BAAQ,cAAc;MAAEC,QAAQ;IAAI,CAAA,EAAGC,QAAO;IAC1DE,oBAAgBJ,6BAAQ,kBAAkB;MAAEC,QAAQ;IAAI,CAAA;IACxDI,cAAUC,4BAAO,UAAA,EAAYJ,QAAO,EAAGK,QAAQ,CAAA;IAC/CC,cAAUC,0BAAK,UAAA,EAAYC,MAAK,EAAwBH,QAAQ,CAAC,CAAA;IACjEI,eAAWC,+BAAU,aAAa;MACjCC,MAAM;MACNC,KAAK;IACN,CAAA,EAAGP,QAAQQ,8CAAyB;IACpCC,eAAWJ,+BAAU,aAAa;MACjCC,MAAM;MACNC,KAAK;IACN,CAAA,EAAGP,QAAQQ,8CAAyB;IACpCE,eAAWL,+BAAU,aAAa;MACjCC,MAAM;MACNC,KAAK;IACN,CAAA;EACD,GACA,CAACI,SAAS;IACTC,QAAIC,gCAAW;MAAEC,SAAS;QAACH,IAAInB;QAAWmB,IAAIf;;IAAY,CAAA;IAC1DmB,0BAAsBC,2BAAM,uBAAA,EAAyBC,GAAGN,IAAInB,SAAS;IACrE0B,mBAAeF,2BAAM,gBAAA,EAAkBC,GAAGN,IAAIf,UAAU;IACxDuB,uBAAmBH,2BAAM,oBAAA,EAAsBC,GAAGN,IAAId,cAAc;EACrE,EAAA;AAEF;AA7BgBP;AA+BT,SAAS8B,yCACf7B,YAAwB;AAExB,QAAM8B,kBAAkBC,yBAAyB/B,UAAAA;AACjD,QAAMgC,yBAAyBjC,gCAAgCC,UAAAA;AAC/D,QAAMiC,UAAUC,iBAAiBlC,UAAAA;AACjC,aAAOmC,gCAAUH,wBAAwB,CAAC,EAAEI,IAAG,OAAQ;IACtDH,SAASG,IAAIH,SAAS;MACrBI,QAAQ;QAACL,uBAAuB/B;;MAChCqC,YAAY;QAACL,QAAQM;;MACrBC,cAAc;IACf,CAAA;IACAC,UAAUL,IAAIN,iBAAiB;MAC9BO,QAAQ;QAACL,uBAAuB3B;;MAChCiC,YAAY;QAACR,gBAAgBS;;MAC7BC,cAAc;IACf,CAAA;EACD,EAAA;AACD;AAlBgBX;;;AS7ChB,IAAAa,uBAA+B;AAC/B,IAAAC,sBASO;;;ACVP,IAAAC,uBAAoB;AACpB,IAAAC,sBAQO;AAEA,SAASC,uBAAuBC,YAAwB;AAC9D,SAAOA,WACN,iBACA;IACCC,QAAIC,6BAAQ,MAAM;MAAEC,QAAQ;IAAI,CAAA,EAAGC,QAAO;IAC1CC,oBAAgBH,6BAAQ,kBAAkB;MAAEC,QAAQ;IAAI,CAAA;IACxDG,uBAAmBJ,6BAAQ,qBAAqB;MAC/CC,QAAQ;IACT,CAAA,EAAGC,QAAO;IACVG,uBAAmBL,6BAAQ,qBAAqB;MAC/CC,QAAQ;IACT,CAAA,EAAGC,QAAO;IACVI,YAAQC,yBAAI,QAAA,EAAUC,QAAQ,CAAA;IAC9BC,gBAAYT,6BAAQ,cAAc;MAAEC,QAAQ;IAAI,CAAA;IAChDS,eAAWC,+BAAU,aAAa;MAAEC,MAAM;MAAQC,KAAK;IAAE,CAAA,EACvDL,QAAQM,8CAAyB,EACjCZ,QAAO;IACTa,aAASf,6BAAQ,WAAW;MAAEC,QAAQ;IAAI,CAAA;EAC3C,GACA,CAACe,UAAAA;AACA,WAAO;MACNC,qBAAiBC,gCAAW;QAC3BC,SAAS;UAACH,MAAMjB;;QAChBqB,MAAM;MACP,CAAA;MACAC,gCAA4BC,4BAAO,8BAAA,EAAgCC,GAClEP,MAAMP,UAAU;MAEjBe,uBAAmBC,2BAAM,oBAAA,EAAsBF,GAAGP,MAAMb,cAAc;IACvE;EACD,CAAA;AAEF;AAhCgBN;;;ADIT,SAAS6B,eAAeC,YAAwB;AACtD,SAAOA,WACN,SACA;IACCC,QAAIC,6BAAQ,MAAM;MAAEC,QAAQ;IAAI,CAAA,EAAGC,QAAO;IAC1CC,eAAWH,6BAAQ,aAAa;MAAEC,QAAQ;IAAI,CAAA;IAC9CG,oBAAgBJ,6BAAQ,kBAAkB;MAAEC,QAAQ;IAAI,CAAA;IACxDI,cAAUL,6BAAQ,YAAY;MAAEC,QAAQ;IAAI,CAAA;IAC5CK,YAAQC,yBAAI,QAAA,EAAUC,QAAQ,CAAA,EAAGN,QAAO;IACxCO,gBAAYC,6BAAQ,cAAc;MAAEC,WAAW;MAAIC,OAAO;IAAE,CAAA,EAAGV,QAAO;IACtEW,eAAWC,+BAAU,aAAa;MAAEC,MAAM;MAAQC,KAAK;IAAE,CAAA,EACvDR,QAAQS,8CAAyB,EACjCf,QAAO;IACTgB,YAAQC,0BAAK,QAAA,EAAUC,MAAK,EAAwBZ,QAAQ,CAAC,CAAA;EAC9D,GACA,CAACa,UAAAA;AACA,WAAO;MACNC,aAASC,gCAAW;QAAEC,SAAS;UAACH,MAAMtB;;QAAK0B,MAAM;MAAW,CAAA;MAC5DC,uBAAmBC,2BAAM,oBAAA,EAAsBC,GAAGP,MAAMjB,cAAc;IACvE;EACD,CAAA;AAEF;AAtBgBP;;;AVAT,SAASgC,iBAAiBC,YAAwB;AACxD,SAAOA,WACN,WACA;IACCC,QAAIC,6BAAQ,MAAM;MAAEC,QAAQ;IAAI,CAAA,EAAGC,QAAO;IAC1CC,oBAAgBH,6BAAQ,kBAAkB;MAAEC,QAAQ;IAAI,CAAA;IACxDG,UAAMJ,6BAAQ,QAAQ;MAAEC,QAAQ;IAAI,CAAA,EAAGC,QAAO;IAC9CG,SAAKL,6BAAQ,OAAO;MAAEC,QAAQ;IAAI,CAAA;IAClCK,UAAMN,6BAAQ,QAAQ;MAAEC,QAAQ;IAAI,CAAA;IACpCM,YAAQC,0BAAK,QAAA,EAAUC,MAAK,EAAwBC,QAAQ,CAAC,CAAA;IAC7DC,eAAWC,+BAAU,aAAa;MAAEC,MAAM;MAAQC,KAAK;IAAE,CAAA,EACvDJ,QAAQK,8CAAyB,EACjCb,QAAO;IACTc,YAAQC,yBAAI,QAAA,EAAUP,QAAQ,CAAA,EAAGR,QAAO;IACxCgB,uBAAmBD,yBAAI,mBAAA,EAAqBP,QAAQ,EAAC,EAAGR,QAAO;EAChE,GACA,CAACiB,UAAAA;AACA,WAAO;MACNC,eAAWC,gCAAW;QAAEC,SAAS;UAACH,MAAMpB;;QAAKK,MAAM;MAAa,CAAA;MAChEmB,uBAAmBC,2BAAM,oBAAA,EAAsBC,GAAGN,MAAMhB,cAAc;IACvE;EACD,CAAA;AAEF;AAvBgBN;AAyBT,SAAS6B,0BAA0B5B,YAAwB;AACjE,QAAM6B,UAAU9B,iBAAiBC,UAAAA;AACjC,QAAM8B,QAAQC,eAAe/B,UAAAA;AAC7B,QAAMgC,kBAAkBC,yBAAyBjC,UAAAA;AACjD,QAAMkC,yBAAyBC,gCAAgCnC,UAAAA;AAC/D,aAAOoC,gCAAUP,SAAS,CAAC,EAAEQ,KAAKC,KAAI,OAAQ;IAC7CR,OAAOO,IAAIP,OAAO;MACjBrB,QAAQ;QAACoB,QAAQ5B;;MACjBsC,YAAY;QAACT,MAAMR;;MACnBkB,cAAc;IACf,CAAA;IACAC,WAAWH,KAAKJ,wBAAwB;MAAEM,cAAc;IAAU,CAAA;IAClER,iBAAiBK,IAAIL,iBAAiB;MACrCvB,QAAQ;QAACoB,QAAQ5B;;MACjBsC,YAAY;QAACP,gBAAgBV;;MAC7BkB,cAAc;IACf,CAAA;EACD,EAAA;AACD;AAlBgBZ;;;ANxBT,SAASc,sBAAsBC,YAAwB;AAC7D,SAAOA,WACN,gBACA;IACCC,QAAIC,6BAAQ,MAAM;MAAEC,QAAQ;IAAI,CAAA,EAAGC,QAAO;IAC1CC,oBAAgBH,6BAAQ,kBAAkB;MAAEC,QAAQ;IAAI,CAAA;IACxDG,eAAWJ,6BAAQ,aAAa;MAAEC,QAAQ;IAAI,CAAA,EAAGC,QAAO;IACxDG,eAAWC,+BAAU,aAAa;MAAEC,MAAM;MAAQC,KAAK;IAAE,CAAA,EACvDC,QAAQC,8CAAyB,EACjCR,QAAO;IACTS,4BAAwBX,6BAAQ,0BAA0B;MACzDC,QAAQ;IACT,CAAA,EAAGC,QAAO;IACVU,YAAQZ,6BAAQ,UAAU;MAAEC,QAAQ;IAAI,CAAA,EAAGQ,QAAQ,QAAA,EAAUP,QAAO;IACpEW,YAAQC,0BAAK,QAAA,EAAUC,MAAK,EAAwBN,QAAQ,CAAC,CAAA;EAC9D,GACA,CAACO,UAAAA;AACA,WAAO;MACNC,oBAAgBC,gCAAW;QAC1BC,SAAS;UAACH,MAAMjB;;QAChBqB,MAAM;MACP,CAAA;MACAC,uBAAmBC,2BAAM,oBAAA,EAAsBC,GAAGP,MAAMb,cAAc;IACvE;EACD,CAAA;AAEF;AA1BgBN;AA4BT,SAAS2B,+BAA+B1B,YAAwB;AACtE,QAAM2B,gBAAgB5B,sBAAsBC,UAAAA;AAC5C,QAAM4B,WAAWC,iBAAiB7B,UAAAA;AAElC,QAAM8B,gBAAgBC,uBAAuB/B,UAAAA;AAC7C,QAAMgC,wBAAwBC,8BAA8BjC,UAAAA;AAE5D,aAAOkC,gCAAUP,eAAe,CAAC,EAAEQ,MAAMC,IAAG,OAAQ;IACnDC,cAAcD,IAAIN,eAAe;MAChCf,QAAQ;QAACY,cAActB;;MACvBiC,YAAY;QAACR,cAAc7B;;MAC3BsC,cAAc;IACf,CAAA;IACAC,SAASJ,IAAIR,UAAU;MACtBb,QAAQ;QAACY,cAAcrB;;MACvBgC,YAAY;QAACV,SAAS3B;;MACtBsC,cAAc;IACf,CAAA;IACAE,sBAAsBL,IAAIJ,uBAAuB;MAChDjB,QAAQ;QAACY,cAAcd;;MACvByB,YAAY;QAACN,sBAAsB/B;;MACnCsC,cAAc;IACf,CAAA;EACD,EAAA;AACD;AAxBgBb;;;AD7BT,SAASgB,uBAAuBC,YAAwB;AAC9D,SAAOA,WACN,gBACA;IACCC,QAAIC,6BAAQ,MAAM;MAAEC,QAAQ;IAAI,CAAA,EAAGC,QAAO,EAAGC,WAAU;IACvDC,UAAMJ,6BAAQ,QAAQ;MAAEC,QAAQ;IAAI,CAAA;;IAEpCI,gCAA4BL,6BAAQ,8BAA8B;MACjEC,QAAQ;IACT,CAAA;IACAK,YAAQC,0BAAK,QAAA,EAAUC,MAAK,EAAwBC,QAAQ,CAAC,CAAA;IAC7DC,WAAOV,6BAAQ,SAAS;MAAEC,QAAQ;IAAI,CAAA;IACtCU,eAAWC,+BAAU,aAAa;MACjCC,MAAM;MACNC,KAAK;IACN,CAAA,EAAGL,QAAQM,8CAAyB;EACrC,GACA,CAACC,kBAAkB;IAClBC,kBAAcC,2BAAM,gBAAA,EAAkBC,GAAGH,aAAaL,SAAS;IAC/DS,mCAA+BC,iCAC9B,gCAAA,EACCF,GAAGH,aAAaX,0BAA0B;EAC7C,EAAA;AAEF;AAxBgBR;AA0BT,SAASyB,gCAAgCxB,YAAwB;AACvE,QAAMyB,gBAAgB1B,uBAAuBC,UAAAA;AAC7C,QAAM0B,YAAYC,kBAAkB3B,UAAAA;AACpC,QAAM4B,gBAAgBC,sBAAsB7B,UAAAA;AAC5C,QAAM8B,0BAA0BC,iCAAiC/B,UAAAA;AACjE,aAAOgC,gCAAUP,eAAe,CAAC,EAAEQ,KAAI,OAAQ;IAC9CP,WAAWO,KAAKP,WAAW;MAC1BQ,cAAc;IACf,CAAA;IACAN,eAAeK,KAAKL,eAAe;MAClCM,cAAc;IACf,CAAA;IACAC,SAASF,KAAKH,yBAAyB;MACtCI,cAAc;IACf,CAAA;EACD,EAAA;AACD;AAhBgBV;;;AH3BT,SAASY,qCAAqCC,YAAwB;AAC5E,SAAOA,WACN,8BACA;IACCC,8BAA0BC,6BAAQ,4BAA4B;MAC7DC,QAAQ;IACT,CAAA,EAAGC,QAAO;IACVC,YAAQH,6BAAQ,UAAU;MAAEC,QAAQ;IAAI,CAAA,EAAGC,QAAO;IAClDE,YAAQC,6BAAQ,QAAA,EAAUH,QAAO,EAAGI,QAAQ,IAAA;IAC5CC,oBAAgBP,6BAAQ,kBAAkB;MAAEC,QAAQ;IAAI,CAAA;IACxDO,eAAWC,+BAAU,aAAa;MACjCC,MAAM;MACNC,KAAK;IACN,CAAA,EAAGC,WAAU;IACbC,eAAWJ,+BAAU,aAAa;MACjCC,MAAM;MACNC,KAAK;IACN,CAAA,EAAGC,WAAU;IACbE,eAAWL,+BAAU,aAAa;MACjCC,MAAM;MACNC,KAAK;IACN,CAAA;EACD,GACA,CAACI,QAAQ;IACRC,QAAIC,gCAAW;MACdC,SAAS;QAACH,GAAGhB;QAA0BgB,GAAGZ;;MAC1CgB,MAAM;IACP,CAAA;IACAC,oBAAgBC,2BAAM,iBAAA,EAAmBC,GAAGP,GAAGhB,wBAAwB;IACvEwB,eAAWF,2BAAM,YAAA,EAAcC,GAAGP,GAAGZ,MAAM;IAC3CqB,uBAAmBH,2BAAM,oBAAA,EAAsBC,GAAGP,GAAGR,cAAc;EACpE,EAAA;AAEF;AAjCgBV;AAmCT,SAAS4B,8CACf3B,YAAwB;AAExB,QAAM4B,8BACL7B,qCAAqCC,UAAAA;AACtC,QAAM6B,0BAA0BC,iCAAiC9B,UAAAA;AACjE,QAAM+B,QAAQC,eAAehC,UAAAA;AAC7B,QAAMiC,gBAAgBC,uBAAuBlC,UAAAA;AAC7C,aAAOmC,gCAAUP,6BAA6B,CAAC,EAAEQ,IAAG,OAAQ;IAC3DC,wBAAwBD,IAAIP,yBAAyB;MACpDS,QAAQ;QAACV,4BAA4B3B;;MACrCsC,YAAY;QAACV,wBAAwBW;;MACrCC,cAAc;IACf,CAAA;IACAC,MAAMN,IAAIL,OAAO;MAChBO,QAAQ;QAACV,4BAA4BvB;;MACrCkC,YAAY;QAACR,MAAMS;;MACnBC,cAAc;IACf,CAAA;IACAE,cAAcP,IAAIH,eAAe;MAChCK,QAAQ;QAACV,4BAA4BnB;;MACrC8B,YAAY;QAACN,cAAcO;;MAC3BC,cAAc;IACf,CAAA;EACD,EAAA;AACD;AAzBgBd;;;ADjCT,SAASiB,iCAAiCC,YAAwB;AACxE,SAAOA,WACN,0BACA;IACCC,QAAIC,6BAAQ,MAAM;MAAEC,QAAQ;IAAI,CAAA,EAAGC,QAAO,EAAGC,WAAU;IACvDC,oBAAgBJ,6BAAQ,kBAAkB;MAAEC,QAAQ;IAAI,CAAA;IACxDI,UAAML,6BAAQ,QAAQ;MAAEC,QAAQ;IAAI,CAAA,EAAGC,QAAO,EAAGI,QAAQ,MAAA;IACzDC,iBAAaP,6BAAQ,eAAe;MAAEC,QAAQ;IAAI,CAAA,EAAGC,QAAO;IAC5DM,YAAQR,6BAAQ,UAAU;MAAEC,QAAQ;IAAI,CAAA,EAAGC,QAAO;IAClDO,gCAA4BT,6BAAQ,8BAA8B;MACjEC,QAAQ;IACT,CAAA;IACAS,YAAQC,0BAAK,QAAA,EAAUC,MAAK,EAAwBN,QAAQ,CAAC,CAAA;IAC7DO,eAAWC,+BAAU,aAAa;MACjCC,MAAM;MACNC,KAAK;IACN,CAAA,EAAGV,QAAQW,8CAAyB;EACrC,GACA,CAACC,4BAA4B;IAC5BC,aAASC,2BAAM,UAAA,EAAYC,GAAGH,uBAAuBb,IAAI;IACzDiB,kBAAcF,2BAAM,gBAAA,EAAkBC,GACrCH,uBAAuBL,SAAS;IAEjCU,uBAAmBH,2BAAM,oBAAA,EAAsBC,GAC9CH,uBAAuBd,cAAc;IAEtCoB,mCAA+BC,iCAC9B,gCAAA,EACCJ,GAAGH,uBAAuBT,0BAA0B;EACvD,EAAA;AAEF;AA/BgBZ;AAiCT,SAAS6B,0CACf5B,YACA6B,YAAkC,CAAC,GAAC;AAEpC,QAAMC,qBAAqBD,UAAUE,kBAAkBA;AACvD,QAAMC,QAAQF,mBAAmB9B,UAAAA;AAEjC,QAAMiC,0BAA0BlC,iCAAiCC,UAAAA;AACjE,QAAMkC,YAAYC,kBAAkBnC,UAAAA;AACpC,QAAMoC,gBAAgBC,uBAAuBrC,UAAAA;AAC7C,QAAMsC,8BACLC,qCAAqCvC,UAAAA;AAEtC,aAAOwC,gCAAUP,yBAAyB,CAAC,EAAEQ,KAAKC,KAAI,OAAQ;IAC7DC,MAAMF,IAAIT,OAAO;MAChBpB,QAAQ;QAACqB,wBAAwBvB;;MACjCkC,YAAY;QAACZ,MAAM/B;;MACnB4C,cAAc;IACf,CAAA;IACAC,WAAWL,IAAIT,OAAO;MACrBpB,QAAQ;QAACqB,wBAAwBxB;;MACjCmC,YAAY;QAACZ,MAAM/B;;MACnB4C,cAAc;IACf,CAAA;IACAX,WAAWQ,KAAKR,SAAAA;IAChBa,cAAcN,IAAIL,eAAe;MAChCxB,QAAQ;QAACqB,wBAAwB3B;;MACjCsC,YAAY;QAACR,cAAcnC;;MAC3B4C,cAAc;IACf,CAAA;IACAP,6BAA6BI,KAAKJ,6BAA6B;MAC9DO,cAAc;IACf,CAAA;EACD,EAAA;AACD;AAlCgBjB;;;AuBjDhB,IAAAoB,uBAA+B;AAC/B,IAAAC,sBAWO;;;ACZP,IAAAC,sBAQO;AAEA,SAASC,wBAAwBC,YAAwB;AAC/D,SAAOA,WACN,kBACA;IACCC,QAAIC,6BAAQ,MAAM;MAAEC,QAAQ;IAAI,CAAA,EAAGC,QAAO;IAC1CC,gBAAYH,6BAAQ,cAAc;MAAEC,QAAQ;IAAI,CAAA;IAChDG,oBAAgBJ,6BAAQ,kBAAkB;MAAEC,QAAQ;IAAI,CAAA;IACxDI,YAAQC,yBAAI,QAAA,EAAUC,QAAQ,CAAA,EAAGL,QAAO;IACxCM,uBAAmBR,6BAAQ,qBAAqB;MAC/CC,QAAQ;IACT,CAAA,EAAGC,QAAO;IACVO,wBAAoBC,6BAAQ,sBAAsB;MACjDC,WAAW;MACXC,OAAO;IACR,CAAA;IACAC,oBAAgBP,yBAAI,gBAAA;IACpBQ,UAAMd,6BAAQ,QAAQ;MAAEC,QAAQ;IAAI,CAAA;EACrC,GACA,CAACc,UAAAA;AACA,WAAO;MACNC,sBAAkBC,gCAAW;QAC5BC,SAAS;UAACH,MAAMhB;;QAChBoB,MAAM;MACP,CAAA;MACAC,iCAA6BC,4BAAO,+BAAA,EAAiCC,GACpEP,MAAMZ,UAAU;MAEjBoB,uBAAmBC,2BAAM,oBAAA,EAAsBF,GAAGP,MAAMX,cAAc;IACvE;EACD,CAAA;AAEF;AA/BgBP;;;ADQT,SAAS4B,gBAAgBC,YAAwB;AACvD,SAAOA,WACN,UACA;IACCC,QAAIC,6BAAQ,MAAM;MAAEC,QAAQ;IAAI,CAAA,EAAGC,QAAO;IAC1CC,oBAAgBH,6BAAQ,kBAAkB;MAAEC,QAAQ;IAAI,CAAA;IACxDG,UAAMJ,6BAAQ,QAAQ;MAAEC,QAAQ;IAAI,CAAA;IACpCI,eAAWC,+BAAU,aAAa;MAAEC,MAAM;MAAQC,KAAK;IAAE,CAAA,EACvDC,QAAQC,8CAAyB,EACjCR,QAAO;IACTS,aAASL,+BAAU,WAAW;MAAEC,MAAM;MAAQC,KAAK;IAAE,CAAA;IACrDI,YAAQC,0BAAK,QAAA,EAAUC,MAAK,EAAwBL,QAAQ,CAAC,CAAA;IAC7DM,aAASC,yBAAI,SAAA,EAAWP,QAAQ,EAAC,EAAGP,QAAO;IAC3CO,aAASQ,6BAAQ,SAAA,EAAWR,QAAQ,KAAA,EAAOP,QAAO;IAClDgB,sBAAkBlB,6BAAQ,oBAAoB;MAAEC,QAAQ;IAAI,CAAA;IAC5DkB,YAAQH,yBAAI,QAAA,EAAUP,QAAQ,CAAA,EAAGP,QAAO;IACxCkB,eAAWJ,yBAAI,WAAA,EAAaP,QAAQ,CAAA,EAAGP,QAAO;IAC9CmB,wBAAoBC,6BAAQ,sBAAsB;MACjDC,WAAW;MACXC,OAAO;IACR,CAAA;IACAC,oBAAgBT,yBAAI,gBAAA;IACpBU,2BAAuB1B,6BAAQ,yBAAyB;MAAEC,QAAQ;IAAI,CAAA;EACvE,GACA,CAAC0B,UAAAA;AACA,WAAO;MACNC,uBAAmBC,2BAAM,sBAAA,EAAwBC,GAChDH,MAAM5B,IACN4B,MAAMvB,IAAI;MAEX2B,cAAUC,gCAAW;QAAEC,SAAS;UAACN,MAAM5B;;QAAKmC,MAAM;MAAY,CAAA;MAC9DC,mBAAeC,4BAAO,iBAAA,EAAmBN,GAAGH,MAAMvB,IAAI;MACtDiC,uBAAmBR,2BAAM,oBAAA,EAAsBC,GAAGH,MAAMxB,cAAc;IACvE;EACD,CAAA;AAEF;AApCgBN;AAsCT,SAASyC,yBAAyBxC,YAAwB;AAChE,QAAMyC,WAAWC,kBAAkB1C,UAAAA;AACnC,QAAM2C,SAAS5C,gBAAgBC,UAAAA;AAC/B,QAAM4C,iBAAiBC,wBAAwB7C,UAAAA;AAC/C,aAAO8C,gCAAUH,QAAQ,CAAC,EAAEI,MAAMC,IAAG,OAAQ;IAC5CC,6BAA6BF,KAAKN,UAAU;MAC3CS,cAAc;IACf,CAAA;IACAN,gBAAgBI,IAAIJ,gBAAgB;MACnC9B,QAAQ;QAAC6B,OAAOvB;;MAChB+B,YAAY;QAACP,eAAe3C;;MAC5BiD,cAAc;IACf,CAAA;IACAE,SAASJ,IAAIK,iBAAiBrD,UAAAA,GAAa;MAC1Cc,QAAQ;QAAC6B,OAAOf;;MAChBuB,YAAY;QAACE,iBAAiBrD,UAAAA,EAAYC;;MAC1CiD,cAAc;IACf,CAAA;IACAI,eAAeP,KAAKN,UAAU;MAC7BS,cAAc;IACf,CAAA;EACD,EAAA;AACD;AAtBgBV;;;AExDhB,IAAAe,sBAKO;AAEA,SAASC,yBAAyBC,YAAwB;AAChE,SAAOA,WACN,mBACA;IACCC,QAAIC,6BAAQ,MAAM;MAAEC,QAAQ;IAAI,CAAA,EAAGC,QAAO;IAC1CC,oBAAgBH,6BAAQ,kBAAkB;MAAEC,QAAQ;IAAI,CAAA;IACxDG,gBAAYJ,6BAAQ,cAAc;MAAEC,QAAQ;IAAI,CAAA,EAAGC,QAAO;IAC1DG,uBAAmBL,6BAAQ,qBAAqB;MAC/CC,QAAQ;IACT,CAAA,EAAGC,QAAO;EACX,GACA,CAACI,UAAAA;AACA,WAAO;MACNC,uBAAmBC,gCAAW;QAC7BC,SAAS;UAACH,MAAMP;;QAChBW,MAAM;MACP,CAAA;MACAC,uBAAmBC,2BAAM,oBAAA,EAAsBC,GAAGP,MAAMH,cAAc;IACvE;EACD,CAAA;AAEF;AArBgBN;;;A1BaT,SAASiB,kBAAkBC,YAAwB;AACzD,SAAOA,WACN,YACA;IACCC,QAAIC,6BAAQ,MAAM;MAAEC,QAAQ;IAAI,CAAA,EAAGC,QAAO;IAC1CC,YAAQH,6BAAQ,UAAU;MAAEC,QAAQ;IAAI,CAAA;IACxCG,yCAAqCJ,6BAAQ,4BAA4B;MACxEC,QAAQ;IACT,CAAA;IACAI,oBAAgBL,6BAAQ,kBAAkB;MAAEC,QAAQ;IAAI,CAAA;IACxDK,eAAWC,+BAAU,aAAa;MAAEC,MAAM;MAAQC,KAAK;IAAE,CAAA,EACvDC,QAAQC,8CAAyB,EACjCT,QAAO;IACTU,iBAAaC,6BAAQ,eAAe;MACnCC,WAAW;MACXC,OAAO;IACR,CAAA,EAAGb,QAAO;IACVc,eAAWhB,6BAAQ,cAAc;MAAEC,QAAQ;IAAI,CAAA;IAC/CgB,UAAMjB,6BAAQ,QAAQ;MAAEC,QAAQ;IAAI,CAAA;IACpCiB,WAAOlB,6BAAQ,SAAS;MAAEC,QAAQ;IAAI,CAAA;IACtCkB,aAASnB,6BAAQ,WAAW;MAAEC,QAAQ;IAAI,CAAA;IAC1CmB,cAAUpB,6BAAQ,YAAY;MAAEC,QAAQ;IAAI,CAAA;IAC5CoB,eAAWrB,6BAAQ,aAAa;MAAEC,QAAQ;IAAI,CAAA,EAAGC,QAAO;IACxDoB,sBAAkBtB,6BAAQ,oBAAoB;MAAEC,QAAQ;IAAI,CAAA;IAC5DsB,oBAAgBvB,6BAAQ,kBAAkB;MAAEC,QAAQ;IAAI,CAAA;IACxDuB,YAAQxB,6BAAQ,UAAU;MAAEC,QAAQ;IAAI,CAAA,EAAGS,QAAQ,OAAA,EAASR,QAAO;IACnEuB,kBAAczB,6BAAQ,gBAAgB;MAAEC,QAAQ;IAAI,CAAA;IACpDyB,uBAAmB1B,6BAAQ,qBAAqB;MAAEC,QAAQ;IAAI,CAAA;IAC9D0B,0BAAsB3B,6BAAQ,wBAAwB;MAAEC,QAAQ;IAAI,CAAA;IACpE2B,YAAQC,0BAAK,QAAA,EAAUC,MAAK,EAAwBpB,QAAQ,CAAC,CAAA;EAC9D,GACA,CAACqB,UAAAA;AACA,WAAO;MACNC,gBAAYC,gCAAW;QAAEC,SAAS;UAACH,MAAMhC;;QAAKoC,MAAM;MAAc,CAAA;MAClEC,yBAAqBC,2BAAM,kCAAA,EAAoCC,GAC9DP,MAAMT,gBAAgB;MAEvBiB,+BAA2BC,4BAAO,6BAAA,EAA+BF,GAChEP,MAAMR,cAAc;MAErBkB,uBAAmBJ,2BAAM,oBAAA,EAAsBC,GAAGP,MAAM1B,cAAc;MACtEqC,iCAA6BL,2BAAM,8BAAA,EAAgCC,GAClEP,MAAM3B,mCAAmC;MAE1CuC,0BAAsBN,2BACrB,yCAAA,EACCC,GAAGP,MAAM5B,QAAQ4B,MAAMP,QAAQO,MAAMV,SAAS;IACjD;EACD,CAAA;AAEF;AAlDgBxB;AAoDT,SAAS+C,2BACf9C,YACA+C,YAAkC,CAAC,GAAC;AAEpC,QAAMC,YAAYjD,kBAAkBC,UAAAA;AACpC,QAAMiD,qBAAqBF,UAAUG,kBAAkBA;AACvD,QAAMC,QAAQF,mBAAmBjD,UAAAA;AACjC,QAAMoD,WAAWC,iBAAiBrD,UAAAA;AAClC,QAAMsD,kBAAkBC,wBAAwBvD,UAAAA;AAChD,QAAMwD,mBAAmBC,yBAAyBzD,UAAAA;AAClD,QAAM0D,UAAUC,gBAAgB3D,UAAAA;AAChC,QAAM4D,gBAAgBC,uBAAuB7D,UAAAA;AAC7C,QAAM8D,0BAA0BC,iCAAiC/D,UAAAA;AAEjE,aAAOgE,gCAAUhB,WAAW,CAAC,EAAEiB,MAAMC,IAAG,OAAQ;IAC/CC,oBAAoBD,IAAIR,SAAS;MAChC5B,QAAQ;QAACkB,UAAUnB;;MACnBuC,YAAY;QAACV,QAAQzD;;MACrBoE,cAAc;IACf,CAAA;IACAC,MAAMJ,IAAIf,OAAO;MAChBrB,QAAQ;QAACkB,UAAU3C;;MACnB+D,YAAY;QAACjB,MAAMlD;;MACnBoE,cAAc;IACf,CAAA;IACAE,cAAcL,IAAIN,eAAe;MAChC9B,QAAQ;QAACkB,UAAUzC;;MACnB6D,YAAY;QAACR,cAAc3D;;MAC3BoE,cAAc;IACf,CAAA;IACAG,aAAaN,IAAIJ,yBAAyB;MACzChC,QAAQ;QAACkB,UAAU1C;;MACnB8D,YAAY;QAACN,wBAAwB7D;;MACrCoE,cAAc;IACf,CAAA;IACAI,SAASP,IAAId,UAAU;MACtBtB,QAAQ;QAACkB,UAAUzB;;MACnB6C,YAAY;QAAChB,SAASnD;;MACtBoE,cAAc;IACf,CAAA;IACAK,YAAYR,IAAIR,SAAS;MACxB5B,QAAQ;QAACkB,UAAUrB;;MACnByC,YAAY;QAACV,QAAQzD;;MACrBoE,cAAc;IACf,CAAA;IACAM,gBAAgBT,IAAIZ,iBAAiB;MACpCxB,QAAQ;QAACkB,UAAUxB;;MACnB4C,YAAY;QAACd,gBAAgBrD;;MAC7BoE,cAAc;IACf,CAAA;IACAO,iBAAiBV,IAAIV,kBAAkB;MACtC1B,QAAQ;QAACkB,UAAUpB;;MACnBwC,YAAY;QAACZ,iBAAiBvD;;MAC9BoE,cAAc;IACf,CAAA;EACD,EAAA;AACD;AAxDgBvB;;;A2BxEhB,IAAA+B,uBAA+B;AAC/B,IAAAC,sBAQO;AAKA,SAASC,kBAAkBC,YAAwB;AACzD,SAAOA,WACN,WACA;IACCC,QAAIC,6BAAQ,MAAM;MAAEC,QAAQ;IAAI,CAAA,EAAGC,QAAO;IAC1CC,YAAQH,6BAAQ,UAAU;MAAEC,QAAQ;IAAI,CAAA,EAAGC,QAAO;IAClDE,8BAA0BJ,6BAAQ,4BAA4B;MAC7DC,QAAQ;IACT,CAAA;IACAI,aAASC,0BAAK,SAAA,EAAWC,MAAK,EAAwBC,QAAQ,CAAC,CAAA;IAC/DC,UAAMA,0BAAK,MAAA,EAAQP,QAAO;IAC1BQ,eAAWC,+BAAU,aAAa;MACjCC,MAAM;MACNC,KAAK;IACN,CAAA,EAAGL,QAAQM,8CAAyB;IACpCC,eAAWJ,+BAAU,aAAa;MACjCC,MAAM;MACNC,KAAK;IACN,CAAA,EAAGL,QAAQM,8CAAyB;IACpCE,eAAWL,+BAAU,aAAa;MACjCC,MAAM;MACNC,KAAK;IACN,CAAA;EACD,GACA,CAACI,SAAS;IACTC,QAAIC,gCAAW;MAAEC,SAAS;QAACH,IAAIlB;;IAAI,CAAA;IACnCsB,oBAAgBC,2BAAM,kBAAA,EAAoBC,GAAGN,IAAId,MAAM;IACvDqB,iCAA6BF,2BAAM,8BAAA,EAAgCC,GAClEN,IAAIb,wBAAwB;EAE9B,EAAA;AAEF;AAhCgBP;AAkCT,SAAS4B,0BACf3B,YACA4B,YAAkC,CAAC,GAAC;AAEpC,QAAMC,UAAU9B,kBAAkBC,UAAAA;AAClC,QAAM8B,qBAAqBF,UAAUG,kBAAkBA;AACvD,QAAMC,OAAOF,mBAAmB9B,UAAAA;AAChC,QAAMiC,0BAA0BC,iCAAiClC,UAAAA;AACjE,aAAOmC,gCAAUN,SAAS,CAAC,EAAEO,IAAG,OAAQ;IACvCJ,MAAMI,IAAIJ,MAAM;MACfK,QAAQ;QAACR,QAAQxB;;MACjBiC,YAAY;QAACN,KAAK/B;;MAClBsC,cAAc;IACf,CAAA;IACAC,wBAAwBJ,IAAIH,yBAAyB;MACpDI,QAAQ;QAACR,QAAQvB;;MACjBgC,YAAY;QAACL,wBAAwBhC;;MACrCsC,cAAc;IACf,CAAA;EACD,EAAA;AACD;AApBgBZ;;;AChDhB,IAAAc,uBAA0B;AAC1B,IAAAC,sBAOO;;;ACRP,IAAAC,sBAOO;AAEA,SAASC,8BAA8BC,YAAwB;AACrE,SAAOA,WACN,wBACA;IACCC,QAAIC,6BAAQ,MAAM;MAAEC,QAAQ;IAAI,CAAA,EAAGC,QAAO,EAAGC,WAAU;IACvDC,oBAAgBJ,6BAAQ,kBAAkB;MAAEC,QAAQ;IAAI,CAAA;IACxDI,UAAML,6BAAQ,QAAQ;MAAEC,QAAQ;IAAI,CAAA,EAAGC,QAAO;IAC9CI,iBAAaC,0BAAK,aAAA;IAClBC,YAAQC,6BAAQ,QAAA,EAAUP,QAAO,EAAGQ,QAAQ,IAAA;IAC5CC,eAAWC,+BAAU,aAAa;MACjCC,MAAM;MACNC,KAAK;IACN,CAAA,EAAGC,WAAU;IACbC,eAAWJ,+BAAU,aAAa;MACjCC,MAAM;MACNC,KAAK;IACN,CAAA,EAAGC,WAAU;IACbE,eAAWL,+BAAU,aAAa;MACjCC,MAAM;MACNC,KAAK;IACN,CAAA;EACD,GACA,CAACI,QAAQ;IACRC,aAASC,2BAAM,UAAA,EAAYC,GAAGH,GAAGb,IAAI;IACrCiB,uBAAmBF,2BAAM,oBAAA,EAAsBC,GAAGH,GAAGd,cAAc;EACpE,EAAA;AAEF;AA3BgBP;;;ACThB,IAAA0B,sBAMO;AAEA,SAASC,sCACfC,YAAwB;AAExB,SAAOA,WAAW,+BAA+B;IAChDC,QAAIC,6BAAQ,MAAM;MAAEC,QAAQ;IAAI,CAAA,EAAGC,QAAO,EAAGC,WAAU;IACvDC,oBAAgBJ,6BAAQ,kBAAkB;MAAEC,QAAQ;IAAI,CAAA;IACxDI,UAAML,6BAAQ,QAAQ;MAAEC,QAAQ;IAAI,CAAA,EAAGC,QAAO;IAC9CI,iBAAaC,0BAAK,aAAA;IAClBC,YAAQC,6BAAQ,QAAA,EAAUP,QAAO,EAAGQ,QAAQ,IAAA;IAC5CC,eAAWC,+BAAU,aAAa;MACjCC,MAAM;MACNC,KAAK;IACN,CAAA,EAAGC,WAAU;IACbC,eAAWJ,+BAAU,aAAa;MACjCC,MAAM;MACNC,KAAK;IACN,CAAA;IACAG,eAAWL,+BAAU,aAAa;MACjCC,MAAM;MACNC,KAAK;IACN,CAAA;EACD,CAAA;AACD;AAtBgBjB;;;AFOT,SAASqB,kCAAkCC,YAAwB;AACzE,SAAOA,WACN,2BACA;IACCC,QAAIC,6BAAQ,MAAM;MAAEC,QAAQ;IAAI,CAAA,EAAGC,QAAO,EAAGC,WAAU;IACvDC,oBAAgBJ,6BAAQ,kBAAkB;MAAEC,QAAQ;IAAI,CAAA;IACxDI,YAAQL,6BAAQ,UAAU;MAAEC,QAAQ;IAAI,CAAA,EAAGC,QAAO;IAClDI,8BAA0BN,6BAAQ,4BAA4B;MAC7DC,QAAQ;IACT,CAAA;IACAM,eAAWP,6BAAQ,aAAa;MAAEC,QAAQ;IAAI,CAAA,EAAGC,QAAO;IACxDM,qBAAiBC,+BAAU,mBAAmB;MAAC;MAAO;MAAU;KAAO,EACrEP,QAAO,EACPQ,QAAQ,QAAA;IACVC,sBAAkBX,6BAAQ,oBAAoB;MAAEC,QAAQ;IAAI,CAAA,EAAGC,QAAO;IACtEU,YAAQC,6BAAQ,QAAA,EAAUX,QAAO,EAAGQ,QAAQ,IAAA;IAC5CI,eAAWC,+BAAU,aAAa;MACjCC,MAAM;MACNC,KAAK;IACN,CAAA,EAAGC,WAAU;IACbC,aAASJ,+BAAU,WAAW;MAC7BC,MAAM;MACNC,KAAK;IACN,CAAA;IACAG,cAAUL,+BAAU,YAAY;MAC/BC,MAAM;MACNC,KAAK;IACN,CAAA;IACAI,eAAWN,+BAAU,aAAa;MACjCC,MAAM;MACNC,KAAK;IACN,CAAA,EAAGC,WAAU;IACbI,eAAWP,+BAAU,aAAa;MACjCC,MAAM;MACNC,KAAK;IACN,CAAA;EACD,GACA,CAACM,QAAQ;IACRC,eAAWC,2BAAM,YAAA,EAAcC,GAAGH,GAAGlB,MAAM;IAC3CsB,uBAAmBF,2BAAM,sBAAA,EAAwBC,GAAGH,GAAGZ,gBAAgB;IACvEiB,kBAAcH,2BAAM,eAAA,EAAiBC,GAAGH,GAAGhB,SAAS;IACpDsB,iCAA6BJ,2BAAM,8BAAA,EAAgCC,GAClEH,GAAGjB,wBAAwB;EAE7B,EAAA;AAEF;AA9CgBT;AAgDT,SAASiC,2CACfhC,YACAiC,YAAkC,CAAC,GAAC;AAEpC,QAAMC,2BAA2BnC,kCAAkCC,UAAAA;AACnE,QAAMmC,qBAAqBF,UAAUG,kBAAkBA;AACvD,QAAMC,QAAQF,mBAAmBnC,UAAAA;AACjC,QAAMsC,uBAAuBC,8BAA8BvC,UAAAA;AAC3D,QAAMwC,+BACLC,sCAAsCzC,UAAAA;AACvC,QAAM0C,0BAA0BC,iCAAiC3C,UAAAA;AACjE,aAAO4C,gCAAUV,0BAA0B,CAAC,EAAEW,IAAG,OAAQ;IACxDC,MAAMD,IAAIR,OAAO;MAChBU,QAAQ;QAACb,yBAAyB3B;;MAClCyC,YAAY;QAACX,MAAMpC;;MACnBgD,cAAc;IACf,CAAA;IACAC,wBAAwBL,IAAIH,yBAAyB;MACpDK,QAAQ;QAACb,yBAAyB1B;;MAClCwC,YAAY;QAACN,wBAAwBzC;;MACrCgD,cAAc;IACf,CAAA;IACAE,SAASN,IAAIP,sBAAsB;MAClCS,QAAQ;QAACb,yBAAyBzB;;MAClCuC,YAAY;QAACV,qBAAqBrC;;MAClCgD,cAAc;IACf,CAAA;IACAG,gBAAgBP,IAAIL,8BAA8B;MACjDO,QAAQ;QAACb,yBAAyBrB;;MAClCmC,YAAY;QAACR,6BAA6BvC;;MAC1CgD,cAAc;IACf,CAAA;EACD,EAAA;AACD;AAjCgBjB;;;AG/DhB,IAAAqB,uBAA+B;AAC/B,IAAAC,sBAOO;AAIA,SAASC,kBAAkBC,YAAwB;AACzD,SAAOA,WACN,WACA;IACCC,QAAIC,6BAAQ,MAAM;MAAEC,QAAQ;IAAI,CAAA,EAAGC,QAAO,EAAGC,WAAU;IACvDC,YAAQJ,6BAAQ,UAAU;MAAEC,QAAQ;IAAI,CAAA,EAAGC,QAAO;IAClDG,UAAML,6BAAQ,QAAQ;MAAEC,QAAQ;IAAI,CAAA,EAAGC,QAAO;IAC9CI,YAAQC,0BAAK,QAAA,EAAUC,MAAK,EAAwBC,QAAQ,CAAC,CAAA;IAC7DC,eAAWC,+BAAU,aAAa;MACjCC,MAAM;MACNC,KAAK;IACN,CAAA,EAAGJ,QAAQK,8CAAyB;IACpCC,eAAWJ,+BAAU,aAAa;MACjCC,MAAM;MACNC,KAAK;IACN,CAAA,EAAGJ,QAAQK,8CAAyB;EACrC,GACA,CAACE,aAAa;IACbC,eAAWC,2BAAM,YAAA,EAAcC,GAAGH,QAAQZ,MAAM;IAChDgB,oBAAgBC,iCAAY,sBAAA,EAAwBF,GACnDH,QAAQZ,QACRY,QAAQX,IAAI;EAEd,EAAA;AAEF;AAzBgBR;AA2BT,SAASyB,2BACfxB,YACAyB,YAAkC,CAAC,GAAC;AAEpC,QAAMC,WAAW3B,kBAAkBC,UAAAA;AACnC,QAAM2B,qBAAqBF,UAAUG,kBAAkBA;AACvD,QAAMC,QAAQF,mBAAmB3B,UAAAA;AACjC,aAAO8B,gCAAUJ,UAAU,CAAC,EAAEK,IAAG,OAAQ;IACxCC,MAAMD,IAAIF,OAAO;MAChBrB,QAAQ;QAACkB,SAASpB;;MAClB2B,YAAY;QAACJ,MAAM5B;;MACnBiC,cAAc;IACf,CAAA;EACD,EAAA;AACD;AAdgBV;;;ACvChB,IAAAW,uBAA0B;AAC1B,IAAAC,sBAOO;;;ACRP,IAAAC,uBAA0B;AAC1B,IAAAC,sBAOO;AAIA,SAASC,qBAAqBC,YAAwB;AAC5D,SAAOA,WACN,cACA;IACCC,QAAIC,6BAAQ,MAAM;MAAEC,QAAQ;IAAI,CAAA,EAAGC,QAAO,EAAGC,WAAU;IACvDC,UAAMJ,6BAAQ,QAAQ;MAAEC,QAAQ;IAAI,CAAA,EAAGC,QAAO,EAAGG,OAAM;IACvDC,iBAAaC,0BAAK,aAAA;IAClBC,YAAQC,6BAAQ,QAAA,EAAUP,QAAO,EAAGQ,QAAQ,IAAA;IAC5CC,eAAWC,+BAAU,aAAa;MACjCC,MAAM;MACNC,KAAK;IACN,CAAA,EAAGC,WAAU;IACbC,eAAWJ,+BAAU,aAAa;MACjCC,MAAM;MACNC,KAAK;IACN,CAAA,EAAGC,WAAU;IACbE,eAAWL,+BAAU,aAAa;MACjCC,MAAM;MACNC,KAAK;IACN,CAAA;EACD,GACA,CAACI,gBAAgB;IAChBC,aAASC,2BAAM,UAAA,EAAYC,GAAGH,WAAWd,IAAI;EAC9C,EAAA;AAEF;AAzBgBP;AA2BT,SAASyB,8BAA8BxB,YAAwB;AACrE,aAAOyB,gCAAU1B,qBAAqBC,UAAAA,GAAa,CAAC,EAAE0B,KAAI,OAAQ,CAAC,EAAA;AACpE;AAFgBF;;;AD1BT,SAASG,yBAAyBC,YAAwB;AAChE,SAAOA,WACN,kBACA;IACCC,YAAQC,6BAAQ,UAAU;MAAEC,QAAQ;IAAI,CAAA,EAAGC,QAAO;IAClDC,oBAAgBH,6BAAQ,kBAAkB;MAAEC,QAAQ;IAAI,CAAA;IACxDG,kBAAcJ,6BAAQ,gBAAgB;MAAEC,QAAQ;IAAI,CAAA,EAAGC,QAAO;IAC9DG,YAAQC,6BAAQ,QAAA,EAAUJ,QAAO,EAAGK,QAAQ,IAAA;IAC5CC,eAAWC,+BAAU,aAAa;MACjCC,MAAM;MACNC,KAAK;IACN,CAAA,EAAGC,WAAU;IACbC,eAAWJ,+BAAU,aAAa;MACjCC,MAAM;MACNC,KAAK;IACN,CAAA,EAAGC,WAAU;IACbE,eAAWL,+BAAU,aAAa;MACjCC,MAAM;MACNC,KAAK;IACN,CAAA;EACD,GACA,CAACI,QAAQ;IACRC,QAAIC,gCAAW;MAAEC,SAAS;QAACH,GAAGhB;QAAQgB,GAAGX;;IAAc,CAAA;IACvDe,eAAWC,2BAAM,YAAA,EAAcC,GAAGN,GAAGhB,MAAM;IAC3CuB,qBAAiBF,2BAAM,kBAAA,EAAoBC,GAAGN,GAAGX,YAAY;IAC7DmB,uBAAmBH,2BAAM,oBAAA,EAAsBC,GAAGN,GAAGZ,cAAc;EACpE,EAAA;AAEF;AA5BgBN;AA8BT,SAAS2B,kCACf1B,YACA2B,YAAkC,CAAC,GAAC;AAEpC,QAAMC,kBAAkB7B,yBAAyBC,UAAAA;AACjD,QAAM6B,qBAAqBF,UAAUG,kBAAkBA;AACvD,QAAMC,QAAQF,mBAAmB7B,UAAAA;AACjC,QAAMgC,cAAcC,qBAAqBjC,UAAAA;AACzC,aAAOkC,gCAAUN,iBAAiB,CAAC,EAAEO,IAAG,OAAQ;IAC/CC,MAAMD,IAAIJ,OAAO;MAChBM,QAAQ;QAACT,gBAAgB3B;;MACzBqC,YAAY;QAACP,MAAMQ;;MACnBC,cAAc;IACf,CAAA;IACAC,YAAYN,IAAIH,aAAa;MAC5BK,QAAQ;QAACT,gBAAgBtB;;MACzBgC,YAAY;QAACN,YAAYO;;MACzBC,cAAc;IACf,CAAA;EACD,EAAA;AACD;AApBgBd;;;AE3ChB,IAAAgB,uBAA+B;AAC/B,IAAAC,sBAQO;AAIA,SAASC,mBAAmBC,YAAwB;AAC1D,SAAOA,WACN,aACA;IACCC,QAAIC,6BAAQ,MAAM;MAAEC,QAAQ;IAAI,CAAA,EAAGC,QAAO;IAC1CC,oBAAgBH,6BAAQ,kBAAkB;MAAEC,QAAQ;IAAI,CAAA;IACxDG,UAAMJ,6BAAQ,QAAQ;MAAEC,QAAQ;IAAI,CAAA,EAAGI,QAAQ,QAAA,EAAUH,QAAO;IAChEI,YAAQN,6BAAQ,UAAU;MAAEC,QAAQ;IAAI,CAAA,EAAGC,QAAO;IAClDK,YAAQC,0BAAK,QAAA,EAAUC,MAAK,EAAwBJ,QAAQ,CAAC,CAAA;IAC7DK,eAAWC,+BAAU,aAAa;MACjCC,MAAM;MACNC,KAAK;IACN,CAAA,EAAGR,QAAQS,8CAAyB;IACpCC,eAAWJ,+BAAU,aAAa;MACjCC,MAAM;MACNC,KAAK;IACN,CAAA,EAAGR,QAAQS,8CAAyB;IACpCE,eAAWL,+BAAU,aAAa;MACjCC,MAAM;MACNC,KAAK;IACN,CAAA;EACD,GACA,CAACI,SAAS;IACTC,QAAIC,gCAAW;MAAEC,SAAS;QAACH,IAAIlB;;IAAI,CAAA;IACnCsB,oBAAgBC,2BAAM,kBAAA,EAAoBC,GAAGN,IAAIX,MAAM;IACvDkB,uBAAmBF,2BAAM,oBAAA,EAAsBC,GAAGN,IAAId,cAAc;EACrE,EAAA;AAEF;AA5BgBN;AA8BT,SAAS4B,4BACf3B,YACA4B,YAAkC,CAAC,GAAC;AAEpC,QAAMC,YAAY9B,mBAAmBC,UAAAA;AACrC,QAAM8B,qBAAqBF,UAAUG,kBAAkBA;AACvD,QAAMC,OAAOF,mBAAmB9B,UAAAA;AAChC,aAAOiC,gCAAUJ,WAAW,CAAC,EAAEK,IAAG,OAAQ;IACzCF,MAAME,IAAIF,MAAM;MACfvB,QAAQ;QAACoB,UAAUrB;;MACnB2B,YAAY;QAACH,KAAK/B;;MAClBmC,cAAc;IACf,CAAA;EACD,EAAA;AACD;AAdgBT;;;AnCtBT,SAASU,eAAeC,YAAwB;AACtD,SAAOA,WACN,QACA;IACCC,QAAIC,6BAAQ,MAAM;MAAEC,QAAQ;IAAI,CAAA,EAAGC,QAAO,EAAGC,WAAU;IACvDC,UAAMJ,6BAAQ,QAAQ;MAAEC,QAAQ;IAAI,CAAA;IACpCI,UAAML,6BAAQ,QAAQ;MAAEC,QAAQ;IAAI,CAAA,EAAGC,QAAO,EAAGI,QAAQ,MAAA;IACzDC,WAAOP,6BAAQ,SAAS;MAAEC,QAAQ;IAAI,CAAA,EAAGC,QAAO,EAAGM,OAAM;IACzDC,YAAQC,0BAAK,QAAA,EAAUC,MAAK,EAAwBL,QAAQ,CAAC,CAAA;IAC7DM,mBAAeC,+BAAU,iBAAiB;MACzCC,MAAM;MACNC,KAAK;IACN,CAAA;IACAC,WAAOhB,6BAAQ,SAAS;MAAEC,QAAQ;IAAI,CAAA;IACtCgB,eAAWJ,+BAAU,aAAa;MACjCC,MAAM;MACNC,KAAK;IACN,CAAA,EAAGT,QAAQY,8CAAyB;EACrC,GACA,CAACC,UAAU;IACVC,cAAUC,2BAAM,WAAA,EAAaC,GAAGH,KAAKZ,KAAK;IAC1CgB,aAASF,2BAAM,UAAA,EAAYC,GAAGH,KAAKd,IAAI;IACvCmB,kBAAcH,2BAAM,gBAAA,EAAkBC,GAAGH,KAAKF,SAAS;EACxD,EAAA;AAEF;AAzBgBpB;AAmCT,SAAS4B,wBAId3B,YAA0B4B,YAA0C,CAAC,GAAC;AACvE,QAAMC,qBAAsBD,UAAU7B,kBAAkBA;AAGxD,QAAM+B,QAAQD,mBAAmB7B,UAAAA;AACjC,QAAM+B,WAAWC,kBAAkBhC,UAAAA;AACnC,QAAMiC,WAAWC,kBAAkBlC,UAAAA;AACnC,QAAMmC,2BAA2BC,kCAAkCpC,UAAAA;AACnE,QAAMqC,YAAYC,mBAAmBtC,UAAAA;AACrC,QAAMuC,kBAAkBC,yBAAyBxC,UAAAA;AACjD,QAAMyC,uBAAuBC,8BAA8B1C,UAAAA;AAC3D,QAAM2C,kBAAkBC,yBAAyB5C,UAAAA;AACjD,QAAM6C,YAAYC,kBAAkB9C,UAAAA;AACpC,QAAM+C,WAAWC,kBAAkBhD,UAAAA;AACnC,QAAMiD,YAAYC,mBAAmBlD,UAAAA;AACrC,QAAMmD,0BAA0BC,iCAAiCpD,UAAAA;AACjE,aAAOqD,gCAAUvB,OAAO,CAAC,EAAEwB,MAAMC,IAAG,OAAQ;IAC3CxB,UAAUuB,KAAKvB,UAAU;MACxByB,cAAc;IACf,CAAA;IACAvB,UAAUqB,KAAKrB,UAAU;MACxBuB,cAAc;IACf,CAAA;IACAX,WAAWS,KAAKT,WAAW;MAC1BW,cAAc;IACf,CAAA;IACArB,0BAA0BmB,KAAKnB,0BAA0B;MACxDqB,cAAc;IACf,CAAA;IACAC,OAAOH,KAAKjB,WAAW;MACtBmB,cAAc;IACf,CAAA;IACAjB,iBAAiBe,KAAKf,iBAAiB;MACtCiB,cAAc;IACf,CAAA;IACAE,eAAeJ,KAAKb,sBAAsB;MACzCe,cAAc;IACf,CAAA;IACAG,gBAAgBL,KAAKX,iBAAiB;MACrCa,cAAc;IACf,CAAA;IACAT,UAAUO,KAAKP,UAAU;MACxBS,cAAc;IACf,CAAA;IACAI,OAAON,KAAKL,WAAW;MACtBO,cAAc;IACf,CAAA;IACAL,yBAAyBG,KAAKH,yBAAyB;MACtDK,cAAc;IACf,CAAA;EACD,EAAA;AACD;AAvDgB7B;;;AD1CT,SAASkC,kBAAkBC,YAAwB;AACzD,SAAOA,WACN,WACA;IACCC,YAAQC,6BAAQ,UAAU;MAAEC,QAAQ;IAAI,CAAA,EAAGC,QAAO;IAClDC,UAAMH,6BAAQ,QAAQ;MAAEC,QAAQ;IAAI,CAAA,EAClCG,MAAK,EACLF,QAAO;IACTG,cAAUL,6BAAQ,YAAY;MAAEC,QAAQ;IAAI,CAAA,EAAGC,QAAO;IACtDI,uBAAmBN,6BAAQ,qBAAqB;MAC/CC,QAAQ;IACT,CAAA,EAAGC,QAAO;IACVK,mBAAeC,0BAAK,eAAA;IACpBC,kBAAcD,0BAAK,cAAA;IACnBE,iBAAaF,0BAAK,aAAA;IAClBG,wBAAoBH,0BAAK,oBAAA;IACzBI,gBAAYC,yBAAI,YAAA;IAChBC,gBAAYd,6BAAQ,cAAc;MAAEC,QAAQ;IAAI,CAAA;IAChDc,WAAOf,6BAAQ,SAAS;MAAEC,QAAQ;IAAI,CAAA;IACtCe,cAAUR,0BAAK,UAAA;IACfS,mBAAejB,6BAAQ,iBAAiB;MAAEC,QAAQ;IAAI,CAAA;IACtDiB,8BAA0BL,yBAAI,0BAAA;EAC/B,GACA,CAACM,aAAa;IACbC,QAAIC,gCAAW;MACdC,SAAS;QAACH,QAAQd;QAAUc,QAAQb;;IACrC,CAAA;IACAiB,eAAWC,2BAAM,YAAA,EAAcC,GAAGN,QAAQpB,MAAM;EACjD,EAAA;AAEF;AA9BgBF;AAgCT,SAAS6B,2BACf5B,YACA6B,YAAkC,CAAC,GAAC;AAEpC,QAAMC,WAAW/B,kBAAkBC,UAAAA;AACnC,QAAM+B,qBAAqBF,UAAUG,kBAAkBA;AACvD,QAAMC,QAAQF,mBAAmB/B,UAAAA;AACjC,aAAOkC,gCAAUJ,UAAU,CAAC,EAAEK,IAAG,OAAQ;IACxCC,MAAMD,IAAIF,OAAO;MAChBI,QAAQ;QAACP,SAAS7B;;MAClBqC,YAAY;QAACL,MAAMM;;MACnBC,cAAc;IACf,CAAA;EACD,EAAA;AACD;AAdgBZ;;;AqC9ChB,IAAAa,uBAA+B;AAC/B,IAAAC,sBAMO;AAIA,SAASC,2BAA2BC,YAAwB;AAClE,SAAOA,WACN,qBACA;IACCC,WAAOC,6BAAQ,SAAS;MAAEC,QAAQ;IAAI,CAAA,EAAGC,QAAO;IAChDC,YAAQH,6BAAQ,UAAU;MAAEC,QAAQ;IAAI,CAAA,EAAGC,QAAO;IAClDE,8BAA0BJ,6BAAQ,4BAA4B;MAC7DC,QAAQ;IACT,CAAA;IACAI,eAAWC,+BAAU,aAAa;MACjCC,MAAM;MACNC,KAAK;IACN,CAAA,EAAGC,QAAQC,8CAAyB;EACrC,GACA,CAACC,SAAS;IACTC,QAAIC,gCAAW;MAAEC,SAAS;QAACH,IAAIZ;;IAAO,CAAA;IACtCgB,eAAWC,2BAAM,YAAA,EAAcC,GAAGN,IAAIR,MAAM;EAC7C,EAAA;AAEF;AAnBgBN;AAqBT,SAASqB,oCACfpB,YACAqB,YAAkC,CAAC,GAAC;AAEpC,QAAMC,oBAAoBvB,2BAA2BC,UAAAA;AACrD,QAAMuB,qBAAqBF,UAAUG,kBAAkBA;AACvD,QAAMC,OAAOF,mBAAmBvB,UAAAA;AAChC,aAAO0B,gCAAUJ,mBAAmB,CAAC,EAAEK,IAAG,OAAQ;IACjDC,YAAYD,IAAIF,MAAM;MACrBI,QAAQ;QAACP,kBAAkBjB;;MAC3ByB,YAAY;QAACL,KAAKM;;MAClBC,cAAc;IACf,CAAA;EACD,EAAA;AACD;AAdgBZ;;;AChChB,IAAAa,uBAA+B;AAC/B,IAAAC,sBAMO;AAIA,SAASC,4BAA4BC,YAAwB;AACnE,SAAOA,WACN,sBACA;IACCC,sBAAkBC,6BAAQ,oBAAoB;MAAEC,QAAQ;IAAI,CAAA;IAC5DC,gBAAYF,6BAAQ,cAAc;MAAEC,QAAQ;IAAI,CAAA,EAAGE,QAAO;IAC1DC,cAAUC,0BAAK,UAAA,EAAYF,QAAO;IAClCG,aAASC,+BAAU,WAAW;MAC7BC,MAAM;MACNC,KAAK;IACN,CAAA,EAAGN,QAAO;IACVO,eAAWH,+BAAU,aAAa;MACjCC,MAAM;MACNC,KAAK;IACN,CAAA,EAAGE,QAAQC,8CAAyB;IACpCC,gBAAYN,+BAAU,cAAc;MACnCC,MAAM;MACNC,KAAK;IACN,CAAA;EACD,GACA,CAACK,SAAS;IACTC,QAAIC,gCAAW;MAAEC,SAAS;QAACH,IAAIZ;;IAAY,CAAA;EAC5C,EAAA;AAEF;AAxBgBL;AA0BT,SAASqB,qCACfpB,YACAqB,YAAkC,CAAC,GAAC;AAEpC,QAAMC,qBAAqBvB,4BAA4BC,UAAAA;AACvD,QAAMuB,qBAAqBF,UAAUG,kBAAkBA;AACvD,QAAMC,OAAOF,mBAAmBvB,UAAAA;AAChC,aAAO0B,gCAAUJ,oBAAoB,CAAC,EAAEK,IAAG,OAAQ;IAClDC,YAAYD,IAAIF,MAAM;MACrBI,QAAQ;QAACP,mBAAmBrB;;MAC5B6B,YAAY;QAACL,KAAKM;;MAClBC,cAAc;IACf,CAAA;EACD,EAAA;AACD;AAdgBZ;;;ACrChB,IAAAa,uBAA+B;AAC/B,IAAAC,sBAQO;AAoBA,SAASC,6BAA6BC,YAAwB;AACpE,SAAOA,WACN,uBACA;IACCC,QAAIC,6BAAQ,MAAM;MAAEC,QAAQ;IAAI,CAAA,EAAGC,QAAO;IAC1CC,YAAQH,6BAAQ,UAAU;MAAEC,QAAQ;IAAI,CAAA,EAAGC,QAAO;IAClDE,UAAMJ,6BAAQ,QAAQ;MAAEC,QAAQ;IAAI,CAAA,EAAGC,QAAO;IAC9CG,cAAUL,6BAAQ,YAAY;MAAEC,QAAQ;IAAG,CAAA,EAAGC,QAAO;IACrDI,iBAAaN,6BAAQ,eAAe;MAAEC,QAAQ;IAAI,CAAA,EAAGC,QAAO;IAC5DK,eAAWP,6BAAQ,aAAa;MAAEC,QAAQ;IAAI,CAAA,EAAGC,QAAO;IACxDM,YAAQC,0BAAK,QAAA,EAAUC,MAAK,EAAaR,QAAO;IAChDS,eAAWC,+BAAU,aAAa;MACjCC,MAAM;MACNC,KAAK;IACN,CAAA;IACAC,gBAAYH,+BAAU,cAAc;MACnCC,MAAM;MACNC,KAAK;IACN,CAAA;IACAE,eAAWJ,+BAAU,aAAa;MACjCC,MAAM;MACNC,KAAK;IACN,CAAA;IACAG,eAAWL,+BAAU,aAAa;MACjCC,MAAM;MACNC,KAAK;IACN,CAAA,EAAGI,QAAQC,8CAAyB;IACpCC,eAAWR,+BAAU,aAAa;MACjCC,MAAM;MACNC,KAAK;IACN,CAAA,EACEI,QAAQC,8CAAyB,EACjCE,UAAU,MAAM,oBAAIC,KAAAA,CAAAA;EACvB,GACA,CAACC,SAAS;IACTC,QAAIC,gCAAW;MAAEC,SAAS;QAACH,IAAIxB;;IAAI,CAAA;IACnC4B,iBAAaC,iCAAY,cAAA,EAAgBC,GAAGN,IAAIlB,QAAQ;IACxDyB,kBAAcF,iCAAY,eAAA,EAAiBC,GAAGN,IAAIhB,SAAS;IAC3DwB,eAAWC,2BAAM,YAAA,EAAcH,GAAGN,IAAIpB,MAAM;IAC5C8B,kBAAcD,2BAAM,eAAA,EAAiBH,GAAGN,IAAIZ,SAAS;IACrDuB,kBAAcF,2BAAM,eAAA,EAAiBH,GAAGN,IAAIP,SAAS;EACtD,EAAA;AAEF;AA3CgBnB;AA+DT,SAASsC,sCACfrC,YACAsC,YAAkC,CAAC,GAAC;AAEpC,QAAMC,sBAAsBxC,6BAA6BC,UAAAA;AACzD,QAAMwC,qBAAqBF,UAAUG,kBAAkBA;AACvD,QAAMC,OAAOF,mBAAmBxC,UAAAA;AAChC,aAAO2C,gCAAUJ,qBAAqB,CAAC,EAAEK,IAAG,OAAQ;IACnDF,MAAME,IAAIF,MAAM;MACfG,QAAQ;QAACN,oBAAoBlC;;MAC7ByC,YAAY;QAACJ,KAAKzC;;MAClB8C,cAAc;IACf,CAAA;EACD,EAAA;AACD;AAdgBV;;;AC5FhB,IAAAW,uBAA0B;AAC1B,IAAAC,sBAOO;AAKA,SAASC,yBAAyBC,YAAwB;AAChE,SAAOA,WACN,kBACA;IACCC,YAAQC,6BAAQ,UAAU;MAAEC,QAAQ;IAAI,CAAA,EAAGC,QAAO;IAClDC,kBAAcH,6BAAQ,gBAAgB;MAAEC,QAAQ;IAAI,CAAA,EAAGC,QAAO;IAC9DE,YAAQC,6BAAQ,QAAA,EAAUH,QAAO,EAAGI,QAAQ,IAAA;IAC5CC,eAAWC,+BAAU,aAAa;MACjCC,MAAM;MACNC,KAAK;IACN,CAAA,EAAGC,WAAU;IACbC,eAAWJ,+BAAU,aAAa;MACjCC,MAAM;MACNC,KAAK;IACN,CAAA,EAAGC,WAAU;IACbE,eAAWL,+BAAU,aAAa;MACjCC,MAAM;MACNC,KAAK;IACN,CAAA;EACD,GACA,CAACI,QAAQ;IACRC,QAAIC,gCAAW;MAAEC,SAAS;QAACH,GAAGf;QAAQe,GAAGX;;IAAc,CAAA;IACvDe,eAAWC,2BAAM,YAAA,EAAcC,GAAGN,GAAGf,MAAM;IAC3CsB,qBAAiBF,2BAAM,kBAAA,EAAoBC,GAAGN,GAAGX,YAAY;EAC9D,EAAA;AAEF;AA1BgBN;AA4BT,SAASyB,kCAAkCxB,YAAwB;AACzE,QAAMyB,cAAcC,qBAAqB1B,UAAAA;AACzC,QAAM2B,QAAQC,eAAe5B,UAAAA;AAC7B,QAAM6B,kBAAkB9B,yBAAyBC,UAAAA;AACjD,aAAO8B,gCAAUD,iBAAiB,CAAC,EAAEE,IAAG,OAAQ;IAC/CC,MAAMD,IAAIJ,OAAO;MAChBM,QAAQ;QAACJ,gBAAgB5B;;MACzBiC,YAAY;QAACP,MAAMQ;;MACnBC,cAAc;IACf,CAAA;IACAC,YAAYN,IAAIN,aAAa;MAC5BQ,QAAQ;QAACJ,gBAAgBxB;;MACzB6B,YAAY;QAACT,YAAYU;;MACzBC,cAAc;IACf,CAAA;EACD,EAAA;AACD;AAhBgBZ;;;ACzChB,IAAAc,uBAA0B;AAC1B,IAAAC,sBAAwD;AAIjD,SAASC,kBAAkBC,YAAwB;AACzD,SAAOA,WACN,WACA;IACCC,kBAAcC,6BAAQ,gBAAgB;MAAEC,QAAQ;IAAI,CAAA,EAClDC,QAAO,EACPC,WAAU;IACZC,YAAQJ,6BAAQ,UAAU;MAAEC,QAAQ;IAAI,CAAA,EAAGC,QAAO;IAClDG,aAASC,+BAAU,WAAW;MAAEC,MAAM;IAAO,CAAA,EAAGL,QAAO;EACxD,GACA,CAACM,aAAa;IACbC,eAAWC,2BAAM,YAAA,EAAcC,GAAGH,QAAQJ,MAAM;EACjD,EAAA;AAEF;AAdgBP;AAgBT,SAASe,0BACfd,YACAe,YAAkC,CAAC,GAAC;AAEpC,QAAMC,WAAWjB,kBAAkBC,UAAAA;AACnC,QAAMiB,qBAAqBF,UAAUG,kBAAkBA;AACvD,QAAMC,QAAQF,mBAAmBjB,UAAAA;AACjC,aAAOoB,gCAAUJ,UAAU,CAAC,EAAEK,IAAG,OAAQ;IACxCC,MAAMD,IAAIF,OAAO;MAChBI,QAAQ;QAACP,SAASV;;MAClBkB,YAAY;QAACL,MAAMM;;MACnBC,cAAc;IACf,CAAA;EACD,EAAA;AACD;AAdgBZ;;;ACrBhB,IAAAa,sBAKO;AAEA,SAASC,4BAA4BC,YAAwB;AACnE,SAAOA,WACN,qBACA;IACCC,gBAAYC,6BAAQ,cAAc;MAAEC,QAAQ;IAAI,CAAA,EAAGC,QAAO;IAC1DC,WAAOH,6BAAQ,SAAS;MAAEC,QAAQ;IAAI,CAAA,EAAGC,QAAO;IAChDE,aAASC,+BAAU,WAAW;MAAEC,MAAM;IAAO,CAAA,EAAGJ,QAAO;IACvDK,eAAWF,+BAAU,aAAa;MACjCC,MAAM;MACNE,KAAK;IACN,CAAA,EAAGC,WAAU;EACd,GACA,CAACC,QAAQ;IACRC,QAAIC,gCAAW;MAAEC,SAAS;QAACH,GAAGX;QAAYW,GAAGP;;IAAO,CAAA;EACrD,EAAA;AAEF;AAhBgBN;;;ACPhB,IAAAiB,uBAA+B;AAC/B,IAAAC,sBAQO;AASA,SAASC,wBAAwBC,YAAwB;AAC/D,SAAOA,WACN,kBACA;IACCC,QAAIC,6BAAQ,MAAM;MAAEC,QAAQ;IAAI,CAAA,EAAGC,QAAO;IAC1CC,uBAAmBH,6BAAQ,qBAAqB;MAC/CC,QAAQ;IACT,CAAA,EAAGC,QAAO;IACVE,gBAAYJ,6BAAQ,cAAc;MAAEC,QAAQ;IAAI,CAAA,EAAGC,QAAO;IAC1DG,aAASC,0BAAK,SAAA,EAAWJ,QAAO;IAChCK,eAAWC,+BAAU,aAAa;MAAEC,MAAM;MAAQC,KAAK;IAAE,CAAA,EACvDC,QAAQC,8CAAyB,EACjCV,QAAO;EACV,GACA,CAACW,UAAAA;AACA,WAAO;MACNC,sBAAkBC,gCAAW;QAC5BC,SAAS;UAACH,MAAMd;;QAChBkB,MAAM;MACP,CAAA;MACAC,iCAA6BC,4BAAO,+BAAA,EAAiCC,GACpEP,MAAMT,UAAU;MAEjBiB,0BAAsBC,2BAAM,uBAAA,EAAyBF,GACpDP,MAAMV,iBAAiB;MAExBoB,kBAAcD,2BAAM,eAAA,EAAiBF,GAAGP,MAAMN,SAAS;IACxD;EACD,CAAA;AAEF;AA9BgBV;AAgCT,SAAS2B,iCAAiC1B,YAAwB;AACxE,QAAM2B,iBAAiB5B,wBAAwBC,UAAAA;AAC/C,QAAM4B,kBAAkBC,yBAAyB7B,UAAAA;AAEjD,aAAO8B,gCAAUH,gBAAgB,CAAC,EAAEI,IAAG,OAAQ;IAC9CH,iBAAiBG,IAAIH,iBAAiB;MACrCI,QAAQ;QAACL,eAAetB;;MACxB4B,YAAY;QAACL,gBAAgB3B;;MAC7BiC,cAAc;IACf,CAAA;EACD,EAAA;AACD;AAXgBR;;;AClDhB,IAAAS,uBAA+B;AAC/B,IAAAC,sBAOO;AAKA,SAASC,8BAA8BC,YAAwB;AACrE,SAAOA,WACN,wBACA;IACCC,QAAIC,6BAAQ,MAAM;MAAEC,QAAQ;IAAI,CAAA,EAAGC,QAAO;IAC1CC,mBAAeC,+BAAU,iBAAiB;MACzC;MACA;MACA;MACA;MACA;MACA;MACA;KACA,EACCC,QAAQ,WAAA,EACRH,QAAO;IACTI,gBAAYN,6BAAQ,cAAc;MAAEC,QAAQ;IAAI,CAAA,EAAGC,QAAO;IAC1DK,oBAAgBP,6BAAQ,kBAAkB;MAAEC,QAAQ;IAAI,CAAA;IACxDO,kBAAcR,6BAAQ,gBAAgB;MAAEC,QAAQ;IAAI,CAAA,EAAGC,QAAO;IAC9DO,kBAAcT,6BAAQ,gBAAgB;MAAEC,QAAQ;IAAI,CAAA;IACpDS,eAAWC,+BAAU,aAAa;MAAEC,MAAM;MAAQC,KAAK;IAAE,CAAA,EACvDR,QAAQS,8CAAyB,EACjCZ,QAAO;IACTa,eAAWJ,+BAAU,aAAa;MAAEC,MAAM;MAAQC,KAAK;IAAE,CAAA;IACzDG,gBAAYL,+BAAU,cAAc;MAAEC,MAAM;MAAQC,KAAK;IAAE,CAAA;IAC3DI,iBAAaN,+BAAU,eAAe;MAAEC,MAAM;MAAQC,KAAK;IAAE,CAAA;IAC7DK,iBAAaP,+BAAU,eAAe;MAAEC,MAAM;MAAQC,KAAK;IAAE,CAAA;EAC9D,GACA,CAACM,UAAAA;AACA,WAAO;MACNC,4BAAwBC,gCAAW;QAClCC,SAAS;UAACH,MAAMpB;;QAChBwB,MAAM;MACP,CAAA;MACAC,uBAAmBC,2BAAM,oBAAA,EAAsBC,GAAGP,MAAMZ,cAAc;IACvE;EACD,CAAA;AAEF;AAtCgBV;AAwCT,SAAS8B,uCACf7B,YACA8B,YAAkC,CAAC,GAAC;AAEpC,QAAMC,uBAAuBhC,8BAA8BC,UAAAA;AAC3D,QAAMgC,qBAAqBF,UAAUG,kBAAkBA;AACvD,QAAMC,OAAOF,mBAAmBhC,UAAAA;AAChC,QAAMmC,WAAWC,kBAAkBpC,UAAAA;AACnC,aAAOqC,gCAAUN,sBAAsB,CAAC,EAAEO,IAAG,OAAQ;IACpDC,YAAYD,IAAIJ,MAAM;MACrBM,QAAQ;QAACT,qBAAqBrB;;MAC9B+B,YAAY;QAACP,KAAKjC;;MAClByC,cAAc;IACf,CAAA;IACAC,YAAYL,IAAIJ,MAAM;MACrBM,QAAQ;QAACT,qBAAqBpB;;MAC9B8B,YAAY;QAACP,KAAKjC;;MAClByC,cAAc;IACf,CAAA;IACAP,UAAUG,IAAIH,UAAU;MACvBK,QAAQ;QAACT,qBAAqBvB;;MAC9BiC,YAAY;QAACN,SAASlC;;MACtByC,cAAc;IACf,CAAA;EACD,EAAA;AACD;AAzBgBb;;;ACrDhB,IAAAe,uBAA+B;AAC/B,IAAAC,sBAQO;AAIA,SAASC,4BAA4BC,YAAwB;AACnE,SAAOA,WACN,sBACA;IACCC,oBAAgBC,6BAAQ,kBAAkB;MAAEC,QAAQ;IAAI,CAAA,EAAGC,QAAO;IAClEC,sBAAkBH,6BAAQ,kBAAkB;MAAEC,QAAQ;IAAI,CAAA,EAAGC,QAAO;IACpEE,oBAAgBJ,6BAAQ,kBAAkB;MAAEC,QAAQ;IAAI,CAAA;IACxDI,cAAUC,4BAAO,UAAA,EAAYJ,QAAO,EAAGK,QAAQ,CAAA;IAC/CC,cAAUC,0BAAK,UAAA,EAAYC,MAAK,EAAwBH,QAAQ,CAAC,CAAA;IACjEI,eAAWC,+BAAU,aAAa;MACjCC,MAAM;MACNC,KAAK;IACN,CAAA,EAAGP,QAAQQ,8CAAyB;IACpCC,eAAWJ,+BAAU,aAAa;MACjCC,MAAM;MACNC,KAAK;IACN,CAAA,EAAGP,QAAQQ,8CAAyB;IACpCE,eAAWL,+BAAU,aAAa;MACjCC,MAAM;MACNC,KAAK;IACN,CAAA;EACD,GACA,CAACI,SAAS;IACTC,QAAIC,gCAAW;MAAEC,SAAS;QAACH,IAAInB;QAAgBmB,IAAIf;;IAAkB,CAAA;IACrEmB,uBAAmBC,2BAAM,sBAAA,EAAwBC,GAAGN,IAAInB,cAAc;IACtE0B,yBAAqBF,2BAAM,oBAAA,EAAsBC,GAAGN,IAAIf,gBAAgB;IACxEuB,uBAAmBH,2BAAM,oBAAA,EAAsBC,GAAGN,IAAId,cAAc;EACrE,EAAA;AAEF;AA7BgBP;AA+BT,SAAS8B,qCAAqC7B,YAAwB;AAC5E,QAAM8B,UAAUC,iBAAiB/B,UAAAA;AACjC,QAAMgC,oBAAoBjC,4BAA4BC,UAAAA;AACtD,aAAOiC,gCAAUD,mBAAmB,CAAC,EAAEE,IAAG,OAAQ;IACjDC,cAAcD,IAAIJ,SAAS;MAC1BM,QAAQ;QAACJ,kBAAkB/B;;MAC3BoC,YAAY;QAACP,QAAQQ;;MACrBC,cAAc;IACf,CAAA;IACAC,gBAAgBN,IAAIJ,SAAS;MAC5BM,QAAQ;QAACJ,kBAAkB3B;;MAC3BgC,YAAY;QAACP,QAAQQ;;MACrBC,cAAc;IACf,CAAA;EACD,EAAA;AACD;AAfgBV;;;AC5ChB,IAAAY,uBAA+B;AAC/B,IAAAC,sBAOO;AAUA,SAASC,0BAA0BC,YAAwB;AACjE,SAAOA,WACN,oBACA;IACCC,QAAIC,6BAAQ,MAAM;MAAEC,QAAQ;IAAI,CAAA,EAAGC,QAAO,EAAGC,WAAU;IACvDC,cAAUJ,6BAAQ,YAAY;MAAEC,QAAQ;IAAI,CAAA,EAAGC,QAAO;IACtDG,gBAAYL,6BAAQ,cAAc;MAAEC,QAAQ;IAAI,CAAA,EAAGC,QAAO;IAC1DI,mBAAeN,6BAAQ,iBAAiB;MAAEC,QAAQ;IAAI,CAAA;IACtDM,qBAAiBP,6BAAQ,mBAAmB;MAAEC,QAAQ;IAAI,CAAA;IAC1DO,YAAQR,6BAAQ,UAAU;MAAEC,QAAQ;IAAI,CAAA;IACxCQ,2BAAuBT,6BAAQ,yBAAyB;MAAEC,QAAQ;IAAI,CAAA;IACtES,YAAQC,0BAAK,QAAA,EAAUC,MAAK,EAAwBC,QAAQ,CAAC,CAAA;IAC7DC,eAAWC,+BAAU,aAAa;MACjCC,MAAM;MACNC,KAAK;IACN,CAAA,EAAGJ,QAAQK,8CAAyB;IACpCC,eAAWJ,+BAAU,aAAa;MACjCC,MAAM;MACNC,KAAK;IACN,CAAA,EAAGJ,QAAQK,8CAAyB;IACpCE,eAAWL,+BAAU,aAAa;MACjCC,MAAM;MACNC,KAAK;IACN,CAAA;EACD,GACA,CAACI,QAAQ;IACRC,iBAAaC,2BAAM,cAAA,EAAgBC,GAAGH,GAAGjB,QAAQ;IACjDqB,mBAAeF,2BAAM,gBAAA,EAAkBC,GAAGH,GAAGhB,UAAU;IACvDqB,sBAAkBH,2BAAM,oBAAA,EAAsBC,GAAGH,GAAGf,aAAa;IACjEqB,wBAAoBJ,2BAAM,uBAAA,EAAyBC,GAAGH,GAAGd,eAAe;IACxEqB,eAAWL,2BAAM,YAAA,EAAcC,GAAGH,GAAGb,MAAM;IAC3CqB,8BAA0BN,2BAAM,2BAAA,EAA6BC,GAC5DH,GAAGZ,qBAAqB;IAEzBqB,yBAAqBP,2BAAM,uBAAA,EAAyBC,GACnDH,GAAGjB,UACHiB,GAAGZ,qBAAqB;IAEzBsB,iCAA6BC,iCAC5B,mCAAA,EACCR,GAAGH,GAAGjB,UAAUiB,GAAGhB,YAAYgB,GAAGf,aAAa;EAClD,EAAA;AAEF;AA3CgBT;AA6CT,SAASoC,mCACfnC,YACAoC,YAAkC,CAAC,GAAC;AAEpC,QAAMC,mBAAmBtC,0BAA0BC,UAAAA;AACnD,QAAMsC,qBAAqBF,UAAUG,kBAAkBA;AACvD,QAAMC,QAAQF,mBAAmBtC,UAAAA;AACjC,QAAMyC,kBAAkBC,yBAAyB1C,UAAAA;AAEjD,aAAO2C,gCAAUN,kBAAkB,CAAC,EAAEO,IAAG,OAAQ;IAChDC,MAAMD,IAAIJ,OAAO;MAChB5B,QAAQ;QAACyB,iBAAiB3B;;MAC1BoC,YAAY;QAACN,MAAMvC;;MACnB8C,cAAc;IACf,CAAA;IACAC,QAAQJ,IAAIH,iBAAiB;MAC5B7B,QAAQ;QAACyB,iBAAiB/B;;MAC1BwC,YAAY;QAACL,gBAAgBxC;;MAC7B8C,cAAc;IACf,CAAA;IACAE,UAAUL,IAAIH,iBAAiB;MAC9B7B,QAAQ;QAACyB,iBAAiB9B;;MAC1BuC,YAAY;QAACL,gBAAgBxC;;MAC7B8C,cAAc;IACf,CAAA;EACD,EAAA;AACD;AA1BgBZ;;;AC/DhB,IAAAe,uBAAoB;AACpB,IAAAC,sBAOO;AAEA,SAASC,wBAAwBC,YAAwB;AAC/D,SAAOA,WACN,kBACA;IACCC,QAAIC,6BAAQ,MAAM;MAAEC,QAAQ;IAAI,CAAA,EAAGC,QAAO,EAAGC,WAAU;IACvDC,YAAQJ,6BAAQ,UAAU;MAAEC,QAAQ;IAAI,CAAA,EAAGC,QAAO;IAClDG,oBAAgBL,6BAAQ,kBAAkB;MAAEC,QAAQ;IAAI,CAAA;IACxDK,8BAA0BN,6BAAQ,4BAA4B;MAC7DC,QAAQ;IACT,CAAA;IACAM,cAAUP,6BAAQ,YAAY;MAAEC,QAAQ;IAAI,CAAA;IAC5CO,gBAAYR,6BAAQ,cAAc;MAAEC,QAAQ;IAAI,CAAA;IAChDQ,mBAAeT,6BAAQ,iBAAiB;MAAEC,QAAQ;IAAI,CAAA;IACtDS,eAAWV,6BAAQ,aAAa;MAAEC,QAAQ;IAAI,CAAA;IAC9CU,cAAUX,6BAAQ,YAAY;MAAEC,QAAQ;IAAI,CAAA;IAC5CW,iBAAaC,8BAAS,eAAe;MAAEC,MAAM;MAAQC,KAAK;IAAE,CAAA;IAC5DC,eAAWH,8BAAS,aAAa;MAAEC,MAAM;MAAQC,KAAK;IAAE,CAAA;IACxDE,eAAWJ,8BAAS,aAAa;MAAEC,MAAM;MAAQC,KAAK;IAAE,CAAA,EACtDG,QAAQC,8CAAyB,EACjCjB,QAAO;EACV,GACA,CAACkB,QAAAA;AACA,WAAO;MACNC,uBAAmBC,2BAAM,kCAAA,EAAoCC,GAC5DH,IAAIhB,QACJgB,IAAIb,QAAQ;MAEbiB,eAAWF,2BAAM,YAAA,EAAcC,GAAGH,IAAIhB,MAAM;MAC5CqB,iBAAaH,2BAAM,cAAA,EAAgBC,GAAGH,IAAIb,QAAQ;MAClDmB,iCAA6BJ,2BAAM,8BAAA,EAAgCC,GAClEH,IAAId,wBAAwB;IAE9B;EACD,CAAA;AAEF;AAnCgBT;;;ACVhB,IAAA8B,uBAAoB;AACpB,IAAAC,sBAOO;AAEA,SAASC,0BAA0BC,YAAwB;AACjE,SAAOA,WACN,oBACA;IACCC,YAAQC,6BAAQ,UAAU;MAAEC,QAAQ;IAAI,CAAA,EAAGC,QAAO;IAClDC,oBAAgBH,6BAAQ,kBAAkB;MAAEC,QAAQ;IAAI,CAAA;IACxDG,8BAA0BJ,6BAAQ,4BAA4B;MAC7DC,QAAQ;IACT,CAAA;IACAI,gBAAYL,6BAAQ,cAAc;MAAEC,QAAQ;IAAI,CAAA;IAChDK,YAAQC,0BAAK,QAAA,EAAUC,MAAK,EAAwBC,QAAQ,CAAC,CAAA;IAC7DC,iBAAaC,8BAAS,eAAe;MAAEC,MAAM;MAAQC,KAAK;IAAE,CAAA;IAC5DC,eAAWH,8BAAS,aAAa;MAAEC,MAAM;MAAQC,KAAK;IAAE,CAAA;IACxDE,eAAWJ,8BAAS,aAAa;MAAEC,MAAM;MAAQC,KAAK;IAAE,CAAA,EACtDJ,QAAQO,8CAAyB,EACjCd,QAAO;EACV,GACA,CAACe,QAAAA;AACA,WAAO;MACNC,uBAAmBC,2BAAM,kCAAA,EAAoCC,GAC5DH,IAAIlB,QACJkB,IAAIZ,UAAU;MAEfgB,QAAIC,gCAAW;QAAEC,SAAS;UAACN,IAAIlB;UAAQkB,IAAIZ;;MAAY,CAAA;MACvDmB,0BAAsBL,2BAAM,uBAAA,EAAyBC,GAAGH,IAAIZ,UAAU;MACtEoB,eAAWN,2BAAM,gBAAA,EAAkBC,GAAGH,IAAIlB,MAAM;MAChD2B,iCAA6BP,2BAAM,8BAAA,EAAgCC,GAClEH,IAAIb,wBAAwB;IAE9B;EACD,CAAA;AAEF;AAhCgBP;;;ACVhB,IAAA8B,sBAKO;AAEA,SAASC,0BAA0BC,YAAwB;AACjE,SAAOA,WACN,mBACA;IACCC,QAAIC,6BAAQ,MAAM;MAAEC,QAAQ;IAAI,CAAA,EAAGC,QAAO,EAAGC,WAAU;IACvDC,UAAMJ,6BAAQ,QAAQ;MAAEC,QAAQ;IAAI,CAAA,EAAGC,QAAO;IAC9CG,iBAAaC,0BAAK,aAAA;EAEnB,GACA,CAACC,WAAW;IACXC,gBAAYC,iCAAY,iBAAA,EAAmBC,GAAGH,MAAMH,IAAI;EACzD,EAAA;AAEF;AAbgBP;;;ACPhB,IAAAc,uBAA+B;AAC/B,IAAAC,sBAMO;AAMA,SAASC,sBAAsBC,YAAwB;AAC7D,SAAOA,WACN,eACA;IACCC,QAAIC,6BAAQ,MAAM;MAAEC,QAAQ;IAAI,CAAA,EAAGC,QAAO,EAAGC,WAAU;IACvDC,qBAAiBJ,6BAAQ,mBAAmB;MAAEC,QAAQ;IAAI,CAAA,EAAGC,QAAO;IACpEG,YAAQL,6BAAQ,UAAU;MAAEC,QAAQ;IAAI,CAAA;IACxCK,oBAAgBN,6BAAQ,kBAAkB;MAAEC,QAAQ;IAAI,CAAA;IACxDM,8BAA0BP,6BAAQ,4BAA4B;MAC7DC,QAAQ;IACT,CAAA;IACAO,gBAAYR,6BAAQ,cAAc;MAAEC,QAAQ;IAAI,CAAA,EAAGC,QAAO;IAC1DO,cAAUT,6BAAQ,YAAY;MAAEC,QAAQ;IAAI,CAAA,EAAGC,QAAO;IACtDQ,cAAUC,0BAAK,UAAA,EAAYC,MAAK,EAAwBC,QAAQ,CAAC,CAAA;IACjEC,eAAWC,+BAAU,aAAa;MAAEC,MAAM;MAAQC,KAAK;IAAE,CAAA;IACzDC,eAAWH,+BAAU,aAAa;MAAEC,MAAM;MAAQC,KAAK;IAAE,CAAA,EACvDJ,QAAQM,8CAAyB,EACjCjB,QAAO;IACTkB,eAAWL,+BAAU,aAAa;MAAEC,MAAM;MAAQC,KAAK;IAAE,CAAA,EACvDJ,QAAQM,8CAAyB,EACjCjB,QAAO;IACTmB,eAAWN,+BAAU,aAAa;MAAEC,MAAM;MAAQC,KAAK;IAAE,CAAA;EAC1D,GACA,CAACK,WAAW;IACXC,eAAWC,2BAAM,YAAA,EAAcC,GAAGH,MAAMjB,MAAM;IAC9CqB,cAAUF,2BAAM,WAAA,EAAaC,GAAGH,MAAMhB,cAAc;IACpDqB,eAAWH,2BAAM,YAAA,EAAcC,GAAGH,MAAMd,YAAYc,MAAMb,QAAQ;IAClEmB,aAASJ,2BAAM,UAAA,EAAYC,GAAGH,MAAMlB,eAAe;IACnDyB,4BAAwBL,2BACvB,0CAAA,EACCC,GAAGH,MAAMjB,QAAQiB,MAAMlB,iBAAiBkB,MAAMD,SAAS;EAC1D,EAAA;AAEF;AAjCgBxB;AAmCT,SAASiC,8BACfhC,YACAiC,YAAkC,CAAC,GAAC;AAEpC,QAAMC,eAAenC,sBAAsBC,UAAAA;AAC3C,QAAMmC,qBAAqBF,UAAUG,kBAAkBA;AACvD,QAAMC,QAAQF,mBAAmBnC,UAAAA;AACjC,QAAMsC,OAAOC,uBAAuBvC,UAAAA;AACpC,QAAMwC,cAAcC,iCAAiCzC,UAAAA;AAErD,aAAO0C,gCAAUR,cAAc,CAAC,EAAES,IAAG,OAAQ;IAC5CC,MAAMD,IAAIN,OAAO;MAChBQ,QAAQ;QAACX,aAAa3B;;MACtBuC,YAAY;QAACT,MAAMpC;;IACpB,CAAA;IACA8C,cAAcJ,IAAIL,MAAM;MACvBO,QAAQ;QAACX,aAAa1B;;MACtBsC,YAAY;QAACR,KAAKrC;;IACnB,CAAA;IACA+C,YAAYL,IAAIH,aAAa;MAC5BK,QAAQ;QAACX,aAAazB;;MACtBqC,YAAY;QAACN,YAAYvC;;IAC1B,CAAA;EACD,EAAA;AACD;AAxBgB+B;;;AnDyIT,SAASiB,uBAKfC,YACAC,YAAkD,CAAC,GAAC;AAEpD,QAAMC,yBAA0BD,UAAUE,kBACzCA;AACD,QAAMC,yBAAuD;IAC5DD,gBAAgBD;EACjB;AACA,SAAO;IACNG,UAAUC,kBAAkBN,UAAAA;IAC5BO,mBAAmBC,2BAClBR,YACAI,sBAAAA;IAEDK,aAAaC,qBAAqBV,UAAAA;IAClCW,sBAAsBC,8BAA8BZ,UAAAA;IACpDa,iBAAiBC,yBAAyBd,UAAAA;IAC1Ce,0BAA0BC,kCAAkChB,UAAAA;IAC5DiB,OAAOC,eAAelB,UAAAA;IACtBmB,gBAAgBC,wBAAwBpB,UAAAA;IACxCqB,UAAUC,kBAAkBtB,UAAAA;IAC5BuB,mBAAmBC,0BAClBxB,YACAI,sBAAAA;IAEDqB,iBAAiBC,yBAAyB1B,UAAAA;IAC1C2B,0BAA0BC,kCACzB5B,YACAI,sBAAAA;IAEDyB,WAAWC,mBAAmB9B,UAAAA;IAC9B+B,oBAAoBC,4BACnBhC,YACAI,sBAAAA;IAED6B,OAAO/B,uBAAuBF,UAAAA;IAC9BkC,gBAAgBC,wBAAwBnC,YAAYI,sBAAAA;IACpDgC,oBAAoBC,4BAA4BrC,UAAAA;IAChDsC,QAAQC,gBAAgBvC,UAAAA;IACxBwC,iBAAiBC,yBAAyBzC,UAAAA;IAC1C0C,gBAAgBC,wBAAwB3C,UAAAA;IACxC4C,iBAAiBC,yBAAyB7C,UAAAA;IAC1C8C,gBAAgBC,wBAAwB/C,UAAAA;IACxCgD,yBAAyBC,iCAAiCjD,UAAAA;IAC1DkD,gBAAgBC,wBAAwBnD,UAAAA;IACxCoD,yBAAyBC,iCAAiCrD,UAAAA;IAC1DsD,gBAAgBC,wBAAwBvD,UAAAA;IACxCwD,kBAAkBC,0BAA0BzD,UAAAA;IAC5C0D,eAAeC,uBAAuB3D,UAAAA;IACtC4D,iBAAiBC,yBAAyB7D,UAAAA;IAC1C8D,iBAAiBC,yBAAyB/D,UAAAA;IAC1CgE,QAAQC,eAAejE,UAAAA;IACvBkE,UAAUC,iBAAiBnE,UAAAA;IAC3BoE,WAAWC,kBAAkBrE,UAAAA;IAC7BsE,mBAAmBC,2BAClBvE,YACAI,sBAAAA;IAEDoE,sBAAsBC,8BAA8BzE,UAAAA;IACpD0E,+BAA+BC,uCAC9B3E,YACAI,sBAAAA;IAEDwE,sBAAsBC,8BAA8B7E,UAAAA;IACpD8E,8BACCC,sCAAsC/E,UAAAA;IACvCgF,0BAA0BC,kCAAkCjF,UAAAA;IAC5DkF,mCACCC,2CACCnF,YACAI,sBAAAA;IAEFgF,sBAAsBC,8BAA8BrF,UAAAA;IACpDsF,8BAA8BC,sCAC7BvF,YACAI,sBAAAA;IAEDoF,iBAAiBC,yBAAyBzF,UAAAA;IAC1C0F,wBAAwBC,gCAAgC3F,UAAAA;IACxD4F,iCAAiCC,yCAChC7F,YACAI,sBAAAA;IAED0F,0BAA0BC,kCACzB/F,YACAI,sBAAAA;IAED4F,yBAAyBC,iCAAiCjG,UAAAA;IAC1DkG,kCACCC,0CAA0CnG,UAAAA;IAC3CoG,oBAAoBC,4BAA4BrG,UAAAA;IAChDsG,6BACCC,qCAAqCvG,UAAAA;IACtCwG,mBAAmBC,2BAA2BzG,UAAAA;IAC9C0G,4BAA4BC,oCAAoC3G,UAAAA;IAChE4G,kBAAkBC,0BAA0B7G,UAAAA;IAC5C8G,kBAAkBC,0BAA0B/G,UAAAA;IAC5CgH,2BAA2BC,mCAC1BjH,YACAI,sBAAAA;IAED8G,oBAAoBC,4BAA4BnH,UAAAA;IAChDoH,6BACCC,qCAAqCrH,UAAAA;IACtCsH,wBAAwBC,gCAAgCvH,UAAAA;IACxDwH,iCACCC,yCAAyCzH,UAAAA;IAC1C0H,kBAAkBC,0BAA0B3H,UAAAA;IAC5C4H,UAAUC,kBAAkB7H,UAAAA;IAC5B8H,mBAAmBC,0BAClB/H,YACAI,sBAAAA;IAED4H,qBAAqBC,4BAA4BjI,UAAAA;IACjDkI,6BAA6BC,qCAC5BnI,YACAI,sBAAAA;IAEDgI,mBAAmBC,2BAA2BrI,UAAAA;IAC9CsI,4BAA4BC,oCAC3BvI,YACAI,sBAAAA;IAEDoI,qBAAqBC,6BAA6BzI,UAAAA;IAClD0I,8BAA8BC,sCAC7B3I,YACAI,sBAAAA;IAEDwI,KAAKC,aAAa7I,UAAAA;IAClB8I,cAAcC,sBAAsB/I,UAAAA;IACpCgJ,QAAQC,gBAAgBjJ,UAAAA;IACxBkJ,iBAAiBC,yBAAyBnJ,UAAAA;IAC1CoJ,WAAWC,mBAAmBrJ,UAAAA;IAC9BsJ,oBAAoBC,4BACnBvJ,YACAI,sBAAAA;IAEDoJ,cAAcC,uBAAuBzJ,UAAAA;IACrC0J,uBAAuBC,gCAAgC3J,UAAAA;IACvD4J,yBAAyBC,iCAAiC7J,UAAAA;IAC1D8J,iCAAiCC,0CAChC/J,YACAI,sBAAAA;IAED4J,6BACCC,qCAAqCjK,UAAAA;IACtCkK,sCACCC,8CAA8CnK,UAAAA;IAC/CoK,sBAAsBC,8BAA8BrK,UAAAA;IACpDsK,+BACCC,uCAAuCvK,UAAAA;IACxCwK,cAAcC,sBAAsBzK,UAAAA;IACpC0K,uBAAuBC,+BAA+B3K,UAAAA;IACtD4K,UAAUC,kBAAkB7K,UAAAA;IAC5B8K,mBAAmBC,2BAClB/K,YACAI,sBAAAA;IAED4K,kBAAkBC,0BAA0BjL,UAAAA;IAC5CkL,cAAcC,sBAAsBnL,UAAAA;IACpCoL,uBAAuBC,8BACtBrL,YACAI,sBAAAA;EAEF;AACD;AA1KgBL;AAuLT,SAASuL,aAAaC,YAAwB;AACpD,SAAOxL,uBAAuBwL,UAAAA;AAC/B;AAFgBD;","names":["import_drizzle_orm","import_mysql_core","import_drizzle_orm","import_mysql_core","import_drizzle_orm","import_mysql_core","import_drizzle_orm","import_mysql_core","import_drizzle_orm","import_mysql_core","import_drizzle_orm","import_mysql_core","getUserRolesSchema","mysqlTable","userId","varchar","length","notNull","roleId","active","boolean","default","organizationId","createdAt","timestamp","mode","fsp","defaultNow","updatedAt","deletedAt","ur","pk","primaryKey","columns","userIdIdx","index","on","roleIdIdx","organizationIdIdx","getUserRolesRelationsSchema","overrides","userRoles","resolveUsersSchema","getUsersSchema","users","roles","getRolesSchema","relations","one","user","fields","references","id","relationName","role","getRolesSchema","mysqlTable","id","varchar","length","notNull","primaryKey","organizationId","name","description","text","active","boolean","default","createdAt","timestamp","mode","fsp","defaultNow","updatedAt","deletedAt","role","nameIdx","index","on","organizationIdIdx","uniqueNamePerOrg","uniqueIndex","getRolesRelationsSchema","roles","userRoles","getUserRolesSchema","relations","many","relationName","import_drizzle_orm","import_mysql_core","import_drizzle_orm","import_mysql_core","import_drizzle_orm","import_mysql_core","import_drizzle_orm","import_mysql_core","import_drizzle_orm","import_mysql_core","getMerchantAccountSchema","mysqlTable","id","varchar","length","notNull","organizationId","status","int","default","createdAt","timestamp","mode","fsp","sql","label","identifier","table","merchantAccountId","primaryKey","columns","name","organizationIdIdx","index","on","import_drizzle_orm","import_mysql_core","getMerchantCustomerSchema","mysqlTable","id","varchar","length","notNull","organizationId","userId","merchantAccountId","identifier","createdAt","timestamp","mode","fsp","default","sql","status","int","table","merchantCustomerId","primaryKey","columns","name","merchantCustomerIdentifierKey","unique","on","userIdIdx","index","organizationIdIdx","import_drizzle_orm","import_mysql_core","getMerchantProductSchema","mysqlTable","id","varchar","length","notNull","organizationId","merchantAccountId","productId","status","int","default","identifier","createdAt","timestamp","mode","fsp","sql","table","merchantProductId","primaryKey","columns","name","merchantProductIdentifierKey","unique","on","organizationIdIdx","index","getMerchantChargeSchema","mysqlTable","id","varchar","length","notNull","organizationId","status","int","default","identifier","userId","merchantAccountId","merchantProductId","merchantSubscriptionId","createdAt","timestamp","mode","fsp","sql","merchantCustomerId","table","merchantChargeId","primaryKey","columns","name","merchantChargeIdentifierKey","unique","on","merchantSubscriptionIdIdx","index","organizationIdIdx","getMerchantChargeRelationsSchema","merchantCharge","merchantAccount","getMerchantAccountSchema","merchantProduct","getMerchantProductSchema","merchantCustomer","getMerchantCustomerSchema","merchantSubscription","getMerchantSubscriptionSchema","relations","one","fields","references","relationName","getMerchantSubscriptionSchema","mysqlTable","id","varchar","length","notNull","organizationId","merchantAccountId","status","int","default","createdAt","timestamp","mode","fsp","sql","label","identifier","merchantCustomerId","merchantProductId","table","merchantSubscriptionId","primaryKey","columns","name","organizationIdIdx","index","on","getMerchantSubscriptionRelationsSchema","merchantSubscription","merchantCharge","getMerchantChargeSchema","subscription","getSubscriptionSchema","relations","many","one","merchantCharges","relationName","fields","references","import_drizzle_orm","import_mysql_core","import_drizzle_orm","import_mysql_core","import_drizzle_orm","import_mysql_core","import_drizzle_orm","import_mysql_core","import_drizzle_orm","import_mysql_core","getContributionTypesSchema","mysqlTable","id","varchar","length","notNull","primaryKey","organizationId","slug","unique","name","description","text","active","boolean","default","createdAt","timestamp","mode","fsp","defaultNow","updatedAt","deletedAt","ct","nameIdx","index","on","slugIdx","organizationIdIdx","getContributionTypesRelationsSchema","contributionTypes","relations","many","getContentContributionsSchema","mysqlTable","id","varchar","length","notNull","primaryKey","userId","organizationId","organizationMembershipId","contentId","contributionTypeId","active","boolean","default","createdAt","timestamp","mode","fsp","defaultNow","updatedAt","deletedAt","cc","userIdIdx","index","on","contentIdIdx","contributionTypeIdIdx","organizationMembershipIdIdx","getContentContributionRelationsSchema","overrides","contentContributions","resolveUsersSchema","getUsersSchema","users","contentResource","getContentResourceSchema","contributionTypes","getContributionTypesSchema","organizationMemberships","getOrganizationMembershipsSchema","relations","one","user","fields","references","relationName","content","contributionType","organizationMembership","import_drizzle_orm","import_mysql_core","getContentResourceResourceSchema","mysqlTable","resourceOfId","varchar","length","notNull","resourceId","position","double","default","metadata","json","$type","organizationId","createdAt","timestamp","mode","fsp","sql","updatedAt","deletedAt","crr","pk","primaryKey","columns","contentResourceIdIdx","index","on","resourceIdIdx","organizationIdIdx","getContentResourceResourceRelationsSchema","contentResource","getContentResourceSchema","contentResourceResource","relations","one","resourceOf","fields","references","id","relationName","resource","import_drizzle_orm","import_mysql_core","import_drizzle_orm","import_mysql_core","import_drizzle_orm","import_mysql_core","getTagTagSchema","mysqlTable","parentTagId","varchar","length","notNull","childTagId","position","double","default","metadata","json","$type","organizationId","createdAt","timestamp","mode","fsp","sql","updatedAt","deletedAt","tt","pk","primaryKey","columns","parentTagIdIdx","index","on","childTagIdIdx","positionIdx","organizationIdIdx","getTagTagRelationsSchema","tag","getTagSchema","tagTag","relations","one","parentTag","fields","references","id","relationName","childTag","getTagSchema","mysqlTable","id","varchar","length","notNull","primaryKey","organizationId","type","fields","json","$type","default","createdAt","timestamp","mode","fsp","sql","updatedAt","deletedAt","t","typeIdx","index","on","organizationIdIdx","getTagRelationsSchema","tag","contentResourceTag","getContentResourceTagSchema","tagTag","getTagTagSchema","relations","many","resources","relationName","parentTags","childTags","getContentResourceTagSchema","mysqlTable","contentResourceId","varchar","length","notNull","organizationId","tagId","position","double","default","createdAt","timestamp","mode","fsp","sql","updatedAt","crt","pk","primaryKey","columns","contentResourceIdIdx","index","on","tagIdIdx","positionIdx","organizationIdIdx","getContentResourceTagRelationsSchema","contentResource","getContentResourceSchema","tag","getTagSchema","contentResourceTag","relations","one","fields","references","id","relationName","import_drizzle_orm","import_mysql_core","getContentResourceVersionSchema","mysqlTable","id","varchar","length","notNull","primaryKey","organizationId","resourceId","parentVersionId","versionNumber","int","fields","json","$type","default","createdAt","timestamp","mode","fsp","sql","createdById","crv","resourceIdIdx","index","on","parentVersionIdIdx","resourceIdVersionNumberIdx","uniqueResourceVersion","unique","organizationIdIdx","getContentResourceVersionRelationsSchema","overrides","contentResourceVersion","contentResource","getContentResourceSchema","resolveUsersSchema","getUsersSchema","users","relations","one","resource","references","relationName","parentVersion","createdBy","getContentResourceSchema","mysqlTable","id","varchar","length","notNull","primaryKey","organizationId","createdByOrganizationMembershipId","type","createdById","fields","json","$type","default","slug","generatedAlwaysAs","sql","mode","currentVersionId","createdAt","timestamp","fsp","updatedAt","deletedAt","cm","typeIdx","index","on","createdByIdx","createdAtIdx","currentVersionIdIdx","createdByOrganizationMembershipIdIdx","slugIdx","getContentResourceRelationsSchema","overrides","contentResource","resolveUsersSchema","getUsersSchema","users","contentResourceResource","getContentResourceResourceSchema","contentResourceProduct","getContentResourceProductSchema","contentContributions","getContentContributionsSchema","contentResourceTag","getContentResourceTagSchema","contentResourceVersion","getContentResourceVersionSchema","organizationMemberships","getOrganizationMembershipsSchema","tag","getTagSchema","relations","one","many","createdBy","references","relationName","createdByOrganizationMembership","tags","resources","resourceOf","resourceProducts","contributions","currentVersion","versions","getContentResourceProductSchema","mysqlTable","productId","varchar","length","notNull","resourceId","organizationId","position","double","default","metadata","json","$type","createdAt","timestamp","mode","fsp","sql","updatedAt","deletedAt","crr","pk","primaryKey","columns","contentResourceIdIdx","index","on","resourceIdIdx","organizationIdIdx","getContentResourceProductRelationsSchema","contentResource","getContentResourceSchema","contentResourceProduct","product","getProductSchema","relations","one","fields","references","id","relationName","resource","import_drizzle_orm","import_mysql_core","import_drizzle_orm","import_mysql_core","getMerchantPriceSchema","mysqlTable","id","varchar","length","notNull","organizationId","merchantAccountId","merchantProductId","status","int","default","identifier","createdAt","timestamp","mode","fsp","sql","priceId","table","merchantPriceId","primaryKey","columns","name","merchantPriceIdentifierKey","unique","on","organizationIdIdx","index","getPriceSchema","mysqlTable","id","varchar","length","notNull","productId","organizationId","nickname","status","int","default","unitAmount","decimal","precision","scale","createdAt","timestamp","mode","fsp","sql","fields","json","$type","table","priceId","primaryKey","columns","name","organizationIdIdx","index","on","getProductSchema","mysqlTable","id","varchar","length","notNull","organizationId","name","key","type","fields","json","$type","default","createdAt","timestamp","mode","fsp","sql","status","int","quantityAvailable","table","productId","primaryKey","columns","organizationIdIdx","index","on","getProductRelationsSchema","product","price","getPriceSchema","merchantProduct","getMerchantProductSchema","contentResourceProduct","getContentResourceProductSchema","relations","one","many","references","relationName","resources","getSubscriptionSchema","mysqlTable","id","varchar","length","notNull","organizationId","productId","createdAt","timestamp","mode","fsp","default","sql","merchantSubscriptionId","status","fields","json","$type","table","subscriptionId","primaryKey","columns","name","organizationIdIdx","index","on","getSubscriptionRelationsSchema","subscriptions","products","getProductSchema","organizations","getOrganizationsSchema","merchantSubscriptions","getMerchantSubscriptionSchema","relations","many","one","organization","references","relationName","product","merchantSubscription","getOrganizationsSchema","mysqlTable","id","varchar","length","notNull","primaryKey","name","personalOrganizationUserId","fields","json","$type","default","image","createdAt","timestamp","mode","fsp","sql","organization","createdAtIdx","index","on","personalOrganizationUserIdIdx","uniqueIndex","getOrganizationsRelationsSchema","organizations","purchases","getPurchaseSchema","subscriptions","getSubscriptionSchema","organizationMemberships","getOrganizationMembershipsSchema","relations","many","relationName","members","getOrganizationMembershipRolesSchema","mysqlTable","organizationMembershipId","varchar","length","notNull","roleId","active","boolean","default","organizationId","createdAt","timestamp","mode","fsp","defaultNow","updatedAt","deletedAt","ur","pk","primaryKey","columns","name","orgMemberIdIdx","index","on","roleIdIdx","organizationIdIdx","getOrganizationMembershipRolesRelationsSchema","organizationMembershipRoles","organizationMemberships","getOrganizationMembershipsSchema","roles","getRolesSchema","organizations","getOrganizationsSchema","relations","one","organizationMembership","fields","references","id","relationName","role","organization","getOrganizationMembershipsSchema","mysqlTable","id","varchar","length","notNull","primaryKey","organizationId","role","default","invitedById","userId","personalOrganizationUserId","fields","json","$type","createdAt","timestamp","mode","fsp","sql","organizationMembership","roleIdx","index","on","createdAtIdx","organizationIdIdx","personalOrganizationUserIdIdx","uniqueIndex","getOrganizationMembershipsRelationsSchema","overrides","resolveUsersSchema","getUsersSchema","users","organizationMemberships","purchases","getPurchaseSchema","organizations","getOrganizationsSchema","organizationMembershipRoles","getOrganizationMembershipRolesSchema","relations","one","many","user","references","relationName","invitedBy","organization","import_drizzle_orm","import_mysql_core","import_mysql_core","getMerchantCouponSchema","mysqlTable","id","varchar","length","notNull","identifier","organizationId","status","int","default","merchantAccountId","percentageDiscount","decimal","precision","scale","amountDiscount","type","table","merchantCouponId","primaryKey","columns","name","merchantCouponIdentifierKey","unique","on","organizationIdIdx","index","getCouponSchema","mysqlTable","id","varchar","length","notNull","organizationId","code","createdAt","timestamp","mode","fsp","default","sql","expires","fields","json","$type","maxUses","int","boolean","merchantCouponId","status","usedCount","percentageDiscount","decimal","precision","scale","amountDiscount","restrictedToProductId","table","couponIdCodeIndex","index","on","couponId","primaryKey","columns","name","couponCodeKey","unique","organizationIdIdx","getCouponRelationsSchema","purchase","getPurchaseSchema","coupon","merchantCoupon","getMerchantCouponSchema","relations","many","one","redeemedBulkCouponPurchases","relationName","references","product","getProductSchema","bulkPurchases","import_mysql_core","getMerchantSessionSchema","mysqlTable","id","varchar","length","notNull","organizationId","identifier","merchantAccountId","table","merchantSessionId","primaryKey","columns","name","organizationIdIdx","index","on","getPurchaseSchema","mysqlTable","id","varchar","length","notNull","userId","purchasedByorganizationMembershipId","organizationId","createdAt","timestamp","mode","fsp","default","sql","totalAmount","decimal","precision","scale","ipAddress","city","state","country","couponId","productId","merchantChargeId","upgradedFromId","status","bulkCouponId","merchantSessionId","redeemedBulkCouponId","fields","json","$type","table","purchaseId","primaryKey","columns","name","merchantChargeIdIdx","index","on","purchaseUpgradedFromIdKey","unique","organizationIdIdx","organizationMembershipIdIdx","userStatusProductIdx","getPurchaseRelationsSchema","overrides","purchases","resolveUsersSchema","getUsersSchema","users","products","getProductSchema","merchantCharges","getMerchantChargeSchema","merchantSessions","getMerchantSessionSchema","coupons","getCouponSchema","organizations","getOrganizationsSchema","organizationMemberships","getOrganizationMembershipsSchema","relations","many","one","redeemedBulkCoupon","references","relationName","user","organization","purchasedBy","product","bulkCoupon","merchantCharge","merchantSession","import_drizzle_orm","import_mysql_core","getCommentsSchema","mysqlTable","id","varchar","length","notNull","userId","organizationMembershipId","context","json","$type","default","text","createdAt","timestamp","mode","fsp","sql","updatedAt","deletedAt","crr","pk","primaryKey","columns","crrUserIdIdKey","index","on","organizationMembershipIdIdx","getCommentRelationsSchema","overrides","comment","resolveUsersSchema","getUsersSchema","user","organizationMemberships","getOrganizationMembershipsSchema","relations","one","fields","references","relationName","organizationMembership","import_drizzle_orm","import_mysql_core","import_mysql_core","getCommunicationChannelSchema","mysqlTable","id","varchar","length","notNull","primaryKey","organizationId","name","description","text","active","boolean","default","createdAt","timestamp","mode","fsp","defaultNow","updatedAt","deletedAt","cc","nameIdx","index","on","organizationIdIdx","import_mysql_core","getCommunicationPreferenceTypesSchema","mysqlTable","id","varchar","length","notNull","primaryKey","organizationId","name","description","text","active","boolean","default","createdAt","timestamp","mode","fsp","defaultNow","updatedAt","deletedAt","getCommunicationPreferencesSchema","mysqlTable","id","varchar","length","notNull","primaryKey","organizationId","userId","organizationMembershipId","channelId","preferenceLevel","mysqlEnum","default","preferenceTypeId","active","boolean","createdAt","timestamp","mode","fsp","defaultNow","optInAt","optOutAt","updatedAt","deletedAt","cp","userIdIdx","index","on","preferenceTypeIdx","channelIdIdx","organizationMembershipIdIdx","getCommunicationPreferencesRelationsSchema","overrides","communicationPreferences","resolveUsersSchema","getUsersSchema","users","communicationChannel","getCommunicationChannelSchema","communicationPreferenceTypes","getCommunicationPreferenceTypesSchema","organizationMemberships","getOrganizationMembershipsSchema","relations","one","user","fields","references","relationName","organizationMembership","channel","preferenceType","import_drizzle_orm","import_mysql_core","getProfilesSchema","mysqlTable","id","varchar","length","notNull","primaryKey","userId","type","fields","json","$type","default","createdAt","timestamp","mode","fsp","sql","updatedAt","profile","userIdIdx","index","on","uniqueUserType","uniqueIndex","getProfilesRelationsSchema","overrides","profiles","resolveUsersSchema","getUsersSchema","users","relations","one","user","references","relationName","import_drizzle_orm","import_mysql_core","import_drizzle_orm","import_mysql_core","getPermissionsSchema","mysqlTable","id","varchar","length","notNull","primaryKey","name","unique","description","text","active","boolean","default","createdAt","timestamp","mode","fsp","defaultNow","updatedAt","deletedAt","permission","nameIdx","index","on","getPermissionsRelationsSchema","relations","many","getUserPermissionsSchema","mysqlTable","userId","varchar","length","notNull","organizationId","permissionId","active","boolean","default","createdAt","timestamp","mode","fsp","defaultNow","updatedAt","deletedAt","up","pk","primaryKey","columns","userIdIdx","index","on","permissionIdIdx","organizationIdIdx","getUserPermissionsRelationsSchema","overrides","userPermissions","resolveUsersSchema","getUsersSchema","users","permissions","getPermissionsSchema","relations","one","user","fields","references","id","relationName","permission","import_drizzle_orm","import_mysql_core","getUserPrefsSchema","mysqlTable","id","varchar","length","notNull","organizationId","type","default","userId","fields","json","$type","createdAt","timestamp","mode","fsp","sql","updatedAt","deletedAt","crr","pk","primaryKey","columns","crrUserIdIdKey","index","on","organizationIdIdx","getUserPrefsRelationsSchema","overrides","userPrefs","resolveUsersSchema","getUsersSchema","user","relations","one","references","relationName","getUsersSchema","mysqlTable","id","varchar","length","notNull","primaryKey","name","role","default","email","unique","fields","json","$type","emailVerified","timestamp","mode","fsp","image","createdAt","sql","user","emailIdx","index","on","roleIdx","createdAtIdx","getUsersRelationsSchema","overrides","resolveUsersSchema","users","profiles","getProfilesSchema","accounts","getAccountsSchema","communicationPreferences","getCommunicationPreferencesSchema","userRoles","getUserRolesSchema","userPermissions","getUserPermissionsSchema","contentContributions","getContentContributionsSchema","contentResource","getContentResourceSchema","purchases","getPurchaseSchema","comments","getCommentsSchema","userPrefs","getUserPrefsSchema","organizationMemberships","getOrganizationMembershipsSchema","relations","many","one","relationName","roles","contributions","createdContent","prefs","getAccountsSchema","mysqlTable","userId","varchar","length","notNull","type","$type","provider","providerAccountId","refresh_token","text","access_token","oauth_token","oauth_token_secret","expires_at","int","token_type","scope","id_token","session_state","refresh_token_expires_in","account","pk","primaryKey","columns","userIdIdx","index","on","getAccountsRelationsSchema","overrides","accounts","resolveUsersSchema","getUsersSchema","users","relations","one","user","fields","references","id","relationName","import_drizzle_orm","import_mysql_core","getDeviceAccessTokenSchema","mysqlTable","token","varchar","length","notNull","userId","organizationMembershipId","createdAt","timestamp","mode","fsp","default","sql","crr","pk","primaryKey","columns","userIdIdx","index","on","getDeviceAccessTokenRelationsSchema","overrides","deviceAccessToken","resolveUsersSchema","getUsersSchema","user","relations","one","verifiedBy","fields","references","id","relationName","import_drizzle_orm","import_mysql_core","getDeviceVerificationSchema","mysqlTable","verifiedByUserId","varchar","length","deviceCode","notNull","userCode","text","expires","timestamp","mode","fsp","createdAt","default","sql","verifiedAt","crr","pk","primaryKey","columns","getDeviceVerificationRelationsSchema","overrides","deviceVerification","resolveUsersSchema","getUsersSchema","user","relations","one","verifiedBy","fields","references","id","relationName","import_drizzle_orm","import_mysql_core","getPersonalAccessTokenSchema","mysqlTable","id","varchar","length","notNull","userId","name","publicId","tokenPrefix","tokenHash","scopes","json","$type","expiresAt","timestamp","mode","fsp","lastUsedAt","revokedAt","createdAt","default","sql","updatedAt","$onUpdate","Date","pat","pk","primaryKey","columns","publicIdIdx","uniqueIndex","on","tokenHashIdx","userIdIdx","index","expiresAtIdx","revokedAtIdx","getPersonalAccessTokenRelationsSchema","overrides","personalAccessToken","resolveUsersSchema","getUsersSchema","user","relations","one","fields","references","relationName","import_drizzle_orm","import_mysql_core","getRolePermissionsSchema","mysqlTable","roleId","varchar","length","notNull","permissionId","active","boolean","default","createdAt","timestamp","mode","fsp","defaultNow","updatedAt","deletedAt","rp","pk","primaryKey","columns","roleIdIdx","index","on","permissionIdIdx","getRolePermissionsRelationsSchema","permissions","getPermissionsSchema","roles","getRolesSchema","rolePermissions","relations","one","role","fields","references","id","relationName","permission","import_drizzle_orm","import_mysql_core","getSessionsSchema","mysqlTable","sessionToken","varchar","length","notNull","primaryKey","userId","expires","timestamp","mode","session","userIdIdx","index","on","getSessionRelationsSchema","overrides","sessions","resolveUsersSchema","getUsersSchema","users","relations","one","user","fields","references","id","relationName","import_mysql_core","getVerificationTokensSchema","mysqlTable","identifier","varchar","length","notNull","token","expires","timestamp","mode","createdAt","fsp","defaultNow","vt","pk","primaryKey","columns","import_drizzle_orm","import_mysql_core","getMerchantEventsSchema","mysqlTable","id","varchar","length","notNull","merchantAccountId","identifier","payload","json","createdAt","timestamp","mode","fsp","default","sql","table","merchantEventsId","primaryKey","columns","name","merchantEventsIdentifierKey","unique","on","merchantAccountIdIdx","index","createdAtIdx","getMerchantEventsRelationsSchema","merchantEvents","merchantAccount","getMerchantAccountSchema","relations","one","fields","references","relationName","import_drizzle_orm","import_mysql_core","getPurchaseUserTransferSchema","mysqlTable","id","varchar","length","notNull","transferState","mysqlEnum","default","purchaseId","organizationId","sourceUserId","targetUserId","createdAt","timestamp","mode","fsp","sql","expiresAt","canceledAt","confirmedAt","completedAt","table","purchaseUserTransferId","primaryKey","columns","name","organizationIdIdx","index","on","getPurchaseUserTransferRelationsSchema","overrides","purchaseUserTransfer","resolveUsersSchema","getUsersSchema","user","purchase","getPurchaseSchema","relations","one","sourceUser","fields","references","relationName","targetUser","import_drizzle_orm","import_mysql_core","getUpgradableProductsSchema","mysqlTable","upgradableToId","varchar","length","notNull","upgradableFromId","organizationId","position","double","default","metadata","json","$type","createdAt","timestamp","mode","fsp","sql","updatedAt","deletedAt","crr","pk","primaryKey","columns","upgradableToIdIdx","index","on","upgradableFromIdIdx","organizationIdIdx","getUpgradableProductsRelationsSchema","product","getProductSchema","upgradableProduct","relations","one","upgradableTo","fields","references","id","relationName","upgradableFrom","import_drizzle_orm","import_mysql_core","getQuestionResponseSchema","mysqlTable","id","varchar","length","notNull","primaryKey","surveyId","questionId","respondentKey","surveySessionId","userId","emailListSubscriberId","fields","json","$type","default","createdAt","timestamp","mode","fsp","sql","updatedAt","deletedAt","qr","surveyIdIdx","index","on","questionIdIdx","respondentKeyIdx","surveySessionIdIdx","userIdIdx","emailListSubscriberIdIdx","surveySubscriberIdx","surveyQuestionRespondentIdx","uniqueIndex","getQuestionResponseRelationsSchema","overrides","questionResponse","resolveUsersSchema","getUsersSchema","users","contentResource","getContentResourceSchema","relations","one","user","references","relationName","survey","question","import_drizzle_orm","import_mysql_core","getLessonProgressSchema","mysqlTable","id","varchar","length","notNull","primaryKey","userId","organizationId","organizationMembershipId","lessonId","lessonSlug","lessonVersion","sectionId","moduleId","completedAt","datetime","mode","fsp","updatedAt","createdAt","default","sql","crp","userIdLessonIdIdx","index","on","userIdIdx","lessonIdIdx","organizationMembershipIdIdx","import_drizzle_orm","import_mysql_core","getResourceProgressSchema","mysqlTable","userId","varchar","length","notNull","organizationId","organizationMembershipId","resourceId","fields","json","$type","default","completedAt","datetime","mode","fsp","updatedAt","createdAt","sql","crp","userIdLessonIdIdx","index","on","pk","primaryKey","columns","contentResourceIdIdx","userIdIdx","organizationMembershipIdIdx","import_mysql_core","getEntitlementTypesSchema","mysqlTable","id","varchar","length","notNull","primaryKey","name","description","text","table","uniqueName","uniqueIndex","on","import_drizzle_orm","import_mysql_core","getEntitlementsSchema","mysqlTable","id","varchar","length","notNull","primaryKey","entitlementType","userId","organizationId","organizationMembershipId","sourceType","sourceId","metadata","json","$type","default","expiresAt","timestamp","mode","fsp","createdAt","sql","updatedAt","deletedAt","table","userIdIdx","index","on","orgIdIdx","sourceIdx","typeIdx","userIdTypeDeletedAtIdx","getEntitlementRelationsSchema","overrides","entitlements","resolveUsersSchema","getUsersSchema","users","orgs","getOrganizationsSchema","memberships","getOrganizationMembershipsSchema","relations","one","user","fields","references","organization","membership","getCourseBuilderSchema","mysqlTable","overrides","resolvedGetUsersSchema","getUsersSchema","userRelationsOverrides","accounts","getAccountsSchema","accountsRelations","getAccountsRelationsSchema","permissions","getPermissionsSchema","permissionsRelations","getPermissionsRelationsSchema","rolePermissions","getRolePermissionsSchema","rolePermissionsRelations","getRolePermissionsRelationsSchema","roles","getRolesSchema","rolesRelations","getRolesRelationsSchema","sessions","getSessionsSchema","sessionsRelations","getSessionRelationsSchema","userPermissions","getUserPermissionsSchema","userPermissionsRelations","getUserPermissionsRelationsSchema","userRoles","getUserRolesSchema","userRolesRelations","getUserRolesRelationsSchema","users","usersRelations","getUsersRelationsSchema","verificationTokens","getVerificationTokensSchema","coupon","getCouponSchema","couponRelations","getCouponRelationsSchema","lessonProgress","getLessonProgressSchema","merchantAccount","getMerchantAccountSchema","merchantCharge","getMerchantChargeSchema","merchantChargeRelations","getMerchantChargeRelationsSchema","merchantEvents","getMerchantEventsSchema","merchantEventsRelations","getMerchantEventsRelationsSchema","merchantCoupon","getMerchantCouponSchema","merchantCustomer","getMerchantCustomerSchema","merchantPrice","getMerchantPriceSchema","merchantProduct","getMerchantProductSchema","merchantSession","getMerchantSessionSchema","prices","getPriceSchema","products","getProductSchema","purchases","getPurchaseSchema","purchaseRelations","getPurchaseRelationsSchema","purchaseUserTransfer","getPurchaseUserTransferSchema","purchaseUserTransferRelations","getPurchaseUserTransferRelationsSchema","communicationChannel","getCommunicationChannelSchema","communicationPreferenceTypes","getCommunicationPreferenceTypesSchema","communicationPreferences","getCommunicationPreferencesSchema","communicationPreferencesRelations","getCommunicationPreferencesRelationsSchema","contentContributions","getContentContributionsSchema","contentContributionRelations","getContentContributionRelationsSchema","contentResource","getContentResourceSchema","contentResourceVersion","getContentResourceVersionSchema","contentResourceVersionRelations","getContentResourceVersionRelationsSchema","contentResourceRelations","getContentResourceRelationsSchema","contentResourceResource","getContentResourceResourceSchema","contentResourceResourceRelations","getContentResourceResourceRelationsSchema","contentResourceTag","getContentResourceTagSchema","contentResourceTagRelations","getContentResourceTagRelationsSchema","contributionTypes","getContributionTypesSchema","contributionTypesRelations","getContributionTypesRelationsSchema","resourceProgress","getResourceProgressSchema","questionResponse","getQuestionResponseSchema","questionResponseRelations","getQuestionResponseRelationsSchema","upgradableProducts","getUpgradableProductsSchema","upgradableProductsRelations","getUpgradableProductsRelationsSchema","contentResourceProduct","getContentResourceProductSchema","contentResourceProductRelations","getContentResourceProductRelationsSchema","productRelations","getProductRelationsSchema","comments","getCommentsSchema","commentsRelations","getCommentRelationsSchema","deviceVerifications","getDeviceVerificationSchema","deviceVerificationRelations","getDeviceVerificationRelationsSchema","deviceAccessToken","getDeviceAccessTokenSchema","deviceAccessTokenRelations","getDeviceAccessTokenRelationsSchema","personalAccessToken","getPersonalAccessTokenSchema","personalAccessTokenRelations","getPersonalAccessTokenRelationsSchema","tag","getTagSchema","tagRelations","getTagRelationsSchema","tagTag","getTagTagSchema","tagTagRelations","getTagTagRelationsSchema","userPrefs","getUserPrefsSchema","userPrefsRelations","getUserPrefsRelationsSchema","organization","getOrganizationsSchema","organizationRelations","getOrganizationsRelationsSchema","organizationMemberships","getOrganizationMembershipsSchema","organizationMembershipRelations","getOrganizationMembershipsRelationsSchema","organizationMembershipRoles","getOrganizationMembershipRolesSchema","organizationMembershipRolesRelations","getOrganizationMembershipRolesRelationsSchema","merchantSubscription","getMerchantSubscriptionSchema","merchantSubscriptionRelations","getMerchantSubscriptionRelationsSchema","subscription","getSubscriptionSchema","subscriptionRelations","getSubscriptionRelationsSchema","profiles","getProfilesSchema","profilesRelations","getProfilesRelationsSchema","entitlementTypes","getEntitlementTypesSchema","entitlements","getEntitlementsSchema","entitlementsRelations","getEntitlementRelationsSchema","createTables","mySqlTable"]}