@autorest/typescript 6.0.0-beta.7 → 6.0.0-rc.1

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 (437) hide show
  1. package/README.md +42 -5
  2. package/dist/{src/generators/static/README.md.hbs → hlcREADME.md.hbs} +41 -5
  3. package/dist/hlcSamples.ts.hbs +49 -0
  4. package/dist/karma.conf.js.hbs +126 -0
  5. package/dist/paginateHelper.ts.hbs +208 -0
  6. package/dist/pollingHelper.ts.hbs +72 -0
  7. package/dist/rlcEnv.ts.hbs +3 -0
  8. package/dist/rlcREADME.md.hbs +71 -0
  9. package/dist/rlcRecordedClient.ts.hbs +26 -0
  10. package/dist/rlcSampleTest.spec.ts.hbs +20 -0
  11. package/dist/rlcSamples.ts.hbs +28 -0
  12. package/dist/sampleEnv.hbs +4 -0
  13. package/dist/sampleTest.ts.hbs +32 -0
  14. package/dist/samples.ts.hbs +0 -0
  15. package/dist/src/autorestSession.d.ts +18 -6
  16. package/dist/src/autorestSession.d.ts.map +1 -1
  17. package/dist/src/autorestSession.js +3 -9
  18. package/dist/src/autorestSession.js.map +1 -1
  19. package/dist/src/conflictResolver.d.ts +3 -0
  20. package/dist/src/conflictResolver.d.ts.map +1 -0
  21. package/dist/src/conflictResolver.js +43 -0
  22. package/dist/src/conflictResolver.js.map +1 -0
  23. package/dist/src/generators/LROGenerator.d.ts.map +1 -1
  24. package/dist/src/generators/LROGenerator.js +5 -13
  25. package/dist/src/generators/LROGenerator.js.map +1 -1
  26. package/dist/src/generators/clientFileGenerator.d.ts.map +1 -1
  27. package/dist/src/generators/clientFileGenerator.js +303 -61
  28. package/dist/src/generators/clientFileGenerator.js.map +1 -1
  29. package/dist/src/generators/indexGenerator.d.ts +1 -1
  30. package/dist/src/generators/indexGenerator.d.ts.map +1 -1
  31. package/dist/src/generators/indexGenerator.js +143 -11
  32. package/dist/src/generators/indexGenerator.js.map +1 -1
  33. package/dist/src/generators/mappersGenerator.d.ts.map +1 -1
  34. package/dist/src/generators/mappersGenerator.js +93 -19
  35. package/dist/src/generators/mappersGenerator.js.map +1 -1
  36. package/dist/src/generators/modelsGenerator.d.ts.map +1 -1
  37. package/dist/src/generators/modelsGenerator.js +81 -82
  38. package/dist/src/generators/modelsGenerator.js.map +1 -1
  39. package/dist/src/generators/operationGenerator.d.ts.map +1 -1
  40. package/dist/src/generators/operationGenerator.js +92 -125
  41. package/dist/src/generators/operationGenerator.js.map +1 -1
  42. package/dist/src/generators/operationInterfaceGenerator.js +20 -20
  43. package/dist/src/generators/operationInterfaceGenerator.js.map +1 -1
  44. package/dist/src/generators/parametersGenerator.d.ts.map +1 -1
  45. package/dist/src/generators/parametersGenerator.js +7 -8
  46. package/dist/src/generators/parametersGenerator.js.map +1 -1
  47. package/dist/src/generators/samples/hlcSampleGenerator.d.ts +13 -0
  48. package/dist/src/generators/samples/hlcSampleGenerator.d.ts.map +1 -0
  49. package/dist/src/generators/samples/hlcSampleGenerator.js +43 -0
  50. package/dist/src/generators/samples/hlcSampleGenerator.js.map +1 -0
  51. package/dist/src/generators/samples/hlcSamples.ts.hbs +49 -0
  52. package/dist/src/generators/samples/rlcSampleGenerator.d.ts +4 -0
  53. package/dist/src/generators/samples/rlcSampleGenerator.d.ts.map +1 -0
  54. package/dist/src/generators/samples/rlcSampleGenerator.js +64 -0
  55. package/dist/src/generators/samples/rlcSampleGenerator.js.map +1 -0
  56. package/dist/src/generators/samples/rlcSamples.ts.hbs +28 -0
  57. package/dist/src/generators/samples/sampleEnv.hbs +4 -0
  58. package/dist/src/generators/samples/sampleEnvGenerator.d.ts +3 -0
  59. package/dist/src/generators/samples/sampleEnvGenerator.d.ts.map +1 -0
  60. package/dist/src/generators/samples/sampleEnvGenerator.js +17 -0
  61. package/dist/src/generators/samples/sampleEnvGenerator.js.map +1 -0
  62. package/dist/src/generators/static/apiExtractorConfig.js +3 -3
  63. package/dist/src/generators/static/apiExtractorConfig.js.map +1 -1
  64. package/dist/src/generators/static/esLintConfigGenerator.d.ts +3 -0
  65. package/dist/src/generators/static/esLintConfigGenerator.d.ts.map +1 -0
  66. package/dist/src/generators/static/esLintConfigGenerator.js +26 -0
  67. package/dist/src/generators/static/esLintConfigGenerator.js.map +1 -0
  68. package/{src/generators/static/README.md.hbs → dist/src/generators/static/hlcREADME.md.hbs} +41 -5
  69. package/dist/src/generators/static/karma.conf.js.hbs +126 -0
  70. package/dist/src/generators/static/karmaConfigFileGenerator.d.ts +3 -0
  71. package/dist/src/generators/static/karmaConfigFileGenerator.d.ts.map +1 -0
  72. package/dist/src/generators/static/karmaConfigFileGenerator.js +23 -0
  73. package/dist/src/generators/static/karmaConfigFileGenerator.js.map +1 -0
  74. package/dist/src/generators/static/licenseFileGenerator.js +1 -1
  75. package/dist/src/generators/static/licenseFileGenerator.js.map +1 -1
  76. package/dist/src/generators/static/packageFileGenerator.d.ts.map +1 -1
  77. package/dist/src/generators/static/packageFileGenerator.js +267 -79
  78. package/dist/src/generators/static/packageFileGenerator.js.map +1 -1
  79. package/dist/src/generators/static/readmeFileGenerator.d.ts +2 -2
  80. package/dist/src/generators/static/readmeFileGenerator.d.ts.map +1 -1
  81. package/dist/src/generators/static/readmeFileGenerator.js +54 -26
  82. package/dist/src/generators/static/readmeFileGenerator.js.map +1 -1
  83. package/dist/src/generators/static/rlcREADME.md.hbs +71 -0
  84. package/dist/src/generators/static/rollupConfigFileGenerator.d.ts.map +1 -1
  85. package/dist/src/generators/static/rollupConfigFileGenerator.js +12 -71
  86. package/dist/src/generators/static/rollupConfigFileGenerator.js.map +1 -1
  87. package/dist/src/generators/static/tsConfigFileGenerator.d.ts.map +1 -1
  88. package/dist/src/generators/static/tsConfigFileGenerator.js +47 -20
  89. package/dist/src/generators/static/tsConfigFileGenerator.js.map +1 -1
  90. package/dist/src/generators/test/envBrowserFileGenerator.d.ts +3 -0
  91. package/dist/src/generators/test/envBrowserFileGenerator.d.ts.map +1 -0
  92. package/dist/src/generators/test/envBrowserFileGenerator.js +15 -0
  93. package/dist/src/generators/test/envBrowserFileGenerator.js.map +1 -0
  94. package/dist/src/generators/test/envFileGenerator.d.ts +3 -0
  95. package/dist/src/generators/test/envFileGenerator.d.ts.map +1 -0
  96. package/dist/src/generators/test/envFileGenerator.js +23 -0
  97. package/dist/src/generators/test/envFileGenerator.js.map +1 -0
  98. package/dist/src/generators/test/recordedClientFileGenerator.d.ts +3 -0
  99. package/dist/src/generators/test/recordedClientFileGenerator.d.ts.map +1 -0
  100. package/dist/src/generators/test/recordedClientFileGenerator.js +23 -0
  101. package/dist/src/generators/test/recordedClientFileGenerator.js.map +1 -0
  102. package/dist/src/generators/test/rlcEnv.ts.hbs +3 -0
  103. package/dist/src/generators/test/rlcRecordedClient.ts.hbs +26 -0
  104. package/dist/src/generators/test/rlcSampleTest.spec.ts.hbs +20 -0
  105. package/dist/src/generators/test/sampleTest.ts.hbs +32 -0
  106. package/dist/src/generators/test/sampleTestGenerator.d.ts +3 -0
  107. package/dist/src/generators/test/sampleTestGenerator.d.ts.map +1 -0
  108. package/dist/src/generators/test/sampleTestGenerator.js +34 -0
  109. package/dist/src/generators/test/sampleTestGenerator.js.map +1 -0
  110. package/dist/src/generators/tracingFileGenerator.d.ts.map +1 -1
  111. package/dist/src/generators/tracingFileGenerator.js +7 -21
  112. package/dist/src/generators/tracingFileGenerator.js.map +1 -1
  113. package/dist/src/generators/utils/docsUtils.js +2 -2
  114. package/dist/src/generators/utils/docsUtils.js.map +1 -1
  115. package/dist/src/generators/utils/operationsUtils.js +1 -1
  116. package/dist/src/generators/utils/operationsUtils.js.map +1 -1
  117. package/dist/src/generators/utils/pagingOperations.d.ts +5 -0
  118. package/dist/src/generators/utils/pagingOperations.d.ts.map +1 -1
  119. package/dist/src/generators/utils/pagingOperations.js +15 -15
  120. package/dist/src/generators/utils/pagingOperations.js.map +1 -1
  121. package/dist/src/generators/utils/parameterUtils.js +9 -9
  122. package/dist/src/generators/utils/parameterUtils.js.map +1 -1
  123. package/dist/src/generators/utils/responseTypeUtils.js +2 -2
  124. package/dist/src/generators/utils/responseTypeUtils.js.map +1 -1
  125. package/dist/src/generators/utils/tracingUtils.d.ts.map +1 -1
  126. package/dist/src/generators/utils/tracingUtils.js +2 -6
  127. package/dist/src/generators/utils/tracingUtils.js.map +1 -1
  128. package/dist/src/lroImpl.d.ts +16 -0
  129. package/dist/src/lroImpl.d.ts.map +1 -0
  130. package/dist/src/lroImpl.js +45 -0
  131. package/dist/src/lroImpl.js.map +1 -0
  132. package/dist/src/main.d.ts +2 -2
  133. package/dist/src/main.d.ts.map +1 -1
  134. package/dist/src/main.js +8 -8
  135. package/dist/src/main.js.map +1 -1
  136. package/dist/src/models/clientDetails.d.ts +10 -1
  137. package/dist/src/models/clientDetails.d.ts.map +1 -1
  138. package/dist/src/models/modelDetails.d.ts +2 -2
  139. package/dist/src/models/modelDetails.d.ts.map +1 -1
  140. package/dist/src/models/operationDetails.d.ts +1 -0
  141. package/dist/src/models/operationDetails.d.ts.map +1 -1
  142. package/dist/src/models/sampleDetails.d.ts +22 -0
  143. package/dist/src/models/sampleDetails.d.ts.map +1 -0
  144. package/dist/src/models/sampleDetails.js +3 -0
  145. package/dist/src/models/sampleDetails.js.map +1 -0
  146. package/dist/src/restLevelClient/generateClient.d.ts +1 -1
  147. package/dist/src/restLevelClient/generateClient.d.ts.map +1 -1
  148. package/dist/src/restLevelClient/generateClient.js +108 -167
  149. package/dist/src/restLevelClient/generateClient.js.map +1 -1
  150. package/dist/src/restLevelClient/generateClientDefinition.d.ts +6 -0
  151. package/dist/src/restLevelClient/generateClientDefinition.d.ts.map +1 -0
  152. package/dist/src/restLevelClient/generateClientDefinition.js +261 -0
  153. package/dist/src/restLevelClient/generateClientDefinition.js.map +1 -0
  154. package/dist/src/restLevelClient/generateIsUnexpectedHelper.d.ts +8 -0
  155. package/dist/src/restLevelClient/generateIsUnexpectedHelper.d.ts.map +1 -0
  156. package/dist/src/restLevelClient/generateIsUnexpectedHelper.js +204 -0
  157. package/dist/src/restLevelClient/generateIsUnexpectedHelper.js.map +1 -0
  158. package/dist/src/restLevelClient/generateMethodShortcuts.d.ts +8 -0
  159. package/dist/src/restLevelClient/generateMethodShortcuts.d.ts.map +1 -0
  160. package/dist/src/restLevelClient/generateMethodShortcuts.js +70 -0
  161. package/dist/src/restLevelClient/generateMethodShortcuts.js.map +1 -0
  162. package/dist/src/restLevelClient/generateObjectTypes.d.ts +3 -3
  163. package/dist/src/restLevelClient/generateObjectTypes.d.ts.map +1 -1
  164. package/dist/src/restLevelClient/generateObjectTypes.js +43 -31
  165. package/dist/src/restLevelClient/generateObjectTypes.js.map +1 -1
  166. package/dist/src/restLevelClient/generatePagingHelper.d.ts +3 -0
  167. package/dist/src/restLevelClient/generatePagingHelper.d.ts.map +1 -0
  168. package/dist/src/restLevelClient/generatePagingHelper.js +54 -0
  169. package/dist/src/restLevelClient/generatePagingHelper.js.map +1 -0
  170. package/dist/src/restLevelClient/generateParameterTypes.d.ts.map +1 -1
  171. package/dist/src/restLevelClient/generateParameterTypes.js +247 -43
  172. package/dist/src/restLevelClient/generateParameterTypes.js.map +1 -1
  173. package/dist/src/restLevelClient/generatePollingHelper.d.ts +3 -0
  174. package/dist/src/restLevelClient/generatePollingHelper.d.ts.map +1 -0
  175. package/dist/src/restLevelClient/generatePollingHelper.js +20 -0
  176. package/dist/src/restLevelClient/generatePollingHelper.js.map +1 -0
  177. package/dist/src/restLevelClient/generateResponseTypes.d.ts.map +1 -1
  178. package/dist/src/restLevelClient/generateResponseTypes.js +45 -29
  179. package/dist/src/restLevelClient/generateResponseTypes.js.map +1 -1
  180. package/dist/src/restLevelClient/generateRestLevel.d.ts.map +1 -1
  181. package/dist/src/restLevelClient/generateRestLevel.js +64 -15
  182. package/dist/src/restLevelClient/generateRestLevel.js.map +1 -1
  183. package/dist/src/restLevelClient/generateSchemaTypes.d.ts.map +1 -1
  184. package/dist/src/restLevelClient/generateSchemaTypes.js +29 -7
  185. package/dist/src/restLevelClient/generateSchemaTypes.js.map +1 -1
  186. package/dist/src/restLevelClient/generateTopLevelIndexFile.d.ts +4 -0
  187. package/dist/src/restLevelClient/generateTopLevelIndexFile.d.ts.map +1 -0
  188. package/dist/src/restLevelClient/generateTopLevelIndexFile.js +37 -0
  189. package/dist/src/restLevelClient/generateTopLevelIndexFile.js.map +1 -0
  190. package/dist/src/restLevelClient/getPropertySignature.d.ts +3 -2
  191. package/dist/src/restLevelClient/getPropertySignature.d.ts.map +1 -1
  192. package/dist/src/restLevelClient/getPropertySignature.js +23 -7
  193. package/dist/src/restLevelClient/getPropertySignature.js.map +1 -1
  194. package/dist/src/restLevelClient/helpers/hasPollingOperations.d.ts +4 -0
  195. package/dist/src/restLevelClient/helpers/hasPollingOperations.d.ts.map +1 -0
  196. package/dist/src/restLevelClient/helpers/hasPollingOperations.js +12 -0
  197. package/dist/src/restLevelClient/helpers/hasPollingOperations.js.map +1 -0
  198. package/dist/src/restLevelClient/helpers/modelHelpers.d.ts +4 -0
  199. package/dist/src/restLevelClient/helpers/modelHelpers.d.ts.map +1 -0
  200. package/dist/src/restLevelClient/helpers/modelHelpers.js +19 -0
  201. package/dist/src/restLevelClient/helpers/modelHelpers.js.map +1 -0
  202. package/dist/src/restLevelClient/helpers/operationHelpers.d.ts +10 -0
  203. package/dist/src/restLevelClient/helpers/operationHelpers.d.ts.map +1 -0
  204. package/dist/src/restLevelClient/helpers/operationHelpers.js +64 -0
  205. package/dist/src/restLevelClient/helpers/operationHelpers.js.map +1 -0
  206. package/dist/src/restLevelClient/interfaces.d.ts +33 -0
  207. package/dist/src/restLevelClient/interfaces.d.ts.map +1 -0
  208. package/dist/src/restLevelClient/interfaces.js +3 -0
  209. package/dist/src/restLevelClient/interfaces.js.map +1 -0
  210. package/dist/src/restLevelClient/mutateCodeModel.js +2 -2
  211. package/dist/src/restLevelClient/mutateCodeModel.js.map +1 -1
  212. package/dist/src/restLevelClient/operationHelpers.d.ts +4 -0
  213. package/dist/src/restLevelClient/operationHelpers.d.ts.map +1 -1
  214. package/dist/src/restLevelClient/operationHelpers.js +21 -10
  215. package/dist/src/restLevelClient/operationHelpers.js.map +1 -1
  216. package/dist/src/restLevelClient/paginateHelper.ts.hbs +208 -0
  217. package/dist/src/restLevelClient/pollingHelper.ts.hbs +72 -0
  218. package/dist/src/restLevelClient/samples/generateSamples.d.ts +23 -0
  219. package/dist/src/restLevelClient/samples/generateSamples.d.ts.map +1 -0
  220. package/dist/src/restLevelClient/samples/generateSamples.js +3 -0
  221. package/dist/src/restLevelClient/samples/generateSamples.js.map +1 -0
  222. package/dist/src/restLevelClient/samples/samples.ts.hbs +0 -0
  223. package/dist/src/restLevelClient/schemaHelpers.d.ts +12 -2
  224. package/dist/src/restLevelClient/schemaHelpers.d.ts.map +1 -1
  225. package/dist/src/restLevelClient/schemaHelpers.js +48 -14
  226. package/dist/src/restLevelClient/schemaHelpers.js.map +1 -1
  227. package/dist/src/transforms/extensions.js +10 -10
  228. package/dist/src/transforms/extensions.js.map +1 -1
  229. package/dist/src/transforms/groupTransforms.js +2 -2
  230. package/dist/src/transforms/groupTransforms.js.map +1 -1
  231. package/dist/src/transforms/mapperTransforms.d.ts +1 -1
  232. package/dist/src/transforms/mapperTransforms.d.ts.map +1 -1
  233. package/dist/src/transforms/mapperTransforms.js +30 -27
  234. package/dist/src/transforms/mapperTransforms.js.map +1 -1
  235. package/dist/src/transforms/objectTransforms.d.ts.map +1 -1
  236. package/dist/src/transforms/objectTransforms.js +42 -26
  237. package/dist/src/transforms/objectTransforms.js.map +1 -1
  238. package/dist/src/transforms/operationTransforms.d.ts.map +1 -1
  239. package/dist/src/transforms/operationTransforms.js +29 -26
  240. package/dist/src/transforms/operationTransforms.js.map +1 -1
  241. package/dist/src/transforms/optionsTransforms.js +1 -1
  242. package/dist/src/transforms/optionsTransforms.js.map +1 -1
  243. package/dist/src/transforms/parameterTransforms.d.ts.map +1 -1
  244. package/dist/src/transforms/parameterTransforms.js +43 -27
  245. package/dist/src/transforms/parameterTransforms.js.map +1 -1
  246. package/dist/src/transforms/samplesTransforms.d.ts +7 -0
  247. package/dist/src/transforms/samplesTransforms.d.ts.map +1 -0
  248. package/dist/src/transforms/samplesTransforms.js +293 -0
  249. package/dist/src/transforms/samplesTransforms.js.map +1 -0
  250. package/dist/src/transforms/transforms.d.ts +1 -2
  251. package/dist/src/transforms/transforms.d.ts.map +1 -1
  252. package/dist/src/transforms/transforms.js +26 -24
  253. package/dist/src/transforms/transforms.js.map +1 -1
  254. package/dist/src/transforms/urlTransforms.js +3 -3
  255. package/dist/src/transforms/urlTransforms.js.map +1 -1
  256. package/dist/src/typescriptGenerator.d.ts +2 -2
  257. package/dist/src/typescriptGenerator.d.ts.map +1 -1
  258. package/dist/src/typescriptGenerator.js +46 -40
  259. package/dist/src/typescriptGenerator.js.map +1 -1
  260. package/dist/src/utils/autorestOptions.d.ts +2 -2
  261. package/dist/src/utils/autorestOptions.d.ts.map +1 -1
  262. package/dist/src/utils/autorestOptions.js +148 -61
  263. package/dist/src/utils/autorestOptions.js.map +1 -1
  264. package/dist/src/utils/cloneOperation.js +2 -2
  265. package/dist/src/utils/cloneOperation.js.map +1 -1
  266. package/dist/src/utils/copyFiles.d.ts +2 -0
  267. package/dist/src/utils/copyFiles.d.ts.map +1 -0
  268. package/dist/src/utils/copyFiles.js +33 -0
  269. package/dist/src/utils/copyFiles.js.map +1 -0
  270. package/dist/src/utils/extractHeaders.js +4 -4
  271. package/dist/src/utils/extractHeaders.js.map +1 -1
  272. package/dist/src/utils/extractPaginationDetails.d.ts +5 -1
  273. package/dist/src/utils/extractPaginationDetails.d.ts.map +1 -1
  274. package/dist/src/utils/extractPaginationDetails.js +23 -10
  275. package/dist/src/utils/extractPaginationDetails.js.map +1 -1
  276. package/dist/src/utils/headersToSchema.js +1 -1
  277. package/dist/src/utils/headersToSchema.js.map +1 -1
  278. package/dist/src/utils/logger.js +1 -1
  279. package/dist/src/utils/logger.js.map +1 -1
  280. package/dist/src/utils/nameUtils.d.ts +6 -2
  281. package/dist/src/utils/nameUtils.d.ts.map +1 -1
  282. package/dist/src/utils/nameUtils.js +13 -8
  283. package/dist/src/utils/nameUtils.js.map +1 -1
  284. package/dist/src/utils/schemaHelpers.d.ts +6 -1
  285. package/dist/src/utils/schemaHelpers.d.ts.map +1 -1
  286. package/dist/src/utils/schemaHelpers.js +50 -7
  287. package/dist/src/utils/schemaHelpers.js.map +1 -1
  288. package/dist/src/utils/sortObjectSchemasHierarchically.js +1 -1
  289. package/dist/src/utils/sortObjectSchemasHierarchically.js.map +1 -1
  290. package/dist/src/utils/valueHelpers.d.ts.map +1 -1
  291. package/dist/src/utils/valueHelpers.js +2 -1
  292. package/dist/src/utils/valueHelpers.js.map +1 -1
  293. package/package.json +59 -39
  294. package/src/autorestSession.ts +26 -18
  295. package/src/conflictResolver.ts +61 -0
  296. package/src/generators/LROGenerator.ts +2 -16
  297. package/src/generators/clientFileGenerator.ts +400 -50
  298. package/src/generators/indexGenerator.ts +166 -14
  299. package/src/generators/mappersGenerator.ts +108 -8
  300. package/src/generators/modelsGenerator.ts +101 -98
  301. package/src/generators/operationGenerator.ts +63 -122
  302. package/src/generators/parametersGenerator.ts +2 -3
  303. package/src/generators/samples/hlcSampleGenerator.ts +50 -0
  304. package/src/generators/samples/hlcSamples.ts.hbs +49 -0
  305. package/src/generators/samples/rlcSampleGenerator.ts +72 -0
  306. package/src/generators/samples/rlcSamples.ts.hbs +28 -0
  307. package/src/generators/samples/sampleEnv.hbs +4 -0
  308. package/src/generators/samples/sampleEnvGenerator.ts +14 -0
  309. package/src/generators/static/apiExtractorConfig.ts +3 -3
  310. package/src/generators/static/esLintConfigGenerator.ts +24 -0
  311. package/src/generators/static/hlcREADME.md.hbs +144 -0
  312. package/src/generators/static/karma.conf.js.hbs +126 -0
  313. package/src/generators/static/karmaConfigFileGenerator.ts +20 -0
  314. package/src/generators/static/packageFileGenerator.ts +305 -82
  315. package/src/generators/static/readmeFileGenerator.ts +85 -42
  316. package/src/generators/static/rlcREADME.md.hbs +71 -0
  317. package/src/generators/static/rollupConfigFileGenerator.ts +13 -71
  318. package/src/generators/static/tsConfigFileGenerator.ts +55 -21
  319. package/src/generators/test/envBrowserFileGenerator.ts +14 -0
  320. package/src/generators/test/envFileGenerator.ts +22 -0
  321. package/src/generators/test/recordedClientFileGenerator.ts +22 -0
  322. package/src/generators/test/rlcEnv.ts.hbs +3 -0
  323. package/src/generators/test/rlcRecordedClient.ts.hbs +26 -0
  324. package/src/generators/test/rlcSampleTest.spec.ts.hbs +20 -0
  325. package/src/generators/test/sampleTest.ts.hbs +32 -0
  326. package/src/generators/test/sampleTestGenerator.ts +32 -0
  327. package/src/generators/tracingFileGenerator.ts +6 -24
  328. package/src/generators/utils/pagingOperations.ts +1 -2
  329. package/src/generators/utils/tracingUtils.ts +1 -5
  330. package/src/lroImpl.ts +26 -0
  331. package/src/main.ts +8 -5
  332. package/src/models/clientDetails.ts +11 -1
  333. package/src/models/modelDetails.ts +2 -2
  334. package/src/models/operationDetails.ts +1 -0
  335. package/src/models/sampleDetails.ts +22 -0
  336. package/src/restLevelClient/generateClient.ts +134 -244
  337. package/src/restLevelClient/generateClientDefinition.ts +386 -0
  338. package/src/restLevelClient/generateIsUnexpectedHelper.ts +224 -0
  339. package/src/restLevelClient/generateMethodShortcuts.ts +121 -0
  340. package/src/restLevelClient/generateObjectTypes.ts +62 -21
  341. package/src/restLevelClient/generatePagingHelper.ts +69 -0
  342. package/src/restLevelClient/generateParameterTypes.ts +377 -55
  343. package/src/restLevelClient/generatePollingHelper.ts +19 -0
  344. package/src/restLevelClient/generateResponseTypes.ts +53 -22
  345. package/src/restLevelClient/generateRestLevel.ts +65 -8
  346. package/src/restLevelClient/generateSchemaTypes.ts +43 -8
  347. package/src/restLevelClient/generateTopLevelIndexFile.ts +37 -0
  348. package/src/restLevelClient/getPropertySignature.ts +31 -6
  349. package/src/restLevelClient/helpers/hasPollingOperations.ts +15 -0
  350. package/src/restLevelClient/helpers/modelHelpers.ts +15 -0
  351. package/src/restLevelClient/helpers/operationHelpers.ts +93 -0
  352. package/src/restLevelClient/interfaces.ts +39 -0
  353. package/src/restLevelClient/operationHelpers.ts +23 -9
  354. package/src/restLevelClient/paginateHelper.ts.hbs +208 -0
  355. package/src/restLevelClient/pollingHelper.ts.hbs +72 -0
  356. package/src/restLevelClient/samples/generateSamples.ts +23 -0
  357. package/src/restLevelClient/samples/samples.ts.hbs +0 -0
  358. package/src/restLevelClient/schemaHelpers.ts +51 -9
  359. package/src/transforms/mapperTransforms.ts +12 -6
  360. package/src/transforms/objectTransforms.ts +26 -6
  361. package/src/transforms/operationTransforms.ts +6 -1
  362. package/src/transforms/parameterTransforms.ts +26 -7
  363. package/src/transforms/samplesTransforms.ts +349 -0
  364. package/src/transforms/transforms.ts +14 -9
  365. package/src/typescriptGenerator.ts +41 -45
  366. package/src/utils/autorestOptions.ts +203 -86
  367. package/src/utils/copyFiles.ts +36 -0
  368. package/src/utils/extractPaginationDetails.ts +19 -1
  369. package/src/utils/nameUtils.ts +18 -9
  370. package/src/utils/schemaHelpers.ts +51 -4
  371. package/src/utils/valueHelpers.ts +1 -0
  372. package/CHANGELOG.md +0 -44
  373. package/dist/src/coreClientLro.d.ts +0 -26
  374. package/dist/src/coreClientLro.d.ts.map +0 -1
  375. package/dist/src/coreClientLro.js +0 -207
  376. package/dist/src/coreClientLro.js.map +0 -1
  377. package/dist/src/coreHttpLro.d.ts +0 -26
  378. package/dist/src/coreHttpLro.d.ts.map +0 -1
  379. package/dist/src/coreHttpLro.js +0 -186
  380. package/dist/src/coreHttpLro.js.map +0 -1
  381. package/dist/src/generators/clientContextFileGenerator.d.ts +0 -5
  382. package/dist/src/generators/clientContextFileGenerator.d.ts.map +0 -1
  383. package/dist/src/generators/clientContextFileGenerator.js +0 -263
  384. package/dist/src/generators/clientContextFileGenerator.js.map +0 -1
  385. package/dist/src/lro/azureAsyncPolling.d.ts +0 -3
  386. package/dist/src/lro/azureAsyncPolling.d.ts.map +0 -1
  387. package/dist/src/lro/azureAsyncPolling.js +0 -71
  388. package/dist/src/lro/azureAsyncPolling.js.map +0 -1
  389. package/dist/src/lro/bodyPolling.d.ts +0 -8
  390. package/dist/src/lro/bodyPolling.d.ts.map +0 -1
  391. package/dist/src/lro/bodyPolling.js +0 -34
  392. package/dist/src/lro/bodyPolling.js.map +0 -1
  393. package/dist/src/lro/index.d.ts +0 -4
  394. package/dist/src/lro/index.d.ts.map +0 -1
  395. package/dist/src/lro/index.js +0 -10
  396. package/dist/src/lro/index.js.map +0 -1
  397. package/dist/src/lro/locationPolling.d.ts +0 -3
  398. package/dist/src/lro/locationPolling.d.ts.map +0 -1
  399. package/dist/src/lro/locationPolling.js +0 -18
  400. package/dist/src/lro/locationPolling.js.map +0 -1
  401. package/dist/src/lro/lroEngine.d.ts +0 -14
  402. package/dist/src/lro/lroEngine.d.ts.map +0 -1
  403. package/dist/src/lro/lroEngine.js +0 -38
  404. package/dist/src/lro/lroEngine.js.map +0 -1
  405. package/dist/src/lro/models.d.ts +0 -138
  406. package/dist/src/lro/models.d.ts.map +0 -1
  407. package/dist/src/lro/models.js +0 -12
  408. package/dist/src/lro/models.js.map +0 -1
  409. package/dist/src/lro/operation.d.ts +0 -36
  410. package/dist/src/lro/operation.d.ts.map +0 -1
  411. package/dist/src/lro/operation.js +0 -89
  412. package/dist/src/lro/operation.js.map +0 -1
  413. package/dist/src/lro/passthrough.d.ts +0 -3
  414. package/dist/src/lro/passthrough.d.ts.map +0 -1
  415. package/dist/src/lro/passthrough.js +0 -14
  416. package/dist/src/lro/passthrough.js.map +0 -1
  417. package/dist/src/lro/requestUtils.d.ts +0 -16
  418. package/dist/src/lro/requestUtils.d.ts.map +0 -1
  419. package/dist/src/lro/requestUtils.js +0 -76
  420. package/dist/src/lro/requestUtils.js.map +0 -1
  421. package/dist/src/lro/stateMachine.d.ts +0 -18
  422. package/dist/src/lro/stateMachine.d.ts.map +0 -1
  423. package/dist/src/lro/stateMachine.js +0 -90
  424. package/dist/src/lro/stateMachine.js.map +0 -1
  425. package/src/coreClientLro.ts +0 -315
  426. package/src/coreHttpLro.ts +0 -268
  427. package/src/generators/clientContextFileGenerator.ts +0 -405
  428. package/src/lro/azureAsyncPolling.ts +0 -82
  429. package/src/lro/bodyPolling.ts +0 -34
  430. package/src/lro/index.ts +0 -18
  431. package/src/lro/locationPolling.ts +0 -20
  432. package/src/lro/lroEngine.ts +0 -53
  433. package/src/lro/models.ts +0 -165
  434. package/src/lro/operation.ts +0 -112
  435. package/src/lro/passthrough.ts +0 -15
  436. package/src/lro/requestUtils.ts +0 -94
  437. package/src/lro/stateMachine.ts +0 -108
