@flowgram-vue/form-materials 0.2.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (177) hide show
  1. package/LICENSE +22 -0
  2. package/bin/run.sh +7 -0
  3. package/dist/index.cjs +0 -0
  4. package/dist/index.cjs.map +1 -0
  5. package/dist/index.d.ts +1 -0
  6. package/dist/index.js +0 -0
  7. package/dist/index.js.map +1 -0
  8. package/package.json +86 -0
  9. package/src/components/assign-row/assign-row.vue +69 -0
  10. package/src/components/assign-row/index.ts +7 -0
  11. package/src/components/assign-row/types.ts +25 -0
  12. package/src/components/assign-rows/assign-rows.vue +44 -0
  13. package/src/components/assign-rows/index.ts +6 -0
  14. package/src/components/batch-outputs/batch-outputs.vue +46 -0
  15. package/src/components/batch-outputs/index.ts +6 -0
  16. package/src/components/batch-outputs/styles.css +17 -0
  17. package/src/components/batch-outputs/types.ts +23 -0
  18. package/src/components/batch-variable-selector/batch-variable-selector.vue +24 -0
  19. package/src/components/batch-variable-selector/index.ts +6 -0
  20. package/src/components/blur-input/blur-input.vue +47 -0
  21. package/src/components/blur-input/index.ts +6 -0
  22. package/src/components/code-editor/base-code-editor.vue +44 -0
  23. package/src/components/code-editor/index.ts +58 -0
  24. package/src/components/code-editor/styles.css +27 -0
  25. package/src/components/code-editor/types.ts +20 -0
  26. package/src/components/code-editor/utils.ts +24 -0
  27. package/src/components/code-editor-mini/code-editor-mini.vue +16 -0
  28. package/src/components/code-editor-mini/index.ts +6 -0
  29. package/src/components/condition-context/context.ts +45 -0
  30. package/src/components/condition-context/hooks/use-condition.ts +120 -0
  31. package/src/components/condition-context/index.ts +14 -0
  32. package/src/components/condition-context/op.ts +86 -0
  33. package/src/components/condition-context/types.ts +22 -0
  34. package/src/components/condition-row/condition-row.vue +126 -0
  35. package/src/components/condition-row/index.ts +7 -0
  36. package/src/components/condition-row/styles.css +30 -0
  37. package/src/components/condition-row/types.ts +12 -0
  38. package/src/components/constant-input/constant-input.vue +48 -0
  39. package/src/components/constant-input/index.ts +7 -0
  40. package/src/components/constant-input/types.ts +23 -0
  41. package/src/components/coze-editor-extensions/extensions/inputs-tree.vue +16 -0
  42. package/src/components/coze-editor-extensions/extensions/variable-tag.vue +10 -0
  43. package/src/components/coze-editor-extensions/extensions/variable-tree.vue +18 -0
  44. package/src/components/coze-editor-extensions/index.ts +22 -0
  45. package/src/components/coze-editor-extensions/styles.css +41 -0
  46. package/src/components/db-condition-row/db-condition-row.vue +112 -0
  47. package/src/components/db-condition-row/index.ts +7 -0
  48. package/src/components/db-condition-row/styles.css +41 -0
  49. package/src/components/db-condition-row/types.ts +20 -0
  50. package/src/components/display-flow-value/display-flow-value.vue +46 -0
  51. package/src/components/display-flow-value/index.ts +6 -0
  52. package/src/components/display-inputs-values/display-inputs-value-all-in-tag.vue +26 -0
  53. package/src/components/display-inputs-values/display-inputs-values.vue +43 -0
  54. package/src/components/display-inputs-values/index.ts +7 -0
  55. package/src/components/display-inputs-values/styles.css +10 -0
  56. package/src/components/display-outputs/display-outputs.vue +62 -0
  57. package/src/components/display-outputs/index.ts +6 -0
  58. package/src/components/display-outputs/styles.css +10 -0
  59. package/src/components/display-schema-tag/display-schema-tag.vue +41 -0
  60. package/src/components/display-schema-tag/index.ts +6 -0
  61. package/src/components/display-schema-tag/styles.css +25 -0
  62. package/src/components/display-schema-tree/display-schema-tree.vue +55 -0
  63. package/src/components/display-schema-tree/index.ts +6 -0
  64. package/src/components/display-schema-tree/styles.css +84 -0
  65. package/src/components/dynamic-value-input/dynamic-value-input.vue +145 -0
  66. package/src/components/dynamic-value-input/hooks.ts +71 -0
  67. package/src/components/dynamic-value-input/index.ts +10 -0
  68. package/src/components/dynamic-value-input/styles.css +59 -0
  69. package/src/components/index.ts +84 -0
  70. package/src/components/inputs-values/index.ts +6 -0
  71. package/src/components/inputs-values/inputs-values.vue +67 -0
  72. package/src/components/inputs-values/styles.css +17 -0
  73. package/src/components/inputs-values/types.ts +23 -0
  74. package/src/components/inputs-values-tree/hooks/use-child-list.ts +65 -0
  75. package/src/components/inputs-values-tree/index.ts +6 -0
  76. package/src/components/inputs-values-tree/inputs-values-tree.vue +59 -0
  77. package/src/components/inputs-values-tree/row.vue +139 -0
  78. package/src/components/inputs-values-tree/styles.css +94 -0
  79. package/src/components/inputs-values-tree/types.ts +23 -0
  80. package/src/components/json-editor-with-variables/index.ts +7 -0
  81. package/src/components/json-editor-with-variables/json-editor-with-variables.vue +24 -0
  82. package/src/components/json-editor-with-variables/types.ts +8 -0
  83. package/src/components/json-schema-creator/index.ts +7 -0
  84. package/src/components/json-schema-creator/json-input-modal.vue +51 -0
  85. package/src/components/json-schema-creator/json-schema-creator.vue +27 -0
  86. package/src/components/json-schema-creator/types.ts +10 -0
  87. package/src/components/json-schema-creator/utils/json-to-schema.ts +50 -0
  88. package/src/components/json-schema-editor/default-value.vue +30 -0
  89. package/src/components/json-schema-editor/hooks.ts +134 -0
  90. package/src/components/json-schema-editor/index.ts +6 -0
  91. package/src/components/json-schema-editor/json-schema-editor.vue +53 -0
  92. package/src/components/json-schema-editor/property-edit.vue +222 -0
  93. package/src/components/json-schema-editor/styles.css +135 -0
  94. package/src/components/json-schema-editor/types.ts +25 -0
  95. package/src/components/prompt-editor/index.ts +7 -0
  96. package/src/components/prompt-editor/prompt-editor.vue +40 -0
  97. package/src/components/prompt-editor/styles.css +14 -0
  98. package/src/components/prompt-editor/types.ts +20 -0
  99. package/src/components/prompt-editor-with-inputs/index.ts +7 -0
  100. package/src/components/prompt-editor-with-inputs/prompt-editor-with-inputs.vue +18 -0
  101. package/src/components/prompt-editor-with-inputs/types.ts +11 -0
  102. package/src/components/prompt-editor-with-variables/index.ts +7 -0
  103. package/src/components/prompt-editor-with-variables/prompt-editor-with-variables.vue +19 -0
  104. package/src/components/prompt-editor-with-variables/types.ts +8 -0
  105. package/src/components/sql-editor-with-variables/index.ts +7 -0
  106. package/src/components/sql-editor-with-variables/sql-editor-with-variables.vue +24 -0
  107. package/src/components/sql-editor-with-variables/types.ts +8 -0
  108. package/src/components/type-selector/index.ts +11 -0
  109. package/src/components/type-selector/type-selector.vue +79 -0
  110. package/src/components/type-selector/types.ts +33 -0
  111. package/src/components/variable-selector/context.ts +44 -0
  112. package/src/components/variable-selector/index.ts +13 -0
  113. package/src/components/variable-selector/styles.css +70 -0
  114. package/src/components/variable-selector/types.ts +22 -0
  115. package/src/components/variable-selector/use-variable-tree.ts +108 -0
  116. package/src/components/variable-selector/variable-selector.vue +139 -0
  117. package/src/effects/auto-rename-ref/index.ts +109 -0
  118. package/src/effects/index.ts +12 -0
  119. package/src/effects/listen-ref-schema-change/index.ts +56 -0
  120. package/src/effects/listen-ref-value-change/index.ts +53 -0
  121. package/src/effects/provide-batch-input/index.ts +40 -0
  122. package/src/effects/provide-json-schema-outputs/index.ts +23 -0
  123. package/src/effects/sync-variable-title/index.ts +25 -0
  124. package/src/effects/validate-when-variable-sync/index.ts +34 -0
  125. package/src/env.d.ts +12 -0
  126. package/src/form-plugins/batch-outputs-plugin/index.ts +120 -0
  127. package/src/form-plugins/index.ts +8 -0
  128. package/src/form-plugins/infer-assign-plugin/index.ts +87 -0
  129. package/src/form-plugins/infer-inputs-plugin/index.ts +85 -0
  130. package/src/hooks/index.ts +6 -0
  131. package/src/hooks/use-object-list/index.ts +161 -0
  132. package/src/index.ts +125 -0
  133. package/src/plugins/disable-declaration-plugin/create-disable-declaration-plugin.ts +27 -0
  134. package/src/plugins/disable-declaration-plugin/index.ts +6 -0
  135. package/src/plugins/index.ts +16 -0
  136. package/src/plugins/json-schema-preset/create-type-preset-plugin.ts +35 -0
  137. package/src/plugins/json-schema-preset/index.ts +25 -0
  138. package/src/plugins/json-schema-preset/type-definition/array.ts +38 -0
  139. package/src/plugins/json-schema-preset/type-definition/boolean.ts +47 -0
  140. package/src/plugins/json-schema-preset/type-definition/date-time.ts +60 -0
  141. package/src/plugins/json-schema-preset/type-definition/enum.ts +31 -0
  142. package/src/plugins/json-schema-preset/type-definition/index.ts +37 -0
  143. package/src/plugins/json-schema-preset/type-definition/integer.ts +47 -0
  144. package/src/plugins/json-schema-preset/type-definition/map.ts +34 -0
  145. package/src/plugins/json-schema-preset/type-definition/number.ts +46 -0
  146. package/src/plugins/json-schema-preset/type-definition/object.ts +34 -0
  147. package/src/plugins/json-schema-preset/type-definition/string.ts +52 -0
  148. package/src/plugins/json-schema-preset/types.ts +25 -0
  149. package/src/plugins/json-schema-preset/vue.ts +38 -0
  150. package/src/shared/flow-value/index.ts +17 -0
  151. package/src/shared/flow-value/schema.ts +38 -0
  152. package/src/shared/flow-value/types.ts +49 -0
  153. package/src/shared/flow-value/utils.ts +213 -0
  154. package/src/shared/format-legacy-refs/index.ts +158 -0
  155. package/src/shared/format-legacy-refs/readme.md +38 -0
  156. package/src/shared/index.ts +32 -0
  157. package/src/shared/inject-material/index.ts +50 -0
  158. package/src/shared/lazy-suspense/index.ts +20 -0
  159. package/src/shared/polyfill-create-root/index.ts +38 -0
  160. package/src/ui/fg-button.vue +27 -0
  161. package/src/ui/fg-cascader.vue +92 -0
  162. package/src/ui/fg-checkbox.vue +25 -0
  163. package/src/ui/fg-icon-button.vue +31 -0
  164. package/src/ui/fg-input.vue +50 -0
  165. package/src/ui/fg-modal.vue +37 -0
  166. package/src/ui/fg-popover.vue +19 -0
  167. package/src/ui/fg-select.vue +81 -0
  168. package/src/ui/fg-tag.vue +37 -0
  169. package/src/ui/fg-textarea.vue +42 -0
  170. package/src/ui/fg-tree-nodes.vue +48 -0
  171. package/src/ui/fg-tree-select.vue +86 -0
  172. package/src/ui/icons.ts +60 -0
  173. package/src/ui/index.ts +20 -0
  174. package/src/ui/styles.css +277 -0
  175. package/src/ui/types.ts +36 -0
  176. package/src/validate/index.ts +6 -0
  177. package/src/validate/validate-flow-value/index.ts +62 -0
@@ -0,0 +1 @@
1
+ {"version":3,"sources":["../src/ui/fg-button.vue","../src/ui/fg-icon-button.vue","../src/ui/fg-input.vue","../src/ui/fg-textarea.vue","../src/ui/fg-select.vue","../src/ui/fg-checkbox.vue","../src/ui/icons.ts","../src/ui/fg-tag.vue","../src/ui/fg-popover.vue","../src/ui/fg-modal.vue","../src/ui/fg-tree-nodes.vue","../src/ui/fg-tree-select.vue","../src/ui/fg-cascader.vue","../src/ui/styles.css","../src/components/variable-selector/context.ts","../src/components/variable-selector/use-variable-tree.ts","../src/components/variable-selector/styles.css","../src/components/variable-selector/variable-selector.vue","../src/shared/flow-value/schema.ts","../src/shared/flow-value/utils.ts","../src/shared/format-legacy-refs/index.ts","../src/shared/inject-material/index.ts","../src/shared/lazy-suspense/index.ts","../src/shared/polyfill-create-root/index.ts","../src/components/variable-selector/index.ts","../src/components/type-selector/types.ts","../src/components/type-selector/type-selector.vue","../src/components/type-selector/index.ts","../src/plugins/disable-declaration-plugin/create-disable-declaration-plugin.ts","../src/components/condition-context/op.ts","../src/plugins/json-schema-preset/type-definition/string.ts","../src/components/code-editor/styles.css","../src/components/code-editor/base-code-editor.vue","../src/components/code-editor/index.ts","../src/plugins/json-schema-preset/type-definition/object.ts","../src/plugins/json-schema-preset/type-definition/number.ts","../src/plugins/json-schema-preset/type-definition/map.ts","../src/plugins/json-schema-preset/type-definition/integer.ts","../src/plugins/json-schema-preset/type-definition/enum.ts","../src/plugins/json-schema-preset/type-definition/date-time.ts","../src/plugins/json-schema-preset/type-definition/boolean.ts","../src/plugins/json-schema-preset/type-definition/array.ts","../src/plugins/json-schema-preset/type-definition/index.ts","../src/plugins/json-schema-preset/vue.ts","../src/plugins/json-schema-preset/create-type-preset-plugin.ts","../src/components/constant-input/constant-input.vue","../src/components/dynamic-value-input/hooks.ts","../src/components/dynamic-value-input/styles.css","../src/components/dynamic-value-input/dynamic-value-input.vue","../src/components/dynamic-value-input/index.ts","../src/components/blur-input/blur-input.vue","../src/components/assign-row/assign-row.vue","../src/components/assign-rows/assign-rows.vue","../src/hooks/use-object-list/index.ts","../src/components/batch-outputs/styles.css","../src/components/batch-outputs/batch-outputs.vue","../src/components/batch-variable-selector/batch-variable-selector.vue","../src/components/code-editor-mini/code-editor-mini.vue","../src/components/condition-context/context.ts","../src/components/condition-context/hooks/use-condition.ts","../src/components/condition-row/styles.css","../src/components/condition-row/condition-row.vue","../src/components/coze-editor-extensions/extensions/variable-tree.vue","../src/components/coze-editor-extensions/extensions/variable-tag.vue","../src/components/coze-editor-extensions/extensions/inputs-tree.vue","../src/components/coze-editor-extensions/index.ts","../src/components/db-condition-row/styles.css","../src/components/db-condition-row/db-condition-row.vue","../src/components/display-schema-tree/styles.css","../src/components/display-schema-tree/display-schema-tree.vue","../src/components/display-schema-tag/styles.css","../src/components/display-schema-tag/display-schema-tag.vue","../src/components/display-flow-value/display-flow-value.vue","../src/components/display-inputs-values/display-inputs-value-all-in-tag.vue","../src/components/display-inputs-values/styles.css","../src/components/display-inputs-values/display-inputs-values.vue","../src/components/display-outputs/styles.css","../src/components/display-outputs/display-outputs.vue","../src/components/inputs-values/styles.css","../src/components/inputs-values/inputs-values.vue","../src/components/inputs-values-tree/hooks/use-child-list.ts","../src/components/inputs-values-tree/styles.css","../src/components/inputs-values-tree/row.vue","../src/components/inputs-values-tree/inputs-values-tree.vue","../src/components/json-editor-with-variables/json-editor-with-variables.vue","../src/components/json-schema-creator/utils/json-to-schema.ts","../src/components/json-schema-creator/json-input-modal.vue","../src/components/json-schema-creator/json-schema-creator.vue","../src/components/json-schema-editor/hooks.ts","../src/components/json-schema-editor/default-value.vue","../src/components/json-schema-editor/property-edit.vue","../src/components/json-schema-editor/styles.css","../src/components/json-schema-editor/json-schema-editor.vue","../src/components/prompt-editor/prompt-editor.vue","../src/components/prompt-editor-with-inputs/prompt-editor-with-inputs.vue","../src/components/prompt-editor-with-variables/prompt-editor-with-variables.vue","../src/components/sql-editor-with-variables/sql-editor-with-variables.vue","../src/effects/auto-rename-ref/index.ts","../src/effects/listen-ref-schema-change/index.ts","../src/effects/listen-ref-value-change/index.ts","../src/effects/provide-batch-input/index.ts","../src/effects/provide-json-schema-outputs/index.ts","../src/effects/sync-variable-title/index.ts","../src/effects/validate-when-variable-sync/index.ts","../src/form-plugins/batch-outputs-plugin/index.ts","../src/form-plugins/infer-assign-plugin/index.ts","../src/form-plugins/infer-inputs-plugin/index.ts","../src/validate/validate-flow-value/index.ts"],"names":["_openBlock","_createElementBlock","_normalizeClass","_renderSlot","_normalizeStyle","_createBlock","_resolveDynamicComponent","_createCommentVNode","_hoisted_1","computed","ref","onMounted","onBeforeUnmount","_createElementVNode","_createTextVNode","_toDisplayString","_Fragment","_renderList","h","_withModifiers","_createVNode","_hoisted_2","_hoisted_3","_toDisplayString2","_hoisted_4","_hoisted_5","styleInject","inject","defineComponent","provide","useTypeManager","useAvailableVariables","JsonSchemaUtils","ASTMatch","I18n","_sfc_main","z","FlowValueUtils","isPlainObject","isArray","uniq","isObject","value","usePlaygroundContainer","FlowRendererRegistry","renderer","FlowRendererComponentType","defineAsyncComponent","createApp","definePluginCreator","VariableEngine","ConditionPresetOp","_withCtx","_toDisplayString6","format","jsonSchemaTypeManager","useOriginTypeManager","OriginTypePresetProvider","BaseTypeManager","jsonSchemaContainerModule","Renderer","_mergeProps","useScopeAvailable","watch","constantSchema","nanoid","get","difference","set","_normalizeProps","_guardReactiveProps","unref","_toDisplayString8","_toDisplayString9","_toDisplayString10","useCurrentScope","useRefresh","genId","omit","produce","DataEvent","VariableFieldKeyRenameService","getNodeScope","createEffectFromVariableProvider","ASTFactory","FlowNodeVariableData","getNodePrivateScope","defineFormPluginCreator","ScopeChainTransformService","ctx","FlowNodeScopeType","uniqBy","Immer","isNil","FeedbackLevel"],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;AAWA,IAAA,MAAM,IAAA,GAAO,MAAA;;;;;;;;AAMX,EAAA,OAAAA,aAAA,EAAA,EAAAC,sBAAA,CAQS,QAAA,EAAA;IAPP,IAAA,EAAK,QAAA;IACL,KAAA,EAAKC,kBAAA,CAAA,CAAC,QAAA,EAAQ,EAAA,YACJ,MAAA,CAAA,UAAA,EAAU,CAAA,CAAA;AACnB,IAAA,QAAA,EAAU,MAAA,CAAA,QAAA;IACV,OAAA,EAAK,MAAA,CAAA,CAAA,CAAA,KAAA,MAAA,CAAA,CAAA,CAAA,GAAA,CAAA,MAAA,KAAE,MAAA,CAAA,IAAA,CAAI,OAAA,EAAU,MAAM,CAAA;GAAA,EAAA;IAE5BC,cAAA,CAAQ,IAAA,CAAA,QAAA,SAAA;AAAA,GAAA,EAAA,IAAA,UAAA,CAAA;;;;;;;;;;;;;ACVZ,IAAA,MAAM,IAAA,GAAO,MAAA;;;;;;;;AAMXF,EAAAA,OAAAA,aAAAA,EAAAA,EAAAA,sBAAAA,CASS,QAAA,EAAA;IARP,IAAA,EAAK,QAAA;IACL,KAAA,EAAM,aAAA;AACL,IAAA,QAAA,EAAU,MAAA,CAAA,QAAA;IACV,KAAA,EAAKG,kBAAA,CAAE,OAAA,KAAK,CAAA;IACZ,OAAA,EAAK,MAAA,CAAA,CAAA,CAAA,KAAA,MAAA,CAAA,CAAA,CAAA,GAAA,CAAA,MAAA,KAAE,MAAA,CAAA,IAAA,CAAI,OAAA,EAAU,MAAM,CAAA;GAAA,EAAA;AAEA,IAAA,MAAA,CAAA,IAAA,IAAAJ,aAAAA,EAAA,EAA5BK,eAAA,CAAoCC,4BAApB,MAAA,CAAA,IAAI,CAAA,EAAA,EAAA,KAAA,CAAA,EAAA,CAAA,IAAAC,sBAAA,CAAA,QAAA,IAAA,CAAA;IACpBJ,cAAAA,CAAQ,IAAA,CAAA,QAAA,SAAA;AAAA,GAAA,EAAA,IAAAK,WAAA,CAAA;;;;;;;;;;;;;;;;;ACpBZ,IAAA,MAAM,KAAA,GAAQ,OAAA;AAUd,IAAA,MAAM,IAAA,GAAO,MAAA;AAOb,IAAA,MAAM,UAAA,GAAaC,YAAAA;AAAS,MAAA,MAC1B,KAAA,CAAM,UAAA,KAAe,MAAA,GAAY,KAAA,CAAM,aAAa,KAAA,CAAM;AAC5D,KAAA;AAEA,IAAA,MAAM,OAAA,GAAU,CAAC,KAAA,KAAiB;AAChC,MAAA,MAAM,IAAA,GAAQ,MAAM,MAAA,CAA4B,KAAA;AAChD,MAAA,IAAA,CAAK,qBAAqB,IAAI,CAAA;AAC9B,MAAA,IAAA,CAAK,UAAU,IAAI,CAAA;AACrB,IAAA,CAAA;;;;;;;;AAIER,EAAAA,OAAAA,aAAAA,EAAAA,EAAAA,sBAAAA,CAWE,OAAA,EAAA;IAVA,KAAA,EAAKC,kBAAAA,CAAA,CAAC,UAAA,EAAU,EAAA,OACN,MAAA,CAAA,KAAA,EAAK,CAAA,CAAA;AACd,IAAA,IAAA,EAAM,OAAA,IAAA,IAAI,MAAA;AACV,IAAA,KAAA,EAAO,MAAA,CAAA,UAAA;AACP,IAAA,QAAA,EAAU,MAAA,CAAA,QAAA;AACV,IAAA,WAAA,EAAa,MAAA,CAAA,WAAA;IACb,KAAA,EAAKE,kBAAAA,CAAE,OAAA,KAAK,CAAA;AACZ,IAAA,OAAA,EAAO,MAAA,CAAA,OAAA;IACP,MAAA,EAAI,MAAA,CAAA,CAAA,CAAA,KAAA,MAAA,CAAA,CAAA,CAAA,GAAA,CAAA,MAAA,KAAE,MAAA,CAAA,IAAA,CAAI,MAAA,EAAS,MAAM,CAAA,CAAA;IACzB,OAAA,EAAK,MAAA,CAAA,CAAA,CAAA,KAAA,MAAA,CAAA,CAAA,CAAA,GAAA,CAAA,MAAA,KAAE,MAAA,CAAA,IAAA,CAAI,OAAA,EAAU,MAAM,CAAA;GAAA,EAAA,IAAA,EAAA,IAAAI,WAAA,CAAA;;;;;;;;;;;;;;;ACvChC,IAAA,MAAM,KAAA,GAAQ,OAAA;AAQd,IAAA,MAAM,IAAA,GAAO,MAAA;AAKb,IAAA,MAAM,UAAA,GAAaC,YAAAA;AAAS,MAAA,MAC1B,KAAA,CAAM,UAAA,KAAe,MAAA,GAAY,KAAA,CAAM,aAAa,KAAA,CAAM;AAC5D,KAAA;AAEA,IAAA,MAAM,OAAA,GAAU,CAAC,KAAA,KAAiB;AAChC,MAAA,MAAM,IAAA,GAAQ,MAAM,MAAA,CAA+B,KAAA;AACnD,MAAA,IAAA,CAAK,qBAAqB,IAAI,CAAA;AAC9B,MAAA,IAAA,CAAK,UAAU,IAAI,CAAA;AACrB,IAAA,CAAA;;;;;;;;AAIER,EAAAA,OAAAA,aAAAA,EAAAA,EAAAA,sBAAAA,CAOE,UAAA,EAAA;IANA,KAAA,EAAM,aAAA;AACL,IAAA,KAAA,EAAO,MAAA,CAAA,UAAA;AACP,IAAA,QAAA,EAAU,MAAA,CAAA,QAAA;AACV,IAAA,WAAA,EAAa,MAAA,CAAA,WAAA;AACb,IAAA,IAAA,EAAM,OAAA,IAAA,IAAI,CAAA;AACV,IAAA,OAAA,EAAO,MAAA,CAAA;GAAA,EAAA,IAAA,EAAA,IAAAO,WAAA,CAAA;;;;;;;;;;;;;;;;AC7BZ,IAAA,MAAM,KAAA,GAAQ,OAAA;AAYd,IAAA,MAAM,IAAA,GAAO,MAAA;AAKb,IAAA,MAAM,IAAA,GAAOE,QAAI,KAAK,CAAA;AACtB,IAAA,MAAM,OAAA,GAAUA,QAAwB,IAAI,CAAA;AAC5C,IAAA,MAAM,UAAA,GAAaD,YAAAA;AAAS,MAAA,MAC1B,KAAA,CAAM,UAAA,KAAe,MAAA,GAAY,KAAA,CAAM,aAAa,KAAA,CAAM;AAC5D,KAAA;AAEA,IAAA,MAAM,QAAA,GAAWA,YAAAA,CAAS,MAAM,KAAA,CAAM,OAAA,CAAQ,IAAA,CAAK,CAAC,IAAA,KAAS,IAAA,CAAK,KAAA,KAAU,UAAA,CAAW,KAAK,CAAC,CAAA;AAE7F,IAAA,MAAM,UAAA,GAAa,CAAC,KAAA,KAAsB;AACxC,MAAA,IAAI,OAAA,CAAQ,SAAS,CAAC,OAAA,CAAQ,MAAM,QAAA,CAAS,KAAA,CAAM,MAAc,CAAA,EAAG;AAClE,QAAA,IAAA,CAAK,KAAA,GAAQ,KAAA;AACf,MAAA;AACF,IAAA,CAAA;AAEA,IAAAE,aAAA,CAAU,MAAM,QAAA,CAAS,gBAAA,CAAiB,WAAA,EAAa,UAAU,CAAC,CAAA;AAClE,IAAAC,mBAAA,CAAgB,MAAM,QAAA,CAAS,mBAAA,CAAoB,WAAA,EAAa,UAAU,CAAC,CAAA;AAE3E,IAAA,MAAM,MAAA,GAAS,CAAC,MAAA,KAA2B;AACzC,MAAA,IAAI,OAAO,QAAA,EAAU;AACnB,QAAA;AACF,MAAA;AACA,MAAA,IAAA,CAAK,mBAAA,EAAqB,OAAO,KAAK,CAAA;AACtC,MAAA,IAAA,CAAK,QAAA,EAAU,OAAO,KAAK,CAAA;AAC3B,MAAA,IAAA,CAAK,KAAA,GAAQ,KAAA;AACf,IAAA,CAAA;;;;;;;EAIO,GAAA,EAAI,SAAA;EAAU,KAAA,EAAM;;;;;EAWN,KAAA,EAAM;;;;;AAXzBX,EAAAA,OAAAA,aAAAA,EAAAA,EAAAA,sBAAAA;AAwBM,IAAA,KAAA;AAxBNO,IAAAA,WAAAA;AAwBM,IAAA;AAvBJ,MAAAK,sBAAA,CASS,QAAA,EAAA;QARP,IAAA,EAAK,QAAA;QACL,KAAA,EAAM,WAAA;AACL,QAAA,QAAA,EAAU,MAAA,CAAA,QAAA;AACV,QAAA,OAAA,EAAK,MAAA,CAAA,CAAA,CAAA,KAAA,MAAA,CAAA,CAAA,CAAA,GAAA,CAAA,MAAA,KAAA,CAAG,MAAA,CAAA,QAAA,KAAa,MAAA,CAAA,IAAA,GAAI,CAAI,MAAA,CAAA,IAAA,CAAA;OAAA,EAAA;QAE9BV,cAAAA,CAEO,IAAA,CAAA,QAAA,SAAA,EAAA;AAFe,UAAA,KAAA,EAAO,MAAA,CAAA,UAAA;AAAa,UAAA,MAAA,EAAQ,MAAA,CAAA;AAAA,SAAA,EAAlD,MAEO;AAAA,UAAAW,mBAAA;AADF,YAAAC,mBAAA,CAAA,MAAA,CAAA,QAAA,EAAU,KAAA,IAAS,MAAA,CAAA,WAAA,IAAW,EAAA,CAAA;AAAA,YAAA;;AAAA;SAAA;;AAG1B,MAAA,MAAA,CAAA,IAAA,IAAAf,aAAAA,EAAA,EAAXC,sBAAAA,CAYM,OAZN,UAAA,EAYM;AAAAD,SAAAA,aAAAA,CAAA,IAAA,CAAA,EAXJC,sBAAAA;AAUS,UAAAe,YAAA;AAAA,UAAA,IAAA;UAAAC,cAAA,CATU,MAAA,CAAA,OAAA,EAAO,CAAjB,MAAA,KAAM;AADfhB,YAAAA,OAAAA,aAAAA,EAAAA,EAAAA,sBAAAA,CAUS,QAAA,EAAA;cARN,GAAA,EAAK,MAAA,CAAO,OAAO,KAAK,CAAA;cACzB,IAAA,EAAK,QAAA;cACL,KAAA,EAAM,kBAAA;AACL,cAAA,QAAA,EAAU,MAAA,CAAO,QAAA;AACjB,cAAA,OAAA,EAAK,CAAA,MAAA,KAAE,MAAA,CAAA,MAAA,CAAO,MAAM;aAAA,EAAA;AAEsB,cAAA,OAAA,MAAA,CAAO,KAAA,KAAK,QAAA,IAAAD,aAAAA,EAAA,EAAvDK,gBAAwEC,2BAAAA,CAAxD,MAAA,CAAO,KAAK,CAAA,EAAA,EAAA,GAAA,EAAA,CAAA,EAAA,CAAA,KAAAN,eAAA,EAC5BC,sBAAAA;AAAsC,gBAAA,MAAA;AAAA,gBAAA,UAAA;AAAA,gBAAAc,mBAAA,CAAtB,OAAO,KAAK,CAAA;AAAA,gBAAA;;AAAA,eAAA;AAAA,aAAA,EAAA,GAAA,UAAA,CAAA;;;;;;;;;;;;;;;;;;;;;ACjEpC,IAAA,MAAM,IAAA,GAAO,MAAA;;;;;;;;AAMXd,EAAAA,OAAAA,aAAAA,EAAAA,EAAAA,sBAAAA,CAME,OAAA,EAAA;IALA,KAAA,EAAM,aAAA;IACN,IAAA,EAAK,UAAA;AACJ,IAAA,OAAA,EAAS,MAAA,CAAA,OAAA;AACT,IAAA,QAAA,EAAU,MAAA,CAAA,QAAA;AACV,IAAA,QAAA,EAAM,MAAA,CAAA,CAAA,CAAA,KAAA,MAAA,CAAA,CAAA,CAAA,GAAA,CAAA,MAAA,KAAE,MAAA,CAAA,IAAA,CAAI,QAAA,EAAY,MAAA,CAAO,OAA4B,OAAO,CAAA;GAAA,EAAA,IAAA,EAAA,IAAAO,WAAA,CAAA;;;ACfvE,SAAS,GAAA,CAAI,KAAA,EAAe,OAAA,GAAU,WAAA,EAAoB;AACxD,EAAA,OAAOU,KAAA;AAAA,IACL,KAAA;AAAA,IACA;AAAA,MACE,KAAA,EAAO,SAAA;AAAA,MACP,KAAA,EAAO,IAAA;AAAA,MACP,MAAA,EAAQ,IAAA;AAAA,MACR,OAAA;AAAA,MACA,IAAA,EAAM,MAAA;AAAA,MACN,KAAA,EAAO,4BAAA;AAAA,MACP,aAAA,EAAe;AAAA,KACjB;AAAA,IACAA,MAAE,MAAA,EAAQ,EAAE,GAAG,KAAA,EAAO,IAAA,EAAM,gBAAgB;AAAA,GAC9C;AACF;AAEO,IAAM,QAAA,GAAW,MACtB,GAAA,CAAI,kIAAkI,CAAA;AAEjI,IAAM,SAAA,GAAY,MAAM,GAAA,CAAI,yEAAyE,CAAA;AAErG,IAAM,aAAa,MACxB,GAAA;AAAA,EACE;AACF,CAAA;AAEK,IAAM,eAAA,GAAkB,MAAM,GAAA,CAAI,sIAAsI,CAAA;AAExK,IAAM,gBAAA,GAAmB,MAAM,GAAA,CAAI,sIAAsI,CAAA;AAIzK,IAAM,mBAAmB,MAC9B,GAAA;AAAA,EACE;AACF,CAAA;AAEK,IAAM,cAAc,MACzB,GAAA;AAAA,EACE;AACF,CAAA;AAEK,IAAM,UAAA,GAAa,MACxB,GAAA,CAAI,oQAAoQ,CAAA;AAEnQ,IAAM,UAAA,GAAa,MACxB,GAAA,CAAI,8SAA8S,CAAA;AAE7S,IAAM,eAAA,GAAkB,MAC7B,GAAA,CAAI,oUAAoU,CAAA;AAEnU,IAAM,SAAA,GAAY,MACvB,GAAA,CAAI,+LAA+L,CAAA;;;;;;;;;;;AC3CrM,IAAA,MAAM,IAAA,GAAO,MAAA;;;;;;;;;;AAMXjB,EAAAA,OAAAA,aAAAA,EAAAA,EAAAA,sBAAAA;AAaO,IAAA,MAAA;AAAA,IAAA;AAbD,MAAA,KAAA,EAAKC,mBAAA,CAAC,QAAA,EAAiB,MAAA,CAAA,KAAA,IAAK,SAAA,CAAA;AAAA,KAAA;;AAEjB,MAAA,OAAA,MAAA,CAAA,UAAA,KAAU,QAAA,IAAAF,aAAAA,EAAA,EADzBC,uBAME,KAAA,EAAA;QAAA,GAAA,EAAA,CAAA;AAJC,QAAA,GAAA,EAAK,MAAA,CAAA,UAAA;QACN,KAAA,EAAM,IAAA;QACN,MAAA,EAAO,IAAA;QACP,GAAA,EAAI;OAAA,EAAA,IAAA,EAAA,GAAAO,WAAA,CAAA,IAEiC,OAAA,UAAA,IAAAR,aAAAA,IAAvCK,eAAAA,CAAqDC,2BAAAA,CAArC,OAAA,UAAU,CAAA,EAAA,EAAA,GAAA,EAAA,CAAA,EAAA,CAAA,IAAAC,sBAAAA,CAAA,QAAA,IAAA,CAAA;MAC1BJ,cAAAA,CAAQ,IAAA,CAAA,QAAA,SAAA,CAAA;AACM,MAAA,MAAA,CAAA,QAAA,IAAAH,aAAAA,EAAA,EAAdC,sBAAAA,CAES,QAAA,EAAA;QAAA,GAAA,EAAA,CAAA;QAFe,IAAA,EAAK,QAAA;QAAS,KAAA,EAAM,cAAA;AAAgB,QAAA,OAAA,EAAK,MAAA,CAAA,CAAA,CAAA,KAAA,MAAA,CAAA,CAAA,CAAA,GAAAkB,iBAAA,CAAA,CAAA,MAAA,KAAO,OAAA,IAAA,CAAI,OAAA,CAAA,EAAA,CAAA,MAAA,CAAA,CAAA;OAAA,EAAA;QAC1EC,eAAA,CAAa,MAAA,CAAA,WAAA,CAAA;OAAA,CAAA,IAAAb,sBAAAA,CAAA,MAAA,EAAA,IAAA;;;;;;;;;;;ACzBnB,IAAA,MAAM,KAAA,GAAQG,QAAI,KAAK,CAAA;;;;;;;;EAMD,KAAA,EAAM;;;AAF1BT,EAAAA,OAAAA,aAAAA,EAAAA,EAAAA,sBAAAA;AAKM,IAAA,KAAA;AAAA,IAAA;MALD,KAAA,EAAM,YAAA;MAAc,YAAA,EAAU,MAAA,CAAA,CAAA,CAAA,KAAA,MAAA,CAAA,CAAA,CAAA,GAAA,CAAA,MAAA,KAAE,MAAA,CAAA,KAAA,GAAK,IAAA,CAAA;MAAU,YAAA,EAAU,MAAA,CAAA,CAAA,CAAA,KAAA,MAAA,CAAA,CAAA,CAAA,GAAA,CAAA,MAAA,KAAE,MAAA,CAAA,KAAA,GAAK,KAAA;AAAA,KAAA;;MACnEE,cAAAA,CAAQ,IAAA,CAAA,QAAA,SAAA,CAAA;AACG,MAAA,MAAA,CAAA,KAAA,IAAAH,aAAAA,EAAA,EAAXC,sBAAAA,CAEM,OAFNO,WAAAA,EAEM;QADJL,cAAAA,CAAuB,IAAA,CAAA,QAAA,SAAA;OAAA,CAAA,IAAAI,sBAAAA,CAAA,MAAA,EAAA,IAAA;;;;;;;;;;;;;;;;;;ACA7B,IAAA,MAAM,IAAA,GAAO,MAAA;;;;;;;;AAQJ,IAAA,WAAA,GAAA,EAAA,KAAA,EAAM,UAAA,EAAU;AACd,IAAA,WAAA,GAAA,EAAA,KAAA,EAAM,gBAAA,EAAgB;AAEtB,IAAA,WAAA,GAAA,EAAA,KAAA,EAAM,kBAAA,EAAkB;;AAJtB,EAAA,OAAA,MAAA,CAAA,OAAA,IAAAP,aAAAA,EAAA,EAAXC,sBAAAA,CAaM,KAAA,EAAA;IAAA,GAAA,EAAA,CAAA;IAbc,KAAA,EAAM,eAAA;AAAiB,IAAA,OAAA,EAAK,MAAA,CAAA,CAAA,CAAA,KAAA,MAAA,CAAA,CAAA,CAAA,GAAAkB,iBAAAA,CAAA,CAAA,MAAA,KAAO,OAAA,IAAA,CAAI,OAAA,CAAA,EAAA,CAAA,MAAA,CAAA,CAAA;GAAA,EAAA;AACzDN,IAAAA,sBAAAA,CAWM,OAXNL,WAAAA,EAWM;AAVJK,MAAAA,sBAAAA;AAA6C,QAAA,KAAA;AAA7CQ,QAAAA,WAAAA;AAA6CN,QAAAA,mBAAAA,CAAd,OAAA,KAAK,CAAA;AAAA,QAAA;;AAAA,OAAA;MACpCZ,cAAAA,CAAQ,IAAA,CAAA,QAAA,SAAA,CAAA;AACRU,MAAAA,sBAAAA,CAOM,OAPNS,WAAAA,EAOM;AANJT,QAAAA,sBAAAA;AAES,UAAA,QAAA;AAAA,UAAA;YAFD,IAAA,EAAK,QAAA;YAAS,KAAA,EAAM,QAAA;YAAU,OAAA,EAAK,MAAA,CAAA,CAAA,CAAA,KAAA,MAAA,CAAA,CAAA,IAAA,CAAA,MAAA,KAAE,MAAA,CAAA,IAAA,CAAI,OAAA,CAAA;AAAA,WAAA;AAC5C,UAAAU,mBAAA,CAAA,MAAA,CAAA,UAAA,IAAc,MAAA,CAAA,IAAA,CAAK,CAAA,CAAC,QAAA,CAAA,CAAA;AAAA,UAAA;;AAAA,SAAA;AAEzBV,QAAAA,sBAAAA;AAES,UAAA,QAAA;AAAA,UAAA;YAFD,IAAA,EAAK,QAAA;YAAS,KAAA,EAAM,QAAA;YAAU,OAAA,EAAK,MAAA,CAAA,CAAA,CAAA,KAAA,MAAA,CAAA,CAAA,IAAA,CAAA,MAAA,KAAE,MAAA,CAAA,IAAA,CAAI,SAAA,CAAA;AAAA,WAAA;AAC5C,UAAAU,mBAAA,CAAA,MAAA,CAAA,MAAA,IAAU,MAAA,CAAA,IAAA,CAAK,CAAA,CAAC,UAAA,CAAA,CAAA;AAAA,UAAA;;AAAA;OAAA;;;;;;;;;;;;;ACjB7B,IAAA,MAAM,IAAA,GAAO,MAAA;AAIb,IAAA,MAAM,UAAA,GAAa,CAAC,IAAA,KAA0B;AAC5C,MAAA,IAAI,CAAC,IAAA,EAAM;AACT,QAAA,OAAO,IAAA;AACT,MAAA;AACA,MAAA,IAAI,OAAO,SAAS,QAAA,EAAU;AAC5B,QAAA,OAAOL,KAAAA,CAAE,KAAA,EAAO,EAAE,GAAA,EAAK,IAAA,EAAM,KAAA,EAAO,EAAA,EAAI,MAAA,EAAQ,EAAA,EAAI,GAAA,EAAK,EAAA,EAAI,KAAA,EAAO,qBAAqB,CAAA;AAC3F,MAAA;AACA,MAAA,OAAO,IAAA;AACT,IAAA,CAAA;;;;;;;;;EAgBwC,KAAA,EAAM;;;;AAZ5CjB,EAAAA,OAAAA,aAAAA,EAAAA,EAAAA,sBAAAA,CAgBM,OAAA,IAAA,EAAA;AAAAD,KAAAA,aAAAA,CAAA,IAAA,CAAA,EAfJC,sBAAAA;AAcMe,MAAAA,YAAAA;AAAA,MAAA,IAAA;AAAAC,MAAAA,cAAAA,CAdc,MAAA,CAAA,KAAA,IAAK,EAAA,EAAA,CAAb,IAAA,KAAI;AAAhBhB,QAAAA,OAAAA,aAAAA,EAAAA,EAAAA,sBAAAA,CAcM,KAAA,EAAA;AAd4B,UAAA,GAAA,EAAK,IAAA,CAAK;SAAA,EAAA;AAC1CY,UAAAA,sBAAAA,CASS,QAAA,EAAA;YARP,IAAA,EAAK,QAAA;YACL,KAAA,EAAKX,kBAAAA,CAAA,CAAC,cAAA,EAAc,EAAA,UACA,IAAA,CAAK,QAAA,EAAQ,CAAA,CAAA;AAChC,YAAA,QAAA,EAAU,IAAA,CAAK,QAAA;AACf,YAAA,OAAA,EAAK,CAAA,MAAA,KAAE,MAAA,CAAA,IAAA,CAAI,QAAS,IAAI;WAAA,EAAA;AAEzBG,aAAAA,aAAAA,EAAAA,EAAAA,eAAAA,CAA+CC,4BAAA,MAAzB,MAAA,CAAA,WAAW,IAAA,CAAK,IAAI,CAAA,CAAA,CAAA;AAC1CO,YAAAA,sBAAAA;AAA6B,cAAA,MAAA;AAAA,cAAA,IAAA;AAAAE,cAAAA,mBAAAA,CAApB,KAAK,KAAK,CAAA;AAAA,cAAA;;AAAA;AAAA,WAAA,EAAA,IAAAP,YAAA,CAAA;AAEV,UAAA,IAAA,CAAK,UAAU,MAAA,IAAAR,aAAAA,EAAA,EAA1BC,sBAAAA,CAEM,OAFNoB,WAAAA,EAEM;AADJD,YAAAA,eAAAA,CAAmE,sBAAA,EAAA;AAArD,cAAA,KAAA,EAAO,IAAA,CAAK,QAAA;cAAW,MAAA,EAAI,MAAA,CAAA,CAAA,CAAA,KAAA,MAAA,CAAA,CAAA,CAAA,GAAA,CAAA,MAAA,KAAE,MAAA,CAAA,IAAA,CAAI,MAAA,EAAS,MAAM,CAAA;AAAA,aAAA,EAAA,IAAA,EAAA,CAAA,EAAA,CAAA,OAAA,CAAA;;;;;;;;;;;;;;;;;;;;;;;AC/BtE,IAAA,MAAM,KAAA,GAAQ,OAAA;AAYd,IAAA,MAAM,IAAA,GAAO,MAAA;AAIb,IAAA,MAAM,IAAA,GAAOV,QAAI,KAAK,CAAA;AACtB,IAAA,MAAM,OAAA,GAAUA,QAAwB,IAAI,CAAA;AAE5C,IAAA,MAAM,QAAA,GAAW,CAAC,KAAA,EAAqB,GAAA,KAAoD;AACzF,MAAA,IAAI,CAAC,GAAA,EAAK;AACR,QAAA,OAAO,MAAA;AACT,MAAA;AACA,MAAA,KAAA,MAAW,QAAQ,KAAA,EAAO;AACxB,QAAA,IAAI,IAAA,CAAK,GAAA,KAAQ,GAAA,IAAO,IAAA,CAAK,UAAU,GAAA,EAAK;AAC1C,UAAA,OAAO,IAAA;AACT,QAAA;AACA,QAAA,MAAM,QAAQ,QAAA,CAAS,IAAA,CAAK,QAAA,IAAY,IAAI,GAAG,CAAA;AAC/C,QAAA,IAAI,KAAA,EAAO;AACT,UAAA,OAAO,KAAA;AACT,QAAA;AACF,MAAA;AACA,MAAA,OAAO,MAAA;AACT,IAAA,CAAA;AAEA,IAAA,MAAM,QAAA,GAAWD,aAAS,MAAM,QAAA,CAAS,MAAM,QAAA,EAAU,KAAA,CAAM,KAAK,CAAC,CAAA;AAErE,IAAA,MAAM,UAAA,GAAa,CAAC,KAAA,KAAsB;AACxC,MAAA,IAAI,OAAA,CAAQ,SAAS,CAAC,OAAA,CAAQ,MAAM,QAAA,CAAS,KAAA,CAAM,MAAc,CAAA,EAAG;AAClE,QAAA,IAAA,CAAK,KAAA,GAAQ,KAAA;AACf,MAAA;AACF,IAAA,CAAA;AAEA,IAAAE,cAAU,MAAM,QAAA,CAAS,gBAAA,CAAiB,WAAA,EAAa,UAAU,CAAC,CAAA;AAClE,IAAAC,oBAAgB,MAAM,QAAA,CAAS,mBAAA,CAAoB,WAAA,EAAa,UAAU,CAAC,CAAA;AAE3E,IAAA,MAAM,IAAA,GAAO,CAAC,IAAA,KAAqB;AACjC,MAAA,IAAI,KAAK,QAAA,EAAU;AACjB,QAAA;AACF,MAAA;AACA,MAAA,IAAA,CAAK,QAAA,EAAU,KAAK,OAAA,IAAW,IAAA,CAAK,IAAI,KAAA,CAAM,GAAG,GAAG,IAAI,CAAA;AACxD,MAAA,IAAA,CAAK,KAAA,GAAQ,KAAA;AACf,IAAA,CAAA;;;;;;;;;;EAYmC,KAAA,EAAM;;;;EACpB,KAAA,EAAM;;;;EAIN,KAAA,EAAM;;;AAbzBX,EAAAA,OAAAA,aAAAA,EAAAA,EAAAA,sBAAAA;AAgBM,IAAA,KAAA;AAAA,IAAA;MAhBD,GAAA,EAAI,SAAA;MAAU,KAAA,EAAKC,kBAAAA,CAAA,CAAC,gBAAA,EAAgB,EAAA,OAAW,MAAA,CAAA,KAAA,EAAK,CAAA;AAAA,KAAA;;AACvDW,MAAAA,sBAAAA;AAWM,QAAA,KAAA;AAAA,QAAA;UAVJ,KAAA,EAAKX,kBAAAA,CAAA,CAAC,wBAAA,EAAwB,EAAA,UACpB,MAAA,CAAA,QAAA,EAAQ,CAAA,CAAA;AACjB,UAAA,OAAA,EAAK,MAAA,CAAA,CAAA,CAAA,KAAA,MAAA,CAAA,CAAA,CAAA,GAAA,CAAA,MAAA,KAAA,CAAG,MAAA,CAAA,QAAA,KAAa,MAAA,CAAA,IAAA,GAAI,CAAI,MAAA,CAAA,IAAA,CAAA;AAAA,SAAA;;UAE9BC,cAAAA,CAIO,IAAA,CAAA,QAAA,UAAA,EAAA,EAJgB,QAAQ,MAAA,CAAA,QAAA,IAA/B,MAIO;AAHgC,YAAA,MAAA,CAAA,iBAAAH,aAAAA,EAAA,EAArCK,eAAAA,CAAsDC,2BAAAA,CAAtC,OAAA,aAAa,CAAA,EAAA,EAAA,GAAA,EAAA,GAAA,CAAA,IACZ,MAAA,CAAA,QAAA,IAAAN,eAAA,EAAjBC,sBAAAA;AAAmF,cAAA,MAAA;AAAnFO,cAAAA,YAAAA;cAAmFO,mBAAAA,CAAxB,MAAA,CAAA,SAAS,KAAK,CAAA;AAAA,cAAA;;AAAA,aAAA,KAAAf,eAAA,EACzEC,sBAAAA;AAAwE,cAAA,MAAA;AAAxEoB,cAAAA,WAAAA;AAAwEN,cAAAA,mBAAAA,CAArB,OAAA,WAAW,CAAA;AAAA,cAAA;;AAAA,aAAA;WAAA,CAAA;UAEhEK,eAAAA,CAAmB,MAAA,CAAA,iBAAA,CAAA;AAAA,SAAA;;;;AAEV,MAAA,MAAA,CAAA,IAAA,IAAApB,aAAAA,EAAA,EAAXC,sBAAAA,CAEM,OAFNqB,WAAAA,EAEM;QADJF,eAAAA,CAA8C,MAAA,CAAA,aAAA,CAAA,EAAA;AAAhC,UAAA,KAAA,EAAO,MAAA,CAAA,QAAA;AAAW,UAAA,MAAA,EAAM,MAAA,CAAA;AAAA,SAAA,EAAA,IAAA,EAAA,CAAA,EAAA,CAAA,OAAA,CAAA;;;;;;;;;;;;;;;;;;;ACxE5C,IAAA,MAAM,KAAA,GAAQ,OAAA;AAUd,IAAA,MAAM,IAAA,GAAO,MAAA;AAIb,IAAA,MAAM,IAAA,GAAOV,QAAI,KAAK,CAAA;AACtB,IAAA,MAAM,OAAA,GAAUA,QAAwB,IAAI,CAAA;AAC5C,IAAA,MAAM,IAAA,GAAOA,OAAAA,CAAc,KAAA,CAAM,KAAA,IAAS,EAAE,CAAA;AAE5C,IAAA,MAAM,MAAA,GAASD,YAAAA,CAAS,MAAM,KAAA,CAAM,OAAO,CAAA;AAC3C,IAAA,MAAM,MAAA,GAASA,aAAS,MAAM;AAC5B,MAAA,MAAM,OAAA,GAAU,KAAA,CAAM,OAAA,CAAQ,IAAA,CAAK,CAAC,IAAA,KAAS,IAAA,CAAK,KAAA,KAAU,IAAA,CAAK,KAAA,CAAM,CAAC,CAAC,CAAA;AACzE,MAAA,OAAO,OAAA,EAAS,YAAY,EAAC;IAC/B,CAAC,CAAA;AAED,IAAA,MAAM,UAAA,GAAa,CAAC,KAAA,KAAsB;AACxC,MAAA,IAAI,OAAA,CAAQ,SAAS,CAAC,OAAA,CAAQ,MAAM,QAAA,CAAS,KAAA,CAAM,MAAc,CAAA,EAAG;AAClE,QAAA,IAAA,CAAK,KAAA,GAAQ,KAAA;AACf,MAAA;AACF,IAAA,CAAA;AAEA,IAAAE,cAAU,MAAM,QAAA,CAAS,gBAAA,CAAiB,WAAA,EAAa,UAAU,CAAC,CAAA;AAClE,IAAAC,oBAAgB,MAAM,QAAA,CAAS,mBAAA,CAAoB,WAAA,EAAa,UAAU,CAAC,CAAA;AAE3E,IAAA,MAAM,IAAA,GAAO,CAAC,KAAA,EAAe,KAAA,KAAkB;AAC7C,MAAA,MAAM,IAAA,GAAO,CAAC,GAAG,IAAA,CAAK,KAAK,CAAA;AAC3B,MAAA,IAAA,CAAK,KAAK,CAAA,GAAI,KAAA;AACd,MAAA,IAAA,CAAK,MAAA,CAAO,QAAQ,CAAC,CAAA;AACrB,MAAA,IAAA,CAAK,KAAA,GAAQ,IAAA;AACb,MAAA,MAAM,MAAA,GAAA,CAAU,KAAA,KAAU,CAAA,GAAI,MAAA,CAAO,KAAA,GAAQ,MAAA,CAAO,KAAA,EAAO,IAAA,CAAK,CAAC,IAAA,KAAS,IAAA,CAAK,KAAA,KAAU,KAAK,CAAA;AAC9F,MAAA,IAAI,CAAC,MAAA,EAAQ,QAAA,EAAU,MAAA,EAAQ;AAC7B,QAAA,IAAA,CAAK,UAAU,IAAI,CAAA;AACnB,QAAA,IAAA,CAAK,KAAA,GAAQ,KAAA;AACf,MAAA;AACF,IAAA,CAAA;;;;;;;EAIO,GAAA,EAAI,SAAA;EAAU,KAAA,EAAM;;;;;EAON,KAAA,EAAM,sBAAA;AAAuB,EAAA,KAAA,EAAA,EAAA,SAAA,EAAA,MAAA,EAAA,WAAA,EAAA,OAAA;;oBACvC,KAAA,EAAA,EAAA,MAAA,EAAA,GAAA,EAAA,EAAe;;;;;AAYM,EAAA,KAAA,EAAA,EAAA,MAAA,EAAA,GAAA,EAAA,aAAA,EAAA,mBAAA;;;;;AApB9BX,EAAAA,OAAAA,aAAAA,EAAAA,EAAAA,sBAAAA;AAiCM,IAAA,KAAA;AAjCNO,IAAAA,YAAAA;AAiCM,IAAA;AAhCJK,MAAAA,sBAAAA,CAKM,KAAA,EAAA;AALA,QAAA,OAAA,EAAK,MAAA,CAAA,CAAA,CAAA,KAAA,MAAA,CAAA,CAAA,CAAA,GAAA,CAAA,MAAA,KAAA,CAAG,MAAA,CAAA,QAAA,KAAa,MAAA,CAAA,IAAA,GAAI,CAAI,MAAA,CAAA,IAAA,CAAA;OAAA,EAAA;AACI,QAAA,MAAA,CAAA,iBAAAb,aAAAA,EAAA,EAArCK,eAAAA,CAAsDC,2BAAAA,CAAtC,OAAA,aAAa,CAAA,EAAA,EAAA,GAAA,EAAA,GAAA,CAAA,KAAAN,aAAAA,EAAA,EAC7BC,uBAES,QAAA,EAAA;UAAA,GAAA,EAAA,CAAA;UAFM,IAAA,EAAK,QAAA;UAAS,KAAA,EAAM,WAAA;AAAa,UAAA,QAAA,EAAU,MAAA,CAAA;SAAA,EAAAc,mBAAAA,CAAAA,CACpD,MAAA,CAAA,KAAA,IAAK,EAAA,EAAQ,KAAI,KAAA,CAAA,CAAA,EAAA,CAAA,EAAAM,WAAA,CAAA;OAAA,CAAA;AAGd,MAAA,MAAA,CAAA,IAAA,IAAArB,aAAAA,EAAA,EAAXC,sBAAAA,CAyBM,OAzBNqB,WAAAA,EAyBM;AAxBJT,QAAAA,sBAAAA,CAWM,OAXNW,WAAAA,EAWM;AAAAxB,WAAAA,aAAAA,CAAA,IAAA,CAAA,EAVJC,sBAAAA;AASSe,YAAAA,YAAAA;AAAA,YAAA,IAAA;YAAAC,cAAAA,CARU,MAAA,CAAA,MAAA,EAAM,CAAhB,MAAA,KAAM;AADfhB,cAAAA,OAAAA,aAAAA,EAAAA,EAAAA,sBAAAA,CASS,QAAA,EAAA;AAPN,gBAAA,GAAA,EAAK,MAAA,CAAO,KAAA;gBACb,IAAA,EAAK,QAAA;gBACL,KAAA,EAAM,oBAAA;AACL,gBAAA,OAAA,EAAK,CAAA,MAAA,KAAE,MAAA,CAAA,IAAA,CAAI,CAAA,EAAI,OAAO,KAAK;eAAA,EAAA;AAEe,gBAAA,OAAA,MAAA,CAAO,KAAA,KAAK,QAAA,IAAAD,aAAAA,EAAA,EAAvDK,gBAAwEC,2BAAAA,CAAxD,MAAA,CAAO,KAAK,CAAA,EAAA,EAAA,GAAA,EAAA,CAAA,EAAA,CAAA,KAAAN,eAAA,EAC5BC,sBAAAA;AAAsC,kBAAA,MAAA;AAAA,kBAAA,UAAA;AAAAc,kBAAAA,mBAAAA,CAAtB,OAAO,KAAK,CAAA;AAAA,kBAAA;;AAAA,iBAAA;AAAA,eAAA,EAAA,GAAAU,WAAA,CAAA;;;;;;AAGrB,QAAA,MAAA,CAAA,OAAO,MAAA,IAAAzB,aAAAA,EAAA,EAAlBC,sBAAAA,CAWM,OAXN,UAAA,EAWM;AAAAD,WAAAA,aAAAA,CAAA,IAAA,CAAA,EAVJC,sBAAAA;AASSe,YAAAA,YAAAA;AAAA,YAAA,IAAA;YAAAC,cAAAA,CARU,MAAA,CAAA,MAAA,EAAM,CAAhB,MAAA,KAAM;AADfhB,cAAAA,OAAAA,aAAAA,EAAAA,EAAAA,sBAAAA,CASS,QAAA,EAAA;AAPN,gBAAA,GAAA,EAAK,MAAA,CAAO,KAAA;gBACb,IAAA,EAAK,QAAA;gBACL,KAAA,EAAM,oBAAA;AACL,gBAAA,OAAA,EAAK,CAAA,MAAA,KAAE,MAAA,CAAA,IAAA,CAAI,CAAA,EAAI,OAAO,KAAK;eAAA,EAAA;AAEe,gBAAA,OAAA,MAAA,CAAO,KAAA,KAAK,QAAA,IAAAD,aAAAA,EAAA,EAAvDK,gBAAwEC,2BAAAA,CAAxD,MAAA,CAAO,KAAK,CAAA,EAAA,EAAA,GAAA,EAAA,CAAA,EAAA,CAAA,KAAAN,eAAA,EAC5BC,sBAAAA;AAAsC,kBAAA,MAAA;AAAA,kBAAA,UAAA;AAAAc,kBAAAA,mBAAAA,CAAtB,OAAO,KAAK,CAAA;AAAA,kBAAA;;AAAA,iBAAA;AAAA,eAAA,EAAA,GAAA,UAAA,CAAA;;;;;;;;;;;;;ACtFEW,4BAAA,CAAY,q7IAAq7I,CAAA;ACqBz+I,IAAM,0BAAA,0BACG,yBAAyB,CAAA;AAE3B,IAAM,0BAAA,GAA6B,MACxCC,UAAA,CAAO,0BAAA,EAA4B,EAAkC,CAAA;AAEhE,IAAM,2BAA2BC,mBAAA,CAAgB;AAAA,EACtD,IAAA,EAAM,0BAAA;AAAA,EACN,KAAA,EAAO;AAAA,IACL,YAAA,EAAc,EAAE,IAAA,EAAM,QAAA,EAAgE;AAAA,IACtF,eAAe,EAAE,IAAA,EAAM,CAAC,MAAA,EAAQ,KAAK,CAAA,EAA2C;AAAA,IAChF,eAAe,EAAE,IAAA,EAAM,CAAC,MAAA,EAAQ,KAAK,CAAA;AAA2C,GAClF;AAAA,EACA,KAAA,CAAM,KAAA,EAAO,EAAE,KAAA,EAAM,EAAG;AACtB,IAAA,MAAM,OAAA,GAAUnB,aAAS,OAAO;AAAA,MAC9B,cAAc,KAAA,CAAM,YAAA;AAAA,MACpB,eAAe,KAAA,CAAM,aAAA;AAAA,MACrB,eAAe,KAAA,CAAM;AAAA,KACvB,CAAE,CAAA;AACF,IAAAoB,WAAA,CAAQ,4BAA4B,OAAkD,CAAA;AACtF,IAAA,OAAO,MAAM,MAAM,OAAA,IAAU;AAAA,EAC/B;AACF,CAAC;;;ACnBM,SAAS,gBAAgB,MAAA,EAIF;AAC5B,EAAA,MAAM,UAAU,0BAAA,EAA2B;AAC3C,EAAA,MAAM,cAAcC,yBAAA,EAAe;AACnC,EAAA,MAAM,YAAYC,kCAAA,EAAsB;AAExC,EAAA,MAAM,mBAAA,GAAsB,CAAC,QAAA,KAA4B;AACvD,IAAA,IAAI,QAAA,CAAS,MAAM,IAAA,EAAM;AACvB,MAAA,IAAI,OAAO,QAAA,CAAS,IAAA,CAAK,IAAA,KAAS,QAAA,EAAU;AAC1C,QAAA,OAAOb,MAAE,KAAA,EAAO;AAAA,UACd,KAAA,EAAO,EAAE,WAAA,EAAa,KAAA,EAAM;AAAA,UAC5B,KAAA,EAAO,EAAA;AAAA,UACP,MAAA,EAAQ,EAAA;AAAA,UACR,GAAA,EAAK,SAAS,IAAA,CAAK;AAAA,SACpB,CAAA;AAAA,MACH;AACA,MAAA,OAAO,SAAS,IAAA,CAAK,IAAA;AAAA,IACvB;AAEA,IAAA,MAAM,MAAA,GAASc,2BAAgB,WAAA,CAAY,QAAA,CAAS,MAAM,EAAE,eAAA,EAAiB,OAAO,CAAA;AACpF,IAAA,OAAO,WAAA,CAAY,cAAA,CAAe,MAAA,IAAU,EAAE,CAAA;AAAA,EAChD,CAAA;AAEA,EAAA,OAAOvB,aAAS,MAAM;AACpB,IAAA,MAAM,aAAA,GAAgB,MAAA,CAAO,aAAA,IAAiB,OAAA,CAAQ,aAAA;AACtD,IAAA,MAAM,aAAA,GAAgB,MAAA,CAAO,aAAA,IAAiB,OAAA,CAAQ,aAAA;AACtD,IAAA,MAAM,YAAA,GAAe,MAAA,CAAO,YAAA,IAAgB,OAAA,CAAQ,YAAA;AAEpD,IAAA,MAAM,cAAA,GAAiB,CACrB,QAAA,EACA,YAAA,GAAgC,EAAC,KACX;AACtB,MAAA,MAAM,OAAO,QAAA,EAAU,IAAA;AAEvB,MAAA,IAAI,CAAC,IAAA,EAAM;AACT,QAAA,OAAO,IAAA;AAAA,MACT;AAEA,MAAA,IAAI,QAAA;AAEJ,MAAA,IAAIwB,qBAAA,CAAS,QAAA,CAAS,IAAI,CAAA,EAAG;AAC3B,QAAA,QAAA,GAAA,CAAY,KAAK,UAAA,IAAc,EAAC,EAC7B,GAAA,CAAI,CAAC,SAAA,KAAc,cAAA,CAAe,SAAA,EAA4B,CAAC,GAAG,YAAA,EAAc,QAAQ,CAAC,CAAC,CAAA,CAC1F,OAAO,OAAO,CAAA;AAAA,MACnB;AAEA,MAAA,MAAM,OAAA,GAAU,CAAC,GAAG,YAAA,CAAa,GAAA,CAAI,CAAC,MAAA,KAAW,MAAA,CAAO,GAAG,CAAA,EAAG,QAAA,CAAS,GAAG,CAAA;AAC1E,MAAA,MAAM,GAAA,GAAM,OAAA,CAAQ,IAAA,CAAK,GAAG,CAAA;AAE5B,MAAA,MAAM,kBAAkB,aAAA,GACpBD,0BAAA,CAAgB,gBAAA,CAAiB,IAAA,EAAM,aAAa,CAAA,GACpD,IAAA;AACJ,MAAA,MAAM,kBAAkB,aAAA,GACpBA,0BAAA,CAAgB,gBAAA,CAAiB,IAAA,EAAM,aAAa,CAAA,GACpD,KAAA;AACJ,MAAA,MAAM,YAAA,GAAe,YAAA,GAAe,YAAA,CAAa,QAAQ,CAAA,GAAI,KAAA;AAC7D,MAAA,MAAM,cAAA,GAAiB,SAAS,IAAA,EAAM,QAAA;AACtC,MAAA,MAAM,gBAAgB,eAAA,IAAmB,CAAC,eAAA,IAAmB,CAAC,gBAAgB,CAAC,cAAA;AAE/E,MAAA,IAAI,CAAC,aAAA,IAAiB,CAAC,QAAA,EAAU,MAAA,EAAQ;AACvC,QAAA,OAAO,IAAA;AAAA,MACT;AAEA,MAAA,OAAO;AAAA,QACL,GAAA;AAAA,QACA,KAAA,EAAO,QAAA,CAAS,IAAA,EAAM,KAAA,IAAS,QAAA,CAAS,GAAA;AAAA,QACxC,KAAA,EAAO,GAAA;AAAA,QACP,OAAA;AAAA,QACA,IAAA,EAAM,oBAAoB,QAAQ,CAAA;AAAA,QAClC,QAAA;AAAA,QACA,UAAU,CAAC,aAAA;AAAA,QACX,QAAA,EAAU,YAAA,CAAa,CAAC,CAAA,EAAG,QAAQ,QAAA,CAAS,IAAA;AAAA,QAC5C,MAAA,EAAQ,CAAC,YAAA,EAAc;AAAA,OACzB;AAAA,IACF,CAAA;AAEA,IAAA,OAAO,CAAC,GAAG,SAAA,CAAU,MAAM,KAAA,CAAM,CAAC,EAAE,OAAA,EAAS,CAAA,CAC1C,GAAA,CAAI,CAAC,SAAA,KAAc,cAAA,CAAe,SAA0B,CAAC,CAAA,CAC7D,OAAO,OAAO,CAAA;AAAA,EACnB,CAAC,CAAA;AACH;AC3GwCN,4BAAAA,CAAY,ooCAAooC,CAAA;ACiBxrC,IAAM,uBAAuBE,mBAAAA,CAAgB;EAC3C,IAAA,EAAM,kBAAA;EACN,KAAA,EAAO;IACL,KAAA,EAAO,EAAE,MAAM,KAAA,EAAuC;IACtD,MAAA,EAAQ,EAAE,MAAM,MAAA,EAAuE;AACvF,IAAA,aAAA,EAAe,EAAE,IAAA,EAAM,CAAC,MAAA,EAAQ,KAAK,CAAA,EAA2C;AAChF,IAAA,aAAA,EAAe,EAAE,IAAA,EAAM,CAAC,MAAA,EAAQ,KAAK,CAAA,EAA2C;AAChF,IAAA,QAAA,EAAU,EAAE,IAAA,EAAM,OAAA,EAAS,OAAA,EAAS,KAAA,EAAM;AAC1C,IAAA,QAAA,EAAU,EAAE,IAAA,EAAM,OAAA,EAAS,OAAA,EAAS,KAAA,EAAM;IAC1C,KAAA,EAAO,EAAE,MAAM,MAAA,EAAkC;IACjD,aAAA,EAAe,EAAE,MAAM,QAAA;AACzB,GAAA;AACA,EAAA,KAAA,EAAO,CAAC,QAAQ,CAAA;EAChB,KAAA,CAAM,KAAA,EAAO,EAAE,IAAA,EAAK,EAAG;AACrB,IAAA,MAAM,EAAE,YAAA,EAAa,GAAI,0BAAA,EAA2B;AACpD,IAAA,MAAM,WAAW,eAAA,CAAgB;AAC/B,MAAA,IAAI,aAAA,GAAgB;AAClB,QAAA,OAAO,KAAA,CAAM,aAAA;AACf,MAAA,CAAA;AACA,MAAA,IAAI,aAAA,GAAgB;AAClB,QAAA,OAAO,KAAA,CAAM,aAAA;AACf,MAAA,CAAA;AACA,MAAA;KACD,CAAA;AAED,IAAA,MAAM,SAAA,GAAY,SAAS,MAAM;AAC/B,MAAA,IAAI,OAAO,KAAA,CAAM,KAAA,KAAU,QAAA,EAAU;AACnC,QAAA,OAAO,KAAA,CAAM,KAAA;AACf,MAAA;AACA,MAAA,OAAO,KAAA,CAAM,KAAA,EAAO,IAAA,CAAK,GAAG,CAAA;IAC9B,CAAC,CAAA;AAED,IAAA,MAAM,UAAA,GAAa,CAAC,IAAA,KAA0B;AAC5C,MAAA,IAAI,CAAC,IAAA,EAAM;AACT,QAAA,OAAO,MAAA;AACT,MAAA;AACA,MAAA,IAAI,OAAO,SAAS,QAAA,EAAU;AAC5B,QAAA,OAAOV,KAAAA,CAAE,KAAA,EAAO,EAAE,KAAA,EAAO,EAAE,WAAA,EAAa,KAAA,EAAM,EAAG,KAAA,EAAO,EAAA,EAAI,MAAA,EAAQ,EAAA,EAAI,GAAA,EAAK,MAAM,CAAA;AACrF,MAAA;AACA,MAAA,OAAO,IAAA;AACT,IAAA,CAAA;AAEA,IAAA,OAAO,MACLA,KAAAA;AACE,MAAA,sBAAA;AACA,MAAA;AACE,QAAA,KAAA,EAAO,CAAA,sCAAA,EAAyC,KAAA,CAAM,QAAA,GAAW,OAAA,GAAU,EAAE,CAAA,CAAA;AAC7E,QAAA,KAAA,EAAO,KAAA,CAAM,KAAA;AACb,QAAA,QAAA,EAAU,KAAA,CAAM,QAAA;AAChB,QAAA,QAAA,EAAU,QAAA,CAAS,KAAA;AACnB,QAAA,KAAA,EAAO,SAAA,CAAU,KAAA;AACjB,QAAA,KAAA,EAAO,KAAA,CAAM,QAAA;AACb,QAAA,WAAA,EAAa,KAAA,CAAM,MAAA,EAAQ,WAAA,IAAegB,SAAAA,CAAK,EAAE,iBAAiB,CAAA;AAClE,QAAA,aAAA,EAAe,KAAA,CAAM,aAAA;QACrB,QAAA,EAAU,CAAC,OAA6B,IAAA,KAAsB;AAC5D,UAAA,IAAA,CAAK,QAAA,EAAU,MAAM,OAA+B,CAAA;AACtD,QAAA;AACF,OAAA;AACA,MAAA;QACE,QAAA,EAAU,CAAC,EAAE,MAAA,EAAO,KAA+B;AACjD,UAAA,IAAI,CAAC,QAAQ,OAAA,EAAS;AACpB,YAAA,OAAOhB,KAAAA;AACL,cAAA,cAAA;AACA,cAAA;gBACE,KAAA,EAAO,+BAAA;gBACP,KAAA,EAAO,OAAA;AACP,gBAAA,QAAA,EAAU,CAAC,KAAA,CAAM,QAAA;AACjB,gBAAA,UAAA,EAAY,gBAAA,EAAiB;gBAC7B,OAAA,EAAS,MAAM,IAAA,CAAK,QAAA,EAAU,MAAS;AACzC,eAAA;cACA,MAAM,KAAA,CAAM,QAAQ,eAAA,IAAmB;AACzC,aAAA;AACF,UAAA;AAEA,UAAA,MAAM,WAAW,UAAA,CAAW,MAAA,CAAO,QAAA,EAAU,IAAA,IAAQ,QAAQ,IAAI,CAAA;AACjE,UAAA,MAAM,SAAA,GAAY,MAAA,CAAO,QAAA,EAAU,KAAA,GAC/B,CAAA,EAAG,MAAA,CAAO,QAAA,EAAU,KAAK,CAAA,CAAA,EAAI,MAAA,CAAO,MAAA,GAAS,EAAA,GAAK,GAAG,CAAA,CAAA,CAAA,GACrD,IAAA;AAEJ,UAAA,OAAOA,KAAAA,CAAE,kBAAA,EAAW,EAAC,EAAG;AACtB,YAAA,OAAA,EAAS,MACPA,KAAAA;AACE,cAAA,cAAA;AACA,cAAA;gBACE,KAAA,EAAO,+BAAA;gBACP,UAAA,EAAY,QAAA;AACZ,gBAAA,QAAA,EAAU,CAAC,KAAA,CAAM,QAAA;gBACjB,OAAA,EAAS,MAAM,IAAA,CAAK,QAAA,EAAU,MAAS;AACzC,eAAA;cACA,MAAM;AACJA,gBAAAA,KAAAA,CAAE,KAAA,EAAO,EAAE,KAAA,EAAO,sCAAA,IAA0C,SAAS,CAAA;AACrE,gBAAA,CAAC,OAAO,MAAA,GACJA,KAAAA;AACE,kBAAA,KAAA;AACA,kBAAA,EAAE,OAAO,gDAAA,EAAiD;kBAC1D,MAAA,CAAO;iBACT,GACA;AACN;AACF,aAAA;AACF,YAAA,OAAA,EAAS,MACPA,KAAAA,CAAE,KAAA,EAAO,EAAE,KAAA,EAAO,qCAAoC,EAAG;AACvD,cAAA,QAAA;AACAA,cAAAA,KAAAA,CAAE,KAAA,EAAO,EAAE,KAAA,EAAO,sCAAA,IAA0C,SAAS,CAAA;AACrEA,cAAAA,KAAAA;AACE,gBAAA,KAAA;AACA,gBAAA,EAAE,OAAO,oCAAA,EAAqC;AAC9C,gBAAA,MAAA,CAAO,OAAA,CAAQ,KAAA,CAAM,CAAC,CAAA,CAAE,KAAK,GAAG;AAClC;aACD;WACJ,CAAA;AACH,QAAA;AACF;AACF,KAAA;AACJ,EAAA;AACF,CAAC,CAAA;AAEA,oBAAA,CAA6E,SAAA,GAC5E,8BAAA;AAEF,IAAKiB,WAAAA,GAAa,oBAAA;;ACjIX,IAAM,WAAA,GAAcC,mBACxB,MAAA,CAAO;AAAA,EACN,KAAA,EAAOA,kBAAA,CAAE,MAAA,EAAO,CAAE,QAAA;AACpB,CAAC,EACA,QAAA,EAAS;AAEL,IAAM,cAAA,GAAiBA,mBAAE,MAAA,CAAO;AAAA,EACrC,IAAA,EAAMA,kBAAA,CAAE,OAAA,CAAQ,UAAU,CAAA;AAAA,EAC1B,OAAA,EAASA,kBAAA,CAAE,GAAA,EAAI,CAAE,QAAA,EAAS;AAAA,EAC1B,MAAA,EAAQA,kBAAA,CAAE,GAAA,EAAI,CAAE,QAAA,EAAS;AAAA,EACzB,KAAA,EAAO;AACT,CAAC,CAAA;AAEM,IAAM,SAAA,GAAYA,mBAAE,MAAA,CAAO;AAAA,EAChC,IAAA,EAAMA,kBAAA,CAAE,OAAA,CAAQ,KAAK,CAAA;AAAA,EACrB,SAASA,kBAAA,CAAE,KAAA,CAAMA,mBAAE,MAAA,EAAQ,EAAE,QAAA,EAAS;AAAA,EACtC,KAAA,EAAO;AACT,CAAC,CAAA;AAEM,IAAM,gBAAA,GAAmBA,mBAAE,MAAA,CAAO;AAAA,EACvC,IAAA,EAAMA,kBAAA,CAAE,OAAA,CAAQ,YAAY,CAAA;AAAA,EAC5B,OAAA,EAASA,kBAAA,CAAE,MAAA,EAAO,CAAE,QAAA,EAAS;AAAA,EAC7B,KAAA,EAAO;AACT,CAAC,CAAA;AAEM,IAAM,cAAA,GAAiBA,mBAAE,MAAA,CAAO;AAAA,EACrC,IAAA,EAAMA,kBAAA,CAAE,OAAA,CAAQ,UAAU,CAAA;AAAA,EAC1B,OAAA,EAASA,kBAAA,CAAE,MAAA,EAAO,CAAE,QAAA,EAAS;AAAA,EAC7B,KAAA,EAAO;AACT,CAAC,CAAA;;;ACjBgBC;AAAA,CAAV,CAAUA,eAAAA,KAAV;AAIE,EAAA,SAAS,WAAW,KAAA,EAAyC;AAClE,IAAA,OAAO,cAAA,CAAe,SAAA,CAAU,KAAK,CAAA,CAAE,OAAA;AAAA,EACzC;AAFO,EAAAA,eAAAA,CAAS,UAAA,GAAA,UAAA;AAOT,EAAA,SAAS,MAAM,KAAA,EAAoC;AACxD,IAAA,OAAO,SAAA,CAAU,SAAA,CAAU,KAAK,CAAA,CAAE,OAAA;AAAA,EACpC;AAFO,EAAAA,eAAAA,CAAS,KAAA,GAAA,KAAA;AAOT,EAAA,SAAS,aAAa,KAAA,EAA2C;AACtE,IAAA,OAAO,gBAAA,CAAiB,SAAA,CAAU,KAAK,CAAA,CAAE,OAAA;AAAA,EAC3C;AAFO,EAAAA,eAAAA,CAAS,YAAA,GAAA,YAAA;AAOT,EAAA,SAAS,WAAW,KAAA,EAAyC;AAClE,IAAA,OAAO,cAAA,CAAe,SAAA,CAAU,KAAK,CAAA,CAAE,OAAA;AAAA,EACzC;AAFO,EAAAA,eAAAA,CAAS,UAAA,GAAA,UAAA;AAOT,EAAA,SAAS,gBAAgB,KAAA,EAA4C;AAC1E,IAAA,OAAO,UAAA,CAAW,KAAK,CAAA,IAAK,KAAA,CAAM,KAAK,CAAA;AAAA,EACzC;AAFO,EAAAA,eAAAA,CAAS,eAAA,GAAA,eAAA;AAOT,EAAA,SAAS,YAAY,KAAA,EAAiC;AAC3D,IAAA,OAAO,UAAA,CAAW,KAAK,CAAA,IAAK,KAAA,CAAM,KAAK,KAAK,YAAA,CAAa,KAAK,CAAA,IAAK,UAAA,CAAW,KAAK,CAAA;AAAA,EACrF;AAFO,EAAAA,eAAAA,CAAS,WAAA,GAAA,WAAA;AAUT,EAAA,UAAU,QAAA,CACf,OACA,OAAA,EAKmE;AACnE,IAAA,MAAM;AAAA,MACJ,YAAA,GAAe,CAAC,KAAA,EAAO,UAAA,EAAY,cAAc,UAAU,CAAA;AAAA,MAC3D,IAAA,GAAO,EAAA;AAAA,MACP,UAAU;AAAC,KACb,GAAI,WAAW,EAAC;AAEhB,IAAA,IAAIC,sBAAA,CAAc,KAAK,CAAA,EAAG;AACxB,MAAA,IAAI,MAAM,KAAK,CAAA,IAAK,YAAA,CAAa,QAAA,CAAS,KAAK,CAAA,EAAG;AAChD,QAAA,MAAM,EAAE,KAAA,EAAO,IAAA,EAAM,OAAA,EAAQ;AAC7B,QAAA;AAAA,MACF;AAEA,MAAA,IAAI,WAAW,KAAK,CAAA,IAAK,YAAA,CAAa,QAAA,CAAS,UAAU,CAAA,EAAG;AAC1D,QAAA,MAAM,EAAE,KAAA,EAAO,IAAA,EAAM,OAAA,EAAQ;AAC7B,QAAA;AAAA,MACF;AAEA,MAAA,IAAI,aAAa,KAAK,CAAA,IAAK,YAAA,CAAa,QAAA,CAAS,YAAY,CAAA,EAAG;AAC9D,QAAA,MAAM,EAAE,KAAA,EAAO,IAAA,EAAM,OAAA,EAAQ;AAC7B,QAAA;AAAA,MACF;AAEA,MAAA,IAAI,WAAW,KAAK,CAAA,IAAK,YAAA,CAAa,QAAA,CAAS,UAAU,CAAA,EAAG;AAC1D,QAAA,MAAM,EAAE,KAAA,EAAO,IAAA,EAAM,OAAA,EAAQ;AAC7B,QAAA;AAAA,MACF;AAEA,MAAA,KAAA,MAAW,CAAC,IAAA,EAAM,MAAM,KAAK,MAAA,CAAO,OAAA,CAAQ,KAAK,CAAA,EAAG;AAClD,QAAA,OAAO,SAAS,MAAA,EAAQ;AAAA,UACtB,GAAG,OAAA;AAAA,UACH,MAAM,IAAA,GAAO,CAAA,EAAG,IAAI,CAAA,CAAA,EAAI,IAAI,CAAA,CAAA,GAAK,IAAA;AAAA,UACjC,OAAA,EAAS,CAAC,GAAG,OAAA,EAAS,IAAI;AAAA,SAC3B,CAAA;AAAA,MACH;AACA,MAAA;AAAA,IACF;AAEA,IAAA,IAAIC,gBAAA,CAAQ,KAAK,CAAA,EAAG;AAClB,MAAA,KAAA,MAAW,CAAC,IAAA,EAAM,MAAM,CAAA,IAAK,KAAA,CAAM,SAAQ,EAAG;AAC5C,QAAA,OAAO,SAAS,MAAA,EAAQ;AAAA,UACtB,GAAG,OAAA;AAAA,UACH,IAAA,EAAM,OAAO,CAAA,EAAG,IAAI,IAAI,IAAI,CAAA,CAAA,CAAA,GAAM,IAAI,IAAI,CAAA,CAAA,CAAA;AAAA,UAC1C,SAAS,CAAC,GAAG,OAAA,EAAS,CAAA,CAAA,EAAI,IAAI,CAAA,CAAA,CAAG;AAAA,SAClC,CAAA;AAAA,MACH;AACA,MAAA;AAAA,IACF;AAEA,IAAA;AAAA,EACF;AAzDO,EAAAF,eAAAA,CAAU,QAAA,GAAA,QAAA;AAgEV,EAAA,SAAS,oBAAoB,KAAA,EAA2B;AAE7D,IAAA,MAAM,UAAA,GAAa,qBAAA;AACnB,IAAA,OAAOG,aAAA,CAAK,MAAM,OAAA,EAAS,KAAA,CAAM,UAAU,CAAA,IAAK,EAAE,CAAA,CAAE,GAAA;AAAA,MAAI,CAAC,aACvD,QAAA,CAAS,KAAA,CAAM,GAAG,EAAE,CAAA,CAAE,MAAM,GAAG;AAAA,KACjC;AAAA,EACF;AANO,EAAAH,eAAAA,CAAS,mBAAA,GAAA,mBAAA;AAaT,EAAA,SAAS,wBAAwB,KAAA,EAAoD;AAC1F,IAAA,IAAI,OAAO,MAAA,EAAQ;AACjB,MAAA,OAAO,KAAA,CAAM,MAAA;AAAA,IACf;AAEA,IAAA,IAAI,OAAO,KAAA,CAAM,OAAA,KAAY,QAAA,EAAU;AACrC,MAAA,OAAO;AAAA,QACL,IAAA,EAAM;AAAA,OACR;AAAA,IACF;AAEA,IAAA,IAAI,OAAO,KAAA,CAAM,OAAA,KAAY,QAAA,EAAU;AACrC,MAAA,OAAO;AAAA,QACL,IAAA,EAAM;AAAA,OACR;AAAA,IACF;AAEA,IAAA,IAAI,OAAO,KAAA,CAAM,OAAA,KAAY,SAAA,EAAW;AACtC,MAAA,OAAO;AAAA,QACL,IAAA,EAAM;AAAA,OACR;AAAA,IACF;AAEA,IAAA,IAAII,iBAAA,CAAS,KAAA,CAAM,OAAO,CAAA,EAAG;AAC3B,MAAA,OAAO;AAAA,QACL,IAAA,EAAM;AAAA,OACR;AAAA,IACF;AACA,IAAA,OAAO,MAAA;AAAA,EACT;AA7BO,EAAAJ,eAAAA,CAAS,uBAAA,GAAA,uBAAA;AAqCT,EAAA,SAAS,eAAA,CAAgB,QAAa,KAAA,EAAuC;AAClF,IAAA,IAAIC,sBAAA,CAAc,MAAM,CAAA,EAAG;AACzB,MAAA,IAAI,UAAA,CAAW,MAAM,CAAA,EAAG;AACtB,QAAA,OAAO,wBAAwB,MAAM,CAAA;AAAA,MACvC;AAEA,MAAA,IAAI,KAAA,CAAM,MAAM,CAAA,EAAG;AACjB,QAAA,MAAM,QAAA,GAAW,KAAA,CAAM,SAAA,CAAU,YAAA,CAAa,QAAQ,OAAO,CAAA;AAC7D,QAAA,MAAM,SAAS,QAAA,EAAU,IAAA,GAAON,2BAAgB,WAAA,CAAY,QAAA,EAAU,IAAI,CAAA,GAAI,MAAA;AAE9E,QAAA,OAAO,MAAA;AAAA,MACT;AAEA,MAAA,IAAI,UAAA,CAAW,MAAM,CAAA,EAAG;AACtB,QAAA,OAAO,EAAE,MAAM,QAAA,EAAS;AAAA,MAC1B;AAEA,MAAA,OAAO;AAAA,QACL,IAAA,EAAM,QAAA;AAAA,QACN,UAAA,EAAY,OAAO,IAAA,CAAK,MAAM,EAAE,MAAA,CAAO,CAAC,KAAK,GAAA,KAAQ;AACnD,UAAA,MAAM,MAAA,GAAS,eAAA,CAAiB,MAAA,CAAe,GAAG,GAAG,KAAK,CAAA;AAC1D,UAAA,IAAI,MAAA,EAAQ;AACV,YAAA,GAAA,CAAI,GAAG,CAAA,GAAI,MAAA;AAAA,UACb;AACA,UAAA,OAAO,GAAA;AAAA,QACT,CAAA,EAAG,EAAiC;AAAA,OACtC;AAAA,IACF;AAAA,EACF;AA5BO,EAAAK,eAAAA,CAAS,eAAA,GAAA,eAAA;AAAA,CAAA,EAnKDA,sBAAA,KAAAA,sBAAA,GAAA,EAAA,CAAA,CAAA;AC0BV,SAAS,wBAAwB,KAAA,EAAiB;AACvD,EAAA,IAAII,iBAAAA,CAAS,KAAK,CAAA,EAAG;AACnB,IAAA,IAAI,0BAAA,CAA2B,KAAK,CAAA,EAAG;AACrC,MAAA,OAAO,wBAAwB,KAAK,CAAA;AAAA,IACtC;AAEA,IAAA,OAAO,MAAA,CAAO,WAAA;AAAA,MACZ,MAAA,CAAO,QAAQ,KAAK,CAAA,CAAE,IAAI,CAAC,CAAC,GAAA,EAAKC,MAAK,CAAA,KAAqB;AAAA,QACzD,GAAA;AAAA,QACA,wBAAwBA,MAAK;AAAA,OAC9B;AAAA,KACH;AAAA,EACF;AAEA,EAAA,IAAI,KAAA,CAAM,OAAA,CAAQ,KAAK,CAAA,EAAG;AACxB,IAAA,OAAO,KAAA,CAAM,IAAI,uBAAuB,CAAA;AAAA,EAC1C;AAEA,EAAA,OAAO,KAAA;AACT;AAgCO,SAAS,sBAAsB,KAAA,EAAiB;AACrD,EAAA,IAAID,iBAAAA,CAAS,KAAK,CAAA,EAAG;AACnB,IAAA,IAAI,uBAAA,CAAwB,KAAK,CAAA,EAAG;AAClC,MAAA,OAAO,wBAAwB,KAAK,CAAA;AAAA,IACtC;AAEA,IAAA,OAAO,MAAA,CAAO,WAAA;AAAA,MACZ,MAAA,CAAO,QAAQ,KAAK,CAAA,CAAE,IAAI,CAAC,CAAC,GAAA,EAAKC,MAAK,CAAA,KAAqB;AAAA,QACzD,GAAA;AAAA,QACA,sBAAsBA,MAAK;AAAA,OAC5B;AAAA,KACH;AAAA,EACF;AAEA,EAAA,IAAI,KAAA,CAAM,OAAA,CAAQ,KAAK,CAAA,EAAG;AACxB,IAAA,OAAO,KAAA,CAAM,IAAI,qBAAqB,CAAA;AAAA,EACxC;AAEA,EAAA,OAAO,KAAA;AACT;AAEO,SAAS,2BAA2B,KAAA,EAA+C;AACxF,EAAA,OACED,iBAAAA,CAAS,KAAK,CAAA,IACd,MAAA,CAAO,KAAK,KAAK,CAAA,CAAE,MAAA,KAAW,CAAA,IAC7B,KAAA,CAAc,IAAA,KAAS,KAAA,IACxB,OAAQ,MAAc,OAAA,KAAY,QAAA;AAEtC;AAEO,SAAS,wBAAwB,KAAA,EAA4C;AAClF,EAAA,OACEA,iBAAAA,CAAS,KAAK,CAAA,IACd,MAAA,CAAO,KAAK,KAAK,CAAA,CAAE,MAAA,KAAW,CAAA,IAC7B,MAAc,IAAA,KAAS,KAAA,IACxB,KAAA,CAAM,OAAA,CAAS,MAAc,OAAO,CAAA;AAExC;AAEO,SAAS,wBAAwB,KAAA,EAAiC;AACvE,EAAA,MAAM,OAAA,GAAU,KAAA,CAAM,OAAA,CAAQ,KAAA,CAAM,GAAG,CAAA;AAEvC,EAAA,IAAI,OAAA,CAAQ,CAAC,CAAA,KAAM,SAAA,EAAW;AAC5B,IAAA,OAAO;AAAA,MACL,IAAA,EAAM,KAAA;AAAA,MACN,OAAA,EAAS,CAAC,CAAA,EAAG,OAAA,CAAQ,CAAC,CAAC,CAAA,CAAA,EAAI,QAAQ,CAAC,CAAC,IAAI,GAAI,OAAA,CAAQ,SAAS,CAAA,GAAI,OAAA,CAAQ,MAAM,CAAC,CAAA,GAAI,EAAG;AAAA,KAC1F;AAAA,EACF;AAEA,EAAA,OAAO;AAAA,IACL,IAAA,EAAM,KAAA;AAAA,IACN,OAAA,EAAS;AAAA,GACX;AACF;AAEO,SAAS,wBAAwB,KAAA,EAA8B;AACpE,EAAA,OAAO;AAAA,IACL,IAAA,EAAM,KAAA;AAAA,IACN,OAAA,EAAS,KAAA,CAAM,OAAA,CAAQ,IAAA,CAAK,GAAG;AAAA,GACjC;AACF;AC/IO,SAAS,oBAAA,CACd,WACA,MAAA,EAG0B;AAC1B,EAAA,MAAM,YACJ,MAAA,EAAQ,SAAA,IAAa,SAAA,CAAU,SAAA,IAAc,UAAgC,IAAA,IAAQ,EAAA;AAEvF,EAAA,MAAM,kBAAkBb,mBAAAA,CAAgB;AAAA,IACtC,IAAA,EAAM,CAAA,MAAA,EAAU,SAAA,CAAgC,IAAA,IAAQ,UAAU,CAAA,CAAA;AAAA,IAClE,YAAA,EAAc,KAAA;AAAA,IACd,KAAA,CAAM,MAAA,EAAQ,EAAE,KAAA,EAAO,OAAM,EAAG;AAC9B,MAAA,MAAM,YAAYe,2BAAA,EAAuB;AAEzC,MAAA,OAAO,MAAM;AACX,QAAA,IAAI,CAAC,SAAA,EAAW,OAAA,GAAUC,6BAAoB,CAAA,EAAG;AAC/C,UAAA,OAAO1B,KAAAA,CAAE,SAAA,EAAW,KAAA,EAAO,KAAK,CAAA;AAAA,QAClC;AAEA,QAAA,MAAM,gBAAA,GAAmB,SAAA,CAAU,GAAA,CAAI0B,6BAAoB,CAAA;AAC3D,QAAA,MAAMC,UAAA,GAAW,gBAAA,CAAiB,yBAAA,CAA0B,SAAS,CAAA;AAErE,QAAA,IAAIA,UAAA,EAAU,IAAA,KAASC,kCAAA,CAA0B,GAAA,EAAK;AACpD,UAAA,OAAO5B,KAAAA,CAAE,SAAA,EAAW,KAAA,EAAO,KAAK,CAAA;AAAA,QAClC;AAEA,QAAA,OAAOA,KAAAA,CAAE2B,UAAA,CAAS,QAAA,EAAuB,KAAA,EAAO,KAAK,CAAA;AAAA,MACvD,CAAA;AAAA,IACF;AAAA,GACD,CAAA;AAED,EAAA,eAAA,CAAgB,SAAA,GAAY,SAAA;AAE5B,EAAA,OAAO,eAAA;AACT;AC1CO,SAAS,YAAA,CAAkC,WAAc,SAAA,EAA0B;AACxF,EAAA,OAAO,SAAA;AACT;AAEO,SAAS,YAAA,CAAa,QAA8B,QAAA,EAAsB;AAC/E,EAAA,OAAOE,wBAAA,CAAqB;AAAA,IAC1B,MAAA;AAAA,IACA,kBAAkB,QAAA,IAAY;AAAA,MAC5B,IAAA,EAAM,YAAA;AAAA,MACN,QAAQ,MAAM7B,KAAAA,CAAE,OAAO,EAAE,KAAA,EAAO,eAAe;AAAA;AACjD,GACD,CAAA;AACH;ACPA,IAAI,kBAAA,GAAqB,CAAC,GAAA,KAAoC;AAC5D,EAAA,IAAI,GAAA,GAAkB,IAAA;AACtB,EAAA,OAAO;AAAA,IACL,OAAO,QAAA,EAAiB;AACtB,MAAA,IAAI,GAAA,EAAK;AACP,QAAA,GAAA,CAAI,OAAA,EAAQ;AAAA,MACd;AACA,MAAA,GAAA,GAAM8B,aAAA,CAAU;AAAA,QACd,QAAQ,MAAM;AAAA,OACf,CAAA;AACD,MAAA,GAAA,CAAI,MAAM,GAAG,CAAA;AAAA,IACf,CAAA;AAAA,IACA,OAAA,GAAU;AACR,MAAA,GAAA,EAAK,OAAA,EAAQ;AACb,MAAA,GAAA,GAAM,IAAA;AAAA,IACR;AAAA,GACF;AACF,CAAA;AAEO,SAAS,mBAAmB,GAAA,EAAiC;AAClE,EAAA,OAAO,mBAAmB,GAAG,CAAA;AAC/B;AAEO,SAAS,sBAAsB,UAAA,EAAiD;AACrF,EAAA,kBAAA,GAAqB,UAAA;AACvB;;;AC5BO,IAAM,sBAAA,GAAyB,qBAAqB,yBAAgB;;;ACOpE,IAAM,kBAAA,GAAqB,CAAC,KAAA,KAAuD;AACxF,EAAA,IAAI,KAAA,EAAO,IAAA,KAAS,OAAA,IAAW,KAAA,EAAO,KAAA,EAAO;AAC3C,IAAA,OAAO,CAAC,MAAM,IAAA,EAAM,GAAI,mBAAmB,KAAA,CAAM,KAAK,CAAA,IAAK,EAAG,CAAA;AAAA,EAChE;AAEA,EAAA,OAAO,KAAA,EAAO,IAAA,GAAO,CAAC,KAAA,CAAM,IAAI,CAAA,GAAI,MAAA;AACtC;AAEO,IAAM,oBAAA,GAAuB,CAAC,KAAA,KAAuD;AAC1F,EAAA,MAAM,CAAC,IAAA,EAAM,GAAG,QAAQ,CAAA,GAAI,SAAS,EAAC;AAEtC,EAAA,IAAI,SAAS,OAAA,EAAS;AACpB,IAAA,OAAO,EAAE,IAAA,EAAM,OAAA,EAAS,KAAA,EAAO,oBAAA,CAAqB,QAAQ,CAAA,EAAE;AAAA,EAChE;AAEA,EAAA,OAAO,EAAE,IAAA,EAAK;AAChB;ACnBA,IAAM,mBAAmBpB,mBAAAA,CAAgB;EACvC,IAAA,EAAM,cAAA;EACN,KAAA,EAAO;IACL,KAAA,EAAO,EAAE,MAAM,MAAA,EAAyC;AACxD,IAAA,QAAA,EAAU,EAAE,IAAA,EAAM,OAAA,EAAS,OAAA,EAAS,KAAA,EAAM;AAC1C,IAAA,QAAA,EAAU,EAAE,IAAA,EAAM,OAAA,EAAS,OAAA,EAAS,KAAA,EAAM;IAC1C,KAAA,EAAO,EAAE,MAAM,MAAA,EAAkC;IACjD,QAAA,EAAU,EAAE,MAAM,QAAA;AACpB,GAAA;AACA,EAAA,KAAA,CAAM,KAAA,EAAO;AACX,IAAA,MAAM,cAAcnB,YAAAA,CAAS,MAAM,kBAAA,CAAmB,KAAA,CAAM,KAAK,CAAC,CAAA;AAClE,IAAA,MAAM,cAAcqB,yBAAAA,EAAe;AACnC,IAAA,MAAM,IAAA,GAAOrB,aAAS,MAAM,WAAA,CAAY,eAAe,KAAA,CAAM,KAAA,IAAS,EAAE,CAAC,CAAA;AACzE,IAAA,MAAM,aAAaA,YAAAA,CAAS,MAAM,KAAA,CAAM,QAAA,IAAY,MAAM,QAAQ,CAAA;AAElE,IAAA,MAAM,OAAA,GAAUA,YAAAA;AAA6B,MAAA,MAC3C,WAAA,CAAY,+BAAA,EAAgC,CAAE,GAAA,CAAI,CAAC,KAAA,KAAU;AAC3D,QAAA,MAAM8B,QAAAA,GAAU,MAAM,IAAA,KAAS,OAAA;AAC/B,QAAA,OAAO;AACL,UAAA,KAAA,EAAOrB,KAAAA,CAAE,KAAA,EAAO,EAAE,KAAA,EAAO,EAAE,OAAA,EAAS,MAAA,EAAQ,UAAA,EAAY,QAAA,EAAU,GAAA,EAAK,KAAA,EAAM,EAAE,EAAG;YAChF,KAAA,CAAM,IAAA;AACN,YAAA,WAAA,CAAY,eAAA,CAAgB,KAAK,CAAA,EAAG,KAAA,IAAS,KAAA,CAAM;WACpD,CAAA;AACD,UAAA,KAAA,EAAO,KAAA,CAAM,IAAA;AACb,UAAA,QAAA,EAAUqB,WACN,WAAA,CAAY,+BAAA,CAAgC,OAAO,CAAA,CAAE,GAAA,CAAI,CAAC,SAAA,MAAe;AACvE,YAAA,KAAA,EAAOrB,KAAAA,CAAE,KAAA,EAAO,EAAE,KAAA,EAAO,EAAE,OAAA,EAAS,MAAA,EAAQ,UAAA,EAAY,QAAA,EAAU,GAAA,EAAK,KAAA,EAAM,EAAE,EAAG;AAChF,cAAA,WAAA,CAAY,cAAA,CAAe;gBACzB,IAAA,EAAM,OAAA;gBACN,KAAA,EAAO,EAAE,IAAA,EAAM,SAAA,CAAU,IAAA;eAC1B,CAAA;AACD,cAAA,WAAA,CAAY,eAAA,CAAgB,SAAS,CAAA,EAAG,KAAA,IAAS,SAAA,CAAU;aAC5D,CAAA;AACD,YAAA,KAAA,EAAO,SAAA,CAAU;AACnB,WAAA,CAAE,IACF;AACN,SAAA;MACF,CAAC;AACH,KAAA;AAEA,IAAA,OAAO,MACLA,MAAE,mBAAA,EAAY;AACZ,MAAA,QAAA,EAAU,UAAA,CAAW,KAAA;AACrB,MAAA,OAAA,EAAS,OAAA,CAAQ,KAAA;AACjB,MAAA,KAAA,EAAO,WAAA,CAAY,KAAA;MACnB,aAAA,EAAe,MACbA,MAAE,sBAAA,EAAc;AACd,QAAA,QAAA,EAAU,UAAA,CAAW,KAAA;QACrB,KAAA,EAAO;AACL,UAAA,GAAI,WAAW,KAAA,GAAQ,EAAE,aAAA,EAAe,MAAA,KAAW,EAAC;UACpD,GAAI,KAAA,CAAM,SAAS;AACrB,SAAA;AACA,QAAA,IAAA,EAAM,IAAA,CAAK;OACZ,CAAA;AACH,MAAA,QAAA,EAAU,CAAC,KAAA,KAAoB;AAC7B,QAAA,KAAA,CAAM,QAAA,GAAW,oBAAA,CAAqB,KAAK,CAAC,CAAA;AAC9C,MAAA;KACD,CAAA;AACL,EAAA;AACF,CAAC,CAAA;AAEA,gBAAA,CAAqE,SAAA,GACpE,0BAAA;AAEF,IAAKiB,WAAAA,GAAa,gBAAA;;;;ACpEX,IAAM,kBAAA,GAAqB,qBAAqB,qBAAY;ACD5D,IAAM,iCAAiCc,wBAAA,CAA0B;AAAA,EACtE,OAAO,GAAA,EAAK;AACV,IAAA,MAAM,cAAA,GAAiB,GAAA,CAAI,GAAA,CAAIC,2BAAc,CAAA;AAE7C,IAAA,MAAM,WAAA,GAAc,CAAC,MAAA,KAAkC;AACrD,MAAA,IAAIjB,qBAAAA,CAAS,qBAAA,CAAsB,MAAA,CAAO,GAAG,CAAA,EAAG;AAC9C,QAAA,IAAI,CAAC,MAAA,CAAO,GAAA,CAAI,IAAA,EAAM,QAAA,EAAU;AAC9B,UAAA,MAAA,CAAO,IAAI,UAAA,CAAW;AAAA,YACpB,GAAI,MAAA,CAAO,GAAA,CAAI,IAAA,IAAQ,EAAC;AAAA,YACxB,QAAA,EAAU;AAAA,WACX,CAAA;AAAA,QACH;AAAA,MACF;AAAA,IACF,CAAA;AAEA,IAAA,cAAA,CAAe,aAAA,CAAc,UAAU,WAAW,CAAA;AAClD,IAAA,cAAA,CAAe,aAAA,CAAc,aAAa,WAAW,CAAA;AAAA,EACvD;AACF,CAAC;;;ACnBM,IAAK,iBAAA,qBAAAkB,kBAAAA,KAAL;AACL,EAAAA,mBAAA,IAAA,CAAA,GAAK,IAAA;AACL,EAAAA,mBAAA,KAAA,CAAA,GAAM,KAAA;AACN,EAAAA,mBAAA,IAAA,CAAA,GAAK,IAAA;AACL,EAAAA,mBAAA,KAAA,CAAA,GAAM,KAAA;AACN,EAAAA,mBAAA,IAAA,CAAA,GAAK,IAAA;AACL,EAAAA,mBAAA,KAAA,CAAA,GAAM,KAAA;AACN,EAAAA,mBAAA,IAAA,CAAA,GAAK,IAAA;AACL,EAAAA,mBAAA,KAAA,CAAA,GAAM,KAAA;AACN,EAAAA,mBAAA,UAAA,CAAA,GAAW,UAAA;AACX,EAAAA,mBAAA,cAAA,CAAA,GAAe,cAAA;AACf,EAAAA,mBAAA,UAAA,CAAA,GAAW,UAAA;AACX,EAAAA,mBAAA,cAAA,CAAA,GAAe,cAAA;AACf,EAAAA,mBAAA,SAAA,CAAA,GAAU,SAAA;AACV,EAAAA,mBAAA,UAAA,CAAA,GAAW,UAAA;AAdD,EAAA,OAAAA,kBAAAA;AAAA,CAAA,EAAA,iBAAA,IAAA,EAAA;AAiBL,IAAM,yBAAA,GAAgD;AAAA,EAC3D,CAAC,gBAAuB;AAAA,IACtB,KAAA,EAAO,OAAA;AAAA,IACP,YAAA,EAAc;AAAA,GAChB;AAAA,EACA,CAAC,kBAAwB;AAAA,IACvB,KAAA,EAAO,WAAA;AAAA,IACP,YAAA,EAAc;AAAA,GAChB;AAAA,EACA,CAAC,gBAAuB;AAAA,IACtB,KAAA,EAAO,cAAA;AAAA,IACP,YAAA,EAAc;AAAA,GAChB;AAAA,EACA,CAAC,kBAAwB;AAAA,IACvB,KAAA,EAAO,uBAAA;AAAA,IACP,YAAA,EAAc;AAAA,GAChB;AAAA,EACA,CAAC,gBAAuB;AAAA,IACtB,KAAA,EAAO,WAAA;AAAA,IACP,YAAA,EAAc;AAAA,GAChB;AAAA,EACA,CAAC,kBAAwB;AAAA,IACvB,KAAA,EAAO,oBAAA;AAAA,IACP,YAAA,EAAc;AAAA,GAChB;AAAA,EACA,CAAC,gBAAuB;AAAA,IACtB,KAAA,EAAO,IAAA;AAAA,IACP,YAAA,EAAc;AAAA,GAChB;AAAA,EACA,CAAC,kBAAwB;AAAA,IACvB,KAAA,EAAO,QAAA;AAAA,IACP,YAAA,EAAc;AAAA,GAChB;AAAA,EACA,CAAC,4BAA6B;AAAA,IAC5B,KAAA,EAAO,UAAA;AAAA,IACP,YAAA,EAAc;AAAA,GAChB;AAAA,EACA,CAAC,oCAAiC;AAAA,IAChC,KAAA,EAAO,cAAA;AAAA,IACP,YAAA,EAAc;AAAA,GAChB;AAAA,EACA,CAAC,4BAA6B;AAAA,IAC5B,KAAA,EAAO,UAAA;AAAA,IACP,YAAA,EAAc,GAAA;AAAA,IACd,YAAA,EAAc;AAAA,GAChB;AAAA,EACA,CAAC,oCAAiC;AAAA,IAChC,KAAA,EAAO,cAAA;AAAA,IACP,YAAA,EAAc,QAAA;AAAA,IACd,YAAA,EAAc;AAAA,GAChB;AAAA,EACA,CAAC,0BAA4B;AAAA,IAC3B,KAAA,EAAO,SAAA;AAAA,IACP,YAAA,EAAc,GAAA;AAAA,IACd,YAAA,EAAc;AAAA,GAChB;AAAA,EACA,CAAC,4BAA6B;AAAA,IAC5B,KAAA,EAAO,UAAA;AAAA,IACP,YAAA,EAAc,GAAA;AAAA,IACd,YAAA,EAAc;AAAA;AAElB,CAAA;;;ACxEO,IAAM,cAAA,GAAkD;AAAA,EAC7D,IAAA,EAAM,QAAA;AAAA,EACN,kBAAkBvB,mBAAAA,CAAgB;AAAA,IAChC,IAAA,EAAM,wBAAA;AAAA,IACN,OAAO,CAAC,OAAA,EAAS,YAAY,UAAA,EAAY,QAAA,EAAU,sBAAsB,aAAa,CAAA;AAAA,IACtF,MAAM,KAAA,EAAO;AACX,MAAA,OAAO,MACL,KAAA,CAAM,kBAAA,GACFV,KAAAA,CAAE,mBAAA,EAAY;AAAA,QACZ,OAAO,KAAA,CAAM,KAAA;AAAA,QACb,UAAU,KAAA,CAAM,QAAA;AAAA,QAChB,WAAA,EAAa,KAAA,CAAM,WAAA,IAAegB,SAAAA,CAAK,EAAE,qBAAqB,CAAA;AAAA,QAC9D,QAAA,EAAU,CAAC,CAAA,KAAc,KAAA,CAAM,WAAW,CAAC;AAAA,OAC5C,CAAA,GACDhB,KAAAA,CAAE,gBAAA,EAAS;AAAA,QACT,OAAO,KAAA,CAAM,KAAA;AAAA,QACb,UAAU,KAAA,CAAM,QAAA;AAAA,QAChB,WAAA,EAAa,KAAA,CAAM,WAAA,IAAegB,SAAAA,CAAK,EAAE,qBAAqB,CAAA;AAAA,QAC9D,QAAA,EAAU,CAAC,CAAA,KAAc,KAAA,CAAM,WAAW,CAAC;AAAA,OAC5C,CAAA;AAAA,IACT;AAAA,GACD,CAAA;AAAA,EACD,aAAA,EAAe;AAAA,IACb,CAAA,IAAA,YAAwB,EAAE,IAAA,EAAM,QAAA,EAAS;AAAA,IACzC,CAAA,KAAA,aAAyB,EAAE,IAAA,EAAM,QAAA,EAAS;AAAA,IAC1C,CAAA,UAAA,kBAA8B,EAAE,IAAA,EAAM,QAAA,EAAS;AAAA,IAC/C,CAAA,cAAA,sBAAkC,EAAE,IAAA,EAAM,QAAA,EAAS;AAAA,IACnD,iBAAwB;AAAA,MACtB,IAAA,EAAM,OAAA;AAAA,MACN,KAAA,EAAO,EAAE,IAAA,EAAM,QAAA;AAAS,KAC1B;AAAA,IACA,mBAAyB;AAAA,MACvB,IAAA,EAAM,OAAA;AAAA,MACN,KAAA,EAAO,EAAE,IAAA,EAAM,QAAA;AAAS,KAC1B;AAAA,IACA,6BAA8B,IAAA;AAAA,IAC9B,qCAAkC;AAAA;AAEtC,CAAA;ACnDwCR,4BAAAA,CAAY,odAAod,CAAA;;;;;;;;;;;;;;;;;;ACaxgB,IAAA,MAAM,KAAA,GAAQ,OAAA;AAKd,IAAA,MAAM,cAAcjB,YAAAA,CAAS,MAAO,MAAM,KAAA,KAAU,MAAA,GAAS,YAAY,IAAK,CAAA;AAC9E,IAAA,MAAM,aAAA,GAAgBA,aAAS,OAAO;AACpC,MAAA,QAAA,EAAU,KAAA,CAAM,QAAA;MAChB,WAAA,EAAa,KAAA,CAAM,OAAQ,KAAA,GAAmB,IAAA;MAC9C,OAAA,EAAS,EAAE,SAAS,KAAA,EAAM;MAC1B,GAAI,KAAA,CAAM,WAAW;KACvB,CAAE,CAAA;AACF,IAAA,MAAM,OAAOA,YAAAA,CAAS,MAAM,KAAA,CAAM,WAAA,IAAe,MAAM,qBAAqB,CAAA;AAC5E,IAAA,MAAM,eAAeA,YAAAA,CAAS,MAAO,KAAA,CAAM,IAAA,GAAO,SAAS,OAAQ,CAAA;;;;;;;;;;;;;AAIjER,EAAAA,OAAAA,aAAAA,EAAAA,EAAAA,sBAAAA;AAYM,IAAA,KAAA;AAAA,IAAA;MAZD,KAAA,EAAKC,kBAAAA,CAAA,CAAC,+BAAA,EAA+B,EAAA,MAAiB,MAAA,CAAA,KAAA,CAAM,IAAA,EAAI,CAAA,CAAA;MAAK,KAAA,EAAKE,kBAAAA,CAAE,MAAA,CAAA,KAAA,CAAM,KAAK;AAAA,KAAA;;MAC1FgB,eAAAA,CAUS,MAAA,CAAA,QAAA,CAAA,EAAA;AATN,QAAA,KAAA,EAAO,OAAA,KAAA,CAAM,KAAA;AACb,QAAA,QAAA,EAAU,OAAA,KAAA,CAAM,UAAA;AAChB,QAAA,KAAA,EAAO,MAAA,CAAA,WAAA;AACP,QAAA,OAAA,EAAS,MAAA,CAAA,aAAA;AACT,QAAA,QAAA,EAAQ,OAAA,KAAA,CAAM;OAAA,EAAA;6BAEf,MAAmC;AAAnCA,UAAAA,eAAAA,CAAmC,MAAA,CAAA,UAAA,CAAA,EAAA,EAAxB,MAAA,EAAQ,MAAA,CAAA,YAAA,EAAY,EAAA,IAAA,EAAA,CAAA,EAAA,CAAA,QAAA,CAAA,CAAA;UACZ,MAAA,CAAA,IAAA,IAAApB,aAAAA,EAAA,EAAnBK,eAAAA,CAAiD,MAAA,CAAA,aAAA,CAAA,EAAA,EAAA,GAAA,EAAA,CAAA,EAAA,EAAA;AAAA,YAAA,OAAA,EAAA+C,YAAxB,MAAU;AAAAtC,cAAAA,mBAAAA;AAAP,gBAAAuC,mBAAA,CAAA,MAAA,CAAA,IAAI,CAAA;AAAA,gBAAA;;AAAA;aAAA,CAAA;;;;UAChClD,cAAAA,CAAQ,IAAA,CAAA,QAAA,SAAA;SAAA,CAAA;;;;;;;;;;;;AC3Bd,SAAS,oBAAA,CACP,YACA,WAAA,EACA;AACA,EAAA,OAAOyB,mBAAAA,CAAgB;AAAA,IACrB,IAAA,EAAM,WAAA;AAAA,IACN,KAAA,EAAO;AAAA,MACL,KAAA,EAAO,EAAE,IAAA,EAAM,MAAA,EAAO;AAAA,MACtB,QAAA,EAAU,EAAE,IAAA,EAAM,QAAA,EAA8C;AAAA,MAChE,KAAA,EAAO,EAAE,IAAA,EAAM,MAAA,EAAqC;AAAA,MACpD,WAAA,EAAa,EAAE,IAAA,EAAM,MAAA,EAAO;AAAA,MAC5B,qBAAA,EAAuB,EAAE,IAAA,EAAM,MAAA,EAAO;AAAA,MACtC,QAAA,EAAU,EAAE,IAAA,EAAM,OAAA,EAAS,SAAS,KAAA,EAAM;AAAA,MAC1C,OAAA,EAAS,EAAE,IAAA,EAAM,MAAA,EAA4C;AAAA,MAC7D,IAAA,EAAM,EAAE,IAAA,EAAM,OAAA,EAAS,SAAS,KAAA;AAAM,KACxC;AAAA,IACA,KAAA,CAAM,KAAA,EAAO,EAAE,KAAA,EAAM,EAAG;AACtB,MAAA,OAAO,MAAMV,KAAAA,CAAE,wBAAA,EAAgB,EAAE,GAAG,KAAA,EAAO,UAAA,EAAW,EAAG,MAAM,KAAA,CAAM,OAAA,IAAW,CAAA;AAAA,IAClF;AAAA,GACD,CAAA;AACH;AAEO,IAAM,cAAA,GAAiB,oBAAA,CAAqB,MAAA,EAAQ,gBAAgB;AACpE,IAAM,gBAAA,GAAmB,oBAAA,CAAqB,QAAA,EAAU,kBAAkB;AAC1E,IAAM,aAAA,GAAgB,oBAAA,CAAqB,KAAA,EAAO,eAAe;AACjE,IAAM,eAAA,GAAkB,oBAAA,CAAqB,OAAA,EAAS,iBAAiB;AACvE,IAAM,oBAAA,GAAuB,oBAAA,CAAqB,YAAA,EAAc,sBAAsB;AAEtF,IAAM,aAAaU,mBAAAA,CAAgB;AAAA,EACxC,IAAA,EAAM,YAAA;AAAA,EACN,KAAA,EAAO;AAAA,IACL,KAAA,EAAO,EAAE,IAAA,EAAM,MAAA,EAAO;AAAA,IACtB,QAAA,EAAU,EAAE,IAAA,EAAM,QAAA,EAA8C;AAAA,IAChE,UAAA,EAAY,EAAE,IAAA,EAAM,MAAA,EAAuD,UAAU,IAAA,EAAK;AAAA,IAC1F,KAAA,EAAO,EAAE,IAAA,EAAM,MAAA,EAAqC;AAAA,IACpD,WAAA,EAAa,EAAE,IAAA,EAAM,MAAA,EAAO;AAAA,IAC5B,qBAAA,EAAuB,EAAE,IAAA,EAAM,MAAA,EAAO;AAAA,IACtC,QAAA,EAAU,EAAE,IAAA,EAAM,OAAA,EAAS,SAAS,KAAA,EAAM;AAAA,IAC1C,OAAA,EAAS,EAAE,IAAA,EAAM,MAAA,EAA4C;AAAA,IAC7D,IAAA,EAAM,EAAE,IAAA,EAAM,OAAA,EAAS,SAAS,KAAA;AAAM,GACxC;AAAA,EACA,KAAA,CAAM,KAAA,EAAO,EAAE,KAAA,EAAM,EAAG;AACtB,IAAA,OAAO,MAAMV,KAAAA,CAAE,wBAAA,EAAgB,EAAE,GAAG,OAAM,EAAG,MAAM,KAAA,CAAM,OAAA,IAAW,CAAA;AAAA,EACtE;AACF,CAAC;;;AC5CM,IAAM,cAAA,GAAkD;AAAA,EAC7D,IAAA,EAAM,QAAA;AAAA,EACN,kBAAkBU,mBAAAA,CAAgB;AAAA,IAChC,IAAA,EAAM,wBAAA;AAAA,IACN,KAAA,EAAO,CAAC,OAAA,EAAS,UAAA,EAAY,UAAU,CAAA;AAAA,IACvC,MAAM,KAAA,EAAO;AACX,MAAA,OAAO,MACLV,MAAE,cAAA,EAAgB;AAAA,QAChB,IAAA,EAAM,IAAA;AAAA,QACN,OAAO,KAAA,CAAM,KAAA;AAAA,QACb,UAAU,KAAA,CAAM,QAAA;AAAA,QAChB,WAAA,EAAagB,SAAAA,CAAK,CAAA,CAAE,qBAAqB,CAAA;AAAA,QACzC,QAAA,EAAU,CAAC,CAAA,KAAc,KAAA,CAAM,WAAW,CAAC;AAAA,OAC5C,CAAA;AAAA,IACL;AAAA,GACD,CAAA;AAAA,EACD,aAAA,EAAe;AAAA,IACb,6BAA8B,IAAA;AAAA,IAC9B,qCAAkC;AAAA;AAEtC,CAAA;ACpBO,IAAM,cAAA,GAAkD;AAAA,EAC7D,IAAA,EAAM,QAAA;AAAA,EACN,kBAAkBN,mBAAAA,CAAgB;AAAA,IAChC,IAAA,EAAM,wBAAA;AAAA,IACN,OAAO,CAAC,OAAA,EAAS,UAAA,EAAY,UAAA,EAAY,UAAU,aAAa,CAAA;AAAA,IAChE,MAAM,KAAA,EAAO;AACX,MAAA,OAAO,MACLV,MAAE,gBAAA,EAAS;AAAA,QACT,IAAA,EAAM,QAAA;AAAA,QACN,OAAO,KAAA,CAAM,KAAA;AAAA,QACb,UAAU,KAAA,CAAM,QAAA;AAAA,QAChB,WAAA,EAAa,KAAA,CAAM,WAAA,IAAegB,SAAAA,CAAK,EAAE,qBAAqB,CAAA;AAAA,QAC9D,QAAA,EAAU,CAAC,CAAA,KAAc,KAAA,CAAM,QAAA,GAAW,MAAM,EAAA,GAAK,MAAA,GAAY,MAAA,CAAO,CAAC,CAAC;AAAA,OAC3E,CAAA;AAAA,IACL;AAAA,GACD,CAAA;AAAA,EACD,aAAA,EAAe;AAAA,IACb,CAAA,IAAA,YAAwB,EAAE,IAAA,EAAM,QAAA,EAAS;AAAA,IACzC,CAAA,KAAA,aAAyB,EAAE,IAAA,EAAM,QAAA,EAAS;AAAA,IAC1C,CAAA,IAAA,YAAwB,EAAE,IAAA,EAAM,QAAA,EAAS;AAAA,IACzC,CAAA,KAAA,aAAyB,EAAE,IAAA,EAAM,QAAA,EAAS;AAAA,IAC1C,CAAA,IAAA,YAAwB,EAAE,IAAA,EAAM,QAAA,EAAS;AAAA,IACzC,CAAA,KAAA,aAAyB,EAAE,IAAA,EAAM,QAAA,EAAS;AAAA,IAC1C,iBAAwB;AAAA,MACtB,IAAA,EAAM,OAAA;AAAA,MACN,KAAA,EAAO,EAAE,IAAA,EAAM,IAAA;AAAK,KACtB;AAAA,IACA,mBAAyB;AAAA,MACvB,IAAA,EAAM,OAAA;AAAA,MACN,KAAA,EAAO,EAAE,IAAA,EAAM,IAAA;AAAK;AACtB;AAEJ,CAAA;AChCO,IAAM,WAAA,GAA+C;AAAA,EAC1D,IAAA,EAAM,KAAA;AAAA,EACN,kBAAkBN,mBAAAA,CAAgB;AAAA,IAChC,IAAA,EAAM,qBAAA;AAAA,IACN,KAAA,EAAO,CAAC,OAAA,EAAS,UAAA,EAAY,UAAU,CAAA;AAAA,IACvC,MAAM,KAAA,EAAO;AACX,MAAA,OAAO,MACLV,MAAE,cAAA,EAAgB;AAAA,QAChB,IAAA,EAAM,IAAA;AAAA,QACN,OAAO,KAAA,CAAM,KAAA;AAAA,QACb,UAAU,KAAA,CAAM,QAAA;AAAA,QAChB,WAAA,EAAagB,SAAAA,CAAK,CAAA,CAAE,kBAAkB,CAAA;AAAA,QACtC,QAAA,EAAU,CAAC,CAAA,KAAc,KAAA,CAAM,WAAW,CAAC;AAAA,OAC5C,CAAA;AAAA,IACL;AAAA,GACD,CAAA;AAAA,EACD,aAAA,EAAe;AAAA,IACb,6BAA8B,IAAA;AAAA,IAC9B,qCAAkC;AAAA;AAEtC,CAAA;ACpBO,IAAM,eAAA,GAAmD;AAAA,EAC9D,IAAA,EAAM,SAAA;AAAA,EACN,kBAAkBN,mBAAAA,CAAgB;AAAA,IAChC,IAAA,EAAM,yBAAA;AAAA,IACN,OAAO,CAAC,OAAA,EAAS,UAAA,EAAY,UAAA,EAAY,UAAU,aAAa,CAAA;AAAA,IAChE,MAAM,KAAA,EAAO;AACX,MAAA,OAAO,MACLV,MAAE,gBAAA,EAAS;AAAA,QACT,IAAA,EAAM,QAAA;AAAA,QACN,OAAO,KAAA,CAAM,KAAA;AAAA,QACb,UAAU,KAAA,CAAM,QAAA;AAAA,QAChB,WAAA,EAAa,KAAA,CAAM,WAAA,IAAegB,SAAAA,CAAK,EAAE,sBAAsB,CAAA;AAAA,QAC/D,QAAA,EAAU,CAAC,CAAA,KACT,KAAA,CAAM,QAAA,GAAW,CAAA,KAAM,EAAA,GAAK,MAAA,GAAY,IAAA,CAAK,KAAA,CAAM,MAAA,CAAO,CAAC,CAAC,CAAC;AAAA,OAChE,CAAA;AAAA,IACL;AAAA,GACD,CAAA;AAAA,EACD,aAAA,EAAe;AAAA,IACb,CAAA,IAAA,YAAwB,EAAE,IAAA,EAAM,QAAA,EAAS;AAAA,IACzC,CAAA,KAAA,aAAyB,EAAE,IAAA,EAAM,QAAA,EAAS;AAAA,IAC1C,CAAA,IAAA,YAAwB,EAAE,IAAA,EAAM,QAAA,EAAS;AAAA,IACzC,CAAA,KAAA,aAAyB,EAAE,IAAA,EAAM,QAAA,EAAS;AAAA,IAC1C,CAAA,IAAA,YAAwB,EAAE,IAAA,EAAM,QAAA,EAAS;AAAA,IACzC,CAAA,KAAA,aAAyB,EAAE,IAAA,EAAM,QAAA,EAAS;AAAA,IAC1C,iBAAwB;AAAA,MACtB,IAAA,EAAM,OAAA;AAAA,MACN,KAAA,EAAO,EAAE,IAAA,EAAM,IAAA;AAAK,KACtB;AAAA,IACA,mBAAyB;AAAA,MACvB,IAAA,EAAM,OAAA;AAAA,MACN,KAAA,EAAO,EAAE,IAAA,EAAM,IAAA;AAAK;AACtB;AAEJ,CAAA;ACnCO,IAAM,YAAA,GAAgD;AAAA,EAC3D,IAAA,EAAM,MAAA;AAAA,EACN,YAAY,EAAC;AAAA,EACb,kBAAkBN,mBAAAA,CAAgB;AAAA,IAChC,IAAA,EAAM,sBAAA;AAAA,IACN,KAAA,EAAO,CAAC,OAAA,EAAS,UAAA,EAAY,YAAY,QAAQ,CAAA;AAAA,IACjD,MAAM,KAAA,EAAO;AACX,MAAA,OAAO,MACLV,MAAE,iBAAA,EAAU;AAAA,QACV,OAAO,KAAA,CAAM,KAAA;AAAA,QACb,UAAU,KAAA,CAAM,QAAA;AAAA,QAChB,OAAA,EAAA,CAAU,MAAM,MAAA,EAAQ,IAAA,IAAQ,EAAC,EAAG,GAAA,CAAI,CAAC,KAAA,MAA4B;AAAA,UACnE,KAAA,EAAO,GAAG,KAAK,CAAA,CAAA;AAAA,UACf;AAAA,SACF,CAAE,CAAA;AAAA,QACF,QAAA,EAAU,CAAC,CAAA,KAAuB,KAAA,CAAM,WAAW,CAAC;AAAA,OACrD,CAAA;AAAA,IACL;AAAA,GACD;AACH,CAAA;ACjBA,IAAM,gBAAA,GAAmB,8BAAA;AAEzB,IAAM,iBAAA,GAAoB,CAAC,KAAA,KAAmB;AAC5C,EAAA,IAAI,KAAA,KAAU,IAAA,IAAQ,KAAA,KAAU,MAAA,IAAa,UAAU,EAAA,EAAI;AACzD,IAAA,OAAO,EAAA;AAAA,EACT;AAEA,EAAA,MAAM,IAAA,GACJ,KAAA,YAAiB,IAAA,GACb,KAAA,GACA,OAAO,KAAA,KAAU,QAAA,GACf,IAAI,IAAA,CAAK,KAAK,CAAA,GACd,IAAI,IAAA,CAAK,MAAA,CAAO,KAAK,CAAC,CAAA;AAE9B,EAAA,IAAI,MAAA,CAAO,KAAA,CAAM,IAAA,CAAK,OAAA,EAAS,CAAA,EAAG;AAChC,IAAA,OAAO,EAAA;AAAA,EACT;AAEA,EAAA,OAAOoC,cAAA,CAAO,MAAM,gBAAgB,CAAA;AACtC,CAAA;AAEO,IAAM,gBAAA,GAAoD;AAAA,EAC/D,IAAA,EAAM,WAAA;AAAA,EACN,kBAAkB1B,mBAAAA,CAAgB;AAAA,IAChC,IAAA,EAAM,0BAAA;AAAA,IACN,KAAA,EAAO,CAAC,OAAA,EAAS,UAAA,EAAY,YAAY,QAAQ,CAAA;AAAA,IACjD,MAAM,KAAA,EAAO;AACX,MAAA,OAAO,MACLV,MAAE,gBAAA,EAAS;AAAA,QACT,IAAA,EAAM,gBAAA;AAAA,QACN,OAAO,KAAA,CAAM,KAAA;AAAA,QACb,UAAU,KAAA,CAAM,QAAA;AAAA,QAChB,UAAU,CAAC,CAAA,KAAc,MAAM,QAAA,GAAW,iBAAA,CAAkB,CAAC,CAAC;AAAA,OAC/D,CAAA;AAAA,IACL;AAAA,GACD,CAAA;AAAA,EACD,aAAA,EAAe;AAAA,IACb,CAAA,IAAA,YAAwB,EAAE,IAAA,EAAM,WAAA,EAAY;AAAA,IAC5C,CAAA,KAAA,aAAyB,EAAE,IAAA,EAAM,WAAA,EAAY;AAAA,IAC7C,CAAA,IAAA,YAAwB,EAAE,IAAA,EAAM,WAAA,EAAY;AAAA,IAC5C,CAAA,KAAA,aAAyB,EAAE,IAAA,EAAM,WAAA,EAAY;AAAA,IAC7C,CAAA,IAAA,YAAwB,EAAE,IAAA,EAAM,WAAA,EAAY;AAAA,IAC5C,CAAA,KAAA,aAAyB,EAAE,IAAA,EAAM,WAAA,EAAY;AAAA,IAC7C,6BAA8B,IAAA;AAAA,IAC9B,qCAAkC;AAAA;AAEtC,CAAA;AC9CO,IAAM,eAAA,GAAmD;AAAA,EAC9D,IAAA,EAAM,SAAA;AAAA,EACN,kBAAkBU,mBAAAA,CAAgB;AAAA,IAChC,IAAA,EAAM,yBAAA;AAAA,IACN,KAAA,EAAO,CAAC,OAAA,EAAS,UAAA,EAAY,YAAY,QAAQ,CAAA;AAAA,IACjD,MAAM,KAAA,EAAO;AACX,MAAA,OAAO,MACLV,MAAE,iBAAA,EAAU;AAAA,QACV,KAAA,EAAO,KAAA,CAAM,KAAA,GAAQ,CAAA,GAAI,CAAA;AAAA,QACzB,UAAU,KAAA,CAAM,QAAA;AAAA,QAChB,WAAA,EAAagB,SAAAA,CAAK,CAAA,CAAE,uBAAuB,CAAA;AAAA,QAC3C,OAAA,EAAS;AAAA,UACP,EAAE,KAAA,EAAOA,SAAAA,CAAK,EAAE,MAAM,CAAA,EAAG,OAAO,CAAA,EAAE;AAAA,UAClC,EAAE,KAAA,EAAOA,SAAAA,CAAK,EAAE,OAAO,CAAA,EAAG,OAAO,CAAA;AAAE,SACrC;AAAA,QACA,UAAU,CAAC,CAAA,KAAuB,MAAM,QAAA,GAAW,CAAC,CAAC,CAAC;AAAA,OACvD,CAAA;AAAA,IACL;AAAA,GACD,CAAA;AAAA,EACD,aAAA,EAAe;AAAA,IACb,CAAA,IAAA,YAAwB,EAAE,IAAA,EAAM,SAAA,EAAU;AAAA,IAC1C,CAAA,KAAA,aAAyB,EAAE,IAAA,EAAM,SAAA,EAAU;AAAA,IAC3C,2BAA6B,IAAA;AAAA,IAC7B,6BAA8B,IAAA;AAAA,IAC9B,iBAAwB;AAAA,MACtB,IAAA,EAAM,OAAA;AAAA,MACN,KAAA,EAAO,EAAE,IAAA,EAAM,SAAA;AAAU,KAC3B;AAAA,IACA,mBAAyB;AAAA,MACvB,IAAA,EAAM,OAAA;AAAA,MACN,KAAA,EAAO,EAAE,IAAA,EAAM,SAAA;AAAU;AAC3B;AAEJ,CAAA;ACjCO,IAAM,aAAA,GAAiD;AAAA,EAC5D,IAAA,EAAM,OAAA;AAAA,EACN,kBAAkBN,mBAAAA,CAAgB;AAAA,IAChC,IAAA,EAAM,uBAAA;AAAA,IACN,KAAA,EAAO,CAAC,OAAA,EAAS,UAAA,EAAY,UAAU,CAAA;AAAA,IACvC,MAAM,KAAA,EAAO;AACX,MAAA,OAAO,MACLV,MAAE,cAAA,EAAgB;AAAA,QAChB,IAAA,EAAM,IAAA;AAAA,QACN,OAAO,KAAA,CAAM,KAAA;AAAA,QACb,UAAU,KAAA,CAAM,QAAA;AAAA,QAChB,WAAA,EAAagB,SAAAA,CAAK,CAAA,CAAE,oBAAoB,CAAA;AAAA,QACxC,QAAA,EAAU,CAAC,CAAA,KAAc,KAAA,CAAM,WAAW,CAAC;AAAA,OAC5C,CAAA;AAAA,IACL;AAAA,GACD,CAAA;AAAA,EACD,aAAA,EAAe;AAAA,IACb,6BAA8B,IAAA;AAAA,IAC9B,qCAAkC,IAAA;AAAA,IAClC,CAAA,UAAA,kBAA8B,EAAE,IAAA,EAAM,SAAS,KAAA,EAAO,EAAE,IAAA,EAAM,IAAA,EAAK,EAAE;AAAA,IACrE,CAAA,cAAA,sBAAkC,EAAE,IAAA,EAAM,SAAS,KAAA,EAAO,EAAE,IAAA,EAAM,IAAA,EAAK,EAAE;AAAA,IACzE,CAAA,IAAA,YAAwB,EAAE,IAAA,EAAM,SAAS,KAAA,EAAO,EAAE,IAAA,EAAM,IAAA,EAAK,EAAE;AAAA,IAC/D,CAAA,KAAA,aAAyB,EAAE,IAAA,EAAM,SAAS,KAAA,EAAO,EAAE,IAAA,EAAM,IAAA,EAAK;AAAE;AAEpE,CAAA;;;ACnBO,IAAM,oBAAA,GAAuB;AAAA,EAClC,cAAA;AAAA,EACA,cAAA;AAAA,EACA,cAAA;AAAA,EACA,eAAA;AAAA,EACA,eAAA;AAAA,EACA,aAAA;AAAA,EACA,WAAA;AAAA,EACA,YAAA;AAAA,EACA;AACF,CAAA;AAEO,IAAM,iBAAiB,MAAM;AAClC,EAAA,IAAKqB,gCAAA,CAAsB,aAAA,CAAc,QAAQ,CAAA,EAA8B,gBAAA,EAAkB;AAC/F,IAAA;AAAA,EACF;AAEA,EAAA,oBAAA,CAAqB,QAAQ,CAAC,KAAA,KAAUA,gCAAA,CAAsB,QAAA,CAAS,KAAK,CAAC,CAAA;AAC/E,CAAA;;;ACpBA,cAAA,EAAe;AAER,IAAMzB,eAAAA,GAAiB,MAC5B0B,yBAAA;AAEK,IAAM,+BAA+B5B,mBAAAA,CAAgB;AAAA,EAC1D,IAAA,EAAM,8BAAA;AAAA,EACN,KAAA,EAAO;AAAA,IACL,KAAA,EAAO;AAAA,MACL,IAAA,EAAM,KAAA;AAAA,MACN,OAAA,EAAS,MAAM;AAAC;AAClB,GACF;AAAA,EACA,KAAA,CAAM,KAAA,EAAO,EAAE,KAAA,EAAM,EAAG;AACtB,IAAA,OAAO,MACLV,KAAAA;AAAA,MACEuC,6BAAA;AAAA,MACA,EAAE,OAAO,CAAC,GAAG,sBAAsB,GAAG,KAAA,CAAM,KAAK,CAAA,EAAE;AAAA,MACnD,MAAM,MAAM,OAAA;AAAU,KACxB;AAAA,EACJ;AACF,CAAC;ACtBD,cAAA,EAAe;AASR,IAAM,yBACXR,wBAAAA,CAA6C;AAAA,EAC3C,MAAA,CAAO,KAAK,IAAA,EAAM;AAChB,IAAA,MAAM,WAAA,GAAc,GAAA,CAAI,GAAA,CAAIS,0BAAe,CAAA;AAC3C,IAAA,oBAAA,CAAqB,QAAQ,CAAC,KAAA,KAAU,WAAA,CAAY,QAAA,CAAS,KAAK,CAAC,CAAA;AAEnE,IAAA,IAAA,CAAK,OAAO,OAAA,CAAQ,CAAC,UAAU,WAAA,CAAY,QAAA,CAAS,KAAK,CAAC,CAAA;AAC1D,IAAA,IAAA,CAAK,iBAAiB,OAAA,CAAQ,CAAC,UAAU,WAAA,CAAY,UAAA,CAAW,KAAK,CAAC,CAAA;AAAA,EACxE,CAAA;AAAA,EACA,gBAAA,EAAkB,CAACC,oCAAyB;AAC9C,CAAC;;;;;;;;;;;;;ACpBH,IAAA,MAAM,KAAA,GAAQ,OAAA;AAEd,IAAA,MAAM,cAAc7B,eAAAA,EAAe;AAEnC,IAAA,MAAM8B,SAAAA,GAAWnD,aAAS,MAAM;AAC9B,MAAA,MAAM,QAAA,GAAA,CAAY,KAAA,CAAM,UAAA,IAAc,EAAC,EAAG,IAAA,CAAK,CAAC,SAAA,KAAc,SAAA,CAAU,GAAA,CAAI,KAAA,CAAM,MAAM,CAAC,CAAA;AACzF,MAAA,IAAI,CAAC,QAAA,EAAU;AACb,QAAA,OAAO,WAAA,CAAY,eAAA,CAAgB,KAAA,CAAM,MAAM,CAAA,EAAG,gBAAA;AACpD,MAAA;AACA,MAAA,OAAO,QAAA,EAAU,QAAA;IACnB,CAAC,CAAA;;;;;;;;;;;SAMS,MAAA,CAAA,QAAA,IAAAT,eAAA,EAFRK,eAAAA,CAQEC,4BAPK,MAAA,CAAA,QAAQ,GADfuD,cAAA,CAQE;IAAA,GAAA,EAAA,CAAA;AALC,IAAA,KAAA,EAAO,MAAA,CAAA,KAAA;AACP,IAAA,QAAA,EAAU,MAAA,CAAA,QAAA;AACV,IAAA,MAAA,EAAQ,MAAA,CAAA;AAAA,GAAA,EAAA,EAAA,GACI,IAAA,CAAA,MAAA,EAAM,EAAA,EAClB,QAAA,EAAQ,MAAA,CAAA,QAAA,EAAQ,CAAA,EAAA,IAAA,EAAA,EAAA,EAAA,CAAA,OAAA,EAAA,UAAA,EAAA,QAAA,EAAA,UAAA,CAAA,CAAA,IAIN,MAAA,CAAA,gBAAA,IAAA7D,aAAAA,EAAA,EAFbK,eAAAA,CAQEC,2BAAAA,CAPK,MAAA,CAAA,gBAAgB,GADvBuD,cAAA,CAQE;IAAA,GAAA,EAAA,CAAA;AALC,IAAA,KAAA,EAAO,MAAA,CAAA,KAAA;AACP,IAAA,QAAA,EAAU,MAAA,CAAA,QAAA;AACV,IAAA,MAAA,EAAQ,MAAA,CAAA;GAAA,EAAA,EAAA,GACI,IAAA,CAAA,MAAA,EAAM,EAAA,EAClB,QAAA,EAAQ,MAAA,CAAA,QAAA,EAAQ,CAAA,EAAA,IAAA,EAAA,IAAA,CAAA,OAAA,EAAA,UAAA,EAAA,QAAA,EAAA,UAAA,CAAA,CAAA,KAAA7D,aAAAA,EAAA,EAEnBK,eAAAA,CAAqE,MAAA,CAAA,SAAA,CAAA,EAAA;IAAA,GAAA,EAAA,CAAA;IAArD,QAAA,EAAA,EAAA;IAAU,WAAA,EAAa,MAAA,CAAA,IAAA,CAAK,CAAA,CAAC,kBAAA;AAAA,GAAA,EAAA,IAAA,EAAA,CAAA,EAAA,CAAA,aAAA,CAAA,CAAA,CAAA;;;ACnCxC,SAAS,eAAe,KAAA,EAA+B;AAC5D,EAAA,MAAM,YAAYyD,8BAAA,EAAkB;AACpC,EAAA,OAAOrD,aAAS,MAAM;AACpB,IAAA,IAAI,KAAA,EAAO,SAAS,KAAA,EAAO;AACzB,MAAA,OAAO,SAAA,CAAU,KAAA,CAAM,YAAA,CAAa,KAAA,CAAM,OAAO,CAAA;AAAA,IACnD;AACA,IAAA,OAAO,MAAA;AAAA,EACT,CAAC,CAAA;AACH;AAEO,SAAS,eAAA,CACd,eAAA,EACA,aAAA,EAGA,KAAA,EACA;AACA,EAAA,IAAI,sBAAsB,eAAA,IAAmB,aAAA,EAAe,MAAA,IAAU,EAAE,MAAM,QAAA,EAAS;AACvF,EAAA,IAAI,KAAA,EAAO,SAAS,UAAA,EAAY;AAC9B,IAAA,mBAAA,GAAsB,OAAO,MAAA,IAAU,mBAAA;AAAA,EACzC;AAEA,EAAA,MAAM,aAAA,GAAgBC,QAAI,CAAC,CAAA;AAC3B,EAAA,MAAM,aAAA,GAAgBA,QAAI,CAAC,CAAA;AAC3B,EAAA,MAAM,YAAA,GAAeA,QAAI,mBAAmB,CAAA;AAE5C,EAAAqD,SAAA;AAAA,IACE,MAAM,KAAA;AAAA,IACN,MAAM;AACJ,MAAA,aAAA,CAAc,KAAA,IAAS,CAAA;AACvB,MAAA,IAAI,aAAA,CAAc,KAAA,KAAU,aAAA,CAAc,KAAA,EAAO;AAC/C,QAAA;AAAA,MACF;AACA,MAAA,aAAA,CAAc,QAAQ,aAAA,CAAc,KAAA;AAEpC,MAAA,IAAI,KAAA,EAAO,IAAA,KAAS,UAAA,IAAc,KAAA,EAAO,MAAA,EAAQ;AAC/C,QAAA,YAAA,CAAa,QAAQ,KAAA,EAAO,MAAA;AAAA,MAC9B;AAAA,IACF;AAAA,GACF;AAEA,EAAA,MAAM,gCAAA,GAAmC,CAAC,MAAA,KAAwB;AAChE,IAAA,YAAA,CAAa,KAAA,GAAQ,MAAA;AACrB,IAAA,aAAA,CAAc,KAAA,IAAS,CAAA;AAAA,EACzB,CAAA;AAEA,EAAA,OAAO,CAAC,cAAc,gCAAgC,CAAA;AACxD;AAEO,SAAS,iBAAiB,eAAA,EAA+B;AAC9D,EAAA,OAAOtD,aAAS,MAAM;AACpB,IAAA,IAAI,CAAC,eAAA,EAAiB;AACpB,MAAA;AAAA,IACF;AACA,IAAA,IAAI,eAAA,EAAiB,SAAS,QAAA,EAAU;AACtC,MAAA,OAAO,CAAC,eAAA,EAAiB,EAAE,IAAA,EAAM,WAAW,CAAA;AAAA,IAC9C;AACA,IAAA,OAAO,EAAE,GAAG,eAAA,EAAiB,KAAA,EAAO,EAAE,MAAM,IAAA,EAAM,GAAG,eAAA,EAAiB,KAAA,EAAM,EAAE;AAAA,EAChF,CAAC,CAAA;AACH;ACtEwCiB,4BAAAA,CAAY,uhCAAuhC,CAAA;ACuB3kC,IAAM,aAAA,GAAoC;EACxC,IAAA,EAAM,UAAA;EACN,OAAA,EAAS,EAAA;EACT,MAAA,EAAQ,EAAE,MAAM,QAAA;AAClB,CAAA;AAEA,IAAM,wBAAwBE,mBAAAA,CAAgB;EAC5C,IAAA,EAAM,mBAAA;EACN,KAAA,EAAO;IACL,KAAA,EAAO,EAAE,MAAM,MAAA,EAA0C;AACzD,IAAA,QAAA,EAAU,EAAE,IAAA,EAAM,QAAA,EAA+D,QAAA,EAAU,IAAA,EAAK;AAChG,IAAA,QAAA,EAAU,EAAE,IAAA,EAAM,OAAA,EAAS,OAAA,EAAS,KAAA,EAAM;AAC1C,IAAA,QAAA,EAAU,EAAE,IAAA,EAAM,OAAA,EAAS,OAAA,EAAS,KAAA,EAAM;IAC1C,KAAA,EAAO,EAAE,MAAM,MAAA,EAAkC;IACjD,MAAA,EAAQ,EAAE,MAAM,MAAA,EAAgC;IAChD,aAAA,EAAe,EAAE,MAAM,MAAA;AACzB,GAAA;AACA,EAAA,KAAA,CAAM,KAAA,EAAO;AACX,IAAA,MAAM,WAAA,GAAc,cAAA,CAAe,KAAA,CAAM,KAAK,CAAA;AAC9C,IAAA,MAAM,CAAC,YAAA,EAAc,eAAe,CAAA,GAAI,eAAA;MACtC,KAAA,CAAM,MAAA;MACN,KAAA,CAAM,aAAA;MACN,KAAA,CAAM;AACR,KAAA;AACA,IAAA,MAAM,aAAA,GAAgB,gBAAA,CAAiB,KAAA,CAAM,MAAM,CAAA;AACnD,IAAA,MAAM,cAAcE,yBAAAA,EAAe;AAEnC,IAAA,OAAO,MAAM;AACX,MAAA,MAAM,qBAAqB,MAAM;AAC/B,QAAA,IAAI,MAAM,MAAA,EAAQ;AAChB,UAAA,OAAOZ,KAAAA,CAAE,uBAAc,EAAE,KAAA,EAAO,MAAM,MAAA,EAAQ,QAAA,EAAU,MAAM,CAAA;AAChE,QAAA;AACA,QAAA,IAAI,KAAA,CAAM,KAAA,EAAO,IAAA,KAAS,KAAA,EAAO;AAC/B,UAAA,MAAM,MAAA,GAAS,YAAY,KAAA,EAAO,IAAA,GAC9Bc,2BAAgB,WAAA,CAAY,WAAA,CAAY,KAAA,EAAO,IAAI,CAAA,GACnD,MAAA;AACJ,UAAA,OAAOd,MAAE,qBAAA,EAAc,EAAE,OAAO,MAAA,EAAQ,QAAA,EAAU,MAAM,CAAA;AAC1D,QAAA;AACA,QAAA,OAAOA,MAAE,qBAAA,EAAc;AACrB,UAAA,KAAA,EAAO,YAAA,CAAa,KAAA;AACpB,UAAA,QAAA,EAAU,KAAA,CAAM,QAAA;AAChB,UAAA,QAAA,EAAU,CAAC,EAAA,KAAO;AAChB,YAAA,eAAA,CAAgB,EAAA,IAAM,EAAE,IAAA,EAAM,QAAA,EAAU,CAAA;AACxC,YAAA,MAAM,MAAA,GAAS,EAAA,IAAM,EAAE,IAAA,EAAM,QAAA,EAAS;AACtC,YAAA,IAAI,OAAA,GAAU,WAAA,CAAY,eAAA,CAAgB,MAAM,CAAA;AAChD,YAAA,IAAI,EAAA,EAAI,SAAS,QAAA,EAAU;AACzB,cAAA,OAAA,GAAU,IAAA;AACZ,YAAA;AACA,YAAA,IAAI,EAAA,EAAI,SAAS,OAAA,EAAS;AACxB,cAAA,OAAA,GAAU,IAAA;AACZ,YAAA;AACA,YAAA,KAAA,CAAM,QAAA,GAAW;cACf,IAAA,EAAM,UAAA;AACN,cAAA,OAAA;AACA,cAAA;aACD,CAAA;AACH,UAAA;SACD,CAAA;AACH,MAAA,CAAA;AAEA,MAAA,MAAM,aAAa,MAAM;AACvB,QAAA,IAAI,KAAA,CAAM,KAAA,EAAO,IAAA,KAAS,KAAA,EAAO;AAC/B,UAAA,OAAOA,MAAE,sBAAA,EAAwB;YAC/B,KAAA,EAAO,EAAE,OAAO,MAAA,EAAO;AACvB,YAAA,KAAA,EAAO,MAAM,KAAA,EAAO,OAAA;AACpB,YAAA,aAAA,EAAe,aAAA,CAAc,KAAA;AAC7B,YAAA,QAAA,EAAU,KAAA,CAAM,QAAA;YAChB,QAAA,EAAU,CAAC,EAAA,KACT,KAAA,CAAM,QAAA,GAAW,EAAA,GAAK,EAAE,IAAA,EAAM,KAAA,EAAO,OAAA,EAAS,EAAA,EAAG,GAAI,aAAa;WACrE,CAAA;AACH,QAAA;AAEA,QAAA,MAAM8C,kBAAiB,KAAA,CAAM,MAAA,IAAU,aAAa,KAAA,IAAS,EAAE,MAAM,QAAA,EAAS;AAE9E,QAAA,OAAO9C,MAAE,sBAAA,EAAe;AACtB,UAAA,KAAA,EAAO,MAAM,KAAA,EAAO,OAAA;UACpB,MAAA,EAAQ8C,eAAAA;AACR,UAAA,QAAA,EAAU,KAAA,CAAM,QAAA;AAChB,UAAA,gBAAA,EAAkBpC,mBAAAA,CAAgB;YAChC,KAAA,GAAQ;AACN,cAAA,OAAO,MACLV,MAAE,sBAAA,EAAwB;gBACxB,KAAA,EAAO,EAAE,OAAO,MAAA,EAAO;AACvB,gBAAA,aAAA,EAAe,aAAA,CAAc,KAAA;AAC7B,gBAAA,QAAA,EAAU,KAAA,CAAM,QAAA;gBAChB,QAAA,EAAU,CAAC,EAAA,KACT,KAAA,CAAM,QAAA,GAAW,EAAA,GAAK,EAAE,IAAA,EAAM,KAAA,EAAO,OAAA,EAAS,EAAA,EAAG,GAAI,aAAa;eACrE,CAAA;AACL,YAAA;WACD,CAAA;UACD,GAAI,KAAA,CAAM,iBAAiB,EAAC;AAC5B,UAAA,UAAA,EAAY,CAAC,GAAI,KAAA,CAAM,aAAA,EAAe,UAAA,IAAc,EAAG,CAAA;UACvD,QAAA,EAAU,CAAC,EAAA,KACT,KAAA,CAAM,QAAA,GAAW,EAAE,IAAA,EAAM,UAAA,EAAY,OAAA,EAAS,EAAA,EAAI,MAAA,EAAQ8C,eAAAA,EAAgB;SAC7E,CAAA;AACH,MAAA,CAAA;AAEA,MAAA,MAAM,aAAA,GAAgB,MACpB9C,KAAAA,CAAE,sBAAA,EAAwB;QACxB,KAAA,EAAO,EAAE,OAAO,MAAA,EAAO;AACvB,QAAA,KAAA,EAAO,MAAM,KAAA,EAAO,IAAA,KAAS,KAAA,GAAQ,KAAA,CAAM,OAAO,OAAA,GAAU,MAAA;AAC5D,QAAA,aAAA,EAAe,aAAA,CAAc,KAAA;AAC7B,QAAA,QAAA,EAAU,KAAA,CAAM,QAAA;QAChB,aAAA,EAAe,MACbA,KAAAA,CAAE,sBAAA,EAAc,EAAE,QAAA,EAAU,MAAM,QAAA,EAAU,IAAA,EAAM,WAAA,EAAY,EAAG,CAAA;QACnE,QAAA,EAAU,CAAC,OAA6B,KAAA,CAAM,QAAA,GAAW,EAAE,IAAA,EAAM,KAAA,EAAO,OAAA,EAAS,EAAA,EAAI;OACtF,CAAA;AAEH,MAAA,OAAOA,KAAAA,CAAE,OAAO,EAAE,KAAA,EAAO,yCAAyC,KAAA,EAAO,KAAA,CAAM,OAAM,EAAG;QACtFA,KAAAA,CAAE,KAAA,EAAO,EAAE,KAAA,EAAO,kCAAA,IAAsC,CAAC,kBAAA,EAAoB,CAAC,CAAA;QAC9EA,KAAAA,CAAE,KAAA,EAAO,EAAE,KAAA,EAAO,kCAAA,IAAsC,CAAC,UAAA,EAAY,CAAC,CAAA;QACtEA,KAAAA,CAAE,KAAA,EAAO,EAAE,KAAA,EAAO,qCAAA,IAAyC,CAAC,aAAA,EAAe,CAAC;OAC7E,CAAA;AACH,IAAA,CAAA;AACF,EAAA;AACF,CAAC,CAAA;AAEA,qBAAA,CAA+E,SAAA,GAC9E,gCAAA;AAEF,IAAKiB,WAAAA,GAAa,qBAAA;;;;ACtIX,IAAM,uBAAA,GAA0B,qBAAqB,2BAAiB;;;;;;;;;;;;ACC7E,IAAA,MAAM,KAAA,GAAQ,OAAA;AAOd,IAAA,MAAM,IAAA,GAAO,MAAA;AAKb,IAAA,MAAM,QAAQzB,OAAAA,CAAI,MAAA,CAAO,KAAA,CAAM,KAAA,IAAS,EAAE,CAAC,CAAA;AAE3C,IAAAqD,SAAAA;AACE,MAAA,MAAM,KAAA,CAAM,KAAA;AACZ,MAAA,CAAC,IAAA,KAAS;AACR,QAAA,KAAA,CAAM,KAAA,GAAQ,MAAA,CAAO,IAAA,IAAQ,EAAE,CAAA;AACjC,MAAA;AACF,KAAA;;;;;;;;;0BAIE1D,eAAAA,CAYE,MAAA,CAAA,SAAA,CAAA,EAAA;AAXC,IAAA,KAAA,EAAO,MAAA,CAAA,KAAA;AACP,IAAA,QAAA,EAAU,MAAA,CAAA,QAAA;AACV,IAAA,WAAA,EAAa,MAAA,CAAA,WAAA;IACb,KAAA,EAAKD,kBAAAA,CAAE,OAAA,KAAK,CAAA;IACZ,QAAA,EAAM,MAAA,CAAA,CAAA,CAAA,KAAA,MAAA,CAAA,CAAA,CAAA,GAAA,CAAA,MAAA,KAAE,MAAA,CAAA,KAAA,GAAQ,MAAA,CAAA;AAChB,IAAA,MAAA,EAAI,OAAA,CAAA,CAAA,KAAA,OAAA,CAAA,CAAA,GAAA,CAAU,KAAA,KAAK;AAAe,MAAA,MAAA,CAAA,IAAA,CAAI,QAAA,EAAW,MAAA,CAAA,KAAK,CAAA;AAAW,MAAA,MAAA,CAAA,IAAA,CAAI,QAAS,KAAK,CAAA;AAAA,IAAA,CAAA;;;;;;;;;;;;;;ACzBxF,IAAA,MAAM,KAAA,GAAQ,OAAA;;;;;;;;;;;;;;;;AAMP,IAAA,YAAA,GAAA,EAAA,KAAA,EAAA,EAAA,SAAA,EAAA,MAAA,EAAA,eAAA,QAAA,EAAA,KAAA,EAAA,OAAA,EAAoD;AAClD,IAAA,WAAA,GAAA,EAAA,KAAA,EAAA,EAAA,OAAA,EAAA,OAAA,EAAA,aAAA,OAAA,EAAA,WAAA,EAAA,SAAA,EAAwD;oBA8BxD,KAAA,EAAA,EAAA,WAAA,EAAA,GAAA,EAAA,EAAoB;;;AA/B3BH,EAAAA,OAAAA,aAAAA,EAAAA,EAAAA,sBAAAA,CA+CM,OA/CNO,YAAAA,EA+CM;AA9CJK,IAAAA,sBAAAA,CA6BM,OA7BNQ,WAAAA,EA6BM;MA3BI,MAAA,CAAA,KAAA,CAAM,OAAO,QAAA,KAAQ,QAAA,IAAArB,eAAA,EAD7BK,eAAAA,CAaE,MAAA,CAAA,wBAAA,CAAA,EAAA;QAAA,GAAA,EAAA,CAAA;AAXC,QAAA,KAAA,EAAO,EAAA,KAAA,EAAA,MAAA,EAAA,MAAA,EAAA,MAAA,EAAA;AACP,QAAA,KAAA,EAAO,MAAA,CAAA,KAAA,CAAM,KAAA,EAAO,IAAA,IAAI,OAAW,MAAA,CAAA,KAAA,CAAM,KAAA,CAAM,IAAA,KAAI,QAAA,GAAgB,MAAA,CAAA,KAAA,CAAM,KAAA,CAAM,KAAK,OAAA,GAAU,MAAA;QAC9F,MAAA,EAAQ,EAAA,aAAA,aAAA,EAAA;AACR,QAAA,WAAA,EAAA,CAAuB,CAAA,KAAwC,MAAA,CAAA,KAAA,CAAM,QAAA,GAAQ;AAAA,UAAA,GAAsB,OAAA,KAAA,CAAM,KAAA;UAAA,QAAA,EAAA,QAAA;wCAAqF,CAAA;SAAC;+DASlMA,eAAAA,CAaE,MAAA,CAAA,WAAA,CAAA,EAAA;QAAA,GAAA,EAAA,CAAA;QAXC,KAAA,EAAO,EAAA,QAAA,MAAA,EAAA;QACR,WAAA,EAAY,YAAA;QACX,KAAA,EAAK,OAAS,OAAA,KAAA,CAAM,KAAA,EAAO,SAAI,QAAA,GAAgB,MAAA,CAAA,KAAA,CAAM,KAAA,CAAM,IAAA,GAAI,EAAA;QAC/D,QAAA,EAAM,MAAA,CAAA,CAAA,CAAA,KAAA,MAAA,CAAA,CAAA,IAAA,CAAc,CAAA,KAAkB,MAAA,CAAA,KAAA,CAAM,QAAA,GAAQ;AAAA,UAAA,GAAsB,OAAA,KAAA,CAAM,KAAA;UAAA,QAAA,EAAA,SAAA;AAA8D,UAAA,IAAA,EAAA;SAAA,CAAA;;;AAUnJQ,IAAAA,sBAAAA,CAYM,OAZNS,WAAAA,EAYM;MAXJF,eAAAA,CAUE,MAAA,CAAA,yBAAA,CAAA,EAAA;AATC,QAAA,QAAA,EAAU,MAAA,CAAA,QAAA;QACV,KAAA,EAAO,MAAA,CAAA,MAAM,KAAA,EAAO,KAAA;AACpB,QAAA,WAAA,EAAA,CAAuB,CAAA,KAA0C,MAAA,CAAA,KAAA,CAAM,QAAA,GAAQ;AAAA,UAAA,GAAsB,OAAA,KAAA,CAAM,KAAA;UAAA,KAAA,EAA6B;SAAA;;;AASlI,IAAA,MAAA,CAAA,QAAA,IAAApB,aAAAA,EAAA,EAAXC,sBAAAA,CAEM,OAAAuB,WAAAA,EAAA;MADJJ,eAAAA,CAA0D,MAAA,CAAA,cAAA,CAAA,EAAA;AAA3C,QAAA,IAAA,EAAM,OAAA,SAAA,EAAS;QAAK,OAAA,EAAK,MAAA,CAAA,CAAA,CAAA,KAAA,MAAA,CAAA,CAAA,CAAA,GAAA,CAAA,MAAA,KAAE,MAAA,CAAA,QAAA,IAAQ;AAAA,OAAA,EAAA,IAAA,EAAA,CAAA,EAAA,CAAA,MAAA,CAAA;;;;;;;;;;;;;;;;;;;;;;;;;;;AC5C7C,IAAA,YAAA,GAAA,EAAA,KAAA,EAAA,EAAA,SAAA,EAAA,MAAA,EAAA,kBAAA,QAAA,EAAA,KAAA,EAAA,OAAA,EAAuD;AASrD,IAAA,WAAA,GAAA,EAAA,KAAA,EAAA,EAAA,SAAA,EAAA,MAAA,EAAA,KAAA,EAAA,OAAA,EAA+B;;0BAX1Cf,eAAAA,CAuBa,MAAA,CAAA,YAAA,CAAA,EAAA;AAvBA,IAAA,IAAA,EAAM,MAAA,CAAA,IAAA;AAAO,IAAA,eAAA,EAAe,MAAA,CAAA;GAAA,EAAA;AAC5B,IAAA,OAAA,EAAO+C,WAAAA,CAChB,CAmBM,EApBc,KAAA,EAAK,KAAA;AACzBvC,MAAAA,sBAAAA,CAmBM,OAnBNL,YAAAA,EAmBM;AAAAR,SAAAA,aAAAA,CAAA,IAAA,CAAA,EAlBJC,sBAAAA;AAOEe,UAAAA,YAAAA;AAAA,UAAA,IAAA;UAAAC,cAAAA,CAN8B,KAAA,CAAM,IAAG,CAAE,IAAA,KAA2F,IAAI,CAAA,EAAA,CAAhI,YAAY,KAAA,KAAK;oCAD3BZ,eAAAA,CAOE,MAAA,CAAA,WAAA,CAAA,EAAA;AALC,cAAA,GAAA,EAAK,UAAA,CAAW,GAAA;AAChB,cAAA,QAAA,EAAU,MAAA,CAAA,QAAA;AACV,cAAA,KAAA,EAAO,UAAA,CAAW,KAAA;AAClB,cAAA,WAAA,EAAS,CAAG,KAAA,KAA4B,UAAA,CAAW,QAAA,CAAS,KAAK,CAAA;cACjE,WAAA,EAAS,MAAQ,KAAA,CAAM,MAAA,CAAO,KAAK;AAAA,aAAA,EAAA,MAAA,CAAA,EAAA,CAAA,YAAA,OAAA,EAAA,WAAA,EAAA,WAAA,CAAA,CAAA;;;;;AAEtCQ,QAAAA,sBAAAA,CASM,OATNQ,WAAAA,EASM;UARJD,eAAAA,CAGW,MAAA,CAAA,UAAA,CAAA,EAAA;YAHD,UAAA,EAAA,EAAA;AAAY,YAAA,OAAA,EAAK,CAAA,MAAA,KAAE,KAAA,CAAM,OAAM,EAAA,QAAA,EAAA,UAAA;WAAA,EAAA;iCACvC,MAAY;cAAZA,eAAAA,CAAY,MAAA,CAAA,UAAA,CAAA,CAAA;AAAA,cAAA,MAAA,CAAA,CAAA,CAAA,KAAA,MAAA,CAAA,CAAA,CAAA,GAAAN,mBAAAA;AAAA,gBAAA,UAAA;AAEd,gBAAA;;AAAA,eAAA;aAAA,CAAA;;;;UACAM,eAAAA,CAGW,MAAA,CAAA,UAAA,CAAA,EAAA;YAHD,UAAA,EAAA,EAAA;AAAY,YAAA,OAAA,EAAK,CAAA,MAAA,KAAE,KAAA,CAAM,OAAM,EAAA,QAAA,EAAA,WAAA;WAAA,EAAA;iCACvC,MAAY;cAAZA,eAAAA,CAAY,MAAA,CAAA,UAAA,CAAA,CAAA;AAAA,cAAA,MAAA,CAAA,CAAA,CAAA,KAAA,MAAA,CAAA,CAAA,CAAA,GAAAN,mBAAAA;AAAA,gBAAA,eAAA;AAEd,gBAAA;;AAAA,eAAA;aAAA,CAAA;;;;;;;;;;;;AC5BV,SAAS,KAAA,GAAQ;AACf,EAAA,OAAOmD,aAAA,EAAO;AAChB;AAUO,SAAS,aAAA,CAAyB;AAAA,EACvC,KAAA;AAAA,EACA,QAAA;AAAA,EACA;AACF,CAAA,EAUE;AACA,EAAA,MAAM,IAAA,GAAOvD,OAAAA,CAA2B,EAAE,CAAA;AAC1C,EAAA,MAAM,aAAA,GAAgBA,QAAI,CAAC,CAAA;AAC3B,EAAA,MAAM,aAAA,GAAgBA,QAAI,CAAC,CAAA;AAE3B,EAAA,MAAM,YAAA,GAAe,CAAC,IAAA,KAAqB;AACzC,IAAA,IAAI,OAAO,iBAAiB,UAAA,EAAY;AACtC,MAAA,OAAOwD,YAAA,CAAI,IAAA,EAAM,YAAA,CAAa,IAAI,CAAC,CAAA,IAAK,CAAA;AAAA,IAC1C;AACA,IAAA,OAAOA,YAAA,CAAI,IAAA,EAAM,YAAA,IAAgB,EAAE,CAAA,IAAK,CAAA;AAAA,EAC1C,CAAA;AAEA,EAAAH,SAAAA;AAAA,IACE,MAAM,KAAA;AAAA,IACN,MAAM;AACJ,MAAA,aAAA,CAAc,KAAA,GAAQ,cAAc,KAAA,GAAQ,CAAA;AAC5C,MAAA,IAAI,aAAA,CAAc,KAAA,KAAU,aAAA,CAAc,KAAA,EAAO;AAC/C,QAAA;AAAA,MACF;AACA,MAAA,aAAA,CAAc,QAAQ,aAAA,CAAc,KAAA;AAEpC,MAAA,MAAM,OAAA,GAAU,MAAA,CAAO,OAAA,CAAQ,KAAA,IAAS,EAAE,CAAA,CACvC,IAAA,CAAK,CAAC,CAAA,EAAG,CAAA,KAAM,YAAA,CAAa,CAAA,CAAE,CAAC,CAAC,CAAA,GAAI,YAAA,CAAa,CAAA,CAAE,CAAC,CAAC,CAAC,CAAA,CACtD,GAAA,CAAI,CAAC,CAAC,GAAG,CAAA,KAAM,GAAG,CAAA;AAErB,MAAA,MAAM,OAAA,GAAU,IAAA,CAAK,KAAA,CAAM,GAAA,CAAI,CAAC,SAAS,IAAA,CAAK,GAAG,CAAA,CAAE,MAAA,CAAO,OAAO,CAAA;AACjE,MAAA,MAAM,OAAA,GAAUI,mBAAA,CAAW,OAAA,EAAS,OAAO,CAAA;AAE3C,MAAA,IAAA,CAAK,QAAQ,IAAA,CAAK,KAAA,CACf,MAAA,CAAO,CAAC,SAAS,CAAC,IAAA,CAAK,GAAA,IAAO,OAAA,CAAQ,SAAS,IAAA,CAAK,GAAG,CAAC,CAAA,CACxD,GAAA,CAAI,CAAC,IAAA,MAAU;AAAA,QACd,IAAI,IAAA,CAAK,EAAA;AAAA,QACT,KAAK,IAAA,CAAK,GAAA;AAAA,QACV,OAAO,IAAA,CAAK,GAAA,GAAM,QAAQ,IAAA,CAAK,GAAI,IAAI,IAAA,CAAK;AAAA,QAC5C,CAAA,CACD,MAAA;AAAA,QACC,OAAA,CAAQ,GAAA,CAAI,CAAC,IAAA,MAAU;AAAA,UACrB,IAAI,KAAA,EAAM;AAAA,UACV,GAAA,EAAK,IAAA;AAAA,UACL,KAAA,EAAO,QAAQ,IAAI;AAAA,SACrB,CAAE;AAAA,OACJ;AAAA,IACJ,CAAA;AAAA,IACA,EAAE,SAAA,EAAW,IAAA,EAAM,IAAA,EAAM,IAAA;AAAK,GAChC;AAEA,EAAA,MAAM,GAAA,GAAM,CAAC,YAAA,KAA6B;AACxC,IAAA,IAAA,CAAK,KAAA,GAAQ;AAAA,MACX,GAAG,IAAA,CAAK,KAAA;AAAA,MACR;AAAA,QACE,IAAI,KAAA,EAAM;AAAA,QACV,KAAA,EAAO;AAAA;AACT,KACF;AAAA,EACF,CAAA;AAEA,EAAA,MAAM,WAAA,GAAc,CAAC,MAAA,EAAgB,SAAA,KAAyB;AAC5D,IAAA,aAAA,CAAc,KAAA,GAAQ,cAAc,KAAA,GAAQ,CAAA;AAE5C,IAAA,MAAM,QAAA,GAAW,IAAA,CAAK,KAAA,CAAM,GAAA,CAAI,CAAC,KAAA,KAAU;AACzC,MAAA,IAAI,KAAA,CAAM,OAAO,MAAA,EAAQ;AACvB,QAAA,OAAO;AAAA,UACL,GAAG,KAAA;AAAA,UACH,KAAA,EAAO;AAAA,SACT;AAAA,MACF;AACA,MAAA,OAAO,KAAA;AAAA,IACT,CAAC,CAAA;AAED,IAAA,QAAA;AAAA,MACE,MAAA,CAAO,WAAA;AAAA,QACL,QAAA,CACG,OAAO,CAAC,IAAA,KAAS,KAAK,GAAG,CAAA,CACzB,IAAI,CAAC,IAAA,KAAS,CAAC,IAAA,CAAK,GAAA,EAAM,KAAK,KAAK,CAAC,EACrC,GAAA,CAAI,CAAC,MAAM,GAAA,KAAQ;AAClB,UAAA,MAAM,QAAA,GACJ,OAAO,YAAA,KAAiB,UAAA,GACpB,aAAa,IAAA,CAAK,CAAC,CAA0B,CAAA,GAC7C,YAAA;AAEN,UAAA,IAAI1B,iBAAAA,CAAS,IAAA,CAAK,CAAC,CAAC,KAAK,QAAA,EAAU;AACjC,YAAA2B,YAAA,CAAI,IAAA,CAAK,CAAC,CAAA,EAAG,QAAA,EAAU,GAAG,CAAA;AAAA,UAC5B;AACA,UAAA,OAAO,IAAA;AAAA,QACT,CAAC;AAAA;AACL,KACF;AAEA,IAAA,IAAA,CAAK,KAAA,GAAQ,QAAA;AAAA,EACf,CAAA;AAEA,EAAA,MAAM,SAAA,GAAY,CAAC,MAAA,EAAgB,GAAA,KAAgB;AACjD,IAAA,aAAA,CAAc,KAAA,GAAQ,cAAc,KAAA,GAAQ,CAAA;AAE5C,IAAA,MAAM,QAAA,GAAW,IAAA,CAAK,KAAA,CAAM,GAAA,CAAI,CAAC,KAAA,KAAU;AACzC,MAAA,IAAI,KAAA,CAAM,OAAO,MAAA,EAAQ;AACvB,QAAA,OAAO;AAAA,UACL,GAAG,KAAA;AAAA,UACH;AAAA,SACF;AAAA,MACF;AACA,MAAA,OAAO,KAAA;AAAA,IACT,CAAC,CAAA;AAED,IAAA,QAAA;AAAA,MACE,OAAO,WAAA,CAAY,QAAA,CAAS,OAAO,CAAC,IAAA,KAAS,KAAK,GAAG,CAAA,CAAE,GAAA,CAAI,CAAC,SAAS,CAAC,IAAA,CAAK,KAAM,IAAA,CAAK,KAAK,CAAC,CAAC;AAAA,KAC/F;AAEA,IAAA,IAAA,CAAK,KAAA,GAAQ,QAAA;AAAA,EACf,CAAA;AAEA,EAAA,MAAM,MAAA,GAAS,CAAC,MAAA,KAAmB;AACjC,IAAA,aAAA,CAAc,KAAA,GAAQ,cAAc,KAAA,GAAQ,CAAA;AAE5C,IAAA,MAAM,QAAA,GAAW,KAAK,KAAA,CAAM,MAAA,CAAO,CAAC,KAAA,KAAU,KAAA,CAAM,OAAO,MAAM,CAAA;AAEjE,IAAA,QAAA;AAAA,MACE,OAAO,WAAA,CAAY,QAAA,CAAS,OAAO,CAAC,IAAA,KAAS,KAAK,GAAG,CAAA,CAAE,GAAA,CAAI,CAAC,SAAS,CAAC,IAAA,CAAK,KAAM,IAAA,CAAK,KAAK,CAAC,CAAC;AAAA,KAC/F;AAEA,IAAA,IAAA,CAAK,KAAA,GAAQ,QAAA;AAAA,EACf,CAAA;AAEA,EAAA,OAAO,EAAE,IAAA,EAAM,GAAA,EAAK,SAAA,EAAW,aAAa,MAAA,EAAO;AACrD;AChKwC1C,4BAAAA,CAAY,+MAA+M,CAAA;;;;;;;;;;;;ACenQ,IAAA,MAAM,KAAA,GAAQ,OAAA;AACd,IAAA,MAAM,EAAE,MAAM,GAAA,EAAK,SAAA,EAAW,aAAa,MAAA,EAAO,GAAI,cAAc,KAAK,CAAA;;;;;;;;;;;;;;;;;;;AAIvEzB,EAAAA,OAAAA,aAAAA,EAAAA,EAAAA,sBAAAA,CAwBM,OAAA,IAAA,EAAA;AAvBJY,IAAAA,sBAAAA;AAkBM,MAAA,KAAA;AAAA,MAAA;QAlBD,KAAA,EAAM,4BAAA;QAA8B,KAAA,EAAKT,kBAAAA,CAAE,OAAA,KAAK;AAAA,OAAA;;AACnDH,SAAAA,aAAAA,CAAAA,IAAAA,CAAAA,EAAAA,sBAAAA;AAgBMe,UAAAA,YAAAA;AAAA,UAAA,IAAA;UAAAC,cAAAA,CAhBc,MAAA,CAAA,IAAA,EAAI,CAAZ,IAAA,KAAI;AAAhBhB,YAAAA,OAAAA,aAAAA,EAAAA,EAAAA,sBAAAA,CAgBM,KAAA,EAAA;AAhBqB,cAAA,GAAA,EAAK,IAAA,CAAK,EAAA;cAAI,KAAA,EAAM;aAAA,EAAA;cAC7CmB,eAAAA,CAKE,MAAA,CAAA,SAAA,CAAA,EAAA;gBAJC,KAAA,EAAO,EAAA,OAAA,OAAA,EAAA;AACP,gBAAA,QAAA,EAAU,MAAA,CAAA,QAAA;AACV,gBAAA,KAAA,EAAO,IAAA,CAAK,GAAA;AACZ,gBAAA,QAAA,EAAM,CAAG,CAAA,KAAM,MAAA,CAAA,SAAA,CAAU,IAAA,CAAK,IAAI,CAAC;AAAA,eAAA,EAAA,MAAA,CAAA,EAAA,CAAA,UAAA,EAAA,OAAA,EAAA,UAAA,CAAA,CAAA;cAEtCA,eAAAA,CAKE,MAAA,CAAA,wBAAA,CAAA,EAAA;gBAJC,KAAA,EAAO,EAAA,UAAA,CAAA,EAAA;AACP,gBAAA,QAAA,EAAU,MAAA,CAAA,QAAA;AACV,gBAAA,KAAA,EAAO,KAAK,KAAA,EAAO,OAAA;gBACnB,WAAA,EAAS,CAAG,CAAA,KAAM,MAAA,CAAA,WAAA,CAAY,IAAA,CAAK,EAAA,EAAE,EAAA,IAAA,EAAA,KAAA,EAAA,OAAA,EAA0B,CAAA,EAAC;AAAA,eAAA,EAAA,MAAA,CAAA,EAAA,CAAA,UAAA,EAAA,OAAA,EAAA,WAAA,CAAA,CAAA;cAEnEA,eAAAA,CAEW,MAAA,CAAA,UAAA,CAAA,EAAA;AAFA,gBAAA,QAAA,EAAU,MAAA,CAAA,QAAA;AAAW,gBAAA,OAAA,EAAK,CAAA,MAAA,KAAE,MAAA,CAAA,MAAA,CAAO,KAAK,EAAE;eAAA,EAAA;qCACnD,MAAc;kBAAdA,eAAAA,CAAc,MAAA,CAAA,YAAA,CAAA;iBAAA,CAAA;;;;;;;;;;;;;IAIpBA,eAAAA,CAGW,MAAA,CAAA,UAAA,CAAA,EAAA;AAHA,MAAA,QAAA,EAAU,MAAA,CAAA,QAAA;MAAW,OAAA,EAAK,MAAA,CAAA,CAAA,CAAA,KAAA,MAAA,CAAA,CAAA,CAAA,GAAA,MAAQ,OAAA,GAAA,EAAG;KAAA,EAAA;2BAC9C,MAAY;QAAZA,eAAAA,CAAY,MAAA,CAAA,UAAA,CAAA,CAAA;AAAAN,QAAAA,mBAAAA;AAAA,UAAA,GAAA,GACZC,mBAAAA,CAAG,MAAA,CAAA,IAAA,CAAK,CAAA,CAAC,KAAA,CAAA,CAAA;AAAA,UAAA;;AAAA;OAAA,CAAA;;;;;;;;;;;;;;;;;;;;;;AC/Bf,IAAA,MAAM,mBAAA,GAAmC;MACvC,IAAA,EAAM,OAAA;MACN,KAAA,EAAO,EAAE,MAAM,IAAA;AACjB,KAAA;;;;;;;;;;;0BAMEV,eAAAA,CAEuB,MAAA,CAAA,sBAAA,CAAA,EAAA,IAAA,EAAA;AAAA,IAAA,OAAA,EAAA+C,YADrB,MAA0E;AAA1EhC,MAAAA,eAAAA;AAA0E,QAAA,MAAA,CAAA,kBAAA,CAAA;AAA1EyC,QAAAA,cAAAA,CAA0E,KAAhD,MAAA,EAAM,EAAG,gBAAA,EAAgB,MAAA,CAAA,qBAAmB,CAAA;AAAA,QAAA,IAAA;AAAA,QAAA;;AAAA;KAAA,CAAA;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;ACTnE,IAAA,YAAA,GAAA,EAAA,KAAA,EAAM,0BAAA,EAA0B;;AAArC5D,EAAAA,OAAAA,aAAAA,EAAAA,EAAAA,sBAAAA,CAEM,OAFNO,YAAAA,EAEM;AADJY,IAAAA,eAAAA;AAAiD,MAAA,MAAA,CAAA,YAAA,CAAA;MAAAiD,kBAAA,CAAAC,sBAAA,CAAA,EAAA,GAAxB,IAAA,CAAA,QAAM,IAAA,EAAA,IAAA,EAAA,CAAA,CAAA;AAAA,MAAA,IAAA;AAAA,MAAA;;AAAA;GAAA,CAAA;;;ACEnC,IAAM,mBAAA,0BAAwD,kBAAkB,CAAA;AAEzE,IAAM,oBAAoB1C,mBAAAA,CAAgB;AAAA,EAC/C,IAAA,EAAM,mBAAA;AAAA,EACN,KAAA,EAAO;AAAA,IACL,KAAA,EAAO,EAAE,IAAA,EAAM,MAAA,EAAoD,SAAS,MAAA,EAAU;AAAA,IACtF,GAAA,EAAK,EAAE,IAAA,EAAM,MAAA,EAAwC,SAAS,MAAA;AAAU,GAC1E;AAAA,EACA,KAAA,CAAM,KAAA,EAAO,EAAE,KAAA,EAAM,EAAG;AACtB,IAAAC,WAAAA;AAAA,MACE,mBAAA;AAAA,MACApB,aAAS,OAAO;AAAA,QACd,OAAO,KAAA,CAAM,KAAA;AAAA,QACb,KAAK,KAAA,CAAM;AAAA,QACX,CAAA,CAAE;AAAA,KACN;AACA,IAAA,MAAM,GAAA,GAAMA,aAAS,OAAO;AAAA,MAC1B,OAAO,KAAA,CAAM,KAAA;AAAA,MACb,KAAK,KAAA,CAAM;AAAA,KACb,CAAE,CAAA;AACF,IAAAoB,WAAAA,CAAQ,qBAAqB,GAA6B,CAAA;AAC1D,IAAA,OAAO,MAAM,MAAM,OAAA,IAAU;AAAA,EAC/B;AACF,CAAC;AAEM,IAAM,mBAAA,GAAsB,MACjCF,UAAAA,CAAO,mBAAA,EAAqB;AAAA,EAC1B,OAAO,EAAC;AAAA,EACR,GAAA,EAAK;AACP,CAAC;AClBI,SAAS,YAAA,CAAa;AAAA,EAC3B,UAAA;AAAA,EACA,QAAA;AAAA,EACA,SAAA;AAAA,EACA,YAAA;AAAA,EACA;AACF,CAAA,EAAgB;AACd,EAAA,MAAM,cAAcG,eAAAA,EAAe;AACnC,EAAA,MAAM,eAAe,mBAAA,EAAoB;AACzC,EAAA,MAAM,eAAerB,YAAAA,CAAS,MAAM8D,SAAA,CAAM,YAAY,GAAG,KAAK,CAAA;AAC9D,EAAA,MAAM,aAAa9D,YAAAA,CAAS,MAAM8D,SAAA,CAAM,YAAY,GAAG,GAAG,CAAA;AAE1D,EAAA,MAAM,SAAA,GAAY9D,aAAS,MAAM,UAAA,EAAY,SAAS,YAAA,CAAa,KAAA,IAAS,EAAE,CAAA;AAC9E,EAAA,MAAM,MAAA,GAASA,aAAS,MAAM,UAAA,EAAY,OAAO,UAAA,CAAW,KAAA,IAAS,EAAE,CAAA;AAEvE,EAAA,MAAM,MAAA,GAASA,YAAAA;AAAA,IAAS,MACtB,UAAA,GAAa,WAAA,CAAY,eAAA,CAAgB,UAAU,CAAA,GAAI;AAAA,GACzD;AAEA,EAAA,MAAM,IAAA,GAAOA,aAAS,MAAM;AAC1B,IAAA,MAAM,UAAU,MAAA,CAAO,KAAA;AACvB,IAAA,IAAI,CAAC,OAAA,EAAS;AACZ,MAAA,OAAO,MAAA;AAAA,IACT;AACA,IAAA,IAAI,SAAA,CAAU,KAAA,CAAM,OAAA,CAAQ,IAAI,CAAA,EAAG;AACjC,MAAA,OAAO,SAAA,CAAU,KAAA,CAAM,OAAA,CAAQ,IAAI,CAAA;AAAA,IACrC;AACA,IAAA,IAAI,OAAO,OAAA,CAAQ,aAAA,KAAkB,UAAA,EAAY;AAC/C,MAAA,OAAO,OAAA,CAAQ,cAAc,UAAU,CAAA;AAAA,IACzC;AACA,IAAA,OAAO,OAAA,CAAQ,aAAA;AAAA,EACjB,CAAC,CAAA;AAED,EAAA,MAAM,YAAA,GAAeA,YAAAA;AAAA,IAAS,MAC5B,MAAA,CAAO,IAAA,CAAK,KAAK,KAAA,IAAS,EAAE,CAAA,CACzB,MAAA,CAAO,CAAC,GAAA,KAAQ,OAAO,KAAA,CAAM,GAAG,CAAC,CAAA,CACjC,GAAA,CAAI,CAAC,GAAA,MAAS;AAAA,MACb,GAAI,MAAA,CAAO,KAAA,GAAQ,GAAG,KAAK,EAAC;AAAA,MAC5B,KAAA,EAAO,GAAA;AAAA,MACP,KAAA,EAAOyB,UAAK,CAAA,CAAE,MAAA,CAAO,QAAQ,GAAG,CAAA,EAAG,SAAS,GAAG;AAAA,KACjD,CAAE;AAAA,GACN;AAEA,EAAA6B,SAAAA;AAAA,IACE,MAAM,CAAC,QAAA,EAAU,YAAA,CAAa,KAAK,CAAA;AAAA,IACnC,MAAM;AACJ,MAAA,IAAI,CAAC,QAAA,IAAY,CAAC,IAAA,CAAK,KAAA,EAAO;AAC5B,QAAA;AAAA,MACF;AACA,MAAA,IAAI,CAAC,aAAa,KAAA,CAAM,IAAA,CAAK,CAAC,IAAA,KAAS,IAAA,CAAK,KAAA,KAAU,QAAQ,CAAA,EAAG;AAC/D,QAAA,SAAA,IAAY;AAAA,MACd;AAAA,IACF;AAAA,GACF;AAEA,EAAA,MAAM,YAAA,GAAetD,aAAS,MAAM;AAClC,IAAA,MAAM,UAAA,GAA0C,IAAA,CAAK,KAAA,GAAQ,QAAA,IAAY,EAAE,CAAA,IAAK,IAAA;AAEhF,IAAA,IAAI,CAAC,UAAA,EAAY;AACf,MAAA,OAAO,MAAA;AAAA,IACT;AAEA,IAAA,IAAI,OAAO,eAAe,QAAA,EAAU;AAClC,MAAA,OAAO,EAAE,IAAA,EAAM,UAAA,EAAY,OAAO,EAAE,IAAA,EAAM,MAAK,EAAE;AAAA,IACnD;AAEA,IAAA,OAAO,UAAA;AAAA,EACT,CAAC,CAAA;AAED,EAAA,MAAM,mBAAA,GAAsBC,QAA6B,MAAS,CAAA;AAElE,EAAAqD,SAAAA;AAAA,IACE,MAAM,YAAA,CAAa,KAAA;AAAA,IACnB,CAAC,IAAA,KAAS;AACR,MAAA,IAAI,CAAC,oBAAoB,KAAA,EAAO;AAC9B,QAAA,mBAAA,CAAoB,KAAA,GAAQ,IAAA;AAC5B,QAAA;AAAA,MACF;AACA,MAAA,IAAI,mBAAA,CAAoB,KAAA,EAAO,IAAA,KAAS,IAAA,EAAM,IAAA,EAAM;AAClD,QAAA,YAAA,IAAe;AAAA,MACjB;AACA,MAAA,mBAAA,CAAoB,KAAA,GAAQ,IAAA;AAAA,IAC9B;AAAA,GACF;AAEA,EAAA,MAAM,WAAWtD,YAAAA,CAAS,MAAM,OAAO,KAAA,CAAM,QAAA,IAAY,EAAE,CAAC,CAAA;AAE5D,EAAA,OAAO;AAAA,IACL,IAAA;AAAA,IACA,QAAA;AAAA,IACA,YAAA;AAAA,IACA;AAAA,GACF;AACF;ACvHwCiB,4BAAAA,CAAY,uYAAuY,CAAA;;;;;;;;;;;;ACuB3b,IAAA,MAAM,KAAA,GAAQ,OAAA;AAWd,IAAA,MAAM,YAAYoC,8BAAAA,EAAkB;AACpC,IAAA,MAAM,IAAA,GAAOrD,YAAAA,CAAS,MAAM,KAAA,CAAM,OAAO,IAAI,CAAA;AAC7C,IAAA,MAAM,QAAA,GAAWA,YAAAA,CAAS,MAAM,KAAA,CAAM,OAAO,QAAQ,CAAA;AACrD,IAAA,MAAM,KAAA,GAAQA,YAAAA,CAAS,MAAM,KAAA,CAAM,OAAO,KAAK,CAAA;AAE/C,IAAA,MAAM,QAAA,GAAWA,aAAS,MAAM;AAC9B,MAAA,IAAI,CAAC,KAAK,KAAA,EAAO;AACf,QAAA,OAAO,MAAA;AACT,MAAA;AACA,MAAA,OAAO,SAAA,CAAU,KAAA,CAAM,YAAA,CAAa,IAAA,CAAK,MAAM,OAAO,CAAA;IACxD,CAAC,CAAA;AAED,IAAA,MAAM,UAAA,GAAaA,aAAS,MAAM;AAChC,MAAA,IAAI,CAAC,SAAS,KAAA,EAAO;AACnB,QAAA,OAAO,MAAA;AACT,MAAA;AACA,MAAA,OAAOuB,0BAAAA,CAAgB,YAAY,QAAA,CAAS,KAAA,CAAM,MAAM,EAAE,SAAA,EAAW,OAAO,CAAA;IAC9E,CAAC,CAAA;AAED,IAAA,MAAM,YAAY,YAAA,CAAa;AAC7B,MAAA,IAAI,UAAA,GAAa;AACf,QAAA,OAAO,UAAA,CAAW,KAAA;AACpB,MAAA,CAAA;AACA,MAAA,IAAI,QAAA,GAAW;AACb,QAAA,OAAO,QAAA,CAAS,KAAA;AAClB,MAAA,CAAA;AACA,MAAA,UAAA,EAAY,KAAA,CAAM,UAAA;MAClB,SAAA,GAAY;AACV,QAAA,KAAA,CAAM,QAAA,CAAS;AACb,UAAA,GAAG,KAAA,CAAM,KAAA;UACT,QAAA,EAAU;SACX,CAAA;AACH,MAAA,CAAA;MACA,YAAA,GAAe;AACb,QAAA,KAAA,CAAM,QAAA,CAAS;AACb,UAAA,GAAG,KAAA,CAAM,KAAA;UACT,KAAA,EAAO;SACR,CAAA;AACH,MAAA;KACD,CAAA;;;;;;;;;;;;;;;;;;;;AAKQ,IAAA,YAAA,GAAA,EAAA,KAAA,EAAM,gCAAA,EAAgC;AAetC,IAAA,WAAA,GAAA,EAAA,KAAA,EAAM,8BAAA,EAA8B;AAClC,IAAA,WAAA,GAAA,EAAA,KAAA,EAAM,4BAAA,EAA4B;AAclC,IAAA,WAAA,GAAA,EAAA,KAAA,EAAM,6BAAA,EAA6B;;AA/B5C/B,EAAAA,OAAAA,aAAAA,EAAAA,EAAAA,sBAAAA;AA+CM,IAAA,KAAA;AAAA,IAAA;MA/CD,KAAA,EAAM,iCAAA;MAAmC,KAAA,EAAKG,kBAAAA,CAAE,OAAA,KAAK;AAAA,KAAA;;AACxDS,MAAAA,sBAAAA,CAcM,OAdNL,YAAAA,EAcM;QAbJY,eAAAA,CAYW,MAAA,CAAA,UAAA,CAAA,EAAA;AAXR,UAAA,QAAA,EAAU,MAAA,CAAA,QAAA;AACV,UAAA,KAAA,EAAO,MAAA,CAAA,QAAA;AACP,UAAA,OAAA,EAAS,MAAA,CAAA,KAAA,CAAM,MAAA,CAAA,SAAA,CAAU,YAAY,CAAA;AACrC,UAAA,QAAA,EAAM,OAAA,CAAA,CAAA,KAAA,OAAA,CAAA,CAAA,GAAA,CAAG,CAAA,KAAM,MAAA,CAAA,QAAA,CAAQ,EAAA,GAAM,MAAA,CAAA,KAAA,EAAK,UAAY,MAAA,CAAO,CAAC,GAAA,CAAA;SAAA,EAAA;AAE5C,UAAA,OAAA,EAAOgC,YAChB,MAGW;YAHXhC,eAAAA,CAGW,MAAA,CAAA,UAAA,CAAA,EAAA;AAHA,cAAA,QAAA,EAAQ,CAAG,MAAA,CAAA,KAAA,CAAM,MAAA,CAAA,UAAU,IAAI;aAAA,EAAA;mCACxC,MAAmD;AAAAN,gBAAAA,mBAAAA;AAAhD,kBAAA0D,mBAAA,CAAA,MAAA,CAAA,MAAM,MAAA,CAAA,SAAA,CAAU,QAAQ,CAAA,EAAG,YAAA,IAAY,EAAA,CAAA,GAAS,GAAA;AACnD,kBAAA;;AAAA,iBAAA;gBAAA,CAAwB,MAAA,CAAA,MAAM,MAAA,CAAA,SAAA,CAAU,QAAQ,CAAA,EAAG,YAAA,IAAAxE,eAAA,EAAnDK,eAAAA,CAAmE,OAAA,iBAAA,CAAA,EAAA,EAAA,GAAA,EAAA,CAAA,EAAA,CAAA,IAAAE,sBAAAA,CAAA,QAAA,IAAA;;;;;;;;;;AAK3EM,MAAAA,sBAAAA,CA8BM,OA9BNQ,WAAAA,EA8BM;AA7BJR,QAAAA,sBAAAA,CAaM,OAbNS,WAAAA,EAaM;UAZJF,eAAAA,CAWE,MAAA,CAAA,wBAAA,CAAA,EAAA;AAVC,YAAA,QAAA,EAAU,MAAA,CAAA,QAAA;YACV,KAAA,EAAO,EAAA,OAAA,MAAA,EAAA;AACP,YAAA,KAAA,EAAO,OAAA,IAAA,EAAM,OAAA;YACb,WAAA,EAAA,CAAyB,CAAA,KAA0C,MAAA,CAAA,QAAA,CAAQ;AAAA,cAAA,GAAsB,MAAA,CAAA,KAAA;AAAA,cAAA,IAAA,EAAA,EAAA,IAAA,EAAA,KAAA,EAAA,OAAA,EAAqD,CAAA;aAAC;;;AAS5JP,QAAAA,sBAAAA,CAcM,OAdNW,WAAAA,EAcM;UAZI,MAAA,CAAA,KAAA,CAAM,MAAA,CAAA,SAAA,CAAU,YAAY,CAAA,IAAAxB,eAAA,EADpCK,eAAAA,CAME,MAAA,CAAA,yBAAA,CAAA,EAAA;YAAA,GAAA,EAAA,CAAA;AAJC,YAAA,QAAA,EAAU,OAAA,QAAA,IAAQ,CAAK,OAAA,KAAA,CAAM,MAAA,CAAA,UAAU,IAAI,CAAA;AAC3C,YAAA,KAAA,EAAO,MAAA,CAAA,KAAA;AACP,YAAA,MAAA,EAAQ,MAAA,CAAA,KAAA,CAAM,MAAA,CAAA,SAAA,CAAU,YAAY,CAAA;YACpC,WAAA,EAAS,CAAG,CAAA,KAAM,MAAA,CAAA,QAAA,CAAQ,EAAA,GAAM,MAAA,CAAA,KAAA,EAAK,KAAA,EAAS,CAAA,EAAC;AAAA,WAAA,EAAA,IAAA,EAAA,CAAA,EAAA,CAAA,UAAA,EAAA,SAAA,QAAA,EAAA,WAAA,CAAA,CAAA,KAAAL,aAAAA,EAAA,EAElDK,eAAAA,CAKE,MAAA,CAAA,SAAA,CAAA,EAAA;YAAA,GAAA,EAAA,CAAA;YAHA,QAAA,EAAA,EAAA;YACC,KAAA,EAAO,EAAA,eAAA,MAAA,EAAA;YACP,KAAA,EAAO,MAAA,CAAA,KAAA,CAAM,MAAA,CAAA,SAAA,CAAU,QAAQ,GAAG,YAAA,IAAgB,MAAA,CAAA,IAAA,CAAK,CAAA,CAAC,OAAA;AAAA,WAAA,EAAA,IAAA,EAAA,CAAA,EAAA,CAAA,OAAA,CAAA,CAAA;;;;;;;;;;;;;;;;;;;;;;;AC1G5D,IAAA,YAAA,GAAA,EAAA,KAAA,EAAM,8BAAA,EAA8B;;AAAzCJ,EAAAA,OAAAA,aAAAA,EAAAA,EAAAA,sBAAAA,CAEM,OAFNO,YAAAA,EAEM;IADJY,eAAAA,CAAiD,MAAA,CAAA,kBAAA,CAAA,EAAA;AAA9B,MAAA,WAAA,EAAS,MAAQ;KAAA;;;;;;;;;;;;;ACPhC,IAAA,YAAA,GAAA,EAAA,KAAA,EAAM,6BAAA,EAA6B;;AAAzCnB,EAAAA,OAAAA,aAAAA,EAAAA,EAAAA,sBAAAA,CAA4C,QAA5CO,YAA4C,CAAA;;;;;;;;;;;;;;;ACMvC,IAAA,YAAA,GAAA,EAAA,KAAA,EAAM,4BAAA,EAA4B;;AAAvCP,EAAAA,OAAAA,aAAAA,EAAAA,EAAAA,sBAAAA,CAA0C,OAA1CO,YAA0C,CAAA;;;;;ACHrC,IAAM,kBAAA,GAAqB,qBAAqB,qBAAA,EAAc;AAAA,EACnE,SAAA,EAAW;AACb,CAAC;AAEM,IAAM,uBAAA,GAA0B,qBAAqB,oBAAA,EAAmB;AAAA,EAC7E,SAAA,EAAW;AACb,CAAC;AAEM,IAAM,gBAAA,GAAmB,qBAAqB,mBAAA,EAAY;AAAA,EAC/D,SAAA,EAAW;AACb,CAAC;ACrBuCkB,4BAAAA,CAAY,ukBAAukB,CAAA;;;;;;;;;;;;;ACqB3nB,IAAA,MAAM,KAAA,GAAQ,OAAA;AAYd,IAAA,MAAM,cAAcI,eAAAA,EAAe;AACnC,IAAA,MAAM,IAAA,GAAOrB,YAAAA,CAAS,MAAM,KAAA,CAAM,OAAO,IAAI,CAAA;AAC7C,IAAA,MAAM,QAAA,GAAWA,YAAAA,CAAS,MAAM,KAAA,CAAM,OAAO,QAAQ,CAAA;AACrD,IAAA,MAAM,KAAA,GAAQA,YAAAA,CAAS,MAAM,KAAA,CAAM,OAAO,KAAK,CAAA;AAC/C,IAAA,MAAM,UAAA,GAAaA,YAAAA,CAAS,MAAM,KAAA,CAAM,OAAA,EAAS,IAAA,CAAK,CAAC,IAAA,KAAS,IAAA,CAAK,KAAA,KAAU,IAAA,CAAK,KAAK,GAAG,MAAM,CAAA;AAElG,IAAA,MAAM,YAAY,YAAA,CAAa;AAC7B,MAAA,IAAI,UAAA,GAAa;AACf,QAAA,OAAO,UAAA,CAAW,KAAA;AACpB,MAAA,CAAA;AACA,MAAA,IAAI,QAAA,GAAW;AACb,QAAA,OAAO,QAAA,CAAS,KAAA;AAClB,MAAA,CAAA;AACA,MAAA,UAAA,EAAY,KAAA,CAAM,UAAA;MAClB,SAAA,GAAY;AACV,QAAA,KAAA,CAAM,SAAS,EAAE,GAAG,MAAM,KAAA,EAAO,QAAA,EAAU,QAAW,CAAA;AACxD,MAAA,CAAA;MACA,YAAA,GAAe;AACb,QAAA,KAAA,CAAM,SAAS,EAAE,GAAG,MAAM,KAAA,EAAO,KAAA,EAAO,QAAW,CAAA;AACrD,MAAA;KACD,CAAA;AAED,IAAA,MAAM,UAAA,GAAaA,YAAAA;AACjB,MAAA,MACE,KAAA,CAAM,OAAA,EAAS,GAAA,CAAI,CAAC,IAAA,MAAU;AAC5B,QAAA,KAAA,EAAOS,KAAAA,CAAE,KAAA,EAAO,EAAE,KAAA,EAAO,yCAAwC,EAAG;UAClE,WAAA,CAAY,cAAA,CAAe,KAAK,MAAM,CAAA;UACtC,IAAA,CAAK;SACN,CAAA;AACD,QAAA,KAAA,EAAO,IAAA,CAAK;AACd,OAAA,CAAE,KAAK;AACX,KAAA;;;;;;;;;;;;;;;;;;AAKS,IAAA,YAAA,GAAA,EAAA,KAAA,EAAM,mCAAA,EAAmC;AAezC,IAAA,WAAA,GAAA,EAAA,KAAA,EAAM,iCAAA,EAAiC;AACrC,IAAA,WAAA,GAAA,EAAA,KAAA,EAAM,+BAAA,EAA+B;AASrC,IAAA,WAAA,GAAA,EAAA,KAAA,EAAM,gCAAA,EAAgC;;AA1B/CjB,EAAAA,OAAAA,aAAAA,EAAAA,EAAAA,sBAAAA;AA0CM,IAAA,KAAA;AAAA,IAAA;MA1CD,KAAA,EAAM,oCAAA;MAAsC,KAAA,EAAKG,kBAAAA,CAAE,OAAA,KAAK;AAAA,KAAA;;AAC3DS,MAAAA,sBAAAA,CAcM,OAdNL,YAAAA,EAcM;QAbJY,eAAAA,CAYW,MAAA,CAAA,UAAA,CAAA,EAAA;AAXR,UAAA,QAAA,EAAU,MAAA,CAAA,QAAA;AACV,UAAA,KAAA,EAAO,MAAA,CAAA,QAAA;AACP,UAAA,OAAA,EAAS,MAAA,CAAA,KAAA,CAAM,MAAA,CAAA,SAAA,CAAU,YAAY,CAAA;AACrC,UAAA,QAAA,EAAM,OAAA,CAAA,CAAA,KAAA,OAAA,CAAA,CAAA,GAAA,CAAG,CAAA,KAAM,MAAA,CAAA,QAAA,CAAQ,EAAA,GAAM,MAAA,CAAA,KAAA,EAAK,UAAY,MAAA,CAAO,CAAC,GAAA,CAAA;SAAA,EAAA;AAE5C,UAAA,OAAA,EAAOgC,YAChB,MAGW;YAHXhC,eAAAA,CAGW,MAAA,CAAA,UAAA,CAAA,EAAA;AAHA,cAAA,QAAA,EAAQ,CAAG,MAAA,CAAA,KAAA,CAAM,MAAA,CAAA,UAAU,IAAI;aAAA,EAAA;mCACxC,MAAmD;AAAAN,gBAAAA,mBAAAA;AAAhD,kBAAA2D,mBAAA,CAAA,MAAA,CAAA,MAAM,MAAA,CAAA,SAAA,CAAU,QAAQ,CAAA,EAAG,YAAA,IAAY,EAAA,CAAA,GAAS,GAAA;AACnD,kBAAA;;AAAA,iBAAA;gBAAA,CAAwB,MAAA,CAAA,MAAM,MAAA,CAAA,SAAA,CAAU,QAAQ,CAAA,EAAG,YAAA,IAAAzE,eAAA,EAAnDK,eAAAA,CAAmE,OAAA,iBAAA,CAAA,EAAA,EAAA,GAAA,EAAA,CAAA,EAAA,CAAA,IAAAE,sBAAAA,CAAA,QAAA,IAAA;;;;;;;;;;AAK3EM,MAAAA,sBAAAA,CAyBM,OAzBNQ,WAAAA,EAyBM;AAxBJR,QAAAA,sBAAAA,CAQM,OARNS,WAAAA,EAQM;UAPJF,eAAAA,CAME,MAAA,CAAA,UAAA,CAAA,EAAA;YALA,KAAA,EAAM,iCAAA;AACL,YAAA,QAAA,EAAU,MAAA,CAAA,QAAA;AACV,YAAA,KAAA,EAAO,MAAA,CAAA,IAAA;AACP,YAAA,OAAA,EAAS,MAAA,CAAA,UAAA;AACT,YAAA,QAAA,EAAM,OAAA,CAAA,CAAA,KAAA,OAAA,CAAA,CAAA,GAAA,CAAG,CAAA,KAAM,MAAA,CAAA,QAAA,CAAQ,EAAA,GAAM,MAAA,CAAA,KAAA,EAAK,MAAQ,MAAA,CAAO,CAAC,GAAA,CAAA;AAAA,WAAA,EAAA,MAAA,CAAA,EAAA,CAAA,UAAA,EAAA,OAAA,EAAA,SAAA,CAAA;;AAGvDP,QAAAA,sBAAAA,CAcM,OAdNW,WAAAA,EAcM;UAZI,MAAA,CAAA,KAAA,CAAM,MAAA,CAAA,SAAA,CAAU,YAAY,CAAA,IAAAxB,eAAA,EADpCK,eAAAA,CAME,MAAA,CAAA,yBAAA,CAAA,EAAA;YAAA,GAAA,EAAA,CAAA;AAJC,YAAA,QAAA,EAAU,OAAA,QAAA,IAAQ,CAAK,OAAA,KAAA,CAAM,MAAA,CAAA,UAAU,IAAI,CAAA;AAC3C,YAAA,KAAA,EAAO,MAAA,CAAA,KAAA;AACP,YAAA,MAAA,EAAQ,MAAA,CAAA,KAAA,CAAM,MAAA,CAAA,SAAA,CAAU,YAAY,CAAA;YACpC,WAAA,EAAS,CAAG,CAAA,KAAM,MAAA,CAAA,QAAA,CAAQ,EAAA,GAAM,MAAA,CAAA,KAAA,EAAK,KAAA,EAAS,CAAA,EAAC;AAAA,WAAA,EAAA,IAAA,EAAA,CAAA,EAAA,CAAA,UAAA,EAAA,SAAA,QAAA,EAAA,WAAA,CAAA,CAAA,KAAAL,aAAAA,EAAA,EAElDK,eAAAA,CAKE,MAAA,CAAA,SAAA,CAAA,EAAA;YAAA,GAAA,EAAA,CAAA;YAHA,QAAA,EAAA,EAAA;YACC,KAAA,EAAO,EAAA,eAAA,MAAA,EAAA;YACP,KAAA,EAAO,MAAA,CAAA,KAAA,CAAM,MAAA,CAAA,SAAA,CAAU,QAAQ,GAAG,YAAA,IAAgB,MAAA,CAAA,IAAA,CAAK,CAAA,CAAC,OAAA;AAAA,WAAA,EAAA,IAAA,EAAA,CAAA,EAAA,CAAA,OAAA,CAAA,CAAA;;;;;;;;;AC1G3BqB,4BAAAA,CAAY,4hCAAgiC,CAAA;;;;;;;;;;;;;ACcplC,IAAA,MAAM,KAAA,GAAQ,OAAA;AAYd,IAAA,MAAM,sBAAsBI,yBAAAA,EAAe;AAC3C,IAAA,MAAM,WAAA,GAAc,MAAM,WAAA,IAAe,mBAAA;AACzC,IAAA,MAAM,MAAA,GAAS,WAAA,CAAY,eAAA,CAAgB,KAAA,CAAM,KAAK,CAAA;AACtD,IAAA,MAAM,KAAA,GAAQ,WAAA,CAAY,cAAA,CAAe,KAAA,CAAM,KAAK,CAAA;AACpD,IAAA,MAAM,IAAA,GAAO,WAAA,EAAa,cAAA,CAAe,KAAA,CAAM,KAAK,CAAA;AACpD,IAAA,MAAM,UAAA,GACJ,MAAM,SAAA,IAAa,MAAA,GAAS,OAAO,uBAAA,CAAwB,KAAA,CAAM,KAAK,CAAA,GAAI,EAAC;AAC7E,IAAA,MAAM,YAAA,GAAe,MAAA,CAAO,OAAA,CAAQ,UAAA,IAAc,EAAE,CAAA;;;;;;AAK3C,IAAA,YAAA,GAAA,EAAA,KAAA,EAAM,iCAAA,EAAiC;;;EAClB,KAAA,EAAM;;AAEzB,IAAA,WAAA,GAAA,EAAA,KAAA,EAAM,mCAAA,EAAmC;;;EAKhB,KAAA,EAAM;;;;AATxC7B,EAAAA,OAAAA,aAAAA,EAAAA,EAAAA,sBAAAA;AAgBM,IAAA,KAAA;AAAA,IAAA;AAhBA,MAAA,KAAA,EAAKC,kBAAAA,CAAA,CAAA,uCAAA,EAA4C,MAAA,CAAA,KAAK,CAAA,CAAA;AAAA,KAAA;;AAC1DW,MAAAA,sBAAAA,CAOM,OAPNL,YAAAA,EAOM;QANO,MAAA,CAAA,KAAA,KAAK,CAAA,IAAAR,aAAAA,EAAA,EAAhBC,sBAAAA,CAA8E,OAA9EoB,YAA8E,CAAA,IAAAd,sBAAAA,CAAA,MAAA,EAAA,IAAA,CAAA;QAC7D,MAAA,CAAA,QAAA,IAAY,OAAA,IAAA,IAAAP,aAAAA,IAA7BK,eAAAA,CAAkEC,2BAAAA,CAA1B,MAAA,CAAA,IAAI,CAAA,EAAA;UAAA,GAAA,EAAA,CAAA;UAAE,KAAA,EAAM;SAAA,CAAA,IAAAC,sBAAAA,CAAA,MAAA,EAAA,IAAA,CAAA;AACpDM,QAAAA,sBAAAA,CAGM,OAHNS,WAAAA,EAGM;UAFY,MAAA,CAAA,SAAA,IAAAtB,eAAA,EAAhBC,sBAAAA;AAAmEe,YAAAA,YAAAA;AAAA,YAAA,EAAA,KAAA,CAAA,EAAA;AAAA,YAAA;AAAAF,cAAAA,mBAAAA;AAArC,gBAAA4D,mBAAA,CAAA,MAAA,CAAA,SAAS,CAAA,GAAG,IAAA,GAAE3D,mBAAAA,CAAG,MAAA,CAAA,KAAK,CAAA,GAAG,GAAA;AAAC,gBAAA;;AAAA;AAAA,aAAA;;;AACxDd,WAAAA,KAAAA,aAAAA,EAAAA,EAAAA,sBAAAA;AAAuCe,YAAAA,YAAAA;AAAA,YAAA,EAAA,KAAA,CAAA,EAAA;AAAA,YAAA;AAAAF,cAAAA,mBAAAA;AAAnB,gBAAA4D,mBAAA,CAAA,MAAA,CAAA,KAAK,CAAA;AAAA,gBAAA;;AAAA;AAAA,aAAA;;;;;;AAGlB,MAAA,MAAA,CAAA,aAAa,MAAA,IAAA1E,aAAAA,EAAA,EAAxBC,sBAAAA,CAMM,OANNuB,WAAAA,EAMM;AAAAxB,SAAAA,aAAAA,CAAA,IAAA,CAAA,EALJC,sBAAAA;AAIEe,UAAAA,YAAAA;AAAA,UAAA,IAAA;AAAAC,UAAAA,cAAAA,CAHuB,OAAA,YAAA,EAAY,CAAA,CAA3B,GAAA,EAAK,KAAK,CAAA,KAAA;AADpBZ,YAAAA,OAAAA,aAAAA,EAAAA,EAAAA,eAAAA;AAIE,cAAA,4BAAA;AAJFwD,cAAAA,cAAAA,CAIE,EAFC,GAAA,EAAQ,EAAA,EAAA,OAAA,EAAA,IAAA,IAAA,EAAA,GACI,KAAA,MAAA,EAAM,SAAA,EAAa,KAAG,KAAA,EAAS,KAAA,EAAK,OAAS,MAAA,CAAA,KAAA,GAAK,GAAA,CAAA;AAAA,cAAA,IAAA;AAAA,cAAA;;AAAA,aAAA;UAAA,CAAA,CAAA;;;;;;;;;;;AClD/BnC,4BAAAA,CAAY,qVAAqV,CAAA;;;;;;;;;;;ACsBzY,IAAA,MAAM,cAAcI,eAAAA,EAAe;;;;;;;;;;;;;;EAUV,KAAA,EAAM;;AAGpB,IAAA,YAAA,GAAA,EAAA,KAAA,EAAM,4CAAA,EAA4C;;0BAT3DzB,eAAAA,CAaY,MAAA,CAAA,WAAA,CAAA,EAAA,IAAA,EAAA;AALC,IAAA,OAAA,EAAO+C,YAChB,MAEM;AAFNvC,MAAAA,sBAAAA,CAEM,OAFNQ,YAAAA,EAEM;QADJD,eAAAA,CAAkG,MAAA,CAAA,mBAAA,CAAA,EAAA;UAA9E,KAAA,EAAO,MAAA,CAAA,SAAK,EAAA;AAAS,UAAA,cAAA,EAAc,MAAA,CAAA,WAAA;AAAc,UAAA,WAAA,EAAW,MAAA,CAAA;AAAA,SAAA,EAAA,MAAA,CAAA,EAAA,CAAA,OAAA,EAAA,cAAA,EAAA,WAAA,CAAA;;;yBATpF,MAMQ;MANRA,eAAAA,CAMQ,MAAA,CAAA,OAAA,CAAA,EAAA;QANA,KAAA,EAAO,MAAA,CAAA,UAAO,OAAA,GAAA,OAAA;QAAsB,KAAA,EAAM;OAAA,EAAA;6BAChD,MAGE;WAAApB,aAAAA,EAAA,EAHFK,gBAGEC,2BAAAA,CAFK,MAAA,CAAA,aAAa,cAAA,CAAe,MAAA,CAAA,KAAA,IAAK,EAAA,CAAA,IAAW,OAAA,WAAA,CAAY,cAAA,CAAc,EAAA,IAAA,EAAA,SAAA,EAAA,CAAA,CAAA,EAAA,EAC3E,KAAA,EAAM,UAAA,EAAU,CAAA;UAEN,MAAA,CAAA,KAAA,IAAAN,eAAA,EAAZC,sBAAAA;AAA8E,YAAA,MAAA;AAA9EO,YAAAA,YAAAA;AAA8EO,YAAAA,mBAAAA,CAAf,OAAA,KAAK,CAAA;AAAA,YAAA;;WAAA,IAAAR,sBAAAA,CAAA,QAAA,IAAA;;;;;;;;;;;;;;;;;;;;ACnB1E,IAAA,MAAM,KAAA,GAAQ,OAAA;AAMd,IAAA,MAAM,YAAYuD,8BAAAA,EAAkB;AACpC,IAAA,MAAM,QAAA,GAAWrD,YAAAA;MAAS,MACxB,KAAA,CAAM,KAAA,EAAO,IAAA,KAAS,KAAA,GAAQ,SAAA,CAAU,MAAM,YAAA,CAAa,KAAA,CAAM,KAAA,EAAO,OAAO,CAAA,GAAI;AACrF,KAAA;AAEA,IAAA,MAAM,MAAA,GAASA,aAAS,MAAM;AAC5B,MAAA,IAAI,KAAA,CAAM,KAAA,EAAO,IAAA,KAAS,KAAA,EAAO;AAC/B,QAAA,OAAOuB,0BAAAA,CAAgB,WAAA,CAAY,QAAA,CAAS,KAAA,EAAO,IAAI,CAAA;AACzD,MAAA;AACA,MAAA,IAAI,KAAA,CAAM,KAAA,EAAO,IAAA,KAAS,UAAA,EAAY;AACpC,QAAA,OAAO,EAAE,MAAM,QAAA,EAAS;AAC1B,MAAA;AACA,MAAA,IAAI,KAAA,CAAM,KAAA,EAAO,IAAA,KAAS,UAAA,EAAY;AACpC,QAAA,OAAOK,sBAAA,CAAe,uBAAA,CAAwB,KAAA,CAAM,KAAK,CAAA;AAC3D,MAAA;AACA,MAAA,OAAO,EAAE,MAAM,SAAA,EAAU;IAC3B,CAAC,CAAA;;;;;;;;;0BAIChC,eAAAA,CAKE,MAAA,CAAA,kBAAA,CAAA,EAAA;AAJC,IAAA,KAAA,EAAO,MAAA,CAAA,KAAA;AACP,IAAA,KAAA,EAAO,MAAA,CAAA,MAAA;AACP,IAAA,mBAAA,EAAmB,MAAA,CAAA,cAAA;AACnB,IAAA,OAAA,EAAS,MAAA,CAAA,KAAA,EAAO,IAAA,KAAI,KAAA,IAAA,CAAe,MAAA,CAAA;AAAA,GAAA,EAAA,MAAA,CAAA,EAAA,CAAA,SAAA,OAAA,EAAA,mBAAA,EAAA,SAAA,CAAA,CAAA;;;;;;;;;;;;AC9BxC,IAAA,MAAM,KAAA,GAAQ,OAAA;AAMd,IAAA,MAAM,YAAYyD,8BAAAA,EAAkB;AACpC,IAAA,MAAM,MAAA,GAASrD,YAAAA,CAAS,MAAM4B,sBAAA,CAAe,eAAA,CAAgB,MAAM,KAAA,EAAO,SAAA,CAAU,KAAA,CAAM,KAAK,CAAC,CAAA;;;;;;;;;0BAI9FhC,eAAAA,CAAuF,MAAA,CAAA,kBAAA,CAAA,EAAA;AAApE,IAAA,KAAA,EAAO,MAAA,CAAA,KAAA;AAAQ,IAAA,KAAA,EAAO,MAAA,CAAA,MAAA;AAAS,IAAA,mBAAA,EAAmB,MAAA,CAAA;AAAA,GAAA,EAAA,MAAA,CAAA,EAAA,CAAA,OAAA,EAAA,OAAA,EAAA,mBAAA,CAAA,CAAA;;;ACxB/BqB,4BAAAA,CAAY,2FAA2F,CAAA;;;;;;;;;ACsB/I,IAAA,MAAM,eAAe,CAAC,KAAA,KAA0B,OAAO,OAAA,CAAQ,KAAA,IAAS,EAAE,CAAA;;;;;;;;;;;;AAInE,IAAA,YAAA,GAAA,EAAA,KAAA,EAAM,gCAAA,EAAgC;;AAA3CzB,EAAAA,OAAAA,aAAAA,EAAAA,EAAAA,sBAAAA,CAeM,OAfNO,YAAAA,EAeM;AAAAR,KAAAA,aAAAA,CAAA,IAAA,CAAA,EAdJC,sBAAAA;AAaWe,MAAAA,YAAAA;AAAA,MAAA,IAAA;MAAAC,cAAAA,CAbsB,MAAA,CAAA,aAAa,MAAA,CAAA,KAAK,GAAA,CAAA,CAAjC,GAAA,EAAK,KAAK,CAAA,KAAA;;;AAAmC,UAAA,EAAA,GAAA,EAAA;AAAA,UAAA;YAErD,MAAA,CAAA,cAAA,CAAe,YAAY,KAAK,CAAA,IAAAjB,eAAA,EADxCK,eAAAA,CAKE,MAAA,CAAA,kBAAA,CAAA,EAAA;cAAA,GAAA,EAAA,CAAA;cAHC,KAAA,EAAO,GAAA;cACP,KAAA,EAAO,KAAA;AACP,cAAA,mBAAA,EAAmB,MAAA,CAAA;AAAA,aAAA,EAAA,MAAA,CAAA,EAAA,CAAA,OAAA,EAAA,OAAA,EAAA,mBAAA,CAAA,CAAA,IAGT,MAAA,CAAA,aAAA,CAAc,KAAK,CAAA,IAAAL,aAAAA,IADhCK,eAAAA,CAKE,MAAA,CAAA,4BAAA,CAAA,EAAA;cAAA,GAAA,EAAA,CAAA;cAHC,KAAA,EAAO,GAAA;cACP,KAAA,EAAO,KAAA;AACP,cAAA,mBAAA,EAAmB,MAAA,CAAA;aAAA,EAAA,IAAA,EAAA,CAAA,EAAA,CAAA,OAAA,EAAA,OAAA,EAAA,mBAAA,CAAA,CAAA,IAAAE,sBAAAA,CAAA,MAAA,EAAA,IAAA;;;;;;;;;;;;ACtCYmB,4BAAAA,CAAY,4FAA4F,CAAA;;;;;;;;;;;ACehJ,IAAA,MAAM,KAAA,GAAQ,OAAA;AAOd,IAAA,MAAM,QAAQiD,4BAAA,EAAgB;AAC9B,IAAA,MAAM,UAAUC,gBAAA,EAAW;AAE3B,IAAAjE,cAAU,MAAM;AACd,MAAA,IAAI,CAAC,KAAA,CAAM,gBAAA,IAAoB,CAAC,KAAA,EAAO;AACrC,QAAA;AACF,MAAA;AACA,MAAA,MAAM,UAAA,GAAa,KAAA,CAAM,MAAA,CAAO,oBAAA,CAAqB,MAAM;AACzD,QAAA,OAAA,EAAQ;MACV,CAAC,CAAA;AACD,MAAAC,mBAAAA,CAAgB,MAAM,UAAA,CAAW,OAAA,EAAS,CAAA;IAC5C,CAAC,CAAA;AAED,IAAA,MAAM,UAAA,GAAaH,YAAAA;MAAoC,MACrD,KAAA,CAAM,gBAAA,GAAA,CACD,KAAA,EAAO,MAAA,CAAO,SAAA,IAAa,EAAC,EAAG,MAAA,CAAO,CAAC,GAAA,EAAK,IAAA,KAAS;AACpD,QAAA,GAAA,GAAM;UACJ,GAAG,GAAA;AACH,UAAA,GAAIuB,2BAAgB,WAAA,CAAY,IAAA,CAAK,IAAI,CAAA,EAAG,cAAc;AAC5D,SAAA;AACA,QAAA,OAAO,GAAA;AACT,MAAA,CAAA,EAAG,EAA+B,CAAA,GAClC,KAAA,CAAM,KAAA,EAAO,cAAc;AACjC,KAAA;AAEA,IAAA,MAAM,YAAA,GAAevB,aAAS,MAAM,MAAA,CAAO,QAAQ,UAAA,CAAW,KAAA,IAAS,EAAE,CAAC,CAAA;;;;;;;;;AAIxER,EAAAA,OAAAA,aAAAA,EAAAA,EAAAA,sBAAAA;AASM,IAAA,KAAA;AAAA,IAAA;MATD,KAAA,EAAM,iCAAA;MAAmC,KAAA,EAAKG,kBAAAA,CAAE,OAAA,KAAK;AAAA,KAAA;;AACxDH,OAAAA,aAAAA,CAAAA,IAAAA,CAAAA,EAAAA,sBAAAA;AAOEe,QAAAA,YAAAA;AAAA,QAAA,IAAA;AAAAC,QAAAA,cAAAA,CANwB,OAAA,YAAA,EAAY,CAAA,CAA5B,GAAA,EAAK,MAAM,CAAA,KAAA;kCADrBZ,eAAAA,CAOE,MAAA,CAAA,kBAAA,CAAA,EAAA;AALC,YAAA,GAAA;YACA,KAAA,EAAO,GAAA;YACP,KAAA,EAAO,MAAA;AACP,YAAA,mBAAA,EAAmB,MAAA,CAAA,cAAA;AACnB,YAAA,OAAA,EAAO,CAAG;AAAA,WAAA,EAAA,MAAA,CAAA,EAAA,CAAA,SAAA,OAAA,EAAA,mBAAA,EAAA,SAAA,CAAA,CAAA;;;;;;;;;;;AC1DuBqB,4BAAAA,CAAY,mNAAmN,CAAA;;;;;;;;;;;;;;ACiBvQ,IAAA,MAAM,KAAA,GAAQ,OAAA;AAEd,IAAA,MAAM,EAAE,IAAA,EAAM,SAAA,EAAW,aAAa,MAAA,EAAQ,GAAA,KAAQ,aAAA,CAAsC;AAC1F,MAAA,KAAA,EAAO,KAAA,CAAM,KAAA;AACb,MAAA,QAAA,EAAU,KAAA,CAAM,QAAA;MAChB,YAAA,EAAc;KACf,CAAA;;;;;;;;;;;;;;;;;;;;;AAICzB,EAAAA,OAAAA,aAAAA,EAAAA,EAAAA,sBAAAA,CAsCM,OAAA,IAAA,EAAA;AArCJY,IAAAA,sBAAAA;AAuBM,MAAA,KAAA;AAAA,MAAA;QAvBD,KAAA,EAAM,4BAAA;QAA8B,KAAA,EAAKT,kBAAAA,CAAE,OAAA,KAAK;AAAA,OAAA;;AACnDH,SAAAA,aAAAA,CAAAA,IAAAA,CAAAA,EAAAA,sBAAAA;AAqBMe,UAAAA,YAAAA;AAAA,UAAA,IAAA;UAAAC,cAAAA,CArBc,MAAA,CAAA,IAAA,EAAI,CAAZ,IAAA,KAAI;AAAhBhB,YAAAA,OAAAA,aAAAA,EAAAA,EAAAA,sBAAAA,CAqBM,KAAA,EAAA;AArBqB,cAAA,GAAA,EAAK,IAAA,CAAK,EAAA;cAAI,KAAA,EAAM;aAAA,EAAA;cAC7CmB,eAAAA,CAME,MAAA,CAAA,WAAA,CAAA,EAAA;AALC,gBAAA,KAAA,EAAO,EAAA,KAAA,EAAA,OAAA,EAAA,QAAA,EAAA,OAAA,EAAA,UAAA,OAAA,EAAA;AACP,gBAAA,QAAA,EAAU,MAAA,CAAA,QAAA;AACV,gBAAA,KAAA,EAAO,IAAA,CAAK,GAAA;gBACZ,WAAA,EAAa,MAAA,CAAA,IAAA,CAAK,CAAA,CAAC,WAAA,CAAA;AACnB,gBAAA,QAAA,EAAM,CAAG,CAAA,KAAM,MAAA,CAAA,SAAA,CAAU,IAAA,CAAK,IAAI,CAAC;AAAA,eAAA,EAAA,MAAA,CAAA,EAAA,CAAA,YAAA,OAAA,EAAA,aAAA,EAAA,UAAA,CAAA,CAAA;cAEtCA,eAAAA,CAWE,MAAA,CAAA,yBAAA,CAAA,EAAA;gBAVC,KAAA,EAAO,EAAA,UAAA,CAAA,EAAA;AACP,gBAAA,QAAA,EAAU,MAAA,CAAA,QAAA;AACV,gBAAA,KAAA,EAAO,IAAA,CAAK,KAAA;AACZ,gBAAA,MAAA,EAAQ,MAAA,CAAA,MAAA;AACR,gBAAA,WAAA,EAAW,MAAA,CAAA,QAAA;gBACX,gBAAA,EAAc;AAAA,kBAAA,GAAmB,MAAA,CAAA,aAAA;AAAA,kBAAA,UAAA,EAAA,CAAA,GAA4C,MAAA,CAAA,aAAA,EAAe,UAAA,IAAU,EAAA;AAAA,iBAAA;AAItG,gBAAA,WAAA,EAAS,CAAG,CAAA,KAAM,MAAA,CAAA,WAAA,CAAY,IAAA,CAAK,IAAI,CAAC;eAAA,EAAA,IAAA,EAAA,GAAA,CAAA,UAAA,EAAA,SAAA,QAAA,EAAA,WAAA,EAAA,gBAAA,EAAA,WAAA,CAAA,CAAA;cAE3CA,eAAAA,CAAmF,MAAA,CAAA,cAAA,CAAA,EAAA;AAApE,gBAAA,QAAA,EAAU,MAAA,CAAA,QAAA;AAAW,gBAAA,IAAA,EAAM,OAAA,UAAA,EAAU;AAAK,gBAAA,OAAA,EAAK,CAAA,MAAA,KAAE,MAAA,CAAA,MAAA,CAAO,KAAK,EAAE;AAAA,eAAA,EAAA,MAAA,CAAA,EAAA,CAAA,UAAA,EAAA,MAAA,EAAA,SAAA,CAAA;;;;;;;;;;IAGlFA,eAAAA,CAYW,MAAA,CAAA,UAAA,CAAA,EAAA;AAXR,MAAA,QAAA,EAAU,MAAA,CAAA,QAAA;MACV,OAAA,EAAK,MAAA,CAAA,CAAA,CAAA,KAAA,MAAA,CAAA,CAAA,CAAA,GAAA,CAAA,MAAA,KAAW,MAAA,CAAA,GAAA,CAAG;QAAA,IAAA,EAAA,UAAA;;;;;2BAQpB,MAAY;QAAZA,eAAAA,CAAY,MAAA,CAAA,UAAA,CAAA,CAAA;AAAAN,QAAAA,mBAAAA;AAAA,UAAA,GAAA,GACZC,mBAAAA,CAAG,MAAA,CAAA,IAAA,CAAK,CAAA,CAAC,KAAA,CAAA,CAAA;AAAA,UAAA;;AAAA;OAAA,CAAA;;;;;;;ACpDR,SAAS,YAAA,CACd,OACA,QAAA,EASA;AACA,EAAA,MAAM,WAAA,GAAcN,aAAS,MAAM;AACjC,IAAA,IAAI,CAAC6B,sBAAAA,CAAc,KAAK,CAAA,EAAG;AACzB,MAAA,OAAO,KAAA;AAAA,IACT;AACA,IAAA,IAAID,sBAAA,CAAe,WAAA,CAAY,KAAK,CAAA,EAAG;AACrC,MAAA,OAAOA,uBAAe,UAAA,CAAW,KAAK,CAAA,IAAK,KAAA,EAAO,QAAQ,IAAA,KAAS,QAAA;AAAA,IACrE;AACA,IAAA,OAAO,IAAA;AAAA,EACT,CAAC,CAAA;AAED,EAAA,MAAM,eAAA,GAAkB5B,aAAS,MAAM;AACrC,IAAA,IAAI6B,sBAAAA,CAAc,KAAK,CAAA,EAAG;AACxB,MAAA,IAAID,sBAAA,CAAe,WAAA,CAAY,KAAK,CAAA,EAAG;AACrC,QAAA,OAAO,MAAA;AAAA,MACT;AACA,MAAA,OAAO,KAAA;AAAA,IACT;AACA,IAAA,OAAO,MAAA;AAAA,EACT,CAAC,CAAA;AAED,EAAA,MAAM,EAAE,IAAA,EAAM,GAAA,EAAK,WAAW,WAAA,EAAa,MAAA,KAAW,aAAA,CAAmB;AAAA,IACvE,OAAO,eAAA,CAAgB,KAAA;AAAA,IACvB,QAAA,EAAU,CAAC,IAAA,KAAS;AAClB,MAAA,QAAA,GAAW,IAAI,CAAA;AAAA,IACjB,CAAA;AAAA,IACA,cAAc,CAAC,IAAA,KAAUA,uBAAe,WAAA,CAAY,IAAI,IAAI,aAAA,GAAgB;AAAA,GAC7E,CAAA;AAED,EAAA,MAAM,WAAA,GAAc5B,YAAAA;AAAA,IAClB,MAAM,WAAA,CAAY,KAAA,KAAU,IAAA,CAAK,MAAM,MAAA,GAAS,CAAA,IAAK,MAAA,CAAO,IAAA,CAAK,eAAA,CAAgB,KAAA,IAAS,EAAE,EAAE,MAAA,GAAS,CAAA;AAAA,GACzG;AAEA,EAAA,OAAO;AAAA,IACL,WAAA;AAAA,IACA,WAAA;AAAA,IACA,IAAA;AAAA,IACA,GAAA;AAAA,IACA,SAAA;AAAA,IACA,WAAA;AAAA,IACA;AAAA,GACF;AACF;AChEwCiB,4BAAAA,CAAY,6nDAAioD,CAAA;ACKrrD,IAAA,WAAA,GAAe,EAAE,IAAA,EAAM,eAAA,EAAgB;;;;;;;;;;;;;;;;;AAiBvC,IAAA,MAAM,sBAAA,GAAgD;MACpD,GAAA,EAAK,CAAC,MAAA,KAAW,MAAA,CAAO,IAAA,KAAS,QAAA;AACjC,MAAA,QAAA,EAAUE,mBAAAA,CAAgB;QACxB,IAAA,EAAM,wBAAA;QACN,KAAA,GAAQ;AACN,UAAA,OAAO,MACLV,MAAE,gBAAA,EAAS;YACT,QAAA,EAAU,IAAA;YACV,KAAA,EAAO,EAAE,eAAe,MAAA,EAAO;YAC/B,KAAA,EAAOgB,SAAAA,CAAK,EAAE,4BAA4B;WAC3C,CAAA;AACL,QAAA;OACD;AACH,KAAA;AAEA,IAAA,MAAM,KAAA,GAAQ,OAAA;AAYd,IAAA,MAAM,QAAA,GAAWxB,QAAI,KAAK,CAAA;AAC1B,IAAA,MAAM,EAAE,aAAa,WAAA,EAAa,IAAA,EAAM,KAAK,SAAA,EAAW,WAAA,EAAa,QAAO,GAAI,YAAA;MAC9E,KAAA,CAAM,KAAA;MACN,KAAA,CAAM;AACR,KAAA;AAEA,IAAA,MAAM,UAAA,GAAaD,aAAS,MAAM;AAChC,MAAA,GAAI,WAAA,CAAY,KAAA,GAAQ,CAAC,sBAAsB,IAAI,EAAC;MACpD,GAAI,KAAA,CAAM,aAAA,EAAe,UAAA,IAAc;KACxC,CAAA;AAED,IAAA,MAAM,gBAAA,GAAmBA,YAAAA;AAAS,MAAA,MAChC,YAAY,KAAA,GACP;QACC,IAAA,EAAM,UAAA;QACN,MAAA,EAAQ,EAAE,MAAM,QAAA;AAClB,OAAA,GACA,KAAA,CAAM;AACZ,KAAA;;;;;;;;;;;;;;;;;;;;;;AAkBO,IAAA,YAAA,GAAA,EAAA,KAAA,EAAM,4CAAA,EAA4C;AAChD,IAAA,YAAA,GAAA,EAAA,KAAA,EAAM,2CAAA,EAA2C;AAC/C,IAAA,WAAA,GAAA,EAAA,KAAA,EAAM,gCAAA,EAAgC;AAgBpC,IAAA,WAAA,GAAA,EAAA,KAAA,EAAM,oCAAA,EAAoC;AAiB5C,IAAA,WAAA,GAAA,EAAA,KAAA,EAAM,8CAAA,EAA8C;;;;;;;AAjD7DI,MAAAA,sBAAAA;AAaM,QAAA,KAAA;AAAA,QAAA;AAZH,UAAA,KAAA,EAAKX,mBAAA,CAAA,0CAAA,EAAA,CAAgD,MAAA,CAAA,UAAM,CAAA,IAAA,CAAA,GAAA,cAAA,EAAA,CAAA,CAAA,EAAwC,MAAA,CAAA,OAAA,GAAO,YAAA,EAAA,CAAA,CAAA,EAA0B,OAAA,WAAA,GAAW,eAAA,GAAA,EAAA,CAAA,CAAA;AAAA,SAAA;;AAKxI,UAAA,MAAA,CAAA,WAAA,IAAAF,aAAAA,EAAA,EADRC,sBAAAA,CAOM,KAAA,EAAA;YAAA,GAAA,EAAA,CAAA;YALJ,KAAA,EAAM,6CAAA;YACL,OAAA,EAAK,MAAA,CAAA,CAAA,CAAA,KAAA,MAAA,CAAA,CAAA,CAAA,GAAA,CAAA,MAAA,KAAE,MAAA,CAAA,QAAA,GAAQ,CAAI,MAAA,CAAA,QAAA;WAAA,EAAA;YAEG,MAAA,CAAA,QAAA,IAAAD,eAAA,EAAvBK,eAAAA,CAAmC,OAAA,iBAAA,CAAA,EAAA,EAAA,GAAA,EAAA,CAAA,EAAA,CAAA,KAAAL,aAAAA,IACnCK,eAAAA,CAA2B,MAAA,CAAA,kBAAA,CAAA,EAAA,EAAA,GAAA,EAAA,CAAA,EAAA,CAAA;WAAA,CAAA,IAAAE,sBAAAA,CAAA,MAAA,EAAA,IAAA;;;;;AAG/BM,MAAAA,sBAAAA,CAoDM,OApDNL,YAAAA,EAoDM;AAnDJK,QAAAA,sBAAAA,CAgCM,OAhCNQ,YAAAA,EAgCM;AA/BJR,UAAAA,sBAAAA,CA8BM,OA9BNS,WAAAA,EA8BM;YA7BJF,eAAAA,CAME,MAAA,CAAA,WAAA,CAAA,EAAA;AALC,cAAA,KAAA,EAAO,EAAA,KAAA,EAAA,OAAA,EAAA,QAAA,EAAA,OAAA,EAAA,UAAA,OAAA,EAAA;AACP,cAAA,QAAA,EAAU,MAAA,CAAA,QAAA;AACV,cAAA,KAAA,EAAO,MAAA,CAAA,OAAA;cACP,WAAA,EAAa,MAAA,CAAA,IAAA,CAAK,CAAA,CAAC,WAAA,CAAA;cACnB,QAAA,EAAM,MAAA,CAAA,CAAA,CAAA,KAAA,MAAA,CAAA,CAAA,IAAA,CAAG,CAAA,KAAM,MAAA,CAAA,WAAA,GAAc,CAAC,CAAA;AAAA,aAAA,EAAA,MAAA,CAAA,EAAA,CAAA,UAAA,EAAA,OAAA,EAAA,aAAA,CAAA,CAAA;YAEjCA,eAAAA,CAOE,MAAA,CAAA,yBAAA,CAAA,EAAA;cANC,KAAA,EAAO,EAAA,UAAA,CAAA,EAAA;AACP,cAAA,QAAA,EAAU,MAAA,CAAA,QAAA;AACV,cAAA,KAAA,EAAO,MAAA,CAAA,gBAAA;AACP,cAAA,WAAA,EAAW,MAAA,CAAA,QAAA;AACX,cAAA,gBAAA,EAAc,EAAA,GAAO,MAAA,CAAA,aAAA,EAAa,UAAA,EAAE,OAAA,UAAA,EAAU;AAC9C,cAAA,WAAA,EAAS,CAAG,CAAA,KAAM,MAAA,CAAA,aAAA,CAAc,CAAC;aAAA,EAAA,IAAA,EAAA,GAAA,CAAA,UAAA,EAAA,SAAA,WAAA,EAAA,gBAAA,EAAA,WAAA,CAAA,CAAA;AAEpCP,YAAAA,sBAAAA,CAaM,OAbNW,WAAAA,EAaM;AAXI,cAAA,MAAA,CAAA,eAAAxB,aAAAA,EAAA,EADRK,eAAAA,CAUE,MAAA,CAAA,cAAA,CAAA,EAAA;gBAAA,GAAA,EAAA,CAAA;AARC,gBAAA,QAAA,EAAU,MAAA,CAAA,QAAA;AACV,gBAAA,IAAA,EAAM,OAAA,eAAA,EAAe;AACrB,gBAAA,OAAA,EAAK,OAAA,CAAA,CAAA,KAAA,MAAA,CAAA,CAAA,IAAA,MAAA;AAAyC,kBAAA,MAAA,CAAA,GAAA,CAAG,EAAA,IAAA,EAAA,UAAA,EAAA,OAAA,EAAA,EAAA,EAAA,MAAA,EAAA,EAAA,IAAA,EAAA,QAAA,EAAA,EAAA,CAAA;AAAiF,kBAAA,MAAA,CAAA,QAAA,GAAQ,IAAA;AAAA,gBAAA,CAAA;;cAO7Ie,eAAAA,CAAgF,MAAA,CAAA,cAAA,CAAA,EAAA;AAAjE,gBAAA,QAAA,EAAU,MAAA,CAAA,QAAA;AAAW,gBAAA,IAAA,EAAM,OAAA,UAAA,EAAU;gBAAK,OAAA,EAAK,MAAA,CAAA,CAAA,CAAA,KAAA,MAAA,CAAA,CAAA,CAAA,GAAA,CAAA,MAAA,KAAE,MAAA,CAAA,QAAA,IAAQ;AAAA,eAAA,EAAA,IAAA,EAAA,CAAA,EAAA,CAAA,UAAA,EAAA,MAAA,CAAA;;;;QAInE,MAAA,CAAA,WAAA,IAAApB,eAAA,EAAXC,sBAAAA;AAiBM,UAAA,KAAA;AAAA,UAAA;YAAA,GAAA,EAAA,CAAA;AAjBmB,YAAA,KAAA,EAAKC,mBAAA,CAAA,uCAAA,EAA4C,MAAA,CAAA,QAAA,GAAQ,UAAA,GAAA,EAAA,CAAA,CAAA;AAAA,WAAA;;AAChFW,YAAAA,sBAAAA,CAeM,OAfNY,WAAAA,EAeM;AAAAzB,eAAAA,aAAAA,CAAA,IAAA,CAAA,EAdJC,sBAAAA;AAaEe,gBAAAA,YAAAA;AAAA,gBAAA,IAAA;AAAAC,gBAAAA,cAAAA,CAZyB,MAAA,CAAA,IAAA,EAAI,CAArB,KAAA,EAAO,KAAA,KAAK;AADtBZ,kBAAAA,OAAAA,aAAAA,EAAAA,EAAAA,eAAAA,CAaE,wBAAA,EAAA;AAXC,oBAAA,GAAA,EAAK,KAAA,CAAM,EAAA;AACX,oBAAA,QAAA,EAAU,MAAA,CAAA,QAAA;AACV,oBAAA,WAAA,EAAW,MAAA,CAAA,QAAA;AACX,oBAAA,gBAAA,EAAgB,MAAA,CAAA,aAAA;AAChB,oBAAA,UAAA,EAAU,KAAA,CAAM,GAAA;AAChB,oBAAA,KAAA,EAAO,KAAA,CAAM,KAAA;oBACb,MAAA,EAAA,CAAS,MAAA,CAAA,UAAM,CAAA,IAAA,CAAA;oBACf,UAAA,EAAU,KAAA,KAAU,MAAA,CAAA,IAAA,CAAK,MAAA,GAAM,CAAA;AAC/B,oBAAA,iBAAA,EAAe,CAAG,EAAA,KAAO,MAAA,CAAA,WAAA,CAAY,KAAA,CAAM,IAAI,EAAE,CAAA;AACjD,oBAAA,eAAA,EAAa,CAAG,CAAA,KAAM,MAAA,CAAA,SAAA,CAAU,KAAA,CAAM,IAAI,CAAC,CAAA;AAC3C,oBAAA,WAAA,EAAS,MAAQ,MAAA,CAAA,MAAA,CAAO,KAAA,CAAM,EAAE;AAAA,mBAAA,EAAA,IAAA,EAAA,CAAA,EAAA,CAAA,UAAA,EAAA,WAAA,EAAA,gBAAA,EAAA,UAAA,EAAA,OAAA,EAAA,QAAA,EAAA,UAAA,EAAA,iBAAA,EAAA,eAAA,EAAA,WAAA,CAAA,CAAA;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;ACrH3C,IAAA,MAAM,KAAA,GAAQ,OAAA;AAEd,IAAA,MAAM,EAAE,IAAA,EAAM,SAAA,EAAW,aAAa,MAAA,EAAQ,GAAA,KAAQ,aAAA,CAEpD;AACA,MAAA,KAAA,EAAO,KAAA,CAAM,KAAA;AACb,MAAA,QAAA,EAAU,CAAC,CAAA,KAAM,KAAA,CAAM,QAAA,GAAW,CAAkB,CAAA;AACpD,MAAA,YAAA,EAAc,CAAC,IAAA,KAAUgC,sBAAA,CAAe,WAAA,CAAY,IAAI,IAAI,aAAA,GAAgB;KAC7E,CAAA;;;;;;;;;;;;AAKQ,IAAA,YAAA,GAAA,EAAA,KAAA,EAAM,uCAAA,EAAuC;;AADpDpC,EAAAA,OAAAA,aAAAA,EAAAA,EAAAA,sBAAAA,CA6BM,OAAA,IAAA,EAAA;AA5BJY,IAAAA,sBAAAA,CAaM,OAbNL,YAAAA,EAaM;AAAAR,OAAAA,aAAAA,CAAA,IAAA,CAAA,EAZJC,sBAAAA;AAWEe,QAAAA,YAAAA;AAAA,QAAA,IAAA;QAAAC,cAAAA,CAVe,MAAA,CAAA,IAAA,EAAI,CAAZ,IAAA,KAAI;kCADbZ,eAAAA,CAWE,MAAA,CAAA,eAAA,CAAA,EAAA;AATC,YAAA,GAAA,EAAK,IAAA,CAAK,EAAA;AACV,YAAA,UAAA,EAAU,IAAA,CAAK,GAAA;AACf,YAAA,KAAA,EAAO,IAAA,CAAK,KAAA;AACZ,YAAA,QAAA,EAAU,MAAA,CAAA,QAAA;AACV,YAAA,WAAA,EAAW,MAAA,CAAA,QAAA;AACX,YAAA,gBAAA,EAAgB,MAAA,CAAA,aAAA;AAChB,YAAA,eAAA,EAAa,CAAG,GAAA,KAAQ,MAAA,CAAA,SAAA,CAAU,IAAA,CAAK,IAAI,GAAG,CAAA;AAC9C,YAAA,iBAAA,EAAe,CAAG,KAAA,KAAU,MAAA,CAAA,WAAA,CAAY,IAAA,CAAK,IAAI,KAAK,CAAA;AACtD,YAAA,WAAA,EAAS,MAAQ,MAAA,CAAA,MAAA,CAAO,IAAA,CAAK,EAAE;WAAA,EAAA,IAAA,EAAA,CAAA,EAAA,CAAA,UAAA,EAAA,OAAA,EAAA,UAAA,EAAA,WAAA,EAAA,gBAAA,EAAA,eAAA,EAAA,iBAAA,EAAA,WAAA,CAAA,CAAA;;;;;;IAGpCe,eAAAA,CAaW,MAAA,CAAA,UAAA,CAAA,EAAA;AAZR,MAAA,KAAA,EAAO,EAAA,SAAA,EAAA,MAAA,EAAA,UAAA,EAAA,MAAA,EAAA;AACP,MAAA,QAAA,EAAU,MAAA,CAAA,QAAA;MACV,OAAA,EAAK,MAAA,CAAA,CAAA,CAAA,KAAA,MAAA,CAAA,CAAA,CAAA,GAAA,CAAA,MAAA,KAAW,MAAA,CAAA,GAAA,CAAG;QAAA,IAAA,EAAA,UAAA;;;;;2BAQpB,MAAY;QAAZA,eAAAA,CAAY,MAAA,CAAA,UAAA,CAAA,CAAA;AAAAN,QAAAA,mBAAAA;AAAA,UAAA,GAAA,GACZC,mBAAAA,CAAG,MAAA,CAAA,IAAA,CAAK,CAAA,CAAC,KAAA,CAAA,CAAA;AAAA,UAAA;;AAAA;OAAA,CAAA;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;0BCvCbV,eAAAA,CAMiB,MAAA,CAAA,gBAAA,CAAA,EANjBwD,cAAAA,CAMiB;AALd,IAAA,yBAAA,EAAyB,MAAA,CAAA,qBAAA,IAAyB,MAAA,CAAA,IAAA,CAAK,EAAC,CAAA,4BAAA,CAAA;GAAA,EACjD,IAAA,CAAA,MAAM,CAAA,EAAA;AAAA,IAAA,OAAA,EAAAT,YAEd,MAAkD;MAAlDhC,eAAAA,CAAkD,MAAA,CAAA,oBAAA,CAAA,EAAA,EAA7B,sBAAoB,CAAA,GAAA,GAAK,CAAA;MAC9CA,eAAAA,CAA2B,MAAA,CAAA,yBAAA,CAAA;KAAA,CAAA;;;;;;;;ACdxB,SAAS,aAAa,UAAA,EAAiC;AAE5D,EAAA,MAAM,IAAA,GAAO,IAAA,CAAK,KAAA,CAAM,UAAU,CAAA;AAGlC,EAAA,OAAO,eAAe,IAAI,CAAA;AAC5B;AAEA,SAAS,eAAe,KAAA,EAAyB;AAE/C,EAAA,IAAI,UAAU,IAAA,EAAM;AAClB,IAAA,OAAO,EAAE,MAAM,QAAA,EAAS;AAAA,EAC1B;AAGA,EAAA,IAAI,KAAA,CAAM,OAAA,CAAQ,KAAK,CAAA,EAAG;AACxB,IAAA,MAAM,MAAA,GAAsB,EAAE,IAAA,EAAM,OAAA,EAAQ;AAC5C,IAAA,IAAI,KAAA,CAAM,SAAS,CAAA,EAAG;AACpB,MAAA,MAAA,CAAO,KAAA,GAAQ,cAAA,CAAe,KAAA,CAAM,CAAC,CAAC,CAAA;AAAA,IACxC;AACA,IAAA,OAAO,MAAA;AAAA,EACT;AAGA,EAAA,IAAI,OAAO,UAAU,QAAA,EAAU;AAC7B,IAAA,MAAM,MAAA,GAAsB;AAAA,MAC1B,IAAA,EAAM,QAAA;AAAA,MACN,YAAY,EAAC;AAAA,MACb,UAAU;AAAC,KACb;AAEA,IAAA,KAAA,MAAW,CAAC,GAAA,EAAK,GAAG,KAAK,MAAA,CAAO,OAAA,CAAQ,KAAK,CAAA,EAAG;AAC9C,MAAA,MAAA,CAAO,UAAA,CAAY,GAAG,CAAA,GAAI,cAAA,CAAe,GAAG,CAAA;AAC5C,MAAA,MAAA,CAAO,QAAA,CAAU,KAAK,GAAG,CAAA;AAAA,IAC3B;AAEA,IAAA,OAAO,MAAA;AAAA,EACT;AAGA,EAAA,MAAM,OAAO,OAAO,KAAA;AACpB,EAAA,OAAO,EAAE,IAAA,EAAkB;AAC7B;;;;;;;;;;ACnCA,IAAA,MAAM,KAAA,GAAQ,OAAA;AAMd,IAAA,MAAM,SAAA,GAAYV,QAAI,EAAE,CAAA;AACxB,IAAA,MAAM,KAAA,GAAQA,QAAI,EAAE,CAAA;AAEpB,IAAA,MAAM,gBAAgB,MAAM;AAC1B,MAAA,IAAI;AACF,QAAA,MAAM,MAAA,GAAS,YAAA,CAAa,SAAA,CAAU,KAAK,CAAA;AAC3C,QAAA,KAAA,CAAM,UAAU,MAAM,CAAA;AACtB,QAAA,SAAA,CAAU,KAAA,GAAQ,EAAA;AAClB,QAAA,KAAA,CAAM,KAAA,GAAQ,EAAA;AAChB,MAAA,CAAA,CAAA,OAAS,GAAA,EAAK;AACZ,QAAA,KAAA,CAAM,QAAS,GAAA,CAAc,OAAA;AAC/B,MAAA;AACF,IAAA,CAAA;;;;;;;;;;;;qBAYS,KAAA,EAAA,EAAA,eAAA,EAAA,KAAA,EAAA,EAA0B;qBAC1B,KAAA,EAAA,EAAA,YAAA,EAAA,OAAA,EAAA,EAAyB;;;AAGZ,EAAA,KAAA,EAAA,EAAA,YAAA,EAAA,KAAA,EAAA,OAAA,EAAA,SAAA;;;0BAZpBL,eAAAA,CAaU,MAAA,CAAA,SAAA,CAAA,EAAA;AAZP,IAAA,OAAA,EAAS,MAAA,CAAA,OAAA;IACT,KAAA,EAAO,MAAA,CAAA,IAAA,CAAK,CAAA,CAAC,oBAAA,CAAA;IACb,SAAA,EAAS,MAAA,CAAA,IAAA,CAAK,CAAA,CAAC,UAAA,CAAA;IACf,aAAA,EAAa,MAAA,CAAA,IAAA,CAAK,CAAA,CAAC,QAAA,CAAA;AACnB,IAAA,OAAA,EAAO,MAAA,CAAA,OAAA;AACP,IAAA,SAAA,EAAS,MAAA,CAAA;GAAA,EAAA;yBAEV,MAAsE;AAAtEQ,MAAAA,sBAAAA;AAAsE,QAAA,KAAA;AAAtEL,QAAAA,YAAAA;AAAsEO,QAAAA,mBAAAA,CAAnC,MAAA,CAAA,IAAA,CAAK,CAAA,CAAC,iBAAA,CAAA,CAAA,GAAsB,QAAA;AAAC,QAAA;;AAAA,OAAA;AAChEF,MAAAA,sBAAAA,CAEM,OAFNQ,YAAAA,EAEM;QADJD,eAAAA,CAAuF,MAAA,CAAA,gBAAA,CAAA,EAAA;AAAtE,UAAA,KAAA,EAAO,MAAA,CAAA,SAAA;AAAY,UAAA,WAAA,EAAS,CAAG,KAAA,KAAW,MAAA,CAAA,SAAA,GAAY,KAAA,IAAK;AAAA,SAAA,EAAA,IAAA,EAAA,CAAA,EAAA,CAAA,OAAA,EAAA,WAAA,CAAA;;MAEnE,MAAA,CAAA,KAAA,IAAApB,eAAA,EAAXC,sBAAAA;AAA2E,QAAA,KAAA;AAA3EqB,QAAAA,YAAAA;AAA2EP,QAAAA,mBAAAA,CAAd,OAAA,KAAK,CAAA;AAAA,QAAA;;OAAA,IAAAR,sBAAAA,CAAA,QAAA,IAAA;;;;;;;;;;;;;;AClCtE,IAAA,MAAM,KAAA,GAAQ,OAAA;AACd,IAAA,MAAM,OAAA,GAAUG,QAAI,KAAK,CAAA;AAEzB,IAAA,MAAM,YAAA,GAAe,CAAC,MAAA,KAAwB;AAC5C,MAAA,KAAA,CAAM,iBAAiB,MAAM,CAAA;AAC7B,MAAA,OAAA,CAAQ,KAAA,GAAQ,KAAA;AAClB,IAAA,CAAA;;;;;;;;;;;;;;;MAIEU,eAAAA,CAA+E,MAAA,CAAA,UAAA,CAAA,EAAA;QAApE,OAAA,EAAK,MAAA,CAAA,CAAA,CAAA,KAAA,MAAA,CAAA,CAAA,CAAA,GAAA,CAAA,MAAA,KAAE,MAAA,CAAA,OAAA,GAAO,IAAA;OAAA,EAAA;6BAAS,MAAkC;AAAAN,UAAAA,mBAAAA;gCAA/B,MAAA,CAAA,IAAA,CAAK,CAAA,CAAC,oBAAA,CAAA,CAAA;AAAA,YAAA;;AAAA;SAAA,CAAA;;;;MAC3CM,eAAAA,CAAoG,MAAA,CAAA,gBAAA,CAAA,EAAA;AAAnF,QAAA,OAAA,EAAS,MAAA,CAAA,OAAA;QAAU,UAAA,EAAQ,MAAS,OAAA,OAAA,GAAO,KAAA;AAAY,QAAA,YAAA,EAAY,MAAA,CAAA;AAAA,OAAA,EAAA,IAAA,EAAA,CAAA,EAAA,CAAA,SAAA,EAAA,UAAA,CAAA;;;;;;;ACbtF,IAAI,GAAA,GAAM,CAAA;AACV,SAASyD,MAAAA,GAAQ;AACf,EAAA,OAAO,GAAA,EAAA;AACT;AAEO,SAAS,iBAAA,CACd,OACA,QAAA,EACA;AACA,EAAA,MAAM,cAAc/C,yBAAAA,EAAe;AACnC,EAAA,MAAM,eAAA,GAAkBrB,aAAS,MAAM,WAAA,CAAY,oBAAoB,KAAA,IAAS,EAAE,CAAC,CAAA;AACnF,EAAA,MAAM,WAAA,GAAcA,aAAS,MAAM,WAAA,CAAY,YAAY,KAAA,IAAS,EAAE,CAAC,CAAA;AACvE,EAAA,MAAM,YAAA,GAAeC,OAAAA,CAAyB,EAAE,CAAA;AAChD,EAAA,MAAM,qBAAA,GAAwBA,OAAAA,CAAI,YAAA,CAAa,KAAK,CAAA;AACpD,EAAA,MAAM,aAAA,GAAgBA,QAAI,CAAC,CAAA;AAC3B,EAAA,MAAM,aAAA,GAAgBA,QAAI,CAAC,CAAA;AAE3B,EAAAqD,SAAAA;AAAA,IACE,eAAA;AAAA,IACA,MAAM;AACJ,MAAA,aAAA,CAAc,KAAA,GAAQ,cAAc,KAAA,GAAQ,CAAA;AAC5C,MAAA,IAAI,aAAA,CAAc,KAAA,KAAU,aAAA,CAAc,KAAA,EAAO;AAC/C,QAAA;AAAA,MACF;AACA,MAAA,aAAA,CAAc,QAAQ,aAAA,CAAc,KAAA;AAEpC,MAAA,MAAM,QAAQ,qBAAA,CAAsB,KAAA;AACpC,MAAA,MAAM,QAAA,GAAW,MAAA,CAAO,OAAA,CAAQ,eAAA,CAAgB,OAAO,UAAA,IAAc,EAAE,CAAA,CACpE,IAAA,CAAK,CAAC,GAAG,CAAC,CAAA,EAAG,GAAG,CAAC,CAAA,KAAA,CAAO,CAAA,CAAE,KAAA,EAAO,KAAA,IAAS,MAAM,CAAA,CAAE,KAAA,EAAO,KAAA,IAAS,CAAA,CAAE,EACpE,GAAA,CAAI,CAAC,CAAC,GAAG,MAAM,GAAG,CAAA;AAErB,MAAA,MAAM,QAAA,GAAW,MAAM,GAAA,CAAI,CAAC,SAAS,IAAA,CAAK,IAAI,CAAA,CAAE,MAAA,CAAO,OAAO,CAAA;AAC9D,MAAA,MAAM,QAAA,GAAWI,mBAAAA,CAAW,QAAA,EAAU,QAAQ,CAAA;AAE9C,MAAA,MAAM,OAAO,KAAA,CACV,MAAA,CAAO,CAAC,IAAA,KAAS,CAAC,IAAA,CAAK,IAAA,IAAQ,QAAA,CAAS,QAAA,CAAS,KAAK,IAAI,CAAC,CAAA,CAC3D,GAAA,CAAI,CAAC,IAAA,MAAU;AAAA,QACd,KAAK,IAAA,CAAK,GAAA;AAAA,QACV,MAAM,IAAA,CAAK,IAAA;AAAA,QACX,kBAAA,EAAoB,gBAAgB,KAAA,EAAO,QAAA,EAAU,SAAS,IAAA,CAAK,IAAA,IAAQ,EAAE,CAAA,IAAK,KAAA;AAAA,QAClF,GAAI,gBAAgB,KAAA,EAAO,UAAA,GAAa,KAAK,IAAA,IAAQ,EAAE,CAAA,IAAK,IAAA,IAAQ;AAAC,QACrE,CAAA,CACD,MAAA;AAAA,QACC,QAAA,CAAS,GAAA,CAAI,CAAC,KAAA,MAAW;AAAA,UACvB,KAAKU,MAAAA,EAAM;AAAA,UACX,IAAA,EAAM,KAAA;AAAA,UACN,oBAAoB,eAAA,CAAgB,KAAA,EAAO,QAAA,EAAU,QAAA,CAAS,KAAK,CAAA,IAAK,KAAA;AAAA,UACxE,GAAI,eAAA,CAAgB,KAAA,EAAO,UAAA,GAAa,KAAK,KAAK;AAAC,SACrD,CAAE;AAAA,OACJ;AAEF,MAAA,qBAAA,CAAsB,KAAA,GAAQ,IAAA;AAC9B,MAAA,YAAA,CAAa,KAAA,GAAQ,IAAA;AAAA,IACvB,CAAA;AAAA,IACA,EAAE,WAAW,IAAA;AAAK,GACpB;AAEA,EAAA,MAAM,kBAAA,GAAqB,CAAC,OAAA,KAAgE;AAC1F,IAAA,aAAA,CAAc,KAAA,GAAQ,cAAc,KAAA,GAAQ,CAAA;AAC5C,IAAA,MAAM,IAAA,GAAO,OAAA,CAAQ,qBAAA,CAAsB,KAAK,CAAA;AAChD,IAAA,qBAAA,CAAsB,KAAA,GAAQ,IAAA;AAC9B,IAAA,YAAA,CAAa,KAAA,GAAQ,IAAA;AAErB,IAAA,MAAM,iBAA8C,EAAC;AACrD,IAAA,MAAM,eAAyB,EAAC;AAEhC,IAAA,KAAA,MAAW,aAAa,IAAA,EAAM;AAC5B,MAAA,IAAI,CAAC,UAAU,IAAA,EAAM;AACnB,QAAA;AAAA,MACF;AACA,MAAA,cAAA,CAAe,SAAA,CAAU,IAAI,CAAA,GAAIC,aAAA,CAAK,WAAW,CAAC,KAAA,EAAO,MAAA,EAAQ,oBAAoB,CAAC,CAAA;AACtF,MAAA,IAAI,UAAU,kBAAA,EAAoB;AAChC,QAAA,YAAA,CAAa,IAAA,CAAK,UAAU,IAAI,CAAA;AAAA,MAClC;AAAA,IACF;AAEA,IAAA,QAAA;AAAA,MACEC,aAAA,CAAQ,KAAA,IAAS,EAAC,EAAG,CAAC,KAAA,KAAU;AAC9B,QAAA,MAAM,gBAAA,GAAmB,WAAA,CAAY,mBAAA,CAAoB,KAAK,CAAA;AAC9D,QAAA,IAAI,gBAAA,EAAkB;AACpB,UAAA,gBAAA,CAAiB,UAAA,GAAa,cAAA;AAC9B,UAAA,gBAAA,CAAiB,QAAA,GAAW,YAAA;AAAA,QAC9B;AAAA,MACF,CAAC;AAAA,KACH;AAAA,EACF,CAAA;AAEA,EAAA,MAAM,gBAAgB,MAAM;AAC1B,IAAA,MAAM,QAAQ,qBAAA,CAAsB,KAAA;AACpC,IAAA,MAAM,IAAA,GAAO;AAAA,MACX,GAAG,KAAA;AAAA,MACH,EAAE,GAAA,EAAKF,MAAAA,EAAM,EAAG,MAAM,EAAA,EAAI,IAAA,EAAM,QAAA,EAAU,KAAA,EAAO,EAAE,KAAA,EAAO,KAAA,CAAM,MAAA,GAAS,GAAE;AAAE,KAC/E;AACA,IAAA,qBAAA,CAAsB,KAAA,GAAQ,IAAA;AAC9B,IAAA,YAAA,CAAa,KAAA,GAAQ,IAAA;AAAA,EACvB,CAAA;AAEA,EAAA,MAAM,gBAAA,GAAmB,CAAC,GAAA,KAAgB;AACxC,IAAA,kBAAA,CAAmB,CAAC,UAAU,KAAA,CAAM,MAAA,CAAO,CAAC,SAAA,KAAc,SAAA,CAAU,GAAA,KAAQ,GAAG,CAAC,CAAA;AAAA,EAClF,CAAA;AAEA,EAAA,MAAM,cAAA,GAAiB,CAAC,GAAA,EAAa,SAAA,KAAiC;AACpE,IAAA,kBAAA;AAAA,MAAmB,CAAC,KAAA,KAClB,KAAA,CAAM,GAAA,CAAI,CAAC,cAAe,SAAA,CAAU,GAAA,KAAQ,GAAA,GAAM,SAAA,GAAY,SAAU;AAAA,KAC1E;AAAA,EACF,CAAA;AAEA,EAAAd,SAAAA,CAAM,WAAA,EAAa,CAAC,IAAA,KAAS;AAC3B,IAAA,IAAI,CAAC,IAAA,EAAM;AACT,MAAA,qBAAA,CAAsB,QAAQ,EAAC;AAC/B,MAAA,YAAA,CAAa,QAAQ,EAAC;AAAA,IACxB;AAAA,EACF,CAAC,CAAA;AAED,EAAA,OAAO;AAAA,IACL,YAAA;AAAA,IACA,WAAA;AAAA,IACA,aAAA;AAAA,IACA,gBAAA;AAAA,IACA;AAAA,GACF;AACF;;;;;;;;;;;;;;;;;;;;ACjHO,IAAA,YAAA,GAAA,EAAA,KAAA,EAAM,mDAAA,EAAmD;;AAA9D9D,EAAAA,OAAAA,aAAAA,EAAAA,EAAAA,sBAAAA,CAQM,OARNO,YAAAA,EAQM;IAPJY,eAAAA,CAME,MAAA,CAAA,eAAA,CAAA,EAAA;AALC,MAAA,KAAA,EAAO,MAAA,CAAA,KAAA;AACP,MAAA,MAAA,EAAQ,MAAA,CAAA,MAAA,IAAM,EAAA,IAAA,EAAA,QAAA,EAAA;AACd,MAAA,WAAA,EAAa,MAAA,CAAA,WAAA,IAAe,MAAA,CAAA,IAAA,CAAK,EAAC,4CAAA,CAAA;MACnC,uBAAA,EAAA,EAAA;AACC,MAAA,WAAA,EAAW,MAAA,CAAA;AAAA,KAAA,EAAA,MAAA,CAAA,EAAA,CAAA,SAAA,QAAA,EAAA,aAAA,EAAA,WAAA,CAAA;;;;ACClB,SAAS,qBAAA,CACP,aACA,MAAA,EACA;AACA,EAAA,IAAI,MAAA,EAAQ,SAAS,QAAA,EAAU;AAC7B,IAAA,OAAO,IAAA;AACT,EAAA;AACA,EAAA,IAAI,MAAA,EAAQ,SAAS,OAAA,EAAS;AAC5B,IAAA,OAAO,IAAA;AACT,EAAA;AACA,EAAA,OAAO,WAAA,CAAY,eAAA,CAAgB,MAAA,IAAU,EAAE,CAAA;AACjD;AAEA,IAAM,eAAeQ,mBAAAA,CAAgB;EACnC,IAAA,EAAM,cAAA;EACN,KAAA,EAAO;IACL,KAAA,EAAO,EAAE,MAAM,MAAA,EAAsC;IACrD,MAAA,EAAQ,EAAE,MAAM,MAAA,EAA+B;IAC/C,QAAA,EAAU,EAAE,MAAM,QAAA,EAAyD;IAC3E,QAAA,EAAU,EAAE,MAAM,QAAA,EAAiC;AACnD,IAAA,QAAA,EAAU,EAAE,IAAA,EAAM,OAAA,EAAS,OAAA,EAAS,KAAA,EAAM;AAC1C,IAAA,OAAA,EAAS,EAAE,IAAA,EAAM,OAAA,EAAS,OAAA,EAAS,KAAA,EAAM;AACzC,IAAA,MAAA,EAAQ,EAAE,IAAA,EAAM,MAAA,EAAQ,OAAA,EAAS,CAAA;AACnC,GAAA;AACA,EAAA,KAAA,CAAM,KAAA,EAAO;AACX,IAAA,MAAM,MAAA,GAASlB,QAAI,KAAK,CAAA;AACxB,IAAA,MAAM,QAAA,GAAWA,QAAI,KAAK,CAAA;AAC1B,IAAA,MAAM,mBAAmBoB,yBAAAA,EAAe;AACxC,IAAA,MAAM,iBAAA,GAAoBrB,aAAS,OAAO;AACxC,MAAA,IAAA,EAAM,MAAM,KAAA,EAAO,IAAA;AACnB,MAAA,KAAA,EAAO,MAAM,KAAA,EAAO;KACtB,CAAE,CAAA;AACF,IAAA,MAAM,MAAA,GAAS,iBAAA,CAAkB,KAAA,CAAM,KAAA,EAAO,MAAM,QAAQ,CAAA;AAC5D,IAAA,MAAM,YAAA,GAAeA,YAAAA;AACnB,MAAA,MAAM,OAAO,WAAA,CAAY,KAAA,IAAS,MAAA,CAAO,YAAA,CAAa,MAAM,MAAA,GAAS;AACvE,KAAA;AAEA,IAAA,MAAM,aAAA,GAAgB,CAAC,GAAA,EAAa,IAAA,KAAkB;AACpD,MAAA,KAAA,CAAM,QAAA,GAAW;QACf,GAAI,KAAA,CAAM,SAAS,EAAC;AACpB,QAAA,CAAC,GAAG,GAAG;OACR,CAAA;AACH,IAAA,CAAA;AAEA,IAAA,OAAO,MACLS,MAAE,KAAA,EAAO,EAAE,OAAO,EAAE,OAAA,EAAS,UAAA,EAAW,EAAE,EAAG;AAC3CA,MAAAA,KAAAA;AACE,QAAA,KAAA;AACA,QAAA;AACE,UAAA,KAAA,EAAO,CAAA,0CAAA,EAA6C,KAAA,CAAM,MAAA,GAAS,CAAA,GAAI,cAAc,EAAE,CAAA,CAAA,EACrF,KAAA,CAAM,OAAA,GAAU,YAAY,EAC9B,CAAA,CAAA,EAAI,YAAA,CAAa,KAAA,GAAQ,kBAAkB,EAAE,CAAA;AAC/C,SAAA;AACA,QAAA,YAAA,CAAa,KAAA,GACT;AACEA,UAAAA,KAAAA;AACE,YAAA,KAAA;AACA,YAAA;cACE,KAAA,EAAO,6CAAA;AACP,cAAA,OAAA,EAAS,MAAM;AACb,gBAAA,QAAA,CAAS,KAAA,GAAQ,CAAC,QAAA,CAAS,KAAA;AAC7B,cAAA;AACF,aAAA;AACA,YAAA,CAAC,SAAS,KAAA,GAAQA,KAAAA,CAAE,eAAe,CAAA,GAAIA,KAAAA,CAAE,gBAAgB,CAAC;AAC5D;AACF,SAAA,GACA;AACN,OAAA;AACAA,MAAAA,KAAAA,CAAE,KAAA,EAAO,EAAE,KAAA,EAAO,4CAAA,EAA6C,EAAG;AAChEA,QAAAA,KAAAA,CAAE,KAAA,EAAO,EAAE,KAAA,EAAO,2CAAA,EAA4C,EAAG;AAC/DA,UAAAA,KAAAA,CAAE,KAAA,EAAO,EAAE,KAAA,EAAO,gCAAA,EAAiC,EAAG;AACpDA,YAAAA,KAAAA,CAAE,KAAA,EAAO,EAAE,KAAA,EAAO,iCAAA,EAAkC,EAAG;AACrDA,cAAAA,KAAAA,CAAE,kBAAA,EAAW;AACX,gBAAA,QAAA,EAAU,KAAA,CAAM,QAAA;AAChB,gBAAA,WAAA,EAAa,KAAA,CAAM,MAAA,EAAQ,WAAA,IAAegB,SAAAA,CAAK,EAAE,qBAAqB,CAAA;AACtE,gBAAA,KAAA,EAAO,MAAM,KAAA,EAAO,IAAA;AACpB,gBAAA,QAAA,EAAU,CAAC,CAAA,KAAc,aAAA,CAAc,MAAA,EAAQ,CAAC;eACjD;aACF,CAAA;AACDhB,YAAAA,KAAAA,CAAE,KAAA,EAAO,EAAE,KAAA,EAAO,iCAAA,EAAkC,EAAG;AACrDA,cAAAA,KAAAA,CAAE,kBAAA,EAAoB;AACpB,gBAAA,KAAA,EAAO,iBAAA,CAAkB,KAAA;AACzB,gBAAA,QAAA,EAAU,KAAA,CAAM,QAAA;AAChB,gBAAA,QAAA,EAAU,CAAC,MAAA,KAAkC;AAC3C,kBAAA,MAAM,cAAA,GAAiB,UAAU,EAAC;AAClC,kBAAA,KAAA,CAAM,QAAA,GAAW;oBACf,GAAI,KAAA,CAAM,SAAS,EAAC;oBACpB,GAAG,cAAA;oBACH,OAAA,EAAS,qBAAA,CAAsB,kBAAkB,cAAc;mBAChE,CAAA;AACH,gBAAA;eACD;aACF,CAAA;AACDA,YAAAA,KAAAA,CAAE,KAAA,EAAO,EAAE,KAAA,EAAO,qCAAA,EAAsC,EAAG;AACzDA,cAAAA,KAAAA,CAAE,mBAAA,EAAY;AACZ,gBAAA,QAAA,EAAU,KAAA,CAAM,QAAA;AAChB,gBAAA,OAAA,EAAS,MAAM,KAAA,EAAO,kBAAA;AACtB,gBAAA,QAAA,EAAU,CAAC,OAAA,KAAqB,aAAA,CAAc,oBAAA,EAAsB,OAAO;eAC5E;aACF,CAAA;AACDA,YAAAA,KAAAA,CAAE,KAAA,EAAO,EAAE,KAAA,EAAO,oCAAA,EAAqC,EAAG;AACxDA,cAAAA,KAAAA,CAAE,sBAAA,EAAc;AACd,gBAAA,QAAA,EAAU,KAAA,CAAM,QAAA;AAChB,gBAAA,IAAA,EAAM,MAAA,CAAO,KAAA,GAAQ,UAAA,EAAW,GAAI,UAAA,EAAW;AAC/C,gBAAA,OAAA,EAAS,MAAM;AACb,kBAAA,MAAA,CAAO,KAAA,GAAQ,CAAC,MAAA,CAAO,KAAA;AACzB,gBAAA;eACD,CAAA;cACD,MAAA,CAAO,WAAA,CAAY,KAAA,GACfA,KAAAA,CAAE,sBAAA,EAAc;AACd,gBAAA,QAAA,EAAU,KAAA,CAAM,QAAA;AAChB,gBAAA,IAAA,EAAM,eAAA,EAAgB;AACtB,gBAAA,OAAA,EAAS,MAAM;AACb,kBAAA,MAAA,CAAO,aAAA,EAAc;AACrB,kBAAA,QAAA,CAAS,KAAA,GAAQ,IAAA;AACnB,gBAAA;AACF,eAAC,CAAA,GACD,IAAA;AACJA,cAAAA,KAAAA,CAAE,sBAAA,EAAc;AACd,gBAAA,QAAA,EAAU,KAAA,CAAM,QAAA;AAChB,gBAAA,IAAA,EAAM,SAAA,EAAU;gBAChB,OAAA,EAAS,MAAM,MAAM,QAAA;eACtB;aACF;WACF,CAAA;AACD,UAAA,MAAA,CAAO,QACHA,KAAAA,CAAE,KAAA,EAAO,EAAE,KAAA,EAAO,4CAA2C,EAAG;AAC9DA,YAAAA,KAAAA,CAAE,KAAA,EAAO,EAAE,KAAA,EAAO,kCAAA,EAAmC,EAAG;AACtD,cAAA,KAAA,CAAM,MAAA,EAAQ,SAAA,IAAagB,SAAAA,CAAK,CAAA,CAAE,aAAa;aAChD,CAAA;AACDhB,YAAAA,KAAAA,CAAE,kBAAA,EAAW;AACX,cAAA,QAAA,EAAU,KAAA,CAAM,QAAA;AAChB,cAAA,KAAA,EAAO,MAAM,KAAA,EAAO,WAAA;AACpB,cAAA,WAAA,EACE,KAAA,CAAM,MAAA,EAAQ,eAAA,IAAmBgB,SAAAA,CAAK,EAAE,qCAAqC,CAAA;AAC/E,cAAA,QAAA,EAAU,CAAC,CAAA,KAAc,aAAA,CAAc,aAAA,EAAe,CAAC;aACxD,CAAA;AACD,YAAA,KAAA,CAAM,MAAA,KAAW,CAAA,GACbhB,KAAAA,CAAE,KAAA,EAAO,EAAC,EAAG;AACXA,cAAAA,KAAAA;AACE,gBAAA,KAAA;AACA,gBAAA,EAAE,OAAO,kCAAA,EAAoC,KAAA,EAAO,EAAE,SAAA,EAAW,QAAO,EAAE;AAC1E,gBAAA,KAAA,CAAM,MAAA,EAAQ,iBAAA,IAAqBgB,SAAAA,CAAK,CAAA,CAAE,eAAe;AAC3D,eAAA;AACAhB,cAAAA,KAAAA,CAAE,KAAA,EAAO,EAAE,KAAA,EAAO,kDAAA,EAAmD,EAAG;AACtEA,gBAAAA,KAAAA,CAAE,qBAAA,EAAc;AACd,kBAAA,KAAA,EAAO,MAAM,KAAA,EAAO,OAAA;AACpB,kBAAA,MAAA,EAAQ,KAAA,CAAM,KAAA;AACd,kBAAA,WAAA,EACE,KAAA,CAAM,MAAA,EAAQ,uBAAA,IAA2BgB,SAAAA,CAAK,EAAE,eAAe,CAAA;AACjE,kBAAA,QAAA,EAAU,CAAC,CAAA,KAAe,aAAA,CAAc,SAAA,EAAW,CAAC;iBACrD;eACF;AACH,aAAC,CAAA,GACD;AACN,WAAC,CAAA,GACD;SACL,CAAA;AACD,QAAA,YAAA,CAAa,KAAA,GACThB,KAAAA;AACE,UAAA,KAAA;AACA,UAAA;AACE,YAAA,KAAA,EAAO,CAAA,uCAAA,EAA0C,QAAA,CAAS,KAAA,GAAQ,UAAA,GAAa,EAAE,CAAA;AACnF,WAAA;AACA,UAAA;AACEA,YAAAA,KAAAA;AACE,cAAA,KAAA;AACA,cAAA,EAAE,OAAO,8CAAA,EAA+C;AACxD,cAAA,MAAA,CAAO,aAAa,KAAA,CAAM,GAAA;gBAAI,CAAC,SAAA,EAAW,KAAA,KACxCA,KAAAA,CAAE,YAAA,EAAc;AACd,kBAAA,QAAA,EAAU,KAAA,CAAM,QAAA;AAChB,kBAAA,GAAA,EAAK,SAAA,CAAU,GAAA;kBACf,KAAA,EAAO,SAAA;AACP,kBAAA,MAAA,EAAQ,KAAA,CAAM,MAAA;kBACd,MAAA,EAAA,CAAS,KAAA,CAAM,UAAU,CAAA,IAAK,CAAA;AAC9B,kBAAA,OAAA,EAAS,KAAA,KAAU,MAAA,CAAO,YAAA,CAAa,KAAA,CAAM,MAAA,GAAS,CAAA;AACtD,kBAAA,QAAA,EAAU,CAAC,EAAA,KAA0B;AACnC,oBAAA,MAAA,CAAO,cAAA,CAAe,SAAA,CAAU,GAAA,EAAM,EAAE,CAAA;AAC1C,kBAAA,CAAA;AACA,kBAAA,QAAA,EAAU,MAAM;AACd,oBAAA,MAAA,CAAO,gBAAA,CAAiB,UAAU,GAAI,CAAA;AACxC,kBAAA;iBACD;AACH;AACF;AACF;SACF,GACA;OACL;KACF,CAAA;AACL,EAAA;AACF,CAAC,CAAA;AAED,IAAKiB,WAAAA,GAAa,YAAA;;AC5NsBT,4BAAAA,CAAY,osEAAwsE,CAAA;;;;;;;;;;;;ACiB5vE,IAAA,MAAM,OAAA,GAAU,EAAE,IAAA,EAAM,QAAA,EAAS;AAEjC,IAAA,MAAM,KAAA,GAAQ,OAAA;AAQd,IAAA,MAAM,WAAA,GAAcjB,YAAAA,CAAS,MAAM,KAAA,CAAM,SAAS,OAAO,CAAA;AACzD,IAAA,MAAM,EAAE,YAAA,EAAc,aAAA,EAAe,gBAAA,EAAkB,gBAAe,GAAI,iBAAA;MACxE,WAAA,CAAY,KAAA;MACZ,KAAA,CAAM;AACR,KAAA;;;;;;;;;;;;AAIO,IAAA,YAAA,GAAA,EAAA,KAAA,EAAM,sCAAA,EAAsC;AAC1C,IAAA,YAAA,GAAA,EAAA,KAAA,EAAM,uCAAA,EAAuC;;AADpDR,EAAAA,OAAAA,aAAAA,EAAAA,EAAAA,sBAAAA,CAgBM,OAhBNO,YAAAA,EAgBM;AAfJK,IAAAA,sBAAAA,CAUM,OAVNQ,YAAAA,EAUM;AAAArB,OAAAA,aAAAA,CAAA,IAAA,CAAA,EATJC,sBAAAA;AAQEe,QAAAA,YAAAA;AAAA,QAAA,IAAA;QAAAC,cAAAA,CAPoB,MAAA,CAAA,YAAA,EAAY,CAAzB,SAAA,KAAS;kCADlBZ,eAAAA,CAQE,MAAA,CAAA,cAAA,CAAA,EAAA;AANC,YAAA,GAAA,EAAK,SAAA,CAAU,GAAA;AACf,YAAA,QAAA,EAAU,MAAA,CAAA,QAAA;YACV,KAAA,EAAO,SAAA;AACP,YAAA,MAAA,EAAQ,MAAA,CAAA,MAAA;AACR,YAAA,WAAA,EAAS,CAAG,EAAA,KAAO,MAAA,CAAA,cAAA,CAAe,SAAA,CAAU,KAAM,EAAE,CAAA;AACpD,YAAA,WAAA,EAAS,MAAQ,MAAA,CAAA,gBAAA,CAAiB,SAAA,CAAU,GAAG;WAAA,EAAA,IAAA,EAAA,GAAA,CAAA,UAAA,EAAA,SAAA,QAAA,EAAA,WAAA,EAAA,WAAA,CAAA,CAAA;;;;;;IAGpDe,eAAAA,CAGW,MAAA,CAAA,UAAA,CAAA,EAAA;AAHA,MAAA,QAAA,EAAU,MAAA,CAAA,QAAA;AAAW,MAAA,KAAA,EAAO,EAAA,SAAA,EAAA,MAAA,EAAA,UAAA,EAAA,MAAA,EAAA;AAA4C,MAAA,OAAA,EAAO,MAAA,CAAA;KAAA,EAAA;2BACxF,MAAY;QAAZA,eAAAA,CAAY,MAAA,CAAA,UAAA,CAAA,CAAA;AAAAN,QAAAA,mBAAAA;UAAA,GAAA,GACZC,mBAAAA,CAAG,OAAA,MAAA,EAAQ,aAAA,IAAiB,OAAA,IAAA,CAAK,CAAA,CAAC,KAAA,CAAA,CAAA;AAAA,UAAA;;AAAA;OAAA,CAAA;;;;;;;;;;;;;;;;;;;;;;;;;;;;;AC1BtCd,EAAAA,OAAAA,aAAAA,EAAAA,EAAAA,sBAAAA;AAeM,IAAA,KAAA;AAAA,IAAA;MAfD,KAAA,EAAKC,kBAAAA,CAAA,CAAC,iCAAA,EAAiC,EAAA,aAAwB,MAAA,CAAA,QAAA,EAAQ,CAAA,CAAA;MAAK,KAAA,EAAKE,kBAAAA,CAAE,OAAA,KAAK;AAAA,KAAA;;AAC3FS,MAAAA,sBAAAA,CAYE,UAAA,EAAA;QAXA,KAAA,EAAM,aAAA;AACL,QAAA,KAAA,EAAO,OAAA,KAAA,EAAO,OAAA;AACd,QAAA,QAAA,EAAU,MAAA,CAAA,QAAA;QACV,WAAA,EAAa,MAAA,CAAA,eAAe,MAAA,CAAA,qBAAA;AAC5B,QAAA,KAAA,EAAO,EAAA,SAAA,EAAA,MAAA,EAAA,UAAA,EAAA,WAAA,EAAA;QACP,OAAA,EAAK,MAAA,CAAA,CAAA,CAAA,KAAA,MAAA,CAAA,CAAA,CAAA,GAAA,CAAA,MAAA,KAAW,MAAA,CAAA,QAAA,GAAQ;UAAA,IAAA,EAAA,UAAA;AAAqD,UAAA,OAAA,EAAA,MAAA,CAAO,MAAA,CAA+B;SAAA,CAAA;;MAOtHV,cAAAA,CAAQ,IAAA,CAAA,QAAA,SAAA;AAAA,KAAA;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;ACvBVE,EAAAA,OAAAA,aAAAA,EAAAA,EAAAA,eAAAA;AAEe,IAAA,MAAA,CAAA,cAAA,CAAA;IAAAgE,kBAAAA,CAAAC,sBAAAA,CAFO,IAAA,CAAA,MAAM,CAAA,CAAA;AAAA,IAAA;AAAA,MAAA,OAAA,EAAAlB,YAC1B,MAAkD;AAAlDhC,QAAAA,eAAAA,CAAkD,MAAA,CAAA,kBAAA,CAAA,EAAA,EAA/B,eAAA,EAAe,MAAA,CAAA,YAAA,EAAY,EAAA,IAAA,EAAA,CAAA,EAAA,CAAA,eAAA,CAAA;OAAA,CAAA;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;ACDhDf,EAAAA,OAAAA,aAAAA,EAAAA,EAAAA,eAAAA;AAGe,IAAA,MAAA,CAAA,cAAA,CAAA;IAAAgE,kBAAAA,CAAAC,sBAAAA,CAHO,IAAA,CAAA,MAAM,CAAA,CAAA;AAAA,IAAA;AAAA,MAAA,OAAA,EAAAlB,YAC1B,MAAsB;QAAtBhC,eAAAA,CAAsB,MAAA,CAAA,oBAAA,CAAA,CAAA;QACtBA,eAAAA,CAA2B,MAAA,CAAA,yBAAA,CAAA;OAAA,CAAA;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;0BCA7Bf,eAAAA,CAMgB,MAAA,CAAA,eAAA,CAAA,EANhBwD,cAAAA,CAMgB;AALb,IAAA,yBAAA,EAAyB,MAAA,CAAA,qBAAA,IAAyB,MAAA,CAAA,IAAA,CAAK,EAAC,CAAA,4BAAA,CAAA;GAAA,EACjD,IAAA,CAAA,MAAM,CAAA,EAAA;AAAA,IAAA,OAAA,EAAAT,YAEd,MAAsB;MAAtBhC,eAAAA,CAAsB,MAAA,CAAA,oBAAA,CAAA,CAAA;MACtBA,eAAAA,CAA2B,MAAA,CAAA,yBAAA,CAAA;KAAA,CAAA;;;;;;ACCxB,IAAM,mBAAA,GAAuC;AAAA,EAClD;AAAA,IACE,OAAO4D,cAAA,CAAU,WAAA;AAAA,IACjB,MAAA,GAAS,CAAC,MAAA,KAAW;AACnB,MAAA,MAAM,EAAE,OAAA,EAAS,IAAA,EAAM,IAAA,EAAK,GAAI,MAAA;AAEhC,MAAA,MAAM,aAAA,GAAgB,OAAA,CAAQ,IAAA,CAAK,UAAA,CAAWC,0CAA6B,CAAA;AAE3E,MAAA,MAAM,aAAa,aAAA,CAAc,QAAA,CAAS,CAAC,EAAE,MAAA,EAAQ,OAAM,KAAM;AAC/D,QAAA,MAAM,aAAA,GAAgB;AAAA,UACpB,GAAG,OAAO,YAAA,CAAa,GAAA,CAAI,CAAC,MAAA,KAAW,MAAA,CAAO,GAAG,CAAA,CAAE,OAAA,EAAQ;AAAA,UAC3D,MAAA,CAAO;AAAA,SACT;AACA,QAAA,MAAM,YAAA,GAAe;AAAA,UACnB,GAAG,MAAM,YAAA,CAAa,GAAA,CAAI,CAAC,MAAA,KAAW,MAAA,CAAO,GAAG,CAAA,CAAE,OAAA,EAAQ;AAAA,UAC1D,KAAA,CAAM;AAAA,SACR;AAGA,QAAA,WAAA,CAAY,MAAM,IAAA,CAAK,UAAA,CAAW,IAAI,CAAA,EAAG,CAAC,gBAAgB,EAAA,KAAO;AAC/D,UAAA,IAAI,EAAA,CAAG,SAAS,KAAA,EAAO;AAErB,YAAA,IAAI,cAAA,CAAe,EAAA,CAAG,OAAA,EAAS,aAAa,CAAA,EAAG;AAC7C,cAAA,EAAA,CAAG,OAAA,GAAU,CAAC,GAAG,YAAA,EAAc,GAAA,CAAI,EAAA,CAAG,OAAA,IAAW,EAAC,GAAI,KAAA,CAAM,aAAA,CAAc,MAAM,CAAC,CAAA;AACjF,cAAA,IAAA,CAAK,UAAA,CAAW,gBAAgB,EAAE,CAAA;AAAA,YACpC;AAAA,UACF,CAAA,MAAA,IAAW,EAAA,CAAG,IAAA,KAAS,UAAA,EAAY;AAEjC,YAAA,MAAM,gBAAA,GAAmB5C,sBAAA,CAAe,mBAAA,CAAoB,EAAE,CAAA;AAC9D,YAAA,IAAI,QAAA,GAAW,KAAA;AAEf,YAAA,gBAAA,CAAiB,OAAA,CAAQ,CAAC,QAAA,KAAa;AACrC,cAAA,IAAI,cAAA,CAAe,QAAA,EAAU,aAAa,CAAA,EAAG;AAC3C,gBAAA,QAAA,GAAW,IAAA;AACX,gBAAA,MAAM,WAAA,GAAc;AAAA,kBAClB,GAAG,YAAA;AAAA,kBACH,IAAI,QAAA,IAAY,EAAC,GAAI,KAAA,CAAM,cAAc,MAAM;AAAA,iBACjD;AACA,gBAAA,EAAA,CAAG,OAAA,GAAU,GAAG,OAAA,EAAS,OAAA;AAAA,kBACvB,CAAA,EAAA,EAAK,QAAA,CAAS,IAAA,CAAK,GAAG,CAAC,CAAA,CAAA,CAAA;AAAA,kBACvB,CAAA,EAAA,EAAK,WAAA,CAAY,IAAA,CAAK,GAAG,CAAC,CAAA,CAAA;AAAA,iBAC5B;AAAA,cACF;AAAA,YACF,CAAC,CAAA;AAED,YAAA,IAAI,QAAA,EAAU;AACZ,cAAA,IAAA,CAAK,UAAA,CAAW,cAAA,EAAgB,EAAE,GAAG,IAAI,CAAA;AAAA,YAC3C;AAAA,UACF;AAAA,QACF,CAAC,CAAA;AAAA,MACH,CAAC,CAAA;AAED,MAAA,OAAO,MAAM;AACX,QAAA,UAAA,CAAW,OAAA,EAAQ;AAAA,MACrB,CAAA;AAAA,IACF,CAAA;AAAA;AAEJ;AAQA,SAAS,cAAA,CAAe,OAAA,GAAoB,EAAC,EAAG,aAAA,EAAyB;AACvE,EAAA,OAAO,aAAA,CAAc,MAAM,CAAC,IAAA,EAAM,UAAU,IAAA,KAAS,OAAA,CAAQ,KAAK,CAAC,CAAA;AACrE;AAQA,SAAS,WAAA,CACP,IAAA,EACA,KAAA,EACA,EAAA,EACA;AACA,EAAA,KAAA,MAAW,EAAE,KAAA,EAAO,EAAA,EAAI,MAAK,IAAKA,sBAAA,CAAe,SAAS,KAAA,EAAO;AAAA,IAC/D,YAAA,EAAc,CAAC,KAAA,EAAO,UAAU,CAAA;AAAA,IAChC,IAAA,EAAM;AAAA,GACP,CAAA,EAAG;AACF,IAAA,EAAA,CAAG,MAAM,EAAwC,CAAA;AAAA,EACnD;AACF;AC/EO,IAAM,qBAAA,GAAwB,CACnC,EAAA,KACoB;AAAA,EACpB;AAAA,IACE,OAAO2C,cAAAA,CAAU,mBAAA;AAAA,IACjB,MAAA,GAAS,CAAC,MAAA,KAAW;AACnB,MAAA,MAAM,EAAE,OAAA,EAAS,KAAA,EAAM,GAAI,MAAA;AAE3B,MAAA,IAAI,KAAA,EAAO,SAAS,KAAA,EAAO;AACzB,QAAA,OAAO,MAAM,IAAA;AAAA,MACf;AAEA,MAAA,MAAM,UAAA,GAAaE,2BAAA,CAAa,OAAA,CAAQ,IAAI,EAAE,SAAA,CAAU,cAAA;AAAA,QACtD,KAAA,EAAO,WAAW,EAAC;AAAA,QACnB,CAAC,KAAA,KAAU;AACT,UAAA,EAAA,CAAG,EAAE,GAAG,MAAA,EAAQ,MAAA,EAAQlD,2BAAgB,WAAA,CAAY,KAAK,GAAG,CAAA;AAAA,QAC9D,CAAA;AAAA,QACA;AAAA,UACE,QAAA,EAAU,CAAC,EAAA,KAAO,EAAA,EAAI;AAAA;AACxB,OACF;AACA,MAAA,OAAO,MAAM;AACX,QAAA,UAAA,CAAW,OAAA,EAAQ;AAAA,MACrB,CAAA;AAAA,IACF,CAAA;AAAA;AAEJ;AC1BO,IAAM,oBAAA,GAAuB,CAClC,EAAA,KACoB;AAAA,EACpB;AAAA,IACE,OAAOgD,cAAAA,CAAU,mBAAA;AAAA,IACjB,MAAA,GAAS,CAAC,MAAA,KAAW;AACnB,MAAA,MAAM,EAAE,OAAA,EAAS,KAAA,EAAM,GAAI,MAAA;AAE3B,MAAA,IAAI,KAAA,EAAO,SAAS,KAAA,EAAO;AACzB,QAAA,OAAO,MAAM,IAAA;AAAA,MACf;AAEA,MAAA,MAAM,UAAA,GAAaE,2BAAAA,CAAa,OAAA,CAAQ,IAAI,EAAE,SAAA,CAAU,cAAA;AAAA,QACtD,KAAA,EAAO,WAAW,EAAC;AAAA,QACnB,CAAC,CAAA,KAAM;AACL,UAAA,EAAA,CAAG,EAAE,GAAG,MAAA,EAAQ,QAAA,EAAU,GAAG,CAAA;AAAA,QAC/B;AAAA,OACF;AACA,MAAA,OAAO,MAAM;AACX,QAAA,UAAA,CAAW,OAAA,EAAQ;AAAA,MACrB,CAAA;AAAA,IACF,CAAA;AAAA;AAEJ;ACxCO,IAAM,0BAA2CC,mDAAA,CAAiC;AAAA,EACvF,OAAA,EAAS,IAAA;AAAA,EACT,KAAA,EAAO,CAAC,KAAA,EAAsB,GAAA,KAAQ;AAAA,IACpCC,wBAAW,yBAAA,CAA0B;AAAA,MACnC,GAAA,EAAK,CAAA,EAAG,GAAA,CAAI,IAAA,CAAK,EAAE,CAAA,OAAA,CAAA;AAAA,MACnB,IAAA,EAAM;AAAA,QACJ,KAAA,EAAO,GAAA,CAAI,IAAA,EAAM,UAAA,CAAW,OAAO,CAAA;AAAA,QACnC,IAAA,EAAM,GAAA,CAAI,IAAA,CAAK,eAAA,GAAoC,IAAA,EAAM;AAAA,OAC3D;AAAA,MACA,IAAA,EAAMA,wBAAW,YAAA,CAAa;AAAA,QAC5B,UAAA,EAAY;AAAA,UACVA,wBAAW,cAAA,CAAe;AAAA,YACxB,GAAA,EAAK,MAAA;AAAA,YACL,WAAA,EAAaA,wBAAW,yBAAA,CAA0B;AAAA,cAChD,YAAA,EAAcA,wBAAW,uBAAA,CAAwB;AAAA,gBAC/C,OAAA,EAAS,KAAA,CAAM,OAAA,IAAW;AAAC,eAC5B;AAAA,aACF;AAAA,WACF,CAAA;AAAA,UACDA,wBAAW,cAAA,CAAe;AAAA,YACxB,GAAA,EAAK,OAAA;AAAA,YACL,IAAA,EAAMA,wBAAW,YAAA;AAAa,WAC/B;AAAA;AACH,OACD;AAAA,KACF;AAAA;AAEL,CAAC;AC5BM,IAAM,2BAA4CD,mDAAAA,CAAiC;AAAA,EACxF,KAAA,EAAO,CAAC,KAAA,EAAoB,GAAA,KAAQ;AAAA,IAClCC,wBAAW,yBAAA,CAA0B;AAAA,MACnC,GAAA,EAAK,CAAA,EAAG,GAAA,CAAI,IAAA,CAAK,EAAE,CAAA,CAAA;AAAA,MACnB,IAAA,EAAM;AAAA,QACJ,OAAO,GAAA,CAAI,IAAA,EAAM,WAAW,OAAO,CAAA,IAAK,IAAI,IAAA,CAAK,EAAA;AAAA,QACjD,IAAA,EAAM,GAAA,CAAI,IAAA,CAAK,eAAA,GAAoC,IAAA,EAAM;AAAA,OAC3D;AAAA,MACA,IAAA,EAAMpD,0BAAAA,CAAgB,WAAA,CAAY,KAAK;AAAA,KACxC;AAAA;AAEL,CAAC;ACbM,IAAM,iBAAA,GAAqC;AAAA,EAChD;AAAA,IACE,OAAOgD,cAAAA,CAAU,aAAA;AAAA,IACjB,MAAA,GAAS,CAAC,EAAE,KAAA,EAAO,SAAQ,KAAM;AAC/B,MAAA,OAAA,CAAQ,KAAK,OAAA,CAAQK,mCAAoB,EAAE,SAAA,CAAU,OAAA,CAAQ,CAAC,MAAA,KAAW;AACvE,QAAA,MAAA,CAAO,MAAA,CAAO,SAAA,CAAU,OAAA,CAAQ,CAAC,IAAA,KAAS;AACxC,UAAA,IAAA,CAAK,UAAA,CAAW;AAAA,YACd,GAAI,IAAA,CAAK,IAAA,IAAQ,EAAC;AAAA,YAClB,KAAA,EAAO,KAAA,IAAS,OAAA,CAAQ,IAAA,CAAK,EAAA;AAAA,YAC7B,IAAA,EAAM,OAAA,CAAQ,IAAA,CAAK,eAAA,GAAoC,IAAA,EAAM;AAAA,WAC9D,CAAA;AAAA,QACH,CAAC,CAAA;AAAA,MACH,CAAC,CAAA;AAAA,IACH,CAAA;AAAA;AAEJ;AChBO,IAAM,2BAA2B,CAAC;AAAA,EACvC;AACF,CAAA,GAEI,EAAC,KAAuB;AAAA,EAC1B;AAAA,IACE,OAAOL,cAAAA,CAAU,WAAA;AAAA,IACjB,SAAS,CAAC,EAAE,OAAA,EAAS,IAAA,EAAM,MAAK,KAAM;AACpC,MAAA,MAAM,SAAA,GACJ,UAAU,SAAA,GAAYM,kCAAA,CAAoB,QAAQ,IAAI,CAAA,GAAIJ,2BAAAA,CAAa,OAAA,CAAQ,IAAI,CAAA;AAErF,MAAA,MAAM,UAAA,GAAa,SAAA,CAAU,SAAA,CAAU,oBAAA,CAAqB,MAAM;AAChE,QAAA,MAAM,YAAY,MAAA,CAAO,OAAA,CAAQ,IAAA,CAAK,KAAA,CAAM,UAAU,EAAE,CAAA,CACrD,MAAA,CAAO,CAAC,CAAC,CAAA,EAAG,MAAM,CAAA,KAAM,MAAA,EAAQ,SAAS,CAAC,CAAA,CAC1C,MAAA,CAAO,CAAC,CAAC,GAAG,CAAA,KAAM,GAAA,CAAI,UAAA,CAAW,IAAI,CAAA,IAAK,IAAA,CAAK,UAAA,CAAW,GAAG,CAAC,CAAA,CAC9D,GAAA,CAAI,CAAC,CAAC,GAAG,MAAM,GAAG,CAAA;AAErB,QAAA,IAAI,SAAA,CAAU,SAAS,CAAA,EAAG;AACxB,UAAA,IAAA,CAAK,QAAA,EAAS;AAAA,QAChB;AAAA,MACF,CAAC,CAAA;AAED,MAAA,OAAO,MAAM,WAAW,OAAA,EAAQ;AAAA,IAClC,CAAA;AAAA;AAEJ;ACbO,IAAM,4BAA6CC,mDAAAA,CAAiC;AAAA,EACzF,KAAA,EAAO,CAAC,KAAA,EAAsC,GAAA,KAAQ;AAAA,IACpDC,wBAAW,yBAAA,CAA0B;AAAA,MACnC,GAAA,EAAK,CAAA,EAAG,GAAA,CAAI,IAAA,CAAK,EAAE,CAAA,CAAA;AAAA,MACnB,IAAA,EAAM;AAAA,QACJ,KAAA,EAAO,GAAA,CAAI,IAAA,EAAM,UAAA,CAAW,OAAO,CAAA;AAAA,QACnC,IAAA,EAAM,GAAA,CAAI,IAAA,CAAK,eAAA,GAAoC,IAAA,EAAM;AAAA,OAC3D;AAAA,MACA,IAAA,EAAMA,wBAAW,YAAA,CAAa;AAAA,QAC5B,UAAA,EAAY,MAAA,CAAO,OAAA,CAAQ,KAAK,CAAA,CAAE,GAAA;AAAA,UAAI,CAAC,CAAC,IAAA,EAAM1C,MAAK,CAAA,KACjD0C,wBAAW,cAAA,CAAe;AAAA,YACxB,GAAA,EAAK,IAAA;AAAA,YACL,WAAA,EAAaA,wBAAW,yBAAA,CAA0B;AAAA,cAChD,OAAA,EAASA,wBAAW,uBAAA,CAAwB;AAAA,gBAC1C,OAAA,EAAS1C,MAAAA,EAAO,OAAA,IAAW;AAAC,eAC7B;AAAA,aACF;AAAA,WACF;AAAA;AACH,OACD;AAAA,KACF;AAAA;AAEL,CAAC;AAKM,IAAM,+BAMR6C,4BAAA,CAAwB;AAAA,EAC3B,IAAA,EAAM,sBAAA;AAAA,EACN,eAAA,CAAgB,EAAE,WAAA,EAAa,iBAAA,IAAqB,EAAE,SAAA,EAAW,gBAAe,EAAG;AACjF,IAAA,WAAA,CAAY;AAAA,MACV,CAAC,SAAS,GAAG;AAAA,KACd,CAAA;AAED,IAAA,IAAI,cAAA,EAAgB;AAClB,MAAA,iBAAA,CAAkB,CAAC,UAAU,GAAA,KAAQ;AACnC,QAAA,MAAM,iBAAiBL,2BAAAA,CAAa,GAAA,CAAI,IAAI,CAAA,CAAE,MAAA,CAAO,YAAY,CAAC,CAAA;AAElE,QAAA,IAAI,gBAAgB,IAAA,EAAM;AACxB,UAAAd,aAAI,QAAA,EAAU,cAAA,EAAgBpC,2BAAgB,WAAA,CAAY,cAAA,EAAgB,IAAI,CAAC,CAAA;AAAA,QACjF;AAEA,QAAA,OAAO,QAAA;AAAA,MACT,CAAC,CAAA;AAAA,IACH;AAAA,EACF,CAAA;AAAA,EACA,MAAA,CAAO,GAAA,EAAK,EAAE,SAAA,EAAU,EAAG;AACzB,IAAA,MAAM,qBAAA,GAAwB,GAAA,CAAI,IAAA,CAAK,UAAA,CAAWwD,yCAA0B,CAAA;AAE5E,IAAA,MAAM,aAAA,GAAgB,IAAI,IAAA,CAAK,YAAA;AAE/B,IAAA,MAAM,aAAA,GAAgB,GAAG,aAAa,CAAA,QAAA,CAAA;AAEtC,IAAA,IAAI,qBAAA,CAAsB,cAAA,CAAe,aAAa,CAAA,EAAG;AACvD,MAAA;AAAA,IACF;AAEA,IAAA,qBAAA,CAAsB,oBAAoB,aAAA,EAAe;AAAA,MACvD,eAAA,EAAiB,CAAC,MAAA,EAAQC,IAAAA,KAAQ;AAChC,QAAA,MAAM,IAAA,GAAOA,IAAAA,CAAI,KAAA,CAAM,IAAA,EAAM,IAAA;AAG7B,QAAA,IAAI,IAAA,EAAM,MAAA,EAAQ,YAAA,KAAiB,aAAA,EAAe;AAChD,UAAA,OAAO,CAAC,GAAG,MAAA,EAAQP,2BAAAA,CAAa,IAAA,CAAK,MAAM,CAAC,CAAA;AAAA,QAC9C;AAEA,QAAA,OAAO,MAAA;AAAA,MACT,CAAA;AAAA,MACA,aAAA,CAAc,QAAQO,IAAAA,EAAK;AACzB,QAAA,MAAM,SAAA,GAAYA,KAAI,KAAA,CAAM,IAAA;AAE5B,QAAA,IAAI,SAAA,EAAW,IAAA,KAASC,gCAAA,CAAkB,OAAA,EAAS;AACjD,UAAA,OAAO,MAAA;AAAA,QACT;AAEA,QAAA,MAAM,OAAO,SAAA,EAAW,IAAA;AAGxB,QAAA,IAAI,IAAA,EAAM,iBAAiB,aAAA,EAAe;AAExC,UAAA,MAAM,cAAc,IAAA,CAAK,MAAA;AAGzB,UAAA,OAAO;AAAA,YACLJ,mCAAoB,IAAI,CAAA;AAAA,YACxB,GAAG,WAAA,CAAY,GAAA,CAAI,CAAC,WAAA,KAAgBJ,2BAAAA,CAAa,WAAW,CAAC;AAAA,WAC/D;AAAA,QACF;AAEA,QAAA,OAAO,MAAA;AAAA,MACT;AAAA,KACD,CAAA;AAAA,EACH;AACF,CAAC;ACvFM,IAAM,0BAA0BK,4BAAAA,CAAqC;AAAA,EAC1E,eAAA,CAAgB,EAAE,iBAAA,EAAmB,WAAA,IAAe,EAAE,SAAA,EAAW,WAAU,EAAG;AAC5E,IAAA,IAAI,CAAC,SAAA,IAAa,CAAC,SAAA,EAAW;AAC5B,MAAA;AAAA,IACF;AAEA,IAAA,WAAA,CAAY;AAAA,MACV,CAAC,SAAS,GAAGJ,mDAAAA,CAAiC;AAAA,QAC5C,KAAA,EAAO,CAAC,KAAA,EAA0B,GAAA,KAAQ;AACxC,UAAA,MAAM,WAAA,GAAcQ,eAAA;AAAA,YAClB,KAAA,CAAM,MAAA,CAAO,CAAC,EAAA,KAAO,EAAA,CAAG,aAAa,SAAA,IAAa,EAAA,CAAG,IAAA,IAAQ,EAAA,CAAG,KAAK,CAAA;AAAA,YACrE;AAAA,WACF;AAEA,UAAA,OAAO;AAAA,YACLP,wBAAW,yBAAA,CAA0B;AAAA,cACnC,GAAA,EAAK,CAAA,EAAG,GAAA,CAAI,IAAA,CAAK,EAAE,CAAA,CAAA;AAAA,cACnB,IAAA,EAAM;AAAA,gBACJ,KAAA,EAAO,GAAA,CAAI,IAAA,EAAM,UAAA,CAAW,OAAO,CAAA;AAAA,gBACnC,IAAA,EAAM,GAAA,CAAI,IAAA,CAAK,eAAA,GAAoC,IAAA,EAAM;AAAA,eAC3D;AAAA,cACA,IAAA,EAAMA,wBAAW,YAAA,CAAa;AAAA,gBAC5B,YAAY,WAAA,CAAY,GAAA;AAAA,kBAAI,CAAC,EAAA,KAC3BA,uBAAAA,CAAW,cAAA,CAAe;AAAA,oBACxB,KAAK,EAAA,CAAG,IAAA;AAAA,oBACR,IAAA,EACE,EAAA,CAAG,KAAA,EAAO,IAAA,KAAS,UAAA,GACfpD,0BAAAA,CAAgB,WAAA,CAAY,EAAA,CAAG,KAAA,EAAO,MAAA,IAAU,EAAE,CAAA,GAClD,MAAA;AAAA,oBACN,aACE,EAAA,CAAG,KAAA,EAAO,IAAA,KAAS,KAAA,GACfoD,wBAAW,uBAAA,CAAwB;AAAA,sBACjC,OAAA,EAAS,EAAA,CAAG,KAAA,EAAO,OAAA,IAAW;AAAC,qBAChC,IACD;AAAC,mBACR;AAAA;AACH,eACD;AAAA,aACF;AAAA,WACH;AAAA,QACF;AAAA,OACD;AAAA,KACF,CAAA;AAED,IAAA,iBAAA,CAAkB,CAAC,UAAU,GAAA,KAAQ;AACnC,MAAAhB,YAAAA;AAAA,QACE,QAAA;AAAA,QACA,SAAA;AAAA,QACApC,0BAAAA,CAAgB,WAAA,CAAYkD,2BAAAA,CAAa,GAAA,CAAI,IAAI,EAAE,MAAA,CAAO,SAAA,GAAY,CAAC,CAAA,EAAG,IAAI;AAAA,OAChF;AAEA,MAAA,OAAO,QAAA;AAAA,IACT,CAAC,CAAA;AAAA,EACH;AACF,CAAC;AC1ED,IAAM,EAAE,SAAAH,QAAAA,EAAQ,GAAI,IAAIa,WAAA,CAAM,EAAE,UAAA,EAAY,KAAA,EAAO,CAAA;AAY5C,IAAM,0BAA0BL,4BAAAA,CAAqC;AAAA,EAC1E,eAAA,CACE,EAAE,iBAAA,EAAmB,eAAA,EAAgB,EACrC,EAAE,SAAA,EAAW,SAAA,EAAW,KAAA,EAAO,oBAAA,EAAqB,EACpD;AACA,IAAA,IAAI,CAAC,SAAA,IAAa,CAAC,SAAA,EAAW;AAC5B,MAAA;AAAA,IACF;AAEA,IAAA,iBAAA;AAAA,MAAkB,CAAC,QAAA,EAAU,GAAA,KAC3BR,QAAAA,CAAQ,QAAA,EAAU,CAAC,KAAA,KAAe;AAChC,QAAA,MAAM,UAAA,GAAab,YAAAA,CAAI,QAAA,EAAU,SAAS,CAAA;AAE1C,QAAAE,YAAAA;AAAA,UACE,KAAA;AAAA,UACA,SAAA;AAAA,UACA/B,sBAAA,CAAe,eAAA;AAAA,YACb,UAAA;AAAA,YACA,KAAA,KAAU,YAAYiD,kCAAAA,CAAoB,GAAA,CAAI,IAAI,CAAA,GAAIJ,2BAAAA,CAAa,IAAI,IAAI;AAAA;AAC7E,SACF;AAEA,QAAA,IAAI,oBAAA,EAAsB;AACxB,UAAA,KAAA,MAAW,EAAE,KAAA,EAAO,IAAA,EAAK,IAAK7C,sBAAA,CAAe,SAAS,UAAA,EAAY;AAAA,YAChE,YAAA,EAAc,CAAC,UAAU;AAAA,WAC1B,CAAA,EAAG;AACF,YAAA,IAAIA,sBAAA,CAAe,UAAA,CAAW,KAAK,CAAA,IAAK,OAAO,MAAA,EAAQ;AACrD,cAAA+B,YAAAA,CAAI,QAAA,EAAU,CAAA,EAAG,SAAS,CAAA,CAAA,EAAI,IAAI,CAAA,CAAA,EAAIU,aAAAA,CAAK,KAAA,EAAO,CAAC,QAAQ,CAAC,CAAC,CAAA;AAAA,YAC/D;AAAA,UACF;AAAA,QACF;AAAA,MACF,CAAC;AAAA,KACH;AAEA,IAAA,IAAI,oBAAA,EAAsB;AAExB,MAAA,eAAA,CAAgB,CAAC,UAAU,GAAA,KAAQ;AACjC,QAAA,MAAM,YAAA,GAAeZ,YAAAA,CAAI,QAAA,EAAU,SAAS,CAAA;AAE5C,QAAA,IAAI,CAAC,YAAA,EAAc;AACjB,UAAA,OAAO,QAAA;AAAA,QACT;AAGA,QAAA,KAAA,MAAW,EAAE,OAAO,OAAA,EAAQ,IAAK7B,uBAAe,QAAA,CAAS6B,YAAAA,CAAI,QAAA,EAAU,SAAS,CAAA,EAAG;AAAA,UACjF,YAAA,EAAc,CAAC,UAAU;AAAA,SAC1B,CAAA,EAAG;AACF,UAAA,IAAI7B,uBAAe,UAAA,CAAW,KAAK,CAAA,IAAK,CAAC,OAAO,MAAA,EAAQ;AACtD,YAAA,MAAM,UAAA,GAAa,OAAA,CAAQ,GAAA,CAAI,CAAC,KAAA,KAAU,cAAc,KAAK,CAAA,CAAE,CAAA,CAAE,IAAA,CAAK,GAAG,CAAA;AACzE,YAAA,MAAM,MAAA,GAAS6B,YAAAA,CAAI,YAAA,EAAc,UAAU,CAAA;AAC3C,YAAA,IAAI,MAAA,EAAQ;AACV,cAAAE,YAAAA,CAAI,KAAA,EAAO,QAAA,EAAU,MAAM,CAAA;AAAA,YAC7B;AAAA,UACF;AAAA,QACF;AAEA,QAAA,OAAO,QAAA;AAAA,MACT,CAAC,CAAA;AAAA,IACH;AAAA,EACF;AACF,CAAC;AC/DM,SAAS,iBAAA,CAAkB,OAA+B,GAAA,EAAc;AAC7E,EAAA,MAAM,EAAE,IAAA,EAAM,QAAA,EAAU,aAAA,EAAc,GAAI,GAAA;AAE1C,EAAA,MAAM;AAAA,IACJ,UAAU,eAAA,GAAkB,mBAAA;AAAA,IAC5B,iBAAiB,sBAAA,GAAyB;AAAA,GAC5C,GAAI,iBAAiB,EAAC;AAEtB,EAAA,IAAI,QAAA,KAAayB,cAAA,CAAM,KAAK,CAAA,IAAKA,cAAA,CAAM,OAAO,OAAO,CAAA,IAAK,KAAA,EAAO,OAAA,KAAY,EAAA,CAAA,EAAK;AAChF,IAAA,OAAO;AAAA,MACL,OAAOC,kBAAA,CAAc,KAAA;AAAA,MACrB,OAAA,EAAS;AAAA,KACX;AAAA,EACF;AAEA,EAAA,IAAI,KAAA,EAAO,SAAS,KAAA,EAAO;AACzB,IAAA,MAAM,QAAA,GAAWZ,4BAAa,IAAI,CAAA,CAAE,UAAU,YAAA,CAAa,KAAA,EAAO,OAAA,IAAW,EAAE,CAAA;AAC/E,IAAA,IAAI,CAAC,QAAA,EAAU;AACb,MAAA,OAAO;AAAA,QACL,OAAOY,kBAAA,CAAc,KAAA;AAAA,QACrB,OAAA,EAAS;AAAA,OACX;AAAA,IACF;AAAA,EACF;AAEA,EAAA,IAAI,KAAA,EAAO,SAAS,UAAA,EAAY;AAC9B,IAAA,MAAM,OAAA,GAAUzD,sBAAA,CAAe,mBAAA,CAAoB,KAAK,CAAA;AAExD,IAAA,KAAA,MAAW3B,SAAO,OAAA,EAAS;AACzB,MAAA,MAAM,WAAWwE,2BAAAA,CAAa,IAAI,CAAA,CAAE,SAAA,CAAU,aAAaxE,KAAG,CAAA;AAC9D,MAAA,IAAI,CAAC,QAAA,EAAU;AACb,QAAA,OAAO;AAAA,UACL,OAAOoF,kBAAA,CAAc,KAAA;AAAA,UACrB,OAAA,EAAS;AAAA,SACX;AAAA,MACF;AAAA,IACF;AAAA,EACF;AAEA,EAAA,OAAO,MAAA;AACT","file":"index.cjs","sourcesContent":["<script setup lang=\"ts\">\n/**\n * Copyright (c) 2025 Bytedance Ltd. and/or its affiliates\n * SPDX-License-Identifier: MIT\n */\n\ndefineProps<{\n disabled?: boolean;\n borderless?: boolean;\n}>();\n\nconst emit = defineEmits<{\n click: [event: MouseEvent];\n}>();\n</script>\n\n<template>\n <button\n type=\"button\"\n class=\"fg-btn\"\n :class=\"{ borderless }\"\n :disabled=\"disabled\"\n @click=\"emit('click', $event)\"\n >\n <slot />\n </button>\n</template>\n","<script setup lang=\"ts\">\n/**\n * Copyright (c) 2025 Bytedance Ltd. and/or its affiliates\n * SPDX-License-Identifier: MIT\n */\n\nimport type { CSSProperties, VNode } from 'vue';\n\ndefineProps<{\n disabled?: boolean;\n icon?: VNode;\n style?: CSSProperties;\n}>();\n\nconst emit = defineEmits<{\n click: [event: MouseEvent];\n}>();\n</script>\n\n<template>\n <button\n type=\"button\"\n class=\"fg-icon-btn\"\n :disabled=\"disabled\"\n :style=\"style\"\n @click=\"emit('click', $event)\"\n >\n <component :is=\"icon\" v-if=\"icon\" />\n <slot />\n </button>\n</template>\n","<script setup lang=\"ts\">\n/**\n * Copyright (c) 2025 Bytedance Ltd. and/or its affiliates\n * SPDX-License-Identifier: MIT\n */\n\nimport { computed, type CSSProperties } from 'vue';\n\nconst props = defineProps<{\n modelValue?: string | number;\n value?: string | number;\n disabled?: boolean;\n placeholder?: string;\n style?: CSSProperties;\n type?: string;\n error?: boolean;\n}>();\n\nconst emit = defineEmits<{\n 'update:modelValue': [value: string];\n change: [value: string];\n blur: [event: FocusEvent];\n focus: [event: FocusEvent];\n}>();\n\nconst innerValue = computed(() =>\n props.modelValue !== undefined ? props.modelValue : props.value\n);\n\nconst onInput = (event: Event) => {\n const next = (event.target as HTMLInputElement).value;\n emit('update:modelValue', next);\n emit('change', next);\n};\n</script>\n\n<template>\n <input\n class=\"fg-input\"\n :class=\"{ error }\"\n :type=\"type || 'text'\"\n :value=\"innerValue\"\n :disabled=\"disabled\"\n :placeholder=\"placeholder\"\n :style=\"style\"\n @input=\"onInput\"\n @blur=\"emit('blur', $event)\"\n @focus=\"emit('focus', $event)\"\n />\n</template>\n","<script setup lang=\"ts\">\n/**\n * Copyright (c) 2025 Bytedance Ltd. and/or its affiliates\n * SPDX-License-Identifier: MIT\n */\n\nimport { computed } from 'vue';\n\nconst props = defineProps<{\n modelValue?: string | number;\n value?: string | number;\n disabled?: boolean;\n placeholder?: string;\n rows?: number;\n}>();\n\nconst emit = defineEmits<{\n 'update:modelValue': [value: string];\n change: [value: string];\n}>();\n\nconst innerValue = computed(() =>\n props.modelValue !== undefined ? props.modelValue : props.value\n);\n\nconst onInput = (event: Event) => {\n const next = (event.target as HTMLTextAreaElement).value;\n emit('update:modelValue', next);\n emit('change', next);\n};\n</script>\n\n<template>\n <textarea\n class=\"fg-textarea\"\n :value=\"innerValue\"\n :disabled=\"disabled\"\n :placeholder=\"placeholder\"\n :rows=\"rows || 2\"\n @input=\"onInput\"\n />\n</template>\n","<script setup lang=\"ts\">\n/**\n * Copyright (c) 2025 Bytedance Ltd. and/or its affiliates\n * SPDX-License-Identifier: MIT\n */\n\nimport { computed, onBeforeUnmount, onMounted, ref } from 'vue';\n\nimport type { FgSelectOption } from './types';\n\nconst props = withDefaults(\n defineProps<{\n modelValue?: string | number;\n value?: string | number;\n options?: FgSelectOption[];\n disabled?: boolean;\n placeholder?: string;\n compact?: boolean;\n }>(),\n { options: () => [] }\n);\n\nconst emit = defineEmits<{\n 'update:modelValue': [value: string | number];\n change: [value: string | number];\n}>();\n\nconst open = ref(false);\nconst rootRef = ref<HTMLElement | null>(null);\nconst innerValue = computed(() =>\n props.modelValue !== undefined ? props.modelValue : props.value\n);\n\nconst selected = computed(() => props.options.find((item) => item.value === innerValue.value));\n\nconst onDocClick = (event: MouseEvent) => {\n if (rootRef.value && !rootRef.value.contains(event.target as Node)) {\n open.value = false;\n }\n};\n\nonMounted(() => document.addEventListener('mousedown', onDocClick));\nonBeforeUnmount(() => document.removeEventListener('mousedown', onDocClick));\n\nconst select = (option: FgSelectOption) => {\n if (option.disabled) {\n return;\n }\n emit('update:modelValue', option.value);\n emit('change', option.value);\n open.value = false;\n};\n</script>\n\n<template>\n <div ref=\"rootRef\" class=\"fg-select-wrap\">\n <button\n type=\"button\"\n class=\"fg-select\"\n :disabled=\"disabled\"\n @click=\"!disabled && (open = !open)\"\n >\n <slot name=\"trigger\" :value=\"innerValue\" :option=\"selected\">\n {{ selected?.label || placeholder || '' }}\n </slot>\n </button>\n <div v-if=\"open\" class=\"fg-cascader-dropdown\">\n <button\n v-for=\"option in options\"\n :key=\"String(option.value)\"\n type=\"button\"\n class=\"fg-select-option\"\n :disabled=\"option.disabled\"\n @click=\"select(option)\"\n >\n <component :is=\"option.label\" v-if=\"typeof option.label !== 'string'\" />\n <span v-else>{{ option.label }}</span>\n </button>\n </div>\n </div>\n</template>\n","<script setup lang=\"ts\">\n/**\n * Copyright (c) 2025 Bytedance Ltd. and/or its affiliates\n * SPDX-License-Identifier: MIT\n */\n\ndefineProps<{\n checked?: boolean;\n disabled?: boolean;\n}>();\n\nconst emit = defineEmits<{\n change: [checked: boolean];\n}>();\n</script>\n\n<template>\n <input\n class=\"fg-checkbox\"\n type=\"checkbox\"\n :checked=\"checked\"\n :disabled=\"disabled\"\n @change=\"emit('change', ($event.target as HTMLInputElement).checked)\"\n />\n</template>\n","/**\n * Copyright (c) 2025 Bytedance Ltd. and/or its affiliates\n * SPDX-License-Identifier: MIT\n */\n\nimport { h, type VNode } from 'vue';\n\nfunction svg(pathD: string, viewBox = '0 0 16 16'): VNode {\n return h(\n 'svg',\n {\n class: 'fg-icon',\n width: '14',\n height: '14',\n viewBox,\n fill: 'none',\n xmlns: 'http://www.w3.org/2000/svg',\n 'aria-hidden': 'true',\n },\n h('path', { d: pathD, fill: 'currentColor' })\n );\n}\n\nexport const IconPlus = () =>\n svg('M8 2.5a.75.75 0 0 1 .75.75V7.25h4a.75.75 0 0 1 0 1.5h-4v4a.75.75 0 0 1-1.5 0v-4h-4a.75.75 0 0 1 0-1.5h4V3.25A.75.75 0 0 1 8 2.5Z');\n\nexport const IconMinus = () => svg('M3 8a.75.75 0 0 1 .75-.75h8.5a.75.75 0 0 1 0 1.5h-8.5A.75.75 0 0 1 3 8Z');\n\nexport const IconDelete = () =>\n svg(\n 'M5.5 2.75A.75.75 0 0 1 6.25 2h3.5a.75.75 0 0 1 0 1.5h-3.5A.75.75 0 0 1 5.5 2.75ZM3 4.75A.75.75 0 0 1 3.75 4h8.5a.75.75 0 0 1 0 1.5H11.2l-.42 6.3A1.75 1.75 0 0 1 9.04 13.5H6.96a1.75 1.75 0 0 1-1.74-1.7L4.8 5.5H3.75A.75.75 0 0 1 3 4.75Z'\n );\n\nexport const IconChevronDown = () => svg('M4.22 6.22a.75.75 0 0 1 1.06 0L8 8.94l2.72-2.72a.75.75 0 1 1 1.06 1.06l-3.25 3.25a.75.75 0 0 1-1.06 0L4.22 7.28a.75.75 0 0 1 0-1.06Z');\n\nexport const IconChevronRight = () => svg('M6.22 4.22a.75.75 0 0 1 1.06 0l3.25 3.25a.75.75 0 0 1 0 1.06L7.28 11.78a.75.75 0 1 1-1.06-1.06L8.94 8 6.22 5.28a.75.75 0 0 1 0-1.06Z');\n\nexport const IconChevronDownStroked = IconChevronDown;\n\nexport const IconIssueStroked = () =>\n svg(\n 'M8 1.5A6.5 6.5 0 1 1 1.5 8 6.51 6.51 0 0 1 8 1.5ZM8 10a.9.9 0 1 0 0 1.8A.9.9 0 0 0 8 10Zm.75-5.25a.75.75 0 0 0-1.5 0v3.5a.75.75 0 0 0 1.5 0v-3.5Z'\n );\n\nexport const IconSetting = () =>\n svg(\n 'M8 5.25A2.75 2.75 0 1 0 8 10.75 2.75 2.75 0 0 0 8 5.25ZM3.2 6.1 1.7 6.6a.75.75 0 0 0-.5.9l.5 1.9c.1.35.42.6.78.6l1.6.1c.2.4.45.77.75 1.1l-.4 1.55a.75.75 0 0 0 .4.85l1.8.95c.32.17.72.08.95-.2l1.05-1.25c.42.07.85.07 1.27 0l1.05 1.25c.23.28.63.37.95.2l1.8-.95a.75.75 0 0 0 .4-.85l-.4-1.55c.3-.33.55-.7.75-1.1l1.6-.1a.75.75 0 0 0 .78-.6l.5-1.9a.75.75 0 0 0-.5-.9l-1.5-.5c-.05-.43-.16-.85-.32-1.24l.85-1.4a.75.75 0 0 0-.15-.95L12.7 2.4a.75.75 0 0 0-.95-.1l-1.4.7c-.38-.2-.8-.35-1.23-.45L9 1.05A.75.75 0 0 0 8.25.4h-1.5A.75.75 0 0 0 6 1.05L5.88 2.55c-.43.1-.85.25-1.23.45l-1.4-.7a.75.75 0 0 0-.95.1L1.15 3.5a.75.75 0 0 0-.15.95l.85 1.4c-.16.39-.27.81-.32 1.24Z'\n );\n\nexport const IconExpand = () =>\n svg('M3 3.75A.75.75 0 0 1 3.75 3h3.5a.75.75 0 0 1 0 1.5H5.56l2.72 2.72a.75.75 0 1 1-1.06 1.06L4.5 5.56v1.69a.75.75 0 0 1-1.5 0v-3.5ZM13 12.25a.75.75 0 0 1-.75.75h-3.5a.75.75 0 0 1 0-1.5h1.69L7.72 8.78a.75.75 0 0 1 1.06-1.06L11.5 10.44V8.75a.75.75 0 0 1 1.5 0v3.5Z');\n\nexport const IconShrink = () =>\n svg('M7.25 3a.75.75 0 0 1 .75.75v3.5a.75.75 0 0 1-.75.75h-3.5a.75.75 0 0 1 0-1.5h1.69L2.78 4.22a.75.75 0 0 1 1.06-1.06L6.5 5.56V3.75A.75.75 0 0 1 7.25 3Zm1.5 10a.75.75 0 0 1-.75-.75v-3.5a.75.75 0 0 1 .75-.75h3.5a.75.75 0 0 1 0 1.5h-1.69l2.72 2.72a.75.75 0 1 1-1.06 1.06L9.5 10.44v1.81a.75.75 0 0 1-.75.75Z');\n\nexport const IconAddChildren = () =>\n svg('M4 2.75A.75.75 0 0 1 4.75 2h6.5a.75.75 0 0 1 0 1.5h-6.5A.75.75 0 0 1 4 2.75ZM4 8a.75.75 0 0 1 .75-.75h2.5a.75.75 0 0 1 0 1.5h-2.5A.75.75 0 0 1 4 8Zm6.25-.75a.75.75 0 0 0 0 1.5h.5V9.5a.75.75 0 0 0 1.5 0v-.75h.5a.75.75 0 0 0 0-1.5h-.5V6.5a.75.75 0 0 0-1.5 0v.75h-.5ZM4.75 12.5a.75.75 0 0 0 0 1.5h6.5a.75.75 0 0 0 0-1.5h-6.5Z');\n\nexport const IconClose = () =>\n svg('M4.22 4.22a.75.75 0 0 1 1.06 0L8 6.94l2.72-2.72a.75.75 0 1 1 1.06 1.06L9.06 8l2.72 2.72a.75.75 0 1 1-1.06 1.06L8 9.06l-2.72 2.72a.75.75 0 0 1-1.06-1.06L6.94 8 4.22 5.28a.75.75 0 0 1 0-1.06Z');\n","<script setup lang=\"ts\">\n/**\n * Copyright (c) 2025 Bytedance Ltd. and/or its affiliates\n * SPDX-License-Identifier: MIT\n */\n\nimport type { VNode } from 'vue';\n\nimport { IconClose } from './icons';\n\ndefineProps<{\n closable?: boolean;\n color?: 'amber' | 'white' | 'default';\n prefixIcon?: VNode | string;\n}>();\n\nconst emit = defineEmits<{\n close: [];\n}>();\n</script>\n\n<template>\n <span class=\"fg-tag\" :class=\"color || 'default'\">\n <img\n v-if=\"typeof prefixIcon === 'string'\"\n :src=\"prefixIcon\"\n width=\"12\"\n height=\"12\"\n alt=\"\"\n />\n <component :is=\"prefixIcon\" v-else-if=\"prefixIcon\" />\n <slot />\n <button v-if=\"closable\" type=\"button\" class=\"fg-tag-close\" @click.stop=\"emit('close')\">\n <IconClose />\n </button>\n </span>\n</template>\n","<script setup lang=\"ts\">\n/**\n * Copyright (c) 2025 Bytedance Ltd. and/or its affiliates\n * SPDX-License-Identifier: MIT\n */\n\nimport { ref } from 'vue';\n\nconst hover = ref(false);\n</script>\n\n<template>\n <div class=\"fg-popover\" @mouseenter=\"hover = true\" @mouseleave=\"hover = false\">\n <slot />\n <div v-if=\"hover\" class=\"fg-popover-content\">\n <slot name=\"content\" />\n </div>\n </div>\n</template>\n","<script setup lang=\"ts\">\n/**\n * Copyright (c) 2025 Bytedance Ltd. and/or its affiliates\n * SPDX-License-Identifier: MIT\n */\n\nimport { I18n } from '@flowgram-vue/i18n';\n\ndefineProps<{\n visible?: boolean;\n title?: string;\n okText?: string;\n cancelText?: string;\n}>();\n\nconst emit = defineEmits<{\n close: [];\n confirm: [];\n}>();\n</script>\n\n<template>\n <div v-if=\"visible\" class=\"fg-modal-mask\" @click.self=\"emit('close')\">\n <div class=\"fg-modal\">\n <div class=\"fg-modal-title\">{{ title }}</div>\n <slot />\n <div class=\"fg-modal-actions\">\n <button type=\"button\" class=\"fg-btn\" @click=\"emit('close')\">\n {{ cancelText || I18n.t('Cancel') }}\n </button>\n <button type=\"button\" class=\"fg-btn\" @click=\"emit('confirm')\">\n {{ okText || I18n.t('Generate') }}\n </button>\n </div>\n </div>\n </div>\n</template>\n","<script setup lang=\"ts\">\n/**\n * Copyright (c) 2025 Bytedance Ltd. and/or its affiliates\n * SPDX-License-Identifier: MIT\n */\n\nimport { h, type VNode } from 'vue';\n\nimport type { FgTreeNode } from './types';\n\ndefineProps<{\n nodes?: FgTreeNode[];\n}>();\n\nconst emit = defineEmits<{\n pick: [node: FgTreeNode];\n}>();\n\nconst renderIcon = (icon?: VNode | string) => {\n if (!icon) {\n return null;\n }\n if (typeof icon === 'string') {\n return h('img', { src: icon, width: 12, height: 12, alt: '', style: 'margin-right: 4px' });\n }\n return icon;\n};\n</script>\n\n<template>\n <div>\n <div v-for=\"node in nodes || []\" :key=\"node.key\">\n <button\n type=\"button\"\n class=\"fg-tree-node\"\n :class=\"{ disabled: node.disabled }\"\n :disabled=\"node.disabled\"\n @click=\"emit('pick', node)\"\n >\n <component :is=\"() => renderIcon(node.icon)\" />\n <span>{{ node.label }}</span>\n </button>\n <div v-if=\"node.children?.length\" class=\"fg-tree-children\">\n <FgTreeNodes :nodes=\"node.children\" @pick=\"emit('pick', $event)\" />\n </div>\n </div>\n </div>\n</template>\n","<script setup lang=\"ts\">\n/**\n * Copyright (c) 2025 Bytedance Ltd. and/or its affiliates\n * SPDX-License-Identifier: MIT\n */\n\nimport { computed, onBeforeUnmount, onMounted, ref, type VNode } from 'vue';\n\nimport FgTreeNodes from './fg-tree-nodes.vue';\nimport type { FgTreeNode } from './types';\nimport { IconChevronDown } from './icons';\n\nconst props = withDefaults(\n defineProps<{\n treeData?: FgTreeNode[];\n value?: string;\n disabled?: boolean;\n placeholder?: string;\n error?: boolean;\n triggerRender?: () => VNode;\n }>(),\n { treeData: () => [] }\n);\n\nconst emit = defineEmits<{\n change: [value: string[] | undefined, node?: FgTreeNode];\n}>();\n\nconst open = ref(false);\nconst rootRef = ref<HTMLElement | null>(null);\n\nconst findNode = (nodes: FgTreeNode[], key: string | undefined): FgTreeNode | undefined => {\n if (!key) {\n return undefined;\n }\n for (const node of nodes) {\n if (node.key === key || node.value === key) {\n return node;\n }\n const child = findNode(node.children || [], key);\n if (child) {\n return child;\n }\n }\n return undefined;\n};\n\nconst selected = computed(() => findNode(props.treeData, props.value));\n\nconst onDocClick = (event: MouseEvent) => {\n if (rootRef.value && !rootRef.value.contains(event.target as Node)) {\n open.value = false;\n }\n};\n\nonMounted(() => document.addEventListener('mousedown', onDocClick));\nonBeforeUnmount(() => document.removeEventListener('mousedown', onDocClick));\n\nconst pick = (node: FgTreeNode) => {\n if (node.disabled) {\n return;\n }\n emit('change', node.keyPath || node.key.split('.'), node);\n open.value = false;\n};\n</script>\n\n<template>\n <div ref=\"rootRef\" class=\"fg-tree-select\" :class=\"{ error }\">\n <div\n class=\"fg-tree-select-trigger\"\n :class=\"{ disabled }\"\n @click=\"!disabled && (open = !open)\"\n >\n <slot name=\"selected\" :option=\"selected\">\n <component :is=\"triggerRender\" v-if=\"triggerRender\" />\n <span v-else-if=\"selected\" class=\"fg-tree-select-value\">{{ selected.label }}</span>\n <span v-else class=\"fg-tree-select-placeholder\">{{ placeholder }}</span>\n </slot>\n <IconChevronDown />\n </div>\n <div v-if=\"open\" class=\"fg-tree-select-dropdown\">\n <FgTreeNodes :nodes=\"treeData\" @pick=\"pick\" />\n </div>\n </div>\n</template>\n","<script setup lang=\"ts\">\n/**\n * Copyright (c) 2025 Bytedance Ltd. and/or its affiliates\n * SPDX-License-Identifier: MIT\n */\n\nimport { computed, onBeforeUnmount, onMounted, ref, type VNode } from 'vue';\n\nimport type { FgCascaderOption } from './types';\n\nconst props = withDefaults(\n defineProps<{\n options?: FgCascaderOption[];\n value?: string[];\n disabled?: boolean;\n triggerRender?: () => VNode;\n }>(),\n { options: () => [] }\n);\n\nconst emit = defineEmits<{\n change: [value: string[]];\n}>();\n\nconst open = ref(false);\nconst rootRef = ref<HTMLElement | null>(null);\nconst path = ref<string[]>(props.value || []);\n\nconst level0 = computed(() => props.options);\nconst level1 = computed(() => {\n const current = props.options.find((item) => item.value === path.value[0]);\n return current?.children || [];\n});\n\nconst onDocClick = (event: MouseEvent) => {\n if (rootRef.value && !rootRef.value.contains(event.target as Node)) {\n open.value = false;\n }\n};\n\nonMounted(() => document.addEventListener('mousedown', onDocClick));\nonBeforeUnmount(() => document.removeEventListener('mousedown', onDocClick));\n\nconst pick = (level: number, value: string) => {\n const next = [...path.value];\n next[level] = value;\n next.splice(level + 1);\n path.value = next;\n const option = (level === 0 ? level0.value : level1.value).find((item) => item.value === value);\n if (!option?.children?.length) {\n emit('change', next);\n open.value = false;\n }\n};\n</script>\n\n<template>\n <div ref=\"rootRef\" class=\"fg-select-wrap\">\n <div @click=\"!disabled && (open = !open)\">\n <component :is=\"triggerRender\" v-if=\"triggerRender\" />\n <button v-else type=\"button\" class=\"fg-select\" :disabled=\"disabled\">\n {{ (value || []).join(' / ') }}\n </button>\n </div>\n <div v-if=\"open\" class=\"fg-cascader-dropdown\" style=\"display: flex; min-width: 240px\">\n <div style=\"flex: 1\">\n <button\n v-for=\"option in level0\"\n :key=\"option.value\"\n type=\"button\"\n class=\"fg-cascader-option\"\n @click=\"pick(0, option.value)\"\n >\n <component :is=\"option.label\" v-if=\"typeof option.label !== 'string'\" />\n <span v-else>{{ option.label }}</span>\n </button>\n </div>\n <div v-if=\"level1.length\" style=\"flex: 1; border-left: 1px solid #e5e6eb\">\n <button\n v-for=\"option in level1\"\n :key=\"option.value\"\n type=\"button\"\n class=\"fg-cascader-option\"\n @click=\"pick(1, option.value)\"\n >\n <component :is=\"option.label\" v-if=\"typeof option.label !== 'string'\" />\n <span v-else>{{ option.label }}</span>\n </button>\n </div>\n </div>\n </div>\n</template>\n","import styleInject from '#style-inject';styleInject(\".fg-btn,\\n.fg-icon-btn,\\n.fg-input,\\n.fg-textarea,\\n.fg-select,\\n.fg-checkbox {\\n font-family: inherit;\\n font-size: 12px;\\n box-sizing: border-box;\\n}\\n.fg-btn {\\n display: inline-flex;\\n align-items: center;\\n gap: 4px;\\n height: 24px;\\n padding: 0 8px;\\n border: 1px solid #d9d9d9;\\n border-radius: 4px;\\n background: #fff;\\n color: #1c1f23;\\n cursor: pointer;\\n}\\n.fg-btn:hover:not(:disabled) {\\n border-color: #3370ff;\\n color: #3370ff;\\n}\\n.fg-btn:disabled {\\n opacity: 0.5;\\n cursor: not-allowed;\\n}\\n.fg-btn.borderless {\\n border-color: transparent;\\n background: transparent;\\n}\\n.fg-icon-btn {\\n display: inline-flex;\\n align-items: center;\\n justify-content: center;\\n width: 22px;\\n height: 22px;\\n padding: 0;\\n border: none;\\n border-radius: 4px;\\n background: transparent;\\n color: #4d5969;\\n cursor: pointer;\\n}\\n.fg-icon-btn:hover:not(:disabled) {\\n background: #f2f3f5;\\n}\\n.fg-icon-btn:disabled {\\n opacity: 0.45;\\n cursor: not-allowed;\\n}\\n.fg-input,\\n.fg-textarea,\\n.fg-select {\\n width: 100%;\\n min-height: 22px;\\n padding: 2px 8px;\\n border: 1px solid #d9d9d9;\\n border-radius: 4px;\\n background: #fff;\\n color: #1c1f23;\\n}\\n.fg-input:focus,\\n.fg-textarea:focus,\\n.fg-select:focus {\\n outline: none;\\n border-color: #3370ff;\\n}\\n.fg-input:disabled,\\n.fg-textarea:disabled,\\n.fg-select:disabled {\\n background: #f5f6f7;\\n color: #8f959e;\\n}\\n.fg-input.error,\\n.fg-select.error,\\n.fg-tree-select.error .fg-tree-select-trigger {\\n border-color: #f93920;\\n}\\n.fg-textarea {\\n min-height: 48px;\\n resize: vertical;\\n}\\n.fg-checkbox {\\n width: 14px;\\n height: 14px;\\n}\\n.fg-tag {\\n display: inline-flex;\\n align-items: center;\\n gap: 4px;\\n max-width: 100%;\\n height: 22px;\\n padding: 0 6px;\\n border-radius: 4px;\\n background: #f2f3f5;\\n color: #1c1f23;\\n overflow: hidden;\\n}\\n.fg-tag.amber {\\n background: #fff3e8;\\n color: #b25e09;\\n}\\n.fg-tag.white {\\n background: #fff;\\n border: 1px solid #e5e6eb;\\n}\\n.fg-tag-close {\\n border: none;\\n background: transparent;\\n cursor: pointer;\\n padding: 0;\\n color: inherit;\\n}\\n.fg-popover {\\n position: relative;\\n display: inline-block;\\n max-width: 100%;\\n}\\n.fg-popover-content {\\n position: absolute;\\n z-index: 20;\\n top: calc(100% + 4px);\\n left: 0;\\n min-width: 120px;\\n padding: 8px;\\n background: #fff;\\n border: 1px solid #e5e6eb;\\n border-radius: 6px;\\n box-shadow: 0 4px 12px rgba(0, 0, 0, 0.12);\\n}\\n.fg-modal-mask {\\n position: fixed;\\n inset: 0;\\n z-index: 1000;\\n display: flex;\\n align-items: center;\\n justify-content: center;\\n background: rgba(0, 0, 0, 0.35);\\n}\\n.fg-modal {\\n width: min(600px, calc(100vw - 32px));\\n background: #fff;\\n border-radius: 8px;\\n padding: 16px;\\n}\\n.fg-modal-title {\\n font-size: 16px;\\n font-weight: 600;\\n margin-bottom: 12px;\\n}\\n.fg-modal-actions {\\n display: flex;\\n justify-content: flex-end;\\n gap: 8px;\\n margin-top: 16px;\\n}\\n.fg-tree-select {\\n position: relative;\\n width: 100%;\\n}\\n.fg-tree-select-trigger {\\n display: flex;\\n align-items: center;\\n min-height: 22px;\\n padding: 0 6px;\\n border: 1px solid #d9d9d9;\\n border-radius: 4px;\\n background: #fff;\\n cursor: pointer;\\n}\\n.fg-tree-select-trigger.disabled {\\n background: #f5f6f7;\\n cursor: not-allowed;\\n}\\n.fg-tree-select-placeholder {\\n color: #8f959e;\\n padding-left: 4px;\\n}\\n.fg-tree-select-dropdown,\\n.fg-cascader-dropdown {\\n position: absolute;\\n z-index: 30;\\n top: calc(100% + 4px);\\n left: 0;\\n min-width: 180px;\\n max-height: 300px;\\n overflow: auto;\\n background: #fff;\\n border: 1px solid #e5e6eb;\\n border-radius: 6px;\\n box-shadow: 0 4px 12px rgba(0, 0, 0, 0.12);\\n}\\n.fg-tree-node,\\n.fg-cascader-option,\\n.fg-select-option {\\n display: flex;\\n align-items: center;\\n gap: 6px;\\n width: 100%;\\n padding: 6px 10px;\\n border: none;\\n background: transparent;\\n text-align: left;\\n cursor: pointer;\\n color: #1c1f23;\\n}\\n.fg-tree-node:hover,\\n.fg-cascader-option:hover,\\n.fg-select-option:hover {\\n background: #f2f3f5;\\n}\\n.fg-tree-node.disabled,\\n.fg-cascader-option.disabled,\\n.fg-select-option:disabled {\\n opacity: 0.45;\\n cursor: not-allowed;\\n}\\n.fg-tree-children {\\n padding-left: 14px;\\n}\\n.fg-skeleton {\\n height: 22px;\\n border-radius: 4px;\\n background:\\n linear-gradient(\\n 90deg,\\n #f2f3f5 25%,\\n #e8eaed 37%,\\n #f2f3f5 63%);\\n background-size: 400% 100%;\\n}\\n.fg-icon {\\n flex-shrink: 0;\\n}\\n.fg-select-wrap {\\n position: relative;\\n width: 100%;\\n}\\n\")","/**\n * Copyright (c) 2025 Bytedance Ltd. and/or its affiliates\n * SPDX-License-Identifier: MIT\n */\n\nimport { computed, defineComponent, inject, provide, type InjectionKey, type PropType, type VNode } from 'vue';\nimport { IJsonSchema } from '@flowgram-vue/json-schema';\nimport { BaseVariableField } from '@flowgram-vue/variable-core';\n\ntype VariableField = BaseVariableField<{\n icon?: string | VNode;\n title?: string;\n disabled?: boolean;\n}>;\n\nexport interface VariableSelectorContextValue {\n includeSchema?: IJsonSchema | IJsonSchema[];\n excludeSchema?: IJsonSchema | IJsonSchema[];\n skipVariable?: (variable: VariableField) => boolean;\n}\n\nconst VariableSelectorContextKey: InjectionKey<VariableSelectorContextValue> =\n Symbol('VariableSelectorContext');\n\nexport const useVariableSelectorContext = () =>\n inject(VariableSelectorContextKey, {} as VariableSelectorContextValue);\n\nexport const VariableSelectorProvider = defineComponent({\n name: 'VariableSelectorProvider',\n props: {\n skipVariable: { type: Function as PropType<(variable?: BaseVariableField) => boolean> },\n includeSchema: { type: [Object, Array] as PropType<IJsonSchema | IJsonSchema[]> },\n excludeSchema: { type: [Object, Array] as PropType<IJsonSchema | IJsonSchema[]> },\n },\n setup(props, { slots }) {\n const context = computed(() => ({\n skipVariable: props.skipVariable,\n includeSchema: props.includeSchema,\n excludeSchema: props.excludeSchema,\n }));\n provide(VariableSelectorContextKey, context as unknown as VariableSelectorContextValue);\n return () => slots.default?.();\n },\n});\n","/**\n * Copyright (c) 2025 Bytedance Ltd. and/or its affiliates\n * SPDX-License-Identifier: MIT\n */\n\nimport { computed, h, type ComputedRef, type VNode } from 'vue';\nimport {\n IJsonSchema,\n JsonSchemaTypeManager,\n JsonSchemaUtils,\n useTypeManager,\n} from '@flowgram-vue/json-schema';\nimport { ASTMatch, BaseVariableField, useAvailableVariables } from '@flowgram-vue/variable-core';\n\nimport type { FgTreeNode } from '@/ui';\n\nimport { useVariableSelectorContext } from './context';\n\ntype VariableField = BaseVariableField<{\n icon?: string | VNode;\n title?: string;\n disabled?: boolean;\n}>;\n\nexport function useVariableTree(params: {\n includeSchema?: IJsonSchema | IJsonSchema[];\n excludeSchema?: IJsonSchema | IJsonSchema[];\n skipVariable?: (variable: VariableField) => boolean;\n}): ComputedRef<FgTreeNode[]> {\n const context = useVariableSelectorContext();\n const typeManager = useTypeManager() as JsonSchemaTypeManager;\n const variables = useAvailableVariables();\n\n const getVariableTypeIcon = (variable: VariableField) => {\n if (variable.meta?.icon) {\n if (typeof variable.meta.icon === 'string') {\n return h('img', {\n style: { marginRight: '8px' },\n width: 12,\n height: 12,\n src: variable.meta.icon,\n });\n }\n return variable.meta.icon;\n }\n\n const schema = JsonSchemaUtils.astToSchema(variable.type, { drilldownObject: false });\n return typeManager.getDisplayIcon(schema || {});\n };\n\n return computed(() => {\n const includeSchema = params.includeSchema ?? context.includeSchema;\n const excludeSchema = params.excludeSchema ?? context.excludeSchema;\n const skipVariable = params.skipVariable ?? context.skipVariable;\n\n const renderVariable = (\n variable: VariableField,\n parentFields: VariableField[] = []\n ): FgTreeNode | null => {\n const type = variable?.type;\n\n if (!type) {\n return null;\n }\n\n let children: FgTreeNode[] | undefined;\n\n if (ASTMatch.isObject(type)) {\n children = (type.properties || [])\n .map((_property) => renderVariable(_property as VariableField, [...parentFields, variable]))\n .filter(Boolean) as FgTreeNode[];\n }\n\n const keyPath = [...parentFields.map((_field) => _field.key), variable.key];\n const key = keyPath.join('.');\n\n const isSchemaInclude = includeSchema\n ? JsonSchemaUtils.isASTMatchSchema(type, includeSchema)\n : true;\n const isSchemaExclude = excludeSchema\n ? JsonSchemaUtils.isASTMatchSchema(type, excludeSchema)\n : false;\n const isCustomSkip = skipVariable ? skipVariable(variable) : false;\n const isMetaDisabled = variable.meta?.disabled;\n const isSchemaMatch = isSchemaInclude && !isSchemaExclude && !isCustomSkip && !isMetaDisabled;\n\n if (!isSchemaMatch && !children?.length) {\n return null;\n }\n\n return {\n key,\n label: variable.meta?.title || variable.key,\n value: key,\n keyPath,\n icon: getVariableTypeIcon(variable),\n children,\n disabled: !isSchemaMatch,\n rootMeta: parentFields[0]?.meta || variable.meta,\n isRoot: !parentFields?.length,\n };\n };\n\n return [...variables.value.slice(0).reverse()]\n .map((_variable) => renderVariable(_variable as VariableField))\n .filter(Boolean) as FgTreeNode[];\n });\n}\n","import styleInject from '#style-inject';styleInject(\".gedit-m-variable-selector-root-title {\\n margin-right: 4px;\\n min-width: 20px;\\n overflow: hidden;\\n text-overflow: ellipsis;\\n white-space: nowrap;\\n color: var(--semi-color-text-2);\\n}\\n.gedit-m-variable-selector-var-name {\\n overflow: hidden;\\n text-overflow: ellipsis;\\n white-space: nowrap;\\n &.in-selector {\\n min-width: 50%;\\n }\\n}\\n.gedit-m-variable-selector-tag {\\n width: 100%;\\n display: flex;\\n align-items: center;\\n justify-content: flex-start;\\n margin: 0;\\n height: 22px;\\n .semi-tag-content-center {\\n justify-content: flex-start;\\n }\\n}\\n.gedit-m-variable-selector-tree-select {\\n outline: none;\\n &.error {\\n outline: 1px solid red;\\n }\\n .semi-tree-select-selection {\\n padding: 0px;\\n height: 22px;\\n }\\n .semi-tree-select-selection-content {\\n width: 100%;\\n }\\n .semi-tree-select-selection-placeholder {\\n padding-left: 10px;\\n }\\n}\\n.gedit-m-variable-selector-tag-pop {\\n padding: 10px;\\n display: inline-flex;\\n align-items: center;\\n justify-content: flex-start;\\n white-space: nowrap;\\n}\\n.gedit-m-variable-selector-dropdown {\\n max-height: 300px;\\n overflow: auto;\\n}\\n\")","<script lang=\"ts\">\n/**\n * Copyright (c) 2025 Bytedance Ltd. and/or its affiliates\n * SPDX-License-Identifier: MIT\n */\n\nimport { defineComponent, h, type PropType, type CSSProperties, type VNode } from 'vue';\nimport { IJsonSchema } from '@flowgram-vue/json-schema';\nimport { I18n } from '@flowgram-vue/i18n';\n\nimport { FgPopover, FgTag, FgTreeSelect, IconIssueStroked, type FgTreeNode } from '@/ui';\n\nimport { useVariableTree } from './use-variable-tree';\nimport { useVariableSelectorContext } from './context';\n\nimport './styles.css';\n\nconst VariableSelectorImpl = defineComponent({\n name: 'VariableSelector',\n props: {\n value: { type: Array as unknown as PropType<string[]> },\n config: { type: Object as PropType<{ placeholder?: string; notFoundContent?: string }> },\n includeSchema: { type: [Object, Array] as PropType<IJsonSchema | IJsonSchema[]> },\n excludeSchema: { type: [Object, Array] as PropType<IJsonSchema | IJsonSchema[]> },\n readonly: { type: Boolean, default: false },\n hasError: { type: Boolean, default: false },\n style: { type: Object as PropType<CSSProperties> },\n triggerRender: { type: Function as PropType<() => VNode> },\n },\n emits: ['change'],\n setup(props, { emit }) {\n const { skipVariable } = useVariableSelectorContext();\n const treeData = useVariableTree({\n get includeSchema() {\n return props.includeSchema;\n },\n get excludeSchema() {\n return props.excludeSchema;\n },\n skipVariable,\n });\n\n const treeValue = computed(() => {\n if (typeof props.value === 'string') {\n return props.value;\n }\n return props.value?.join('.');\n });\n\n const renderIcon = (icon?: VNode | string) => {\n if (!icon) {\n return undefined;\n }\n if (typeof icon === 'string') {\n return h('img', { style: { marginRight: '8px' }, width: 12, height: 12, src: icon });\n }\n return icon;\n };\n\n return () =>\n h(\n FgTreeSelect,\n {\n class: `gedit-m-variable-selector-tree-select ${props.hasError ? 'error' : ''}`,\n style: props.style,\n disabled: props.readonly,\n treeData: treeData.value,\n value: treeValue.value,\n error: props.hasError,\n placeholder: props.config?.placeholder ?? I18n.t('Select Variable'),\n triggerRender: props.triggerRender,\n onChange: (_path: string[] | undefined, node?: FgTreeNode) => {\n emit('change', node?.keyPath as string[] | undefined);\n },\n },\n {\n selected: ({ option }: { option?: FgTreeNode }) => {\n if (!option?.keyPath) {\n return h(\n FgTag,\n {\n class: 'gedit-m-variable-selector-tag',\n color: 'amber',\n closable: !props.readonly,\n prefixIcon: IconIssueStroked(),\n onClose: () => emit('change', undefined),\n },\n () => props.config?.notFoundContent ?? 'Undefined'\n );\n }\n\n const rootIcon = renderIcon(option.rootMeta?.icon || option?.icon);\n const rootTitle = option.rootMeta?.title\n ? `${option.rootMeta?.title} ${option.isRoot ? '' : '-'} `\n : null;\n\n return h(FgPopover, {}, {\n default: () =>\n h(\n FgTag,\n {\n class: 'gedit-m-variable-selector-tag',\n prefixIcon: rootIcon,\n closable: !props.readonly,\n onClose: () => emit('change', undefined),\n },\n () => [\n h('div', { class: 'gedit-m-variable-selector-root-title' }, rootTitle),\n !option.isRoot\n ? h(\n 'div',\n { class: 'gedit-m-variable-selector-var-name in-selector' },\n option.label\n )\n : null,\n ]\n ),\n content: () =>\n h('div', { class: 'gedit-m-variable-selector-tag-pop' }, [\n rootIcon,\n h('div', { class: 'gedit-m-variable-selector-root-title' }, rootTitle),\n h(\n 'div',\n { class: 'gedit-m-variable-selector-var-name' },\n option.keyPath.slice(1).join('.')\n ),\n ]),\n });\n },\n }\n );\n },\n});\n\n(VariableSelectorImpl as typeof VariableSelectorImpl & { renderKey: string }).renderKey =\n 'variable-selector-render-key';\n\nexport default VariableSelectorImpl;\n</script>\n","/**\n * Copyright (c) 2025 Bytedance Ltd. and/or its affiliates\n * SPDX-License-Identifier: MIT\n */\n\nimport z from 'zod';\n\n// Shared extra schema for flow value types\nexport const extraSchema = z\n .object({\n index: z.number().optional(),\n })\n .optional();\n\nexport const constantSchema = z.object({\n type: z.literal('constant'),\n content: z.any().optional(),\n schema: z.any().optional(),\n extra: extraSchema,\n});\n\nexport const refSchema = z.object({\n type: z.literal('ref'),\n content: z.array(z.string()).optional(),\n extra: extraSchema,\n});\n\nexport const expressionSchema = z.object({\n type: z.literal('expression'),\n content: z.string().optional(),\n extra: extraSchema,\n});\n\nexport const templateSchema = z.object({\n type: z.literal('template'),\n content: z.string().optional(),\n extra: extraSchema,\n});\n","/**\n * Copyright (c) 2025 Bytedance Ltd. and/or its affiliates\n * SPDX-License-Identifier: MIT\n */\n\nimport { isArray, isObject, isPlainObject, uniq } from 'lodash-es';\nimport { IJsonSchema, JsonSchemaUtils } from '@flowgram-vue/json-schema';\nimport { Scope } from '@flowgram-vue/variable-core';\n\nimport {\n IFlowConstantValue,\n IFlowRefValue,\n IFlowExpressionValue,\n IFlowTemplateValue,\n IFlowValue,\n IFlowConstantRefValue,\n FlowValueType,\n} from './types';\nimport { constantSchema, refSchema, expressionSchema, templateSchema } from './schema';\n\nexport namespace FlowValueUtils {\n /**\n * Check if the value is a constant type\n */\n export function isConstant(value: any): value is IFlowConstantValue {\n return constantSchema.safeParse(value).success;\n }\n\n /**\n * Check if the value is a reference type\n */\n export function isRef(value: any): value is IFlowRefValue {\n return refSchema.safeParse(value).success;\n }\n\n /**\n * Check if the value is an expression type\n */\n export function isExpression(value: any): value is IFlowExpressionValue {\n return expressionSchema.safeParse(value).success;\n }\n\n /**\n * Check if the value is a template type\n */\n export function isTemplate(value: any): value is IFlowTemplateValue {\n return templateSchema.safeParse(value).success;\n }\n\n /**\n * Check if the value is either a constant or reference type\n */\n export function isConstantOrRef(value: any): value is IFlowConstantRefValue {\n return isConstant(value) || isRef(value);\n }\n\n /**\n * Check if the value is a valid flow value type\n */\n export function isFlowValue(value: any): value is IFlowValue {\n return isConstant(value) || isRef(value) || isExpression(value) || isTemplate(value);\n }\n\n /**\n * Traverse all flow values in the given value\n * @param value The value to traverse\n * @param options The options to traverse\n * @returns A generator of flow values\n */\n export function* traverse(\n value: any,\n options: {\n includeTypes: FlowValueType[];\n path?: string;\n pathArr?: string[];\n }\n ): Generator<{ value: IFlowValue; path: string; pathArr: string[] }> {\n const {\n includeTypes = ['ref', 'template', 'expression', 'constant'],\n path = '',\n pathArr = [],\n } = options || {};\n\n if (isPlainObject(value)) {\n if (isRef(value) && includeTypes.includes('ref')) {\n yield { value, path, pathArr };\n return;\n }\n\n if (isTemplate(value) && includeTypes.includes('template')) {\n yield { value, path, pathArr };\n return;\n }\n\n if (isExpression(value) && includeTypes.includes('expression')) {\n yield { value, path, pathArr };\n return;\n }\n\n if (isConstant(value) && includeTypes.includes('constant')) {\n yield { value, path, pathArr };\n return;\n }\n\n for (const [_key, _value] of Object.entries(value)) {\n yield* traverse(_value, {\n ...options,\n path: path ? `${path}.${_key}` : _key,\n pathArr: [...pathArr, _key],\n });\n }\n return;\n }\n\n if (isArray(value)) {\n for (const [_idx, _value] of value.entries()) {\n yield* traverse(_value, {\n ...options,\n path: path ? `${path}[${_idx}]` : `[${_idx}]`,\n pathArr: [...pathArr, `[${_idx}]`],\n });\n }\n return;\n }\n\n return;\n }\n\n /**\n * Get all key paths in the template value\n * @param value The template value\n * @returns A list of key paths\n */\n export function getTemplateKeyPaths(value: IFlowTemplateValue) {\n // find all keyPath wrapped in {{}}\n const keyPathReg = /\\{\\{([^\\}\\{]+)\\}\\}/g;\n return uniq(value.content?.match(keyPathReg) || []).map((_keyPath) =>\n _keyPath.slice(2, -2).split('.')\n );\n }\n\n /**\n * Infer the schema of the constant value\n * @param value\n * @returns\n */\n export function inferConstantJsonSchema(value: IFlowConstantValue): IJsonSchema | undefined {\n if (value?.schema) {\n return value.schema;\n }\n\n if (typeof value.content === 'string') {\n return {\n type: 'string',\n };\n }\n\n if (typeof value.content === 'number') {\n return {\n type: 'number',\n };\n }\n\n if (typeof value.content === 'boolean') {\n return {\n type: 'boolean',\n };\n }\n\n if (isObject(value.content)) {\n return {\n type: 'object',\n };\n }\n return undefined;\n }\n\n /**\n * Infer the schema of the flow value\n * @param values The flow value or object contains flow value\n * @param scope\n * @returns\n */\n export function inferJsonSchema(values: any, scope: Scope): IJsonSchema | undefined {\n if (isPlainObject(values)) {\n if (isConstant(values)) {\n return inferConstantJsonSchema(values);\n }\n\n if (isRef(values)) {\n const variable = scope.available.getByKeyPath(values?.content);\n const schema = variable?.type ? JsonSchemaUtils.astToSchema(variable?.type) : undefined;\n\n return schema;\n }\n\n if (isTemplate(values)) {\n return { type: 'string' };\n }\n\n return {\n type: 'object',\n properties: Object.keys(values).reduce((acc, key) => {\n const schema = inferJsonSchema((values as any)[key], scope);\n if (schema) {\n acc[key] = schema;\n }\n return acc;\n }, {} as Record<string, IJsonSchema>),\n };\n }\n }\n}\n","/**\n * Copyright (c) 2025 Bytedance Ltd. and/or its affiliates\n * SPDX-License-Identifier: MIT\n */\n\nimport { isObject } from 'lodash-es';\n\ninterface LegacyFlowRefValueSchema {\n type: 'ref';\n content: string;\n}\n\ninterface NewFlowRefValueSchema {\n type: 'ref';\n content: string[];\n}\n\n/**\n * In flowgram 0.2.0, for introducing Loop variable functionality,\n * the FlowRefValueSchema type definition is updated:\n *\n * interface LegacyFlowRefValueSchema {\n * type: 'ref';\n * content: string;\n * }\n *\n * interface NewFlowRefValueSchema {\n * type: 'ref';\n * content: string[];\n * }\n *\n *\n * For making sure backend json will not be changed, we provide format legacy ref utils for updating the formData\n *\n * How to use:\n *\n * 1. Call formatLegacyRefOnSubmit on the formData before submitting\n * 2. Call formatLegacyRefOnInit on the formData after submitting\n *\n * Example:\n * import { formatLegacyRefOnSubmit, formatLegacyRefOnInit } from '@flowgram-vue/form-materials';\n * formMeta: {\n * formatOnSubmit: (data) => formatLegacyRefOnSubmit(data),\n * formatOnInit: (data) => formatLegacyRefOnInit(data),\n * }\n */\nexport function formatLegacyRefOnSubmit(value: any): any {\n if (isObject(value)) {\n if (isLegacyFlowRefValueSchema(value)) {\n return formatLegacyRefToNewRef(value);\n }\n\n return Object.fromEntries(\n Object.entries(value).map(([key, value]: [string, any]) => [\n key,\n formatLegacyRefOnSubmit(value),\n ])\n );\n }\n\n if (Array.isArray(value)) {\n return value.map(formatLegacyRefOnSubmit);\n }\n\n return value;\n}\n\n/**\n * In flowgram 0.2.0, for introducing Loop variable functionality,\n * the FlowRefValueSchema type definition is updated:\n *\n * interface LegacyFlowRefValueSchema {\n * type: 'ref';\n * content: string;\n * }\n *\n * interface NewFlowRefValueSchema {\n * type: 'ref';\n * content: string[];\n * }\n *\n *\n * For making sure backend json will not be changed, we provide format legacy ref utils for updating the formData\n *\n * How to use:\n *\n * 1. Call formatLegacyRefOnSubmit on the formData before submitting\n * 2. Call formatLegacyRefOnInit on the formData after submitting\n *\n * Example:\n * import { formatLegacyRefOnSubmit, formatLegacyRefOnInit } from '@flowgram-vue/form-materials';\n *\n * formMeta: {\n * formatOnSubmit: (data) => formatLegacyRefOnSubmit(data),\n * formatOnInit: (data) => formatLegacyRefOnInit(data),\n * }\n */\nexport function formatLegacyRefOnInit(value: any): any {\n if (isObject(value)) {\n if (isNewFlowRefValueSchema(value)) {\n return formatNewRefToLegacyRef(value);\n }\n\n return Object.fromEntries(\n Object.entries(value).map(([key, value]: [string, any]) => [\n key,\n formatLegacyRefOnInit(value),\n ])\n );\n }\n\n if (Array.isArray(value)) {\n return value.map(formatLegacyRefOnInit);\n }\n\n return value;\n}\n\nexport function isLegacyFlowRefValueSchema(value: any): value is LegacyFlowRefValueSchema {\n return (\n isObject(value) &&\n Object.keys(value).length === 2 &&\n (value as any).type === 'ref' &&\n typeof (value as any).content === 'string'\n );\n}\n\nexport function isNewFlowRefValueSchema(value: any): value is NewFlowRefValueSchema {\n return (\n isObject(value) &&\n Object.keys(value).length === 2 &&\n (value as any).type === 'ref' &&\n Array.isArray((value as any).content)\n );\n}\n\nexport function formatLegacyRefToNewRef(value: LegacyFlowRefValueSchema) {\n const keyPath = value.content.split('.');\n\n if (keyPath[1] === 'outputs') {\n return {\n type: 'ref',\n content: [`${keyPath[0]}.${keyPath[1]}`, ...(keyPath.length > 2 ? keyPath.slice(2) : [])],\n };\n }\n\n return {\n type: 'ref',\n content: keyPath,\n };\n}\n\nexport function formatNewRefToLegacyRef(value: NewFlowRefValueSchema) {\n return {\n type: 'ref',\n content: value.content.join('.'),\n };\n}\n","/**\n * Copyright (c) 2025 Bytedance Ltd. and/or its affiliates\n * SPDX-License-Identifier: MIT\n */\n\nimport { defineComponent, h, type Component } from 'vue';\nimport { FlowRendererComponentType, FlowRendererRegistry } from '@flowgram-vue/renderer';\nimport { usePlaygroundContainer } from '@flowgram-vue/core';\n\ntype WithRenderKey<T> = T & { renderKey?: string };\n\n/**\n * Wraps a Vue material so consumers can replace it via FlowRendererRegistry.\n */\nexport function createInjectMaterial<Props>(\n Component: WithRenderKey<Component>,\n params?: {\n renderKey?: string;\n }\n): WithRenderKey<Component> {\n const renderKey =\n params?.renderKey || Component.renderKey || (Component as { name?: string }).name || '';\n\n const InjectComponent = defineComponent({\n name: `Inject${(Component as { name?: string }).name || 'Material'}`,\n inheritAttrs: false,\n setup(_props, { attrs, slots }) {\n const container = usePlaygroundContainer();\n\n return () => {\n if (!container?.isBound?.(FlowRendererRegistry)) {\n return h(Component, attrs, slots);\n }\n\n const rendererRegistry = container.get(FlowRendererRegistry);\n const renderer = rendererRegistry.tryToGetRendererComponent(renderKey);\n\n if (renderer?.type !== FlowRendererComponentType.VUE) {\n return h(Component, attrs, slots);\n }\n\n return h(renderer.renderer as Component, attrs, slots);\n };\n },\n }) as WithRenderKey<Component>;\n\n InjectComponent.renderKey = renderKey;\n\n return InjectComponent;\n}\n","/**\n * Copyright (c) 2025 Bytedance Ltd. and/or its affiliates\n * SPDX-License-Identifier: MIT\n */\n\nimport { defineAsyncComponent, h, type AsyncComponentLoader, type Component } from 'vue';\n\nexport function withSuspense<T extends Component>(Component: T, _fallback?: Component): T {\n return Component;\n}\n\nexport function lazySuspense(loader: AsyncComponentLoader, fallback?: Component) {\n return defineAsyncComponent({\n loader,\n loadingComponent: fallback || {\n name: 'FgSkeleton',\n render: () => h('div', { class: 'fg-skeleton' }),\n },\n });\n}\n","/**\n * Copyright (c) 2025 Bytedance Ltd. and/or its affiliates\n * SPDX-License-Identifier: MIT\n */\n\nimport { createApp, type App, type VNode } from 'vue';\n\nexport interface IPolyfillRoot {\n render(children: VNode): void;\n unmount(): void;\n}\n\nlet unstableCreateRoot = (dom: HTMLElement): IPolyfillRoot => {\n let app: App | null = null;\n return {\n render(children: VNode) {\n if (app) {\n app.unmount();\n }\n app = createApp({\n render: () => children,\n });\n app.mount(dom);\n },\n unmount() {\n app?.unmount();\n app = null;\n },\n };\n};\n\nexport function polyfillCreateRoot(dom: HTMLElement): IPolyfillRoot {\n return unstableCreateRoot(dom);\n}\n\nexport function unstableSetCreateRoot(createRoot: (dom: HTMLElement) => IPolyfillRoot) {\n unstableCreateRoot = createRoot;\n}\n","/**\n * Copyright (c) 2025 Bytedance Ltd. and/or its affiliates\n * SPDX-License-Identifier: MIT\n */\n\nimport VariableSelector from './variable-selector.vue';\nimport { createInjectMaterial } from '@/shared';\n\nexport { default as VariableSelector } from './variable-selector.vue';\nexport const InjectVariableSelector = createInjectMaterial(VariableSelector);\nexport { VariableSelectorProvider, useVariableSelectorContext } from './context';\nexport { useVariableTree } from './use-variable-tree';\nexport type { VariableSelectorProps } from './types';\n","/**\n * Copyright (c) 2025 Bytedance Ltd. and/or its affiliates\n * SPDX-License-Identifier: MIT\n */\n\nimport type { CSSProperties } from 'vue';\nimport { IJsonSchema } from '@flowgram-vue/json-schema';\n\nexport interface TypeSelectorProps {\n value?: Partial<IJsonSchema>;\n onChange?: (value?: Partial<IJsonSchema>) => void;\n readonly?: boolean;\n disabled?: boolean;\n style?: CSSProperties;\n}\n\nexport const getTypeSelectValue = (value?: Partial<IJsonSchema>): string[] | undefined => {\n if (value?.type === 'array' && value?.items) {\n return [value.type, ...(getTypeSelectValue(value.items) || [])];\n }\n\n return value?.type ? [value.type] : undefined;\n};\n\nexport const parseTypeSelectValue = (value?: string[]): Partial<IJsonSchema> | undefined => {\n const [type, ...subTypes] = value || [];\n\n if (type === 'array') {\n return { type: 'array', items: parseTypeSelectValue(subTypes) };\n }\n\n return { type };\n};\n","<script lang=\"ts\">\n/**\n * Copyright (c) 2025 Bytedance Ltd. and/or its affiliates\n * SPDX-License-Identifier: MIT\n */\n\nimport { computed, defineComponent, h, type PropType, type CSSProperties } from 'vue';\nimport { IJsonSchema, useTypeManager, JsonSchemaTypeManager } from '@flowgram-vue/json-schema';\n\nimport { FgCascader, FgIconButton, type FgCascaderOption } from '@/ui';\n\nimport { getTypeSelectValue, parseTypeSelectValue } from './types';\n\nconst TypeSelectorImpl = defineComponent({\n name: 'TypeSelector',\n props: {\n value: { type: Object as PropType<Partial<IJsonSchema>> },\n readonly: { type: Boolean, default: false },\n disabled: { type: Boolean, default: false },\n style: { type: Object as PropType<CSSProperties> },\n onChange: { type: Function as PropType<(value?: Partial<IJsonSchema>) => void> },\n },\n setup(props) {\n const selectValue = computed(() => getTypeSelectValue(props.value));\n const typeManager = useTypeManager() as JsonSchemaTypeManager;\n const icon = computed(() => typeManager.getDisplayIcon(props.value || {}));\n const isDisabled = computed(() => props.readonly || props.disabled);\n\n const options = computed<FgCascaderOption[]>(() =>\n typeManager.getTypeRegistriesWithParentType().map((_type) => {\n const isArray = _type.type === 'array';\n return {\n label: h('div', { style: { display: 'flex', alignItems: 'center', gap: '5px' } }, [\n _type.icon,\n typeManager.getTypeBySchema(_type)?.label || _type.type,\n ]),\n value: _type.type,\n children: isArray\n ? typeManager.getTypeRegistriesWithParentType('array').map((childType) => ({\n label: h('div', { style: { display: 'flex', alignItems: 'center', gap: '5px' } }, [\n typeManager.getDisplayIcon({\n type: 'array',\n items: { type: childType.type },\n }),\n typeManager.getTypeBySchema(childType)?.label || childType.type,\n ]),\n value: childType.type,\n }))\n : [],\n };\n })\n );\n\n return () =>\n h(FgCascader, {\n disabled: isDisabled.value,\n options: options.value,\n value: selectValue.value,\n triggerRender: () =>\n h(FgIconButton, {\n disabled: isDisabled.value,\n style: {\n ...(isDisabled.value ? { pointerEvents: 'none' } : {}),\n ...(props.style || {}),\n },\n icon: icon.value,\n }),\n onChange: (value: string[]) => {\n props.onChange?.(parseTypeSelectValue(value));\n },\n });\n },\n});\n\n(TypeSelectorImpl as typeof TypeSelectorImpl & { renderKey: string }).renderKey =\n 'type-selector-render-key';\n\nexport default TypeSelectorImpl;\n</script>\n","/**\n * Copyright (c) 2025 Bytedance Ltd. and/or its affiliates\n * SPDX-License-Identifier: MIT\n */\n\nimport TypeSelector from './type-selector.vue';\nimport { createInjectMaterial } from '@/shared/inject-material';\n\nexport { default as TypeSelector } from './type-selector.vue';\nexport const InjectTypeSelector = createInjectMaterial(TypeSelector);\nexport { getTypeSelectValue, parseTypeSelectValue, type TypeSelectorProps } from './types';\n","/**\n * Copyright (c) 2025 Bytedance Ltd. and/or its affiliates\n * SPDX-License-Identifier: MIT\n */\n\nimport { ASTMatch, type GlobalEventActionType, VariableEngine } from '@flowgram-vue/variable-core';\nimport { definePluginCreator } from '@flowgram-vue/core';\n\nexport const createDisableDeclarationPlugin = definePluginCreator<void>({\n onInit(ctx) {\n const variableEngine = ctx.get(VariableEngine);\n\n const handleEvent = (action: GlobalEventActionType) => {\n if (ASTMatch.isVariableDeclaration(action.ast)) {\n if (!action.ast.meta?.disabled) {\n action.ast.updateMeta({\n ...(action.ast.meta || {}),\n disabled: true,\n });\n }\n }\n };\n\n variableEngine.onGlobalEvent('NewAST', handleEvent);\n variableEngine.onGlobalEvent('UpdateAST', handleEvent);\n },\n});\n","/**\n * Copyright (c) 2025 Bytedance Ltd. and/or its affiliates\n * SPDX-License-Identifier: MIT\n */\n\nimport { ConditionOpConfigs } from './types';\n\nexport enum ConditionPresetOp {\n EQ = 'eq',\n NEQ = 'neq',\n GT = 'gt',\n GTE = 'gte',\n LT = 'lt',\n LTE = 'lte',\n IN = 'in',\n NIN = 'nin',\n CONTAINS = 'contains',\n NOT_CONTAINS = 'not_contains',\n IS_EMPTY = 'is_empty',\n IS_NOT_EMPTY = 'is_not_empty',\n IS_TRUE = 'is_true',\n IS_FALSE = 'is_false',\n}\n\nexport const defaultConditionOpConfigs: ConditionOpConfigs = {\n [ConditionPresetOp.EQ]: {\n label: 'Equal',\n abbreviation: '=',\n },\n [ConditionPresetOp.NEQ]: {\n label: 'Not Equal',\n abbreviation: '≠',\n },\n [ConditionPresetOp.GT]: {\n label: 'Greater Than',\n abbreviation: '>',\n },\n [ConditionPresetOp.GTE]: {\n label: 'Greater Than or Equal',\n abbreviation: '>=',\n },\n [ConditionPresetOp.LT]: {\n label: 'Less Than',\n abbreviation: '<',\n },\n [ConditionPresetOp.LTE]: {\n label: 'Less Than or Equal',\n abbreviation: '<=',\n },\n [ConditionPresetOp.IN]: {\n label: 'In',\n abbreviation: '∈',\n },\n [ConditionPresetOp.NIN]: {\n label: 'Not In',\n abbreviation: '∉',\n },\n [ConditionPresetOp.CONTAINS]: {\n label: 'Contains',\n abbreviation: '⊇',\n },\n [ConditionPresetOp.NOT_CONTAINS]: {\n label: 'Not Contains',\n abbreviation: '⊉',\n },\n [ConditionPresetOp.IS_EMPTY]: {\n label: 'Is Empty',\n abbreviation: '=',\n rightDisplay: 'Empty',\n },\n [ConditionPresetOp.IS_NOT_EMPTY]: {\n label: 'Is Not Empty',\n abbreviation: '≠',\n rightDisplay: 'Empty',\n },\n [ConditionPresetOp.IS_TRUE]: {\n label: 'Is True',\n abbreviation: '=',\n rightDisplay: 'True',\n },\n [ConditionPresetOp.IS_FALSE]: {\n label: 'Is False',\n abbreviation: '=',\n rightDisplay: 'False',\n },\n};\n","/**\n * Copyright (c) 2025 Bytedance Ltd. and/or its affiliates\n * SPDX-License-Identifier: MIT\n */\n\nimport { defineComponent, h } from 'vue';\nimport { I18n } from '@flowgram-vue/i18n';\n\nimport { FgInput, FgTextarea } from '@/ui';\nimport { ConditionPresetOp } from '@/components/condition-context/op';\n\nimport { type JsonSchemaTypeRegistry } from '../types';\n\nexport const stringRegistry: Partial<JsonSchemaTypeRegistry> = {\n type: 'string',\n ConstantRenderer: defineComponent({\n name: 'StringConstantRenderer',\n props: ['value', 'onChange', 'readonly', 'schema', 'enableMultiLineStr', 'placeholder'],\n setup(props) {\n return () =>\n props.enableMultiLineStr\n ? h(FgTextarea, {\n value: props.value,\n disabled: props.readonly,\n placeholder: props.placeholder || I18n.t('Please Input String'),\n onChange: (v: string) => props.onChange?.(v),\n })\n : h(FgInput, {\n value: props.value,\n disabled: props.readonly,\n placeholder: props.placeholder || I18n.t('Please Input String'),\n onChange: (v: string) => props.onChange?.(v),\n });\n },\n }),\n conditionRule: {\n [ConditionPresetOp.EQ]: { type: 'string' },\n [ConditionPresetOp.NEQ]: { type: 'string' },\n [ConditionPresetOp.CONTAINS]: { type: 'string' },\n [ConditionPresetOp.NOT_CONTAINS]: { type: 'string' },\n [ConditionPresetOp.IN]: {\n type: 'array',\n items: { type: 'string' },\n },\n [ConditionPresetOp.NIN]: {\n type: 'array',\n items: { type: 'string' },\n },\n [ConditionPresetOp.IS_EMPTY]: null,\n [ConditionPresetOp.IS_NOT_EMPTY]: null,\n },\n};\n","import styleInject from '#style-inject';styleInject(\".gedit-m-code-editor-container {\\n position: relative;\\n width: 100%;\\n min-width: 0;\\n max-width: 100%;\\n overflow: hidden;\\n}\\n.gedit-m-code-editor-container.mini {\\n min-height: 24px;\\n}\\n.gedit-m-code-editor-container.mini .cm-editor,\\n.gedit-m-code-editor-container.mini .cm-scroller,\\n.gedit-m-code-editor-container.mini .cm-content {\\n min-width: 0;\\n max-width: 100%;\\n}\\n.gedit-m-code-editor-container.mini .cm-scroller {\\n overflow-x: hidden;\\n}\\n\")","<script setup lang=\"ts\">\n/**\n * Copyright (c) 2025 Bytedance Ltd. and/or its affiliates\n * SPDX-License-Identifier: MIT\n */\n\nimport { computed } from 'vue';\nimport { Editor, Placeholder, Renderer } from '@flowgram-vue/coze-editor';\n\nimport type { CodeEditorPropsType } from './types';\n\nimport './styles.css';\n\nconst props = withDefaults(defineProps<CodeEditorPropsType>(), {\n languageId: 'python',\n theme: 'light',\n});\n\nconst monacoTheme = computed(() => (props.theme === 'dark' ? 'vs-dark' : 'vs'));\nconst editorOptions = computed(() => ({\n readOnly: props.readonly,\n lineNumbers: props.mini ? ('off' as const) : ('on' as const),\n minimap: { enabled: false },\n ...(props.options || {}),\n}));\nconst hint = computed(() => props.placeholder || props.activeLinePlaceholder);\nconst editorHeight = computed(() => (props.mini ? '24px' : '120px'));\n</script>\n\n<template>\n <div class=\"gedit-m-code-editor-container\" :class=\"{ mini: props.mini }\" :style=\"props.style\">\n <Editor\n :value=\"props.value\"\n :language=\"props.languageId\"\n :theme=\"monacoTheme\"\n :options=\"editorOptions\"\n @change=\"props.onChange\"\n >\n <Renderer :height=\"editorHeight\" />\n <Placeholder v-if=\"hint\">{{ hint }}</Placeholder>\n <slot />\n </Editor>\n </div>\n</template>\n","/**\n * Copyright (c) 2025 Bytedance Ltd. and/or its affiliates\n * SPDX-License-Identifier: MIT\n */\n\nimport { defineComponent, h, type PropType } from 'vue';\n\nimport BaseCodeEditor from './base-code-editor.vue';\nimport type { CodeEditorPropsType } from './types';\n\nexport { default as BaseCodeEditor } from './base-code-editor.vue';\nexport type { CodeEditorPropsType } from './types';\n\nfunction createLanguageEditor(\n languageId: CodeEditorPropsType['languageId'],\n displayName: string\n) {\n return defineComponent({\n name: displayName,\n props: {\n value: { type: String },\n onChange: { type: Function as PropType<(value: string) => void> },\n theme: { type: String as PropType<'dark' | 'light'> },\n placeholder: { type: String },\n activeLinePlaceholder: { type: String },\n readonly: { type: Boolean, default: false },\n options: { type: Object as PropType<Record<string, unknown>> },\n mini: { type: Boolean, default: false },\n },\n setup(props, { slots }) {\n return () => h(BaseCodeEditor, { ...props, languageId }, () => slots.default?.());\n },\n });\n}\n\nexport const JsonCodeEditor = createLanguageEditor('json', 'JsonCodeEditor');\nexport const PythonCodeEditor = createLanguageEditor('python', 'PythonCodeEditor');\nexport const SQLCodeEditor = createLanguageEditor('sql', 'SQLCodeEditor');\nexport const ShellCodeEditor = createLanguageEditor('shell', 'ShellCodeEditor');\nexport const TypeScriptCodeEditor = createLanguageEditor('typescript', 'TypeScriptCodeEditor');\n\nexport const CodeEditor = defineComponent({\n name: 'CodeEditor',\n props: {\n value: { type: String },\n onChange: { type: Function as PropType<(value: string) => void> },\n languageId: { type: String as PropType<CodeEditorPropsType['languageId']>, required: true },\n theme: { type: String as PropType<'dark' | 'light'> },\n placeholder: { type: String },\n activeLinePlaceholder: { type: String },\n readonly: { type: Boolean, default: false },\n options: { type: Object as PropType<Record<string, unknown>> },\n mini: { type: Boolean, default: false },\n },\n setup(props, { slots }) {\n return () => h(BaseCodeEditor, { ...props }, () => slots.default?.());\n },\n});\n","/**\n * Copyright (c) 2025 Bytedance Ltd. and/or its affiliates\n * SPDX-License-Identifier: MIT\n */\n\nimport { defineComponent, h } from 'vue';\nimport { I18n } from '@flowgram-vue/i18n';\n\nimport { JsonCodeEditor } from '@/components/code-editor';\nimport { ConditionPresetOp } from '@/components/condition-context/op';\n\nimport { type JsonSchemaTypeRegistry } from '../types';\n\nexport const objectRegistry: Partial<JsonSchemaTypeRegistry> = {\n type: 'object',\n ConstantRenderer: defineComponent({\n name: 'ObjectConstantRenderer',\n props: ['value', 'onChange', 'readonly'],\n setup(props) {\n return () =>\n h(JsonCodeEditor, {\n mini: true,\n value: props.value,\n readonly: props.readonly,\n placeholder: I18n.t('Please Input Object'),\n onChange: (v: string) => props.onChange?.(v),\n });\n },\n }),\n conditionRule: {\n [ConditionPresetOp.IS_EMPTY]: null,\n [ConditionPresetOp.IS_NOT_EMPTY]: null,\n },\n};\n","/**\n * Copyright (c) 2025 Bytedance Ltd. and/or its affiliates\n * SPDX-License-Identifier: MIT\n */\n\nimport { defineComponent, h } from 'vue';\nimport { I18n } from '@flowgram-vue/i18n';\n\nimport { FgInput } from '@/ui';\nimport { ConditionPresetOp } from '@/components/condition-context/op';\n\nimport { type JsonSchemaTypeRegistry } from '../types';\n\nexport const numberRegistry: Partial<JsonSchemaTypeRegistry> = {\n type: 'number',\n ConstantRenderer: defineComponent({\n name: 'NumberConstantRenderer',\n props: ['value', 'onChange', 'readonly', 'schema', 'placeholder'],\n setup(props) {\n return () =>\n h(FgInput, {\n type: 'number',\n value: props.value,\n disabled: props.readonly,\n placeholder: props.placeholder || I18n.t('Please Input Number'),\n onChange: (v: string) => props.onChange?.(v === '' ? undefined : Number(v)),\n });\n },\n }),\n conditionRule: {\n [ConditionPresetOp.EQ]: { type: 'number' },\n [ConditionPresetOp.NEQ]: { type: 'number' },\n [ConditionPresetOp.GT]: { type: 'number' },\n [ConditionPresetOp.GTE]: { type: 'number' },\n [ConditionPresetOp.LT]: { type: 'number' },\n [ConditionPresetOp.LTE]: { type: 'number' },\n [ConditionPresetOp.IN]: {\n type: 'array',\n extra: { weak: true },\n },\n [ConditionPresetOp.NIN]: {\n type: 'array',\n extra: { weak: true },\n },\n },\n};\n","/**\n * Copyright (c) 2025 Bytedance Ltd. and/or its affiliates\n * SPDX-License-Identifier: MIT\n */\n\nimport { defineComponent, h } from 'vue';\nimport { I18n } from '@flowgram-vue/i18n';\n\nimport { JsonCodeEditor } from '@/components/code-editor';\nimport { ConditionPresetOp } from '@/components/condition-context/op';\n\nimport { type JsonSchemaTypeRegistry } from '../types';\n\nexport const mapRegistry: Partial<JsonSchemaTypeRegistry> = {\n type: 'map',\n ConstantRenderer: defineComponent({\n name: 'MapConstantRenderer',\n props: ['value', 'onChange', 'readonly'],\n setup(props) {\n return () =>\n h(JsonCodeEditor, {\n mini: true,\n value: props.value,\n readonly: props.readonly,\n placeholder: I18n.t('Please Input Map'),\n onChange: (v: string) => props.onChange?.(v),\n });\n },\n }),\n conditionRule: {\n [ConditionPresetOp.IS_EMPTY]: null,\n [ConditionPresetOp.IS_NOT_EMPTY]: null,\n },\n};\n","/**\n * Copyright (c) 2025 Bytedance Ltd. and/or its affiliates\n * SPDX-License-Identifier: MIT\n */\n\nimport { defineComponent, h } from 'vue';\nimport { I18n } from '@flowgram-vue/i18n';\n\nimport { FgInput } from '@/ui';\nimport { ConditionPresetOp } from '@/components/condition-context/op';\n\nimport { type JsonSchemaTypeRegistry } from '../types';\n\nexport const integerRegistry: Partial<JsonSchemaTypeRegistry> = {\n type: 'integer',\n ConstantRenderer: defineComponent({\n name: 'IntegerConstantRenderer',\n props: ['value', 'onChange', 'readonly', 'schema', 'placeholder'],\n setup(props) {\n return () =>\n h(FgInput, {\n type: 'number',\n value: props.value,\n disabled: props.readonly,\n placeholder: props.placeholder || I18n.t('Please Input Integer'),\n onChange: (v: string) =>\n props.onChange?.(v === '' ? undefined : Math.trunc(Number(v))),\n });\n },\n }),\n conditionRule: {\n [ConditionPresetOp.EQ]: { type: 'number' },\n [ConditionPresetOp.NEQ]: { type: 'number' },\n [ConditionPresetOp.GT]: { type: 'number' },\n [ConditionPresetOp.GTE]: { type: 'number' },\n [ConditionPresetOp.LT]: { type: 'number' },\n [ConditionPresetOp.LTE]: { type: 'number' },\n [ConditionPresetOp.IN]: {\n type: 'array',\n extra: { weak: true },\n },\n [ConditionPresetOp.NIN]: {\n type: 'array',\n extra: { weak: true },\n },\n },\n};\n","/**\n * Copyright (c) 2025 Bytedance Ltd. and/or its affiliates\n * SPDX-License-Identifier: MIT\n */\n\nimport { defineComponent, h } from 'vue';\n\nimport { FgSelect } from '@/ui';\n\nimport { type JsonSchemaTypeRegistry } from '../types';\n\nexport const enumRegistry: Partial<JsonSchemaTypeRegistry> = {\n type: 'enum',\n parentType: [],\n ConstantRenderer: defineComponent({\n name: 'EnumConstantRenderer',\n props: ['value', 'onChange', 'readonly', 'schema'],\n setup(props) {\n return () =>\n h(FgSelect, {\n value: props.value,\n disabled: props.readonly,\n options: (props.schema?.enum || []).map((value: string | number) => ({\n label: `${value}`,\n value,\n })),\n onChange: (v: string | number) => props.onChange?.(v),\n });\n },\n }),\n};\n","/**\n * Copyright (c) 2025 Bytedance Ltd. and/or its affiliates\n * SPDX-License-Identifier: MIT\n */\n\nimport { defineComponent, h } from 'vue';\nimport { format } from 'date-fns';\n\nimport { FgInput } from '@/ui';\nimport { ConditionPresetOp } from '@/components/condition-context/op';\n\nimport { type JsonSchemaTypeRegistry } from '../types';\n\nconst DATE_TIME_FORMAT = \"yyyy-MM-dd'T'HH:mm:ss.SSS'Z'\";\n\nconst stringifyDateTime = (value: unknown) => {\n if (value === null || value === undefined || value === '') {\n return '';\n }\n\n const date =\n value instanceof Date\n ? value\n : typeof value === 'number'\n ? new Date(value)\n : new Date(String(value));\n\n if (Number.isNaN(date.getTime())) {\n return '';\n }\n\n return format(date, DATE_TIME_FORMAT);\n};\n\nexport const dateTimeRegistry: Partial<JsonSchemaTypeRegistry> = {\n type: 'date-time',\n ConstantRenderer: defineComponent({\n name: 'DateTimeConstantRenderer',\n props: ['value', 'onChange', 'readonly', 'schema'],\n setup(props) {\n return () =>\n h(FgInput, {\n type: 'datetime-local',\n value: props.value,\n disabled: props.readonly,\n onChange: (v: string) => props.onChange?.(stringifyDateTime(v)),\n });\n },\n }),\n conditionRule: {\n [ConditionPresetOp.EQ]: { type: 'date-time' },\n [ConditionPresetOp.NEQ]: { type: 'date-time' },\n [ConditionPresetOp.GT]: { type: 'date-time' },\n [ConditionPresetOp.GTE]: { type: 'date-time' },\n [ConditionPresetOp.LT]: { type: 'date-time' },\n [ConditionPresetOp.LTE]: { type: 'date-time' },\n [ConditionPresetOp.IS_EMPTY]: null,\n [ConditionPresetOp.IS_NOT_EMPTY]: null,\n },\n};\n","/**\n * Copyright (c) 2025 Bytedance Ltd. and/or its affiliates\n * SPDX-License-Identifier: MIT\n */\n\nimport { defineComponent, h } from 'vue';\nimport { I18n } from '@flowgram-vue/i18n';\n\nimport { FgSelect } from '@/ui';\nimport { ConditionPresetOp } from '@/components/condition-context/op';\n\nimport { type JsonSchemaTypeRegistry } from '../types';\n\nexport const booleanRegistry: Partial<JsonSchemaTypeRegistry> = {\n type: 'boolean',\n ConstantRenderer: defineComponent({\n name: 'BooleanConstantRenderer',\n props: ['value', 'onChange', 'readonly', 'schema'],\n setup(props) {\n return () =>\n h(FgSelect, {\n value: props.value ? 1 : 0,\n disabled: props.readonly,\n placeholder: I18n.t('Please Select Boolean'),\n options: [\n { label: I18n.t('True'), value: 1 },\n { label: I18n.t('False'), value: 0 },\n ],\n onChange: (v: string | number) => props.onChange?.(!!v),\n });\n },\n }),\n conditionRule: {\n [ConditionPresetOp.EQ]: { type: 'boolean' },\n [ConditionPresetOp.NEQ]: { type: 'boolean' },\n [ConditionPresetOp.IS_TRUE]: null,\n [ConditionPresetOp.IS_FALSE]: null,\n [ConditionPresetOp.IN]: {\n type: 'array',\n items: { type: 'boolean' },\n },\n [ConditionPresetOp.NIN]: {\n type: 'array',\n items: { type: 'boolean' },\n },\n },\n};\n","/**\n * Copyright (c) 2025 Bytedance Ltd. and/or its affiliates\n * SPDX-License-Identifier: MIT\n */\n\nimport { defineComponent, h } from 'vue';\nimport { I18n } from '@flowgram-vue/i18n';\n\nimport { JsonCodeEditor } from '@/components/code-editor';\nimport { ConditionPresetOp } from '@/components/condition-context/op';\n\nimport { type JsonSchemaTypeRegistry } from '../types';\n\nexport const arrayRegistry: Partial<JsonSchemaTypeRegistry> = {\n type: 'array',\n ConstantRenderer: defineComponent({\n name: 'ArrayConstantRenderer',\n props: ['value', 'onChange', 'readonly'],\n setup(props) {\n return () =>\n h(JsonCodeEditor, {\n mini: true,\n value: props.value,\n readonly: props.readonly,\n placeholder: I18n.t('Please Input Array'),\n onChange: (v: string) => props.onChange?.(v),\n });\n },\n }),\n conditionRule: {\n [ConditionPresetOp.IS_EMPTY]: null,\n [ConditionPresetOp.IS_NOT_EMPTY]: null,\n [ConditionPresetOp.CONTAINS]: { type: 'array', extra: { weak: true } },\n [ConditionPresetOp.NOT_CONTAINS]: { type: 'array', extra: { weak: true } },\n [ConditionPresetOp.EQ]: { type: 'array', extra: { weak: true } },\n [ConditionPresetOp.NEQ]: { type: 'array', extra: { weak: true } },\n },\n};\n","/**\n * Copyright (c) 2025 Bytedance Ltd. and/or its affiliates\n * SPDX-License-Identifier: MIT\n */\n\nimport { jsonSchemaTypeManager } from '@flowgram-vue/json-schema';\n\nimport { stringRegistry } from './string';\nimport { objectRegistry } from './object';\nimport { numberRegistry } from './number';\nimport { mapRegistry } from './map';\nimport { integerRegistry } from './integer';\nimport { enumRegistry } from './enum';\nimport { dateTimeRegistry } from './date-time';\nimport { booleanRegistry } from './boolean';\nimport { arrayRegistry } from './array';\nimport { type JsonSchemaTypeRegistry } from '../types';\n\nexport const jsonSchemaTypePreset = [\n stringRegistry,\n objectRegistry,\n numberRegistry,\n integerRegistry,\n booleanRegistry,\n arrayRegistry,\n mapRegistry,\n enumRegistry,\n dateTimeRegistry,\n];\n\nexport const initRegistries = () => {\n if ((jsonSchemaTypeManager.getTypeByName('string') as JsonSchemaTypeRegistry)?.ConstantRenderer) {\n return;\n }\n\n jsonSchemaTypePreset.forEach((_type) => jsonSchemaTypeManager.register(_type));\n};\n","/**\n * Copyright (c) 2025 Bytedance Ltd. and/or its affiliates\n * SPDX-License-Identifier: MIT\n */\n\nimport { defineComponent, h, type PropType } from 'vue';\nimport {\n type IJsonSchema,\n useTypeManager as useOriginTypeManager,\n TypePresetProvider as OriginTypePresetProvider,\n JsonSchemaTypeManager,\n} from '@flowgram-vue/json-schema';\n\nimport { type JsonSchemaTypeRegistry } from './types';\nimport { initRegistries, jsonSchemaTypePreset } from './type-definition';\n\ninitRegistries();\n\nexport const useTypeManager = () =>\n useOriginTypeManager() as unknown as JsonSchemaTypeManager<IJsonSchema, JsonSchemaTypeRegistry>;\n\nexport const JsonSchemaTypePresetProvider = defineComponent({\n name: 'JsonSchemaTypePresetProvider',\n props: {\n types: {\n type: Array as PropType<JsonSchemaTypeRegistry[]>,\n default: () => [],\n },\n },\n setup(props, { slots }) {\n return () =>\n h(\n OriginTypePresetProvider,\n { types: [...jsonSchemaTypePreset, ...props.types] },\n () => slots.default?.()\n );\n },\n});\n","/**\n * Copyright (c) 2025 Bytedance Ltd. and/or its affiliates\n * SPDX-License-Identifier: MIT\n */\n\nimport {\n BaseTypeManager,\n jsonSchemaContainerModule,\n JsonSchemaTypeManager,\n} from '@flowgram-vue/json-schema';\nimport { definePluginCreator, type PluginCreator } from '@flowgram-vue/core';\n\nimport { JsonSchemaTypeRegistry } from './types';\nimport { initRegistries, jsonSchemaTypePreset } from './type-definition';\n\ninitRegistries();\n\ntype TypePresetRegistry = Partial<JsonSchemaTypeRegistry> & Pick<JsonSchemaTypeRegistry, 'type'>;\n\ninterface TypePresetPluginOptions {\n types?: TypePresetRegistry[];\n unregisterTypes?: string[];\n}\n\nexport const createTypePresetPlugin: PluginCreator<TypePresetPluginOptions> =\n definePluginCreator<TypePresetPluginOptions>({\n onInit(ctx, opts) {\n const typeManager = ctx.get(BaseTypeManager) as unknown as JsonSchemaTypeManager;\n jsonSchemaTypePreset.forEach((_type) => typeManager.register(_type));\n\n opts.types?.forEach((_type) => typeManager.register(_type));\n opts.unregisterTypes?.forEach((_type) => typeManager.unregister(_type));\n },\n containerModules: [jsonSchemaContainerModule],\n });\n","<script setup lang=\"ts\">\n/**\n * Copyright (c) 2025 Bytedance Ltd. and/or its affiliates\n * SPDX-License-Identifier: MIT\n */\n\nimport { computed, h } from 'vue';\nimport { I18n } from '@flowgram-vue/i18n';\n\nimport { useTypeManager } from '@/plugins';\nimport { FgInput } from '@/ui';\n\nimport type { PropsType } from './types';\n\nconst props = defineProps<PropsType>();\n\nconst typeManager = useTypeManager();\n\nconst Renderer = computed(() => {\n const strategy = (props.strategies || []).find((_strategy) => _strategy.hit(props.schema));\n if (!strategy) {\n return typeManager.getTypeBySchema(props.schema)?.ConstantRenderer;\n }\n return strategy?.Renderer;\n});\n</script>\n\n<template>\n <component\n :is=\"Renderer\"\n v-if=\"Renderer\"\n :value=\"value\"\n :readonly=\"readonly\"\n :schema=\"schema\"\n v-bind=\"{ ...$attrs }\"\n @change=\"onChange\"\n />\n <component\n :is=\"fallbackRenderer\"\n v-else-if=\"fallbackRenderer\"\n :value=\"value\"\n :readonly=\"readonly\"\n :schema=\"schema\"\n v-bind=\"{ ...$attrs }\"\n @change=\"onChange\"\n />\n <FgInput v-else disabled :placeholder=\"I18n.t('Unsupported type')\" />\n</template>\n","/**\n * Copyright (c) 2025 Bytedance Ltd. and/or its affiliates\n * SPDX-License-Identifier: MIT\n */\n\nimport { computed, ref, watch } from 'vue';\nimport { IJsonSchema } from '@flowgram-vue/json-schema';\nimport { useScopeAvailable } from '@flowgram-vue/variable-core';\n\nimport { IFlowConstantRefValue } from '@/shared';\n\nexport function useRefVariable(value?: IFlowConstantRefValue) {\n const available = useScopeAvailable();\n return computed(() => {\n if (value?.type === 'ref') {\n return available.value.getByKeyPath(value.content);\n }\n return undefined;\n });\n}\n\nexport function useSelectSchema(\n schemaFromProps?: IJsonSchema,\n constantProps?: {\n schema?: IJsonSchema;\n },\n value?: IFlowConstantRefValue\n) {\n let defaultSelectSchema = schemaFromProps || constantProps?.schema || { type: 'string' };\n if (value?.type === 'constant') {\n defaultSelectSchema = value?.schema || defaultSelectSchema;\n }\n\n const changeVersion = ref(0);\n const effectVersion = ref(0);\n const selectSchema = ref(defaultSelectSchema);\n\n watch(\n () => value,\n () => {\n effectVersion.value += 1;\n if (changeVersion.value === effectVersion.value) {\n return;\n }\n effectVersion.value = changeVersion.value;\n\n if (value?.type === 'constant' && value?.schema) {\n selectSchema.value = value?.schema;\n }\n }\n );\n\n const setSelectSchemaWithVersionUpdate = (schema: IJsonSchema) => {\n selectSchema.value = schema;\n changeVersion.value += 1;\n };\n\n return [selectSchema, setSelectSchemaWithVersionUpdate] as const;\n}\n\nexport function useIncludeSchema(schemaFromProps?: IJsonSchema) {\n return computed(() => {\n if (!schemaFromProps) {\n return;\n }\n if (schemaFromProps?.type === 'number') {\n return [schemaFromProps, { type: 'integer' }];\n }\n return { ...schemaFromProps, extra: { weak: true, ...schemaFromProps?.extra } };\n });\n}\n","import styleInject from '#style-inject';styleInject(\".gedit-m-dynamic-value-input-container {\\n display: flex;\\n align-items: center;\\n border-radius: 4px;\\n border: 1px solid var(--semi-color-border);\\n line-height: normal;\\n overflow: hidden;\\n background-color: var(--semi-color-fill-0);\\n}\\n.gedit-m-dynamic-value-input-main {\\n flex-grow: 1;\\n overflow: hidden;\\n min-width: 0;\\n border-left: 1px solid var(--semi-color-border);\\n border-right: 1px solid var(--semi-color-border);\\n & .semi-tree-select,\\n & .semi-input-number,\\n & .semi-select {\\n width: 100%;\\n border: none;\\n border-radius: 0;\\n }\\n & .semi-input-wrapper {\\n border: none;\\n border-radius: 0;\\n }\\n & .semi-input-textarea-wrapper {\\n border: none;\\n border-radius: 0;\\n }\\n & .semi-input-textarea {\\n padding: 2px 6px;\\n border: none;\\n border-radius: 0;\\n word-break: break-all;\\n }\\n}\\n.gedit-m-dynamic-value-input-type {\\n & .semi-button {\\n border-radius: 0;\\n }\\n}\\n.gedit-m-dynamic-value-input-trigger {\\n & .semi-button {\\n border-radius: 0;\\n }\\n}\\n\")","<script lang=\"ts\">\n/**\n * Copyright (c) 2025 Bytedance Ltd. and/or its affiliates\n * SPDX-License-Identifier: MIT\n */\n\nimport { defineComponent, h, type PropType, type CSSProperties } from 'vue';\nimport {\n JsonSchemaUtils,\n IJsonSchema,\n useTypeManager,\n type JsonSchemaTypeManager,\n} from '@flowgram-vue/json-schema';\n\nimport { IFlowConstantRefValue, IFlowConstantValue } from '@/shared';\nimport { InjectVariableSelector } from '@/components/variable-selector';\nimport { TypeSelector } from '@/components/type-selector';\nimport { ConstantInput, type ConstantInputStrategy } from '@/components/constant-input';\nimport { FgIconButton, IconSetting } from '@/ui';\n\nimport { useIncludeSchema, useRefVariable, useSelectSchema } from './hooks';\nimport './styles.css';\n\nconst DEFAULT_VALUE: IFlowConstantValue = {\n type: 'constant',\n content: '',\n schema: { type: 'string' },\n};\n\nconst DynamicValueInputImpl = defineComponent({\n name: 'DynamicValueInput',\n props: {\n value: { type: Object as PropType<IFlowConstantRefValue> },\n onChange: { type: Function as PropType<(value?: IFlowConstantRefValue) => void>, required: true },\n readonly: { type: Boolean, default: false },\n hasError: { type: Boolean, default: false },\n style: { type: Object as PropType<CSSProperties> },\n schema: { type: Object as PropType<IJsonSchema> },\n constantProps: { type: Object as PropType<{ strategies?: ConstantInputStrategy[]; schema?: IJsonSchema; [key: string]: any }> },\n },\n setup(props) {\n const refVariable = useRefVariable(props.value);\n const [selectSchema, setSelectSchema] = useSelectSchema(\n props.schema,\n props.constantProps,\n props.value\n );\n const includeSchema = useIncludeSchema(props.schema);\n const typeManager = useTypeManager() as JsonSchemaTypeManager;\n\n return () => {\n const renderTypeSelector = () => {\n if (props.schema) {\n return h(TypeSelector, { value: props.schema, readonly: true });\n }\n if (props.value?.type === 'ref') {\n const schema = refVariable.value?.type\n ? JsonSchemaUtils.astToSchema(refVariable.value?.type)\n : undefined;\n return h(TypeSelector, { value: schema, readonly: true });\n }\n return h(TypeSelector, {\n value: selectSchema.value,\n readonly: props.readonly,\n onChange: (_v) => {\n setSelectSchema(_v || { type: 'string' });\n const schema = _v || { type: 'string' };\n let content = typeManager.getDefaultValue(schema);\n if (_v?.type === 'object') {\n content = '{}';\n }\n if (_v?.type === 'array') {\n content = '[]';\n }\n props.onChange?.({\n type: 'constant',\n content,\n schema,\n });\n },\n });\n };\n\n const renderMain = () => {\n if (props.value?.type === 'ref') {\n return h(InjectVariableSelector, {\n style: { width: '100%' },\n value: props.value?.content,\n includeSchema: includeSchema.value,\n readonly: props.readonly,\n onChange: (_v: string[] | undefined) =>\n props.onChange?.(_v ? { type: 'ref', content: _v } : DEFAULT_VALUE),\n });\n }\n\n const constantSchema = props.schema || selectSchema.value || { type: 'string' };\n\n return h(ConstantInput, {\n value: props.value?.content,\n schema: constantSchema,\n readonly: props.readonly,\n fallbackRenderer: defineComponent({\n setup() {\n return () =>\n h(InjectVariableSelector, {\n style: { width: '100%' },\n includeSchema: includeSchema.value,\n readonly: props.readonly,\n onChange: (_v: string[] | undefined) =>\n props.onChange?.(_v ? { type: 'ref', content: _v } : DEFAULT_VALUE),\n });\n },\n }),\n ...(props.constantProps || {}),\n strategies: [...(props.constantProps?.strategies || [])],\n onChange: (_v: unknown) =>\n props.onChange?.({ type: 'constant', content: _v, schema: constantSchema }),\n });\n };\n\n const renderTrigger = () =>\n h(InjectVariableSelector, {\n style: { width: '100%' },\n value: props.value?.type === 'ref' ? props.value?.content : undefined,\n includeSchema: includeSchema.value,\n readonly: props.readonly,\n triggerRender: () =>\n h(FgIconButton, { disabled: props.readonly, icon: IconSetting() }),\n onChange: (_v: string[] | undefined) => props.onChange?.({ type: 'ref', content: _v }),\n });\n\n return h('div', { class: 'gedit-m-dynamic-value-input-container', style: props.style }, [\n h('div', { class: 'gedit-m-dynamic-value-input-type' }, [renderTypeSelector()]),\n h('div', { class: 'gedit-m-dynamic-value-input-main' }, [renderMain()]),\n h('div', { class: 'gedit-m-dynamic-value-input-trigger' }, [renderTrigger()]),\n ]);\n };\n },\n});\n\n(DynamicValueInputImpl as typeof DynamicValueInputImpl & { renderKey: string }).renderKey =\n 'dynamic-value-input-render-key';\n\nexport default DynamicValueInputImpl;\n</script>\n","/**\n * Copyright (c) 2025 Bytedance Ltd. and/or its affiliates\n * SPDX-License-Identifier: MIT\n */\n\nimport DynamicValueInput from './dynamic-value-input.vue';\nimport { createInjectMaterial } from '@/shared';\n\nexport { default as DynamicValueInput } from './dynamic-value-input.vue';\nexport const InjectDynamicValueInput = createInjectMaterial(DynamicValueInput);\n","<script setup lang=\"ts\">\n/**\n * Copyright (c) 2025 Bytedance Ltd. and/or its affiliates\n * SPDX-License-Identifier: MIT\n */\n\nimport { ref, watch, type CSSProperties } from 'vue';\n\nimport { FgInput } from '@/ui';\n\nconst props = defineProps<{\n value?: string;\n disabled?: boolean;\n placeholder?: string;\n style?: CSSProperties;\n}>();\n\nconst emit = defineEmits<{\n change: [value: string];\n blur: [event: FocusEvent];\n}>();\n\nconst local = ref(String(props.value ?? ''));\n\nwatch(\n () => props.value,\n (next) => {\n local.value = String(next ?? '');\n }\n);\n</script>\n\n<template>\n <FgInput\n :value=\"local\"\n :disabled=\"disabled\"\n :placeholder=\"placeholder\"\n :style=\"style\"\n @change=\"local = $event\"\n @blur=\"\n (event) => {\n emit('change', local);\n emit('blur', event);\n }\n \"\n />\n</template>\n","<script setup lang=\"ts\">\n/**\n * Copyright (c) 2025 Bytedance Ltd. and/or its affiliates\n * SPDX-License-Identifier: MIT\n */\n\nimport { IFlowConstantRefValue } from '@/shared';\nimport { InjectVariableSelector } from '@/components/variable-selector';\nimport { InjectDynamicValueInput } from '@/components/dynamic-value-input';\nimport { BlurInput } from '@/components/blur-input';\nimport { FgIconButton, IconMinus } from '@/ui';\n\nimport type { AssignRowProps } from './types';\n\nconst props = withDefaults(defineProps<AssignRowProps>(), {\n value: () => ({ operator: 'assign' as const }),\n});\n</script>\n\n<template>\n <div style=\"display: flex; align-items: center; gap: 5px\">\n <div style=\"width: 150px; min-width: 150px; max-width: 150px\">\n <InjectVariableSelector\n v-if=\"props.value?.operator === 'assign'\"\n :style=\"{ width: '100%', height: '26px' }\"\n :value=\"props.value?.left && typeof props.value.left === 'object' ? props.value.left.content : undefined\"\n :config=\"{ placeholder: 'Select Left' }\"\n :on-change=\"\n (v: string[] | undefined) =>\n props.onChange?.({\n ...props.value,\n operator: 'assign',\n left: { type: 'ref', content: v },\n })\n \"\n />\n <BlurInput\n v-else\n :style=\"{ height: '26px' }\"\n placeholder=\"Input Name\"\n :value=\"typeof props.value?.left === 'string' ? props.value.left : ''\"\n @change=\"\n (v) =>\n props.onChange?.({\n ...props.value,\n operator: 'declare',\n left: v,\n })\n \"\n />\n </div>\n <div style=\"flex-grow: 1\">\n <InjectDynamicValueInput\n :readonly=\"readonly\"\n :value=\"props.value?.right as IFlowConstantRefValue | undefined\"\n :on-change=\"\n (v?: IFlowConstantRefValue) =>\n props.onChange?.({\n ...props.value!,\n right: v,\n })\n \"\n />\n </div>\n <div v-if=\"onDelete\">\n <FgIconButton :icon=\"IconMinus()\" @click=\"onDelete?.()\" />\n </div>\n </div>\n</template>\n","<script setup lang=\"ts\">\n/**\n * Copyright (c) 2025 Bytedance Ltd. and/or its affiliates\n * SPDX-License-Identifier: MIT\n */\n\nimport { FieldArray } from '@flowgram-vue/form';\n\nimport { AssignRow, type AssignValueType } from '@/components/assign-row';\nimport { FgButton, IconPlus } from '@/ui';\n\ndefineProps<{\n name: string;\n readonly?: boolean;\n defaultValue?: AssignValueType[];\n}>();\n</script>\n\n<template>\n <FieldArray :name=\"name\" :default-value=\"defaultValue\">\n <template #default=\"{ field }\">\n <div style=\"display: flex; flex-direction: column; gap: 5px\">\n <AssignRow\n v-for=\"(childField, index) in field.map((item: { key: string; value: AssignValueType; onChange: (v?: AssignValueType) => void }) => item)\"\n :key=\"childField.key\"\n :readonly=\"readonly\"\n :value=\"childField.value\"\n :on-change=\"(value?: AssignValueType) => childField.onChange(value)\"\n :on-delete=\"() => field.remove(index)\"\n />\n <div style=\"display: flex; gap: 5px\">\n <FgButton borderless @click=\"field.append({ operator: 'assign' })\">\n <IconPlus />\n Assign\n </FgButton>\n <FgButton borderless @click=\"field.append({ operator: 'declare' })\">\n <IconPlus />\n Declaration\n </FgButton>\n </div>\n </div>\n </template>\n </FieldArray>\n</template>\n","/**\n * Copyright (c) 2025 Bytedance Ltd. and/or its affiliates\n * SPDX-License-Identifier: MIT\n */\n\nimport { ref, watch, type Ref } from 'vue';\n\nimport { nanoid } from 'nanoid';\nimport { difference, get, isObject, set } from 'lodash-es';\n\nfunction genId() {\n return nanoid();\n}\n\ninterface ListItem<ValueType> {\n id: string;\n key?: string;\n value?: ValueType;\n}\n\ntype ObjectType<ValueType> = Record<string, ValueType | undefined>;\n\nexport function useObjectList<ValueType>({\n value,\n onChange,\n sortIndexKey,\n}: {\n value?: ObjectType<ValueType>;\n onChange: (value?: ObjectType<ValueType>) => void;\n sortIndexKey?: string | ((item: ValueType | undefined) => string);\n}): {\n list: Ref<ListItem<ValueType>[]>;\n add: (defaultValue?: ValueType) => void;\n updateKey: (itemId: string, key: string) => void;\n updateValue: (itemId: string, value: ValueType) => void;\n remove: (itemId: string) => void;\n} {\n const list = ref<ListItem<ValueType>[]>([]) as Ref<ListItem<ValueType>[]>;\n const effectVersion = ref(0);\n const changeVersion = ref(0);\n\n const getSortIndex = (item?: ValueType) => {\n if (typeof sortIndexKey === 'function') {\n return get(item, sortIndexKey(item)) || 0;\n }\n return get(item, sortIndexKey || '') || 0;\n };\n\n watch(\n () => value,\n () => {\n effectVersion.value = effectVersion.value + 1;\n if (effectVersion.value === changeVersion.value) {\n return;\n }\n effectVersion.value = changeVersion.value;\n\n const newKeys = Object.entries(value || {})\n .sort((a, b) => getSortIndex(a[1]) - getSortIndex(b[1]))\n .map(([key]) => key);\n\n const oldKeys = list.value.map((item) => item.key).filter(Boolean) as string[];\n const addKeys = difference(newKeys, oldKeys);\n\n list.value = list.value\n .filter((item) => !item.key || newKeys.includes(item.key))\n .map((item) => ({\n id: item.id,\n key: item.key,\n value: item.key ? value?.[item.key!] : item.value,\n }))\n .concat(\n addKeys.map((_key) => ({\n id: genId(),\n key: _key,\n value: value?.[_key],\n }))\n );\n },\n { immediate: true, deep: true }\n );\n\n const add = (defaultValue?: ValueType) => {\n list.value = [\n ...list.value,\n {\n id: genId(),\n value: defaultValue,\n },\n ];\n };\n\n const updateValue = (itemId: string, nextValue: ValueType) => {\n changeVersion.value = changeVersion.value + 1;\n\n const nextList = list.value.map((_item) => {\n if (_item.id === itemId) {\n return {\n ..._item,\n value: nextValue,\n };\n }\n return _item;\n });\n\n onChange(\n Object.fromEntries(\n nextList\n .filter((item) => item.key)\n .map((item) => [item.key!, item.value])\n .map((_res, idx) => {\n const indexKey =\n typeof sortIndexKey === 'function'\n ? sortIndexKey(_res[1] as ValueType | undefined)\n : sortIndexKey;\n\n if (isObject(_res[1]) && indexKey) {\n set(_res[1], indexKey, idx);\n }\n return _res;\n })\n )\n );\n\n list.value = nextList;\n };\n\n const updateKey = (itemId: string, key: string) => {\n changeVersion.value = changeVersion.value + 1;\n\n const nextList = list.value.map((_item) => {\n if (_item.id === itemId) {\n return {\n ..._item,\n key,\n };\n }\n return _item;\n });\n\n onChange(\n Object.fromEntries(nextList.filter((item) => item.key).map((item) => [item.key!, item.value]))\n );\n\n list.value = nextList;\n };\n\n const remove = (itemId: string) => {\n changeVersion.value = changeVersion.value + 1;\n\n const nextList = list.value.filter((_item) => _item.id !== itemId);\n\n onChange(\n Object.fromEntries(nextList.filter((item) => item.key).map((item) => [item.key!, item.value]))\n );\n\n list.value = nextList;\n };\n\n return { list, add, updateKey, updateValue, remove };\n}\n","import styleInject from '#style-inject';styleInject(\".gedit-m-batch-outputs-rows {\\n display: flex;\\n flex-direction: column;\\n gap: 10px;\\n margin-bottom: 10px;\\n}\\n.gedit-m-batch-outputs-row {\\n display: flex;\\n align-items: center;\\n gap: 5px;\\n}\\n\")","<script setup lang=\"ts\">\n/**\n * Copyright (c) 2025 Bytedance Ltd. and/or its affiliates\n * SPDX-License-Identifier: MIT\n */\n\nimport { I18n } from '@flowgram-vue/i18n';\n\nimport { useObjectList } from '@/hooks';\nimport { InjectVariableSelector } from '@/components/variable-selector';\nimport { FgButton, FgInput, IconDelete, IconPlus } from '@/ui';\n\nimport type { PropsType } from './types';\nimport './styles.css';\n\nconst props = defineProps<PropsType>();\nconst { list, add, updateKey, updateValue, remove } = useObjectList(props);\n</script>\n\n<template>\n <div>\n <div class=\"gedit-m-batch-outputs-rows\" :style=\"style\">\n <div v-for=\"item in list\" :key=\"item.id\" class=\"gedit-m-batch-outputs-row\">\n <FgInput\n :style=\"{ width: '100px' }\"\n :disabled=\"readonly\"\n :value=\"item.key\"\n @change=\"(v) => updateKey(item.id, v)\"\n />\n <InjectVariableSelector\n :style=\"{ flexGrow: 1 }\"\n :readonly=\"readonly\"\n :value=\"item.value?.content\"\n :on-change=\"(v) => updateValue(item.id, { type: 'ref', content: v })\"\n />\n <FgButton :disabled=\"readonly\" @click=\"remove(item.id)\">\n <IconDelete />\n </FgButton>\n </div>\n </div>\n <FgButton :disabled=\"readonly\" @click=\"() => add()\">\n <IconPlus />\n {{ I18n.t('Add') }}\n </FgButton>\n </div>\n</template>\n","<script setup lang=\"ts\">\n/**\n * Copyright (c) 2025 Bytedance Ltd. and/or its affiliates\n * SPDX-License-Identifier: MIT\n */\n\nimport { PrivateScopeProvider } from '@flowgram-vue/node-variable-plugin';\nimport { IJsonSchema } from '@flowgram-vue/json-schema';\n\nimport { VariableSelector, type VariableSelectorProps } from '@/components/variable-selector';\n\nconst batchVariableSchema: IJsonSchema = {\n type: 'array',\n extra: { weak: true },\n};\n\ndefineProps<VariableSelectorProps>();\n</script>\n\n<template>\n <PrivateScopeProvider>\n <VariableSelector v-bind=\"$props\" :include-schema=\"batchVariableSchema\" />\n </PrivateScopeProvider>\n</template>\n","<script setup lang=\"ts\">\n/**\n * Copyright (c) 2025 Bytedance Ltd. and/or its affiliates\n * SPDX-License-Identifier: MIT\n */\n\nimport { CodeEditor, type CodeEditorPropsType } from '@/components/code-editor';\n\ndefineProps<CodeEditorPropsType>();\n</script>\n\n<template>\n <div class=\"gedit-m-code-editor-mini\">\n <CodeEditor v-bind=\"{ ...$props, mini: true }\" />\n </div>\n</template>\n","/**\n * Copyright (c) 2025 Bytedance Ltd. and/or its affiliates\n * SPDX-License-Identifier: MIT\n */\n\nimport { computed, defineComponent, inject, provide, type InjectionKey, type PropType } from 'vue';\n\nimport { IConditionRule, ConditionOpConfigs } from './types';\nimport { defaultConditionOpConfigs } from './op';\n\ninterface ContextType {\n rules?: Record<string, IConditionRule>;\n ops?: ConditionOpConfigs;\n}\n\nconst ConditionContextKey: InjectionKey<ContextType> = Symbol('ConditionContext');\n\nexport const ConditionProvider = defineComponent({\n name: 'ConditionProvider',\n props: {\n rules: { type: Object as PropType<Record<string, IConditionRule>>, default: undefined },\n ops: { type: Object as PropType<ConditionOpConfigs>, default: undefined },\n },\n setup(props, { slots }) {\n provide(\n ConditionContextKey,\n computed(() => ({\n rules: props.rules,\n ops: props.ops,\n })).value\n );\n const ctx = computed(() => ({\n rules: props.rules,\n ops: props.ops,\n }));\n provide(ConditionContextKey, ctx as unknown as ContextType);\n return () => slots.default?.();\n },\n});\n\nexport const useConditionContext = (): ContextType =>\n inject(ConditionContextKey, {\n rules: {},\n ops: defaultConditionOpConfigs,\n });\n","/**\n * Copyright (c) 2025 Bytedance Ltd. and/or its affiliates\n * SPDX-License-Identifier: MIT\n */\n\nimport { computed, ref, unref, watch } from 'vue';\n\nimport { IJsonSchema } from '@flowgram-vue/json-schema';\nimport { I18n } from '@flowgram-vue/i18n';\n\nimport { useTypeManager } from '@/plugins';\n\nimport { IConditionRule, ConditionOpConfigs } from '../types';\nimport { useConditionContext } from '../context';\n\ninterface HooksParams {\n leftSchema?: IJsonSchema;\n operator?: string;\n onClearOp?: () => void;\n onClearRight?: () => void;\n ruleConfig?: {\n ops?: ConditionOpConfigs;\n rules?: Record<string, IConditionRule>;\n };\n}\n\nexport function useCondition({\n leftSchema,\n operator,\n onClearOp,\n onClearRight,\n ruleConfig,\n}: HooksParams) {\n const typeManager = useTypeManager();\n const conditionCtx = useConditionContext();\n const contextRules = computed(() => unref(conditionCtx)?.rules);\n const contextOps = computed(() => unref(conditionCtx)?.ops);\n\n const userRules = computed(() => ruleConfig?.rules || contextRules.value || {});\n const allOps = computed(() => ruleConfig?.ops || contextOps.value || {});\n\n const config = computed(() =>\n leftSchema ? typeManager.getTypeBySchema(leftSchema) : undefined\n );\n\n const rule = computed(() => {\n const current = config.value;\n if (!current) {\n return undefined;\n }\n if (userRules.value[current.type]) {\n return userRules.value[current.type];\n }\n if (typeof current.conditionRule === 'function') {\n return current.conditionRule(leftSchema);\n }\n return current.conditionRule;\n });\n\n const opOptionList = computed(() =>\n Object.keys(rule.value || {})\n .filter((_op) => allOps.value[_op])\n .map((_op) => ({\n ...(allOps.value?.[_op] || {}),\n value: _op,\n label: I18n.t(allOps.value?.[_op]?.label || _op),\n }))\n );\n\n watch(\n () => [operator, opOptionList.value],\n () => {\n if (!operator || !rule.value) {\n return;\n }\n if (!opOptionList.value.find((item) => item.value === operator)) {\n onClearOp?.();\n }\n }\n );\n\n const targetSchema = computed(() => {\n const targetType: string | IJsonSchema | null = rule.value?.[operator || ''] || null;\n\n if (!targetType) {\n return undefined;\n }\n\n if (typeof targetType === 'string') {\n return { type: targetType, extra: { weak: true } };\n }\n\n return targetType;\n });\n\n const prevTargetSchemaRef = ref<IJsonSchema | undefined>(undefined);\n\n watch(\n () => targetSchema.value,\n (next) => {\n if (!prevTargetSchemaRef.value) {\n prevTargetSchemaRef.value = next;\n return;\n }\n if (prevTargetSchemaRef.value?.type !== next?.type) {\n onClearRight?.();\n }\n prevTargetSchemaRef.value = next;\n }\n );\n\n const opConfig = computed(() => allOps.value[operator || '']);\n\n return {\n rule,\n opConfig,\n opOptionList,\n targetSchema,\n };\n}\n","import styleInject from '#style-inject';styleInject(\".gedit-m-condition-row-container {\\n display: flex;\\n align-items: center;\\n gap: 4px;\\n}\\n.gedit-m-condition-row-operator {\\n}\\n.gedit-m-condition-row-left {\\n width: 100%;\\n}\\n.gedit-m-condition-row-right {\\n width: 100%;\\n}\\n.gedit-m-condition-row-values {\\n flex-grow: 1;\\n display: flex;\\n flex-direction: column;\\n align-items: center;\\n gap: 4px;\\n overflow: hidden;\\n}\\n\")","<script setup lang=\"ts\">\n/**\n * Copyright (c) 2025 Bytedance Ltd. and/or its affiliates\n * SPDX-License-Identifier: MIT\n */\n\nimport { computed, unref, type CSSProperties } from 'vue';\nimport { JsonSchemaUtils } from '@flowgram-vue/json-schema';\nimport { I18n } from '@flowgram-vue/i18n';\nimport { useScopeAvailable } from '@flowgram-vue/variable-core';\n\nimport { InjectVariableSelector } from '@/components/variable-selector';\nimport { InjectDynamicValueInput } from '@/components/dynamic-value-input';\nimport {\n type IConditionRule,\n type ConditionOpConfigs,\n useCondition,\n} from '@/components/condition-context';\nimport { FgButton, FgInput, FgSelect, IconChevronDown } from '@/ui';\n\nimport type { ConditionRowValueType } from './types';\nimport './styles.css';\n\nconst props = defineProps<{\n value?: ConditionRowValueType;\n onChange: (value?: ConditionRowValueType) => void;\n style?: CSSProperties;\n readonly?: boolean;\n ruleConfig?: {\n ops?: ConditionOpConfigs;\n rules?: Record<string, IConditionRule>;\n };\n}>();\n\nconst available = useScopeAvailable();\nconst left = computed(() => props.value?.left);\nconst operator = computed(() => props.value?.operator);\nconst right = computed(() => props.value?.right);\n\nconst variable = computed(() => {\n if (!left.value) {\n return undefined;\n }\n return available.value.getByKeyPath(left.value.content);\n});\n\nconst leftSchema = computed(() => {\n if (!variable.value) {\n return undefined;\n }\n return JsonSchemaUtils.astToSchema(variable.value.type, { drilldown: false });\n});\n\nconst condition = useCondition({\n get leftSchema() {\n return leftSchema.value;\n },\n get operator() {\n return operator.value;\n },\n ruleConfig: props.ruleConfig,\n onClearOp() {\n props.onChange({\n ...props.value,\n operator: undefined,\n });\n },\n onClearRight() {\n props.onChange({\n ...props.value,\n right: undefined,\n });\n },\n});\n</script>\n\n<template>\n <div class=\"gedit-m-condition-row-container\" :style=\"style\">\n <div class=\"gedit-m-condition-row-operator\">\n <FgSelect\n :disabled=\"readonly\"\n :value=\"operator\"\n :options=\"unref(condition.opOptionList)\"\n @change=\"(v) => onChange({ ...value, operator: String(v) })\"\n >\n <template #trigger>\n <FgButton :disabled=\"!unref(condition.rule)\">\n {{ unref(condition.opConfig)?.abbreviation || '' }}\n <IconChevronDown v-if=\"!unref(condition.opConfig)?.abbreviation\" />\n </FgButton>\n </template>\n </FgSelect>\n </div>\n <div class=\"gedit-m-condition-row-values\">\n <div class=\"gedit-m-condition-row-left\">\n <InjectVariableSelector\n :readonly=\"readonly\"\n :style=\"{ width: '100%' }\"\n :value=\"left?.content\"\n :on-change=\"\n (v: string[] | undefined) =>\n onChange({\n ...value,\n left: { type: 'ref', content: v },\n })\n \"\n />\n </div>\n <div class=\"gedit-m-condition-row-right\">\n <InjectDynamicValueInput\n v-if=\"unref(condition.targetSchema)\"\n :readonly=\"readonly || !unref(condition.rule)\"\n :value=\"right\"\n :schema=\"unref(condition.targetSchema)\"\n :on-change=\"(v) => onChange({ ...value, right: v })\"\n />\n <FgInput\n v-else\n disabled\n :style=\"{ pointerEvents: 'none' }\"\n :value=\"unref(condition.opConfig)?.rightDisplay || I18n.t('Empty')\"\n />\n </div>\n </div>\n </div>\n</template>\n","<script setup lang=\"ts\">\n/**\n * Copyright (c) 2025 Bytedance Ltd. and/or its affiliates\n * SPDX-License-Identifier: MIT\n */\n\nimport { VariableSelector } from '@/components/variable-selector';\n\ndefineProps<{\n triggerCharacters?: string[];\n}>();\n</script>\n\n<template>\n <div class=\"gedit-m-editor-variable-tree\">\n <VariableSelector :on-change=\"() => undefined\" />\n </div>\n</template>\n","<script setup lang=\"ts\">\n/**\n * Copyright (c) 2025 Bytedance Ltd. and/or its affiliates\n * SPDX-License-Identifier: MIT\n */\n</script>\n\n<template>\n <span class=\"gedit-m-editor-variable-tag\" />\n</template>\n","<script setup lang=\"ts\">\n/**\n * Copyright (c) 2025 Bytedance Ltd. and/or its affiliates\n * SPDX-License-Identifier: MIT\n */\n\nimport type { IInputsValues } from '@/shared/flow-value';\n\ndefineProps<{\n inputsValues?: IInputsValues;\n}>();\n</script>\n\n<template>\n <div class=\"gedit-m-editor-inputs-tree\" />\n</template>\n","/**\n * Copyright (c) 2025 Bytedance Ltd. and/or its affiliates\n * SPDX-License-Identifier: MIT\n */\n\nimport { createInjectMaterial } from '@/shared';\n\nimport VariableTree from './extensions/variable-tree.vue';\nimport VariableTagInject from './extensions/variable-tag.vue';\nimport InputsTree from './extensions/inputs-tree.vue';\n\nexport const EditorVariableTree = createInjectMaterial(VariableTree, {\n renderKey: 'EditorVariableTree',\n});\n\nexport const EditorVariableTagInject = createInjectMaterial(VariableTagInject, {\n renderKey: 'EditorVariableTagInject',\n});\n\nexport const EditorInputsTree = createInjectMaterial(InputsTree, {\n renderKey: 'EditorInputsTree',\n});\n","import styleInject from '#style-inject';styleInject(\".gedit-m-db-condition-row-container {\\n display: flex;\\n align-items: center;\\n gap: 4px;\\n}\\n.gedit-m-db-condition-row-operator {\\n}\\n.gedit-m-db-condition-row-left {\\n width: 100%;\\n}\\n.gedit-m-db-condition-row-right {\\n width: 100%;\\n}\\n.gedit-m-db-condition-row-values {\\n flex-grow: 1;\\n display: flex;\\n flex-direction: column;\\n align-items: center;\\n gap: 4px;\\n}\\n.gedit-m-db-condition-row-option-label {\\n display: flex;\\n align-items: center;\\n gap: 10px;\\n}\\n.gedit-m-db-condition-row-select {\\n & .semi-select-selection {\\n margin-left: 5px;\\n }\\n}\\n\")","<script setup lang=\"ts\">\n/**\n * Copyright (c) 2025 Bytedance Ltd. and/or its affiliates\n * SPDX-License-Identifier: MIT\n */\n\nimport { computed, h, unref, type CSSProperties } from 'vue';\nimport { I18n } from '@flowgram-vue/i18n';\n\nimport { useTypeManager } from '@/plugins';\nimport { InjectDynamicValueInput } from '@/components/dynamic-value-input';\nimport {\n useCondition,\n type ConditionOpConfigs,\n type IConditionRule,\n} from '@/components/condition-context';\nimport { FgButton, FgInput, FgSelect, IconChevronDown } from '@/ui';\n\nimport type { DBConditionOptionType, DBConditionRowValueType } from './types';\nimport './styles.css';\n\nconst props = defineProps<{\n value?: DBConditionRowValueType;\n onChange: (value?: DBConditionRowValueType) => void;\n style?: CSSProperties;\n options?: DBConditionOptionType[];\n readonly?: boolean;\n ruleConfig?: {\n ops?: ConditionOpConfigs;\n rules?: Record<string, IConditionRule>;\n };\n}>();\n\nconst typeManager = useTypeManager();\nconst left = computed(() => props.value?.left);\nconst operator = computed(() => props.value?.operator);\nconst right = computed(() => props.value?.right);\nconst leftSchema = computed(() => props.options?.find((item) => item.value === left.value)?.schema);\n\nconst condition = useCondition({\n get leftSchema() {\n return leftSchema.value;\n },\n get operator() {\n return operator.value;\n },\n ruleConfig: props.ruleConfig,\n onClearOp() {\n props.onChange({ ...props.value, operator: undefined });\n },\n onClearRight() {\n props.onChange({ ...props.value, right: undefined });\n },\n});\n\nconst optionList = computed(\n () =>\n props.options?.map((item) => ({\n label: h('div', { class: 'gedit-m-db-condition-row-option-label' }, [\n typeManager.getDisplayIcon(item.schema),\n item.label,\n ]),\n value: item.value,\n })) || []\n);\n</script>\n\n<template>\n <div class=\"gedit-m-db-condition-row-container\" :style=\"style\">\n <div class=\"gedit-m-db-condition-row-operator\">\n <FgSelect\n :disabled=\"readonly\"\n :value=\"operator\"\n :options=\"unref(condition.opOptionList)\"\n @change=\"(v) => onChange({ ...value, operator: String(v) })\"\n >\n <template #trigger>\n <FgButton :disabled=\"!unref(condition.rule)\">\n {{ unref(condition.opConfig)?.abbreviation || '' }}\n <IconChevronDown v-if=\"!unref(condition.opConfig)?.abbreviation\" />\n </FgButton>\n </template>\n </FgSelect>\n </div>\n <div class=\"gedit-m-db-condition-row-values\">\n <div class=\"gedit-m-db-condition-row-left\">\n <FgSelect\n class=\"gedit-m-db-condition-row-select\"\n :disabled=\"readonly\"\n :value=\"left\"\n :options=\"optionList\"\n @change=\"(v) => onChange({ ...value, left: String(v) })\"\n />\n </div>\n <div class=\"gedit-m-db-condition-row-right\">\n <InjectDynamicValueInput\n v-if=\"unref(condition.targetSchema)\"\n :readonly=\"readonly || !unref(condition.rule)\"\n :value=\"right\"\n :schema=\"unref(condition.targetSchema)\"\n :on-change=\"(v) => onChange({ ...value, right: v })\"\n />\n <FgInput\n v-else\n disabled\n :style=\"{ pointerEvents: 'none' }\"\n :value=\"unref(condition.opConfig)?.rightDisplay || I18n.t('Empty')\"\n />\n </div>\n </div>\n </div>\n</template>\n","import styleInject from '#style-inject';styleInject(\".gedit-m-display-schema-tree-row {\\n display: flex;\\n align-items: center;\\n & .tree-icon {\\n margin-right: 8px;\\n width: 14px;\\n height: 14px;\\n }\\n height: 27px;\\n white-space: nowrap;\\n}\\n.gedit-m-display-schema-tree-horizontal-line {\\n position: relative;\\n &::before,\\n &::after {\\n content: \\\"\\\";\\n position: absolute;\\n background-color: var(--semi-color-text-3);\\n }\\n &::after {\\n top: 0px;\\n right: 6px;\\n width: 15px;\\n height: 1px;\\n }\\n}\\n.gedit-m-display-schema-tree-title {\\n}\\n.gedit-m-display-schema-tree-level {\\n padding-left: 30px;\\n position: relative;\\n}\\n.gedit-m-display-schema-tree-item {\\n position: relative;\\n &::before {\\n content: \\\"\\\";\\n position: absolute;\\n background-color: var(--semi-color-text-3);\\n }\\n &:not(:last-child)::before {\\n width: 1px;\\n top: 0;\\n bottom: 0;\\n left: -22px;\\n }\\n &:last-child::before {\\n width: 1px;\\n top: 0;\\n height: 14px;\\n left: -22px;\\n }\\n &.depth-0::before {\\n width: 0px !important;\\n }\\n}\\n\")","<script setup lang=\"ts\">\n/**\n * Copyright (c) 2025 Bytedance Ltd. and/or its affiliates\n * SPDX-License-Identifier: MIT\n */\n\nimport {\n type IJsonSchema,\n type JsonSchemaTypeManager,\n useTypeManager,\n} from '@flowgram-vue/json-schema';\n\nimport './styles.css';\n\nconst props = withDefaults(\n defineProps<{\n value?: IJsonSchema;\n parentKey?: string;\n depth?: number;\n drilldown?: boolean;\n showIcon?: boolean;\n typeManager?: JsonSchemaTypeManager;\n }>(),\n { value: () => ({}), drilldown: true, depth: 0, showIcon: true, parentKey: '' }\n);\n\nconst injectedTypeManager = useTypeManager() as JsonSchemaTypeManager;\nconst typeManager = props.typeManager || injectedTypeManager;\nconst config = typeManager.getTypeBySchema(props.value);\nconst title = typeManager.getComplexText(props.value);\nconst icon = typeManager?.getDisplayIcon(props.value);\nconst properties: IJsonSchema['properties'] =\n props.drilldown && config ? config.getTypeSchemaProperties(props.value) : {};\nconst childEntries = Object.entries(properties || {});\n</script>\n\n<template>\n <div :class=\"`gedit-m-display-schema-tree-item depth-${depth}`\">\n <div class=\"gedit-m-display-schema-tree-row\">\n <div v-if=\"depth !== 0\" class=\"gedit-m-display-schema-tree-horizontal-line\" />\n <component v-if=\"showIcon && icon\" :is=\"icon\" class=\"tree-icon\" />\n <div class=\"gedit-m-display-schema-tree-title\">\n <template v-if=\"parentKey\">{{ parentKey }} ({{ title }})</template>\n <template v-else>{{ title }}</template>\n </div>\n </div>\n <div v-if=\"childEntries.length\" class=\"gedit-m-display-schema-tree-level\">\n <DisplaySchemaTree\n v-for=\"[key, child] in childEntries\"\n :key=\"key\"\n v-bind=\"{ ...$props, parentKey: key, value: child, depth: depth + 1 }\"\n />\n </div>\n </div>\n</template>\n","import styleInject from '#style-inject';styleInject(\".gedit-m-display-schema-tag-popover-content {\\n padding: 10px;\\n}\\n.gedit-m-display-schema-tag-tag {\\n padding: 4px;\\n & .tag-icon {\\n width: 12px;\\n height: 12px;\\n }\\n}\\n.gedit-m-display-schema-tag-title {\\n display: inline-block;\\n margin-left: 4px;\\n margin-top: -1px;\\n overflow: hidden;\\n text-overflow: ellipsis;\\n}\\n\")","<script setup lang=\"ts\">\n/**\n * Copyright (c) 2025 Bytedance Ltd. and/or its affiliates\n * SPDX-License-Identifier: MIT\n */\n\nimport type { VNode } from 'vue';\nimport { IJsonSchema } from '@flowgram-vue/json-schema';\n\nimport { useTypeManager } from '@/plugins';\nimport { FgPopover, FgTag } from '@/ui';\nimport { DisplaySchemaTree } from '@/components/display-schema-tree';\n\nimport './styles.css';\n\ndefineProps<{\n title?: VNode | string;\n value?: IJsonSchema;\n showIconInTree?: boolean;\n warning?: boolean;\n}>();\n\nconst typeManager = useTypeManager();\n</script>\n\n<template>\n <FgPopover>\n <FgTag :color=\"warning ? 'amber' : 'white'\" class=\"gedit-m-display-schema-tag-tag\">\n <component\n :is=\"typeManager?.getDisplayIcon(value || {}) || typeManager.getDisplayIcon({ type: 'unknown' })\"\n class=\"tag-icon\"\n />\n <span v-if=\"title\" class=\"gedit-m-display-schema-tag-title\">{{ title }}</span>\n </FgTag>\n <template #content>\n <div class=\"gedit-m-display-schema-tag-popover-content\">\n <DisplaySchemaTree :value=\"value || {}\" :type-manager=\"typeManager\" :show-icon=\"showIconInTree\" />\n </div>\n </template>\n </FgPopover>\n</template>\n","<script setup lang=\"ts\">\n/**\n * Copyright (c) 2025 Bytedance Ltd. and/or its affiliates\n * SPDX-License-Identifier: MIT\n */\n\nimport { computed, type VNode } from 'vue';\nimport { JsonSchemaUtils } from '@flowgram-vue/json-schema';\nimport { useScopeAvailable } from '@flowgram-vue/variable-core';\n\nimport { type IFlowValue, FlowValueUtils } from '@/shared';\nimport { DisplaySchemaTag } from '@/components/display-schema-tag';\n\nconst props = defineProps<{\n value?: IFlowValue;\n title?: VNode | string;\n showIconInTree?: boolean;\n}>();\n\nconst available = useScopeAvailable();\nconst variable = computed(() =>\n props.value?.type === 'ref' ? available.value.getByKeyPath(props.value?.content) : undefined\n);\n\nconst schema = computed(() => {\n if (props.value?.type === 'ref') {\n return JsonSchemaUtils.astToSchema(variable.value?.type);\n }\n if (props.value?.type === 'template') {\n return { type: 'string' };\n }\n if (props.value?.type === 'constant') {\n return FlowValueUtils.inferConstantJsonSchema(props.value);\n }\n return { type: 'unknown' };\n});\n</script>\n\n<template>\n <DisplaySchemaTag\n :title=\"title\"\n :value=\"schema\"\n :show-icon-in-tree=\"showIconInTree\"\n :warning=\"value?.type === 'ref' && !variable\"\n />\n</template>\n","<script setup lang=\"ts\">\n/**\n * Copyright (c) 2025 Bytedance Ltd. and/or its affiliates\n * SPDX-License-Identifier: MIT\n */\n\nimport { computed } from 'vue';\nimport { useScopeAvailable } from '@flowgram-vue/variable-core';\n\nimport { type IInputsValues } from '@/shared/flow-value';\nimport { FlowValueUtils } from '@/shared';\nimport { DisplaySchemaTag } from '@/components/display-schema-tag';\n\nconst props = defineProps<{\n value?: IInputsValues;\n title: string;\n showIconInTree?: boolean;\n}>();\n\nconst available = useScopeAvailable();\nconst schema = computed(() => FlowValueUtils.inferJsonSchema(props.value, available.value.scope));\n</script>\n\n<template>\n <DisplaySchemaTag :title=\"title\" :value=\"schema\" :show-icon-in-tree=\"showIconInTree\" />\n</template>\n","import styleInject from '#style-inject';styleInject(\".gedit-m-display-inputs-wrapper {\\n display: flex;\\n gap: 5px;\\n flex-wrap: wrap;\\n}\\n\")","<script setup lang=\"ts\">\n/**\n * Copyright (c) 2025 Bytedance Ltd. and/or its affiliates\n * SPDX-License-Identifier: MIT\n */\n\nimport { computed } from 'vue';\nimport { isPlainObject } from 'lodash-es';\nimport { useScopeAvailable } from '@flowgram-vue/variable-core';\n\nimport { type IInputsValues } from '@/shared/flow-value';\nimport { FlowValueUtils } from '@/shared';\nimport { DisplayFlowValue } from '@/components/display-flow-value';\nimport DisplayInputsValueAllInTag from './display-inputs-value-all-in-tag.vue';\n\nimport './styles.css';\n\ndefineProps<{\n value?: IInputsValues;\n showIconInTree?: boolean;\n}>();\n\nconst childEntries = (value?: IInputsValues) => Object.entries(value || {});\n</script>\n\n<template>\n <div class=\"gedit-m-display-inputs-wrapper\">\n <template v-for=\"[key, child] in childEntries(value)\" :key=\"key\">\n <DisplayFlowValue\n v-if=\"FlowValueUtils.isFlowValue(child)\"\n :title=\"key\"\n :value=\"child\"\n :show-icon-in-tree=\"showIconInTree\"\n />\n <DisplayInputsValueAllInTag\n v-else-if=\"isPlainObject(child)\"\n :title=\"key\"\n :value=\"child\"\n :show-icon-in-tree=\"showIconInTree\"\n />\n </template>\n </div>\n</template>\n","import styleInject from '#style-inject';styleInject(\".gedit-m-display-outputs-wrapper {\\n display: flex;\\n gap: 5px;\\n flex-wrap: wrap;\\n}\\n\")","<script setup lang=\"ts\">\n/**\n * Copyright (c) 2025 Bytedance Ltd. and/or its affiliates\n * SPDX-License-Identifier: MIT\n */\n\nimport { computed, onBeforeUnmount, onMounted, type CSSProperties } from 'vue';\nimport { IJsonSchema, JsonSchemaUtils } from '@flowgram-vue/json-schema';\nimport { useCurrentScope } from '@flowgram-vue/variable-core';\nimport { useRefresh } from '@flowgram-vue/utils';\n\nimport { DisplaySchemaTag } from '@/components/display-schema-tag';\n\nimport './styles.css';\n\nconst props = defineProps<{\n value?: IJsonSchema;\n showIconInTree?: boolean;\n displayFromScope?: boolean;\n style?: CSSProperties;\n}>();\n\nconst scope = useCurrentScope();\nconst refresh = useRefresh();\n\nonMounted(() => {\n if (!props.displayFromScope || !scope) {\n return;\n }\n const disposable = scope.output.onListOrAnyVarChange(() => {\n refresh();\n });\n onBeforeUnmount(() => disposable.dispose());\n});\n\nconst properties = computed<IJsonSchema['properties']>(() =>\n props.displayFromScope\n ? (scope?.output.variables || []).reduce((acm, curr) => {\n acm = {\n ...acm,\n ...(JsonSchemaUtils.astToSchema(curr.type)?.properties || {}),\n };\n return acm;\n }, {} as IJsonSchema['properties'])\n : props.value?.properties || {}\n);\n\nconst childEntries = computed(() => Object.entries(properties.value || {}));\n</script>\n\n<template>\n <div class=\"gedit-m-display-outputs-wrapper\" :style=\"style\">\n <DisplaySchemaTag\n v-for=\"[key, schema] in childEntries\"\n :key=\"key\"\n :title=\"key\"\n :value=\"schema\"\n :show-icon-in-tree=\"showIconInTree\"\n :warning=\"!schema\"\n />\n </div>\n</template>\n","import styleInject from '#style-inject';styleInject(\".gedit-m-inputs-values-rows {\\n display: flex;\\n flex-direction: column;\\n gap: 10px;\\n margin-bottom: 10px;\\n}\\n.gedit-m-inputs-values-row {\\n display: flex;\\n align-items: flex-start;\\n gap: 5px;\\n}\\n\")","<script setup lang=\"ts\">\n/**\n * Copyright (c) 2025 Bytedance Ltd. and/or its affiliates\n * SPDX-License-Identifier: MIT\n */\n\nimport { I18n } from '@flowgram-vue/i18n';\n\nimport { type IFlowConstantRefValue, type IFlowValue } from '@/shared';\nimport { useObjectList } from '@/hooks';\nimport { InjectDynamicValueInput } from '@/components/dynamic-value-input';\nimport { BlurInput } from '@/components/blur-input';\nimport { FgButton, FgIconButton, IconDelete, IconPlus } from '@/ui';\n\nimport type { PropsType } from './types';\nimport './styles.css';\n\nconst props = defineProps<PropsType>();\n\nconst { list, updateKey, updateValue, remove, add } = useObjectList<IFlowValue | undefined>({\n value: props.value,\n onChange: props.onChange,\n sortIndexKey: 'extra.index',\n});\n</script>\n\n<template>\n <div>\n <div class=\"gedit-m-inputs-values-rows\" :style=\"style\">\n <div v-for=\"item in list\" :key=\"item.id\" class=\"gedit-m-inputs-values-row\">\n <BlurInput\n :style=\"{ width: '100px', minWidth: '100px', maxWidth: '100px' }\"\n :disabled=\"readonly\"\n :value=\"item.key\"\n :placeholder=\"I18n.t('Input Key')\"\n @change=\"(v) => updateKey(item.id, v)\"\n />\n <InjectDynamicValueInput\n :style=\"{ flexGrow: 1 }\"\n :readonly=\"readonly\"\n :value=\"item.value as IFlowConstantRefValue\"\n :schema=\"schema\"\n :has-error=\"hasError\"\n :constant-props=\"{\n ...constantProps,\n strategies: [...(constantProps?.strategies || [])],\n }\"\n :on-change=\"(v) => updateValue(item.id, v)\"\n />\n <FgIconButton :disabled=\"readonly\" :icon=\"IconDelete()\" @click=\"remove(item.id)\" />\n </div>\n </div>\n <FgButton\n :disabled=\"readonly\"\n @click=\"\n add({\n type: 'constant',\n content: '',\n schema: { type: 'string' },\n })\n \"\n >\n <IconPlus />\n {{ I18n.t('Add') }}\n </FgButton>\n </div>\n</template>\n","/**\n * Copyright (c) 2025 Bytedance Ltd. and/or its affiliates\n * SPDX-License-Identifier: MIT\n */\n\nimport { computed, type ComputedRef } from 'vue';\nimport { isPlainObject } from 'lodash-es';\n\nimport { FlowValueUtils } from '@/shared';\nimport { useObjectList } from '@/hooks';\n\nexport function useChildList(\n value?: any,\n onChange?: (value: any) => void\n): {\n canAddField: ComputedRef<boolean>;\n hasChildren: ComputedRef<boolean>;\n list: ReturnType<typeof useObjectList<any>>['list'];\n add: (defaultValue?: any) => void;\n updateKey: (id: string, key: string) => void;\n updateValue: (id: string, value: any) => void;\n remove: (id: string) => void;\n} {\n const canAddField = computed(() => {\n if (!isPlainObject(value)) {\n return false;\n }\n if (FlowValueUtils.isFlowValue(value)) {\n return FlowValueUtils.isConstant(value) && value?.schema?.type === 'object';\n }\n return true;\n });\n\n const objectListValue = computed(() => {\n if (isPlainObject(value)) {\n if (FlowValueUtils.isFlowValue(value)) {\n return undefined;\n }\n return value;\n }\n return undefined;\n });\n\n const { list, add, updateKey, updateValue, remove } = useObjectList<any>({\n value: objectListValue.value,\n onChange: (next) => {\n onChange?.(next);\n },\n sortIndexKey: (item) => (FlowValueUtils.isFlowValue(item) ? 'extra.index' : ''),\n });\n\n const hasChildren = computed(\n () => canAddField.value && (list.value.length > 0 || Object.keys(objectListValue.value || {}).length > 0)\n );\n\n return {\n canAddField,\n hasChildren,\n list,\n add,\n updateKey,\n updateValue,\n remove,\n };\n}\n","import styleInject from '#style-inject';styleInject(\".gedit-m-inputs-values-tree-container {\\n}\\n.gedit-m-inputs-values-tree-row {\\n display: flex;\\n align-items: flex-start;\\n gap: 5px;\\n}\\n.gedit-m-inputs-values-tree-collapse-trigger {\\n cursor: pointer;\\n margin-right: 5px;\\n}\\n.gedit-m-inputs-values-tree-tree-items {\\n display: grid;\\n grid-template-columns: auto 1fr;\\n}\\n.gedit-m-inputs-values-tree-tree-items.shrink {\\n padding-left: 3px;\\n margin-top: 10px;\\n}\\n.gedit-m-inputs-values-tree-tree-item-left {\\n grid-column: 1;\\n position: relative;\\n width: 16px;\\n}\\n.gedit-m-inputs-values-tree-tree-item-left.show-line::before {\\n content: \\\"\\\";\\n height: var(--line-height, 100%);\\n position: absolute;\\n left: -14px;\\n top: -16px;\\n width: 1px;\\n background: #d9d9d9;\\n display: block;\\n}\\n.gedit-m-inputs-values-tree-tree-item-left.show-line::after {\\n content: \\\"\\\";\\n position: absolute;\\n left: -14px;\\n top: 8px;\\n width: var(--line-width, 30px);\\n height: 1px;\\n background: #d9d9d9;\\n display: block;\\n}\\n.gedit-m-inputs-values-tree-tree-item-left.show-line.is-last::before {\\n height: 24px;\\n}\\n.gedit-m-inputs-values-tree-tree-item-left.show-line.show-collapse::after {\\n width: 12px;\\n}\\n.gedit-m-inputs-values-tree-tree-item-right {\\n grid-column: 2;\\n margin-bottom: 10px;\\n &:last-child {\\n margin-bottom: 0px;\\n }\\n}\\n.gedit-m-inputs-values-tree-tree-item-main {\\n display: flex;\\n flex-direction: column;\\n gap: 10px;\\n position: relative;\\n}\\n.gedit-m-inputs-values-tree-collapsible {\\n display: none;\\n}\\n.gedit-m-inputs-values-tree-collapsible.collapse {\\n display: block;\\n}\\n.gedit-m-inputs-values-tree-actions {\\n white-space: nowrap;\\n}\\n\")","<script lang=\"ts\">\n/**\n * Copyright (c) 2025 Bytedance Ltd. and/or its affiliates\n * SPDX-License-Identifier: MIT\n */\nexport default { name: 'InputValueRow' };\n</script>\n\n<script setup lang=\"ts\">\nimport { computed, defineComponent, h, ref } from 'vue';\nimport { I18n } from '@flowgram-vue/i18n';\n\nimport { IFlowConstantValue } from '@/shared';\nimport { ConstantInputStrategy } from '@/components/constant-input';\nimport { InjectDynamicValueInput } from '@/components/dynamic-value-input';\nimport { BlurInput } from '@/components/blur-input';\nimport { FgIconButton, FgInput, IconAddChildren, IconChevronDown, IconChevronRight, IconDelete } from '@/ui';\n\nimport type { PropsType } from './types';\nimport { useChildList } from './hooks/use-child-list';\nimport './styles.css';\n\nconst AddObjectChildStrategy: ConstantInputStrategy = {\n hit: (schema) => schema.type === 'object',\n Renderer: defineComponent({\n name: 'AddObjectChildStrategy',\n setup() {\n return () =>\n h(FgInput, {\n disabled: true,\n style: { pointerEvents: 'none' },\n value: I18n.t('Configure via child fields'),\n });\n },\n }),\n};\n\nconst props = defineProps<\n {\n keyName?: string;\n value?: any;\n onUpdateKey: (key: string) => void;\n onUpdateValue: (value: any) => void;\n onRemove?: () => void;\n $isLast?: boolean;\n $level?: number;\n } & Pick<PropsType, 'constantProps' | 'hasError' | 'readonly'>\n>();\n\nconst collapse = ref(false);\nconst { canAddField, hasChildren, list, add, updateKey, updateValue, remove } = useChildList(\n props.value,\n props.onUpdateValue\n);\n\nconst strategies = computed(() => [\n ...(hasChildren.value ? [AddObjectChildStrategy] : []),\n ...(props.constantProps?.strategies || []),\n]);\n\nconst flowDisplayValue = computed(() =>\n hasChildren.value\n ? ({\n type: 'constant',\n schema: { type: 'object' },\n } as IFlowConstantValue)\n : props.value\n);\n</script>\n\n<template>\n <div\n :class=\"`gedit-m-inputs-values-tree-tree-item-left ${($level || 0) > 0 ? 'show-line' : ''} ${\n $isLast ? 'is-last' : ''\n } ${hasChildren ? 'show-collapse' : ''}`\"\n >\n <div\n v-if=\"hasChildren\"\n class=\"gedit-m-inputs-values-tree-collapse-trigger\"\n @click=\"collapse = !collapse\"\n >\n <IconChevronDown v-if=\"collapse\" />\n <IconChevronRight v-else />\n </div>\n </div>\n <div class=\"gedit-m-inputs-values-tree-tree-item-right\">\n <div class=\"gedit-m-inputs-values-tree-tree-item-main\">\n <div class=\"gedit-m-inputs-values-tree-row\">\n <BlurInput\n :style=\"{ width: '100px', minWidth: '100px', maxWidth: '100px' }\"\n :disabled=\"readonly\"\n :value=\"keyName\"\n :placeholder=\"I18n.t('Input Key')\"\n @change=\"(v) => onUpdateKey?.(v)\"\n />\n <InjectDynamicValueInput\n :style=\"{ flexGrow: 1 }\"\n :readonly=\"readonly\"\n :value=\"flowDisplayValue\"\n :has-error=\"hasError\"\n :constant-props=\"{ ...constantProps, strategies }\"\n :on-change=\"(v) => onUpdateValue(v)\"\n />\n <div class=\"gedit-m-inputs-values-tree-actions\">\n <FgIconButton\n v-if=\"canAddField\"\n :disabled=\"readonly\"\n :icon=\"IconAddChildren()\"\n @click=\"\n () => {\n add({ type: 'constant', content: '', schema: { type: 'string' } });\n collapse = true;\n }\n \"\n />\n <FgIconButton :disabled=\"readonly\" :icon=\"IconDelete()\" @click=\"onRemove?.()\" />\n </div>\n </div>\n </div>\n <div v-if=\"hasChildren\" :class=\"`gedit-m-inputs-values-tree-collapsible ${collapse ? 'collapse' : ''}`\">\n <div class=\"gedit-m-inputs-values-tree-tree-items shrink\">\n <InputValueRow\n v-for=\"(_item, index) in list\"\n :key=\"_item.id\"\n :readonly=\"readonly\"\n :has-error=\"hasError\"\n :constant-props=\"constantProps\"\n :key-name=\"_item.key\"\n :value=\"_item.value\"\n :$level=\"($level || 0) + 1\"\n :$is-last=\"index === list.length - 1\"\n :on-update-value=\"(_v) => updateValue(_item.id, _v)\"\n :on-update-key=\"(k) => updateKey(_item.id, k)\"\n :on-remove=\"() => remove(_item.id)\"\n />\n </div>\n </div>\n </div>\n</template>\n","<script setup lang=\"ts\">\n/**\n * Copyright (c) 2025 Bytedance Ltd. and/or its affiliates\n * SPDX-License-Identifier: MIT\n */\n\nimport { I18n } from '@flowgram-vue/i18n';\n\nimport { FlowValueUtils, type IFlowValue, type IInputsValues } from '@/shared';\nimport { useObjectList } from '@/hooks';\nimport { FgButton, IconPlus } from '@/ui';\n\nimport type { PropsType } from './types';\nimport InputValueRow from './row.vue';\nimport './styles.css';\n\nconst props = defineProps<PropsType>();\n\nconst { list, updateKey, updateValue, remove, add } = useObjectList<\n IInputsValues | IFlowValue | undefined\n>({\n value: props.value,\n onChange: (v) => props.onChange?.(v as IInputsValues),\n sortIndexKey: (item) => (FlowValueUtils.isFlowValue(item) ? 'extra.index' : ''),\n});\n</script>\n\n<template>\n <div>\n <div class=\"gedit-m-inputs-values-tree-tree-items\">\n <InputValueRow\n v-for=\"item in list\"\n :key=\"item.id\"\n :key-name=\"item.key\"\n :value=\"item.value\"\n :readonly=\"readonly\"\n :has-error=\"hasError\"\n :constant-props=\"constantProps\"\n :on-update-key=\"(key) => updateKey(item.id, key)\"\n :on-update-value=\"(value) => updateValue(item.id, value)\"\n :on-remove=\"() => remove(item.id)\"\n />\n </div>\n <FgButton\n :style=\"{ marginTop: '10px', marginLeft: '16px' }\"\n :disabled=\"readonly\"\n @click=\"\n add({\n type: 'constant',\n content: '',\n schema: { type: 'string' },\n })\n \"\n >\n <IconPlus />\n {{ I18n.t('Add') }}\n </FgButton>\n </div>\n</template>\n","<script setup lang=\"ts\">\n/**\n * Copyright (c) 2025 Bytedance Ltd. and/or its affiliates\n * SPDX-License-Identifier: MIT\n */\n\nimport { I18n } from '@flowgram-vue/i18n';\n\nimport { EditorVariableTree, EditorVariableTagInject } from '@/components/coze-editor-extensions';\nimport { JsonCodeEditor, type CodeEditorPropsType } from '@/components/code-editor';\nimport type { JsonEditorWithVariablesProps } from './types';\n\ndefineProps<JsonEditorWithVariablesProps>();\n</script>\n\n<template>\n <JsonCodeEditor\n :active-line-placeholder=\"activeLinePlaceholder || I18n.t(`Press '@' to Select variable`)\"\n v-bind=\"$props\"\n >\n <EditorVariableTree :trigger-characters=\"['@']\" />\n <EditorVariableTagInject />\n </JsonCodeEditor>\n</template>\n","/**\n * Copyright (c) 2025 Bytedance Ltd. and/or its affiliates\n * SPDX-License-Identifier: MIT\n */\n\nimport type { IJsonSchema } from '@flowgram-vue/json-schema';\n\nexport function jsonToSchema(jsonString: string): IJsonSchema {\n // 1. 解析 JSON\n const data = JSON.parse(jsonString); // 会自动抛出语法错误\n\n // 2. 生成 schema\n return generateSchema(data);\n}\n\nfunction generateSchema(value: any): IJsonSchema {\n // null\n if (value === null) {\n return { type: 'string' };\n }\n\n // array\n if (Array.isArray(value)) {\n const schema: IJsonSchema = { type: 'array' };\n if (value.length > 0) {\n schema.items = generateSchema(value[0]);\n }\n return schema;\n }\n\n // object\n if (typeof value === 'object') {\n const schema: IJsonSchema = {\n type: 'object',\n properties: {},\n required: [],\n };\n\n for (const [key, val] of Object.entries(value)) {\n schema.properties![key] = generateSchema(val);\n schema.required!.push(key);\n }\n\n return schema;\n }\n\n // primitive types\n const type = typeof value;\n return { type: type as any };\n}\n","<script setup lang=\"ts\">\n/**\n * Copyright (c) 2025 Bytedance Ltd. and/or its affiliates\n * SPDX-License-Identifier: MIT\n */\n\nimport { ref } from 'vue';\nimport type { IJsonSchema } from '@flowgram-vue/json-schema';\nimport { I18n } from '@flowgram-vue/i18n';\n\nimport { FgModal } from '@/ui';\nimport { JsonCodeEditor } from '@/components/code-editor';\nimport { jsonToSchema } from './utils/json-to-schema';\n\nconst props = defineProps<{\n visible?: boolean;\n onClose: () => void;\n onConfirm: (schema: IJsonSchema) => void;\n}>();\n\nconst jsonInput = ref('');\nconst error = ref('');\n\nconst handleConfirm = () => {\n try {\n const schema = jsonToSchema(jsonInput.value);\n props.onConfirm(schema);\n jsonInput.value = '';\n error.value = '';\n } catch (err) {\n error.value = (err as Error).message;\n }\n};\n</script>\n\n<template>\n <FgModal\n :visible=\"visible\"\n :title=\"I18n.t('JSON to JSONSchema')\"\n :ok-text=\"I18n.t('Generate')\"\n :cancel-text=\"I18n.t('Cancel')\"\n @close=\"onClose\"\n @confirm=\"handleConfirm\"\n >\n <div style=\"margin-bottom: 8px\">{{ I18n.t('Paste JSON data') }}:</div>\n <div style=\"min-height: 300px\">\n <JsonCodeEditor :value=\"jsonInput\" :on-change=\"(value) => (jsonInput = value || '')\" />\n </div>\n <div v-if=\"error\" style=\"margin-top: 8px; color: #f93920\">{{ error }}</div>\n </FgModal>\n</template>\n","<script setup lang=\"ts\">\n/**\n * Copyright (c) 2025 Bytedance Ltd. and/or its affiliates\n * SPDX-License-Identifier: MIT\n */\n\nimport { ref } from 'vue';\nimport type { IJsonSchema } from '@flowgram-vue/json-schema';\nimport { I18n } from '@flowgram-vue/i18n';\n\nimport { FgButton } from '@/ui';\nimport JsonInputModal from './json-input-modal.vue';\nimport type { JsonSchemaCreatorProps } from './types';\n\nconst props = defineProps<JsonSchemaCreatorProps>();\nconst visible = ref(false);\n\nconst handleCreate = (schema: IJsonSchema) => {\n props.onSchemaCreate?.(schema);\n visible.value = false;\n};\n</script>\n\n<template>\n <FgButton @click=\"visible = true\">{{ I18n.t('JSON to JSONSchema') }}</FgButton>\n <JsonInputModal :visible=\"visible\" :on-close=\"() => (visible = false)\" :on-confirm=\"handleCreate\" />\n</template>\n","/**\n * Copyright (c) 2025 Bytedance Ltd. and/or its affiliates\n * SPDX-License-Identifier: MIT\n */\n\nimport { computed, ref, watch } from 'vue';\nimport { difference, omit } from 'lodash-es';\nimport { produce } from 'immer';\nimport { IJsonSchema, type JsonSchemaTypeManager, useTypeManager } from '@flowgram-vue/json-schema';\n\nimport { PropertyValueType } from './types';\n\nlet _id = 0;\nfunction genId() {\n return _id++;\n}\n\nexport function usePropertiesEdit(\n value?: PropertyValueType,\n onChange?: (value: PropertyValueType) => void\n) {\n const typeManager = useTypeManager() as JsonSchemaTypeManager;\n const drilldownSchema = computed(() => typeManager.getPropertiesParent(value || {}));\n const canAddField = computed(() => typeManager.canAddField(value || {}));\n const propertyList = ref<PropertyValueType[]>([]);\n const latestPropertyListRef = ref(propertyList.value);\n const effectVersion = ref(0);\n const changeVersion = ref(0);\n\n watch(\n drilldownSchema,\n () => {\n effectVersion.value = effectVersion.value + 1;\n if (effectVersion.value === changeVersion.value) {\n return;\n }\n effectVersion.value = changeVersion.value;\n\n const _list = latestPropertyListRef.value;\n const newNames = Object.entries(drilldownSchema.value?.properties || {})\n .sort(([, a], [, b]) => (a.extra?.index ?? 0) - (b.extra?.index ?? 0))\n .map(([key]) => key);\n\n const oldNames = _list.map((item) => item.name).filter(Boolean) as string[];\n const addNames = difference(newNames, oldNames);\n\n const next = _list\n .filter((item) => !item.name || newNames.includes(item.name))\n .map((item) => ({\n key: item.key,\n name: item.name,\n isPropertyRequired: drilldownSchema.value?.required?.includes(item.name || '') || false,\n ...(drilldownSchema.value?.properties?.[item.name || ''] || item || {}),\n }))\n .concat(\n addNames.map((_name) => ({\n key: genId(),\n name: _name,\n isPropertyRequired: drilldownSchema.value?.required?.includes(_name) || false,\n ...(drilldownSchema.value?.properties?.[_name] || {}),\n }))\n );\n\n latestPropertyListRef.value = next;\n propertyList.value = next;\n },\n { immediate: true }\n );\n\n const updatePropertyList = (updater: (list: PropertyValueType[]) => PropertyValueType[]) => {\n changeVersion.value = changeVersion.value + 1;\n const next = updater(latestPropertyListRef.value);\n latestPropertyListRef.value = next;\n propertyList.value = next;\n\n const nextProperties: Record<string, IJsonSchema> = {};\n const nextRequired: string[] = [];\n\n for (const _property of next) {\n if (!_property.name) {\n continue;\n }\n nextProperties[_property.name] = omit(_property, ['key', 'name', 'isPropertyRequired']);\n if (_property.isPropertyRequired) {\n nextRequired.push(_property.name);\n }\n }\n\n onChange?.(\n produce(value || {}, (draft) => {\n const propertiesParent = typeManager.getPropertiesParent(draft);\n if (propertiesParent) {\n propertiesParent.properties = nextProperties;\n propertiesParent.required = nextRequired;\n }\n })\n );\n };\n\n const onAddProperty = () => {\n const _list = latestPropertyListRef.value;\n const next = [\n ..._list,\n { key: genId(), name: '', type: 'string', extra: { index: _list.length + 1 } },\n ];\n latestPropertyListRef.value = next;\n propertyList.value = next;\n };\n\n const onRemoveProperty = (key: number) => {\n updatePropertyList((_list) => _list.filter((_property) => _property.key !== key));\n };\n\n const onEditProperty = (key: number, nextValue: PropertyValueType) => {\n updatePropertyList((_list) =>\n _list.map((_property) => (_property.key === key ? nextValue : _property))\n );\n };\n\n watch(canAddField, (next) => {\n if (!next) {\n latestPropertyListRef.value = [];\n propertyList.value = [];\n }\n });\n\n return {\n propertyList,\n canAddField,\n onAddProperty,\n onRemoveProperty,\n onEditProperty,\n };\n}\n","<script setup lang=\"ts\">\n/**\n * Copyright (c) 2025 Bytedance Ltd. and/or its affiliates\n * SPDX-License-Identifier: MIT\n */\n\nimport { IJsonSchema } from '@flowgram-vue/json-schema';\nimport { I18n } from '@flowgram-vue/i18n';\n\nimport { ConstantInput } from '@/components/constant-input';\n\ndefineProps<{\n value?: unknown;\n schema?: IJsonSchema;\n placeholder?: string;\n onChange: (value: unknown) => void;\n}>();\n</script>\n\n<template>\n <div class=\"gedit-m-json-schema-editor-constant-input-wrapper\">\n <ConstantInput\n :value=\"value\"\n :schema=\"schema || { type: 'string' }\"\n :placeholder=\"placeholder ?? I18n.t('Default value if parameter is not provided')\"\n enable-multi-line-str\n :on-change=\"onChange\"\n />\n </div>\n</template>\n","<script lang=\"ts\">\n/**\n * Copyright (c) 2025 Bytedance Ltd. and/or its affiliates\n * SPDX-License-Identifier: MIT\n */\n\nimport { computed, defineComponent, h, ref, type PropType } from 'vue';\nimport { IJsonSchema, JsonSchemaTypeManager, useTypeManager } from '@flowgram-vue/json-schema';\nimport { I18n } from '@flowgram-vue/i18n';\n\nimport { InjectTypeSelector } from '@/components/type-selector';\nimport { BlurInput } from '@/components/blur-input';\nimport {\n FgCheckbox,\n FgIconButton,\n IconAddChildren,\n IconChevronDown,\n IconChevronRight,\n IconExpand,\n IconMinus,\n IconShrink,\n} from '@/ui';\n\nimport type { ConfigType, PropertyValueType } from './types';\nimport { usePropertiesEdit } from './hooks';\nimport DefaultValue from './default-value.vue';\n\nfunction getSchemaDefaultValue(\n typeManager: JsonSchemaTypeManager,\n schema: Partial<IJsonSchema> | undefined\n) {\n if (schema?.type === 'object') {\n return '{}';\n }\n if (schema?.type === 'array') {\n return '[]';\n }\n return typeManager.getDefaultValue(schema || {});\n}\n\nconst PropertyEdit = defineComponent({\n name: 'PropertyEdit',\n props: {\n value: { type: Object as PropType<PropertyValueType> },\n config: { type: Object as PropType<ConfigType> },\n onChange: { type: Function as PropType<(value: PropertyValueType) => void> },\n onRemove: { type: Function as PropType<() => void> },\n readonly: { type: Boolean, default: false },\n $isLast: { type: Boolean, default: false },\n $level: { type: Number, default: 0 },\n },\n setup(props) {\n const expand = ref(false);\n const collapse = ref(false);\n const typeManagerInner = useTypeManager() as JsonSchemaTypeManager;\n const typeSelectorValue = computed(() => ({\n type: props.value?.type,\n items: props.value?.items,\n }));\n const nested = usePropertiesEdit(props.value, props.onChange);\n const showCollapse = computed(\n () => nested.canAddField.value && nested.propertyList.value.length > 0\n );\n\n const onFieldChange = (key: string, next: unknown) => {\n props.onChange?.({\n ...(props.value || {}),\n [key]: next,\n });\n };\n\n return () =>\n h('div', { style: { display: 'contents' } }, [\n h(\n 'div',\n {\n class: `gedit-m-json-schema-editor-tree-item-left ${props.$level > 0 ? 'show-line' : ''} ${\n props.$isLast ? 'is-last' : ''\n } ${showCollapse.value ? 'show-collapse' : ''}`,\n },\n showCollapse.value\n ? [\n h(\n 'div',\n {\n class: 'gedit-m-json-schema-editor-collapse-trigger',\n onClick: () => {\n collapse.value = !collapse.value;\n },\n },\n [collapse.value ? h(IconChevronDown) : h(IconChevronRight)]\n ),\n ]\n : []\n ),\n h('div', { class: 'gedit-m-json-schema-editor-tree-item-right' }, [\n h('div', { class: 'gedit-m-json-schema-editor-tree-item-main' }, [\n h('div', { class: 'gedit-m-json-schema-editor-row' }, [\n h('div', { class: 'gedit-m-json-schema-editor-name' }, [\n h(BlurInput, {\n disabled: props.readonly,\n placeholder: props.config?.placeholder ?? I18n.t('Input Variable Name'),\n value: props.value?.name,\n onChange: (v: string) => onFieldChange('name', v),\n }),\n ]),\n h('div', { class: 'gedit-m-json-schema-editor-type' }, [\n h(InjectTypeSelector, {\n value: typeSelectorValue.value,\n readonly: props.readonly,\n onChange: (_value?: Partial<IJsonSchema>) => {\n const nextTypeSchema = _value || {};\n props.onChange?.({\n ...(props.value || {}),\n ...nextTypeSchema,\n default: getSchemaDefaultValue(typeManagerInner, nextTypeSchema),\n });\n },\n }),\n ]),\n h('div', { class: 'gedit-m-json-schema-editor-required' }, [\n h(FgCheckbox, {\n disabled: props.readonly,\n checked: props.value?.isPropertyRequired,\n onChange: (checked: boolean) => onFieldChange('isPropertyRequired', checked),\n }),\n ]),\n h('div', { class: 'gedit-m-json-schema-editor-actions' }, [\n h(FgIconButton, {\n disabled: props.readonly,\n icon: expand.value ? IconShrink() : IconExpand(),\n onClick: () => {\n expand.value = !expand.value;\n },\n }),\n nested.canAddField.value\n ? h(FgIconButton, {\n disabled: props.readonly,\n icon: IconAddChildren(),\n onClick: () => {\n nested.onAddProperty();\n collapse.value = true;\n },\n })\n : null,\n h(FgIconButton, {\n disabled: props.readonly,\n icon: IconMinus(),\n onClick: () => props.onRemove?.(),\n }),\n ]),\n ]),\n expand.value\n ? h('div', { class: 'gedit-m-json-schema-editor-expand-detail' }, [\n h('div', { class: 'gedit-m-json-schema-editor-label' }, [\n props.config?.descTitle ?? I18n.t('Description'),\n ]),\n h(BlurInput, {\n disabled: props.readonly,\n value: props.value?.description,\n placeholder:\n props.config?.descPlaceholder ?? I18n.t('Help LLM to understand the property'),\n onChange: (v: string) => onFieldChange('description', v),\n }),\n props.$level === 0\n ? h('div', {}, [\n h(\n 'div',\n { class: 'gedit-m-json-schema-editor-label', style: { marginTop: '10px' } },\n props.config?.defaultValueTitle ?? I18n.t('Default Value')\n ),\n h('div', { class: 'gedit-m-json-schema-editor-default-value-wrapper' }, [\n h(DefaultValue, {\n value: props.value?.default,\n schema: props.value,\n placeholder:\n props.config?.defaultValuePlaceholder ?? I18n.t('Default Value'),\n onChange: (v: unknown) => onFieldChange('default', v),\n }),\n ]),\n ])\n : null,\n ])\n : null,\n ]),\n showCollapse.value\n ? h(\n 'div',\n {\n class: `gedit-m-json-schema-editor-collapsible ${collapse.value ? 'collapse' : ''}`,\n },\n [\n h(\n 'div',\n { class: 'gedit-m-json-schema-editor-tree-items shrink' },\n nested.propertyList.value.map((_property, index) =>\n h(PropertyEdit, {\n readonly: props.readonly,\n key: _property.key,\n value: _property,\n config: props.config,\n $level: (props.$level || 0) + 1,\n $isLast: index === nested.propertyList.value.length - 1,\n onChange: (_v: PropertyValueType) => {\n nested.onEditProperty(_property.key!, _v);\n },\n onRemove: () => {\n nested.onRemoveProperty(_property.key!);\n },\n })\n )\n ),\n ]\n )\n : null,\n ]),\n ]);\n },\n});\n\nexport default PropertyEdit;\n</script>\n","import styleInject from '#style-inject';styleInject(\".gedit-m-json-schema-editor-container {\\n}\\n.gedit-m-json-schema-editor-row {\\n display: flex;\\n align-items: center;\\n gap: 6px;\\n}\\n.gedit-m-json-schema-editor-collapse-trigger {\\n cursor: pointer;\\n margin-right: 5px;\\n}\\n.gedit-m-json-schema-editor-expand-detail {\\n display: flex;\\n flex-direction: column;\\n}\\n.gedit-m-json-schema-editor-label {\\n font-size: 12px;\\n color: #999;\\n font-weight: 400;\\n margin-bottom: 2px;\\n}\\n.gedit-m-json-schema-editor-tree-items {\\n display: grid;\\n grid-template-columns: auto 1fr;\\n}\\n.gedit-m-json-schema-editor-tree-items.shrink {\\n padding-left: 3px;\\n margin-top: 10px;\\n}\\n.gedit-m-json-schema-editor-tree-item-left {\\n grid-column: 1;\\n position: relative;\\n width: 16px;\\n}\\n.gedit-m-json-schema-editor-tree-item-left.show-line::before {\\n content: \\\"\\\";\\n height: var(--line-height, 100%);\\n position: absolute;\\n left: -14px;\\n top: -16px;\\n width: 1px;\\n background: #d9d9d9;\\n display: block;\\n}\\n.gedit-m-json-schema-editor-tree-item-left.show-line::after {\\n content: \\\"\\\";\\n position: absolute;\\n left: -14px;\\n top: 8px;\\n width: var(--line-width, 30px);\\n height: 1px;\\n background: #d9d9d9;\\n display: block;\\n}\\n.gedit-m-json-schema-editor-tree-item-left.show-line.is-last::before {\\n height: 24px;\\n}\\n.gedit-m-json-schema-editor-tree-item-left.show-line.show-collapse::after {\\n width: 12px;\\n}\\n.gedit-m-json-schema-editor-tree-item-right {\\n grid-column: 2;\\n margin-bottom: 10px;\\n &:last-child {\\n margin-bottom: 0px;\\n }\\n}\\n.gedit-m-json-schema-editor-tree-item-main {\\n display: flex;\\n flex-direction: column;\\n gap: 10px;\\n position: relative;\\n}\\n.gedit-m-json-schema-editor-collapsible {\\n display: none;\\n}\\n.gedit-m-json-schema-editor-collapsible.collapse {\\n display: block;\\n}\\n.gedit-m-json-schema-editor-name {\\n flex-grow: 1;\\n}\\n.gedit-m-json-schema-editor-type {\\n}\\n.gedit-m-json-schema-editor-required {\\n}\\n.gedit-m-json-schema-editor-actions {\\n white-space: nowrap;\\n}\\n.gedit-m-json-schema-editor-default-value-wrapper {\\n margin: 0;\\n}\\n.gedit-m-json-schema-editor-constant-input-wrapper {\\n flex-grow: 1;\\n & .semi-tree-select,\\n & .semi-input-number,\\n & .semi-select {\\n width: 100%;\\n }\\n}\\n\")","<script setup lang=\"ts\">\n/**\n * Copyright (c) 2025 Bytedance Ltd. and/or its affiliates\n * SPDX-License-Identifier: MIT\n */\n\nimport { computed } from 'vue';\nimport { IJsonSchema } from '@flowgram-vue/json-schema';\nimport { I18n } from '@flowgram-vue/i18n';\n\nimport { FgButton, IconPlus } from '@/ui';\n\nimport type { ConfigType } from './types';\nimport { usePropertiesEdit } from './hooks';\nimport PropertyEdit from './property-edit.vue';\nimport './styles.css';\n\nconst DEFAULT = { type: 'object' };\n\nconst props = defineProps<{\n value?: IJsonSchema;\n onChange?: (value: IJsonSchema) => void;\n config?: ConfigType;\n className?: string;\n readonly?: boolean;\n}>();\n\nconst schemaValue = computed(() => props.value || DEFAULT);\nconst { propertyList, onAddProperty, onRemoveProperty, onEditProperty } = usePropertiesEdit(\n schemaValue.value,\n props.onChange\n);\n</script>\n\n<template>\n <div class=\"gedit-m-json-schema-editor-container\">\n <div class=\"gedit-m-json-schema-editor-tree-items\">\n <PropertyEdit\n v-for=\"_property in propertyList\"\n :key=\"_property.key\"\n :readonly=\"readonly\"\n :value=\"_property\"\n :config=\"config\"\n :on-change=\"(_v) => onEditProperty(_property.key!, _v)\"\n :on-remove=\"() => onRemoveProperty(_property.key!)\"\n />\n </div>\n <FgButton :disabled=\"readonly\" :style=\"{ marginTop: '10px', marginLeft: '16px' }\" @click=\"onAddProperty\">\n <IconPlus />\n {{ config?.addButtonText ?? I18n.t('Add') }}\n </FgButton>\n </div>\n</template>\n","<script setup lang=\"ts\">\n/**\n * Copyright (c) 2025 Bytedance Ltd. and/or its affiliates\n * SPDX-License-Identifier: MIT\n */\n\nimport type { CSSProperties } from 'vue';\nimport { IFlowTemplateValue } from '@/shared';\n\ndefineProps<{\n value?: IFlowTemplateValue;\n onChange?: (value?: IFlowTemplateValue) => void;\n readonly?: boolean;\n hasError?: boolean;\n placeholder?: string;\n activeLinePlaceholder?: string;\n disableMarkdownHighlight?: boolean;\n style?: CSSProperties;\n options?: Record<string, unknown>;\n}>();\n</script>\n\n<template>\n <div class=\"gedit-m-prompt-editor-container\" :class=\"{ 'has-error': hasError }\" :style=\"style\">\n <textarea\n class=\"fg-textarea\"\n :value=\"value?.content\"\n :disabled=\"readonly\"\n :placeholder=\"placeholder || activeLinePlaceholder\"\n :style=\"{ minHeight: '80px', fontFamily: 'monospace' }\"\n @input=\"\n onChange?.({\n type: 'template',\n content: ($event.target as HTMLTextAreaElement).value,\n })\n \"\n />\n <slot />\n </div>\n</template>\n","<script setup lang=\"ts\">\n/**\n * Copyright (c) 2025 Bytedance Ltd. and/or its affiliates\n * SPDX-License-Identifier: MIT\n */\n\nimport { PromptEditor, type PromptEditorPropsType } from '@/components/prompt-editor';\nimport { EditorInputsTree } from '@/components/coze-editor-extensions';\nimport type { PromptEditorWithInputsProps } from './types';\n\ndefineProps<PromptEditorWithInputsProps>();\n</script>\n\n<template>\n <PromptEditor v-bind=\"$props\">\n <EditorInputsTree :inputs-values=\"inputsValues\" />\n </PromptEditor>\n</template>\n","<script setup lang=\"ts\">\n/**\n * Copyright (c) 2025 Bytedance Ltd. and/or its affiliates\n * SPDX-License-Identifier: MIT\n */\n\nimport { PromptEditor, type PromptEditorPropsType } from '@/components/prompt-editor';\nimport { EditorVariableTree, EditorVariableTagInject } from '@/components/coze-editor-extensions';\nimport type { PromptEditorWithVariablesProps } from './types';\n\ndefineProps<PromptEditorWithVariablesProps>();\n</script>\n\n<template>\n <PromptEditor v-bind=\"$props\">\n <EditorVariableTree />\n <EditorVariableTagInject />\n </PromptEditor>\n</template>\n","<script setup lang=\"ts\">\n/**\n * Copyright (c) 2025 Bytedance Ltd. and/or its affiliates\n * SPDX-License-Identifier: MIT\n */\n\nimport { I18n } from '@flowgram-vue/i18n';\n\nimport { EditorVariableTree, EditorVariableTagInject } from '@/components/coze-editor-extensions';\nimport { SQLCodeEditor, type CodeEditorPropsType } from '@/components/code-editor';\nimport type { SQLEditorWithVariablesProps } from './types';\n\ndefineProps<SQLEditorWithVariablesProps>();\n</script>\n\n<template>\n <SQLCodeEditor\n :active-line-placeholder=\"activeLinePlaceholder || I18n.t(`Press '@' to Select variable`)\"\n v-bind=\"$props\"\n >\n <EditorVariableTree />\n <EditorVariableTagInject />\n </SQLCodeEditor>\n</template>\n","/**\n * Copyright (c) 2025 Bytedance Ltd. and/or its affiliates\n * SPDX-License-Identifier: MIT\n */\n\nimport { VariableFieldKeyRenameService } from '@flowgram-vue/variable-core';\nimport { DataEvent, type Effect, type EffectOptions } from '@flowgram-vue/node';\n\nimport { IFlowRefValue, IFlowTemplateValue } from '@/shared';\nimport { FlowValueUtils } from '@/shared';\n\n/**\n * Auto rename ref when form item's key is renamed\n *\n * Example:\n *\n * formMeta: {\n * effects: {\n * \"inputsValues\": autoRenameRefEffect,\n * }\n * }\n */\nexport const autoRenameRefEffect: EffectOptions[] = [\n {\n event: DataEvent.onValueInit,\n effect: ((params) => {\n const { context, form, name } = params;\n\n const renameService = context.node.getService(VariableFieldKeyRenameService);\n\n const disposable = renameService.onRename(({ before, after }) => {\n const beforeKeyPath = [\n ...before.parentFields.map((_field) => _field.key).reverse(),\n before.key,\n ];\n const afterKeyPath = [\n ...after.parentFields.map((_field) => _field.key).reverse(),\n after.key,\n ];\n\n // traverse rename refs inside form item 'name'\n traverseRef(name, form.getValueIn(name), (_drilldownName, _v) => {\n if (_v.type === 'ref') {\n // ref auto rename\n if (isKeyPathMatch(_v.content, beforeKeyPath)) {\n _v.content = [...afterKeyPath, ...(_v.content || [])?.slice(beforeKeyPath.length)];\n form.setValueIn(_drilldownName, _v);\n }\n } else if (_v.type === 'template') {\n // template auto rename\n const templateKeyPaths = FlowValueUtils.getTemplateKeyPaths(_v);\n let hasMatch = false;\n\n templateKeyPaths.forEach((_keyPath) => {\n if (isKeyPathMatch(_keyPath, beforeKeyPath)) {\n hasMatch = true;\n const nextKeyPath = [\n ...afterKeyPath,\n ...(_keyPath || [])?.slice(beforeKeyPath.length),\n ];\n _v.content = _v.content?.replace(\n `{{${_keyPath.join('.')}}`,\n `{{${nextKeyPath.join('.')}}`\n );\n }\n });\n\n if (hasMatch) {\n form.setValueIn(_drilldownName, { ..._v });\n }\n }\n });\n });\n\n return () => {\n disposable.dispose();\n };\n }) as Effect,\n },\n];\n\n/**\n * If ref value's keyPath is the under as targetKeyPath\n * @param value\n * @param targetKeyPath\n * @returns\n */\nfunction isKeyPathMatch(keyPath: string[] = [], targetKeyPath: string[]) {\n return targetKeyPath.every((_key, index) => _key === keyPath[index]);\n}\n\n/**\n * Traverse value to find ref\n * @param value\n * @param options\n * @returns\n */\nfunction traverseRef(\n name: string,\n value: any,\n cb: (name: string, _v: IFlowRefValue | IFlowTemplateValue) => void\n) {\n for (const { value: _v, path } of FlowValueUtils.traverse(value, {\n includeTypes: ['ref', 'template'],\n path: name,\n })) {\n cb(path, _v as IFlowRefValue | IFlowTemplateValue);\n }\n}\n","/**\n * Copyright (c) 2025 Bytedance Ltd. and/or its affiliates\n * SPDX-License-Identifier: MIT\n */\n\nimport { IJsonSchema, JsonSchemaUtils } from '@flowgram-vue/json-schema';\nimport { BaseType } from '@flowgram-vue/variable-core';\nimport { getNodeScope } from '@flowgram-vue/variable-layout';\nimport {\n DataEvent,\n type Effect,\n type EffectFuncProps,\n type EffectOptions,\n} from '@flowgram-vue/node';\n\nimport { IFlowRefValue } from '@/shared';\n\n/**\n * Example:\n * const formMeta = {\n * effect: {\n * 'inputsValues.*': listenRefSchemaChange(({ name, schema, form }) => {\n * form.setValueIn(`${name}.schema`, schema);\n * })\n * }\n * }\n * @param cb\n * @returns\n */\nexport const listenRefSchemaChange = (\n cb: (props: EffectFuncProps<IFlowRefValue> & { schema?: IJsonSchema }) => void\n): EffectOptions[] => [\n {\n event: DataEvent.onValueInitOrChange,\n effect: ((params) => {\n const { context, value } = params;\n\n if (value?.type !== 'ref') {\n return () => null;\n }\n\n const disposable = getNodeScope(context.node).available.trackByKeyPath<BaseType | undefined>(\n value?.content || [],\n (_type) => {\n cb({ ...params, schema: JsonSchemaUtils.astToSchema(_type) });\n },\n {\n selector: (_v) => _v?.type,\n }\n );\n return () => {\n disposable.dispose();\n };\n }) as Effect,\n },\n];\n","/**\n * Copyright (c) 2025 Bytedance Ltd. and/or its affiliates\n * SPDX-License-Identifier: MIT\n */\n\nimport { BaseVariableField } from '@flowgram-vue/variable-core';\nimport { getNodeScope } from '@flowgram-vue/variable-layout';\nimport {\n DataEvent,\n type Effect,\n type EffectFuncProps,\n type EffectOptions,\n} from '@flowgram-vue/node';\n\nimport { IFlowRefValue } from '@/shared';\n\n/**\n * Example:\n * const formMeta = {\n * effect: {\n * 'inputsValues.*': listenRefValueChange(({ name, variable, form }) => {\n * const schema = JsonSchemaUtils.astToSchema(variable?.type);\n * form.setValueIn(`${name}.schema`, schema);\n * })\n * }\n * }\n * @param cb\n * @returns\n */\nexport const listenRefValueChange = (\n cb: (props: EffectFuncProps<IFlowRefValue> & { variable?: BaseVariableField }) => void\n): EffectOptions[] => [\n {\n event: DataEvent.onValueInitOrChange,\n effect: ((params) => {\n const { context, value } = params;\n\n if (value?.type !== 'ref') {\n return () => null;\n }\n\n const disposable = getNodeScope(context.node).available.trackByKeyPath(\n value?.content || [],\n (v) => {\n cb({ ...params, variable: v });\n }\n );\n return () => {\n disposable.dispose();\n };\n }) as Effect,\n },\n];\n","/**\n * Copyright (c) 2025 Bytedance Ltd. and/or its affiliates\n * SPDX-License-Identifier: MIT\n */\n\nimport { ASTFactory } from '@flowgram-vue/variable-core';\nimport { createEffectFromVariableProvider } from '@flowgram-vue/node-variable-plugin';\nimport { type FlowNodeRegistry } from '@flowgram-vue/document';\nimport { type EffectOptions } from '@flowgram-vue/node';\n\nimport { IFlowRefValue } from '@/shared';\n\nexport const provideBatchInputEffect: EffectOptions[] = createEffectFromVariableProvider({\n private: true,\n parse: (value: IFlowRefValue, ctx) => [\n ASTFactory.createVariableDeclaration({\n key: `${ctx.node.id}_locals`,\n meta: {\n title: ctx.form?.getValueIn('title'),\n icon: ctx.node.getNodeRegistry<FlowNodeRegistry>().info?.icon,\n },\n type: ASTFactory.createObject({\n properties: [\n ASTFactory.createProperty({\n key: 'item',\n initializer: ASTFactory.createEnumerateExpression({\n enumerateFor: ASTFactory.createKeyPathExpression({\n keyPath: value.content || [],\n }),\n }),\n }),\n ASTFactory.createProperty({\n key: 'index',\n type: ASTFactory.createNumber(),\n }),\n ],\n }),\n }),\n ],\n});\n","/**\n * Copyright (c) 2025 Bytedance Ltd. and/or its affiliates\n * SPDX-License-Identifier: MIT\n */\n\nimport { JsonSchemaUtils, IJsonSchema } from '@flowgram-vue/json-schema';\nimport { ASTFactory } from '@flowgram-vue/variable-core';\nimport { createEffectFromVariableProvider } from '@flowgram-vue/node-variable-plugin';\nimport { type FlowNodeRegistry } from '@flowgram-vue/document';\nimport { type EffectOptions } from '@flowgram-vue/node';\n\nexport const provideJsonSchemaOutputs: EffectOptions[] = createEffectFromVariableProvider({\n parse: (value: IJsonSchema, ctx) => [\n ASTFactory.createVariableDeclaration({\n key: `${ctx.node.id}`,\n meta: {\n title: ctx.form?.getValueIn('title') || ctx.node.id,\n icon: ctx.node.getNodeRegistry<FlowNodeRegistry>().info?.icon,\n },\n type: JsonSchemaUtils.schemaToAST(value),\n }),\n ],\n});\n","/**\n * Copyright (c) 2025 Bytedance Ltd. and/or its affiliates\n * SPDX-License-Identifier: MIT\n */\n\nimport { FlowNodeVariableData } from '@flowgram-vue/variable-layout';\nimport { type FlowNodeRegistry } from '@flowgram-vue/document';\nimport { DataEvent, type Effect, type EffectOptions } from '@flowgram-vue/node';\n\nexport const syncVariableTitle: EffectOptions[] = [\n {\n event: DataEvent.onValueChange,\n effect: (({ value, context }) => {\n context.node.getData(FlowNodeVariableData).allScopes.forEach((_scope) => {\n _scope.output.variables.forEach((_var) => {\n _var.updateMeta({\n ...(_var.meta || {}),\n title: value || context.node.id,\n icon: context.node.getNodeRegistry<FlowNodeRegistry>().info?.icon,\n });\n });\n });\n }) as Effect,\n },\n];\n","/**\n * Copyright (c) 2025 Bytedance Ltd. and/or its affiliates\n * SPDX-License-Identifier: MIT\n */\n\nimport { getNodeScope, getNodePrivateScope } from '@flowgram-vue/variable-layout';\nimport { DataEvent, type Effect, type EffectOptions } from '@flowgram-vue/node';\n\nexport const validateWhenVariableSync = ({\n scope,\n}: {\n scope?: 'private' | 'public';\n} = {}): EffectOptions[] => [\n {\n event: DataEvent.onValueInit,\n effect: (({ context, form, name }) => {\n const nodeScope =\n scope === 'private' ? getNodePrivateScope(context.node) : getNodeScope(context.node);\n\n const disposable = nodeScope.available.onListOrAnyVarChange(() => {\n const errorKeys = Object.entries(form.state.errors || {})\n .filter(([_, errors]) => errors?.length > 0)\n .filter(([key]) => key.startsWith(name) || name.startsWith(key))\n .map(([key]) => key);\n\n if (errorKeys.length > 0) {\n form.validate();\n }\n });\n\n return () => disposable.dispose();\n }) as Effect,\n },\n];\n","/**\n * Copyright (c) 2025 Bytedance Ltd. and/or its affiliates\n * SPDX-License-Identifier: MIT\n */\n\nimport { set } from 'lodash-es';\nimport { JsonSchemaUtils } from '@flowgram-vue/json-schema';\nimport { ASTFactory } from '@flowgram-vue/variable-core';\nimport {\n getNodePrivateScope,\n getNodeScope,\n ScopeChainTransformService,\n FlowNodeScopeType,\n} from '@flowgram-vue/variable-layout';\nimport { createEffectFromVariableProvider } from '@flowgram-vue/node-variable-plugin';\nimport { defineFormPluginCreator, type EffectOptions, type FormPluginCreator } from '@flowgram-vue/node';\nimport { type FlowNodeRegistry } from '@flowgram-vue/document';\n\nimport { IFlowRefValue } from '@/shared';\n\nexport const provideBatchOutputsEffect: EffectOptions[] = createEffectFromVariableProvider({\n parse: (value: Record<string, IFlowRefValue>, ctx) => [\n ASTFactory.createVariableDeclaration({\n key: `${ctx.node.id}`,\n meta: {\n title: ctx.form?.getValueIn('title'),\n icon: ctx.node.getNodeRegistry<FlowNodeRegistry>().info?.icon,\n },\n type: ASTFactory.createObject({\n properties: Object.entries(value).map(([_key, value]) =>\n ASTFactory.createProperty({\n key: _key,\n initializer: ASTFactory.createWrapArrayExpression({\n wrapFor: ASTFactory.createKeyPathExpression({\n keyPath: value?.content || [],\n }),\n }),\n })\n ),\n }),\n }),\n ],\n});\n\n/**\n * Free Layout only right now\n */\nexport const createBatchOutputsFormPlugin: FormPluginCreator<{\n outputKey: string;\n /**\n * if set, infer json schema to inferTargetKey when submit\n */\n inferTargetKey?: string;\n}> = defineFormPluginCreator({\n name: 'batch-outputs-plugin',\n onSetupFormMeta({ mergeEffect, addFormatOnSubmit }, { outputKey, inferTargetKey }) {\n mergeEffect({\n [outputKey]: provideBatchOutputsEffect,\n });\n\n if (inferTargetKey) {\n addFormatOnSubmit((formData, ctx) => {\n const outputVariable = getNodeScope(ctx.node).output.variables?.[0];\n\n if (outputVariable?.type) {\n set(formData, inferTargetKey, JsonSchemaUtils.astToSchema(outputVariable?.type));\n }\n\n return formData;\n });\n }\n },\n onInit(ctx, { outputKey }) {\n const chainTransformService = ctx.node.getService(ScopeChainTransformService);\n\n const batchNodeType = ctx.node.flowNodeType;\n\n const transformerId = `${batchNodeType}-outputs`;\n\n if (chainTransformService.hasTransformer(transformerId)) {\n return;\n }\n\n chainTransformService.registerTransformer(transformerId, {\n transformCovers: (covers, ctx) => {\n const node = ctx.scope.meta?.node;\n\n // Child Node's variable can cover parent\n if (node?.parent?.flowNodeType === batchNodeType) {\n return [...covers, getNodeScope(node.parent)];\n }\n\n return covers;\n },\n transformDeps(scopes, ctx) {\n const scopeMeta = ctx.scope.meta;\n\n if (scopeMeta?.type === FlowNodeScopeType.private) {\n return scopes;\n }\n\n const node = scopeMeta?.node;\n\n // Public of Loop Node depends on child Node\n if (node?.flowNodeType === batchNodeType) {\n // Get all child blocks\n const childBlocks = node.blocks;\n\n // public scope of all child blocks\n return [\n getNodePrivateScope(node),\n ...childBlocks.map((_childBlock) => getNodeScope(_childBlock)),\n ];\n }\n\n return scopes;\n },\n });\n },\n});\n","/**\n * Copyright (c) 2025 Bytedance Ltd. and/or its affiliates\n * SPDX-License-Identifier: MIT\n */\n\nimport { set, uniqBy } from 'lodash-es';\nimport { JsonSchemaUtils } from '@flowgram-vue/json-schema';\nimport { ASTFactory } from '@flowgram-vue/variable-core';\nimport { getNodeScope } from '@flowgram-vue/variable-layout';\nimport { createEffectFromVariableProvider } from '@flowgram-vue/node-variable-plugin';\nimport { defineFormPluginCreator } from '@flowgram-vue/node';\nimport { type FlowNodeRegistry } from '@flowgram-vue/document';\n\nimport { IFlowRefValue, IFlowValue } from '@/shared';\n\ntype AssignValueType =\n | {\n operator: 'assign';\n left?: IFlowRefValue;\n right?: IFlowValue;\n }\n | {\n operator: 'declare';\n left?: string;\n right?: IFlowValue;\n };\n\ninterface InputConfig {\n assignKey: string;\n outputKey: string;\n}\n\nexport const createInferAssignPlugin = defineFormPluginCreator<InputConfig>({\n onSetupFormMeta({ addFormatOnSubmit, mergeEffect }, { assignKey, outputKey }) {\n if (!assignKey || !outputKey) {\n return;\n }\n\n mergeEffect({\n [assignKey]: createEffectFromVariableProvider({\n parse: (value: AssignValueType[], ctx) => {\n const declareRows = uniqBy(\n value.filter((_v) => _v.operator === 'declare' && _v.left && _v.right),\n 'left'\n );\n\n return [\n ASTFactory.createVariableDeclaration({\n key: `${ctx.node.id}`,\n meta: {\n title: ctx.form?.getValueIn('title'),\n icon: ctx.node.getNodeRegistry<FlowNodeRegistry>().info?.icon,\n },\n type: ASTFactory.createObject({\n properties: declareRows.map((_v) =>\n ASTFactory.createProperty({\n key: _v.left as string,\n type:\n _v.right?.type === 'constant'\n ? JsonSchemaUtils.schemaToAST(_v.right?.schema || {})\n : undefined,\n initializer:\n _v.right?.type === 'ref'\n ? ASTFactory.createKeyPathExpression({\n keyPath: _v.right?.content || [],\n })\n : {},\n })\n ),\n }),\n }),\n ];\n },\n }),\n });\n\n addFormatOnSubmit((formData, ctx) => {\n set(\n formData,\n outputKey,\n JsonSchemaUtils.astToSchema(getNodeScope(ctx.node).output.variables?.[0]?.type)\n );\n\n return formData;\n });\n },\n});\n","/**\n * Copyright (c) 2025 Bytedance Ltd. and/or its affiliates\n * SPDX-License-Identifier: MIT\n */\n\nimport { get, omit, set } from 'lodash-es';\nimport { Immer } from 'immer';\nimport { getNodePrivateScope, getNodeScope } from '@flowgram-vue/variable-layout';\nimport { defineFormPluginCreator } from '@flowgram-vue/node';\n\nimport { FlowValueUtils } from '@/shared';\n\nconst { produce } = new Immer({ autoFreeze: false });\n\ninterface InputConfig {\n sourceKey: string;\n targetKey: string;\n scope?: 'private' | 'public';\n /**\n * For backend runtime, constant schema is redundant, so we can choose to ignore it\n */\n ignoreConstantSchema?: boolean;\n}\n\nexport const createInferInputsPlugin = defineFormPluginCreator<InputConfig>({\n onSetupFormMeta(\n { addFormatOnSubmit, addFormatOnInit },\n { sourceKey, targetKey, scope, ignoreConstantSchema }\n ) {\n if (!sourceKey || !targetKey) {\n return;\n }\n\n addFormatOnSubmit((formData, ctx) =>\n produce(formData, (draft: any) => {\n const sourceData = get(formData, sourceKey);\n\n set(\n draft,\n targetKey,\n FlowValueUtils.inferJsonSchema(\n sourceData,\n scope === 'private' ? getNodePrivateScope(ctx.node) : getNodeScope(ctx.node)\n )\n );\n\n if (ignoreConstantSchema) {\n for (const { value, path } of FlowValueUtils.traverse(sourceData, {\n includeTypes: ['constant'],\n })) {\n if (FlowValueUtils.isConstant(value) && value?.schema) {\n set(formData, `${sourceKey}.${path}`, omit(value, ['schema']));\n }\n }\n }\n })\n );\n\n if (ignoreConstantSchema) {\n // Revert Schema in frontend\n addFormatOnInit((formData, ctx) => {\n const targetSchema = get(formData, targetKey);\n\n if (!targetSchema) {\n return formData;\n }\n\n // For backend data, it's not necessary to use immer\n for (const { value, pathArr } of FlowValueUtils.traverse(get(formData, sourceKey), {\n includeTypes: ['constant'],\n })) {\n if (FlowValueUtils.isConstant(value) && !value?.schema) {\n const schemaPath = pathArr.map((_item) => `properties.${_item}`).join('.');\n const schema = get(targetSchema, schemaPath);\n if (schema) {\n set(value, 'schema', schema);\n }\n }\n }\n\n return formData;\n });\n }\n },\n});\n","/**\n * Copyright (c) 2025 Bytedance Ltd. and/or its affiliates\n * SPDX-License-Identifier: MIT\n */\n\nimport { isNil } from 'lodash-es';\nimport { FeedbackLevel } from '@flowgram-vue/form';\nimport { FlowNodeEntity } from '@flowgram-vue/document';\nimport { getNodeScope } from '@flowgram-vue/variable-layout';\n\nimport { type IFlowValue, FlowValueUtils } from '@/shared';\n\ninterface Context {\n node: FlowNodeEntity;\n required?: boolean;\n errorMessages?: {\n required?: string;\n unknownVariable?: string;\n };\n}\n\nexport function validateFlowValue(value: IFlowValue | undefined, ctx: Context) {\n const { node, required, errorMessages } = ctx;\n\n const {\n required: requiredMessage = 'Field is required',\n unknownVariable: unknownVariableMessage = 'Unknown Variable',\n } = errorMessages || {};\n\n if (required && (isNil(value) || isNil(value?.content) || value?.content === '')) {\n return {\n level: FeedbackLevel.Error,\n message: requiredMessage,\n };\n }\n\n if (value?.type === 'ref') {\n const variable = getNodeScope(node).available.getByKeyPath(value?.content || []);\n if (!variable) {\n return {\n level: FeedbackLevel.Error,\n message: unknownVariableMessage,\n };\n }\n }\n\n if (value?.type === 'template') {\n const allRefs = FlowValueUtils.getTemplateKeyPaths(value);\n\n for (const ref of allRefs) {\n const variable = getNodeScope(node).available.getByKeyPath(ref);\n if (!variable) {\n return {\n level: FeedbackLevel.Error,\n message: unknownVariableMessage,\n };\n }\n }\n }\n\n return undefined;\n}\n"]}