@@ -1,6 +1,17 @@
1
1
  "use strict";
2
2
  // Copyright (c) Microsoft Corporation.
3
3
  // Licensed under the MIT License.
4
+ var __rest = (this && this.__rest) || function (s, e) {
5
+ var t = {};
6
+ for (var p in s) if (Object.prototype.hasOwnProperty.call(s, p) && e.indexOf(p) < 0)
7
+ t[p] = s[p];
8
+ if (s != null && typeof Object.getOwnPropertySymbols === "function")
9
+ for (var i = 0, p = Object.getOwnPropertySymbols(s); i < p.length; i++) {
10
+ if (e.indexOf(p[i]) < 0 && Object.prototype.propertyIsEnumerable.call(s, p[i]))
11
+ t[p[i]] = s[p[i]];
12
+ }
13
+ return t;
14
+ };
4
15
  Object.defineProperty(exports, "__esModule", { value: true });
5
16
  exports.hasLroOperation = exports.addOperationSpecs = exports.writeOperations = exports.writeGetOperationOptions = exports.generateOperations = void 0;
6
17
  const ts_morph_1 = require("ts-morph");
@@ -27,12 +38,12 @@ const autorestSession_1 = require("../autorestSession");
27
38
  * @param project project for code generation
28
39
  */
29
40
  function generateOperations(clientDetails, project) {
30
- const { srcPath } = autorestSession_1.getAutorestOptions();
41
+ const { srcPath } = (0, autorestSession_1.getAutorestOptions)();
31
42
  let fileNames = [];
32
43
  // Toplevel operations are inlined in the client
33
44
  const operationGroups = clientDetails.operationGroups.filter(og => !og.isTopLevel);
34
45
  operationGroups.forEach(operationDetails => {
35
- fileNames.push(nameUtils_1.normalizeName(operationDetails.name, nameUtils_1.NameType.File));
46
+ fileNames.push((0, nameUtils_1.normalizeName)(operationDetails.name, nameUtils_1.NameType.File));
36
47
  generateOperation(operationDetails, clientDetails, project);
37
48
  });
38
49
  if (operationGroups.length) {
@@ -49,8 +60,8 @@ exports.generateOperations = generateOperations;
49
60
  * This function creates a file for a given Operation Group
50
61
  */
51
62
  function generateOperation(operationGroupDetails, clientDetails, project) {
52
- const { srcPath } = autorestSession_1.getAutorestOptions();
53
- const name = nameUtils_1.normalizeName(operationGroupDetails.name, nameUtils_1.NameType.File);
63
+ const { srcPath } = (0, autorestSession_1.getAutorestOptions)();
64
+ const name = (0, nameUtils_1.normalizeName)(operationGroupDetails.name, nameUtils_1.NameType.File);
54
65
  const hasMappers = !!clientDetails.mappers.length;
55
66
  const operationGroupFile = project.createSourceFile(`${srcPath}/operations/${name}.ts`, undefined, { overwrite: true });
56
67
  addImports(operationGroupDetails, operationGroupFile, clientDetails);
@@ -59,7 +70,7 @@ function generateOperation(operationGroupDetails, clientDetails, project) {
59
70
  operationGroupFile.fixUnusedIdentifiers();
60
71
  }
61
72
  function writeGetOperationOptions(operationGroupClass) {
62
- const { useCoreV2 } = autorestSession_1.getAutorestOptions();
73
+ const { useCoreV2 } = (0, autorestSession_1.getAutorestOptions)();
63
74
  operationGroupClass.addMethod({
64
75
  scope: ts_morph_1.Scope.Private,
65
76
  name: !useCoreV2
@@ -79,18 +90,10 @@ function writeGetOperationOptions(operationGroupClass) {
79
90
  statements: !useCoreV2
80
91
  ? `
81
92
  const operationOptions: coreHttp.OperationOptions = options || {};
82
- operationOptions.requestOptions = {
83
- ...operationOptions.requestOptions,
84
- shouldDeserialize: shouldDeserializeLro(lroResourceLocationConfig),
85
- };
86
93
  return coreHttp.operationOptionsToRequestOptionsBase(operationOptions);
87
94
  `
88
95
  : `
89
96
  const operationOptions: coreClient.OperationOptions = options || {};
90
- operationOptions.requestOptions = {
91
- ...operationOptions.requestOptions,
92
- shouldDeserialize: shouldDeserializeLro(lroResourceLocationConfig),
93
- };
94
97
  return operationOptions;`
95
98
  });
96
99
  }
@@ -245,7 +248,7 @@ function buildRequestBody({ requestBody, httpMethod }) {
245
248
  // path would be ["groupName", "parameterName"] to tell the serialized to get it from groupName.parameterName.
246
249
  // If it is a regular parameter the path would be its name.
247
250
  const sourcePath = curr.parameter.groupedBy
248
- ? [languageHelpers_1.getLanguageMetadata(curr.parameter.groupedBy.language).name, name]
251
+ ? [(0, languageHelpers_1.getLanguageMetadata)(curr.parameter.groupedBy.language).name, name]
249
252
  : [name];
250
253
  const isRequired = curr.required || ((_a = curr.parameter.groupedBy) === null || _a === void 0 ? void 0 : _a.required);
251
254
  let parameterPath;
@@ -298,12 +301,19 @@ function buildMapper(mapper, mapperName) {
298
301
  if (!mapper) {
299
302
  return "";
300
303
  }
301
- // When mapper is a reference (string) we don't need to stringify the object
302
- let mapperString = typeof mapper === "string" ? mapper : JSON.stringify(mapper);
304
+ let mapperString = "";
305
+ if (typeof mapper === "string") {
306
+ // When mapper is a reference (string) we don't need to stringify the object
307
+ mapperString = mapper;
308
+ }
309
+ else {
310
+ const { constraints } = mapper, restMapper = __rest(mapper, ["constraints"]);
311
+ mapperString = JSON.stringify(restMapper);
312
+ }
303
313
  return `${mapperName}: ${mapperString},`;
304
314
  }
305
315
  function getReturnType(operation, importedModels, modelNames) {
306
- const responseName = responseTypeUtils_1.getOperationResponseType(operation, importedModels, modelNames);
316
+ const responseName = (0, responseTypeUtils_1.getOperationResponseType)(operation, importedModels, modelNames);
307
317
  return operation.isLro
308
318
  ? `Promise<PollerLike<PollOperationState<${responseName}>,${responseName}>>`
309
319
  : `Promise<${responseName}>`;
@@ -313,11 +323,11 @@ function getReturnType(operation, importedModels, modelNames) {
313
323
  */
314
324
  function addClass(operationGroupFile, operationGroupDetails, clientDetails) {
315
325
  let importedModels = new Set();
316
- let allModelsNames = responseTypeUtils_1.getAllModelsNames(clientDetails);
317
- const className = nameUtils_1.normalizeName(operationGroupDetails.name, nameUtils_1.NameType.OperationGroup, true /** shouldGuard */);
326
+ let allModelsNames = (0, responseTypeUtils_1.getAllModelsNames)(clientDetails);
327
+ const className = (0, nameUtils_1.normalizeName)(operationGroupDetails.name, nameUtils_1.NameType.OperationGroup, true /** shouldGuard */);
318
328
  const operationGroupClass = operationGroupFile.addClass({
319
329
  name: `${className}Impl`,
320
- docs: [`Class representing a ${className}.`],
330
+ docs: [`Class containing ${className} operations.`],
321
331
  isExported: true,
322
332
  implements: [`${className}`]
323
333
  });
@@ -325,7 +335,7 @@ function addClass(operationGroupFile, operationGroupDetails, clientDetails) {
325
335
  name: "client",
326
336
  isReadonly: true,
327
337
  scope: ts_morph_1.Scope.Private,
328
- type: `${clientDetails.className}Context`
338
+ type: `${clientDetails.className}`
329
339
  });
330
340
  const constructorDefinition = operationGroupClass.addConstructor({
331
341
  docs: [
@@ -337,7 +347,7 @@ function addClass(operationGroupFile, operationGroupDetails, clientDetails) {
337
347
  {
338
348
  name: "client",
339
349
  hasQuestionToken: false,
340
- type: `${clientDetails.className}Context`
350
+ type: `${clientDetails.className}`
341
351
  }
342
352
  ]
343
353
  });
@@ -365,21 +375,21 @@ function addClass(operationGroupFile, operationGroupDetails, clientDetails) {
365
375
  * Write operations implementation, extracted from OperationGroupDetails, to the generated file
366
376
  */
367
377
  function writeOperations(operationGroupDetails, operationGroupClass, importedModels, modelNames, clientDetails, isInline = false) {
368
- const { tracingInfo } = autorestSession_1.getAutorestOptions();
369
- pagingOperations_1.preparePageableOperations(operationGroupDetails);
370
- pagingOperations_1.writeAsyncIterators(operationGroupDetails, clientDetails, operationGroupClass, importedModels);
378
+ const { tracingInfo } = (0, autorestSession_1.getAutorestOptions)();
379
+ (0, pagingOperations_1.preparePageableOperations)(operationGroupDetails);
380
+ (0, pagingOperations_1.writeAsyncIterators)(operationGroupDetails, clientDetails, operationGroupClass, importedModels);
371
381
  operationGroupDetails.operations.forEach(operation => {
372
382
  var _a;
373
- const { baseMethodParameters, overloadParameterDeclarations } = parameterUtils_1.getOperationParameterSignatures(operation, clientDetails.parameters, importedModels, operationGroupClass);
374
- const responseName = responseTypeUtils_1.getOperationResponseType(operation, importedModels, modelNames);
383
+ const { baseMethodParameters, overloadParameterDeclarations } = (0, parameterUtils_1.getOperationParameterSignatures)(operation, clientDetails.parameters, importedModels, operationGroupClass);
384
+ const responseName = (0, responseTypeUtils_1.getOperationResponseType)(operation, importedModels, modelNames);
375
385
  const returnType = getReturnType(operation, importedModels, modelNames);
376
386
  const operationMethod = operationGroupClass.addMethod({
377
- name: operationsUtils_1.calculateMethodName(operation),
387
+ name: (0, operationsUtils_1.calculateMethodName)(operation),
378
388
  parameters: baseMethodParameters,
379
389
  scope: operation.scope,
380
390
  returnType,
381
391
  docs: [
382
- docsUtils_1.generateOperationJSDoc(baseMethodParameters, operation.description)
392
+ (0, docsUtils_1.generateOperationJSDoc)(baseMethodParameters, operation.description)
383
393
  ],
384
394
  isAsync: operation.isLro || Boolean(tracingInfo)
385
395
  });
@@ -389,15 +399,15 @@ function writeOperations(operationGroupDetails, operationGroupClass, importedMod
389
399
  * Create a simple method that blocks and waits for the result
390
400
  */
391
401
  if (operation.isLro && operation.pagination === undefined) {
392
- const responseName = responseTypeUtils_1.getOperationResponseType(operation, importedModels, modelNames);
393
- const methodName = operationsUtils_1.calculateMethodName(operation);
402
+ const responseName = (0, responseTypeUtils_1.getOperationResponseType)(operation, importedModels, modelNames);
403
+ const methodName = (0, operationsUtils_1.calculateMethodName)(operation);
394
404
  const operationMethod = operationGroupClass.addMethod({
395
405
  name: `${methodName}AndWait`,
396
406
  parameters: baseMethodParameters,
397
407
  scope: operation.scope,
398
408
  returnType: `Promise<${responseName}>`,
399
409
  docs: [
400
- docsUtils_1.generateOperationJSDoc(baseMethodParameters, operation.description)
410
+ (0, docsUtils_1.generateOperationJSDoc)(baseMethodParameters, operation.description)
401
411
  ],
402
412
  isAsync: true
403
413
  });
@@ -465,7 +475,7 @@ function addOperationOverloads(generatedOperation, operationDetails, overloadDec
465
475
  generatedOperation.addOverload({
466
476
  parameters: overload,
467
477
  returnType,
468
- docs: [docsUtils_1.generateOperationJSDoc(overload, operationDetails.description)]
478
+ docs: [(0, docsUtils_1.generateOperationJSDoc)(overload, operationDetails.description)]
469
479
  });
470
480
  }
471
481
  }
@@ -475,7 +485,7 @@ function addOperationOverloads(generatedOperation, operationDetails, overloadDec
475
485
  * @param isLro whether the operation is an Lro.
476
486
  */
477
487
  function compileOperationOptionsToRequestOptionsBase(options, isLro, lroResourceLocationConfig) {
478
- const { useCoreV2 } = autorestSession_1.getAutorestOptions();
488
+ const { useCoreV2 } = (0, autorestSession_1.getAutorestOptions)();
479
489
  // In Lro we have a couple extra properties to add that's why we use
480
490
  // the private getOperationOptions function instead of the one in core-http
481
491
  return isLro
@@ -487,21 +497,13 @@ function compileOperationOptionsToRequestOptionsBase(options, isLro, lroResource
487
497
  : `options || {}`;
488
498
  }
489
499
  function writeNoOverloadsOperationBody(operation, responseName, operationMethod, parameterDeclarations, clientDetails, isInline) {
490
- const { useCoreV2, tracingInfo } = autorestSession_1.getAutorestOptions();
500
+ const { useCoreV2, tracingInfo } = (0, autorestSession_1.getAutorestOptions)();
491
501
  const lroResourceLocationConfig = operation.lroOptions && operation.lroOptions["final-state-via"];
492
502
  const operationSpecName = `${operation.name}OperationSpec`;
493
503
  const vanillaOptionsName = "options";
494
504
  let options = vanillaOptionsName;
495
- if (tracingInfo) {
496
- const operationName = operationMethod.getName();
497
- const { outputOptionsVarName: updatedOptionsName, statement: tracingStatement } = getTracingSpanStatement(clientDetails, operationName, `${options} || {}`);
498
- operationMethod.addStatements([tracingStatement]);
499
- // Options from createSpan should be used as operation options, updating
500
- options = compileOperationOptionsToRequestOptionsBase(updatedOptionsName, operation.isLro, lroResourceLocationConfig);
501
- }
502
- else {
503
- options = compileOperationOptionsToRequestOptionsBase(vanillaOptionsName, operation.isLro, lroResourceLocationConfig);
504
- }
505
+ // Options from createSpan should be used as operation options, updating
506
+ options = compileOperationOptionsToRequestOptionsBase(vanillaOptionsName, operation.isLro, lroResourceLocationConfig);
505
507
  const sendParams = parameterDeclarations
506
508
  .map(p => p.name === "options"
507
509
  ? !useCoreV2
@@ -515,51 +517,37 @@ function writeNoOverloadsOperationBody(operation, responseName, operationMethod,
515
517
  }
516
518
  if (operation.isLro) {
517
519
  if (!useCoreV2) {
518
- writeLroOperationBody("operationArguments", responseName, operationSpecName, operationMethod, lroResourceLocationConfig, isInline, !!tracingInfo);
520
+ writeLroOperationBody(clientDetails, "operationArguments", responseName, operationSpecName, operationMethod, lroResourceLocationConfig, isInline, !!tracingInfo);
519
521
  }
520
522
  else {
521
- writeLroOperationBody(`{${sendParams}}`, responseName, operationSpecName, operationMethod, lroResourceLocationConfig, isInline, !!tracingInfo);
523
+ writeLroOperationBody(clientDetails, `{${sendParams}}`, responseName, operationSpecName, operationMethod, lroResourceLocationConfig, isInline, !!tracingInfo);
522
524
  }
523
525
  }
524
526
  else {
525
527
  writeSendOperationRequest(responseName, operationMethod, operationSpecName, clientDetails, isInline, `{${sendParams}}`);
526
528
  }
527
529
  }
528
- function getTracingSpanStatement(clientDetails, operationName, options) {
529
- const outputOptionsVarName = "updatedOptions";
530
- return {
531
- statement: `const { span, ${outputOptionsVarName} } = createSpan("${clientDetails.className}-${operationName}", ${options});`,
532
- outputOptionsVarName: outputOptionsVarName
533
- };
534
- }
535
530
  function writeSendOperationRequest(responseName, operationMethod, operationSpecName, clientDetails, isInline = false, sendParams) {
536
- const { useCoreV2, tracingInfo } = autorestSession_1.getAutorestOptions();
531
+ const { useCoreV2, tracingInfo } = (0, autorestSession_1.getAutorestOptions)();
532
+ const operationName = operationMethod.getName();
537
533
  const client = isInline ? "" : ".client";
538
534
  const sendRequestStatement = !useCoreV2
539
535
  ? `this${client}.sendOperationRequest(operationArguments, ${operationSpecName})`
540
536
  : `this${client}.sendOperationRequest(${sendParams}, ${operationSpecName})`;
541
537
  // When tracing is enabled we want to report success and failures through OpenTelemetry
542
538
  // so we create a span and mark it as succeeded or failed
543
- operationMethod.addStatements(getTracingTryCatchStatement(sendRequestStatement, responseName, !!tracingInfo));
539
+ operationMethod.addStatements(getTracingClientWithSpanStatement(sendRequestStatement, responseName, !!tracingInfo, `${clientDetails.className}.${operationName}`));
544
540
  }
545
541
  function getSpanStatusCode() {
546
542
  return "coreTracing.SpanStatusCode.UNSET";
547
543
  }
548
- function getTracingTryCatchStatement(sendRequestStatement, responseName, isTracingEnabled) {
549
- const { useCoreV2 } = autorestSession_1.getAutorestOptions();
544
+ function getTracingClientWithSpanStatement(sendRequestStatement, responseName, isTracingEnabled, spanName) {
545
+ const { useCoreV2 } = (0, autorestSession_1.getAutorestOptions)();
550
546
  if (isTracingEnabled) {
551
- return `try {
552
- const result = await ${sendRequestStatement}
553
- return result as ${responseName};
554
- } catch(error) {
555
- span.setStatus({
556
- code: ${getSpanStatusCode()},
557
- message: error.message
558
- });
559
- throw error;
560
- } finally {
561
- span.end();
562
- }`;
547
+ return `
548
+ return tracingClient.withSpan("${spanName}", options ?? {}, async options => {
549
+ return ${sendRequestStatement} as Promise<${responseName}>;
550
+ });`;
563
551
  }
564
552
  else {
565
553
  return !useCoreV2
@@ -567,16 +555,14 @@ function getTracingTryCatchStatement(sendRequestStatement, responseName, isTraci
567
555
  : `return ${sendRequestStatement}`;
568
556
  }
569
557
  }
570
- function writeLroOperationBody(operationParamsName, responseName, operationSpecName, methodDeclaration, lroResourceLocationConfig, isInline, isTracingEnabled = false) {
571
- const { useCoreV2 } = autorestSession_1.getAutorestOptions();
558
+ function writeLroOperationBody(clientDetails, operationParamsName, responseName, operationSpecName, methodDeclaration, lroResourceLocationConfig, isInline, isTracingEnabled = false) {
559
+ const { useCoreV2 } = (0, autorestSession_1.getAutorestOptions)();
560
+ const spanName = `${clientDetails.className}.${methodDeclaration.getName()}`;
572
561
  const client = isInline ? "" : ".client";
573
562
  const sendRequestStatement = `this${client}.sendOperationRequest(args, spec)`;
574
- const finalStateStr = lroResourceLocationConfig
575
- ? `"${lroResourceLocationConfig.toLowerCase()}"`
576
- : "";
577
563
  const sendOperationStatement = !useCoreV2
578
564
  ? `const directSendOperation = async (args: coreHttp.OperationArguments, spec: coreHttp.OperationSpec): Promise<${responseName}> => {
579
- ${getTracingTryCatchStatement(sendRequestStatement, responseName, isTracingEnabled)}
565
+ ${getTracingClientWithSpanStatement(sendRequestStatement, responseName, isTracingEnabled, spanName)}
580
566
  };
581
567
  const sendOperation = async (args: coreHttp.OperationArguments, spec: coreHttp.OperationSpec) => {
582
568
  const response = await directSendOperation(args, spec);
@@ -587,7 +573,7 @@ function writeLroOperationBody(operationParamsName, responseName, operationSpecN
587
573
  }};
588
574
  }`
589
575
  : `const directSendOperation = async (args: coreClient.OperationArguments, spec: coreClient.OperationSpec): Promise<${responseName}> => {
590
- ${getTracingTryCatchStatement(sendRequestStatement, responseName, isTracingEnabled)}
576
+ ${getTracingClientWithSpanStatement(sendRequestStatement, responseName, isTracingEnabled, spanName)}
591
577
  };
592
578
  const sendOperation = async (args: coreClient.OperationArguments, spec: coreClient.OperationSpec) => {
593
579
  let currentRawResponse: coreClient.FullOperationResponse | undefined = undefined;
@@ -612,12 +598,15 @@ function writeLroOperationBody(operationParamsName, responseName, operationSpecN
612
598
  headers: currentRawResponse!.headers.toJSON()
613
599
  }};
614
600
  }`;
615
- const LroClassName = useCoreV2 ? "CoreClientLro" : "CoreHttpLro";
616
601
  methodDeclaration.addStatements([
617
602
  sendOperationStatement,
618
- `const lro = new ${LroClassName}(sendOperation,${operationParamsName},
619
- ${operationSpecName},${finalStateStr})`,
620
- `return new LroEngine(lro,{intervalInMs: options?.updateIntervalInMs});`
603
+ `const lro = new LroImpl(sendOperation,${operationParamsName},
604
+ ${operationSpecName})`,
605
+ `const poller = new LroEngine(lro,{ resumeFrom: options?.resumeFrom, intervalInMs: options?.updateIntervalInMs${lroResourceLocationConfig
606
+ ? `, lroResourceLocationConfig: "${lroResourceLocationConfig.toLowerCase()}"`
607
+ : ""} });`,
608
+ "await poller.poll();",
609
+ "return poller;"
621
610
  ]);
622
611
  methodDeclaration.setReturnType(`Promise<PollerLike<PollOperationState<${responseName}>,${responseName}>>`);
623
612
  }
@@ -627,7 +616,7 @@ function writeLroOperationBody(operationParamsName, responseName, operationSpecN
627
616
  * to determine which OperationSpec to use when sending the request.
628
617
  */
629
618
  function writeMultiMediaTypeOperationBody(operationMethod, operation, overloadParameterDeclarations, responseName, clientDetails, isInline = false) {
630
- const { useCoreV2, tracingInfo } = autorestSession_1.getAutorestOptions();
619
+ const { useCoreV2, tracingInfo } = (0, autorestSession_1.getAutorestOptions)();
631
620
  const coreImport = !useCoreV2 ? "coreHttp" : "coreClient";
632
621
  operationMethod.addStatements([
633
622
  `let operationSpec: ${coreImport}.OperationSpec;`,
@@ -687,24 +676,14 @@ function writeMultiMediaTypeOperationBody(operationMethod, operation, overloadPa
687
676
  }`
688
677
  ]);
689
678
  const lroResourceLocationConfig = operation.lroOptions && operation.lroOptions["final-state-via"];
690
- if (tracingInfo) {
691
- const operationName = operationMethod.getName();
692
- const { outputOptionsVarName, statement: tracingStatement } = getTracingSpanStatement(clientDetails, operationName, optionsVarName);
693
- operationMethod.addStatements([
694
- tracingStatement,
695
- `operationArguments.options = ${compileOperationOptionsToRequestOptionsBase(outputOptionsVarName, operation.isLro, lroResourceLocationConfig)};`
696
- ]);
697
- }
698
- else {
699
- operationMethod.addStatements([
700
- `operationArguments.options = ${compileOperationOptionsToRequestOptionsBase(optionsVarName, operation.isLro, lroResourceLocationConfig)};`
701
- ]);
702
- }
679
+ operationMethod.addStatements([
680
+ `operationArguments.options = ${compileOperationOptionsToRequestOptionsBase(optionsVarName, operation.isLro, lroResourceLocationConfig)};`
681
+ ]);
703
682
  if (!operation.isLro) {
704
683
  writeSendOperationRequest(responseName, operationMethod, "operationSpec", clientDetails, isInline, "operationArguments");
705
684
  }
706
685
  else {
707
- writeLroOperationBody("operationArguments", responseName, "operationSpec", operationMethod, lroResourceLocationConfig, isInline, !!tracingInfo);
686
+ writeLroOperationBody(clientDetails, "operationArguments", responseName, "operationSpec", operationMethod, lroResourceLocationConfig, isInline, !!tracingInfo);
708
687
  }
709
688
  }
710
689
  function getContentTypeInfo(request) {
@@ -712,7 +691,7 @@ function getContentTypeInfo(request) {
712
691
  const parameters = (_a = request.parameters) !== null && _a !== void 0 ? _a : [];
713
692
  for (let i = 0; i < parameters.length; i++) {
714
693
  const parameter = parameters[i];
715
- const parameterMetadata = languageHelpers_1.getLanguageMetadata(parameter.language);
694
+ const parameterMetadata = (0, languageHelpers_1.getLanguageMetadata)(parameter.language);
716
695
  const paramLowerSerializedName = (_b = parameterMetadata.serializedName) === null || _b === void 0 ? void 0 : _b.toLowerCase();
717
696
  const parameterInHeader = ((_c = parameter.protocol.http) === null || _c === void 0 ? void 0 : _c.in) === codemodel_1.ParameterLocation.Header;
718
697
  const schema = parameter.schema;
@@ -738,7 +717,7 @@ function hasMediaType(operationDetails, mediaType) {
738
717
  * for a given operation group
739
718
  */
740
719
  function addOperationSpecs(operationGroupDetails, file, parameters, hasMappers) {
741
- const { useCoreV2 } = autorestSession_1.getAutorestOptions();
720
+ const { useCoreV2 } = (0, autorestSession_1.getAutorestOptions)();
742
721
  const hasXml = operationGroupDetails.operations.some(operation => hasMediaType(operation, codegen_1.KnownMediaType.Xml));
743
722
  const hasNonXml = operationGroupDetails.operations.some(operation => hasMediaType(operation, codegen_1.KnownMediaType.Json) ||
744
723
  hasMediaType(operation, codegen_1.KnownMediaType.Form) ||
@@ -754,7 +733,7 @@ function addOperationSpecs(operationGroupDetails, file, parameters, hasMappers)
754
733
  writeSerializer(hasMappers, file, SerializerKind.Json);
755
734
  }
756
735
  operationGroupDetails.operations.forEach(operation => {
757
- const operationSpecs = operationTransforms_1.transformOperationSpec(operation, parameters);
736
+ const operationSpecs = (0, operationTransforms_1.transformOperationSpec)(operation, parameters);
758
737
  for (const operationSpec of operationSpecs) {
759
738
  file.addVariableStatement({
760
739
  declarationKind: ts_morph_1.VariableDeclarationKind.Const,
@@ -778,7 +757,7 @@ var SerializerKind;
778
757
  SerializerKind[SerializerKind["Xml"] = 1] = "Xml";
779
758
  })(SerializerKind || (SerializerKind = {}));
780
759
  function writeSerializer(hasMappers, file, kind = SerializerKind.Json) {
781
- const { useCoreV2 } = autorestSession_1.getAutorestOptions();
760
+ const { useCoreV2 } = (0, autorestSession_1.getAutorestOptions)();
782
761
  const isXml = kind === SerializerKind.Xml;
783
762
  const mappers = hasMappers ? "Mappers" : "{}";
784
763
  const name = isXml ? "xmlSerializer" : "serializer";
@@ -798,12 +777,12 @@ function writeSerializer(hasMappers, file, kind = SerializerKind.Json) {
798
777
  * Adds required imports at the top of the file
799
778
  */
800
779
  function addImports(operationGroupDetails, operationGroupFile, clientDetails) {
801
- const { useCoreV2 } = autorestSession_1.getAutorestOptions();
780
+ const { useCoreV2 } = (0, autorestSession_1.getAutorestOptions)();
802
781
  const { className, mappers } = clientDetails;
803
- pagingOperations_1.addPagingEsNextRef(operationGroupDetails.operations, operationGroupFile);
804
- tracingUtils_1.addTracingOperationImports(operationGroupFile);
805
- pagingOperations_1.addPagingImports(operationGroupDetails.operations, operationGroupFile);
806
- const operationGroupInterfaceName = nameUtils_1.normalizeName(operationGroupDetails.name, nameUtils_1.NameType.OperationGroup, true /** shouldGuard */);
782
+ (0, pagingOperations_1.addPagingEsNextRef)(operationGroupDetails.operations, operationGroupFile);
783
+ (0, tracingUtils_1.addTracingOperationImports)(operationGroupFile);
784
+ (0, pagingOperations_1.addPagingImports)(operationGroupDetails.operations, operationGroupFile);
785
+ const operationGroupInterfaceName = (0, nameUtils_1.normalizeName)(operationGroupDetails.name, nameUtils_1.NameType.OperationGroup, true /** shouldGuard */);
807
786
  operationGroupFile.addImportDeclaration({
808
787
  namedImports: [`${operationGroupInterfaceName}`],
809
788
  moduleSpecifier: "../operationsInterfaces"
@@ -838,39 +817,27 @@ function addImports(operationGroupDetails, operationGroupFile, clientDetails) {
838
817
  moduleSpecifier: "../models/mappers"
839
818
  });
840
819
  }
841
- if (importUtils_1.shouldImportParameters(clientDetails)) {
820
+ if ((0, importUtils_1.shouldImportParameters)(clientDetails)) {
842
821
  operationGroupFile.addImportDeclaration({
843
822
  namespaceImport: "Parameters",
844
823
  moduleSpecifier: "../models/parameters"
845
824
  });
846
825
  }
847
- const clientContextClassName = `${className}Context`;
848
- const clientContextFileName = nameUtils_1.normalizeName(clientContextClassName, nameUtils_1.NameType.File);
826
+ const clientClassName = `${className}`;
827
+ const clientFileName = (0, nameUtils_1.normalizeName)(clientClassName, nameUtils_1.NameType.File);
849
828
  operationGroupFile.addImportDeclaration({
850
- namedImports: [`${clientContextClassName}`],
851
- moduleSpecifier: `../${clientContextFileName}`
829
+ namedImports: [`${clientClassName}`],
830
+ moduleSpecifier: `../${clientFileName}`
852
831
  });
853
832
  if (hasLroOperation(operationGroupDetails)) {
854
833
  operationGroupFile.addImportDeclaration({
855
- namedImports: ["PollerLike", "PollOperationState"],
834
+ namedImports: ["PollerLike", "PollOperationState", "LroEngine"],
856
835
  moduleSpecifier: "@azure/core-lro"
857
836
  });
858
837
  operationGroupFile.addImportDeclaration({
859
- namedImports: ["LroEngine"],
860
- moduleSpecifier: `../lro`
838
+ namedImports: ["LroImpl"],
839
+ moduleSpecifier: `../lroImpl`
861
840
  });
862
- if (useCoreV2) {
863
- operationGroupFile.addImportDeclaration({
864
- namedImports: ["CoreClientLro", "shouldDeserializeLro"],
865
- moduleSpecifier: `../coreClientLro`
866
- });
867
- }
868
- else {
869
- operationGroupFile.addImportDeclaration({
870
- namedImports: ["CoreHttpLro", "shouldDeserializeLro"],
871
- moduleSpecifier: `../coreHttpLro`
872
- });
873
- }
874
841
  }
875
842
  }
876
843
  function hasLroOperation(operationGroupDetails) {
@@ -1 +1 @@
1
- {"version":3,"file":"operationGenerator.js","sourceRoot":"","sources":["../../../src/generators/operationGenerator.ts"],"names":[],"mappings":";AAAA,uCAAuC;AACvC,kCAAkC;;;AAElC,uCAWkB;AAClB,kDAA6D;AAE7D,2EAA2E;AAS3E,2DAAyE;AACzE,kDAAsD;AACtD,mDAM6B;AAC7B,8DAA+D;AAC/D,qDAA6D;AAC7D,iEAGmC;AAEnC,iDAA2D;AAC3D,uDAAkE;AAClE,+DAKkC;AAClC,6DAA8D;AAC9D,wDAAwD;AAExD;;;;;;;;GAQG;AACH,SAAgB,kBAAkB,CAChC,aAA4B,EAC5B,OAAgB;IAEhB,MAAM,EAAE,OAAO,EAAE,GAAG,oCAAkB,EAAE,CAAC;IACzC,IAAI,SAAS,GAAa,EAAE,CAAC;IAE7B,gDAAgD;IAChD,MAAM,eAAe,GAAG,aAAa,CAAC,eAAe,CAAC,MAAM,CAC1D,EAAE,CAAC,EAAE,CAAC,CAAC,EAAE,CAAC,UAAU,CACrB,CAAC;IAEF,eAAe,CAAC,OAAO,CAAC,gBAAgB,CAAC,EAAE;QACzC,SAAS,CAAC,IAAI,CAAC,yBAAa,CAAC,gBAAgB,CAAC,IAAI,EAAE,oBAAQ,CAAC,IAAI,CAAC,CAAC,CAAC;QACpE,iBAAiB,CAAC,gBAAgB,EAAE,aAAa,EAAE,OAAO,CAAC,CAAC;IAC9D,CAAC,CAAC,CAAC;IAEH,IAAI,eAAe,CAAC,MAAM,EAAE;QAC1B,MAAM,kBAAkB,GAAG,OAAO,CAAC,gBAAgB,CACjD,GAAG,OAAO,sBAAsB,EAChC,SAAS,EACT,EAAE,SAAS,EAAE,IAAI,EAAE,CACpB,CAAC;QAEF,kBAAkB,CAAC,qBAAqB,CACtC,SAAS,CAAC,GAAG,CAAC,QAAQ,CAAC,EAAE;YACvB,OAAO;gBACL,eAAe,EAAE,KAAK,QAAQ,EAAE;aACH,CAAC;QAClC,CAAC,CAAC,CACH,CAAC;KACH;AACH,CAAC;AAhCD,gDAgCC;AAED;;GAEG;AACH,SAAS,iBAAiB,CACxB,qBAA4C,EAC5C,aAA4B,EAC5B,OAAgB;IAEhB,MAAM,EAAE,OAAO,EAAE,GAAG,oCAAkB,EAAE,CAAC;IACzC,MAAM,IAAI,GAAG,yBAAa,CAAC,qBAAqB,CAAC,IAAI,EAAE,oBAAQ,CAAC,IAAI,CAAC,CAAC;IACtE,MAAM,UAAU,GAAG,CAAC,CAAC,aAAa,CAAC,OAAO,CAAC,MAAM,CAAC;IAClD,MAAM,kBAAkB,GAAG,OAAO,CAAC,gBAAgB,CACjD,GAAG,OAAO,eAAe,IAAI,KAAK,EAClC,SAAS,EACT,EAAE,SAAS,EAAE,IAAI,EAAE,CACpB,CAAC;IAEF,UAAU,CAAC,qBAAqB,EAAE,kBAAkB,EAAE,aAAa,CAAC,CAAC;IACrE,QAAQ,CAAC,kBAAkB,EAAE,qBAAqB,EAAE,aAAa,CAAC,CAAC;IACnE,iBAAiB,CACf,qBAAqB,EACrB,kBAAkB,EAClB,aAAa,CAAC,UAAU,EACxB,UAAU,CACX,CAAC;IAEF,kBAAkB,CAAC,oBAAoB,EAAE,CAAC;AAC5C,CAAC;AAED,SAAgB,wBAAwB,CACtC,mBAAqC;IAErC,MAAM,EAAE,SAAS,EAAE,GAAG,oCAAkB,EAAE,CAAC;IAC3C,mBAAmB,CAAC,SAAS,CAAC;QAC5B,KAAK,EAAE,gBAAK,CAAC,OAAO;QACpB,IAAI,EAAE,CAAC,SAAS;YACd,CAAC,CAAC,iEAAiE;YACnE,CAAC,CAAC,mEAAmE;QACvE,UAAU,EAAE;YACV,EAAE,IAAI,EAAE,SAAS,EAAE,IAAI,EAAE,sBAAsB,EAAE;YACjD;gBACE,IAAI,EAAE,2BAA2B;gBACjC,IAAI,EAAE,QAAQ;gBACd,gBAAgB,EAAE,IAAI;aACvB;SACF;QACD,UAAU,EAAE,CAAC,SAAS;YACpB,CAAC,CAAC,6BAA6B;YAC/B,CAAC,CAAC,6BAA6B;QACjC,UAAU,EAAE,CAAC,SAAS;YACpB,CAAC,CAAC;;;;;;;KAOH;YACC,CAAC,CAAC;;;;;;6BAMqB;KAC1B,CAAC,CAAC;AACL,CAAC;AArCD,4DAqCC;AAED;;;GAGG;AACH,SAAS,SAAS,CAAC,IAA0B,EAAE,MAAuB;;IACpE,MAAM,SAAS,GAAG,cAAc,CAAC,IAAI,CAAC,CAAC;IACvC,MAAM,WAAW,GAAG,gBAAgB,CAAC,IAAI,CAAC,CAAC;IAC3C,MAAM,WAAW,GAAG,eAAe,CAAC,IAAI,EAAE,iBAAiB,CAAC,CAAC;IAC7D,MAAM,SAAS,GAAG,eAAe,CAAC,IAAI,EAAE,eAAe,CAAC,CAAC;IACzD,MAAM,YAAY,GAAG,eAAe,CAAC,IAAI,EAAE,kBAAkB,CAAC,CAAC;IAC/D,MAAM,cAAc,GAAG,eAAe,CAAC,IAAI,EAAE,oBAAoB,CAAC,CAAC;IACnE,MAAM,SAAS,GAAG,cAAc,CAAC,IAAI,CAAC,CAAC;IAEvC,gEAAgE;IAChE,+DAA+D;IAC/D,wBAAwB;IACxB,IAAI,eAAe,GAAuB,SAAS,CAAC;IACpD,IAAI,KAAK,CAAC,OAAO,CAAC,IAAI,CAAC,WAAW,CAAC,EAAE;QACnC,eAAe,GAAG,MAAA,IAAI,CAAC,WAAW,CAAC,CAAC,CAAC,0CAAE,eAAe,CAAC;KACxD;SAAM;QACL,eAAe,GAAG,MAAA,IAAI,CAAC,WAAW,0CAAE,eAAe,CAAC;KACrD;IAED,MAAM,WAAW,GACf,eAAe,KAAK,wBAAc,CAAC,IAAI;QACrC,CAAC,CAAC,gBAAgB,CAAC,IAAI,CAAC;QACxB,CAAC,CAAC,SAAS,CAAC;IAEhB,MAAM,cAAc,GAAG,IAAI,CAAC,KAAK;QAC/B,CAAC,CAAC,eAAe,KAAK,wBAAc,CAAC,IAAI;YACvC,CAAC,CAAC,2BAA2B;YAC7B,CAAC,CAAC,YAAY;QAChB,CAAC,CAAC,YAAY,CAAC;IAEjB,MAAM,CAAC,KAAK,CAAC,GAAG,EAAE;QAChB,MAAM,CAAC,KAAK,CAAC,UAAU,IAAI,CAAC,IAAI,IAAI,CAAC,CAAC;QACtC,MAAM,CAAC,KAAK,CAAC,gBAAgB,IAAI,CAAC,UAAU,IAAI,CAAC,CAAC;QAClD,MAAM,CAAC,KAAK,CAAC,gBAAgB,SAAS,CAAC,IAAI,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC;QAExD,IAAI,OAAO,WAAW,KAAK,QAAQ,EAAE;YACnC,MAAM,CAAC,KAAK,CAAC,WAAW,CAAC,CAAC;SAC3B;aAAM;YACL,MAAM,MAAM,GACV,OAAO,WAAW,CAAC,MAAM,KAAK,QAAQ;gBACpC,CAAC,CAAC,WAAW,WAAW,CAAC,MAAM,EAAE;gBACjC,CAAC,CAAC,GAAG,IAAI,CAAC,SAAS,CAAC,WAAW,CAAC,MAAM,CAAC,EAAE,CAAC;YAE9C,IAAI,WAAW,CAAC,QAAQ,EAAE;gBACxB,MAAM,CAAC,KAAK,CACV,iCAAiC,IAAI,CAAC,SAAS,CAC7C,WAAW,CAAC,aAAa,CAC1B,iBAAiB,MAAM,qBAAqB,CAC9C,CAAC;aACH;iBAAM;gBACL,MAAM,CAAC,KAAK,CACV,iCAAiC,IAAI,CAAC,SAAS,CAC7C,WAAW,CAAC,aAAa,CAC1B,aAAa,MAAM,KAAK,CAC1B,CAAC;aACH;SACF;QAED,IAAI,cAAc,EAAE;YAClB,MAAM,CAAC,KAAK,CAAC,cAAc,CAAC,CAAC;YAC7B,MAAM,CAAC,KAAK,CAAC,IAAI,CAAC,CAAC;SACpB;QAED,IAAI,WAAW,EAAE;YACf,MAAM,CAAC,KAAK,CAAC,WAAW,CAAC,CAAC;YAC1B,MAAM,CAAC,KAAK,CAAC,IAAI,CAAC,CAAC;SACpB;QAED,IAAI,SAAS,EAAE;YACb,MAAM,CAAC,KAAK,CAAC,SAAS,CAAC,CAAC;YACxB,MAAM,CAAC,KAAK,CAAC,IAAI,CAAC,CAAC;SACpB;QAED,IAAI,YAAY,EAAE;YAChB,MAAM,CAAC,KAAK,CAAC,YAAY,CAAC,CAAC;YAC3B,MAAM,CAAC,KAAK,CAAC,IAAI,CAAC,CAAC;SACpB;QAED,IAAI,IAAI,CAAC,KAAK,IAAI,eAAe,IAAI,wBAAc,CAAC,IAAI,EAAE;YACxD,MAAM,CAAC,KAAK,CAAC,aAAa,CAAC,CAAC;YAC5B,MAAM,CAAC,KAAK,CAAC,IAAI,CAAC,CAAC;SACpB;QAED,IAAI,WAAW,EAAE;YACf,MAAM,CAAC,KAAK,CAAC,WAAW,CAAC,CAAC;YAC1B,MAAM,CAAC,KAAK,CAAC,IAAI,CAAC,CAAC;SACpB;QAED,IAAI,SAAS,EAAE;YACb,MAAM,CAAC,KAAK,CAAC,SAAS,CAAC,CAAC;YACxB,MAAM,CAAC,KAAK,CAAC,IAAI,CAAC,CAAC;SACpB;QAED,IAAI,cAAc,EAAE;YAClB,MAAM,CAAC,KAAK,CAAC,cAAc,CAAC,CAAC;YAC7B,MAAM,CAAC,KAAK,CAAC,IAAI,CAAC,CAAC;SACpB;IACH,CAAC,CAAC,CAAC;AACL,CAAC;AAED,SAAS,cAAc,CAAC,EAAE,WAAW,EAAwB;;IAC3D,IAAI,eAAe,GAAuB,EAAE,CAAC;IAE7C,kEAAkE;IAClE,+CAA+C;IAC/C,IAAI,KAAK,CAAC,OAAO,CAAC,WAAW,CAAC,EAAE;QAC9B,sFAAsF;QACtF,eAAe,GAAG,MAAA,WAAW,CAAC,CAAC,CAAC,0CAAE,eAAe,CAAC;KACnD;SAAM;QACL,eAAe,GAAG,WAAW,aAAX,WAAW,uBAAX,WAAW,CAAE,eAAe,CAAC;KAChD;IAED,IAAI,eAAe,EAAE;QACnB,OAAO,eAAe,eAAe,GAAG,CAAC;KAC1C;IAED,OAAO,EAAE,CAAC;AACZ,CAAC;AAED,SAAS,gBAAgB,CAAC,EAAE,WAAW,EAAE,KAAK,EAAwB;IACpE,OAAO,WAAW,IAAI,KAAK;QACzB,CAAC,CAAC,+CAA+C;QACjD,CAAC,CAAC,EAAE,CAAC;AACT,CAAC;AAaD;;;;;GAKG;AACH,SAAS,gBAAgB,CAAC,EACxB,WAAW,EACX,UAAU,EACW;;IACrB,IAAI,CAAC,WAAW,IAAI,UAAU,KAAK,KAAK,EAAE;QACxC,OAAO,EAAE,CAAC;KACX;IAED,0EAA0E;IAC1E,IAAI,mBAAmB,CAAC,WAAW,CAAC,EAAE;QACpC,OAAO,2BAA2B,WAAW,CAAC,OAAO,GAAG,CAAC;KAC1D;IAED,sFAAsF;IACtF,qGAAqG;IAErG,oFAAoF;IACpF,MAAM,MAAM,GAAG,WAAW,CAAC,CAAC,CAAC,CAAC,MAAM,CAAC;IACrC,IAAI,QAAQ,GAAY,MAAA,WAAW,CAAC,CAAC,CAAC,CAAC,QAAQ,mCAAI,KAAK,CAAC;IAEzD,kEAAkE;IAClE,sCAAsC;IACtC,IAAI,CAAC,QAAQ,EAAE;QACb,KAAK,MAAM,EAAE,IAAI,WAAW,EAAE;YAC5B,QAAQ,GAAG,EAAE,CAAC,QAAQ;gBACpB,CAAC,CAAC,EAAE,CAAC,QAAQ;gBACb,CAAC,CAAC,EAAE,CAAC,SAAS,CAAC,SAAS,IAAI,EAAE,CAAC,SAAS,CAAC,SAAS,CAAC,QAAQ;oBAC3D,CAAC,CAAC,EAAE,CAAC,SAAS,CAAC,SAAS,CAAC,QAAQ;oBACjC,CAAC,CAAC,QAAQ,CAAC;YAEb,IAAI,QAAQ;gBAAE,MAAM;SACrB;KACF;IAED,gDAAgD;IAChD,MAAM,UAAU,GAAG,WAAW,CAAC,MAAM,CAAC,CAAC,GAAG,EAAE,IAAI,EAAE,EAAE;;QAClD,gDAAgD;QAChD,IAAI,IAAI,CAAC,UAAU,KAAK,sBAAU,CAAC,KAAK,IAAI,IAAI,CAAC,SAAS,CAAC,SAAS,EAAE;YACpE,OAAO,GAAG,CAAC;SACZ;QAED,MAAM,IAAI,GAAG,IAAI,CAAC,IAAI,CAAC;QAEvB,sHAAsH;QACtH,8GAA8G;QAC9G,2DAA2D;QAC3D,MAAM,UAAU,GAAG,IAAI,CAAC,SAAS,CAAC,SAAS;YACzC,CAAC,CAAC,CAAC,qCAAmB,CAAC,IAAI,CAAC,SAAS,CAAC,SAAS,CAAC,QAAQ,CAAC,CAAC,IAAI,EAAE,IAAI,CAAC;YACrE,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC;QAEX,MAAM,UAAU,GAAG,IAAI,CAAC,QAAQ,KAAI,MAAA,IAAI,CAAC,SAAS,CAAC,SAAS,0CAAE,QAAQ,CAAA,CAAC;QAEvE,IAAI,aAA4B,CAAC;QAEjC,4GAA4G;QAC5G,IAAI,UAAU,EAAE;YACd,aAAa,GAAG,UAAU,CAAC;SAC5B;aAAM;YACL,aAAa,GAAG,CAAC,SAAS,EAAE,GAAG,UAAU,CAAC,CAAC;SAC5C;QAED,uCACK,GAAG,KACN,CAAC,IAAI,CAAC,EAAE,aAAa,IACrB;IACJ,CAAC,EAAE,EAA+C,CAAC,CAAC;IAEpD,OAAO;QACL,aAAa,EAAE,UAAU;QACzB,MAAM;QACN,QAAQ;KACT,CAAC;AACJ,CAAC;AAED,SAAS,mBAAmB,CAC1B,WAAkD;IAElD,OAAO,CAAC,KAAK,CAAC,OAAO,CAAC,WAAW,CAAC,CAAC;AACrC,CAAC;AAED,SAAS,eAAe,CACtB,aAAmC,EACnC,kBAA0B;IAE1B,MAAM,cAAc,GAAoC,aAAqB,CAC3E,kBAAkB,CACnB,CAAC;IACF,IAAI,CAAC,cAAc,IAAI,CAAC,cAAc,CAAC,MAAM,EAAE;QAC7C,OAAO,EAAE,CAAC;KACX;IAED,MAAM,UAAU,GAAG,cAAc,CAAC,GAAG,CAAC,KAAK,CAAC,EAAE,CAAC,cAAc,KAAK,CAAC,OAAO,EAAE,CAAC,CAAC;IAE9E,OAAO,GAAG,kBAAkB,MAAM,UAAU,CAAC,IAAI,EAAE,GAAG,CAAC;AACzD,CAAC;AAED;;;GAGG;AACH,SAAS,cAAc,CAAC,EAAE,SAAS,EAAwB;IACzD,MAAM,aAAa,GAAG,MAAM,CAAC,IAAI,CAAC,SAAS,CAAC,CAAC;IAC7C,IAAI,eAAe,GAAa,EAAE,CAAC;IACnC,aAAa,CAAC,OAAO,CAAC,IAAI,CAAC,EAAE;QAC3B,+DAA+D;QAC/D,MAAM,EAAE,UAAU,EAAE,aAAa,EAAE,OAAO,EAAE,GAAG,SAAS,CAAC,IAAI,CAAC,CAAC;QAC/D,MAAM,gBAAgB,GAAG,WAAW,CAAC,UAAU,EAAE,YAAY,CAAC,CAAC;QAC/D,MAAM,mBAAmB,GAAG,WAAW,CAAC,aAAa,EAAE,eAAe,CAAC,CAAC;QACxE,MAAM,mBAAmB,GAAG,OAAO,CAAC,CAAC,CAAC,YAAY,OAAO,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC;QACjE,eAAe,CAAC,IAAI,CAAC,GAAG,IAAI;UACtB,gBAAgB,GAAG,mBAAmB,GAAG,mBAAmB;QAC9D,CAAC,CAAC;IACR,CAAC,CAAC,CAAC;IAEH,OAAO,eAAe,CAAC;AACzB,CAAC;AAED,SAAS,WAAW,CAClB,MAA2C,EAC3C,UAAkB;IAElB,IAAI,CAAC,MAAM,EAAE;QACX,OAAO,EAAE,CAAC;KACX;IAED,4EAA4E;IAC5E,IAAI,YAAY,GACd,OAAO,MAAM,KAAK,QAAQ,CAAC,CAAC,CAAC,MAAM,CAAC,CAAC,CAAC,IAAI,CAAC,SAAS,CAAC,MAAM,CAAC,CAAC;IAE/D,OAAO,GAAG,UAAU,KAAK,YAAY,GAAG,CAAC;AAC3C,CAAC;AAED,SAAS,aAAa,CACpB,SAA2B,EAC3B,cAA2B,EAC3B,UAAuB;IAEvB,MAAM,YAAY,GAAG,4CAAwB,CAC3C,SAAS,EACT,cAAc,EACd,UAAU,CACX,CAAC;IAEF,OAAO,SAAS,CAAC,KAAK;QACpB,CAAC,CAAC,yCAAyC,YAAY,KAAK,YAAY,IAAI;QAC5E,CAAC,CAAC,WAAW,YAAY,GAAG,CAAC;AACjC,CAAC;AAED;;GAEG;AACH,SAAS,QAAQ,CACf,kBAA8B,EAC9B,qBAA4C,EAC5C,aAA4B;IAE5B,IAAI,cAAc,GAAG,IAAI,GAAG,EAAU,CAAC;IAEvC,IAAI,cAAc,GAAG,qCAAiB,CAAC,aAAa,CAAC,CAAC;IAEtD,MAAM,SAAS,GAAG,yBAAa,CAC7B,qBAAqB,CAAC,IAAI,EAC1B,oBAAQ,CAAC,cAAc,EACvB,IAAI,CAAC,kBAAkB,CACxB,CAAC;IACF,MAAM,mBAAmB,GAAG,kBAAkB,CAAC,QAAQ,CAAC;QACtD,IAAI,EAAE,GAAG,SAAS,MAAM;QACxB,IAAI,EAAE,CAAC,wBAAwB,SAAS,GAAG,CAAC;QAC5C,UAAU,EAAE,IAAI;QAChB,UAAU,EAAE,CAAC,GAAG,SAAS,EAAE,CAAC;KAC7B,CAAC,CAAC;IACH,mBAAmB,CAAC,WAAW,CAAC;QAC9B,IAAI,EAAE,QAAQ;QACd,UAAU,EAAE,IAAI;QAChB,KAAK,EAAE,gBAAK,CAAC,OAAO;QACpB,IAAI,EAAE,GAAG,aAAa,CAAC,SAAS,SAAS;KAC1C,CAAC,CAAC;IACH,MAAM,qBAAqB,GAAG,mBAAmB,CAAC,cAAc,CAAC;QAC/D,IAAI,EAAE;YACJ;gBACE,WAAW,EAAE,0CAA0C,SAAS,yDAAyD;aAC1H;SACF;QACD,UAAU,EAAE;YACV;gBACE,IAAI,EAAE,QAAQ;gBACd,gBAAgB,EAAE,KAAK;gBACvB,IAAI,EAAE,GAAG,aAAa,CAAC,SAAS,SAAS;aAC1C;SACF;KACF,CAAC,CAAC;IAEH,qBAAqB,CAAC,aAAa,CAAC,CAAC,sBAAsB,CAAC,CAAC,CAAC;IAC9D,eAAe,CACb,qBAAqB,EACrB,mBAAmB,EACnB,cAAc,EACd,cAAc,EACd,aAAa,EACb,KAAK,CAAC,eAAe,CACtB,CAAC;IAEF,IAAI,eAAe,CAAC,qBAAqB,CAAC,EAAE;QAC1C,wBAAwB,CAAC,mBAAmB,CAAC,CAAC;KAC/C;IAED,+BAA+B;IAC/B,IAAI,cAAc,CAAC,IAAI,EAAE;QACvB,2DAA2D;QAC3D,MAAM,YAAY,GAAG,CAAC,GAAG,cAAc,CAAC,CAAC,GAAG,CAAC,KAAK,CAAC,EAAE;YACnD,IAAI,KAAK,KAAK,SAAS,EAAE;gBACvB,OAAO,GAAG,KAAK,OAAO,KAAK,OAAO,CAAC;aACpC;YACD,OAAO,KAAK,CAAC;QACf,CAAC,CAAC,CAAC;QAEH,kBAAkB,CAAC,oBAAoB,CAAC;YACtC,YAAY;YACZ,eAAe,EAAE,WAAW;SAC7B,CAAC,CAAC;KACJ;AACH,CAAC;AASD;;GAEG;AACH,SAAgB,eAAe,CAC7B,qBAA4C,EAC5C,mBAAqC,EACrC,cAA2B,EAC3B,UAAuB,EACvB,aAA4B,EAC5B,QAAQ,GAAG,KAAK;IAEhB,MAAM,EAAE,WAAW,EAAE,GAAG,oCAAkB,EAAE,CAAC;IAE7C,4CAAyB,CAAC,qBAAqB,CAAC,CAAC;IACjD,sCAAmB,CACjB,qBAAqB,EACrB,aAAa,EACb,mBAAmB,EACnB,cAAc,CACf,CAAC;IACF,qBAAqB,CAAC,UAAU,CAAC,OAAO,CAAC,SAAS,CAAC,EAAE;;QACnD,MAAM,EACJ,oBAAoB,EACpB,6BAA6B,EAC9B,GAAG,gDAA+B,CACjC,SAAS,EACT,aAAa,CAAC,UAAU,EACxB,cAAc,EACd,mBAAmB,CACpB,CAAC;QACF,MAAM,YAAY,GAAG,4CAAwB,CAC3C,SAAS,EACT,cAAc,EACd,UAAU,CACX,CAAC;QACF,MAAM,UAAU,GAAG,aAAa,CAAC,SAAS,EAAE,cAAc,EAAE,UAAU,CAAC,CAAC;QAExE,MAAM,eAAe,GAAG,mBAAmB,CAAC,SAAS,CAAC;YACpD,IAAI,EAAE,qCAAmB,CAAC,SAAS,CAAC;YACpC,UAAU,EAAE,oBAAoB;YAChC,KAAK,EAAE,SAAS,CAAC,KAAK;YACtB,UAAU;YACV,IAAI,EAAE;gBACJ,kCAAsB,CAAC,oBAAoB,EAAE,SAAS,CAAC,WAAW,CAAC;aACpE;YACD,OAAO,EAAE,SAAS,CAAC,KAAK,IAAI,OAAO,CAAC,WAAW,CAAC;SACjD,CAAC,CAAC;QAEH,qBAAqB,CACnB,eAAe,EACf,SAAS,EACT,6BAA6B,EAC7B,UAAU,CACX,CAAC;QAEF,kBAAkB,CAChB,eAAe,EACf,SAAS,EACT,6BAA6B,EAC7B,aAAa,EACb,YAAY,EACZ,QAAQ,CACT,CAAC;QAEF;;WAEG;QACH,IAAI,SAAS,CAAC,KAAK,IAAI,SAAS,CAAC,UAAU,KAAK,SAAS,EAAE;YACzD,MAAM,YAAY,GAAG,4CAAwB,CAC3C,SAAS,EACT,cAAc,EACd,UAAU,CACX,CAAC;YACF,MAAM,UAAU,GAAG,qCAAmB,CAAC,SAAS,CAAC,CAAC;YAClD,MAAM,eAAe,GAAG,mBAAmB,CAAC,SAAS,CAAC;gBACpD,IAAI,EAAE,GAAG,UAAU,SAAS;gBAC5B,UAAU,EAAE,oBAAoB;gBAChC,KAAK,EAAE,SAAS,CAAC,KAAK;gBACtB,UAAU,EAAE,WAAW,YAAY,GAAG;gBACtC,IAAI,EAAE;oBACJ,kCAAsB,CAAC,oBAAoB,EAAE,SAAS,CAAC,WAAW,CAAC;iBACpE;gBACD,OAAO,EAAE,IAAI;aACd,CAAC,CAAC;YACH,IAAI,6BAA6B,CAAC,MAAM,GAAG,CAAC,EAAE;gBAC5C,8FAA8F;gBAC9F,6CAA6C;gBAC7C,IAAI,mBAAmB,GAAW,CAAC,CAAC,CAAC;gBACrC,KAAK,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC,GAAG,6BAA6B,CAAC,MAAM,EAAE,CAAC,EAAE,EAAE;oBAC7D,MAAM,kBAAkB,GAAG,6BAA6B,CAAC,CAAC,CAAC,CAAC;oBAE5D,mBAAmB,GAAG,kBAAkB,CAAC,SAAS,CAChD,CAAC,KAA+B,EAAE,EAAE;wBAClC,OAAO,KAAK,CAAC,aAAa,CAAC;oBAC7B,CAAC,CACF,CAAC;oBAEF,iDAAiD;oBACjD,MAAM,WAAW,GAAG,MAAA,kBAAkB,CAAC,SAAS,CAAC,QAAQ,CAAC,CAAC,CAAC,CAAC,0CACzD,GAAG,CAAC,IAAI,CAAC,EAAE,CAAC,QAAQ,mBAAmB,UAAU,IAAI,GAAG,EACzD,IAAI,CAAC,MAAM,CAAC,CAAC;oBAEhB,MAAM,WAAW,GAAG,6BAA6B,UAAU;yCAC5B,CAAC;oBAEhC,MAAM,MAAM,GAAG,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,SAAS,CAAC;oBAE1C,2DAA2D;oBAC3D,eAAe,CAAC,aAAa,CAAC;wBAC5B,GAAG,MAAM,KAAK,WAAW;UAC3B,WAAW;SACZ;qBACE,CAAC,CAAC;iBACJ;gBACD,eAAe,CAAC,aAAa,CAAC,qCAAqC,CAAC,CAAC;aACtE;iBAAM;gBACL,eAAe,CAAC,aAAa,CAC3B,6BAA6B,UAAU,IAAI,oBAAoB;qBAC5D,GAAG,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,IAAI,CAAC;qBAChB,IAAI,CAAC,GAAG,CAAC;;aAET,CACJ,CAAC;aACH;SACF;IACH,CAAC,CAAC,CAAC;AACL,CAAC;AA3HD,0CA2HC;AAED;;GAEG;AACH,SAAS,kBAAkB,CACzB,kBAAqC,EACrC,gBAAkC,EAClC,oBAA0C,EAC1C,aAA4B,EAC5B,YAAoB,EACpB,QAAiB;IAEjB,IAAI,oBAAoB,CAAC,MAAM,KAAK,CAAC,EAAE;QACrC,eAAe;QACf,6BAA6B,CAC3B,gBAAgB,EAChB,YAAY,EACZ,kBAAkB,EAClB,oBAAoB,CAAC,CAAC,CAAC,EACvB,aAAa,EACb,QAAQ,CACT,CAAC;KACH;SAAM;QACL,kEAAkE;QAClE,iEAAiE;QACjE,gCAAgC,CAC9B,kBAAkB,EAClB,gBAAgB,EAChB,oBAAoB,EACpB,YAAY,EACZ,aAAa,EACb,QAAQ,CACT,CAAC;KACH;AACH,CAAC;AASD;;;;;;GAMG;AACH,SAAS,qBAAqB,CAC5B,kBAAqC,EACrC,gBAAkC,EAClC,oBAA0C,EAC1C,UAAkB;IAElB,IAAI,oBAAoB,CAAC,MAAM,KAAK,CAAC,EAAE;QACrC,8DAA8D;QAC9D,OAAO;KACR;IAED,KAAK,MAAM,QAAQ,IAAI,oBAAoB,EAAE;QAC3C,kBAAkB,CAAC,WAAW,CAAC;YAC7B,UAAU,EAAE,QAAQ;YACpB,UAAU;YACV,IAAI,EAAE,CAAC,kCAAsB,CAAC,QAAQ,EAAE,gBAAgB,CAAC,WAAW,CAAC,CAAC;SACvE,CAAC,CAAC;KACJ;AACH,CAAC;AAED;;;;GAIG;AACH,SAAS,2CAA2C,CAClD,OAAe,EACf,KAAc,EACd,yBAAkC;IAElC,MAAM,EAAE,SAAS,EAAE,GAAG,oCAAkB,EAAE,CAAC;IAC3C,oEAAoE;IACpE,2EAA2E;IAC3E,OAAO,KAAK;QACV,CAAC,CAAC,4BAA4B,OAAO,GACjC,yBAAyB,KAAK,SAAS;YACrC,CAAC,CAAC,EAAE;YACJ,CAAC,CAAC,MAAM,yBAAyB,GACrC,GAAG;QACL,CAAC,CAAC,CAAC,SAAS;YACZ,CAAC,CAAC,8DAA8D;YAChE,CAAC,CAAC,eAAe,CAAC;AACtB,CAAC;AAED,SAAS,6BAA6B,CACpC,SAA2B,EAC3B,YAAoB,EACpB,eAAkC,EAClC,qBAAiD,EACjD,aAA4B,EAC5B,QAAiB;IAEjB,MAAM,EAAE,SAAS,EAAE,WAAW,EAAE,GAAG,oCAAkB,EAAE,CAAC;IACxD,MAAM,yBAAyB,GAC7B,SAAS,CAAC,UAAU,IAAI,SAAS,CAAC,UAAU,CAAC,iBAAiB,CAAC,CAAC;IAElE,MAAM,iBAAiB,GAAG,GAAG,SAAS,CAAC,IAAI,eAAe,CAAC;IAE3D,MAAM,kBAAkB,GAAG,SAAS,CAAC;IACrC,IAAI,OAAO,GAAG,kBAAkB,CAAC;IAEjC,IAAI,WAAW,EAAE;QACf,MAAM,aAAa,GAAG,eAAe,CAAC,OAAO,EAAE,CAAC;QAChD,MAAM,EACJ,oBAAoB,EAAE,kBAAkB,EACxC,SAAS,EAAE,gBAAgB,EAC5B,GAAG,uBAAuB,CACzB,aAAa,EACb,aAAa,EACb,GAAG,OAAO,QAAQ,CACnB,CAAC;QACF,eAAe,CAAC,aAAa,CAAC,CAAC,gBAAgB,CAAC,CAAC,CAAC;QAClD,wEAAwE;QACxE,OAAO,GAAG,2CAA2C,CACnD,kBAAkB,EAClB,SAAS,CAAC,KAAK,EACf,yBAAyB,CAC1B,CAAC;KACH;SAAM;QACL,OAAO,GAAG,2CAA2C,CACnD,kBAAkB,EAClB,SAAS,CAAC,KAAK,EACf,yBAAyB,CAC1B,CAAC;KACH;IAED,MAAM,UAAU,GAAG,qBAAqB;SACrC,GAAG,CAAC,CAAC,CAAC,EAAE,CACP,CAAC,CAAC,IAAI,KAAK,SAAS;QAClB,CAAC,CAAC,CAAC,SAAS;YACV,CAAC,CAAC,YAAY,OAAO,EAAE;YACvB,CAAC,CAAC,SAAS;QACb,CAAC,CAAC,CAAC,CAAC,IAAI,CACX;SACA,IAAI,CAAC,GAAG,CAAC,CAAC;IAEb,8DAA8D;IAC9D,IAAI,CAAC,SAAS,EAAE;QACd,eAAe,CAAC,aAAa,CAC3B,4DAA4D,UAAU,GAAG,CAC1E,CAAC;KACH;IAED,IAAI,SAAS,CAAC,KAAK,EAAE;QACnB,IAAI,CAAC,SAAS,EAAE;YACd,qBAAqB,CACnB,oBAAoB,EACpB,YAAY,EACZ,iBAAiB,EACjB,eAAe,EACf,yBAAyB,EACzB,QAAQ,EACR,CAAC,CAAC,WAAW,CACd,CAAC;SACH;aAAM;YACL,qBAAqB,CACnB,IAAI,UAAU,GAAG,EACjB,YAAY,EACZ,iBAAiB,EACjB,eAAe,EACf,yBAAyB,EACzB,QAAQ,EACR,CAAC,CAAC,WAAW,CACd,CAAC;SACH;KACF;SAAM;QACL,yBAAyB,CACvB,YAAY,EACZ,eAAe,EACf,iBAAiB,EACjB,aAAa,EACb,QAAQ,EACR,IAAI,UAAU,GAAG,CAClB,CAAC;KACH;AACH,CAAC;AAQD,SAAS,uBAAuB,CAC9B,aAA4B,EAC5B,aAAqB,EACrB,OAAe;IAEf,MAAM,oBAAoB,GAAG,gBAAgB,CAAC;IAC9C,OAAO;QACL,SAAS,EAAE,iBAAiB,oBAAoB,oBAAoB,aAAa,CAAC,SAAS,IAAI,aAAa,MAAM,OAAO,IAAI;QAC7H,oBAAoB,EAAE,oBAAoB;KAC3C,CAAC;AACJ,CAAC;AAED,SAAS,yBAAyB,CAChC,YAAoB,EACpB,eAAkC,EAClC,iBAAyB,EACzB,aAA4B,EAC5B,QAAQ,GAAG,KAAK,EAChB,UAAkB;IAElB,MAAM,EAAE,SAAS,EAAE,WAAW,EAAE,GAAG,oCAAkB,EAAE,CAAC;IACxD,MAAM,MAAM,GAAG,QAAQ,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,SAAS,CAAC;IACzC,MAAM,oBAAoB,GAAG,CAAC,SAAS;QACrC,CAAC,CAAC,OAAO,MAAM,6CAA6C,iBAAiB,GAAG;QAChF,CAAC,CAAC,OAAO,MAAM,yBAAyB,UAAU,KAAK,iBAAiB,GAAG,CAAC;IAE9E,uFAAuF;IACvF,yDAAyD;IACzD,eAAe,CAAC,aAAa,CAC3B,2BAA2B,CACzB,oBAAoB,EACpB,YAAY,EACZ,CAAC,CAAC,WAAW,CACd,CACF,CAAC;AACJ,CAAC;AAED,SAAS,iBAAiB;IACxB,OAAO,kCAAkC,CAAC;AAC5C,CAAC;AAED,SAAS,2BAA2B,CAClC,oBAA4B,EAC5B,YAAoB,EACpB,gBAAyB;IAEzB,MAAM,EAAE,SAAS,EAAE,GAAG,oCAAkB,EAAE,CAAC;IAC3C,IAAI,gBAAgB,EAAE;QACpB,OAAO;6BACkB,oBAAoB;yBACxB,YAAY;;;cAGvB,iBAAiB,EAAE;;;;;;MAM3B,CAAC;KACJ;SAAM;QACL,OAAO,CAAC,SAAS;YACf,CAAC,CAAC,UAAU,oBAAoB,eAAe,YAAY,GAAG;YAC9D,CAAC,CAAC,UAAU,oBAAoB,EAAE,CAAC;KACtC;AACH,CAAC;AAED,SAAS,qBAAqB,CAC5B,mBAA2B,EAC3B,YAAoB,EACpB,iBAAyB,EACzB,iBAAoC,EACpC,yBAAkC,EAClC,QAAkB,EAClB,gBAAgB,GAAG,KAAK;IAExB,MAAM,EAAE,SAAS,EAAE,GAAG,oCAAkB,EAAE,CAAC;IAC3C,MAAM,MAAM,GAAG,QAAQ,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,SAAS,CAAC;IACzC,MAAM,oBAAoB,GAAG,OAAO,MAAM,mCAAmC,CAAC;IAE9E,MAAM,aAAa,GAAG,yBAAyB;QAC7C,CAAC,CAAC,IAAI,yBAAyB,CAAC,WAAW,EAAE,GAAG;QAChD,CAAC,CAAC,EAAE,CAAC;IACP,MAAM,sBAAsB,GAAG,CAAC,SAAS;QACvC,CAAC,CAAC,gHAAgH,YAAY;QAC1H,2BAA2B,CAC3B,oBAAoB,EACpB,YAAY,EACZ,gBAAgB,CACjB;;;;;;;;;MASD;QACF,CAAC,CAAC,oHAAoH,YAAY;MAChI,2BAA2B,CAC3B,oBAAoB,EACpB,YAAY,EACZ,gBAAgB,CACjB;;;;;;;;;;;;;;;;;;;;;;;;IAwBD,CAAC;IACH,MAAM,YAAY,GAAG,SAAS,CAAC,CAAC,CAAC,eAAe,CAAC,CAAC,CAAC,aAAa,CAAC;IACjE,iBAAiB,CAAC,aAAa,CAAC;QAC9B,sBAAsB;QACtB,mBAAmB,YAAY,kBAAkB,mBAAmB;QAChE,iBAAiB,IAAI,aAAa,GAAG;QACzC,wEAAwE;KACzE,CAAC,CAAC;IAEH,iBAAiB,CAAC,aAAa,CAC7B,yCAAyC,YAAY,KAAK,YAAY,IAAI,CAC3E,CAAC;AACJ,CAAC;AAED;;;;GAIG;AACH,SAAS,gCAAgC,CACvC,eAAkC,EAClC,SAA2B,EAC3B,6BAA2D,EAC3D,YAAoB,EACpB,aAA4B,EAC5B,QAAQ,GAAG,KAAK;IAEhB,MAAM,EAAE,SAAS,EAAE,WAAW,EAAE,GAAG,oCAAkB,EAAE,CAAC;IACxD,MAAM,UAAU,GAAG,CAAC,SAAS,CAAC,CAAC,CAAC,UAAU,CAAC,CAAC,CAAC,YAAY,CAAC;IAC1D,eAAe,CAAC,aAAa,CAAC;QAC5B,sBAAsB,UAAU,iBAAiB;QACjD,2BAA2B,UAAU,sBAAsB;KAC5D,CAAC,CAAC;IAEH,2EAA2E;IAC3E,MAAM,QAAQ,GAAG,SAAS,CAAC,QAAQ,CAAC;IACpC,IAAI,6BAA6B,CAAC,MAAM,KAAK,QAAQ,CAAC,MAAM,EAAE;QAC5D,MAAM,IAAI,KAAK,CACb,YAAY,QAAQ,CAAC,MAAM,mCAAmC,6BAA6B,CAAC,MAAM,QAAQ,SAAS,CAAC,IAAI,EAAE,CAC3H,CAAC;KACH;IAED,MAAM,cAAc,GAAG,SAAS,CAAC;IACjC,eAAe,CAAC,aAAa,CAAC,CAAC,OAAO,cAAc,GAAG,CAAC,CAAC,CAAC;IAE1D,8FAA8F;IAC9F,6CAA6C;IAC7C,IAAI,mBAAmB,GAAW,CAAC,CAAC,CAAC;IACrC,KAAK,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC,GAAG,QAAQ,CAAC,MAAM,EAAE,CAAC,EAAE,EAAE;QACxC,MAAM,OAAO,GAAG,QAAQ,CAAC,CAAC,CAAC,CAAC;QAC5B,MAAM,kBAAkB,GAAG,6BAA6B,CAAC,CAAC,CAAC,CAAC;QAC5D,MAAM,SAAS,GAAG,OAAO,CAAC,SAAU,CAAC;QACrC,MAAM,iBAAiB,GAAG,kBAAkB,CAAC,OAAO,CAAC,CAAC;QAEtD,mBAAmB,GAAG,kBAAkB,CAAC,SAAS,CAAC,KAAK,CAAC,EAAE;YACzD,OAAO,KAAK,CAAC,aAAa,CAAC;QAC7B,CAAC,CAAC,CAAC;QAEH,yGAAyG;QACzG,IACE,mBAAmB,KAAK,CAAC,CAAC;YAC1B,CAAC,iBAAiB;YAClB,CAAC,iBAAiB,CAAC,MAAM,EACzB;YACA,MAAM,IAAI,KAAK,CACb,sGAAsG,SAAS,CAAC,QAAQ,IAAI,CAC7H,CAAC;SACH;QAED,sCAAsC;QACtC,MAAM,MAAM,GAAG,kBAAkB;aAC9B,GAAG,CAAC,CAAC,KAAK,EAAE,KAAK,EAAE,EAAE,CAAC,GAAG,KAAK,CAAC,IAAI,UAAU,KAAK,GAAG,CAAC;aACtD,IAAI,CAAC,GAAG,CAAC,CAAC;QAEb,MAAM,YAAY,GAAG,kBAAkB,CAAC,SAAS,CAC/C,KAAK,CAAC,EAAE,CAAC,KAAK,CAAC,IAAI,KAAK,SAAS,CAClC,CAAC;QAEF,gDAAgD;QAChD,MAAM,WAAW,GAAG,iBAAiB;aAClC,GAAG,CAAC,IAAI,CAAC,EAAE,CAAC,QAAQ,mBAAmB,UAAU,IAAI,GAAG,CAAC;aACzD,IAAI,CAAC,MAAM,CAAC,CAAC;QAEhB,kFAAkF;QAClF,MAAM,WAAW,GAAG;YAClB,mBAAmB,SAAS,CAAC,IAAI,IAAI,SAAS,eAAe;YAC7D,yBAAyB,MAAM,IAAI;YACnC,GAAG,cAAc,WAAW,YAAY,IAAI;SAC7C,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;QAEb,MAAM,MAAM,GAAG,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,SAAS,CAAC;QAE1C,2DAA2D;QAC3D,eAAe,CAAC,aAAa,CAAC;YAC5B,GAAG,MAAM,KAAK,WAAW;UACrB,WAAW;SACZ;SACJ,CAAC,CAAC;KACJ;IAED,uHAAuH;IACvH,eAAe,CAAC,aAAa,CAAC;QAC5B;yFACqF,mBAAmB;IACxG;KACD,CAAC,CAAC;IAEH,MAAM,yBAAyB,GAC7B,SAAS,CAAC,UAAU,IAAI,SAAS,CAAC,UAAU,CAAC,iBAAiB,CAAC,CAAC;IAElE,IAAI,WAAW,EAAE;QACf,MAAM,aAAa,GAAG,eAAe,CAAC,OAAO,EAAE,CAAC;QAChD,MAAM,EACJ,oBAAoB,EACpB,SAAS,EAAE,gBAAgB,EAC5B,GAAG,uBAAuB,CAAC,aAAa,EAAE,aAAa,EAAE,cAAc,CAAC,CAAC;QAC1E,eAAe,CAAC,aAAa,CAAC;YAC5B,gBAAgB;YAChB,gCAAgC,2CAA2C,CACzE,oBAAoB,EACpB,SAAS,CAAC,KAAK,EACf,yBAAyB,CAC1B,GAAG;SACL,CAAC,CAAC;KACJ;SAAM;QACL,eAAe,CAAC,aAAa,CAAC;YAC5B,gCAAgC,2CAA2C,CACzE,cAAc,EACd,SAAS,CAAC,KAAK,EACf,yBAAyB,CAC1B,GAAG;SACL,CAAC,CAAC;KACJ;IAED,IAAI,CAAC,SAAS,CAAC,KAAK,EAAE;QACpB,yBAAyB,CACvB,YAAY,EACZ,eAAe,EACf,eAAe,EACf,aAAa,EACb,QAAQ,EACR,oBAAoB,CACrB,CAAC;KACH;SAAM;QACL,qBAAqB,CACnB,oBAAoB,EACpB,YAAY,EACZ,eAAe,EACf,eAAe,EACf,yBAAyB,EACzB,QAAQ,EACR,CAAC,CAAC,WAAW,CACd,CAAC;KACH;AACH,CAAC;AAED,SAAS,kBAAkB,CACzB,OAAgC;;IAEhC,MAAM,UAAU,GAAG,MAAA,OAAO,CAAC,UAAU,mCAAI,EAAE,CAAC;IAC5C,KAAK,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC,GAAG,UAAU,CAAC,MAAM,EAAE,CAAC,EAAE,EAAE;QAC1C,MAAM,SAAS,GAAG,UAAU,CAAC,CAAC,CAAC,CAAC;QAChC,MAAM,iBAAiB,GAAG,qCAAmB,CAAC,SAAS,CAAC,QAAQ,CAAC,CAAC;QAClE,MAAM,wBAAwB,GAAG,MAAA,iBAAiB,CAAC,cAAc,0CAAE,WAAW,EAAE,CAAC;QACjF,MAAM,iBAAiB,GACrB,CAAA,MAAA,SAAS,CAAC,QAAQ,CAAC,IAAI,0CAAE,EAAE,MAAK,6BAAiB,CAAC,MAAM,CAAC;QAC3D,MAAM,MAAM,GAAG,SAAS,CAAC,MAAM,CAAC;QAChC,IACE,CAAC,MAAM,CAAC,IAAI,KAAK,sBAAU,CAAC,MAAM;YAChC,MAAM,CAAC,IAAI,KAAK,sBAAU,CAAC,YAAY,CAAC;YAC1C,wBAAwB,KAAK,cAAc;YAC3C,iBAAiB,EACjB;YACA,OAAQ,MAA4C,CAAC,OAAO,CAAC,GAAG,CAC9D,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,KAAe,CACvB,CAAC;SACH;aAAM,IACL,MAAM,CAAC,IAAI,KAAK,sBAAU,CAAC,QAAQ;YACnC,wBAAwB,KAAK,cAAc;YAC3C,iBAAiB,EACjB;YACA,OAAO,CAAE,MAAyB,CAAC,KAAK,CAAC,KAAK,CAAC,CAAC;SACjD;KACF;IACD,OAAO;AACT,CAAC;AAED,SAAS,YAAY,CACnB,gBAAkC,EAClC,SAAyB;IAEzB,OAAO,gBAAgB,CAAC,UAAU,CAAC,GAAG,CAAC,SAAS,CAAC,CAAC;AACpD,CAAC;AAED;;;GAGG;AACH,SAAgB,iBAAiB,CAC/B,qBAA4C,EAC5C,IAAgB,EAChB,UAA8B,EAC9B,UAAmB;IAEnB,MAAM,EAAE,SAAS,EAAE,GAAG,oCAAkB,EAAE,CAAC;IAC3C,MAAM,MAAM,GAAG,qBAAqB,CAAC,UAAU,CAAC,IAAI,CAAC,SAAS,CAAC,EAAE,CAC/D,YAAY,CAAC,SAAS,EAAE,wBAAc,CAAC,GAAG,CAAC,CAC5C,CAAC;IAEF,MAAM,SAAS,GAAG,qBAAqB,CAAC,UAAU,CAAC,IAAI,CACrD,SAAS,CAAC,EAAE,CACV,YAAY,CAAC,SAAS,EAAE,wBAAc,CAAC,IAAI,CAAC;QAC5C,YAAY,CAAC,SAAS,EAAE,wBAAc,CAAC,IAAI,CAAC;QAC5C,YAAY,CAAC,SAAS,EAAE,wBAAc,CAAC,SAAS,CAAC;QACjD,YAAY,CAAC,SAAS,EAAE,wBAAc,CAAC,IAAI,CAAC;QAC5C,YAAY,CAAC,SAAS,EAAE,wBAAc,CAAC,OAAO,CAAC,CAClD,CAAC;IAEF,MAAM,YAAY,GAAG,CAAC,MAAM,IAAI,CAAC,SAAS,CAAC;IAE3C,IAAI,CAAC,aAAa,CAAC,6BAA6B,CAAC,CAAC;IAElD,IAAI,MAAM,EAAE;QACV,eAAe,CAAC,UAAU,EAAE,IAAI,EAAE,cAAc,CAAC,GAAG,CAAC,CAAC;KACvD;IAED,IAAI,SAAS,IAAI,YAAY,EAAE;QAC7B,eAAe,CAAC,UAAU,EAAE,IAAI,EAAE,cAAc,CAAC,IAAI,CAAC,CAAC;KACxD;IAED,qBAAqB,CAAC,UAAU,CAAC,OAAO,CAAC,SAAS,CAAC,EAAE;QACnD,MAAM,cAAc,GAAG,4CAAsB,CAAC,SAAS,EAAE,UAAU,CAAC,CAAC;QAErE,KAAK,MAAM,aAAa,IAAI,cAAc,EAAE;YAC1C,IAAI,CAAC,oBAAoB,CAAC;gBACxB,eAAe,EAAE,kCAAuB,CAAC,KAAK;gBAC9C,YAAY,EAAE;oBACZ;wBACE,IAAI,EAAE,aAAa,CAAC,IAAI;wBACxB,IAAI,EAAE,CAAC,SAAS;4BACd,CAAC,CAAC,wBAAwB;4BAC1B,CAAC,CAAC,0BAA0B;wBAC9B,WAAW,EAAE,MAAM,CAAC,EAAE,CAAC,SAAS,CAAC,aAAa,EAAE,MAAM,CAAC;qBACxD;iBACF;aACF,CAAC,CAAC;SACJ;IACH,CAAC,CAAC,CAAC;AACL,CAAC;AAlDD,8CAkDC;AAED,IAAK,cAGJ;AAHD,WAAK,cAAc;IACjB,mDAAI,CAAA;IACJ,iDAAG,CAAA;AACL,CAAC,EAHI,cAAc,KAAd,cAAc,QAGlB;AAED,SAAS,eAAe,CACtB,UAAmB,EACnB,IAAgB,EAChB,OAAuB,cAAc,CAAC,IAAI;IAE1C,MAAM,EAAE,SAAS,EAAE,GAAG,oCAAkB,EAAE,CAAC;IAE3C,MAAM,KAAK,GAAG,IAAI,KAAK,cAAc,CAAC,GAAG,CAAC;IAC1C,MAAM,OAAO,GAAG,UAAU,CAAC,CAAC,CAAC,SAAS,CAAC,CAAC,CAAC,IAAI,CAAC;IAC9C,MAAM,IAAI,GAAG,KAAK,CAAC,CAAC,CAAC,eAAe,CAAC,CAAC,CAAC,YAAY,CAAC;IACpD,IAAI,CAAC,oBAAoB,CAAC;QACxB,eAAe,EAAE,kCAAuB,CAAC,KAAK;QAC9C,YAAY,EAAE;YACZ;gBACE,IAAI;gBACJ,WAAW,EAAE,CAAC,SAAS;oBACrB,CAAC,CAAC,2BAA2B,OAAO,iBAAiB,KAAK,IAAI;oBAC9D,CAAC,CAAC,+BAA+B,OAAO,iBAAiB,KAAK,IAAI;aACrE;SACF;KACF,CAAC,CAAC;AACL,CAAC;AAED;;GAEG;AACH,SAAS,UAAU,CACjB,qBAA4C,EAC5C,kBAA8B,EAC9B,aAA4B;IAE5B,MAAM,EAAE,SAAS,EAAE,GAAG,oCAAkB,EAAE,CAAC;IAE3C,MAAM,EAAE,SAAS,EAAE,OAAO,EAAE,GAAG,aAAa,CAAC;IAC7C,qCAAkB,CAAC,qBAAqB,CAAC,UAAU,EAAE,kBAAkB,CAAC,CAAC;IACzE,yCAA0B,CAAC,kBAAkB,CAAC,CAAC;IAC/C,mCAAgB,CAAC,qBAAqB,CAAC,UAAU,EAAE,kBAAkB,CAAC,CAAC;IAEvE,MAAM,2BAA2B,GAAG,yBAAa,CAC/C,qBAAqB,CAAC,IAAI,EAC1B,oBAAQ,CAAC,cAAc,EACvB,IAAI,CAAC,kBAAkB,CACxB,CAAC;IAEF,kBAAkB,CAAC,oBAAoB,CAAC;QACtC,YAAY,EAAE,CAAC,GAAG,2BAA2B,EAAE,CAAC;QAChD,eAAe,EAAE,yBAAyB;KAC3C,CAAC,CAAC;IAEH,IAAI,CAAC,SAAS,EAAE;QACd,kBAAkB,CAAC,oBAAoB,CAAC;YACtC,eAAe,EAAE,UAAU;YAC3B,eAAe,EAAE,kBAAkB;SACpC,CAAC,CAAC;QACH,kBAAkB,CAAC,oBAAoB,CAAC;YACtC,eAAe,EAAE,aAAa;YAC9B,eAAe,EAAE,qBAAqB;SACvC,CAAC,CAAC;KACJ;SAAM;QACL,kBAAkB,CAAC,oBAAoB,CAAC;YACtC,eAAe,EAAE,YAAY;YAC7B,eAAe,EAAE,oBAAoB;SACtC,CAAC,CAAC;QACH,kBAAkB,CAAC,oBAAoB,CAAC;YACtC,eAAe,EAAE,kBAAkB;YACnC,eAAe,EAAE,2BAA2B;SAC7C,CAAC,CAAC;QACH,kBAAkB,CAAC,oBAAoB,CAAC;YACtC,eAAe,EAAE,aAAa;YAC9B,eAAe,EAAE,qBAAqB;SACvC,CAAC,CAAC;KACJ;IAED,IAAI,OAAO,CAAC,MAAM,EAAE;QAClB,kBAAkB,CAAC,oBAAoB,CAAC;YACtC,eAAe,EAAE,SAAS;YAC1B,eAAe,EAAE,mBAAmB;SACrC,CAAC,CAAC;KACJ;IAED,IAAI,oCAAsB,CAAC,aAAa,CAAC,EAAE;QACzC,kBAAkB,CAAC,oBAAoB,CAAC;YACtC,eAAe,EAAE,YAAY;YAC7B,eAAe,EAAE,sBAAsB;SACxC,CAAC,CAAC;KACJ;IAED,MAAM,sBAAsB,GAAG,GAAG,SAAS,SAAS,CAAC;IAErD,MAAM,qBAAqB,GAAG,yBAAa,CACzC,sBAAsB,EACtB,oBAAQ,CAAC,IAAI,CACd,CAAC;IAEF,kBAAkB,CAAC,oBAAoB,CAAC;QACtC,YAAY,EAAE,CAAC,GAAG,sBAAsB,EAAE,CAAC;QAC3C,eAAe,EAAE,MAAM,qBAAqB,EAAE;KAC/C,CAAC,CAAC;IAEH,IAAI,eAAe,CAAC,qBAAqB,CAAC,EAAE;QAC1C,kBAAkB,CAAC,oBAAoB,CAAC;YACtC,YAAY,EAAE,CAAC,YAAY,EAAE,oBAAoB,CAAC;YAClD,eAAe,EAAE,iBAAiB;SACnC,CAAC,CAAC;QACH,kBAAkB,CAAC,oBAAoB,CAAC;YACtC,YAAY,EAAE,CAAC,WAAW,CAAC;YAC3B,eAAe,EAAE,QAAQ;SAC1B,CAAC,CAAC;QACH,IAAI,SAAS,EAAE;YACb,kBAAkB,CAAC,oBAAoB,CAAC;gBACtC,YAAY,EAAE,CAAC,eAAe,EAAE,sBAAsB,CAAC;gBACvD,eAAe,EAAE,kBAAkB;aACpC,CAAC,CAAC;SACJ;aAAM;YACL,kBAAkB,CAAC,oBAAoB,CAAC;gBACtC,YAAY,EAAE,CAAC,aAAa,EAAE,sBAAsB,CAAC;gBACrD,eAAe,EAAE,gBAAgB;aAClC,CAAC,CAAC;SACJ;KACF;AACH,CAAC;AAED,SAAgB,eAAe,CAAC,qBAA4C;IAC1E,OAAO,qBAAqB,CAAC,UAAU,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,KAAK,CAAC,CAAC;AAC7D,CAAC;AAFD,0CAEC"}
1
+ {"version":3,"file":"operationGenerator.js","sourceRoot":"","sources":["../../../src/generators/operationGenerator.ts"],"names":[],"mappings":";AAAA,uCAAuC;AACvC,kCAAkC;;;;;;;;;;;;;;AAElC,uCAWkB;AAClB,kDAA6D;AAE7D,2EAA2E;AAS3E,2DAAyE;AACzE,kDAAsD;AACtD,mDAM6B;AAC7B,8DAA+D;AAC/D,qDAA6D;AAC7D,iEAGmC;AAEnC,iDAA2D;AAC3D,uDAAkE;AAClE,+DAKkC;AAClC,6DAA8D;AAC9D,wDAAwD;AAExD;;;;;;;;GAQG;AACH,SAAgB,kBAAkB,CAChC,aAA4B,EAC5B,OAAgB;IAEhB,MAAM,EAAE,OAAO,EAAE,GAAG,IAAA,oCAAkB,GAAE,CAAC;IACzC,IAAI,SAAS,GAAa,EAAE,CAAC;IAE7B,gDAAgD;IAChD,MAAM,eAAe,GAAG,aAAa,CAAC,eAAe,CAAC,MAAM,CAC1D,EAAE,CAAC,EAAE,CAAC,CAAC,EAAE,CAAC,UAAU,CACrB,CAAC;IAEF,eAAe,CAAC,OAAO,CAAC,gBAAgB,CAAC,EAAE;QACzC,SAAS,CAAC,IAAI,CAAC,IAAA,yBAAa,EAAC,gBAAgB,CAAC,IAAI,EAAE,oBAAQ,CAAC,IAAI,CAAC,CAAC,CAAC;QACpE,iBAAiB,CAAC,gBAAgB,EAAE,aAAa,EAAE,OAAO,CAAC,CAAC;IAC9D,CAAC,CAAC,CAAC;IAEH,IAAI,eAAe,CAAC,MAAM,EAAE;QAC1B,MAAM,kBAAkB,GAAG,OAAO,CAAC,gBAAgB,CACjD,GAAG,OAAO,sBAAsB,EAChC,SAAS,EACT,EAAE,SAAS,EAAE,IAAI,EAAE,CACpB,CAAC;QAEF,kBAAkB,CAAC,qBAAqB,CACtC,SAAS,CAAC,GAAG,CAAC,QAAQ,CAAC,EAAE;YACvB,OAAO;gBACL,eAAe,EAAE,KAAK,QAAQ,EAAE;aACH,CAAC;QAClC,CAAC,CAAC,CACH,CAAC;KACH;AACH,CAAC;AAhCD,gDAgCC;AAED;;GAEG;AACH,SAAS,iBAAiB,CACxB,qBAA4C,EAC5C,aAA4B,EAC5B,OAAgB;IAEhB,MAAM,EAAE,OAAO,EAAE,GAAG,IAAA,oCAAkB,GAAE,CAAC;IACzC,MAAM,IAAI,GAAG,IAAA,yBAAa,EAAC,qBAAqB,CAAC,IAAI,EAAE,oBAAQ,CAAC,IAAI,CAAC,CAAC;IACtE,MAAM,UAAU,GAAG,CAAC,CAAC,aAAa,CAAC,OAAO,CAAC,MAAM,CAAC;IAClD,MAAM,kBAAkB,GAAG,OAAO,CAAC,gBAAgB,CACjD,GAAG,OAAO,eAAe,IAAI,KAAK,EAClC,SAAS,EACT,EAAE,SAAS,EAAE,IAAI,EAAE,CACpB,CAAC;IAEF,UAAU,CAAC,qBAAqB,EAAE,kBAAkB,EAAE,aAAa,CAAC,CAAC;IACrE,QAAQ,CAAC,kBAAkB,EAAE,qBAAqB,EAAE,aAAa,CAAC,CAAC;IACnE,iBAAiB,CACf,qBAAqB,EACrB,kBAAkB,EAClB,aAAa,CAAC,UAAU,EACxB,UAAU,CACX,CAAC;IAEF,kBAAkB,CAAC,oBAAoB,EAAE,CAAC;AAC5C,CAAC;AAED,SAAgB,wBAAwB,CACtC,mBAAqC;IAErC,MAAM,EAAE,SAAS,EAAE,GAAG,IAAA,oCAAkB,GAAE,CAAC;IAC3C,mBAAmB,CAAC,SAAS,CAAC;QAC5B,KAAK,EAAE,gBAAK,CAAC,OAAO;QACpB,IAAI,EAAE,CAAC,SAAS;YACd,CAAC,CAAC,iEAAiE;YACnE,CAAC,CAAC,mEAAmE;QACvE,UAAU,EAAE;YACV,EAAE,IAAI,EAAE,SAAS,EAAE,IAAI,EAAE,sBAAsB,EAAE;YACjD;gBACE,IAAI,EAAE,2BAA2B;gBACjC,IAAI,EAAE,QAAQ;gBACd,gBAAgB,EAAE,IAAI;aACvB;SACF;QACD,UAAU,EAAE,CAAC,SAAS;YACpB,CAAC,CAAC,6BAA6B;YAC/B,CAAC,CAAC,6BAA6B;QACjC,UAAU,EAAE,CAAC,SAAS;YACpB,CAAC,CAAC;;;KAGH;YACC,CAAC,CAAC;;6BAEqB;KAC1B,CAAC,CAAC;AACL,CAAC;AA7BD,4DA6BC;AAED;;;GAGG;AACH,SAAS,SAAS,CAAC,IAA0B,EAAE,MAAuB;;IACpE,MAAM,SAAS,GAAG,cAAc,CAAC,IAAI,CAAC,CAAC;IACvC,MAAM,WAAW,GAAG,gBAAgB,CAAC,IAAI,CAAC,CAAC;IAC3C,MAAM,WAAW,GAAG,eAAe,CAAC,IAAI,EAAE,iBAAiB,CAAC,CAAC;IAC7D,MAAM,SAAS,GAAG,eAAe,CAAC,IAAI,EAAE,eAAe,CAAC,CAAC;IACzD,MAAM,YAAY,GAAG,eAAe,CAAC,IAAI,EAAE,kBAAkB,CAAC,CAAC;IAC/D,MAAM,cAAc,GAAG,eAAe,CAAC,IAAI,EAAE,oBAAoB,CAAC,CAAC;IACnE,MAAM,SAAS,GAAG,cAAc,CAAC,IAAI,CAAC,CAAC;IAEvC,gEAAgE;IAChE,+DAA+D;IAC/D,wBAAwB;IACxB,IAAI,eAAe,GAAuB,SAAS,CAAC;IACpD,IAAI,KAAK,CAAC,OAAO,CAAC,IAAI,CAAC,WAAW,CAAC,EAAE;QACnC,eAAe,GAAG,MAAA,IAAI,CAAC,WAAW,CAAC,CAAC,CAAC,0CAAE,eAAe,CAAC;KACxD;SAAM;QACL,eAAe,GAAG,MAAA,IAAI,CAAC,WAAW,0CAAE,eAAe,CAAC;KACrD;IAED,MAAM,WAAW,GACf,eAAe,KAAK,wBAAc,CAAC,IAAI;QACrC,CAAC,CAAC,gBAAgB,CAAC,IAAI,CAAC;QACxB,CAAC,CAAC,SAAS,CAAC;IAEhB,MAAM,cAAc,GAAG,IAAI,CAAC,KAAK;QAC/B,CAAC,CAAC,eAAe,KAAK,wBAAc,CAAC,IAAI;YACvC,CAAC,CAAC,2BAA2B;YAC7B,CAAC,CAAC,YAAY;QAChB,CAAC,CAAC,YAAY,CAAC;IAEjB,MAAM,CAAC,KAAK,CAAC,GAAG,EAAE;QAChB,MAAM,CAAC,KAAK,CAAC,UAAU,IAAI,CAAC,IAAI,IAAI,CAAC,CAAC;QACtC,MAAM,CAAC,KAAK,CAAC,gBAAgB,IAAI,CAAC,UAAU,IAAI,CAAC,CAAC;QAClD,MAAM,CAAC,KAAK,CAAC,gBAAgB,SAAS,CAAC,IAAI,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC;QAExD,IAAI,OAAO,WAAW,KAAK,QAAQ,EAAE;YACnC,MAAM,CAAC,KAAK,CAAC,WAAW,CAAC,CAAC;SAC3B;aAAM;YACL,MAAM,MAAM,GACV,OAAO,WAAW,CAAC,MAAM,KAAK,QAAQ;gBACpC,CAAC,CAAC,WAAW,WAAW,CAAC,MAAM,EAAE;gBACjC,CAAC,CAAC,GAAG,IAAI,CAAC,SAAS,CAAC,WAAW,CAAC,MAAM,CAAC,EAAE,CAAC;YAE9C,IAAI,WAAW,CAAC,QAAQ,EAAE;gBACxB,MAAM,CAAC,KAAK,CACV,iCAAiC,IAAI,CAAC,SAAS,CAC7C,WAAW,CAAC,aAAa,CAC1B,iBAAiB,MAAM,qBAAqB,CAC9C,CAAC;aACH;iBAAM;gBACL,MAAM,CAAC,KAAK,CACV,iCAAiC,IAAI,CAAC,SAAS,CAC7C,WAAW,CAAC,aAAa,CAC1B,aAAa,MAAM,KAAK,CAC1B,CAAC;aACH;SACF;QAED,IAAI,cAAc,EAAE;YAClB,MAAM,CAAC,KAAK,CAAC,cAAc,CAAC,CAAC;YAC7B,MAAM,CAAC,KAAK,CAAC,IAAI,CAAC,CAAC;SACpB;QAED,IAAI,WAAW,EAAE;YACf,MAAM,CAAC,KAAK,CAAC,WAAW,CAAC,CAAC;YAC1B,MAAM,CAAC,KAAK,CAAC,IAAI,CAAC,CAAC;SACpB;QAED,IAAI,SAAS,EAAE;YACb,MAAM,CAAC,KAAK,CAAC,SAAS,CAAC,CAAC;YACxB,MAAM,CAAC,KAAK,CAAC,IAAI,CAAC,CAAC;SACpB;QAED,IAAI,YAAY,EAAE;YAChB,MAAM,CAAC,KAAK,CAAC,YAAY,CAAC,CAAC;YAC3B,MAAM,CAAC,KAAK,CAAC,IAAI,CAAC,CAAC;SACpB;QAED,IAAI,IAAI,CAAC,KAAK,IAAI,eAAe,IAAI,wBAAc,CAAC,IAAI,EAAE;YACxD,MAAM,CAAC,KAAK,CAAC,aAAa,CAAC,CAAC;YAC5B,MAAM,CAAC,KAAK,CAAC,IAAI,CAAC,CAAC;SACpB;QAED,IAAI,WAAW,EAAE;YACf,MAAM,CAAC,KAAK,CAAC,WAAW,CAAC,CAAC;YAC1B,MAAM,CAAC,KAAK,CAAC,IAAI,CAAC,CAAC;SACpB;QAED,IAAI,SAAS,EAAE;YACb,MAAM,CAAC,KAAK,CAAC,SAAS,CAAC,CAAC;YACxB,MAAM,CAAC,KAAK,CAAC,IAAI,CAAC,CAAC;SACpB;QAED,IAAI,cAAc,EAAE;YAClB,MAAM,CAAC,KAAK,CAAC,cAAc,CAAC,CAAC;YAC7B,MAAM,CAAC,KAAK,CAAC,IAAI,CAAC,CAAC;SACpB;IACH,CAAC,CAAC,CAAC;AACL,CAAC;AAED,SAAS,cAAc,CAAC,EAAE,WAAW,EAAwB;;IAC3D,IAAI,eAAe,GAAuB,EAAE,CAAC;IAE7C,kEAAkE;IAClE,+CAA+C;IAC/C,IAAI,KAAK,CAAC,OAAO,CAAC,WAAW,CAAC,EAAE;QAC9B,sFAAsF;QACtF,eAAe,GAAG,MAAA,WAAW,CAAC,CAAC,CAAC,0CAAE,eAAe,CAAC;KACnD;SAAM;QACL,eAAe,GAAG,WAAW,aAAX,WAAW,uBAAX,WAAW,CAAE,eAAe,CAAC;KAChD;IAED,IAAI,eAAe,EAAE;QACnB,OAAO,eAAe,eAAe,GAAG,CAAC;KAC1C;IAED,OAAO,EAAE,CAAC;AACZ,CAAC;AAED,SAAS,gBAAgB,CAAC,EAAE,WAAW,EAAE,KAAK,EAAwB;IACpE,OAAO,WAAW,IAAI,KAAK;QACzB,CAAC,CAAC,+CAA+C;QACjD,CAAC,CAAC,EAAE,CAAC;AACT,CAAC;AAaD;;;;;GAKG;AACH,SAAS,gBAAgB,CAAC,EACxB,WAAW,EACX,UAAU,EACW;;IACrB,IAAI,CAAC,WAAW,IAAI,UAAU,KAAK,KAAK,EAAE;QACxC,OAAO,EAAE,CAAC;KACX;IAED,0EAA0E;IAC1E,IAAI,mBAAmB,CAAC,WAAW,CAAC,EAAE;QACpC,OAAO,2BAA2B,WAAW,CAAC,OAAO,GAAG,CAAC;KAC1D;IAED,sFAAsF;IACtF,qGAAqG;IAErG,oFAAoF;IACpF,MAAM,MAAM,GAAG,WAAW,CAAC,CAAC,CAAC,CAAC,MAAM,CAAC;IACrC,IAAI,QAAQ,GAAY,MAAA,WAAW,CAAC,CAAC,CAAC,CAAC,QAAQ,mCAAI,KAAK,CAAC;IAEzD,kEAAkE;IAClE,sCAAsC;IACtC,IAAI,CAAC,QAAQ,EAAE;QACb,KAAK,MAAM,EAAE,IAAI,WAAW,EAAE;YAC5B,QAAQ,GAAG,EAAE,CAAC,QAAQ;gBACpB,CAAC,CAAC,EAAE,CAAC,QAAQ;gBACb,CAAC,CAAC,EAAE,CAAC,SAAS,CAAC,SAAS,IAAI,EAAE,CAAC,SAAS,CAAC,SAAS,CAAC,QAAQ;oBAC3D,CAAC,CAAC,EAAE,CAAC,SAAS,CAAC,SAAS,CAAC,QAAQ;oBACjC,CAAC,CAAC,QAAQ,CAAC;YAEb,IAAI,QAAQ;gBAAE,MAAM;SACrB;KACF;IAED,gDAAgD;IAChD,MAAM,UAAU,GAAG,WAAW,CAAC,MAAM,CAAC,CAAC,GAAG,EAAE,IAAI,EAAE,EAAE;;QAClD,gDAAgD;QAChD,IAAI,IAAI,CAAC,UAAU,KAAK,sBAAU,CAAC,KAAK,IAAI,IAAI,CAAC,SAAS,CAAC,SAAS,EAAE;YACpE,OAAO,GAAG,CAAC;SACZ;QAED,MAAM,IAAI,GAAG,IAAI,CAAC,IAAI,CAAC;QAEvB,sHAAsH;QACtH,8GAA8G;QAC9G,2DAA2D;QAC3D,MAAM,UAAU,GAAG,IAAI,CAAC,SAAS,CAAC,SAAS;YACzC,CAAC,CAAC,CAAC,IAAA,qCAAmB,EAAC,IAAI,CAAC,SAAS,CAAC,SAAS,CAAC,QAAQ,CAAC,CAAC,IAAI,EAAE,IAAI,CAAC;YACrE,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC;QAEX,MAAM,UAAU,GAAG,IAAI,CAAC,QAAQ,KAAI,MAAA,IAAI,CAAC,SAAS,CAAC,SAAS,0CAAE,QAAQ,CAAA,CAAC;QAEvE,IAAI,aAA4B,CAAC;QAEjC,4GAA4G;QAC5G,IAAI,UAAU,EAAE;YACd,aAAa,GAAG,UAAU,CAAC;SAC5B;aAAM;YACL,aAAa,GAAG,CAAC,SAAS,EAAE,GAAG,UAAU,CAAC,CAAC;SAC5C;QAED,uCACK,GAAG,KACN,CAAC,IAAI,CAAC,EAAE,aAAa,IACrB;IACJ,CAAC,EAAE,EAA+C,CAAC,CAAC;IAEpD,OAAO;QACL,aAAa,EAAE,UAAU;QACzB,MAAM;QACN,QAAQ;KACT,CAAC;AACJ,CAAC;AAED,SAAS,mBAAmB,CAC1B,WAAkD;IAElD,OAAO,CAAC,KAAK,CAAC,OAAO,CAAC,WAAW,CAAC,CAAC;AACrC,CAAC;AAED,SAAS,eAAe,CACtB,aAAmC,EACnC,kBAA0B;IAE1B,MAAM,cAAc,GAAoC,aAAqB,CAC3E,kBAAkB,CACnB,CAAC;IACF,IAAI,CAAC,cAAc,IAAI,CAAC,cAAc,CAAC,MAAM,EAAE;QAC7C,OAAO,EAAE,CAAC;KACX;IAED,MAAM,UAAU,GAAG,cAAc,CAAC,GAAG,CAAC,KAAK,CAAC,EAAE,CAAC,cAAc,KAAK,CAAC,OAAO,EAAE,CAAC,CAAC;IAE9E,OAAO,GAAG,kBAAkB,MAAM,UAAU,CAAC,IAAI,EAAE,GAAG,CAAC;AACzD,CAAC;AAED;;;GAGG;AACH,SAAS,cAAc,CAAC,EAAE,SAAS,EAAwB;IACzD,MAAM,aAAa,GAAG,MAAM,CAAC,IAAI,CAAC,SAAS,CAAC,CAAC;IAC7C,IAAI,eAAe,GAAa,EAAE,CAAC;IACnC,aAAa,CAAC,OAAO,CAAC,IAAI,CAAC,EAAE;QAC3B,+DAA+D;QAC/D,MAAM,EAAE,UAAU,EAAE,aAAa,EAAE,OAAO,EAAE,GAAG,SAAS,CAAC,IAAI,CAAC,CAAC;QAC/D,MAAM,gBAAgB,GAAG,WAAW,CAAC,UAAU,EAAE,YAAY,CAAC,CAAC;QAC/D,MAAM,mBAAmB,GAAG,WAAW,CAAC,aAAa,EAAE,eAAe,CAAC,CAAC;QACxE,MAAM,mBAAmB,GAAG,OAAO,CAAC,CAAC,CAAC,YAAY,OAAO,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC;QACjE,eAAe,CAAC,IAAI,CAAC,GAAG,IAAI;UACtB,gBAAgB,GAAG,mBAAmB,GAAG,mBAAmB;QAC9D,CAAC,CAAC;IACR,CAAC,CAAC,CAAC;IAEH,OAAO,eAAe,CAAC;AACzB,CAAC;AAED,SAAS,WAAW,CAClB,MAA2C,EAC3C,UAAkB;IAElB,IAAI,CAAC,MAAM,EAAE;QACX,OAAO,EAAE,CAAC;KACX;IAED,IAAI,YAAY,GAAG,EAAE,CAAC;IACtB,IAAI,OAAO,MAAM,KAAK,QAAQ,EAAE;QAC9B,4EAA4E;QAC5E,YAAY,GAAG,MAAM,CAAC;KACvB;SAAM;QACL,MAAM,EAAE,WAAW,KAAoB,MAAM,EAArB,UAAU,UAAK,MAAM,EAAvC,eAA8B,CAAS,CAAC;QAC9C,YAAY,GAAG,IAAI,CAAC,SAAS,CAAC,UAAU,CAAC,CAAC;KAC3C;IAED,OAAO,GAAG,UAAU,KAAK,YAAY,GAAG,CAAC;AAC3C,CAAC;AAED,SAAS,aAAa,CACpB,SAA2B,EAC3B,cAA2B,EAC3B,UAAuB;IAEvB,MAAM,YAAY,GAAG,IAAA,4CAAwB,EAC3C,SAAS,EACT,cAAc,EACd,UAAU,CACX,CAAC;IAEF,OAAO,SAAS,CAAC,KAAK;QACpB,CAAC,CAAC,yCAAyC,YAAY,KAAK,YAAY,IAAI;QAC5E,CAAC,CAAC,WAAW,YAAY,GAAG,CAAC;AACjC,CAAC;AAED;;GAEG;AACH,SAAS,QAAQ,CACf,kBAA8B,EAC9B,qBAA4C,EAC5C,aAA4B;IAE5B,IAAI,cAAc,GAAG,IAAI,GAAG,EAAU,CAAC;IAEvC,IAAI,cAAc,GAAG,IAAA,qCAAiB,EAAC,aAAa,CAAC,CAAC;IAEtD,MAAM,SAAS,GAAG,IAAA,yBAAa,EAC7B,qBAAqB,CAAC,IAAI,EAC1B,oBAAQ,CAAC,cAAc,EACvB,IAAI,CAAC,kBAAkB,CACxB,CAAC;IACF,MAAM,mBAAmB,GAAG,kBAAkB,CAAC,QAAQ,CAAC;QACtD,IAAI,EAAE,GAAG,SAAS,MAAM;QACxB,IAAI,EAAE,CAAC,oBAAoB,SAAS,cAAc,CAAC;QACnD,UAAU,EAAE,IAAI;QAChB,UAAU,EAAE,CAAC,GAAG,SAAS,EAAE,CAAC;KAC7B,CAAC,CAAC;IACH,mBAAmB,CAAC,WAAW,CAAC;QAC9B,IAAI,EAAE,QAAQ;QACd,UAAU,EAAE,IAAI;QAChB,KAAK,EAAE,gBAAK,CAAC,OAAO;QACpB,IAAI,EAAE,GAAG,aAAa,CAAC,SAAS,EAAE;KACnC,CAAC,CAAC;IACH,MAAM,qBAAqB,GAAG,mBAAmB,CAAC,cAAc,CAAC;QAC/D,IAAI,EAAE;YACJ;gBACE,WAAW,EAAE,0CAA0C,SAAS,yDAAyD;aAC1H;SACF;QACD,UAAU,EAAE;YACV;gBACE,IAAI,EAAE,QAAQ;gBACd,gBAAgB,EAAE,KAAK;gBACvB,IAAI,EAAE,GAAG,aAAa,CAAC,SAAS,EAAE;aACnC;SACF;KACF,CAAC,CAAC;IAEH,qBAAqB,CAAC,aAAa,CAAC,CAAC,sBAAsB,CAAC,CAAC,CAAC;IAC9D,eAAe,CACb,qBAAqB,EACrB,mBAAmB,EACnB,cAAc,EACd,cAAc,EACd,aAAa,EACb,KAAK,CAAC,eAAe,CACtB,CAAC;IAEF,IAAI,eAAe,CAAC,qBAAqB,CAAC,EAAE;QAC1C,wBAAwB,CAAC,mBAAmB,CAAC,CAAC;KAC/C;IAED,+BAA+B;IAC/B,IAAI,cAAc,CAAC,IAAI,EAAE;QACvB,2DAA2D;QAC3D,MAAM,YAAY,GAAG,CAAC,GAAG,cAAc,CAAC,CAAC,GAAG,CAAC,KAAK,CAAC,EAAE;YACnD,IAAI,KAAK,KAAK,SAAS,EAAE;gBACvB,OAAO,GAAG,KAAK,OAAO,KAAK,OAAO,CAAC;aACpC;YACD,OAAO,KAAK,CAAC;QACf,CAAC,CAAC,CAAC;QAEH,kBAAkB,CAAC,oBAAoB,CAAC;YACtC,YAAY;YACZ,eAAe,EAAE,WAAW;SAC7B,CAAC,CAAC;KACJ;AACH,CAAC;AASD;;GAEG;AACH,SAAgB,eAAe,CAC7B,qBAA4C,EAC5C,mBAAqC,EACrC,cAA2B,EAC3B,UAAuB,EACvB,aAA4B,EAC5B,QAAQ,GAAG,KAAK;IAEhB,MAAM,EAAE,WAAW,EAAE,GAAG,IAAA,oCAAkB,GAAE,CAAC;IAE7C,IAAA,4CAAyB,EAAC,qBAAqB,CAAC,CAAC;IACjD,IAAA,sCAAmB,EACjB,qBAAqB,EACrB,aAAa,EACb,mBAAmB,EACnB,cAAc,CACf,CAAC;IACF,qBAAqB,CAAC,UAAU,CAAC,OAAO,CAAC,SAAS,CAAC,EAAE;;QACnD,MAAM,EACJ,oBAAoB,EACpB,6BAA6B,EAC9B,GAAG,IAAA,gDAA+B,EACjC,SAAS,EACT,aAAa,CAAC,UAAU,EACxB,cAAc,EACd,mBAAmB,CACpB,CAAC;QACF,MAAM,YAAY,GAAG,IAAA,4CAAwB,EAC3C,SAAS,EACT,cAAc,EACd,UAAU,CACX,CAAC;QACF,MAAM,UAAU,GAAG,aAAa,CAAC,SAAS,EAAE,cAAc,EAAE,UAAU,CAAC,CAAC;QAExE,MAAM,eAAe,GAAG,mBAAmB,CAAC,SAAS,CAAC;YACpD,IAAI,EAAE,IAAA,qCAAmB,EAAC,SAAS,CAAC;YACpC,UAAU,EAAE,oBAAoB;YAChC,KAAK,EAAE,SAAS,CAAC,KAAK;YACtB,UAAU;YACV,IAAI,EAAE;gBACJ,IAAA,kCAAsB,EAAC,oBAAoB,EAAE,SAAS,CAAC,WAAW,CAAC;aACpE;YACD,OAAO,EAAE,SAAS,CAAC,KAAK,IAAI,OAAO,CAAC,WAAW,CAAC;SACjD,CAAC,CAAC;QAEH,qBAAqB,CACnB,eAAe,EACf,SAAS,EACT,6BAA6B,EAC7B,UAAU,CACX,CAAC;QAEF,kBAAkB,CAChB,eAAe,EACf,SAAS,EACT,6BAA6B,EAC7B,aAAa,EACb,YAAY,EACZ,QAAQ,CACT,CAAC;QAEF;;WAEG;QACH,IAAI,SAAS,CAAC,KAAK,IAAI,SAAS,CAAC,UAAU,KAAK,SAAS,EAAE;YACzD,MAAM,YAAY,GAAG,IAAA,4CAAwB,EAC3C,SAAS,EACT,cAAc,EACd,UAAU,CACX,CAAC;YACF,MAAM,UAAU,GAAG,IAAA,qCAAmB,EAAC,SAAS,CAAC,CAAC;YAClD,MAAM,eAAe,GAAG,mBAAmB,CAAC,SAAS,CAAC;gBACpD,IAAI,EAAE,GAAG,UAAU,SAAS;gBAC5B,UAAU,EAAE,oBAAoB;gBAChC,KAAK,EAAE,SAAS,CAAC,KAAK;gBACtB,UAAU,EAAE,WAAW,YAAY,GAAG;gBACtC,IAAI,EAAE;oBACJ,IAAA,kCAAsB,EAAC,oBAAoB,EAAE,SAAS,CAAC,WAAW,CAAC;iBACpE;gBACD,OAAO,EAAE,IAAI;aACd,CAAC,CAAC;YACH,IAAI,6BAA6B,CAAC,MAAM,GAAG,CAAC,EAAE;gBAC5C,8FAA8F;gBAC9F,6CAA6C;gBAC7C,IAAI,mBAAmB,GAAW,CAAC,CAAC,CAAC;gBACrC,KAAK,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC,GAAG,6BAA6B,CAAC,MAAM,EAAE,CAAC,EAAE,EAAE;oBAC7D,MAAM,kBAAkB,GAAG,6BAA6B,CAAC,CAAC,CAAC,CAAC;oBAE5D,mBAAmB,GAAG,kBAAkB,CAAC,SAAS,CAChD,CAAC,KAA+B,EAAE,EAAE;wBAClC,OAAO,KAAK,CAAC,aAAa,CAAC;oBAC7B,CAAC,CACF,CAAC;oBAEF,iDAAiD;oBACjD,MAAM,WAAW,GAAG,MAAA,kBAAkB,CAAC,SAAS,CAAC,QAAQ,CAAC,CAAC,CAAC,CAAC,0CACzD,GAAG,CAAC,IAAI,CAAC,EAAE,CAAC,QAAQ,mBAAmB,UAAU,IAAI,GAAG,EACzD,IAAI,CAAC,MAAM,CAAC,CAAC;oBAEhB,MAAM,WAAW,GAAG,6BAA6B,UAAU;yCAC5B,CAAC;oBAEhC,MAAM,MAAM,GAAG,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,SAAS,CAAC;oBAE1C,2DAA2D;oBAC3D,eAAe,CAAC,aAAa,CAAC;wBAC5B,GAAG,MAAM,KAAK,WAAW;UAC3B,WAAW;SACZ;qBACE,CAAC,CAAC;iBACJ;gBACD,eAAe,CAAC,aAAa,CAAC,qCAAqC,CAAC,CAAC;aACtE;iBAAM;gBACL,eAAe,CAAC,aAAa,CAC3B,6BAA6B,UAAU,IAAI,oBAAoB;qBAC5D,GAAG,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,IAAI,CAAC;qBAChB,IAAI,CAAC,GAAG,CAAC;;aAET,CACJ,CAAC;aACH;SACF;IACH,CAAC,CAAC,CAAC;AACL,CAAC;AA3HD,0CA2HC;AAED;;GAEG;AACH,SAAS,kBAAkB,CACzB,kBAAqC,EACrC,gBAAkC,EAClC,oBAA0C,EAC1C,aAA4B,EAC5B,YAAoB,EACpB,QAAiB;IAEjB,IAAI,oBAAoB,CAAC,MAAM,KAAK,CAAC,EAAE;QACrC,eAAe;QACf,6BAA6B,CAC3B,gBAAgB,EAChB,YAAY,EACZ,kBAAkB,EAClB,oBAAoB,CAAC,CAAC,CAAC,EACvB,aAAa,EACb,QAAQ,CACT,CAAC;KACH;SAAM;QACL,kEAAkE;QAClE,iEAAiE;QACjE,gCAAgC,CAC9B,kBAAkB,EAClB,gBAAgB,EAChB,oBAAoB,EACpB,YAAY,EACZ,aAAa,EACb,QAAQ,CACT,CAAC;KACH;AACH,CAAC;AASD;;;;;;GAMG;AACH,SAAS,qBAAqB,CAC5B,kBAAqC,EACrC,gBAAkC,EAClC,oBAA0C,EAC1C,UAAkB;IAElB,IAAI,oBAAoB,CAAC,MAAM,KAAK,CAAC,EAAE;QACrC,8DAA8D;QAC9D,OAAO;KACR;IAED,KAAK,MAAM,QAAQ,IAAI,oBAAoB,EAAE;QAC3C,kBAAkB,CAAC,WAAW,CAAC;YAC7B,UAAU,EAAE,QAAQ;YACpB,UAAU;YACV,IAAI,EAAE,CAAC,IAAA,kCAAsB,EAAC,QAAQ,EAAE,gBAAgB,CAAC,WAAW,CAAC,CAAC;SACvE,CAAC,CAAC;KACJ;AACH,CAAC;AAED;;;;GAIG;AACH,SAAS,2CAA2C,CAClD,OAAe,EACf,KAAc,EACd,yBAAkC;IAElC,MAAM,EAAE,SAAS,EAAE,GAAG,IAAA,oCAAkB,GAAE,CAAC;IAC3C,oEAAoE;IACpE,2EAA2E;IAC3E,OAAO,KAAK;QACV,CAAC,CAAC,4BAA4B,OAAO,GACjC,yBAAyB,KAAK,SAAS;YACrC,CAAC,CAAC,EAAE;YACJ,CAAC,CAAC,MAAM,yBAAyB,GACrC,GAAG;QACL,CAAC,CAAC,CAAC,SAAS;YACZ,CAAC,CAAC,8DAA8D;YAChE,CAAC,CAAC,eAAe,CAAC;AACtB,CAAC;AAED,SAAS,6BAA6B,CACpC,SAA2B,EAC3B,YAAoB,EACpB,eAAkC,EAClC,qBAAiD,EACjD,aAA4B,EAC5B,QAAiB;IAEjB,MAAM,EAAE,SAAS,EAAE,WAAW,EAAE,GAAG,IAAA,oCAAkB,GAAE,CAAC;IACxD,MAAM,yBAAyB,GAC7B,SAAS,CAAC,UAAU,IAAI,SAAS,CAAC,UAAU,CAAC,iBAAiB,CAAC,CAAC;IAElE,MAAM,iBAAiB,GAAG,GAAG,SAAS,CAAC,IAAI,eAAe,CAAC;IAE3D,MAAM,kBAAkB,GAAG,SAAS,CAAC;IACrC,IAAI,OAAO,GAAG,kBAAkB,CAAC;IAEjC,wEAAwE;IACxE,OAAO,GAAG,2CAA2C,CACnD,kBAAkB,EAClB,SAAS,CAAC,KAAK,EACf,yBAAyB,CAC1B,CAAC;IAEF,MAAM,UAAU,GAAG,qBAAqB;SACrC,GAAG,CAAC,CAAC,CAAC,EAAE,CACP,CAAC,CAAC,IAAI,KAAK,SAAS;QAClB,CAAC,CAAC,CAAC,SAAS;YACV,CAAC,CAAC,YAAY,OAAO,EAAE;YACvB,CAAC,CAAC,SAAS;QACb,CAAC,CAAC,CAAC,CAAC,IAAI,CACX;SACA,IAAI,CAAC,GAAG,CAAC,CAAC;IAEb,8DAA8D;IAC9D,IAAI,CAAC,SAAS,EAAE;QACd,eAAe,CAAC,aAAa,CAC3B,4DAA4D,UAAU,GAAG,CAC1E,CAAC;KACH;IAED,IAAI,SAAS,CAAC,KAAK,EAAE;QACnB,IAAI,CAAC,SAAS,EAAE;YACd,qBAAqB,CACnB,aAAa,EACb,oBAAoB,EACpB,YAAY,EACZ,iBAAiB,EACjB,eAAe,EACf,yBAAyB,EACzB,QAAQ,EACR,CAAC,CAAC,WAAW,CACd,CAAC;SACH;aAAM;YACL,qBAAqB,CACnB,aAAa,EACb,IAAI,UAAU,GAAG,EACjB,YAAY,EACZ,iBAAiB,EACjB,eAAe,EACf,yBAAyB,EACzB,QAAQ,EACR,CAAC,CAAC,WAAW,CACd,CAAC;SACH;KACF;SAAM;QACL,yBAAyB,CACvB,YAAY,EACZ,eAAe,EACf,iBAAiB,EACjB,aAAa,EACb,QAAQ,EACR,IAAI,UAAU,GAAG,CAClB,CAAC;KACH;AACH,CAAC;AAQD,SAAS,yBAAyB,CAChC,YAAoB,EACpB,eAAkC,EAClC,iBAAyB,EACzB,aAA4B,EAC5B,QAAQ,GAAG,KAAK,EAChB,UAAkB;IAElB,MAAM,EAAE,SAAS,EAAE,WAAW,EAAE,GAAG,IAAA,oCAAkB,GAAE,CAAC;IACxD,MAAM,aAAa,GAAG,eAAe,CAAC,OAAO,EAAE,CAAC;IAChD,MAAM,MAAM,GAAG,QAAQ,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,SAAS,CAAC;IACzC,MAAM,oBAAoB,GAAG,CAAC,SAAS;QACrC,CAAC,CAAC,OAAO,MAAM,6CAA6C,iBAAiB,GAAG;QAChF,CAAC,CAAC,OAAO,MAAM,yBAAyB,UAAU,KAAK,iBAAiB,GAAG,CAAC;IAE9E,uFAAuF;IACvF,yDAAyD;IACzD,eAAe,CAAC,aAAa,CAC3B,iCAAiC,CAC/B,oBAAoB,EACpB,YAAY,EACZ,CAAC,CAAC,WAAW,EACb,GAAG,aAAa,CAAC,SAAS,IAAI,aAAa,EAAE,CAC9C,CACF,CAAC;AACJ,CAAC;AAED,SAAS,iBAAiB;IACxB,OAAO,kCAAkC,CAAC;AAC5C,CAAC;AAED,SAAS,iCAAiC,CACxC,oBAA4B,EAC5B,YAAoB,EACpB,gBAAyB,EACzB,QAAgB;IAEhB,MAAM,EAAE,SAAS,EAAE,GAAG,IAAA,oCAAkB,GAAE,CAAC;IAC3C,IAAI,gBAAgB,EAAE;QACpB,OAAO;qCAC0B,QAAQ;eAC9B,oBAAoB,eAAe,YAAY;QACtD,CAAC;KACN;SAAM;QACL,OAAO,CAAC,SAAS;YACf,CAAC,CAAC,UAAU,oBAAoB,eAAe,YAAY,GAAG;YAC9D,CAAC,CAAC,UAAU,oBAAoB,EAAE,CAAC;KACtC;AACH,CAAC;AAED,SAAS,qBAAqB,CAC5B,aAA4B,EAC5B,mBAA2B,EAC3B,YAAoB,EACpB,iBAAyB,EACzB,iBAAoC,EACpC,yBAAkC,EAClC,QAAkB,EAClB,gBAAgB,GAAG,KAAK;IAExB,MAAM,EAAE,SAAS,EAAE,GAAG,IAAA,oCAAkB,GAAE,CAAC;IAC3C,MAAM,QAAQ,GAAG,GAAG,aAAa,CAAC,SAAS,IAAI,iBAAiB,CAAC,OAAO,EAAE,EAAE,CAAC;IAC7E,MAAM,MAAM,GAAG,QAAQ,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,SAAS,CAAC;IACzC,MAAM,oBAAoB,GAAG,OAAO,MAAM,mCAAmC,CAAC;IAC9E,MAAM,sBAAsB,GAAG,CAAC,SAAS;QACvC,CAAC,CAAC,gHAAgH,YAAY;QAC1H,iCAAiC,CACjC,oBAAoB,EACpB,YAAY,EACZ,gBAAgB,EAChB,QAAQ,CACT;;;;;;;;;MASD;QACF,CAAC,CAAC,oHAAoH,YAAY;MAChI,iCAAiC,CACjC,oBAAoB,EACpB,YAAY,EACZ,gBAAgB,EAChB,QAAQ,CACT;;;;;;;;;;;;;;;;;;;;;;;;IAwBD,CAAC;IACH,iBAAiB,CAAC,aAAa,CAAC;QAC9B,sBAAsB;QACtB,yCAAyC,mBAAmB;QACxD,iBAAiB,GAAG;QACxB,gHACE,yBAAyB;YACvB,CAAC,CAAC,iCAAiC,yBAAyB,CAAC,WAAW,EAAE,GAAG;YAC7E,CAAC,CAAC,EACN,MAAM;QACN,sBAAsB;QACtB,gBAAgB;KACjB,CAAC,CAAC;IAEH,iBAAiB,CAAC,aAAa,CAC7B,yCAAyC,YAAY,KAAK,YAAY,IAAI,CAC3E,CAAC;AACJ,CAAC;AAED;;;;GAIG;AACH,SAAS,gCAAgC,CACvC,eAAkC,EAClC,SAA2B,EAC3B,6BAA2D,EAC3D,YAAoB,EACpB,aAA4B,EAC5B,QAAQ,GAAG,KAAK;IAEhB,MAAM,EAAE,SAAS,EAAE,WAAW,EAAE,GAAG,IAAA,oCAAkB,GAAE,CAAC;IACxD,MAAM,UAAU,GAAG,CAAC,SAAS,CAAC,CAAC,CAAC,UAAU,CAAC,CAAC,CAAC,YAAY,CAAC;IAE1D,eAAe,CAAC,aAAa,CAAC;QAC5B,sBAAsB,UAAU,iBAAiB;QACjD,2BAA2B,UAAU,sBAAsB;KAC5D,CAAC,CAAC;IAEH,2EAA2E;IAC3E,MAAM,QAAQ,GAAG,SAAS,CAAC,QAAQ,CAAC;IACpC,IAAI,6BAA6B,CAAC,MAAM,KAAK,QAAQ,CAAC,MAAM,EAAE;QAC5D,MAAM,IAAI,KAAK,CACb,YAAY,QAAQ,CAAC,MAAM,mCAAmC,6BAA6B,CAAC,MAAM,QAAQ,SAAS,CAAC,IAAI,EAAE,CAC3H,CAAC;KACH;IAED,MAAM,cAAc,GAAG,SAAS,CAAC;IACjC,eAAe,CAAC,aAAa,CAAC,CAAC,OAAO,cAAc,GAAG,CAAC,CAAC,CAAC;IAE1D,8FAA8F;IAC9F,6CAA6C;IAC7C,IAAI,mBAAmB,GAAW,CAAC,CAAC,CAAC;IACrC,KAAK,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC,GAAG,QAAQ,CAAC,MAAM,EAAE,CAAC,EAAE,EAAE;QACxC,MAAM,OAAO,GAAG,QAAQ,CAAC,CAAC,CAAC,CAAC;QAC5B,MAAM,kBAAkB,GAAG,6BAA6B,CAAC,CAAC,CAAC,CAAC;QAC5D,MAAM,SAAS,GAAG,OAAO,CAAC,SAAU,CAAC;QACrC,MAAM,iBAAiB,GAAG,kBAAkB,CAAC,OAAO,CAAC,CAAC;QAEtD,mBAAmB,GAAG,kBAAkB,CAAC,SAAS,CAAC,KAAK,CAAC,EAAE;YACzD,OAAO,KAAK,CAAC,aAAa,CAAC;QAC7B,CAAC,CAAC,CAAC;QAEH,yGAAyG;QACzG,IACE,mBAAmB,KAAK,CAAC,CAAC;YAC1B,CAAC,iBAAiB;YAClB,CAAC,iBAAiB,CAAC,MAAM,EACzB;YACA,MAAM,IAAI,KAAK,CACb,sGAAsG,SAAS,CAAC,QAAQ,IAAI,CAC7H,CAAC;SACH;QAED,sCAAsC;QACtC,MAAM,MAAM,GAAG,kBAAkB;aAC9B,GAAG,CAAC,CAAC,KAAK,EAAE,KAAK,EAAE,EAAE,CAAC,GAAG,KAAK,CAAC,IAAI,UAAU,KAAK,GAAG,CAAC;aACtD,IAAI,CAAC,GAAG,CAAC,CAAC;QAEb,MAAM,YAAY,GAAG,kBAAkB,CAAC,SAAS,CAC/C,KAAK,CAAC,EAAE,CAAC,KAAK,CAAC,IAAI,KAAK,SAAS,CAClC,CAAC;QAEF,gDAAgD;QAChD,MAAM,WAAW,GAAG,iBAAiB;aAClC,GAAG,CAAC,IAAI,CAAC,EAAE,CAAC,QAAQ,mBAAmB,UAAU,IAAI,GAAG,CAAC;aACzD,IAAI,CAAC,MAAM,CAAC,CAAC;QAEhB,kFAAkF;QAClF,MAAM,WAAW,GAAG;YAClB,mBAAmB,SAAS,CAAC,IAAI,IAAI,SAAS,eAAe;YAC7D,yBAAyB,MAAM,IAAI;YACnC,GAAG,cAAc,WAAW,YAAY,IAAI;SAC7C,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;QAEb,MAAM,MAAM,GAAG,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,SAAS,CAAC;QAE1C,2DAA2D;QAC3D,eAAe,CAAC,aAAa,CAAC;YAC5B,GAAG,MAAM,KAAK,WAAW;UACrB,WAAW;SACZ;SACJ,CAAC,CAAC;KACJ;IAED,uHAAuH;IACvH,eAAe,CAAC,aAAa,CAAC;QAC5B;yFACqF,mBAAmB;IACxG;KACD,CAAC,CAAC;IAEH,MAAM,yBAAyB,GAC7B,SAAS,CAAC,UAAU,IAAI,SAAS,CAAC,UAAU,CAAC,iBAAiB,CAAC,CAAC;IAElE,eAAe,CAAC,aAAa,CAAC;QAC5B,gCAAgC,2CAA2C,CACzE,cAAc,EACd,SAAS,CAAC,KAAK,EACf,yBAAyB,CAC1B,GAAG;KACL,CAAC,CAAC;IAEH,IAAI,CAAC,SAAS,CAAC,KAAK,EAAE;QACpB,yBAAyB,CACvB,YAAY,EACZ,eAAe,EACf,eAAe,EACf,aAAa,EACb,QAAQ,EACR,oBAAoB,CACrB,CAAC;KACH;SAAM;QACL,qBAAqB,CACnB,aAAa,EACb,oBAAoB,EACpB,YAAY,EACZ,eAAe,EACf,eAAe,EACf,yBAAyB,EACzB,QAAQ,EACR,CAAC,CAAC,WAAW,CACd,CAAC;KACH;AACH,CAAC;AAED,SAAS,kBAAkB,CACzB,OAAgC;;IAEhC,MAAM,UAAU,GAAG,MAAA,OAAO,CAAC,UAAU,mCAAI,EAAE,CAAC;IAC5C,KAAK,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC,GAAG,UAAU,CAAC,MAAM,EAAE,CAAC,EAAE,EAAE;QAC1C,MAAM,SAAS,GAAG,UAAU,CAAC,CAAC,CAAC,CAAC;QAChC,MAAM,iBAAiB,GAAG,IAAA,qCAAmB,EAAC,SAAS,CAAC,QAAQ,CAAC,CAAC;QAClE,MAAM,wBAAwB,GAAG,MAAA,iBAAiB,CAAC,cAAc,0CAAE,WAAW,EAAE,CAAC;QACjF,MAAM,iBAAiB,GACrB,CAAA,MAAA,SAAS,CAAC,QAAQ,CAAC,IAAI,0CAAE,EAAE,MAAK,6BAAiB,CAAC,MAAM,CAAC;QAC3D,MAAM,MAAM,GAAG,SAAS,CAAC,MAAM,CAAC;QAChC,IACE,CAAC,MAAM,CAAC,IAAI,KAAK,sBAAU,CAAC,MAAM;YAChC,MAAM,CAAC,IAAI,KAAK,sBAAU,CAAC,YAAY,CAAC;YAC1C,wBAAwB,KAAK,cAAc;YAC3C,iBAAiB,EACjB;YACA,OAAQ,MAA4C,CAAC,OAAO,CAAC,GAAG,CAC9D,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,KAAe,CACvB,CAAC;SACH;aAAM,IACL,MAAM,CAAC,IAAI,KAAK,sBAAU,CAAC,QAAQ;YACnC,wBAAwB,KAAK,cAAc;YAC3C,iBAAiB,EACjB;YACA,OAAO,CAAE,MAAyB,CAAC,KAAK,CAAC,KAAK,CAAC,CAAC;SACjD;KACF;IACD,OAAO;AACT,CAAC;AAED,SAAS,YAAY,CACnB,gBAAkC,EAClC,SAAyB;IAEzB,OAAO,gBAAgB,CAAC,UAAU,CAAC,GAAG,CAAC,SAAS,CAAC,CAAC;AACpD,CAAC;AAED;;;GAGG;AACH,SAAgB,iBAAiB,CAC/B,qBAA4C,EAC5C,IAAgB,EAChB,UAA8B,EAC9B,UAAmB;IAEnB,MAAM,EAAE,SAAS,EAAE,GAAG,IAAA,oCAAkB,GAAE,CAAC;IAC3C,MAAM,MAAM,GAAG,qBAAqB,CAAC,UAAU,CAAC,IAAI,CAAC,SAAS,CAAC,EAAE,CAC/D,YAAY,CAAC,SAAS,EAAE,wBAAc,CAAC,GAAG,CAAC,CAC5C,CAAC;IAEF,MAAM,SAAS,GAAG,qBAAqB,CAAC,UAAU,CAAC,IAAI,CACrD,SAAS,CAAC,EAAE,CACV,YAAY,CAAC,SAAS,EAAE,wBAAc,CAAC,IAAI,CAAC;QAC5C,YAAY,CAAC,SAAS,EAAE,wBAAc,CAAC,IAAI,CAAC;QAC5C,YAAY,CAAC,SAAS,EAAE,wBAAc,CAAC,SAAS,CAAC;QACjD,YAAY,CAAC,SAAS,EAAE,wBAAc,CAAC,IAAI,CAAC;QAC5C,YAAY,CAAC,SAAS,EAAE,wBAAc,CAAC,OAAO,CAAC,CAClD,CAAC;IAEF,MAAM,YAAY,GAAG,CAAC,MAAM,IAAI,CAAC,SAAS,CAAC;IAE3C,IAAI,CAAC,aAAa,CAAC,6BAA6B,CAAC,CAAC;IAElD,IAAI,MAAM,EAAE;QACV,eAAe,CAAC,UAAU,EAAE,IAAI,EAAE,cAAc,CAAC,GAAG,CAAC,CAAC;KACvD;IAED,IAAI,SAAS,IAAI,YAAY,EAAE;QAC7B,eAAe,CAAC,UAAU,EAAE,IAAI,EAAE,cAAc,CAAC,IAAI,CAAC,CAAC;KACxD;IAED,qBAAqB,CAAC,UAAU,CAAC,OAAO,CAAC,SAAS,CAAC,EAAE;QACnD,MAAM,cAAc,GAAG,IAAA,4CAAsB,EAAC,SAAS,EAAE,UAAU,CAAC,CAAC;QAErE,KAAK,MAAM,aAAa,IAAI,cAAc,EAAE;YAC1C,IAAI,CAAC,oBAAoB,CAAC;gBACxB,eAAe,EAAE,kCAAuB,CAAC,KAAK;gBAC9C,YAAY,EAAE;oBACZ;wBACE,IAAI,EAAE,aAAa,CAAC,IAAI;wBACxB,IAAI,EAAE,CAAC,SAAS;4BACd,CAAC,CAAC,wBAAwB;4BAC1B,CAAC,CAAC,0BAA0B;wBAC9B,WAAW,EAAE,MAAM,CAAC,EAAE,CAAC,SAAS,CAAC,aAAa,EAAE,MAAM,CAAC;qBACxD;iBACF;aACF,CAAC,CAAC;SACJ;IACH,CAAC,CAAC,CAAC;AACL,CAAC;AAlDD,8CAkDC;AAED,IAAK,cAGJ;AAHD,WAAK,cAAc;IACjB,mDAAI,CAAA;IACJ,iDAAG,CAAA;AACL,CAAC,EAHI,cAAc,KAAd,cAAc,QAGlB;AAED,SAAS,eAAe,CACtB,UAAmB,EACnB,IAAgB,EAChB,OAAuB,cAAc,CAAC,IAAI;IAE1C,MAAM,EAAE,SAAS,EAAE,GAAG,IAAA,oCAAkB,GAAE,CAAC;IAE3C,MAAM,KAAK,GAAG,IAAI,KAAK,cAAc,CAAC,GAAG,CAAC;IAC1C,MAAM,OAAO,GAAG,UAAU,CAAC,CAAC,CAAC,SAAS,CAAC,CAAC,CAAC,IAAI,CAAC;IAC9C,MAAM,IAAI,GAAG,KAAK,CAAC,CAAC,CAAC,eAAe,CAAC,CAAC,CAAC,YAAY,CAAC;IACpD,IAAI,CAAC,oBAAoB,CAAC;QACxB,eAAe,EAAE,kCAAuB,CAAC,KAAK;QAC9C,YAAY,EAAE;YACZ;gBACE,IAAI;gBACJ,WAAW,EAAE,CAAC,SAAS;oBACrB,CAAC,CAAC,2BAA2B,OAAO,iBAAiB,KAAK,IAAI;oBAC9D,CAAC,CAAC,+BAA+B,OAAO,iBAAiB,KAAK,IAAI;aACrE;SACF;KACF,CAAC,CAAC;AACL,CAAC;AAED;;GAEG;AACH,SAAS,UAAU,CACjB,qBAA4C,EAC5C,kBAA8B,EAC9B,aAA4B;IAE5B,MAAM,EAAE,SAAS,EAAE,GAAG,IAAA,oCAAkB,GAAE,CAAC;IAE3C,MAAM,EAAE,SAAS,EAAE,OAAO,EAAE,GAAG,aAAa,CAAC;IAC7C,IAAA,qCAAkB,EAAC,qBAAqB,CAAC,UAAU,EAAE,kBAAkB,CAAC,CAAC;IACzE,IAAA,yCAA0B,EAAC,kBAAkB,CAAC,CAAC;IAC/C,IAAA,mCAAgB,EAAC,qBAAqB,CAAC,UAAU,EAAE,kBAAkB,CAAC,CAAC;IAEvE,MAAM,2BAA2B,GAAG,IAAA,yBAAa,EAC/C,qBAAqB,CAAC,IAAI,EAC1B,oBAAQ,CAAC,cAAc,EACvB,IAAI,CAAC,kBAAkB,CACxB,CAAC;IAEF,kBAAkB,CAAC,oBAAoB,CAAC;QACtC,YAAY,EAAE,CAAC,GAAG,2BAA2B,EAAE,CAAC;QAChD,eAAe,EAAE,yBAAyB;KAC3C,CAAC,CAAC;IAEH,IAAI,CAAC,SAAS,EAAE;QACd,kBAAkB,CAAC,oBAAoB,CAAC;YACtC,eAAe,EAAE,UAAU;YAC3B,eAAe,EAAE,kBAAkB;SACpC,CAAC,CAAC;QACH,kBAAkB,CAAC,oBAAoB,CAAC;YACtC,eAAe,EAAE,aAAa;YAC9B,eAAe,EAAE,qBAAqB;SACvC,CAAC,CAAC;KACJ;SAAM;QACL,kBAAkB,CAAC,oBAAoB,CAAC;YACtC,eAAe,EAAE,YAAY;YAC7B,eAAe,EAAE,oBAAoB;SACtC,CAAC,CAAC;QACH,kBAAkB,CAAC,oBAAoB,CAAC;YACtC,eAAe,EAAE,kBAAkB;YACnC,eAAe,EAAE,2BAA2B;SAC7C,CAAC,CAAC;QACH,kBAAkB,CAAC,oBAAoB,CAAC;YACtC,eAAe,EAAE,aAAa;YAC9B,eAAe,EAAE,qBAAqB;SACvC,CAAC,CAAC;KACJ;IAED,IAAI,OAAO,CAAC,MAAM,EAAE;QAClB,kBAAkB,CAAC,oBAAoB,CAAC;YACtC,eAAe,EAAE,SAAS;YAC1B,eAAe,EAAE,mBAAmB;SACrC,CAAC,CAAC;KACJ;IAED,IAAI,IAAA,oCAAsB,EAAC,aAAa,CAAC,EAAE;QACzC,kBAAkB,CAAC,oBAAoB,CAAC;YACtC,eAAe,EAAE,YAAY;YAC7B,eAAe,EAAE,sBAAsB;SACxC,CAAC,CAAC;KACJ;IAED,MAAM,eAAe,GAAG,GAAG,SAAS,EAAE,CAAC;IAEvC,MAAM,cAAc,GAAG,IAAA,yBAAa,EAAC,eAAe,EAAE,oBAAQ,CAAC,IAAI,CAAC,CAAC;IAErE,kBAAkB,CAAC,oBAAoB,CAAC;QACtC,YAAY,EAAE,CAAC,GAAG,eAAe,EAAE,CAAC;QACpC,eAAe,EAAE,MAAM,cAAc,EAAE;KACxC,CAAC,CAAC;IAEH,IAAI,eAAe,CAAC,qBAAqB,CAAC,EAAE;QAC1C,kBAAkB,CAAC,oBAAoB,CAAC;YACtC,YAAY,EAAE,CAAC,YAAY,EAAE,oBAAoB,EAAE,WAAW,CAAC;YAC/D,eAAe,EAAE,iBAAiB;SACnC,CAAC,CAAC;QACH,kBAAkB,CAAC,oBAAoB,CAAC;YACtC,YAAY,EAAE,CAAC,SAAS,CAAC;YACzB,eAAe,EAAE,YAAY;SAC9B,CAAC,CAAC;KACJ;AACH,CAAC;AAED,SAAgB,eAAe,CAAC,qBAA4C;IAC1E,OAAO,qBAAqB,CAAC,UAAU,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,KAAK,CAAC,CAAC;AAC7D,CAAC;AAFD,0CAEC"}