@bigbinary/neeto-rules-frontend 2.7.23 → 2.7.25
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.
- package/app/javascript/src/translations/ar.json +4 -2
- package/app/javascript/src/translations/bg.json +4 -2
- package/app/javascript/src/translations/ca.json +4 -2
- package/app/javascript/src/translations/cs.json +4 -2
- package/app/javascript/src/translations/da.json +4 -2
- package/app/javascript/src/translations/de.json +4 -2
- package/app/javascript/src/translations/en.json +1 -0
- package/app/javascript/src/translations/es-MX.json +4 -2
- package/app/javascript/src/translations/es.json +4 -2
- package/app/javascript/src/translations/et.json +4 -2
- package/app/javascript/src/translations/fi.json +4 -2
- package/app/javascript/src/translations/fil.json +4 -2
- package/app/javascript/src/translations/fr.json +4 -2
- package/app/javascript/src/translations/he.json +4 -2
- package/app/javascript/src/translations/hi.json +4 -2
- package/app/javascript/src/translations/hr.json +4 -2
- package/app/javascript/src/translations/hu.json +4 -2
- package/app/javascript/src/translations/id.json +4 -2
- package/app/javascript/src/translations/it.json +4 -2
- package/app/javascript/src/translations/ja.json +4 -2
- package/app/javascript/src/translations/ko.json +4 -2
- package/app/javascript/src/translations/nl.json +4 -2
- package/app/javascript/src/translations/pl.json +4 -2
- package/app/javascript/src/translations/pt-BR.json +4 -2
- package/app/javascript/src/translations/pt.json +4 -2
- package/app/javascript/src/translations/ro.json +4 -2
- package/app/javascript/src/translations/ru.json +4 -2
- package/app/javascript/src/translations/sk.json +4 -2
- package/app/javascript/src/translations/sl.json +4 -2
- package/app/javascript/src/translations/sv.json +4 -2
- package/app/javascript/src/translations/th.json +4 -2
- package/app/javascript/src/translations/tr.json +4 -2
- package/app/javascript/src/translations/uk.json +4 -2
- package/app/javascript/src/translations/vi.json +4 -2
- package/app/javascript/src/translations/zh-CN.json +4 -2
- package/app/javascript/src/translations/zh-TW.json +4 -2
- package/dist/.ready +1 -1
- package/dist/cjs/v2/NeetoRulesBuilder.js +466 -227
- package/dist/cjs/v2/NeetoRulesBuilder.js.map +1 -1
- package/dist/cjs/v2/NeetoRulesForm.js +1 -1
- package/dist/cjs/v2/index.js +1 -1
- package/dist/{index-CvpoP63h.js → index-Br0dDuGK.js} +2 -2
- package/dist/index-Br0dDuGK.js.map +1 -0
- package/dist/{index-puRtNWZV.js → index-D1PW24Zw.js} +2 -2
- package/dist/index-D1PW24Zw.js.map +1 -0
- package/dist/v2/NeetoRulesBuilder.js +466 -227
- package/dist/v2/NeetoRulesBuilder.js.map +1 -1
- package/dist/v2/NeetoRulesForm.js +1 -1
- package/dist/v2/index.js +1 -1
- package/package.json +1 -1
- package/dist/index-CvpoP63h.js.map +0 -1
- package/dist/index-puRtNWZV.js.map +0 -1
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"NeetoRulesBuilder.js","sources":["../../../app/javascript/src/v2/components/NeetoRulesBuilder/constants.js","../../../app/javascript/src/v2/components/NeetoRulesBuilder/hooks/useClearingHover.js","../../../app/javascript/src/v2/components/NeetoRulesBuilder/Token/constants.js","../../../app/javascript/src/v2/components/NeetoRulesBuilder/hooks/useReplayFlash.js","../../../app/javascript/src/v2/components/NeetoRulesBuilder/Token/index.jsx","../../../app/javascript/src/v2/components/NeetoRulesBuilder/utils.js","../../../app/javascript/src/v2/components/NeetoRulesBuilder/Canvas/ConditionRow.jsx","../../../app/javascript/src/v2/components/NeetoRulesBuilder/Canvas/Connector.jsx","../../../app/javascript/src/v2/components/NeetoRulesBuilder/Canvas/DelayRow.jsx","../../../app/javascript/src/v2/components/NeetoRulesBuilder/Canvas/MetaBlock.jsx","../../../app/javascript/src/v2/components/NeetoRulesBuilder/Canvas/ScopeBlock.jsx","../../../app/javascript/src/v2/components/NeetoRulesBuilder/Canvas/ActionRow.jsx","../../../app/javascript/src/v2/components/NeetoRulesBuilder/Canvas/ThenBlock.jsx","../../../app/javascript/src/v2/components/NeetoRulesBuilder/Canvas/WhenBlock.jsx","../../../app/javascript/src/v2/components/NeetoRulesBuilder/hooks/usePaneCascade.js","../../../app/javascript/src/v2/components/NeetoRulesBuilder/hooks/useRuleModel.js","../../../app/javascript/src/v2/components/NeetoRulesBuilder/Panes/utils.js","../../../app/javascript/src/v2/components/NeetoRulesBuilder/Canvas/index.jsx","../../../app/javascript/src/v2/components/NeetoRulesBuilder/Panes/Fields/constants.js","../../../app/javascript/src/v2/components/NeetoRulesBuilder/Panes/Fields/ActionConfigFields.jsx","../../../app/javascript/src/v2/components/NeetoRulesBuilder/hooks/usePaneValidation.js","../../../app/javascript/src/v2/components/NeetoRulesBuilder/Panes/ConfigPane.jsx","../../../app/javascript/src/v2/components/NeetoRulesBuilder/Panes/DelayPane.jsx","../../../app/javascript/src/v2/components/NeetoRulesBuilder/Common/utils.js","../../../app/javascript/src/v2/components/NeetoRulesBuilder/Common/NumberStepper.jsx","../../../app/javascript/src/v2/components/NeetoRulesBuilder/Panes/LeadTimePane.jsx","../../../app/javascript/src/v2/components/NeetoRulesBuilder/Panes/NamePane.jsx","../../../app/javascript/src/v2/components/NeetoRulesBuilder/Panes/OptionsPane.jsx","../../../app/javascript/src/v2/components/NeetoRulesBuilder/Panes/Fields/RecipientField.jsx","../../../app/javascript/src/v2/components/NeetoRulesBuilder/Panes/RecipientPane.jsx","../../../app/javascript/src/v2/components/NeetoRulesBuilder/Panes/Fields/ConditionValueFields.jsx","../../../app/javascript/src/v2/components/NeetoRulesBuilder/Panes/ValuePane.jsx","../../../app/javascript/src/v2/components/NeetoRulesBuilder/Panes/constants.js","../../../app/javascript/src/v2/components/NeetoRulesBuilder/Form.jsx","../../../app/javascript/src/v2/components/NeetoRulesBuilder/index.jsx"],"sourcesContent":["export const PARAM_KIND = {\n ENUM_SINGLE: \"enum-single\",\n ENUM_MULTI: \"enum-multi\",\n};\n\nexport const UNIT_MINUTES = { minutes: 1, hours: 60, days: 1440 };\n\n/* eslint-disable @bigbinary/neeto/hard-coded-strings-should-be-localized */\n/* eslint-disable @bigbinary/neeto/neetocommons-tips */\nexport const TIME_UNITS = [\n { label: \"minutes\", value: \"minutes\" },\n { label: \"hours\", value: \"hours\" },\n { label: \"days\", value: \"days\" },\n];\n/* eslint-enable @bigbinary/neeto/hard-coded-strings-should-be-localized */\n/* eslint-enable @bigbinary/neeto/neetocommons-tips */\n\nexport const LEAD_TIME_UNITS = TIME_UNITS;\n\n// Mirrors the classic form's three-digit input cap; 999 days equals the\n// backend's maximum lead time.\nexport const MAX_LEAD_TIME_VALUE = 999;\n\nexport const STEPPER_DELTA = { INCREMENT: 1, DECREMENT: -1 };\n\nexport const STEPPER_MIN_VALUE = 1;\n\nexport const DEFAULT_DELAY_VALUE = 10;\n\n// Matches the token flash animation duration in sentence-builder.css.\nexport const FLASH_DURATION_MS = 2200;\n\n// Keeps an element out of the keyboard tab order (HTML tabindex sentinel).\nexport const SKIP_TAB_INDEX = -1;\n\nexport const CONDITION_VERBS = {\n IS: \"is\",\n IS_NOT: \"is_not\",\n ANY_OF: \"any_of\",\n NONE_OF: \"none_of\",\n ALL_OF: \"all_of\",\n LESS_THAN: \"less_than\",\n GREATER_THAN: \"greater_than\",\n};\n\nexport const VERB_TOKENS = {\n MULTI_VALUE: \"_of\",\n CONTAINS: \"contains\",\n};\n\nexport const DEFAULT_SCHEMA = {\n triggers: { fieldKey: \"events\", options: [] },\n actor: { enabled: false, options: [], fieldKey: \"performer\" },\n conditions: { fields: [], fieldKey: \"conditions\", connectorMode: \"shared\" },\n actions: {\n options: [],\n channelMeta: {},\n recipients: [],\n fieldKey: \"actions\",\n },\n delay: { enabled: false, fieldKey: \"execution_delay\", units: [] },\n integrations: {},\n slots: {},\n};\n\nexport const STATUS_KEYS = { ENABLED: \"enabled\", DISABLED: \"disabled\" };\n\nexport const JOIN_TYPE = { and: \"and_operator\", or: \"or_operator\" };\n\nexport const CONDITION_MODE = { AND: \"and\", OR: \"or\" };\n\nexport const BUILDER_PANEL_TYPES = {\n TRIGGER: \"builder-trigger\",\n ACTOR: \"builder-actor\",\n CONDITION_FIELD: \"builder-condition-field\",\n OPERATOR: \"builder-operator\",\n CONNECTOR: \"builder-connector\",\n CONDITION_VALUE: \"builder-condition-value\",\n ACTION_CHANNEL: \"builder-action-channel\",\n ACTION_CONFIG: \"builder-action-config\",\n RECIPIENT: \"builder-recipient\",\n DELAY: \"builder-delay\",\n LEAD_TIME: \"builder-lead-time\",\n NAME: \"builder-name\",\n SCOPE: \"builder-scope\",\n SCOPE_PHONE_FIELD: \"builder-scope-phone-field\",\n};\n\nexport const BUILDER_ANCHORS = {\n TRIGGER_ADD: \"trigger-add\",\n TRIGGER_REPLACE: \"trigger-replace\",\n TRIGGER_ACTOR: \"trigger-actor\",\n TRIGGER_LEAD_TIME: \"trigger-lead-time\",\n COND_FIELD: \"cond-field\",\n COND_OP_TOGGLE: \"cond-op-toggle\",\n COND_CONNECTOR: \"cond-connector\",\n COND_VALUES: \"cond-values\",\n ACTION_ADD: \"action-add\",\n ACTION_CHANNEL: \"action-channel\",\n ACTION_CONFIG: \"action-config\",\n ACTION_RECIPIENT: \"action-recipient\",\n RULE_DELAY: \"rule-delay\",\n META_NAME: \"meta-name\",\n SCOPE: \"scope\",\n SCOPE_PHONE_FIELD: \"scope-phone-field\",\n};\n\nexport const TOKEN_TO_PANEL_TYPE = {\n [BUILDER_ANCHORS.TRIGGER_ADD]: BUILDER_PANEL_TYPES.TRIGGER,\n [BUILDER_ANCHORS.TRIGGER_REPLACE]: BUILDER_PANEL_TYPES.TRIGGER,\n [BUILDER_ANCHORS.TRIGGER_ACTOR]: BUILDER_PANEL_TYPES.ACTOR,\n [BUILDER_ANCHORS.COND_FIELD]: BUILDER_PANEL_TYPES.CONDITION_FIELD,\n [BUILDER_ANCHORS.COND_OP_TOGGLE]: BUILDER_PANEL_TYPES.OPERATOR,\n [BUILDER_ANCHORS.COND_CONNECTOR]: BUILDER_PANEL_TYPES.CONNECTOR,\n [BUILDER_ANCHORS.COND_VALUES]: BUILDER_PANEL_TYPES.CONDITION_VALUE,\n [BUILDER_ANCHORS.ACTION_ADD]: BUILDER_PANEL_TYPES.ACTION_CHANNEL,\n [BUILDER_ANCHORS.ACTION_CHANNEL]: BUILDER_PANEL_TYPES.ACTION_CHANNEL,\n [BUILDER_ANCHORS.ACTION_CONFIG]: BUILDER_PANEL_TYPES.ACTION_CONFIG,\n [BUILDER_ANCHORS.ACTION_RECIPIENT]: BUILDER_PANEL_TYPES.RECIPIENT,\n [BUILDER_ANCHORS.RULE_DELAY]: BUILDER_PANEL_TYPES.DELAY,\n [BUILDER_ANCHORS.TRIGGER_LEAD_TIME]: BUILDER_PANEL_TYPES.LEAD_TIME,\n [BUILDER_ANCHORS.META_NAME]: BUILDER_PANEL_TYPES.NAME,\n [BUILDER_ANCHORS.SCOPE]: BUILDER_PANEL_TYPES.SCOPE,\n [BUILDER_ANCHORS.SCOPE_PHONE_FIELD]: BUILDER_PANEL_TYPES.SCOPE_PHONE_FIELD,\n};\n\nexport const LARGE_PANEL_TYPES = [\n BUILDER_PANEL_TYPES.ACTION_CONFIG,\n BUILDER_PANEL_TYPES.SCOPE,\n BUILDER_PANEL_TYPES.NAME,\n];\n\nexport const CONDITION_ANCHORS = [\n BUILDER_ANCHORS.COND_FIELD,\n BUILDER_ANCHORS.COND_OP_TOGGLE,\n BUILDER_ANCHORS.COND_VALUES,\n BUILDER_ANCHORS.COND_CONNECTOR,\n];\n\nexport const ACTION_ANCHORS = [\n BUILDER_ANCHORS.ACTION_CHANNEL,\n BUILDER_ANCHORS.ACTION_CONFIG,\n BUILDER_ANCHORS.ACTION_RECIPIENT,\n];\n\nexport const PANE_SEARCH_THRESHOLD = 8;\n\nexport const CONFIG_FOCUSABLE_SELECTOR =\n 'input:not([type=\"radio\"]):not([type=\"checkbox\"]), textarea, [contenteditable=\"true\"]';\n\nexport const SMS_TYPES = [\"sms\", \"smsToNumbers\"];\n\nexport const RECIPIENT_FOCUSABLE_SELECTOR =\n 'input, textarea, [contenteditable=\"true\"]';\n\nexport const SMS_TO_NUMBERS = \"smsToNumbers\";\n\nexport const RECIPIENT_STORAGE_FIELDS = {\n emails: \"emails\",\n value: \"value\",\n phoneNumbers: \"phoneNumbers\",\n};\n\nexport const DEFAULT_DELAY_UNITS = TIME_UNITS;\n","import { useState } from \"react\";\n\nconst useClearingHover = () => {\n const [clearing, setClearing] = useState(false);\n\n const clearingHoverProps = {\n onMouseEnter: () => setClearing(true),\n onMouseLeave: () => setClearing(false),\n };\n\n const resetClearing = () => setClearing(false);\n\n return { clearing, clearingHoverProps, resetClearing };\n};\n\nexport default useClearingHover;\n","export const TOKEN_STATE = {\n FILLED: \"filled\",\n MUTED: \"muted\",\n // eslint-disable-next-line @bigbinary/neeto/hard-coded-strings-should-be-localized\n PLACEHOLDER: \"placeholder\",\n PLACEHOLDER_NEXT: \"placeholder-next\",\n DISABLED: \"disabled\",\n};\n\nexport const STATE_CLASS = {\n [TOKEN_STATE.PLACEHOLDER]: \"mb-placeholder\",\n [TOKEN_STATE.PLACEHOLDER_NEXT]: \"mb-placeholder mb-placeholder-next\",\n [TOKEN_STATE.DISABLED]: \"mb-placeholder mb-placeholder-disabled\",\n [TOKEN_STATE.FILLED]: \"mb-tok\",\n [TOKEN_STATE.MUTED]: \"mb-tok mb-tok-muted\",\n};\n","import { useEffect, useRef } from \"react\";\n\n// The flash is a run-once CSS animation, so a repeat submit while it is still\n// applied would not replay it on its own.\nconst useReplayFlash = flashSeq => {\n const ref = useRef(null);\n\n useEffect(() => {\n if (!flashSeq) return;\n\n ref.current?.getAnimations?.().forEach(animation => {\n animation.cancel();\n animation.play();\n });\n }, [flashSeq]);\n\n return ref;\n};\n\nexport default useReplayFlash;\n","import classnames from \"classnames\";\n\nimport { STATE_CLASS, TOKEN_STATE } from \"./constants\";\n\nimport useReplayFlash from \"../hooks/useReplayFlash\";\n\nconst Token = ({\n children,\n state = TOKEN_STATE.FILLED,\n active = false,\n invalid = false,\n onClick,\n className,\n dataTestid,\n ...rest\n}) => {\n const isInteractive =\n typeof onClick === \"function\" && state !== TOKEN_STATE.DISABLED;\n\n const tokenRef = useReplayFlash(invalid);\n\n return (\n <span\n data-testid={dataTestid}\n ref={tokenRef}\n role={isInteractive ? \"button\" : undefined}\n tabIndex={isInteractive ? 0 : undefined}\n className={classnames(\n // eslint-disable-next-line security/detect-object-injection\n STATE_CLASS[state] || STATE_CLASS.filled,\n className,\n { \"mb-tok-active\": active, \"mb-tok-invalid\": invalid }\n )}\n onClick={isInteractive ? onClick : undefined}\n onKeyDown={\n isInteractive\n ? event => {\n if (!(event.key === \"Enter\" || event.key === \" \")) return;\n event.preventDefault();\n onClick(event);\n }\n : undefined\n }\n {...rest}\n >\n {children}\n </span>\n );\n};\n\nexport default Token;\n","import { t } from \"i18next\";\nimport { isNotEmpty } from \"neetocist\";\nimport { assoc, isEmpty, isNil, mergeDeepRight } from \"ramda\";\nimport * as yup from \"yup\";\n\nimport {\n CONDITION_MODE,\n CONDITION_VERBS,\n DEFAULT_SCHEMA,\n JOIN_TYPE,\n MAX_LEAD_TIME_VALUE,\n RECIPIENT_STORAGE_FIELDS,\n STATUS_KEYS,\n UNIT_MINUTES,\n VERB_TOKENS,\n} from \"./constants\";\n\nconst humanize = value =>\n String(value ?? \"\")\n .replace(/[._]/g, \" \")\n .trim();\n\nconst isContainsVerb = verb =>\n verb.includes(VERB_TOKENS.MULTI_VALUE) && verb.includes(VERB_TOKENS.CONTAINS);\n\nconst isNumericVerb = verb =>\n verb === CONDITION_VERBS.LESS_THAN || verb === CONDITION_VERBS.GREATER_THAN;\n\n// eslint-disable-next-line @bigbinary/neeto/prefer-function-reference\nconst isExcludeVerb = verb =>\n [\n CONDITION_VERBS.IS,\n CONDITION_VERBS.IS_NOT,\n CONDITION_VERBS.ANY_OF,\n CONDITION_VERBS.NONE_OF,\n ].includes(verb);\nconst isMultiValueVerb = verb => String(verb).includes(VERB_TOKENS.MULTI_VALUE);\n\nconst sentencify = label =>\n label ? label.charAt(0).toLowerCase() + label.slice(1) : label;\n\nconst copyFor = (value, args) =>\n typeof value === \"function\" ? value(args) : value;\n\nconst matchesTrigger = name => option =>\n option.eventValue === name || option.value === name || option.id === name;\n\nconst triggerOption = ({ schema, name }) =>\n (schema?.triggers?.options || []).find(matchesTrigger(name));\n\nconst triggerLabel = ({ schema, trigger }) => {\n const option = triggerOption({ schema, name: trigger?.name });\n\n return option?.plain || sentencify(option?.label || humanize(trigger?.name));\n};\n\nconst performerLabel = ({ schema, performer }) => {\n const option = (schema?.actor?.options || []).find(\n candidate => candidate.value === performer || candidate.id === performer\n );\n\n return sentencify(option?.label || humanize(performer));\n};\n\nconst conditionField = ({ schema, field }) =>\n (schema?.conditions?.fields || []).find(\n option => option.value === field || option.id === field\n );\n\nconst conditionFieldLabel = ({ schema, condition }) => {\n const field = conditionField({ schema, field: condition?.field });\n\n return String(field?.label || humanize(condition?.field)).toLowerCase();\n};\n\nconst operatorLabel = ({ schema, condition }) => {\n const map = schema?.conditions?.operatorLabels || {};\n\n return map[condition?.verb] || humanize(condition?.verb);\n};\n\nconst conditionNeedsValue = ({ schema, condition }) => {\n const field = conditionField({ schema, field: condition?.field });\n\n return !(field?.noValueForVerbs || []).includes(condition?.verb);\n};\n\nconst conditionValueLabel = ({ schema, condition }) => {\n const meta = condition?.metadata || {};\n const raw = meta.value ?? meta.values ?? meta.label;\n\n if (isNil(raw) || isEmpty(raw)) return null;\n\n const field = conditionField({ schema, field: condition?.field });\n const options =\n field?.values || field?.dropdownOptions || field?.options || [];\n const isEnum = isNotEmpty(options);\n\n const labelFor = value => {\n const option = options.find(\n candidate => (candidate.value ?? candidate.id) === value\n );\n const label = option ? (option.label ?? option.value ?? option.id) : value;\n\n return isEnum ? String(label).toLowerCase() : label;\n };\n\n const connector = String(condition?.verb || \"\").includes(\n CONDITION_VERBS.ALL_OF\n )\n ? t(\"neetoRules.operators.and\")\n : t(\"neetoRules.operators.or\");\n\n return Array.isArray(raw)\n ? raw.map(labelFor).join(` ${connector} `)\n : String(labelFor(raw));\n};\n\nconst actionOption = ({ schema, name }) =>\n (schema?.actions?.options || []).find(\n option => option.value === name || option.id === name\n );\n\nconst channelOption = ({ schema, channel }) =>\n (schema?.actions?.options || []).find(\n option => (option.value ?? option.id) === channel\n );\n\nconst actionParts = ({ schema, action }) => {\n const actions = schema?.actions || {};\n\n const resolved = action?.channel\n ? { channel: action.channel, recipient: action.recipient }\n : actions.actionForName?.(action?.name) || {};\n\n const channel = resolved.channel;\n const recipientValue = action?.recipient ?? resolved.recipient;\n\n const option = channel\n ? channelOption({ schema, channel })\n : actionOption({ schema, name: action?.name });\n\n // eslint-disable-next-line security/detect-object-injection\n const channelMeta = actions.channelMeta?.[channel] || {};\n const matchesRecipient = recipient =>\n (recipient.value ?? recipient.id) === recipientValue;\n\n const recipientLabel =\n (actions.recipients || []).find(matchesRecipient)?.label ||\n (option?.recipients || []).find(matchesRecipient)?.label ||\n recipientValue;\n\n return {\n option,\n channel,\n label: option?.label || humanize(action?.name),\n verb:\n channelMeta.verb ||\n (channel\n ? t(\"neetoRules.builder.send\")\n : option?.plain || option?.label) ||\n humanize(action?.name),\n paramKind: !channel && option?.paramType,\n valueNoun: option?.valueNoun,\n valueNounPlural: option?.valueNounPlural,\n mediumLabel: channelMeta.mediumLabel || option?.mediumLabel,\n icon: channelMeta.icon || option?.icon,\n needsRecipient: channelMeta.needsRecipient ?? option?.needsRecipient,\n separator: channelMeta.separator || option?.separator,\n configValue: actions.configValueLabel?.(action) || \"\",\n configValuePlaceholder:\n channelMeta.valuePlaceholder || option?.valuePlaceholder,\n recipient: recipientValue,\n recipientLabel,\n configTitle: channelMeta.configTitle || option?.configTitle,\n configSubtitle: channelMeta.configSubtitle || option?.configSubtitle,\n recipientTitle: channelMeta.recipientTitle || option?.recipientTitle,\n recipientSubtitle:\n channelMeta.recipientSubtitle || option?.recipientSubtitle,\n };\n};\n\n// Which condition fields a host offers can depend on the rule — a trigger may\n// only support a subset. Lookups deliberately keep using the full list so a\n// field already on the rule still resolves after the offer narrows.\nconst offeredConditionFields = ({ schema, rule }) =>\n schema?.conditions?.fieldsFor?.({ rule }) ?? schema?.conditions?.fields ?? [];\n\nconst hasTrigger = rule => !isEmpty(rule?.triggers || []);\n\nconst hasAction = rule => (rule?.actions || []).some(action => action?.name);\n\nconst isTriggerEnabled = schema => schema?.triggers?.enabled !== false;\n\nconst isTriggerSatisfied = ({ rule, schema }) =>\n !isTriggerEnabled(schema) || hasTrigger(rule);\n\nconst hasRequiredConditions = ({ rule, schema }) =>\n schema?.conditions?.allowEmpty === false\n ? isNotEmpty(rule?.conditions || [])\n : true;\n\nconst isRuleComplete = ({ rule, schema }) =>\n isTriggerSatisfied({ rule, schema }) &&\n hasRequiredConditions({ rule, schema }) &&\n hasAction(rule);\n\nconst scopeOptionFor = ({ schema, item }) => {\n const value = item?.value ?? item;\n\n return (schema?.scope?.options || []).find(\n candidate => (candidate.value ?? candidate.id) === value\n );\n};\n\nconst scopePhoneFields = ({ schema, item }) =>\n item?.phoneFields ?? scopeOptionFor({ schema, item })?.phoneFields ?? null;\n\nconst effectiveScopePhoneField = ({ schema, item }) => {\n if (item?.phoneField) return item.phoneField;\n\n const phoneFields = scopePhoneFields({ schema, item });\n\n return phoneFields?.length === 1 ? phoneFields[0].value : undefined;\n};\n\nconst invalidScopeIndexes = ({ rule, schema }) => {\n const scope = schema?.scope;\n if (!scope?.enabled || !scope.requiresPhone?.(rule?.actions || [])) return [];\n\n return (rule?.scope || []).reduce((indexes, item, index) => {\n const option = scopeOptionFor({ schema, item });\n const phoneFields = scopePhoneFields({ schema, item });\n const hasPhoneField =\n item?.hasPhoneField ??\n option?.hasPhoneField ??\n (phoneFields ? phoneFields.length > 0 : undefined);\n if (hasPhoneField === false) indexes.push(index);\n\n return indexes;\n }, []);\n};\n\nconst invalidScopePhoneFieldIndexes = ({ rule, schema }) => {\n const scope = schema?.scope;\n if (!scope?.enabled || !scope.requiresPhone?.(rule?.actions || [])) return [];\n\n return (rule?.scope || []).reduce((indexes, item, index) => {\n const phoneFields = scopePhoneFields({ schema, item });\n const hasChoice = (phoneFields?.length || 0) > 1;\n if (hasChoice && !effectiveScopePhoneField({ schema, item })) {\n indexes.push(index);\n }\n\n return indexes;\n }, []);\n};\n\nconst minutesToParts = minutes => {\n const total = Number(minutes) || 0;\n if (total && total % UNIT_MINUTES.days === 0) {\n return { value: total / UNIT_MINUTES.days, unit: \"days\" };\n }\n\n if (total && total % UNIT_MINUTES.hours === 0) {\n return { value: total / UNIT_MINUTES.hours, unit: \"hours\" };\n }\n\n return { value: total, unit: \"minutes\" };\n};\n\nconst partsToMinutes = ({ value, unit }) =>\n // eslint-disable-next-line security/detect-object-injection\n (Number(value) || 0) * (UNIT_MINUTES[unit] || 1);\n\nconst leadTimeExceedsMax = minutes =>\n minutesToParts(minutes).value > MAX_LEAD_TIME_VALUE;\n\nconst leadTimeValidationSchema = schema => {\n const fieldKey = schema?.triggers?.leadTime?.fieldKey;\n if (!fieldKey) return yup.object();\n\n return yup.object().shape({\n [fieldKey]: yup.object().shape({\n // yup 0.32 can only concat schemas of the same type, and the host's\n // generic field schema for the lead time key is a string schema.\n value: yup.string().test(\n \"max-lead-time\",\n () =>\n t(\"neetoRules.validations.maxLeadTime\", {\n max: MAX_LEAD_TIME_VALUE,\n }),\n minutes => !leadTimeExceedsMax(minutes)\n ),\n }),\n });\n};\n\nconst leadTimeLabel = minutes => {\n const { value, unit } = minutesToParts(minutes);\n const unitLabel = value === 1 ? unit.replace(/s$/, \"\") : unit;\n\n return `${value} ${unitLabel}`;\n};\n\nconst normalizeTriggers = triggers => {\n if (Array.isArray(triggers)) return { options: triggers };\n\n return triggers || {};\n};\n\nconst normalizeSchema = (rawSchema = {}) =>\n mergeDeepRight(DEFAULT_SCHEMA, {\n ...rawSchema,\n triggers: normalizeTriggers(rawSchema.triggers),\n });\n\nconst joinTypeFor = mode =>\n mode === CONDITION_MODE.OR ? JOIN_TYPE.or : JOIN_TYPE.and;\n\nconst recipientStorageField = field =>\n field === RECIPIENT_STORAGE_FIELDS.emails\n ? RECIPIENT_STORAGE_FIELDS.emails\n : RECIPIENT_STORAGE_FIELDS.value;\n\nconst modeFromJoinType = joinType =>\n joinType === JOIN_TYPE.or ? CONDITION_MODE.OR : CONDITION_MODE.AND;\n\n// eslint-disable-next-line security/detect-object-injection\nconst valueAt = ({ values, key }) => values?.[key]?.value;\n\nconst asArray = maybeArray => (Array.isArray(maybeArray) ? maybeArray : []);\n\nconst fieldKeysFromSchema = (schema = {}) => ({\n triggers: schema.triggers?.fieldKey || \"events\",\n performer: schema.actor?.fieldKey || \"performer\",\n conditions: schema.conditions?.fieldKey || \"conditions\",\n actions: schema.actions?.fieldKey || \"actions\",\n delay: schema.delay?.fieldKey || \"execution_delay\",\n leadTime: schema.triggers?.leadTime?.fieldKey,\n scope: schema.scope?.fieldKey || \"meetingIds\",\n status: \"status\",\n name: \"name\",\n});\n\nconst valuesToRuleModel = ({ values = {}, schema = {} } = {}) => {\n const keys = fieldKeysFromSchema(schema);\n\n const conditions = asArray(valueAt({ values, key: keys.conditions }));\n const rawDelay = valueAt({ values, key: keys.delay });\n\n return {\n name: valueAt({ values, key: keys.name }) || \"\",\n active: valueAt({ values, key: keys.status }) !== STATUS_KEYS.DISABLED,\n triggers: asArray(valueAt({ values, key: keys.triggers })),\n performer: valueAt({ values, key: keys.performer }) ?? null,\n conditions,\n conditionMode: modeFromJoinType(conditions[0]?.joinType),\n delay: isNil(rawDelay) || isEmpty(rawDelay) ? null : rawDelay,\n actions: asArray(valueAt({ values, key: keys.actions })),\n leadTime: keys.leadTime ? valueAt({ values, key: keys.leadTime }) : null,\n scope: asArray(valueAt({ values, key: keys.scope })),\n };\n};\n\nconst setTriggers = ({ schema, triggers }) => ({\n path: `${fieldKeysFromSchema(schema).triggers}.value`,\n value: triggers,\n});\n\nconst setPerformer = ({ schema, performer }) => ({\n path: `${fieldKeysFromSchema(schema).performer}.value`,\n value: performer,\n});\n\nconst setActions = ({ schema, actions }) => ({\n path: `${fieldKeysFromSchema(schema).actions}.value`,\n value: actions,\n});\n\nconst setConditions = ({ schema, conditions }) => ({\n path: `${fieldKeysFromSchema(schema).conditions}.value`,\n value: conditions,\n});\n\nconst setConditionMode = ({ schema, conditions, joinType }) =>\n setConditions({\n schema,\n conditions: conditions.map(condition =>\n assoc(\"joinType\", joinTypeFor(joinType), condition)\n ),\n });\n\nconst setDelay = ({ schema, delay }) => ({\n path: `${fieldKeysFromSchema(schema).delay}.value`,\n value: delay ?? {},\n});\n\nconst setActive = ({ schema, active }) => ({\n path: `${fieldKeysFromSchema(schema).status}.value`,\n value: active ? STATUS_KEYS.ENABLED : STATUS_KEYS.DISABLED,\n});\n\nconst setScope = ({ schema, scope }) => ({\n path: `${fieldKeysFromSchema(schema).scope}.value`,\n value: scope,\n});\n\nconst removeArrayItem = ({ values, fieldKey, index }) => {\n const list = asArray(valueAt({ values, key: fieldKey }));\n // eslint-disable-next-line security/detect-object-injection\n const removed = list[index];\n const nextList = list.filter((_, i) => i !== index);\n\n const result = [{ path: `${fieldKey}.value`, value: nextList }];\n if (removed?.id) {\n // eslint-disable-next-line security/detect-object-injection\n const deleted = asArray(values?.[fieldKey]?.deleted);\n result.push({\n path: `${fieldKey}.deleted`,\n value: [...deleted, { ...removed, _destroy: true }],\n });\n }\n\n return result;\n};\n\nconst clearArrayItems = ({ values, fieldKey }) => {\n const list = asArray(valueAt({ values, key: fieldKey }));\n const removed = list\n .filter(item => item?.id)\n .map(item => ({ ...item, _destroy: true }));\n\n const result = [{ path: `${fieldKey}.value`, value: [] }];\n if (removed.length) {\n // eslint-disable-next-line security/detect-object-injection\n const deleted = asArray(values?.[fieldKey]?.deleted);\n result.push({\n path: `${fieldKey}.deleted`,\n value: [...deleted, ...removed],\n });\n }\n\n return result;\n};\n\nexport {\n humanize,\n isContainsVerb,\n isNumericVerb,\n isExcludeVerb,\n isMultiValueVerb,\n sentencify,\n copyFor,\n triggerLabel,\n performerLabel,\n conditionFieldLabel,\n operatorLabel,\n conditionValueLabel,\n conditionNeedsValue,\n actionParts,\n hasTrigger,\n isTriggerEnabled,\n isTriggerSatisfied,\n hasRequiredConditions,\n offeredConditionFields,\n hasAction,\n isRuleComplete,\n invalidScopeIndexes,\n invalidScopePhoneFieldIndexes,\n scopePhoneFields,\n effectiveScopePhoneField,\n minutesToParts,\n partsToMinutes,\n leadTimeValidationSchema,\n leadTimeLabel,\n normalizeSchema,\n joinTypeFor,\n fieldKeysFromSchema,\n valuesToRuleModel,\n setTriggers,\n setPerformer,\n setActions,\n setConditions,\n setConditionMode,\n setDelay,\n setActive,\n setScope,\n removeArrayItem,\n clearArrayItems,\n recipientStorageField,\n};\n","import { Button } from \"@bigbinary/neeto-atoms\";\nimport classnames from \"classnames\";\nimport { Delete, Plus } from \"neetoicons\";\nimport { useTranslation } from \"react-i18next\";\n\nimport { BUILDER_ANCHORS, CONDITION_MODE } from \"../constants\";\nimport useClearingHover from \"../hooks/useClearingHover\";\nimport Token from \"../Token\";\nimport { TOKEN_STATE } from \"../Token/constants\";\nimport {\n conditionFieldLabel,\n operatorLabel,\n conditionValueLabel,\n conditionNeedsValue,\n sentencify,\n isTriggerEnabled,\n} from \"../utils\";\n\nconst ConditionRow = ({\n rule,\n schema,\n condition,\n index,\n onToken: handleToken,\n onAddCondition: handleAddCondition,\n onRemove: handleRemove,\n isActive = () => false,\n isInvalid = () => false,\n}) => {\n const { t } = useTranslation();\n const isFirst = index === 0;\n const hasField = !!condition?.field;\n const hasVerb = !!condition?.verb;\n const conditionField = (schema?.conditions?.fields || []).find(\n field => (field.value ?? field.id) === condition?.field\n );\n\n const operatorPlaceholder =\n conditionField?.operatorPlaceholder ||\n t(\"neetoRules.builder.selectOperator\");\n const value = conditionValueLabel({ schema, condition });\n const needsValue = conditionNeedsValue({ schema, condition });\n const { clearing, clearingHoverProps } = useClearingHover();\n\n return (\n <div className={classnames(\"mb-row\", { clearing })}>\n <div className=\"mb-sentence\">\n {isFirst ? (\n <span className=\"mb-fixed\">\n {isTriggerEnabled(schema)\n ? t(\"neetoRules.operators.and\")\n : t(\"neetoRules.common.when\")}\n </span>\n ) : (\n <Token\n active={isActive({ type: BUILDER_ANCHORS.COND_CONNECTOR, index })}\n className=\"mb-tok-connector\"\n dataTestid={`cond-connector-${index}`}\n onClick={\n handleToken &&\n (() =>\n handleToken({ type: BUILDER_ANCHORS.COND_CONNECTOR, index }))\n }\n >\n {rule.conditionMode === CONDITION_MODE.OR\n ? t(\"neetoRules.operators.or\")\n : t(\"neetoRules.operators.and\")}\n </Token>\n )}\n {hasField ? (\n <>\n <Token\n active={isActive({ type: BUILDER_ANCHORS.COND_FIELD, index })}\n dataTestid={`cond-field-${index}`}\n onClick={\n handleToken &&\n (() => handleToken({ type: BUILDER_ANCHORS.COND_FIELD, index }))\n }\n >\n {conditionFieldLabel({ schema, condition })}\n </Token>\n <Token\n active={isActive({ type: BUILDER_ANCHORS.COND_OP_TOGGLE, index })}\n dataTestid={`cond-op-${index}`}\n state={hasVerb ? TOKEN_STATE.FILLED : TOKEN_STATE.MUTED}\n invalid={isInvalid({\n type: BUILDER_ANCHORS.COND_OP_TOGGLE,\n index,\n })}\n onClick={\n handleToken &&\n (() =>\n handleToken({ type: BUILDER_ANCHORS.COND_OP_TOGGLE, index }))\n }\n >\n {hasVerb\n ? sentencify(operatorLabel({ schema, condition }))\n : operatorPlaceholder}\n </Token>\n {hasVerb && needsValue && (\n <Token\n active={isActive({ type: BUILDER_ANCHORS.COND_VALUES, index })}\n dataTestid={`cond-values-${index}`}\n state={value ? TOKEN_STATE.FILLED : TOKEN_STATE.MUTED}\n invalid={isInvalid({\n type: BUILDER_ANCHORS.COND_VALUES,\n index,\n })}\n onClick={\n handleToken &&\n (() =>\n handleToken({ type: BUILDER_ANCHORS.COND_VALUES, index }))\n }\n >\n {value || t(\"neetoRules.form.addValue\")}\n </Token>\n )}\n </>\n ) : (\n <Token\n active={isActive({ type: BUILDER_ANCHORS.COND_FIELD, index })}\n dataTestid={`cond-field-${index}`}\n invalid={isInvalid({ type: BUILDER_ANCHORS.COND_FIELD, index })}\n state={TOKEN_STATE.PLACEHOLDER_NEXT}\n onClick={\n handleToken &&\n (() => handleToken({ type: BUILDER_ANCHORS.COND_FIELD, index }))\n }\n >\n {t(\"neetoRules.builder.selectCondition\")}\n </Token>\n )}\n </div>\n <div className=\"mb-row-actions\">\n {handleAddCondition && (\n <Button\n data-testid={`cond-add-${index}`}\n icon={Plus}\n size=\"sm\"\n variant=\"ghost\"\n tooltipProps={{\n content: t(\"neetoRules.builder.aria.addAnotherCondition\"),\n position: \"top\",\n }}\n onClick={handleAddCondition}\n />\n )}\n {handleRemove && (\n <Button\n data-testid={`cond-remove-${index}`}\n icon={Delete}\n size=\"sm\"\n variant=\"ghost\"\n tooltipProps={{\n content: t(\"neetoRules.builder.aria.deleteCondition\"),\n position: \"top\",\n }}\n onClick={handleRemove}\n {...clearingHoverProps}\n />\n )}\n </div>\n </div>\n );\n};\n\nexport default ConditionRow;\n","import classnames from \"classnames\";\n\nconst Connector = ({ active = false }) => (\n <div aria-hidden className={classnames(\"mb-arrow\", { \"is-active\": active })}>\n <svg fill=\"none\" height=\"28\" viewBox=\"0 0 24 28\" width=\"24\">\n <path\n d=\"M12 2 V22 M5 15 l7 7 l7 -7\"\n stroke=\"currentColor\"\n strokeLinecap=\"round\"\n strokeLinejoin=\"round\"\n strokeWidth=\"2\"\n />\n </svg>\n </div>\n);\n\nexport default Connector;\n","import { Button } from \"@bigbinary/neeto-atoms\";\nimport classnames from \"classnames\";\nimport { Delete } from \"neetoicons\";\nimport { isNil } from \"ramda\";\nimport { useTranslation } from \"react-i18next\";\n\nimport { BUILDER_ANCHORS } from \"../constants\";\nimport useClearingHover from \"../hooks/useClearingHover\";\nimport Token from \"../Token\";\nimport { TOKEN_STATE } from \"../Token/constants\";\n\nconst DelayRow = ({\n rule,\n onToken: handleToken,\n onRemove: handleRemove,\n isActive = () => false,\n isInvalid = () => false,\n}) => {\n const { t } = useTranslation();\n const { delay } = rule;\n const { clearing, clearingHoverProps } = useClearingHover();\n if (!delay) return null;\n\n const label = [delay.value, delay.unit]\n .filter(part => part !== \"\" && !isNil(part))\n .join(\" \");\n\n return (\n <div className={classnames(\"mb-row\", { clearing })}>\n <div className=\"mb-sentence\">\n <span className=\"mb-fixed\">\n {t(\"neetoRules.form.delayExecutionBy\")}\n </span>\n <Token\n dataTestid=\"rule-delay\"\n state={label ? TOKEN_STATE.FILLED : TOKEN_STATE.MUTED}\n active={isActive({\n type: BUILDER_ANCHORS.RULE_DELAY,\n index: undefined,\n })}\n invalid={isInvalid({\n type: BUILDER_ANCHORS.RULE_DELAY,\n index: undefined,\n })}\n onClick={\n handleToken &&\n (() => handleToken({ type: BUILDER_ANCHORS.RULE_DELAY }))\n }\n >\n {label || t(\"neetoRules.builder.setDelay\")}\n </Token>\n </div>\n {handleRemove && (\n <div className=\"mb-row-actions\">\n <Button\n data-testid=\"rule-delay-remove\"\n icon={Delete}\n size=\"sm\"\n variant=\"ghost\"\n tooltipProps={{\n content: t(\"neetoRules.builder.aria.removeDelay\"),\n position: \"top\",\n }}\n onClick={handleRemove}\n {...clearingHoverProps}\n />\n </div>\n )}\n </div>\n );\n};\n\nexport default DelayRow;\n","import classnames from \"classnames\";\nimport { useTranslation } from \"react-i18next\";\n\nimport useReplayFlash from \"../hooks/useReplayFlash\";\n\nconst MetaBlock = ({\n rule,\n showName = true,\n isInvalid = false,\n onEditName: handleEditName,\n onToggleActive: handleToggleActive,\n}) => {\n const { t } = useTranslation();\n\n const nameRef = useReplayFlash(isInvalid);\n\n return (\n <div className=\"mb-meta\">\n {showName && (\n <div className=\"mb-meta-field\">\n <span className=\"mb-meta-label\">\n {t(\"neetoRules.builder.automationName\")}\n </span>\n <div\n data-testid=\"rule-name-edit\"\n ref={nameRef}\n role={handleEditName ? \"button\" : undefined}\n tabIndex={handleEditName ? 0 : undefined}\n className={classnames(\"mb-meta-input-wrap\", {\n \"mb-meta-invalid\": isInvalid,\n })}\n onClick={handleEditName}\n >\n <span className=\"mb-meta-name-display\" data-testid=\"rule-name\">\n {rule.name}\n </span>\n <span aria-hidden className=\"mb-meta-edit\">\n <svg fill=\"none\" height=\"14\" viewBox=\"0 0 24 24\" width=\"14\">\n <path\n d=\"M12 20h9 M16.5 3.5a2.1 2.1 0 0 1 3 3L7 19l-4 1 1-4Z\"\n stroke=\"currentColor\"\n strokeLinecap=\"round\"\n strokeLinejoin=\"round\"\n strokeWidth=\"2\"\n />\n </svg>\n </span>\n </div>\n </div>\n )}\n <label className=\"mb-meta-active\" data-testid=\"rule-active-label\">\n <input\n checked={rule.active}\n data-testid=\"rule-active-checkbox\"\n readOnly={!handleToggleActive}\n type=\"checkbox\"\n onChange={handleToggleActive || undefined}\n />\n <span aria-hidden className=\"mb-checkbox\">\n <svg fill=\"none\" height=\"12\" viewBox=\"0 0 14 14\" width=\"12\">\n <path d=\"M2 7l3.5 3.5L12 3.5\" />\n </svg>\n </span>\n {t(\"neetoRules.builder.activateThisAutomation\")}\n </label>\n </div>\n );\n};\n\nexport default MetaBlock;\n","import { Button } from \"@bigbinary/neeto-atoms\";\nimport classnames from \"classnames\";\nimport { Delete, Plus } from \"neetoicons\";\nimport { isEmpty } from \"ramda\";\nimport { useTranslation } from \"react-i18next\";\n\nimport { BUILDER_ANCHORS } from \"../constants\";\nimport useClearingHover from \"../hooks/useClearingHover\";\nimport Token from \"../Token\";\nimport { TOKEN_STATE } from \"../Token/constants\";\nimport { copyFor, scopePhoneFields } from \"../utils\";\n\nconst itemLabel = item =>\n item?.label || item?.name || item?.value || String(item ?? \"\");\n\nconst ScopeBlock = ({\n rule,\n schema,\n onToken: handleToken,\n onRemoveScope: handleRemoveScope,\n isActive = () => false,\n isInvalid = () => false,\n}) => {\n const { t } = useTranslation();\n const scope = rule.scope || [];\n const placeholder =\n schema?.scope?.placeholder || t(\"neetoRules.builder.scope.placeholder\");\n const requiresPhone = !!schema?.scope?.requiresPhone?.(rule.actions || []);\n\n if (isEmpty(scope)) {\n return (\n <div className=\"mb-row\">\n <div className=\"mb-sentence\">\n <Token\n active={isActive({ type: BUILDER_ANCHORS.SCOPE, index: undefined })}\n dataTestid=\"scope-add\"\n state={TOKEN_STATE.PLACEHOLDER_NEXT}\n onClick={\n handleToken &&\n (() => handleToken({ type: BUILDER_ANCHORS.SCOPE }))\n }\n >\n {placeholder}\n </Token>\n </div>\n </div>\n );\n }\n\n return scope.map((item, index) => (\n <ScopeRow\n {...{ index, isActive, isInvalid, item, requiresPhone, schema }}\n isLast={index === scope.length - 1}\n key={(item?.value ?? item) || index}\n onRemoveScope={handleRemoveScope}\n onToken={handleToken}\n />\n ));\n};\n\nconst ScopeRow = ({\n schema,\n item,\n index,\n onToken: handleToken,\n onRemoveScope: handleRemoveScope,\n isActive,\n isInvalid,\n isLast,\n requiresPhone,\n}) => {\n const { t } = useTranslation();\n const { clearing, clearingHoverProps } = useClearingHover();\n const lead = schema?.scope?.lead || t(\"neetoRules.builder.scope.lead\");\n const meeting = itemLabel(item);\n const phoneFields = requiresPhone ? scopePhoneFields({ item, schema }) : null;\n const hasPhoneFieldChoice = (phoneFields?.length || 0) > 1;\n const singlePhoneFieldLabel =\n phoneFields?.length === 1 ? phoneFields[0].label : null;\n\n const selectedPhoneField = phoneFields?.find(\n field => field.value === item?.phoneField\n );\n\n const usingLabel =\n copyFor(schema?.scope?.usingLabel, { meeting }) ||\n t(\"neetoRules.builder.scope.using\");\n\n const phoneFieldPlaceholder =\n copyFor(schema?.scope?.phoneFieldPlaceholder, { meeting }) ||\n t(\"neetoRules.builder.selectPhoneField\");\n\n return (\n <div className={classnames(\"mb-row\", { clearing })}>\n <div className=\"mb-sentence\">\n <span className=\"mb-fixed\">{lead}</span>\n <Token\n active={isActive({ type: BUILDER_ANCHORS.SCOPE, index: undefined })}\n dataTestid={`scope-${index}`}\n invalid={isInvalid({ type: BUILDER_ANCHORS.SCOPE, index })}\n onClick={\n handleToken && (() => handleToken({ type: BUILDER_ANCHORS.SCOPE }))\n }\n >\n {meeting}\n </Token>\n {singlePhoneFieldLabel && (\n <span className=\"mb-fixed\">\n {usingLabel} {singlePhoneFieldLabel}\n </span>\n )}\n {hasPhoneFieldChoice && (\n <>\n <span className=\"mb-fixed\">{usingLabel}</span>\n <Token\n dataTestid={`scope-phone-field-${index}`}\n active={isActive({\n type: BUILDER_ANCHORS.SCOPE_PHONE_FIELD,\n index,\n })}\n invalid={isInvalid({\n type: BUILDER_ANCHORS.SCOPE_PHONE_FIELD,\n index,\n })}\n state={\n selectedPhoneField ? TOKEN_STATE.FILLED : TOKEN_STATE.MUTED\n }\n onClick={\n handleToken &&\n (() =>\n handleToken({\n type: BUILDER_ANCHORS.SCOPE_PHONE_FIELD,\n index,\n }))\n }\n >\n {selectedPhoneField?.label || phoneFieldPlaceholder}\n </Token>\n </>\n )}\n </div>\n <div className=\"mb-row-actions\">\n {handleToken && isLast && (\n <Button\n data-testid={`scope-add-${index}`}\n icon={Plus}\n size=\"sm\"\n variant=\"ghost\"\n tooltipProps={{\n content: t(\"neetoRules.builder.aria.addAnotherBookingPage\"),\n position: \"top\",\n }}\n onClick={() => handleToken({ type: BUILDER_ANCHORS.SCOPE })}\n />\n )}\n {handleRemoveScope && (\n <Button\n data-testid={`scope-remove-${index}`}\n icon={Delete}\n size=\"sm\"\n variant=\"ghost\"\n tooltipProps={{\n content: t(\"neetoRules.builder.aria.removeBookingPage\"),\n position: \"top\",\n }}\n onClick={() => handleRemoveScope(index)}\n {...clearingHoverProps}\n />\n )}\n </div>\n </div>\n );\n};\n\nexport default ScopeBlock;\n","import { Fragment } from \"react\";\n\nimport { Button } from \"@bigbinary/neeto-atoms\";\nimport classnames from \"classnames\";\nimport { isNotEmpty } from \"neetocist\";\nimport { Delete, Plus } from \"neetoicons\";\nimport { useTranslation } from \"react-i18next\";\n\nimport { PARAM_KIND, BUILDER_ANCHORS } from \"../constants\";\nimport useClearingHover from \"../hooks/useClearingHover\";\nimport Token from \"../Token\";\nimport { TOKEN_STATE } from \"../Token/constants\";\nimport { actionParts, sentencify } from \"../utils\";\n\nconst ActionRow = ({\n schema,\n action,\n index,\n position,\n onToken: handleToken,\n onAddAction: handleAddAction,\n onRemove: handleRemove,\n isActive = () => false,\n isInvalid = () => false,\n}) => {\n const { t } = useTranslation();\n const {\n option,\n label,\n verb,\n mediumLabel,\n icon: MediumIcon,\n needsRecipient,\n recipient,\n recipientLabel,\n separator,\n configValue,\n configValuePlaceholder,\n paramKind,\n valueNoun,\n valueNounPlural,\n } = actionParts({ schema, action });\n\n // A separator-less action still needs a value slot when the host declares a\n // placeholder for it, otherwise its chosen value never reaches the canvas.\n const hasParamTail =\n paramKind === PARAM_KIND.ENUM_SINGLE ||\n paramKind === PARAM_KIND.ENUM_MULTI ||\n !!configValuePlaceholder ||\n !!configValue;\n\n const multiPlaceholder = valueNounPlural\n ? t(\"neetoRules.builder.selectNoun\", { noun: valueNounPlural })\n : t(\"neetoRules.form.selectValues\");\n\n const singlePlaceholder = valueNoun\n ? t(\"neetoRules.builder.selectNoun\", { noun: valueNoun })\n : t(\"neetoRules.form.selectValue\");\n\n const paramPlaceholder =\n paramKind === PARAM_KIND.ENUM_MULTI ? multiPlaceholder : singlePlaceholder;\n\n const connector =\n (position ?? index) === 0\n ? t(\"neetoRules.common.then\")\n : t(\"neetoRules.operators.and\");\n const verbLabel = sentencify(verb || label);\n const isVerbActive =\n isActive({ type: BUILDER_ANCHORS.ACTION_CHANNEL, index }) ||\n isActive({ type: BUILDER_ANCHORS.ACTION_ADD, index });\n const configLabel = mediumLabel || sentencify(option?.placeholder);\n // A host may declare two separators: the first introduces the recipient\n // (\"whose email is\"), the second the configured value (\"with the following\").\n const [recipientSeparator, configSeparator] = Array.isArray(separator)\n ? separator\n : [null, separator];\n const isConfigured = isNotEmpty(action?.metadata);\n // A host that shows no value label still needs the token to read as filled.\n const configState =\n configValue || isConfigured ? TOKEN_STATE.FILLED : TOKEN_STATE.MUTED;\n const { clearing, clearingHoverProps } = useClearingHover();\n\n const configToken = configSeparator ? (\n <Fragment key=\"config\">\n <span className=\"mb-fixed\">{configSeparator}</span>\n <Token\n active={isActive({ type: BUILDER_ANCHORS.ACTION_CONFIG, index })}\n dataTestid={`action-config-value-${index}`}\n state={configState}\n invalid={isInvalid({\n type: BUILDER_ANCHORS.ACTION_CONFIG,\n index,\n })}\n onClick={\n handleToken &&\n (() => handleToken({ type: BUILDER_ANCHORS.ACTION_CONFIG, index }))\n }\n >\n {configValue ||\n sentencify(configValuePlaceholder) ||\n t(\"neetoRules.builder.selectFallback\")}\n </Token>\n </Fragment>\n ) : null;\n\n const recipientToken = needsRecipient ? (\n <Fragment key=\"recipient\">\n <span className=\"mb-fixed\">\n {recipientSeparator || t(\"neetoRules.common.to\")}\n </span>\n <Token\n dataTestid={`action-recipient-${index}`}\n state={recipient ? TOKEN_STATE.FILLED : TOKEN_STATE.MUTED}\n active={isActive({\n type: BUILDER_ANCHORS.ACTION_RECIPIENT,\n index,\n })}\n invalid={isInvalid({\n type: BUILDER_ANCHORS.ACTION_RECIPIENT,\n index,\n })}\n onClick={\n handleToken &&\n (() =>\n handleToken({\n type: BUILDER_ANCHORS.ACTION_RECIPIENT,\n index,\n }))\n }\n >\n {recipient\n ? String(recipientLabel).toLowerCase()\n : t(\"neetoRules.builder.selectRecipient\")}\n </Token>\n </Fragment>\n ) : null;\n\n return (\n <div className={classnames(\"mb-row mb-row-draggable\", { clearing })}>\n <div className=\"mb-sentence\">\n <span className=\"mb-fixed\">{connector}</span>\n {configSeparator ? (\n <Token\n active={isVerbActive}\n className=\"mb-tok-medium\"\n dataTestid={`action-verb-${index}`}\n onClick={\n handleToken &&\n (() =>\n handleToken({ type: BUILDER_ANCHORS.ACTION_CHANNEL, index }))\n }\n >\n {verbLabel}\n {MediumIcon && <MediumIcon size={14} />}\n {configLabel}\n </Token>\n ) : (\n <>\n <Token\n active={isVerbActive}\n dataTestid={`action-verb-${index}`}\n onClick={\n handleToken &&\n (() =>\n handleToken({ type: BUILDER_ANCHORS.ACTION_CHANNEL, index }))\n }\n >\n {verbLabel}\n </Token>\n {hasParamTail ? (\n <Token\n dataTestid={`action-config-value-${index}`}\n state={configState}\n active={isActive({\n type: BUILDER_ANCHORS.ACTION_CONFIG,\n index,\n })}\n invalid={isInvalid({\n type: BUILDER_ANCHORS.ACTION_CONFIG,\n index,\n })}\n onClick={\n handleToken &&\n (() =>\n handleToken({ type: BUILDER_ANCHORS.ACTION_CONFIG, index }))\n }\n >\n {configValue ||\n sentencify(configValuePlaceholder) ||\n paramPlaceholder}\n </Token>\n ) : (\n configLabel && (\n <Token\n className=\"mb-tok-medium\"\n dataTestid={`action-config-${index}`}\n state={isConfigured ? TOKEN_STATE.FILLED : TOKEN_STATE.MUTED}\n active={isActive({\n type: BUILDER_ANCHORS.ACTION_CONFIG,\n index,\n })}\n invalid={isInvalid({\n type: BUILDER_ANCHORS.ACTION_CONFIG,\n index,\n })}\n onClick={\n handleToken &&\n (() =>\n handleToken({\n type: BUILDER_ANCHORS.ACTION_CONFIG,\n index,\n }))\n }\n >\n {MediumIcon && <MediumIcon size={14} />}\n {configLabel}\n </Token>\n )\n )}\n </>\n )}\n {recipientSeparator\n ? [recipientToken, configToken]\n : [configToken, recipientToken]}\n </div>\n <div className=\"mb-row-actions\">\n {handleAddAction && (\n <Button\n data-testid={`action-add-${index}`}\n icon={Plus}\n size=\"sm\"\n variant=\"ghost\"\n tooltipProps={{\n content: t(\"neetoRules.builder.aria.addAnotherAction\"),\n position: \"top\",\n }}\n onClick={handleAddAction}\n />\n )}\n {handleRemove && (\n <Button\n data-testid={`action-remove-${index}`}\n icon={Delete}\n size=\"sm\"\n variant=\"ghost\"\n tooltipProps={{\n content: t(\"neetoRules.builder.aria.deleteAction\"),\n position: \"top\",\n }}\n onClick={handleRemove}\n {...clearingHoverProps}\n />\n )}\n </div>\n </div>\n );\n};\n\nexport default ActionRow;\n","import { isEmpty } from \"ramda\";\nimport { useTranslation } from \"react-i18next\";\n\nimport ActionRow from \"./ActionRow\";\n\nimport { BUILDER_ANCHORS } from \"../constants\";\nimport Token from \"../Token\";\nimport { TOKEN_STATE } from \"../Token/constants\";\nimport { isTriggerSatisfied } from \"../utils\";\n\nconst ThenBlock = ({\n rule,\n schema,\n onToken: handleToken,\n onAddAction: handleAddAction,\n onRemoveAction: handleRemoveAction,\n isActive = () => false,\n isInvalid = () => false,\n adding = false,\n}) => {\n const { t } = useTranslation();\n const named = rule.actions\n .map((action, index) => ({ action, index }))\n .filter(({ action }) => action?.channel || action?.name);\n\n if (isEmpty(named)) {\n const isTriggerSet = isTriggerSatisfied({ rule, schema });\n\n return (\n <div className=\"mb-row\">\n <div className=\"mb-sentence\">\n <Token\n active={isActive({ type: BUILDER_ANCHORS.ACTION_ADD, index: 0 })}\n dataTestid=\"action-add\"\n invalid={isInvalid({ type: BUILDER_ANCHORS.ACTION_ADD, index: 0 })}\n state={\n isTriggerSet ? TOKEN_STATE.PLACEHOLDER_NEXT : TOKEN_STATE.DISABLED\n }\n title={\n isTriggerSet\n ? undefined\n : t(\"neetoRules.builder.pickTriggerFirst\")\n }\n onClick={isTriggerSet ? handleAddAction : undefined}\n >\n {t(\"neetoRules.builder.thenDoThis\")}\n </Token>\n </div>\n </div>\n );\n }\n\n return (\n <>\n {named.map(({ action, index }, position) => (\n <ActionRow\n {...{ action, index, isActive, isInvalid, position, schema }}\n key={action.id ?? index}\n onAddAction={position === named.length - 1 && handleAddAction}\n onRemove={handleRemoveAction && (() => handleRemoveAction(index))}\n onToken={handleToken}\n />\n ))}\n {adding && (\n <div className=\"mb-row\">\n <div className=\"mb-sentence\">\n <span className=\"mb-fixed\">{t(\"neetoRules.operators.and\")}</span>\n <Token\n active\n dataTestid=\"action-add-next\"\n state={TOKEN_STATE.PLACEHOLDER_NEXT}\n onClick={handleAddAction}\n >\n {t(\"neetoRules.form.doThis\")}\n </Token>\n </div>\n </div>\n )}\n </>\n );\n};\n\nexport default ThenBlock;\n","import { Fragment } from \"react\";\n\nimport { Button } from \"@bigbinary/neeto-atoms\";\nimport classnames from \"classnames\";\nimport { Delete, Plus } from \"neetoicons\";\nimport { isEmpty } from \"ramda\";\nimport { useTranslation } from \"react-i18next\";\n\nimport { BUILDER_ANCHORS } from \"../constants\";\nimport useClearingHover from \"../hooks/useClearingHover\";\nimport Token from \"../Token\";\nimport { TOKEN_STATE } from \"../Token/constants\";\nimport {\n triggerLabel,\n performerLabel,\n leadTimeLabel,\n isTriggerEnabled,\n} from \"../utils\";\n\nconst WhenBlock = ({\n rule,\n schema,\n onToken: handleToken,\n onAddCondition: handleAddCondition,\n onClearTrigger: handleClearTrigger,\n isActive = () => false,\n isInvalid = () => false,\n}) => {\n const { t } = useTranslation();\n const { triggers, performer } = rule;\n const isActorEnabled = schema?.actor?.enabled;\n const { clearing, clearingHoverProps, resetClearing } = useClearingHover();\n // eslint-disable-next-line @bigbinary/neeto/prefer-function-reference\n const hasLeadTimeFor = name =>\n (schema?.triggers?.leadTime?.appliesTo || []).includes(name);\n\n if (!isTriggerEnabled(schema)) {\n if (!isEmpty(rule.conditions)) return null;\n\n return (\n <div className=\"mb-row\">\n <div className=\"mb-sentence\">\n <Token\n dataTestid=\"condition-add\"\n state={TOKEN_STATE.PLACEHOLDER_NEXT}\n onClick={handleAddCondition || undefined}\n >\n {t(\"neetoRules.builder.whenThisIsTrue\")}\n </Token>\n </div>\n </div>\n );\n }\n\n if (isEmpty(triggers)) {\n return (\n <div className=\"mb-row\">\n <div className=\"mb-sentence\">\n <Token\n dataTestid=\"trigger-add\"\n state={TOKEN_STATE.PLACEHOLDER_NEXT}\n onClick={\n handleToken &&\n (() => handleToken({ type: BUILDER_ANCHORS.TRIGGER_ADD }))\n }\n >\n {t(\"neetoRules.builder.whenThisHappens\")}\n </Token>\n </div>\n </div>\n );\n }\n\n return (\n <div className={classnames(\"mb-row\", { clearing })}>\n <div className=\"mb-sentence\">\n <span className=\"mb-fixed\">{t(\"neetoRules.common.when\")}</span>\n {triggers.map((trigger, index) => (\n <Fragment key={trigger.id ?? index}>\n {index > 0 && (\n <span className=\"mb-fixed\">{t(\"neetoRules.operators.or\")}</span>\n )}\n {hasLeadTimeFor(trigger.name) && (\n <Token\n dataTestid={`trigger-lead-time-${index}`}\n active={isActive({\n type: BUILDER_ANCHORS.TRIGGER_LEAD_TIME,\n index,\n })}\n invalid={isInvalid({\n type: BUILDER_ANCHORS.TRIGGER_LEAD_TIME,\n index,\n })}\n onClick={\n handleToken &&\n (() =>\n handleToken({\n type: BUILDER_ANCHORS.TRIGGER_LEAD_TIME,\n index,\n }))\n }\n >\n {leadTimeLabel(rule.leadTime)}\n </Token>\n )}\n <Token\n dataTestid={`trigger-${index}`}\n active={\n isActive({ type: BUILDER_ANCHORS.TRIGGER_REPLACE, index }) ||\n (index === 0 &&\n isActive({\n type: BUILDER_ANCHORS.TRIGGER_ADD,\n index: undefined,\n }))\n }\n onClick={\n handleToken &&\n (() =>\n handleToken({\n type: BUILDER_ANCHORS.TRIGGER_REPLACE,\n index,\n trigger,\n }))\n }\n >\n {triggerLabel({ schema, trigger })}\n </Token>\n </Fragment>\n ))}\n {isActorEnabled && (\n <>\n <span className=\"mb-fixed\">{t(\"neetoRules.common.by\")}</span>\n <Token\n dataTestid=\"trigger-actor\"\n state={performer ? TOKEN_STATE.FILLED : TOKEN_STATE.MUTED}\n active={isActive({\n type: BUILDER_ANCHORS.TRIGGER_ACTOR,\n index: undefined,\n })}\n invalid={isInvalid({\n type: BUILDER_ANCHORS.TRIGGER_ACTOR,\n index: undefined,\n })}\n onClick={\n handleToken &&\n (() => handleToken({ type: BUILDER_ANCHORS.TRIGGER_ACTOR }))\n }\n >\n {performer\n ? performerLabel({ schema, performer })\n : t(\"neetoRules.builder.selectActor\")}\n </Token>\n </>\n )}\n </div>\n <div className=\"mb-row-actions\">\n {handleAddCondition && (\n <Button\n data-testid=\"trigger-add-condition\"\n icon={Plus}\n size=\"sm\"\n variant=\"ghost\"\n tooltipProps={{\n content: t(\"neetoRules.builder.aria.addCondition\"),\n position: \"top\",\n }}\n onClick={handleAddCondition}\n />\n )}\n {handleClearTrigger && (\n <Button\n data-testid=\"trigger-clear\"\n icon={Delete}\n size=\"sm\"\n variant=\"ghost\"\n tooltipProps={{\n content: t(\"neetoRules.builder.aria.clearTrigger\"),\n position: \"top\",\n }}\n onClick={() => {\n resetClearing();\n handleClearTrigger();\n }}\n {...clearingHoverProps}\n />\n )}\n </div>\n </div>\n );\n};\n\nexport default WhenBlock;\n","import { useCallback } from \"react\";\n\nimport useUtilityStore from \"v2/components/stores/useUtilityStore\";\n\nimport { TOKEN_TO_PANEL_TYPE, LARGE_PANEL_TYPES } from \"../constants\";\n\nconst usePaneCascade = schema => {\n const { setPanelState, resetPanelState } = useUtilityStore.pick();\n\n const openType = useCallback(\n ({ type, data = {} }) =>\n setPanelState({\n type,\n variant: \"builder\",\n size: LARGE_PANEL_TYPES.includes(type) ? \"large\" : \"small\",\n data: { schema, ...data },\n }),\n [schema, setPanelState]\n );\n\n const openPane = useCallback(\n token => {\n const type = TOKEN_TO_PANEL_TYPE[token?.type];\n if (!type) return;\n\n openType({ type, data: { anchor: token.type, index: token.index } });\n },\n [openType]\n );\n\n return { openPane, openType, closePane: resetPanelState };\n};\n\nexport default usePaneCascade;\n","import { useMemo } from \"react\";\n\nimport { useFormikContext } from \"formik\";\n\nimport {\n valuesToRuleModel,\n setTriggers,\n setPerformer,\n setActions,\n setConditions,\n setConditionMode,\n setDelay,\n setActive,\n setScope,\n removeArrayItem,\n clearArrayItems,\n fieldKeysFromSchema,\n} from \"../utils\";\n\nconst useRuleModel = schema => {\n const { values, setFieldValue } = useFormikContext();\n\n const apply = ({ path, value }) => setFieldValue(path, value);\n const applyAll = edits => edits.forEach(apply);\n\n const rule = useMemo(\n () => valuesToRuleModel({ values, schema }),\n [values, schema]\n );\n\n return {\n rule,\n fieldKeys: fieldKeysFromSchema(schema),\n setTriggers: triggers => apply(setTriggers({ schema, triggers })),\n setPerformer: performer => apply(setPerformer({ schema, performer })),\n setActions: actions => apply(setActions({ schema, actions })),\n setConditions: conditions => apply(setConditions({ schema, conditions })),\n setConditionMode: joinType =>\n apply(\n setConditionMode({ schema, conditions: rule.conditions, joinType })\n ),\n setDelay: delay => apply(setDelay({ schema, delay })),\n setActive: active => apply(setActive({ schema, active })),\n setScope: scope => apply(setScope({ schema, scope })),\n removeCondition: index =>\n applyAll(\n removeArrayItem({\n values,\n fieldKey: fieldKeysFromSchema(schema).conditions,\n index,\n })\n ),\n removeAction: index =>\n applyAll(\n removeArrayItem({\n values,\n fieldKey: fieldKeysFromSchema(schema).actions,\n index,\n })\n ),\n clearTriggers: () =>\n applyAll(\n clearArrayItems({\n values,\n fieldKey: fieldKeysFromSchema(schema).triggers,\n })\n ),\n clearConditions: () =>\n applyAll(\n clearArrayItems({\n values,\n fieldKey: fieldKeysFromSchema(schema).conditions,\n })\n ),\n clearActions: () =>\n applyAll(\n clearArrayItems({\n values,\n fieldKey: fieldKeysFromSchema(schema).actions,\n })\n ),\n };\n};\n\nexport default useRuleModel;\n","import { t } from \"i18next\";\nimport { isNotEmpty, removeBy, toLabelAndValue } from \"neetocist\";\nimport { pluck } from \"ramda\";\n\nimport {\n BUILDER_ANCHORS,\n BUILDER_PANEL_TYPES,\n CONDITION_MODE,\n} from \"../constants\";\nimport {\n humanize,\n isContainsVerb,\n isNumericVerb,\n isExcludeVerb,\n scopePhoneFields,\n copyFor,\n offeredConditionFields,\n} from \"../utils\";\n\nconst triggerValue = option => option.eventValue ?? option.value ?? option.id;\n\nconst optionValue = option => option.value ?? option.id;\n\nconst normalizeOptions = options =>\n (options || []).map(option =>\n typeof option === \"string\" ? toLabelAndValue(option) : option\n );\n\nconst groupByCategory = options => {\n const groups = [];\n const indexByCategory = {};\n options.forEach(option => {\n const category = option.category || \"\";\n // eslint-disable-next-line security/detect-object-injection\n if (indexByCategory[category] === undefined) {\n // eslint-disable-next-line security/detect-object-injection\n indexByCategory[category] = groups.length;\n groups.push([category, []]);\n }\n // eslint-disable-next-line security/detect-object-injection\n groups[indexByCategory[category]][1].push(option);\n });\n\n return groups;\n};\n\nconst conditionAt = ({ rule, index }) =>\n // eslint-disable-next-line security/detect-object-injection\n rule.conditions[index] || {};\n\n// eslint-disable-next-line security/detect-object-injection\nconst actionAt = ({ rule, index }) => rule.actions[index] || {};\n\n// eslint-disable-next-line security/detect-object-injection\nconst scopeItemAt = ({ rule, index }) => rule.scope?.[index] || {};\n\nconst scopeItemLabel = item =>\n item?.label || item?.name || item?.value || String(item ?? \"\");\n\nconst findField = ({ schema, value }) =>\n (schema.conditions?.fields || []).find(field => optionValue(field) === value);\n\nconst findActionOption = ({ schema, name }) =>\n (schema.actions?.options || []).find(option => optionValue(option) === name);\n\nconst channelOf = ({ schema, action }) =>\n action?.channel || schema.actions?.actionForName?.(action?.name)?.channel;\n\nconst recipientOf = ({ schema, action }) =>\n action?.recipient ?? schema.actions?.actionForName?.(action?.name)?.recipient;\n\nconst channelMetaOf = ({ schema, action }) =>\n schema.actions?.channelMeta?.[channelOf({ schema, action })] || {};\n\nconst actionHasConfig = ({ schema, action }) => {\n const meta = channelMetaOf({ schema, action });\n if (meta.mediumLabel) return true;\n\n const option = findActionOption({ schema, name: action?.name });\n if (option?.component || option?.renderConfig) return true;\n\n if (schema.actions?.hasConfig) return schema.actions.hasConfig(action);\n\n return !!schema.actions?.renderConfig;\n};\n\nconst recipientsFor = ({ schema, action }) => {\n const channel = channelOf({ schema, action });\n if (channel && schema.actions?.recipientsFor) {\n return schema.actions.recipientsFor(channel);\n }\n\n const option = findActionOption({ schema, name: channel });\n if (option?.recipients) return option.recipients;\n\n return schema.actions?.recipients || [];\n};\n\nconst nextTriggers = ({ schema, rule, value }) => {\n if (schema.triggers?.multi) {\n const names = pluck(\"name\", rule.triggers);\n\n return names.includes(value)\n ? removeBy({ name: value }, rule.triggers)\n : [...rule.triggers, { name: value }];\n }\n\n return [{ ...rule.triggers[0], name: value }];\n};\n\nconst nextConditionAt = ({ schema, rule, index, value }) => {\n const field = findField({ schema, value });\n const previous = conditionAt({ rule, index });\n const first = field?.allowMatching?.[0];\n const defaultVerb =\n first && !(field?.noValueForVerbs || []).includes(first)\n ? first\n : undefined;\n\n const verb = (field?.allowMatching || []).includes(previous.verb)\n ? previous.verb\n : defaultVerb;\n\n return {\n ...previous,\n field: value,\n kind: field?.kind,\n verb,\n metadata: {},\n };\n};\n\nconst nextActionAt = ({ schema, rule, index, value }) => {\n if (!schema.actions?.resolveName) {\n const option = findActionOption({ schema, name: value });\n const prev = actionAt({ rule, index });\n\n if (option?.recipients) {\n const channelChanged = prev.channel !== value;\n\n return {\n ...prev,\n channel: value,\n recipient: channelChanged ? undefined : prev.recipient,\n name: \"\",\n type: option?.type,\n metadata: channelChanged ? {} : prev.metadata,\n };\n }\n\n return {\n ...prev,\n channel: undefined,\n recipient: undefined,\n name: value,\n type: option?.type,\n metadata: {},\n };\n }\n\n const prev = actionAt({ rule, index });\n const prevChannel = channelOf({ schema, action: prev });\n const channelChanged = prevChannel !== value;\n let recipient = channelChanged ? undefined : prev.recipient;\n if (channelChanged) {\n const channelRecipients =\n // eslint-disable-next-line security/detect-object-injection\n schema.actions?.recipientsByChannel?.[value] || [];\n if (channelRecipients.length === 1) [recipient] = channelRecipients;\n }\n\n return {\n ...prev,\n channel: value,\n recipient,\n name: schema.actions.resolveName({ channel: value, recipient }),\n metadata: channelChanged ? {} : prev.metadata,\n };\n};\n\nconst appendScopeItem = ({ schema, rule, value }) => {\n const sc = schema.scope || {};\n const option = (sc.options || []).find(\n candidate => optionValue(candidate) === value\n ) || { value };\n const requiresPhone = sc.requiresPhone?.(rule.actions) || false;\n if (!requiresPhone) return option;\n\n const phoneFields = scopePhoneFields({ schema, item: option });\n\n return phoneFields?.length === 1\n ? { ...option, phoneField: phoneFields[0].value }\n : option;\n};\n\nconst nextActionRecipientAt = ({ schema, rule, index, value }) => {\n const prev = actionAt({ rule, index });\n const channel = channelOf({ schema, action: prev });\n\n return {\n ...prev,\n recipient: value,\n name: schema.actions?.resolveName\n ? schema.actions.resolveName({ channel, recipient: value })\n : value,\n };\n};\n\nconst descriptorFor = ({ anchor, schema, rule, index }) => {\n switch (anchor) {\n case BUILDER_ANCHORS.TRIGGER_ADD:\n case BUILDER_ANCHORS.TRIGGER_REPLACE: {\n const multi = !!schema.triggers?.multi;\n const isReplace = anchor === BUILDER_ANCHORS.TRIGGER_REPLACE;\n const triggerTitle = isReplace\n ? (multi && t(\"neetoRules.builder.panes.changeTriggers\")) ||\n t(\"neetoRules.builder.panes.changeTrigger\")\n : (multi && t(\"neetoRules.builder.panes.whenEllipsis\")) ||\n t(\"neetoRules.builder.panes.addTrigger\");\n\n const triggerSubtitle =\n (multi && t(\"neetoRules.builder.panes.triggerSubtitleMulti\")) ||\n (isReplace\n ? t(\"neetoRules.builder.panes.triggerSubtitleReplace\")\n : t(\"neetoRules.builder.panes.triggerSubtitleAdd\"));\n\n return {\n title: triggerTitle,\n subtitle: triggerSubtitle,\n multi,\n cascade: !!schema.actor?.enabled,\n options: (schema.triggers?.options || []).map(option => ({\n label: option.paneLabel || option.label,\n value: triggerValue(option),\n category: option.category,\n })),\n selectedValues: pluck(\"name\", rule.triggers),\n };\n }\n case BUILDER_ANCHORS.TRIGGER_ACTOR:\n return {\n title: t(\"neetoRules.builder.panes.actorTitle\"),\n subtitle: t(\"neetoRules.builder.panes.actorSubtitle\"),\n options: (schema.actor?.options || []).map(option => ({\n label: option.label,\n value: optionValue(option),\n })),\n selectedValues: [rule.performer],\n };\n case BUILDER_ANCHORS.COND_FIELD:\n return {\n title: t(\"neetoRules.builder.panes.addCondition\"),\n subtitle: t(\"neetoRules.builder.panes.condFieldSubtitle\"),\n cascade: true,\n options: offeredConditionFields({ schema, rule }).map(field => ({\n label: field.paneLabel || field.label,\n value: optionValue(field),\n category: field.category,\n })),\n selectedValues: [conditionAt({ rule, index }).field],\n };\n case BUILDER_ANCHORS.COND_OP_TOGGLE: {\n const field = findField({\n schema,\n value: conditionAt({ rule, index }).field,\n });\n const labels = schema.conditions?.operatorLabels || {};\n const verbs = field?.allowMatching || [];\n const fieldLabel = field?.paneLabel || field?.label || \"\";\n\n const isContains = isNotEmpty(verbs) && verbs.every(isContainsVerb);\n const isNumeric = !isContains && verbs.some(isNumericVerb);\n const isExclude = !isContains && !isNumeric && verbs.some(isExcludeVerb);\n const hasOptions = isNotEmpty(\n normalizeOptions(\n field?.values || field?.dropdownOptions || field?.options\n )\n );\n\n const containsVariant = hasOptions ? \"Values\" : \"Keywords\";\n const numericOrExcludeVariant = isExclude ? \"Exclude\" : \"\";\n const nonContainsVariant = isNumeric ? \"Number\" : numericOrExcludeVariant;\n const variant = isContains ? containsVariant : nonContainsVariant;\n\n return {\n title: t(`neetoRules.builder.panes.operatorTitle${variant}`),\n subtitle: variant\n ? t(`neetoRules.builder.panes.operatorSubtitle${variant}`, {\n field: fieldLabel,\n })\n : t(\"neetoRules.builder.panes.operatorSubtitle\"),\n cascade: true,\n options: verbs.map(verb => ({\n // eslint-disable-next-line security/detect-object-injection\n label: labels[verb] || humanize(verb),\n value: verb,\n })),\n selectedValues: [conditionAt({ rule, index }).verb],\n };\n }\n case BUILDER_ANCHORS.COND_CONNECTOR:\n return {\n title: t(\"neetoRules.builder.panes.connectorTitle\"),\n subtitle: t(\"neetoRules.builder.panes.connectorSubtitle\"),\n options: [\n {\n label: t(\"neetoRules.builder.panes.connectorAndOption\"),\n value: CONDITION_MODE.AND,\n },\n {\n label: t(\"neetoRules.builder.panes.connectorOrOption\"),\n value: CONDITION_MODE.OR,\n },\n ],\n selectedValues: [rule.conditionMode],\n };\n case BUILDER_ANCHORS.ACTION_ADD:\n case BUILDER_ANCHORS.ACTION_CHANNEL: {\n const isSwap = anchor === BUILDER_ANCHORS.ACTION_CHANNEL;\n const channelMetaFor = value =>\n // eslint-disable-next-line security/detect-object-injection\n schema.actions?.channelMeta?.[value] || {};\n\n // Both panes list the host's actions in the order it declared them;\n // re-ranking only the swap pane made the two disagree.\n const sourceOptions = schema.actions?.options || [];\n\n return {\n title: isSwap\n ? t(\"neetoRules.builder.panes.actionSwapTitle\")\n : t(\"neetoRules.builder.panes.actionAddTitle\"),\n subtitle: isSwap\n ? t(\"neetoRules.builder.panes.actionSwapSubtitle\")\n : t(\"neetoRules.builder.panes.actionAddSubtitle\"),\n cascade: true,\n options: sourceOptions.map(option => {\n const value = optionValue(option);\n const meta = channelMetaFor(value);\n\n return {\n label: isSwap ? meta.channelLabel || option.label : option.label,\n value,\n category: option.category,\n // Hosts mark unavailable actions with isDisabled; without carrying\n // the reason across, the picker disables them with no explanation.\n disabled: !!(option.disabled ?? option.isDisabled),\n disabledReason: option.disabledReason,\n disabledPopover: option.disabledPopover,\n icon: (isSwap ? meta.icon : option.icon) || option.icon,\n };\n }),\n selectedValues: [\n channelOf({ schema, action: actionAt({ rule, index }) }) ??\n actionAt({ rule, index }).name,\n ],\n };\n }\n case BUILDER_ANCHORS.ACTION_RECIPIENT: {\n const action = actionAt({ rule, index });\n const channel = channelOf({ schema, action });\n // eslint-disable-next-line security/detect-object-injection\n const meta = schema.actions?.channelMeta?.[channel] || {};\n const option = findActionOption({ schema, name: channel });\n\n return {\n title:\n meta.recipientTitle ||\n option?.recipientTitle ||\n t(\"neetoRules.builder.panes.recipientTitle\"),\n subtitle:\n meta.recipientSubtitle ||\n option?.recipientSubtitle ||\n t(\"neetoRules.builder.panes.recipientSubtitle\"),\n options: recipientsFor({ schema, action }).map(recipient => ({\n label: recipient.label,\n value: optionValue(recipient),\n })),\n selectedValues: [recipientOf({ schema, action })],\n // Confirming a recipient always offers Continue; whether that chains\n // onward or just closes is decided by continueTargetFor.\n cascade: true,\n };\n }\n case BUILDER_ANCHORS.SCOPE: {\n const sc = schema.scope || {};\n const selected = (rule.scope || []).map(item => item?.value ?? item);\n const requiresPhone = sc.requiresPhone?.(rule.actions) || false;\n\n return {\n title: selected.length\n ? sc.paneChangeTitle || t(\"neetoRules.builder.panes.scopeChangeTitle\")\n : sc.paneTitle || t(\"neetoRules.builder.panes.scopeTitle\"),\n subtitle:\n sc.paneSubtitle || t(\"neetoRules.builder.panes.scopeSubtitle\"),\n multi: true,\n options: (sc.options || []).map(option => {\n const value = optionValue(option);\n const blockedNoPhone =\n requiresPhone && option.hasPhoneField === false;\n const isSelected = selected.includes(value);\n\n return {\n label: option.label,\n value,\n disabled:\n (!!(option.disabled ?? option.isDisabled) || blockedNoPhone) &&\n !isSelected,\n disabledReason: blockedNoPhone\n ? sc.disabledReason\n : option.disabledReason,\n disabledPopover: option.disabledPopover,\n disabledTooltip: blockedNoPhone && sc.disabledTooltip,\n };\n }),\n selectedValues: selected,\n };\n }\n case BUILDER_ANCHORS.SCOPE_PHONE_FIELD: {\n const sc = schema.scope || {};\n const item = scopeItemAt({ rule, index });\n const meeting = scopeItemLabel(item);\n const options = scopePhoneFields({ schema, item }) || [];\n\n return {\n title:\n copyFor(sc.phoneFieldPaneTitle, { meeting }) ||\n t(\"neetoRules.builder.panes.phoneFieldTitle\"),\n subtitle:\n copyFor(sc.phoneFieldPaneSubtitle, { meeting }) ||\n t(\"neetoRules.builder.panes.phoneFieldSubtitle\", { meeting }),\n options: options.map(option => ({\n label: option.label,\n value: optionValue(option),\n })),\n selectedValues: [item.phoneField],\n };\n }\n default:\n return { title: \"\", subtitle: \"\", options: [], selectedValues: [] };\n }\n};\n\nconst commitFor = ({ anchor, schema, rule, index, value, helpers }) => {\n const {\n setTriggers,\n setPerformer,\n setConditionMode,\n setFieldValue,\n fieldKeys,\n } = helpers;\n\n switch (anchor) {\n case BUILDER_ANCHORS.TRIGGER_ADD:\n case BUILDER_ANCHORS.TRIGGER_REPLACE: {\n if (schema.triggers?.multi) {\n const names = pluck(\"name\", rule.triggers);\n setTriggers(\n names.includes(value)\n ? removeBy({ name: value }, rule.triggers)\n : [...rule.triggers, { name: value }]\n );\n\n return \"stay\";\n }\n setTriggers([{ ...rule.triggers[0], name: value }]);\n\n const leadTime = schema.triggers?.leadTime;\n if (\n leadTime?.fieldKey &&\n (leadTime.appliesTo || []).includes(value) &&\n !rule.leadTime\n ) {\n // eslint-disable-next-line @bigbinary/neeto/use-common-constants\n setFieldValue(`${leadTime.fieldKey}.value`, leadTime.default ?? 10);\n }\n\n return \"stay\";\n }\n case BUILDER_ANCHORS.TRIGGER_ACTOR:\n setPerformer(value);\n\n return \"stay\";\n case BUILDER_ANCHORS.COND_FIELD: {\n setFieldValue(\n `${fieldKeys.conditions}.value.${index}`,\n nextConditionAt({ schema, rule, index, value })\n );\n\n return \"stay\";\n }\n case BUILDER_ANCHORS.COND_OP_TOGGLE:\n setFieldValue(`${fieldKeys.conditions}.value.${index}.verb`, value);\n\n return \"stay\";\n case BUILDER_ANCHORS.COND_CONNECTOR:\n setConditionMode(value);\n\n return \"stay\";\n case BUILDER_ANCHORS.ACTION_ADD:\n case BUILDER_ANCHORS.ACTION_CHANNEL: {\n setFieldValue(\n `${fieldKeys.actions}.value.${index}`,\n nextActionAt({ schema, rule, index, value })\n );\n\n return \"stay\";\n }\n case BUILDER_ANCHORS.ACTION_RECIPIENT: {\n setFieldValue(\n `${fieldKeys.actions}.value.${index}`,\n nextActionRecipientAt({ schema, rule, index, value })\n );\n\n return \"stay\";\n }\n case BUILDER_ANCHORS.SCOPE: {\n const key = fieldKeys.scope;\n const current = rule.scope || [];\n const has = current.some(item => (item?.value ?? item) === value);\n const next = has\n ? current.filter(item => (item?.value ?? item) !== value)\n : [...current, appendScopeItem({ schema, rule, value })];\n setFieldValue(`${key}.value`, next);\n\n return \"stay\";\n }\n case BUILDER_ANCHORS.SCOPE_PHONE_FIELD: {\n const key = fieldKeys.scope;\n setFieldValue(`${key}.value.${index}.phoneField`, value);\n\n return \"stay\";\n }\n default:\n return \"close\";\n }\n};\n\nconst continueTargetFor = ({ anchor, schema, rule, index, configPending }) => {\n switch (anchor) {\n case BUILDER_ANCHORS.TRIGGER_ADD:\n case BUILDER_ANCHORS.TRIGGER_REPLACE:\n return schema.actor?.enabled\n ? {\n type: BUILDER_PANEL_TYPES.ACTOR,\n data: { anchor: BUILDER_ANCHORS.TRIGGER_ACTOR },\n }\n : null;\n case BUILDER_ANCHORS.COND_FIELD:\n return {\n type: BUILDER_PANEL_TYPES.OPERATOR,\n data: { index, anchor: BUILDER_ANCHORS.COND_OP_TOGGLE },\n };\n case BUILDER_ANCHORS.COND_OP_TOGGLE: {\n const condition = conditionAt({ rule, index });\n const field = findField({ schema, value: condition.field });\n if ((field?.noValueForVerbs || []).includes(condition.verb)) return null;\n\n return {\n type: BUILDER_PANEL_TYPES.CONDITION_VALUE,\n data: { index, anchor: BUILDER_ANCHORS.COND_VALUES },\n };\n }\n case BUILDER_ANCHORS.ACTION_ADD:\n case BUILDER_ANCHORS.ACTION_CHANNEL: {\n const action = actionAt({ rule, index });\n\n if (actionHasConfig({ schema, action })) {\n return {\n type: BUILDER_PANEL_TYPES.ACTION_CONFIG,\n data: { index, anchor: BUILDER_ANCHORS.ACTION_CONFIG },\n };\n }\n\n // Reached here only because the action has no config yet — its name is\n // still unresolved — so the recipient pane owes us that step afterwards.\n return channelMetaOf({ schema, action }).needsRecipient\n ? {\n type: BUILDER_PANEL_TYPES.RECIPIENT,\n data: {\n index,\n anchor: BUILDER_ANCHORS.ACTION_RECIPIENT,\n configPending: true,\n },\n }\n : null;\n }\n case BUILDER_ANCHORS.ACTION_RECIPIENT: {\n // Only chain onward when config was skipped on the way in; arriving from\n // the config pane or from the token means this is the last step.\n const action = actionAt({ rule, index });\n\n return configPending && actionHasConfig({ schema, action })\n ? {\n type: BUILDER_PANEL_TYPES.ACTION_CONFIG,\n data: { index, anchor: BUILDER_ANCHORS.ACTION_CONFIG },\n }\n : null;\n }\n default:\n return null;\n }\n};\n\nconst replaceAt = ({ list, index, item }) => {\n const next = [...list];\n // eslint-disable-next-line security/detect-object-injection\n next[index] = item;\n\n return next;\n};\n\nconst applyPreview = ({ rule, schema, anchor, index, value }) => {\n switch (anchor) {\n case BUILDER_ANCHORS.TRIGGER_ADD:\n case BUILDER_ANCHORS.TRIGGER_REPLACE:\n return {\n ...rule,\n triggers: Array.isArray(value)\n ? value.map(name => ({ name }))\n : nextTriggers({ schema, rule, value }),\n };\n case BUILDER_ANCHORS.TRIGGER_ACTOR:\n return { ...rule, performer: value };\n case BUILDER_ANCHORS.COND_FIELD:\n return {\n ...rule,\n conditions: replaceAt({\n list: rule.conditions,\n index,\n item: nextConditionAt({ schema, rule, index, value }),\n }),\n };\n case BUILDER_ANCHORS.COND_OP_TOGGLE:\n return {\n ...rule,\n conditions: replaceAt({\n list: rule.conditions,\n index,\n item: { ...conditionAt({ rule, index }), verb: value },\n }),\n };\n case BUILDER_ANCHORS.COND_CONNECTOR:\n return { ...rule, conditionMode: value };\n case BUILDER_ANCHORS.ACTION_ADD:\n case BUILDER_ANCHORS.ACTION_CHANNEL:\n return {\n ...rule,\n actions: replaceAt({\n list: rule.actions,\n index,\n item: nextActionAt({ schema, rule, index, value }),\n }),\n };\n case BUILDER_ANCHORS.ACTION_RECIPIENT:\n return {\n ...rule,\n actions: replaceAt({\n list: rule.actions,\n index,\n item: nextActionRecipientAt({ schema, rule, index, value }),\n }),\n };\n case BUILDER_ANCHORS.SCOPE_PHONE_FIELD:\n return {\n ...rule,\n scope: replaceAt({\n list: rule.scope,\n index,\n item: { ...scopeItemAt({ rule, index }), phoneField: value },\n }),\n };\n default:\n return rule;\n }\n};\n\nexport {\n optionValue,\n normalizeOptions,\n groupByCategory,\n descriptorFor,\n commitFor,\n continueTargetFor,\n applyPreview,\n};\n","import { Fragment, useEffect, useMemo, useRef, useState } from \"react\";\n\nimport { Button } from \"@bigbinary/neeto-atoms\";\nimport { flatten } from \"flat\";\nimport { useFormikContext } from \"formik\";\nimport { isNotEmpty } from \"neetocist\";\nimport { Plus } from \"neetoicons\";\nimport { isEmpty } from \"ramda\";\nimport { useTranslation } from \"react-i18next\";\n\nimport useUtilityStore from \"v2/components/stores/useUtilityStore\";\n\nimport ConditionRow from \"./ConditionRow\";\nimport Connector from \"./Connector\";\nimport DelayRow from \"./DelayRow\";\nimport MetaBlock from \"./MetaBlock\";\nimport ScopeBlock from \"./ScopeBlock\";\nimport ThenBlock from \"./ThenBlock\";\nimport WhenBlock from \"./WhenBlock\";\n\nimport {\n ACTION_ANCHORS,\n BUILDER_ANCHORS,\n CONDITION_ANCHORS,\n FLASH_DURATION_MS,\n RECIPIENT_STORAGE_FIELDS,\n SMS_TO_NUMBERS,\n} from \"../constants\";\nimport usePaneCascade from \"../hooks/usePaneCascade\";\nimport useRuleModel from \"../hooks/useRuleModel\";\nimport { applyPreview } from \"../Panes/utils\";\nimport {\n isTriggerSatisfied,\n isRuleComplete,\n invalidScopeIndexes,\n invalidScopePhoneFieldIndexes,\n joinTypeFor,\n offeredConditionFields,\n recipientStorageField,\n} from \"../utils\";\n\nconst Canvas = ({ schema }) => {\n const { t } = useTranslation();\n const { openPane, closePane } = usePaneCascade(schema);\n const { errors, submitCount } = useFormikContext();\n const {\n rule,\n fieldKeys,\n setPerformer,\n setConditions,\n setDelay,\n removeCondition,\n removeAction,\n setActive,\n setScope,\n clearTriggers,\n clearConditions,\n clearActions,\n } = useRuleModel(schema);\n\n const { builderPreview, panelState } = useUtilityStore.pick();\n const displayRule = useMemo(\n () =>\n builderPreview ? applyPreview({ rule, schema, ...builderPreview }) : rule,\n [rule, schema, builderPreview]\n );\n\n const activeToken = panelState?.data || {};\n const isActive = ({ type, index }) =>\n !!panelState?.type &&\n activeToken.anchor === type &&\n activeToken.index === index;\n\n const addingAction =\n !!panelState?.type &&\n activeToken.anchor === BUILDER_ANCHORS.ACTION_ADD &&\n activeToken.index === rule.actions.length &&\n !builderPreview;\n\n const flatErrors = useMemo(() => flatten(errors || {}), [errors]);\n const [flashSeq, setFlashSeq] = useState(0);\n const lastSubmitCount = useRef(submitCount);\n useEffect(() => {\n if (submitCount <= lastSubmitCount.current) return undefined;\n lastSubmitCount.current = submitCount;\n if (\n isEmpty(flatErrors) &&\n isRuleComplete({ rule, schema }) &&\n isEmpty(invalidScopeIndexes({ rule, schema })) &&\n isEmpty(invalidScopePhoneFieldIndexes({ rule, schema }))\n ) {\n return undefined;\n }\n\n setFlashSeq(submitCount);\n const timer = setTimeout(() => setFlashSeq(0), FLASH_DURATION_MS);\n\n return () => clearTimeout(timer);\n // eslint-disable-next-line react-hooks/exhaustive-deps\n }, [submitCount]);\n\n const hasErrorAt = ({ prefix, exclude = [] }) =>\n Object.keys(flatErrors).some(\n key =>\n (key === prefix || key.startsWith(`${prefix}.`)) &&\n !exclude.some(\n sub =>\n key === `${prefix}.${sub}` || key.startsWith(`${prefix}.${sub}.`)\n )\n );\n\n const matchesInvalid = ({ type, index }) => {\n const conditionMeta = `${fieldKeys.conditions}.value.${index}.metadata`;\n const actionMeta = `${fieldKeys.actions}.value.${index}.metadata`;\n // eslint-disable-next-line security/detect-object-injection\n const actionItem = rule.actions[index] || {};\n const channel =\n actionItem.channel ||\n schema.actions?.actionForName?.(actionItem.name)?.channel;\n\n const hasRecipientEditor = !!schema.actions?.renderRecipientEditor?.({\n channel,\n name: actionMeta,\n action: actionItem,\n });\n\n const hasRecipientField = !!schema.actions?.renderRecipientField?.({\n channel,\n recipient: actionItem.recipient,\n name: actionMeta,\n action: actionItem,\n });\n\n const flatOption =\n schema.actions?.optionForName?.(actionItem.name) ||\n schema.actions?.optionForChannel?.(channel);\n\n const recipientConfig = [\n ...(schema.actions?.options || []).flatMap(\n option => option.recipients || []\n ),\n ...(schema.actions?.recipients || []),\n ].find(item => (item.value ?? item.id) === actionItem.recipient);\n\n const recipientFields = [\n ...(hasRecipientEditor || hasRecipientField\n ? [RECIPIENT_STORAGE_FIELDS.emails]\n : []),\n ...(recipientConfig?.field\n ? [recipientStorageField(recipientConfig.field)]\n : []),\n ...(flatOption?.type === SMS_TO_NUMBERS\n ? [RECIPIENT_STORAGE_FIELDS.phoneNumbers]\n : []),\n ];\n switch (type) {\n case BUILDER_ANCHORS.TRIGGER_ACTOR: {\n const actorKey = schema.actor?.fieldKey;\n\n return !!actorKey && hasErrorAt({ prefix: `${actorKey}.value` });\n }\n case BUILDER_ANCHORS.TRIGGER_LEAD_TIME:\n return hasErrorAt({ prefix: `${fieldKeys.leadTime}.value` });\n case BUILDER_ANCHORS.COND_FIELD:\n return hasErrorAt({\n prefix: `${fieldKeys.conditions}.value.${index}.field`,\n });\n case BUILDER_ANCHORS.COND_OP_TOGGLE: {\n // eslint-disable-next-line security/detect-object-injection\n const condition = rule.conditions[index] || {};\n\n return !!condition.field && !condition.verb;\n }\n case BUILDER_ANCHORS.COND_VALUES:\n return hasErrorAt({ prefix: conditionMeta });\n case BUILDER_ANCHORS.ACTION_CONFIG:\n return hasErrorAt({ prefix: actionMeta, exclude: recipientFields });\n case BUILDER_ANCHORS.ACTION_RECIPIENT:\n return (\n hasErrorAt({\n prefix: `${fieldKeys.actions}.value.${index}.name`,\n }) ||\n recipientFields.some(field =>\n hasErrorAt({ prefix: `${actionMeta}.${field}` })\n )\n );\n case BUILDER_ANCHORS.ACTION_ADD:\n return !rule.actions.some(item => item?.channel || item?.name);\n case BUILDER_ANCHORS.RULE_DELAY:\n return hasErrorAt({ prefix: `${fieldKeys.delay}.value` });\n case BUILDER_ANCHORS.SCOPE:\n return invalidScopeIndexes({ rule, schema }).includes(index);\n case BUILDER_ANCHORS.SCOPE_PHONE_FIELD:\n return invalidScopePhoneFieldIndexes({ rule, schema }).includes(index);\n case BUILDER_ANCHORS.META_NAME:\n return hasErrorAt({ prefix: `${fieldKeys.name}.value` });\n default:\n return false;\n }\n };\n\n // Returns the submit generation, not a boolean, so consumers can replay the\n // flash animation when the same token is still invalid on a repeat submit.\n const isInvalid = args => (flashSeq && matchesInvalid(args) ? flashSeq : 0);\n\n const closePaneIfTargeting = ({ anchors, index }) => {\n if (\n panelState?.type &&\n anchors.includes(activeToken.anchor) &&\n activeToken.index === index\n ) {\n closePane();\n }\n };\n\n const handleRemoveCondition = index => {\n closePaneIfTargeting({ anchors: CONDITION_ANCHORS, index });\n removeCondition(index);\n };\n\n const handleRemoveAction = index => {\n closePaneIfTargeting({ anchors: ACTION_ANCHORS, index });\n removeAction(index);\n const remaining = rule.actions.filter((_, i) => i !== index);\n if (!remaining.some(action => action?.channel || action?.name)) {\n setScope([]);\n }\n };\n\n const handleRemoveDelay = () => {\n closePaneIfTargeting({\n anchors: [BUILDER_ANCHORS.RULE_DELAY],\n index: undefined,\n });\n setDelay(null);\n };\n\n // An actor with a single choice is not a choice; leaving it unset only makes\n // the user open a one-option pane to say the obvious.\n const actorOptions = schema?.actor?.enabled ? schema.actor.options || [] : [];\n const soleActorOption =\n actorOptions.length === 1\n ? (actorOptions[0].value ?? actorOptions[0].id ?? actorOptions[0])\n : null;\n\n const isTriggerSet = isTriggerSatisfied({ rule, schema });\n const hasAction = rule.actions.some(\n action => action?.channel || action?.name\n );\n const isScopeEnabled = schema?.scope?.enabled && isTriggerSet && hasAction;\n const handleRemoveScope = index => {\n closePaneIfTargeting({\n anchors: [BUILDER_ANCHORS.SCOPE_PHONE_FIELD],\n index,\n });\n setScope((rule.scope || []).filter((_, i) => i !== index));\n };\n const conditionFields = offeredConditionFields({ schema, rule });\n const canAddCondition = isNotEmpty(conditionFields);\n const canRemoveCondition =\n schema?.conditions?.allowEmpty !== false ||\n displayRule.conditions.length > 1;\n const leadTimeAppliesTo = schema?.triggers?.leadTime?.appliesTo || [];\n const hasLeadTimeTrigger = rule.triggers.some(trigger =>\n leadTimeAppliesTo.includes(trigger.name)\n );\n const isDelayEnabled = schema?.delay?.enabled && !hasLeadTimeTrigger;\n\n useEffect(() => {\n if (soleActorOption && !rule.performer) setPerformer(soleActorOption);\n // eslint-disable-next-line react-hooks/exhaustive-deps\n }, [soleActorOption, rule.performer]);\n\n useEffect(() => {\n if (hasLeadTimeTrigger && rule.delay) setDelay(null);\n // eslint-disable-next-line react-hooks/exhaustive-deps\n }, [hasLeadTimeTrigger, rule.delay]);\n\n const handleAddCondition = () => {\n if (isEmpty(conditionFields)) return;\n\n setConditions([\n ...rule.conditions,\n { joinType: joinTypeFor(rule.conditionMode), metadata: {} },\n ]);\n\n openPane({\n type: BUILDER_ANCHORS.COND_FIELD,\n index: rule.conditions.length,\n });\n };\n\n const handleClearTrigger = () => {\n clearTriggers();\n // Hosts without an actor pane can never re-set it, and null fails its validation.\n if (schema.actor?.enabled) setPerformer(soleActorOption);\n clearConditions();\n setDelay(null);\n clearActions();\n setScope([]);\n closePane();\n };\n\n const handleAddAction = () => {\n openPane({ type: BUILDER_ANCHORS.ACTION_ADD, index: rule.actions.length });\n };\n\n const slotCtx = { rule, schema, openPane };\n const renderSlot = name =>\n // eslint-disable-next-line security/detect-object-injection\n schema?.slots?.[name]?.(slotCtx) ?? null;\n\n return (\n <div className=\"neeto-rules-builder nrb-atoms\">\n <div className=\"mb-canvas neeto-rules-main-card\">\n {renderSlot(\"beforeWhen\")}\n <WhenBlock\n {...{ isActive, isInvalid, schema }}\n rule={displayRule}\n onClearTrigger={isTriggerSet && handleClearTrigger}\n onToken={openPane}\n onAddCondition={\n canAddCondition &&\n isEmpty(displayRule.conditions) &&\n handleAddCondition\n }\n />\n {renderSlot(\"afterWhen\")}\n {displayRule.conditions.map((condition, index) => (\n <ConditionRow\n {...{ condition, index, isActive, isInvalid, schema }}\n key={condition.id ?? index}\n rule={displayRule}\n onToken={openPane}\n onAddCondition={\n canAddCondition &&\n index === displayRule.conditions.length - 1 &&\n handleAddCondition\n }\n onRemove={\n canRemoveCondition && (() => handleRemoveCondition(index))\n }\n />\n ))}\n {renderSlot(\"afterConditions\")}\n <Connector active={isTriggerSet} />\n {isDelayEnabled &&\n isTriggerSet &&\n (rule.delay ? (\n <Fragment>\n <DelayRow\n {...{ isActive, isInvalid, rule }}\n onRemove={handleRemoveDelay}\n onToken={openPane}\n />\n <Connector active />\n </Fragment>\n ) : (\n <div className=\"mb-add-row\">\n <Button\n data-testid=\"rule-delay-add\"\n icon={Plus}\n iconPosition=\"left\"\n label={t(\"neetoRules.common.addDelay\")}\n size=\"sm\"\n variant=\"secondary\"\n onClick={() => openPane({ type: BUILDER_ANCHORS.RULE_DELAY })}\n />\n </div>\n ))}\n <ThenBlock\n {...{ isActive, isInvalid, schema }}\n adding={addingAction}\n rule={displayRule}\n onAddAction={handleAddAction}\n onRemoveAction={handleRemoveAction}\n onToken={openPane}\n />\n {renderSlot(\"afterActions\")}\n {isScopeEnabled && (\n <Fragment>\n <Connector active />\n <ScopeBlock\n {...{ isActive, isInvalid, schema }}\n rule={displayRule}\n onRemoveScope={handleRemoveScope}\n onToken={openPane}\n />\n </Fragment>\n )}\n <Connector active />\n <MetaBlock\n {...{ rule }}\n isInvalid={isInvalid({ type: BUILDER_ANCHORS.META_NAME })}\n showName={schema?.meta?.showName ?? true}\n onEditName={() => openPane({ type: BUILDER_ANCHORS.META_NAME })}\n onToggleActive={event => setActive(event.target.checked)}\n />\n </div>\n </div>\n );\n};\n\nexport default Canvas;\n","export const ACTION_CONFIG_TYPES = {\n emailChannel: \"emailChannel\",\n sendToApi: \"sendToApi\",\n multiSelect: \"multiSelect\",\n dropdown: \"dropdown\",\n note: \"note\",\n list: \"list\",\n textarea: \"textarea\",\n number: \"number\",\n text: \"text\",\n regex: \"regex\",\n decimal: \"decimal\",\n date: \"date\",\n};\n\nexport const CONDITION_VALUE_TYPES = {\n multiSelect: \"multi-select\",\n multiSelectCreate: \"multi-select-create\",\n number: \"number\",\n email: \"email\",\n};\n","import {\n Checkbox,\n DatePicker,\n Input,\n RadioGroup,\n Select,\n Textarea,\n Typography,\n} from \"@bigbinary/neeto-atoms\";\nimport { getIn, useFormikContext } from \"formik\";\nimport { isNot, isNotEmpty } from \"neetocist\";\nimport { dayjs } from \"neetocommons/v2/utils\";\nimport { isEmpty } from \"ramda\";\nimport { useTranslation } from \"react-i18next\";\n\nimport { DATE_FORMAT } from \"src/constants/dateTime\";\n\nimport { ACTION_CONFIG_TYPES } from \"./constants\";\n\nimport ApiFields from \"../../../NeetoRulesForm/Element/Actions/Fields/ApiFields\";\nimport EditorAction from \"../../../NeetoRulesForm/Element/Actions/Fields/Common/EditorAction\";\nimport ListField from \"../../../NeetoRulesForm/Element/Actions/Fields/ListField\";\nimport { normalizeOptions } from \"../utils\";\n\nconst restoreTokens = text =>\n text ? text.replace(/\\[\\[/g, \"{{\").replace(/\\]\\]/g, \"}}\") : text;\n\nconst ActionConfigFields = ({\n name,\n option,\n action,\n searchTerm = \"\",\n hasRecipientField = false,\n}) => {\n const { t } = useTranslation();\n const { values, setFieldValue, setFieldTouched, errors, touched } =\n useFormikContext();\n const type = option?.type;\n const options = normalizeOptions(option?.dropdownOptions);\n const valuePath = `${name}.value`;\n\n const fieldError = path => getIn(touched, path) && getIn(errors, path);\n\n const term = searchTerm.trim().toLowerCase();\n const filterOptions = list =>\n term\n ? list.filter(item => String(item.label).toLowerCase().includes(term))\n : list;\n\n const hint = restoreTokens(option?.dynamicValuesHint);\n const hintBlock = hint ? (\n <Typography color=\"muted\" variant=\"body3\">\n {hint}\n </Typography>\n ) : null;\n\n const noOptionsMessage = () => {\n const noun = option?.valueNounPlural || option?.valueNoun;\n\n return (\n <Typography color=\"muted\" variant=\"body2\">\n {noun\n ? t(\"neetoRules.builder.config.noOptionsFor\", { field: noun })\n : t(\"neetoRules.builder.config.noOptions\")}\n </Typography>\n );\n };\n\n const noMatches = (\n <div className=\"mb-pane-empty\" data-testid=\"pane-no-matches\">\n {t(\"neetoRules.builder.noMatches\")}\n </div>\n );\n\n if (type === ACTION_CONFIG_TYPES.sendToApi) {\n return <ApiFields {...{ name }} selectedField={option} />;\n }\n\n if (type === ACTION_CONFIG_TYPES.emailChannel) {\n const subjectPath = `${name}.subject`;\n const bodyPath = `${name}.body`;\n // Hosts whose email action picks its recipient from a list keep that\n // choice in the same pane as the message.\n const hasRecipientList = isNotEmpty(options) && !hasRecipientField;\n\n return (\n <div className=\"flex flex-col gap-4\">\n {hasRecipientList && (\n <Select\n {...{ options }}\n required\n error={fieldError(valuePath)}\n placeholder={option?.valuePlaceholder}\n size=\"large\"\n value={getIn(values, valuePath) ?? undefined}\n label={\n option?.recipientLabel || t(\"neetoRules.builder.config.recipient\")\n }\n onBlur={() => setFieldTouched(valuePath, true)}\n onChange={value => setFieldValue(valuePath, value)}\n />\n )}\n {!option?.hideSubject && (\n <Input\n required\n error={fieldError(subjectPath)}\n label={t(\"neetoRules.builder.config.subject\")}\n placeholder={t(\"neetoRules.builder.config.subjectPlaceholder\")}\n size=\"large\"\n value={getIn(values, subjectPath) ?? \"\"}\n onBlur={() => setFieldTouched(subjectPath, true)}\n onChange={event => setFieldValue(subjectPath, event.target.value)}\n />\n )}\n <EditorAction\n required\n label={t(\"neetoRules.builder.config.body\")}\n name={bodyPath}\n placeholder={t(\"neetoRules.builder.config.bodyPlaceholder\")}\n value={action?.metadata?.body}\n variables={option?.variables}\n />\n {hintBlock}\n </div>\n );\n }\n\n if (type === ACTION_CONFIG_TYPES.multiSelect) {\n if (isEmpty(options)) return noOptionsMessage();\n\n const current = getIn(values, valuePath) || [];\n const filtered = filterOptions(options);\n if (term && isEmpty(filtered)) return noMatches;\n\n const toggle = value => {\n setFieldTouched(valuePath, true);\n setFieldValue(\n valuePath,\n current.includes(value)\n ? current.filter(isNot(value))\n : [...current, value]\n );\n };\n\n return (\n <div className=\"mb-pane-list flex flex-col\">\n {filtered.map(item => (\n <Checkbox\n checked={current.includes(item.value)}\n key={item.value}\n label={item.label}\n onCheckedChange={() => toggle(item.value)}\n />\n ))}\n {fieldError(valuePath) && (\n <Typography color=\"destructive\" variant=\"body3\">\n {fieldError(valuePath)}\n </Typography>\n )}\n </div>\n );\n }\n\n if (type === ACTION_CONFIG_TYPES.dropdown) {\n if (isEmpty(options)) return noOptionsMessage();\n\n const current = getIn(values, valuePath);\n const filtered = filterOptions(options);\n if (term && isEmpty(filtered)) return noMatches;\n\n return (\n <RadioGroup\n error={fieldError(valuePath)}\n orientation=\"vertical\"\n value={String(current ?? \"\")}\n onValueChange={value => {\n const picked = options.find(item => String(item.value) === value);\n setFieldValue(valuePath, picked ? picked.value : value);\n }}\n >\n {filtered.map(item => (\n <RadioGroup.Item\n key={item.value}\n label={item.label}\n value={String(item.value)}\n />\n ))}\n </RadioGroup>\n );\n }\n\n if (type === ACTION_CONFIG_TYPES.list) {\n return (\n <div className=\"flex flex-col gap-2\">\n <ListField name={valuePath} />\n {hintBlock}\n </div>\n );\n }\n\n if (type === ACTION_CONFIG_TYPES.note) {\n return (\n <div className=\"flex flex-col gap-2\">\n <EditorAction\n required\n label={t(\"neetoRules.builder.config.note\")}\n name={valuePath}\n placeholder={t(\"neetoRules.builder.config.bodyPlaceholder\")}\n value={action?.metadata?.value}\n variables={option?.variables}\n />\n {hintBlock}\n </div>\n );\n }\n\n if (\n type === ACTION_CONFIG_TYPES.textarea ||\n type === ACTION_CONFIG_TYPES.number\n ) {\n return type === ACTION_CONFIG_TYPES.number ? (\n <Input\n required\n error={fieldError(valuePath)}\n label={t(\"neetoRules.builder.config.value\")}\n size=\"large\"\n type=\"number\"\n value={getIn(values, valuePath) ?? \"\"}\n onBlur={() => setFieldTouched(valuePath, true)}\n onChange={event => setFieldValue(valuePath, event.target.value)}\n />\n ) : (\n <Textarea\n required\n error={fieldError(valuePath)}\n label={t(\"neetoRules.builder.config.message\")}\n rows={5}\n size=\"large\"\n value={getIn(values, valuePath) ?? \"\"}\n onBlur={() => setFieldTouched(valuePath, true)}\n onChange={event => setFieldValue(valuePath, event.target.value)}\n />\n );\n }\n\n if (\n type === ACTION_CONFIG_TYPES.text ||\n type === ACTION_CONFIG_TYPES.regex ||\n type === ACTION_CONFIG_TYPES.decimal\n ) {\n return (\n <div className=\"flex flex-col gap-2\">\n <Input\n required\n error={fieldError(valuePath)}\n label={t(\"neetoRules.builder.config.value\")}\n placeholder={option?.valuePlaceholder}\n size=\"large\"\n value={getIn(values, valuePath) ?? \"\"}\n onBlur={() => setFieldTouched(valuePath, true)}\n onChange={event => setFieldValue(valuePath, event.target.value)}\n />\n {hintBlock}\n </div>\n );\n }\n\n if (type === ACTION_CONFIG_TYPES.date) {\n return (\n <div className=\"flex flex-col gap-2\">\n <DatePicker\n required\n error={fieldError(valuePath)}\n label={t(\"neetoRules.builder.config.value\")}\n type=\"date\"\n value={\n getIn(values, valuePath)\n ? dayjs(getIn(values, valuePath))\n : undefined\n }\n onBlur={() => setFieldTouched(valuePath, true)}\n onChange={date =>\n setFieldValue(\n valuePath,\n // eslint-disable-next-line @bigbinary/neeto/use-standard-date-time-formats\n date ? dayjs(date).format(DATE_FORMAT) : \"\"\n )\n }\n />\n {hintBlock}\n </div>\n );\n }\n\n return (\n <Typography variant=\"body2\">{t(\"neetoRules.builder.noConfig\")}</Typography>\n );\n};\n\nexport default ActionConfigFields;\n","import { useEffect, useRef } from \"react\";\n\nimport { flatten } from \"flat\";\nimport { useFormikContext } from \"formik\";\nimport { isEmpty } from \"ramda\";\n\nconst keysUnder = ({ obj, prefix, exclude = [] }) =>\n Object.keys(flatten(obj || {})).filter(\n key =>\n (key === prefix || key.startsWith(`${prefix}.`)) &&\n !exclude.some(\n sub => key === `${prefix}.${sub}` || key.startsWith(`${prefix}.${sub}.`)\n )\n );\n\nconst usePaneValidation = prefix => {\n const { validateForm, setFieldTouched, errors } = useFormikContext();\n const errorsRef = useRef(errors);\n errorsRef.current = errors;\n\n useEffect(() => {\n keysUnder({ obj: errorsRef.current, prefix }).forEach(key =>\n setFieldTouched(key, false, false)\n );\n\n return () => {\n keysUnder({ obj: errorsRef.current, prefix }).forEach(key =>\n setFieldTouched(key, true, false)\n );\n };\n // eslint-disable-next-line react-hooks/exhaustive-deps\n }, [prefix]);\n\n const validate = async (exclude = []) => {\n const nextErrors = await validateForm();\n const offending = keysUnder({ obj: nextErrors, prefix, exclude });\n offending.forEach(key => setFieldTouched(key, true, false));\n\n return isEmpty(offending);\n };\n\n return { validate };\n};\n\nexport default usePaneValidation;\n","import { useEffect, useRef, useState } from \"react\";\n\nimport { Button, Input, Typography } from \"@bigbinary/neeto-atoms\";\nimport { useFormikContext } from \"formik\";\nimport useHotkeys from \"neetohotkeys\";\nimport { Search } from \"neetoicons\";\nimport { useTranslation } from \"react-i18next\";\n\nimport { SHORTCUTS } from \"src/constants/keyboardShortcuts\";\n\nimport ActionConfigFields from \"./Fields/ActionConfigFields\";\nimport { normalizeOptions } from \"./utils\";\n\nimport ErrorCallout from \"../../NeetoRulesForm/Element/Actions/ErrorCallout\";\nimport SmsFields from \"../../NeetoRulesForm/Element/Actions/Fields/SmsFields\";\nimport Panel from \"../../NeetoRulesForm/Panel\";\nimport {\n BUILDER_ANCHORS,\n BUILDER_PANEL_TYPES,\n CONFIG_FOCUSABLE_SELECTOR,\n PANE_SEARCH_THRESHOLD,\n RECIPIENT_STORAGE_FIELDS,\n SMS_TYPES,\n} from \"../constants\";\nimport usePaneCascade from \"../hooks/usePaneCascade\";\nimport usePaneValidation from \"../hooks/usePaneValidation\";\nimport useRuleModel from \"../hooks/useRuleModel\";\nimport { actionParts } from \"../utils\";\n\nconst ConfigPane = ({ schema, index }) => {\n const { t } = useTranslation();\n const { rule, fieldKeys } = useRuleModel(schema);\n const { setFieldValue } = useFormikContext();\n const { openType, closePane } = usePaneCascade(schema);\n const bodyRef = useRef(null);\n\n const [searchTerm, setSearchTerm] = useState(\"\");\n\n // eslint-disable-next-line security/detect-object-injection\n const action = rule.actions[index] || {};\n const base = `${fieldKeys.actions}.value.${index}`;\n const {\n option,\n channel,\n verb,\n mediumLabel,\n needsRecipient,\n configTitle,\n configSubtitle,\n } = actionParts({ schema, action });\n const name = `${base}.metadata`;\n\n const flatOption =\n schema.actions?.optionForName?.(action.name) ||\n schema.actions?.optionForChannel?.(channel) ||\n option;\n\n // When the chosen recipient declares its own field, the recipient pane\n // renders it; showing the same picker here too would just duplicate it.\n const recipientValue =\n action.recipient ?? schema.actions?.actionForName?.(action.name)?.recipient;\n\n const hasRecipientField = !!(schema.actions?.recipients || [])\n .concat((schema.actions?.options || []).flatMap(o => o.recipients || []))\n .find(item => (item.value ?? item.id) === recipientValue)?.field;\n\n const isSms = SMS_TYPES.includes(flatOption?.type);\n\n const disabledReason = flatOption?.isDisabled && flatOption.disabledReason;\n const hostRenderConfig =\n flatOption?.renderConfig ||\n flatOption?.component ||\n schema.actions?.renderConfig;\n\n const showSearch =\n normalizeOptions(flatOption?.dropdownOptions).length >=\n PANE_SEARCH_THRESHOLD;\n\n const shouldAdvanceToRecipient = !!needsRecipient;\n\n const { validate } = usePaneValidation(name);\n\n const channelRepName = schema.actions?.optionForChannel?.(channel)?.value;\n const unnamedOnOpen = useRef(!action.name);\n useEffect(() => {\n if (!unnamedOnOpen.current || !channelRepName) return undefined;\n setFieldValue(`${base}.name`, channelRepName);\n\n return () => setFieldValue(`${base}.name`, \"\");\n // eslint-disable-next-line react-hooks/exhaustive-deps\n }, [base, channelRepName]);\n\n useEffect(() => {\n if (isSms) return undefined;\n\n let frame;\n let attempts = 0;\n const focusFirst = () => {\n const first = bodyRef.current?.querySelector(CONFIG_FOCUSABLE_SELECTOR);\n if (first) {\n first.focus();\n } else if (attempts++ < 20) {\n frame = requestAnimationFrame(focusFirst);\n }\n };\n frame = requestAnimationFrame(focusFirst);\n\n return () => cancelAnimationFrame(frame);\n }, [isSms, action.name]);\n\n const title =\n configTitle ||\n (mediumLabel &&\n t(\"neetoRules.builder.setUpMediumLabel\", {\n verb: verb || t(\"neetoRules.builder.setUp\"),\n mediumLabel,\n })) ||\n option?.label ||\n t(\"neetoRules.builder.setUpAction\");\n\n const handleContinue = async () => {\n if (!(await validate([RECIPIENT_STORAGE_FIELDS.emails]))) return;\n\n if (shouldAdvanceToRecipient) {\n openType({\n type: BUILDER_PANEL_TYPES.RECIPIENT,\n data: { index, anchor: BUILDER_ANCHORS.ACTION_RECIPIENT },\n });\n } else {\n closePane();\n }\n };\n\n useHotkeys(SHORTCUTS.continue.sequence, handleContinue, { mode: \"global\" });\n\n return (\n <>\n <Panel.Header>\n <div className=\"flex w-full flex-col gap-y-2\">\n <Typography data-testid=\"pane-title\" variant=\"h5\">\n {title}\n </Typography>\n {configSubtitle && (\n <Typography color=\"muted\" variant=\"body2\">\n {configSubtitle}\n </Typography>\n )}\n {showSearch && (\n <div className=\"mb-pane-search\">\n <Input\n dataTestid=\"pane-search\"\n placeholder={t(\"neetoRules.builder.searchPlaceholder\")}\n prefix={<Search />}\n size=\"large\"\n value={searchTerm}\n onChange={event => setSearchTerm(event.target.value)}\n />\n </div>\n )}\n </div>\n </Panel.Header>\n <Panel.Body>\n <div ref={bodyRef}>\n {disabledReason && (\n <div className=\"mb-4\">\n <ErrorCallout\n message={disabledReason}\n selectedField={flatOption}\n />\n </div>\n )}\n {isSms ? (\n <SmsFields\n {...{ action, index, name }}\n shouldAutoFocus\n hint={t(\"neetoRules.builder.config.smsSegmentHint\")}\n selectedField={flatOption}\n showPhoneNumberInput={false}\n />\n ) : (\n (hostRenderConfig?.({\n name,\n action,\n option: flatOption,\n searchTerm,\n }) ?? (\n <ActionConfigFields\n {...{ action, hasRecipientField, name, searchTerm }}\n option={flatOption}\n />\n ))\n )}\n </div>\n </Panel.Body>\n <Panel.Footer>\n <Button\n data-testid=\"continue-button\"\n label={t(\"neetoRules.buttons.continue\")}\n size=\"lg\"\n onClick={handleContinue}\n />\n </Panel.Footer>\n </>\n );\n};\n\nexport default ConfigPane;\n","import { useEffect, useRef } from \"react\";\n\nimport { Typography } from \"@bigbinary/neeto-atoms\";\nimport { Input, Select } from \"@bigbinary/neeto-atoms/formik\";\nimport { useField, useFormikContext } from \"formik\";\nimport { isNotEmpty } from \"neetocist\";\nimport { isEmpty } from \"ramda\";\nimport { useTranslation } from \"react-i18next\";\n\nimport {\n MAX_DELAY_VALUE,\n MIN_DELAY_VALUE,\n} from \"v2/components/NeetoRulesForm/constants\";\n\nimport { normalizeOptions } from \"./utils\";\n\nimport Panel from \"../../NeetoRulesForm/Panel\";\nimport { DEFAULT_DELAY_UNITS, DEFAULT_DELAY_VALUE } from \"../constants\";\nimport usePaneValidation from \"../hooks/usePaneValidation\";\nimport useRuleModel from \"../hooks/useRuleModel\";\n\nconst DelayPane = ({ schema }) => {\n const { t } = useTranslation();\n const { fieldKeys } = useRuleModel(schema);\n const { setFieldValue, setFieldTouched, getFieldMeta } = useFormikContext();\n const bodyRef = useRef(null);\n\n const name = fieldKeys.delay;\n const [{ value }] = useField(`${name}.value`);\n\n const units = normalizeOptions(schema.delay?.units);\n const unitOptions = isNotEmpty(units) ? units : DEFAULT_DELAY_UNITS;\n\n usePaneValidation(`${name}.value`);\n\n useEffect(() => {\n if (value?.value === undefined) return;\n\n if (getFieldMeta(`${name}.value.value`).touched) return;\n setFieldTouched(`${name}.value.value`, true, false);\n // eslint-disable-next-line react-hooks/exhaustive-deps\n }, [value?.value]);\n\n useEffect(() => {\n if (isEmpty(value || {})) {\n setFieldValue(`${name}.value`, {\n value: DEFAULT_DELAY_VALUE,\n unit: unitOptions[0]?.value ?? DEFAULT_DELAY_UNITS[0].value,\n });\n }\n // eslint-disable-next-line react-hooks/exhaustive-deps\n }, []);\n\n useEffect(() => {\n const first = bodyRef.current?.querySelector(\"input\");\n // eslint-disable-next-line @bigbinary/neeto/prefer-function-reference\n if (first) setTimeout(() => first.focus(), 0);\n }, []);\n\n return (\n <>\n <Panel.Header>\n <div className=\"flex flex-col gap-y-1\">\n <Typography data-testid=\"pane-title\" variant=\"h5\">\n {t(\"neetoRules.common.addDelay\")}\n </Typography>\n <Typography color=\"muted\" variant=\"body2\">\n {t(\"neetoRules.helpText.addDelay\")}\n </Typography>\n </div>\n </Panel.Header>\n <Panel.Body>\n <div className=\"flex flex-col gap-y-1.5\" ref={bodyRef}>\n <Typography variant=\"body2\" weight=\"medium\">\n {t(\"neetoRules.builder.waitFor\")}\n </Typography>\n <div className=\"flex items-start gap-x-2\">\n <Input\n className=\"w-44\"\n dataTestid=\"delay-value\"\n max={MAX_DELAY_VALUE}\n min={MIN_DELAY_VALUE}\n name={`${name}.value.value`}\n placeholder={t(\"neetoRules.placeholders.enterDelay\")}\n size=\"large\"\n type=\"number\"\n />\n <Select\n dataTestid=\"delay-unit\"\n defaultValue={value?.unit}\n name={`${name}.value.unit`}\n options={unitOptions}\n size=\"large\"\n onChange={nextUnit =>\n setFieldValue(`${name}.value.unit`, nextUnit)\n }\n />\n </div>\n </div>\n </Panel.Body>\n </>\n );\n};\n\nexport default DelayPane;\n","import { isNil } from \"ramda\";\n\nexport const toNumber = value =>\n value === \"\" || isNil(value) ? null : Number(value);\n\nexport const clamp = ({ value, min, max }) => {\n let next = value;\n if (!isNil(min)) next = Math.max(min, next);\n\n if (!isNil(max)) next = Math.min(max, next);\n\n return next;\n};\n\nexport const asText = value =>\n value === \"\" || isNil(value) ? \"\" : String(value);\n","import { useState } from \"react\";\n\nimport { Input } from \"@bigbinary/neeto-atoms\";\nimport { Up, Down } from \"neetoicons\";\nimport { useTranslation } from \"react-i18next\";\n\nimport { toNumber, clamp, asText } from \"./utils\";\n\nimport { SKIP_TAB_INDEX, STEPPER_DELTA, STEPPER_MIN_VALUE } from \"../constants\";\n\nconst NumberStepper = ({\n value,\n onChange,\n dataTestid,\n label,\n min = STEPPER_MIN_VALUE,\n max,\n required,\n error,\n}) => {\n const { t } = useTranslation();\n const [draft, setDraft] = useState(null);\n\n const display = draft ?? asText(value);\n\n const commit = raw => {\n setDraft(raw);\n onChange(raw === \"\" ? (min ?? 0) : clamp({ value: Number(raw), min, max }));\n };\n\n const step = delta => {\n setDraft(null);\n const base = Number.isFinite(toNumber(value))\n ? toNumber(value)\n : (min ?? 0);\n onChange(clamp({ value: base + delta, min, max }));\n };\n\n return (\n <div className=\"mb-stepper\">\n <Input\n {...{ dataTestid, error, label, min, required }}\n autoFocus\n type=\"number\"\n value={display}\n suffix={\n <div className=\"mb-stepper-controls\">\n <button\n aria-label={t(\"neetoRules.builder.aria.increase\")}\n className=\"mb-stepper-btn\"\n data-testid=\"stepper-increase\"\n tabIndex={SKIP_TAB_INDEX}\n type=\"button\"\n onClick={() => step(STEPPER_DELTA.INCREMENT)}\n >\n <Up />\n </button>\n <button\n aria-label={t(\"neetoRules.builder.aria.decrease\")}\n className=\"mb-stepper-btn\"\n data-testid=\"stepper-decrease\"\n tabIndex={SKIP_TAB_INDEX}\n type=\"button\"\n onClick={() => step(STEPPER_DELTA.DECREMENT)}\n >\n <Down />\n </button>\n </div>\n }\n onBlur={() => setDraft(null)}\n onChange={event => commit(event.target.value)}\n onFocus={event => event.target.select()}\n />\n </div>\n );\n};\n\nexport default NumberStepper;\n","import { useEffect } from \"react\";\n\nimport { Select, Typography } from \"@bigbinary/neeto-atoms\";\nimport { useField, useFormikContext } from \"formik\";\nimport { useTranslation } from \"react-i18next\";\n\nimport Panel from \"../../NeetoRulesForm/Panel\";\nimport NumberStepper from \"../Common/NumberStepper\";\nimport { LEAD_TIME_UNITS } from \"../constants\";\nimport usePaneValidation from \"../hooks/usePaneValidation\";\nimport useRuleModel from \"../hooks/useRuleModel\";\nimport { minutesToParts, partsToMinutes } from \"../utils\";\n\nconst LeadTimePane = ({ schema }) => {\n const { t } = useTranslation();\n const { setFieldValue, setFieldTouched, getFieldMeta } = useFormikContext();\n const { rule, fieldKeys } = useRuleModel(schema);\n\n const { value: amount, unit } = minutesToParts(rule.leadTime);\n const path = `${fieldKeys.leadTime}.value`;\n const [, { error, touched }] = useField(path);\n const update = ({ value, unit: nextUnit }) =>\n setFieldValue(path, partsToMinutes({ value, unit: nextUnit }));\n\n usePaneValidation(path);\n\n useEffect(() => {\n if (rule.leadTime === undefined) return;\n\n if (getFieldMeta(path).touched) return;\n setFieldTouched(path, true, false);\n // eslint-disable-next-line react-hooks/exhaustive-deps\n }, [rule.leadTime]);\n\n return (\n <>\n <Panel.Header>\n <div className=\"flex flex-col gap-y-1\">\n <Typography data-testid=\"pane-title\" variant=\"h5\">\n {t(\"neetoRules.builder.leadTimeTitle\")}\n </Typography>\n <Typography color=\"muted\" variant=\"body2\">\n {t(\"neetoRules.builder.leadTimeSubtitle\")}\n </Typography>\n </div>\n </Panel.Header>\n <Panel.Body>\n <div className=\"flex flex-col gap-y-1.5\">\n <Typography variant=\"body2\" weight=\"medium\">\n {t(\"neetoRules.builder.before\")}\n </Typography>\n <div className=\"flex items-start gap-x-3\">\n <div className=\"flex-1\">\n <NumberStepper\n dataTestid=\"lead-time\"\n error={touched ? error : \"\"}\n value={amount}\n onChange={value =>\n update({ value: value === \"\" ? 0 : value, unit })\n }\n />\n </div>\n <div className=\"w-32 shrink-0\">\n <Select\n dataTestid=\"lead-time-unit\"\n isSearchable={false}\n options={LEAD_TIME_UNITS}\n value={unit}\n onChange={nextUnit => update({ value: amount, unit: nextUnit })}\n />\n </div>\n </div>\n </div>\n </Panel.Body>\n </>\n );\n};\n\nexport default LeadTimePane;\n","import { Typography } from \"@bigbinary/neeto-atoms\";\nimport { Input } from \"@bigbinary/neeto-atoms/formik\";\nimport { useTranslation } from \"react-i18next\";\n\nimport Panel from \"../../NeetoRulesForm/Panel\";\nimport useRuleModel from \"../hooks/useRuleModel\";\n\nconst NamePane = ({ schema }) => {\n const { t } = useTranslation();\n const { fieldKeys } = useRuleModel(schema);\n\n return (\n <>\n <Panel.Header>\n <div className=\"flex flex-col gap-y-1\">\n <Typography data-testid=\"pane-title\" variant=\"h5\">\n {t(\"neetoRules.builder.automationName\")}\n </Typography>\n <Typography color=\"muted\" variant=\"body2\">\n {t(\"neetoRules.builder.nameSubtitle\")}\n </Typography>\n </div>\n </Panel.Header>\n <Panel.Body>\n <Input\n autoFocus\n required\n label={t(\"neetoRules.common.name\")}\n name={`${fieldKeys.name}.value`}\n placeholder={t(\"neetoRules.builder.nameYourAutomation\")}\n size=\"large\"\n />\n </Panel.Body>\n </>\n );\n};\n\nexport default NamePane;\n","import {\n Fragment,\n isValidElement,\n useEffect,\n useMemo,\n useRef,\n useState,\n} from \"react\";\n\nimport {\n Button,\n Checkbox,\n Input,\n Popover,\n RadioGroup,\n Tooltip,\n Typography,\n} from \"@bigbinary/neeto-atoms\";\nimport { useFormikContext } from \"formik\";\nimport { isNot } from \"neetocist\";\nimport useHotkeys from \"neetohotkeys\";\nimport { Info, Search } from \"neetoicons\";\nimport { isEmpty } from \"ramda\";\nimport { useTranslation } from \"react-i18next\";\n\nimport { SHORTCUTS } from \"src/constants/keyboardShortcuts\";\nimport useUtilityStore from \"v2/components/stores/useUtilityStore\";\n\nimport {\n descriptorFor,\n commitFor,\n continueTargetFor,\n groupByCategory,\n} from \"./utils\";\n\nimport Panel from \"../../NeetoRulesForm/Panel\";\nimport { PANE_SEARCH_THRESHOLD } from \"../constants\";\nimport usePaneCascade from \"../hooks/usePaneCascade\";\nimport useRuleModel from \"../hooks/useRuleModel\";\n\nconst OptionsPane = ({\n schema,\n anchor,\n index,\n belowContent = null,\n configPending = false,\n}) => {\n const { t } = useTranslation();\n const { setFieldValue } = useFormikContext();\n const { rule, fieldKeys, setTriggers, setPerformer, setConditionMode } =\n useRuleModel(schema);\n const { openType, closePane } = usePaneCascade(schema);\n const { setBuilderPreview } = useUtilityStore.pick();\n\n const [searchTerm, setSearchTerm] = useState(\"\");\n const searchRef = useRef(null);\n\n // eslint-disable-next-line react-hooks/exhaustive-deps\n useEffect(() => () => setBuilderPreview(null), []);\n\n useEffect(() => {\n searchRef.current?.querySelector(\"input\")?.focus();\n }, []);\n\n const { title, subtitle, multi, options, selectedValues, cascade } = useMemo(\n () => descriptorFor({ anchor, schema, rule, index }),\n [anchor, schema, rule, index]\n );\n\n const helpers = {\n setTriggers,\n setPerformer,\n setConditionMode,\n setFieldValue,\n fieldKeys,\n };\n\n const showSearch =\n schema?.searchable !== false && options.length >= PANE_SEARCH_THRESHOLD;\n const term = searchTerm.trim().toLowerCase();\n const filtered = useMemo(\n () =>\n term\n ? options.filter(option => option.label.toLowerCase().includes(term))\n : options,\n [options, term]\n );\n const groups = useMemo(() => groupByCategory(filtered), [filtered]);\n // eslint-disable-next-line @bigbinary/neeto/prefer-function-reference\n const isSelected = value => selectedValues.includes(value);\n\n const handleSelect = value => {\n setBuilderPreview(null);\n const result = commitFor({ anchor, schema, rule, index, value, helpers });\n if (result === \"close\") closePane();\n };\n\n const multiCandidate = optionValue =>\n selectedValues.includes(optionValue)\n ? selectedValues.filter(isNot(optionValue))\n : [...selectedValues.filter(Boolean), optionValue];\n\n const previewHandlers = optionValue => {\n const value = multi ? multiCandidate(optionValue) : optionValue;\n\n return {\n onMouseEnter: () => setBuilderPreview({ anchor, index, value }),\n onMouseLeave: () => setBuilderPreview(null),\n };\n };\n\n const handleContinue = () => {\n const target = continueTargetFor({\n anchor,\n schema,\n rule,\n index,\n configPending,\n });\n if (target) openType({ type: target.type, data: target.data });\n else closePane();\n };\n\n const canContinue = cascade && selectedValues.some(Boolean);\n useHotkeys(SHORTCUTS.continue.sequence, handleContinue, {\n enabled: canContinue,\n mode: \"global\",\n });\n\n const optionLabel = option => {\n const Icon = option.icon;\n // Short text sits inline as a pill; anything needing more room is a\n // standard popover behind an info icon.\n const reason =\n typeof option.disabledReason === \"function\"\n ? option.disabledReason()\n : option.disabledReason;\n const isTextReason = typeof reason === \"string\";\n // Only a node can be rendered as popover content; a host handing back a\n // plain object would otherwise crash the pane.\n const isNodeReason = isValidElement(reason) || Array.isArray(reason);\n const popover =\n option.disabledPopover || (isNodeReason ? { description: reason } : null);\n\n if (!Icon && !isTextReason && !popover) return option.label;\n\n return (\n <span className=\"mb-pane-option\">\n {Icon && <Icon size={20} />}\n {option.label}\n {popover && (\n <Popover\n position=\"top\"\n trigger={\n <span\n className=\"mb-pane-info\"\n onClick={event => event.preventDefault()}\n >\n <Info size={14} />\n </span>\n }\n >\n {popover.title && <Popover.Title>{popover.title}</Popover.Title>}\n <Typography color=\"muted\" variant=\"body2\">\n {popover.description}\n </Typography>\n {popover.helpLinkProps && (\n <Button\n {...popover.helpLinkProps}\n className=\"h-auto self-start p-0\"\n size=\"sm\"\n variant=\"link\"\n />\n )}\n </Popover>\n )}\n {!popover &&\n reason &&\n isTextReason &&\n (option.disabledTooltip ? (\n <Tooltip content={option.disabledTooltip} position=\"top\">\n <span className=\"mb-pane-warn\">{reason}</span>\n </Tooltip>\n ) : (\n <span className=\"mb-pane-warn\">{reason}</span>\n ))}\n </span>\n );\n };\n\n const renderGroupHeader = category =>\n category && <div className=\"mb-pane-group\">{category}</div>;\n\n const renderBody = () => {\n if (isEmpty(filtered)) {\n return (\n <div className=\"mb-pane-empty\" data-testid=\"pane-no-matches\">\n {t(\"neetoRules.builder.noMatches\")}\n </div>\n );\n }\n\n if (multi) {\n return (\n <div className=\"mb-pane-list flex flex-col\">\n {groups.map(([category, items]) => (\n <Fragment key={category || \"_uncategorized\"}>\n {renderGroupHeader(category)}\n {items.map(option => (\n <Checkbox\n checked={isSelected(option.value)}\n disabled={option.disabled}\n key={option.value}\n label={optionLabel(option)}\n labelProps={previewHandlers(option.value)}\n onCheckedChange={() => handleSelect(option.value)}\n {...(option.icon || option.disabledReason\n ? { dataTestid: option.value }\n : {})}\n {...previewHandlers(option.value)}\n />\n ))}\n </Fragment>\n ))}\n </div>\n );\n }\n\n return (\n <RadioGroup\n orientation=\"vertical\"\n value={selectedValues?.[0] ?? \"\"}\n onValueChange={handleSelect}\n >\n {groups\n .flatMap(([category, items]) => [\n category ? (\n <div className=\"mb-pane-group\" key={`group-${category}`}>\n {category}\n </div>\n ) : null,\n ...items.map(option => (\n <RadioGroup.Item\n disabled={option.disabled}\n key={option.value}\n label={optionLabel(option)}\n labelProps={previewHandlers(option.value)}\n value={option.value}\n {...(option.icon || option.disabledReason\n ? { dataTestid: option.value }\n : {})}\n {...previewHandlers(option.value)}\n />\n )),\n ])\n .filter(Boolean)}\n </RadioGroup>\n );\n };\n\n return (\n <>\n <Panel.Header>\n <div className=\"flex w-full flex-col gap-y-2\">\n <Typography data-testid=\"pane-title\" variant=\"h5\">\n {title}\n </Typography>\n <Typography color=\"muted\" variant=\"body2\">\n {subtitle}\n </Typography>\n {showSearch && (\n <div className=\"mb-pane-search\" ref={searchRef}>\n <Input\n dataTestid=\"pane-search\"\n placeholder={t(\"neetoRules.builder.searchPlaceholder\")}\n prefix={<Search />}\n size=\"large\"\n value={searchTerm}\n onChange={event => setSearchTerm(event.target.value)}\n />\n </div>\n )}\n </div>\n </Panel.Header>\n <Panel.Body>\n {renderBody()}\n {belowContent}\n </Panel.Body>\n {cascade && (\n <Panel.Footer>\n <Button\n data-testid=\"continue-button\"\n disabled={!canContinue}\n label={t(\"neetoRules.buttons.continue\")}\n size=\"lg\"\n onClick={handleContinue}\n />\n </Panel.Footer>\n )}\n </>\n );\n};\n\nexport default OptionsPane;\n","import { MultiEmailInput, Select } from \"@bigbinary/neeto-atoms\";\nimport { getIn, useFormikContext } from \"formik\";\nimport { pluck } from \"ramda\";\nimport { useTranslation } from \"react-i18next\";\n\nimport { RECIPIENT_STORAGE_FIELDS } from \"../../constants\";\nimport { normalizeOptions } from \"../utils\";\n\nconst RecipientField = ({ field, name, dropdownOptions, placeholder }) => {\n const { t } = useTranslation();\n const { values, setFieldValue, setFieldTouched, errors, touched } =\n useFormikContext();\n\n const fieldError = path => getIn(touched, path) && getIn(errors, path);\n\n if (field === RECIPIENT_STORAGE_FIELDS.emails) {\n const path = `${name}.${RECIPIENT_STORAGE_FIELDS.emails}`;\n const current = getIn(values, path) || [];\n\n return (\n <MultiEmailInput\n required\n error={fieldError(path)}\n label={t(\"neetoRules.builder.config.emailAddresses\")}\n placeholder={t(\"neetoRules.builder.config.emailPlaceholder\")}\n value={current.map(email => ({\n label: email,\n value: email,\n valid: true,\n }))}\n onBlur={() => setFieldTouched(path, true)}\n onChange={items => setFieldValue(path, pluck(\"value\", items || []))}\n />\n );\n }\n\n const path = `${name}.${RECIPIENT_STORAGE_FIELDS.value}`;\n const current = getIn(values, path);\n const options = normalizeOptions(dropdownOptions);\n\n return (\n <Select\n {...{ options, placeholder }}\n required\n error={fieldError(path)}\n label={t(\"neetoRules.builder.config.recipient\")}\n size=\"large\"\n value={current ?? undefined}\n onBlur={() => setFieldTouched(path, true)}\n onChange={value => setFieldValue(path, value)}\n />\n );\n};\n\nexport default RecipientField;\n","import { useEffect, useRef } from \"react\";\n\nimport { Typography } from \"@bigbinary/neeto-atoms\";\nimport { useTranslation } from \"react-i18next\";\n\nimport RecipientField from \"./Fields/RecipientField\";\nimport OptionsPane from \"./OptionsPane\";\n\nimport PhoneNumberField from \"../../NeetoRulesForm/Element/Actions/Fields/SmsFields/PhoneNumberField\";\nimport Panel from \"../../NeetoRulesForm/Panel\";\nimport {\n BUILDER_ANCHORS,\n RECIPIENT_FOCUSABLE_SELECTOR,\n RECIPIENT_STORAGE_FIELDS,\n SMS_TO_NUMBERS,\n} from \"../constants\";\nimport usePaneValidation from \"../hooks/usePaneValidation\";\nimport useRuleModel from \"../hooks/useRuleModel\";\n\nconst RecipientPane = ({ schema, index, configPending = false }) => {\n const { t } = useTranslation();\n const { rule, fieldKeys } = useRuleModel(schema);\n const bodyRef = useRef(null);\n const belowRef = useRef(null);\n\n // eslint-disable-next-line security/detect-object-injection\n const action = rule.actions[index] || {};\n const channel =\n action.channel || schema.actions?.actionForName?.(action.name)?.channel;\n\n const recipient =\n action.recipient ?? schema.actions?.actionForName?.(action.name)?.recipient;\n const name = `${fieldKeys.actions}.value.${index}.metadata`;\n\n const editor = schema.actions?.renderRecipientEditor?.({\n channel,\n name,\n action,\n });\n\n const flatOption =\n schema.actions?.optionForName?.(action.name) ||\n schema.actions?.optionForChannel?.(channel);\n const isSmsToNumbers = flatOption?.type === SMS_TO_NUMBERS;\n\n const recipientFieldPath = isSmsToNumbers\n ? `${name}.${RECIPIENT_STORAGE_FIELDS.phoneNumbers}`\n : `${name}.${RECIPIENT_STORAGE_FIELDS.emails}`;\n usePaneValidation(recipientFieldPath);\n\n useEffect(() => {\n if (!editor) return;\n const first = bodyRef.current?.querySelector(RECIPIENT_FOCUSABLE_SELECTOR);\n // eslint-disable-next-line @bigbinary/neeto/prefer-function-reference\n if (first) setTimeout(() => first.focus(), 0);\n // eslint-disable-next-line react-hooks/exhaustive-deps\n }, [!editor]);\n\n const recipientConfig = (schema.actions?.options || [])\n .flatMap(option => option.recipients || [])\n .concat(schema.actions?.recipients || [])\n .find(item => (item.value ?? item.id) === recipient);\n\n const builtInRecipientField = recipientConfig?.field ? (\n <RecipientField\n {...{ name }}\n dropdownOptions={recipientConfig.dropdownOptions}\n field={recipientConfig.field}\n placeholder={recipientConfig.placeholder}\n />\n ) : null;\n\n const recipientField =\n schema.actions?.renderRecipientField?.({\n channel,\n recipient,\n name,\n action,\n }) ?? builtInRecipientField;\n\n const phoneField = isSmsToNumbers ? (\n <PhoneNumberField\n name={`${name}.${RECIPIENT_STORAGE_FIELDS.phoneNumbers}`}\n phoneNumbers={action.metadata?.phoneNumbers}\n />\n ) : null;\n\n const belowField = phoneField || recipientField;\n const belowContent = belowField ? (\n <div className=\"mt-5\" ref={belowRef}>\n {belowField}\n </div>\n ) : null;\n\n useEffect(() => {\n if (!belowField) return undefined;\n const timer = setTimeout(\n () =>\n belowRef.current?.querySelector(RECIPIENT_FOCUSABLE_SELECTOR)?.focus(),\n 0\n );\n\n return () => clearTimeout(timer);\n // eslint-disable-next-line react-hooks/exhaustive-deps\n }, [!!belowField]);\n\n if (!editor) {\n return (\n <OptionsPane\n {...{ belowContent, configPending, index, schema }}\n anchor={BUILDER_ANCHORS.ACTION_RECIPIENT}\n />\n );\n }\n\n // eslint-disable-next-line security/detect-object-injection\n const meta = schema.actions?.channelMeta?.[channel] || {};\n\n return (\n <>\n <Panel.Header>\n <div className=\"flex w-full flex-col gap-y-2\">\n <Typography data-testid=\"pane-title\" variant=\"h5\">\n {meta.recipientTitle ||\n t(\"neetoRules.builder.panes.recipientTitle\")}\n </Typography>\n <Typography color=\"muted\" variant=\"body2\">\n {meta.recipientSubtitle ||\n t(\"neetoRules.builder.panes.recipientSubtitle\")}\n </Typography>\n </div>\n </Panel.Header>\n <Panel.Body>\n <div ref={bodyRef}>{editor}</div>\n </Panel.Body>\n </>\n );\n};\n\nexport default RecipientPane;\n","import {\n Checkbox,\n Input,\n RadioGroup,\n Select,\n Typography,\n} from \"@bigbinary/neeto-atoms\";\nimport { Input as FormikInput } from \"@bigbinary/neeto-atoms/formik\";\nimport { getIn, useFormikContext } from \"formik\";\nimport { isNot, isNotEmpty } from \"neetocist\";\nimport { isEmpty } from \"ramda\";\nimport { useTranslation } from \"react-i18next\";\n\nimport { CONDITION_VALUE_TYPES } from \"./constants\";\n\nimport { normalizeOptions } from \"../utils\";\n\nconst ConditionValueFields = ({ name, field, searchTerm = \"\" }) => {\n const { t } = useTranslation();\n const { values, setFieldValue, setFieldTouched, errors, touched } =\n useFormikContext();\n\n const type = field?.type;\n const valueType = field?.valueType || type;\n const valuePath = `${name}.metadata.value`;\n const valuesPath = `${name}.metadata.values`;\n const enumOptions = normalizeOptions(\n field?.values || field?.dropdownOptions || field?.options\n );\n\n const fieldError = path => getIn(touched, path) && getIn(errors, path);\n\n const term = searchTerm.trim().toLowerCase();\n const filterOptions = list =>\n term\n ? list.filter(option => String(option.label).toLowerCase().includes(term))\n : list;\n\n const noMatches = (\n <div className=\"mb-pane-empty\" data-testid=\"pane-no-matches\">\n {t(\"neetoRules.builder.noMatches\")}\n </div>\n );\n\n if (type === CONDITION_VALUE_TYPES.multiSelect && isNotEmpty(enumOptions)) {\n const current = getIn(values, valuesPath) || [];\n const filtered = filterOptions(enumOptions);\n if (term && isEmpty(filtered)) return noMatches;\n\n const toggle = value => {\n setFieldTouched(valuesPath, true);\n setFieldValue(\n valuesPath,\n current.includes(value)\n ? current.filter(isNot(value))\n : [...current, value]\n );\n };\n\n return (\n <div className=\"mb-pane-list flex flex-col\">\n {filtered.map(option => (\n <Checkbox\n checked={current.includes(option.value)}\n key={option.value}\n label={option.label}\n onCheckedChange={() => toggle(option.value)}\n />\n ))}\n {fieldError(valuesPath) && (\n <Typography color=\"destructive\" variant=\"body3\">\n {fieldError(valuesPath)}\n </Typography>\n )}\n </div>\n );\n }\n\n if (type === CONDITION_VALUE_TYPES.multiSelect) {\n return (\n <Typography color=\"muted\" variant=\"body2\">\n {field?.label\n ? t(\"neetoRules.builder.config.noOptionsFor\", { field: field.label })\n : t(\"neetoRules.builder.config.noOptions\")}\n </Typography>\n );\n }\n\n if (type === CONDITION_VALUE_TYPES.multiSelectCreate) {\n const current = getIn(values, valuesPath) || [];\n\n return (\n <Select\n autoFocus\n isCreatable\n isMulti\n required\n error={fieldError(valuesPath)}\n label={t(\"neetoRules.builder.config.keywords\")}\n placeholder={t(\"neetoRules.builder.config.keywordsPlaceholder\")}\n size=\"large\"\n value={current}\n onBlur={() => setFieldTouched(valuesPath, true)}\n onChange={selected => setFieldValue(valuesPath, selected || [])}\n />\n );\n }\n\n if (isNotEmpty(enumOptions)) {\n const current = getIn(values, valuePath);\n const filtered = filterOptions(enumOptions);\n if (term && isEmpty(filtered)) return noMatches;\n\n return (\n <RadioGroup\n error={fieldError(valuePath)}\n orientation=\"vertical\"\n value={String(current ?? \"\")}\n onValueChange={value => setFieldValue(valuePath, value)}\n >\n {filtered.map(option => (\n <RadioGroup.Item\n key={option.value}\n label={String(option.label).toLowerCase()}\n value={String(option.value)}\n />\n ))}\n </RadioGroup>\n );\n }\n\n if (valueType === CONDITION_VALUE_TYPES.number) {\n return (\n <Input\n autoFocus\n required\n error={fieldError(valuePath)}\n label={t(\"neetoRules.common.value\")}\n size=\"large\"\n type=\"number\"\n value={getIn(values, valuePath) ?? \"\"}\n onBlur={() => setFieldTouched(valuePath, true)}\n onChange={event =>\n setFieldValue(\n valuePath,\n event.target.value === \"\" ? \"\" : Number(event.target.value)\n )\n }\n />\n );\n }\n\n return (\n <FormikInput\n autoFocus\n required\n label={t(\"neetoRules.common.value\")}\n name={valuePath}\n size=\"large\"\n type={valueType === CONDITION_VALUE_TYPES.email ? \"email\" : \"text\"}\n placeholder={\n field?.placeholder ||\n (valueType === CONDITION_VALUE_TYPES.email\n ? t(\"neetoRules.builder.config.exampleEmail\")\n : undefined)\n }\n />\n );\n};\n\nexport default ConditionValueFields;\n","import { useRef, useState } from \"react\";\n\nimport { Input, Typography } from \"@bigbinary/neeto-atoms\";\nimport { useFormikContext } from \"formik\";\nimport { Search } from \"neetoicons\";\nimport { useTranslation } from \"react-i18next\";\n\nimport ConditionValueFields from \"./Fields/ConditionValueFields\";\nimport { optionValue, normalizeOptions } from \"./utils\";\n\nimport Panel from \"../../NeetoRulesForm/Panel\";\nimport { PANE_SEARCH_THRESHOLD } from \"../constants\";\nimport usePaneValidation from \"../hooks/usePaneValidation\";\nimport useRuleModel from \"../hooks/useRuleModel\";\nimport { isMultiValueVerb } from \"../utils\";\n\nconst ValuePane = ({ schema, index }) => {\n const { t } = useTranslation();\n const { setFieldValue } = useFormikContext();\n const { rule, fieldKeys } = useRuleModel(schema);\n\n const [searchTerm, setSearchTerm] = useState(\"\");\n const searchRef = useRef(null);\n\n // eslint-disable-next-line security/detect-object-injection\n const condition = rule.conditions[index] || {};\n const field = (schema.conditions?.fields || []).find(\n candidate => optionValue(candidate) === condition.field\n );\n const base = `${fieldKeys.conditions}.value.${index}`;\n\n usePaneValidation(`${base}.metadata`);\n\n const enumOptions = normalizeOptions(\n field?.values || field?.dropdownOptions || field?.options\n );\n\n const showSearch = enumOptions.length >= PANE_SEARCH_THRESHOLD;\n\n const renderBody = () => {\n if (schema.conditions?.renderValue) {\n return schema.conditions.renderValue({\n name: base,\n condition,\n field,\n setFieldValue,\n searchTerm,\n });\n }\n\n return <ConditionValueFields {...{ field, searchTerm }} name={base} />;\n };\n\n return (\n <>\n <Panel.Header>\n <div className=\"flex w-full flex-col gap-y-2\">\n <Typography data-testid=\"pane-title\" variant=\"h5\">\n {t(\"neetoRules.builder.pickValue\", {\n field: field?.label || t(\"neetoRules.builder.valueWord\"),\n })}\n </Typography>\n <Typography color=\"muted\" variant=\"body2\">\n {field?.valueSubtitle ||\n (isMultiValueVerb(condition?.verb)\n ? t(\"neetoRules.builder.valuesSubtitle\", {\n field: field?.label || t(\"neetoRules.builder.valueWord\"),\n })\n : t(\"neetoRules.builder.valueSubtitle\"))}\n </Typography>\n {showSearch && (\n <div className=\"mb-pane-search\" ref={searchRef}>\n <Input\n dataTestid=\"pane-search\"\n placeholder={t(\"neetoRules.builder.searchPlaceholder\")}\n prefix={<Search />}\n size=\"large\"\n value={searchTerm}\n onChange={event => setSearchTerm(event.target.value)}\n />\n </div>\n )}\n </div>\n </Panel.Header>\n <Panel.Body>{renderBody()}</Panel.Body>\n </>\n );\n};\n\nexport default ValuePane;\n","import ConfigPane from \"./ConfigPane\";\nimport DelayPane from \"./DelayPane\";\nimport LeadTimePane from \"./LeadTimePane\";\nimport NamePane from \"./NamePane\";\nimport OptionsPane from \"./OptionsPane\";\nimport RecipientPane from \"./RecipientPane\";\nimport ValuePane from \"./ValuePane\";\n\nimport { BUILDER_PANEL_TYPES } from \"../constants\";\n\nexport const BUILDER_PANEL_TYPE_CONFIG_MAP = {\n [BUILDER_PANEL_TYPES.TRIGGER]: { component: OptionsPane },\n [BUILDER_PANEL_TYPES.ACTOR]: { component: OptionsPane },\n [BUILDER_PANEL_TYPES.CONDITION_FIELD]: { component: OptionsPane },\n [BUILDER_PANEL_TYPES.OPERATOR]: { component: OptionsPane },\n [BUILDER_PANEL_TYPES.CONNECTOR]: { component: OptionsPane },\n [BUILDER_PANEL_TYPES.ACTION_CHANNEL]: { component: OptionsPane },\n [BUILDER_PANEL_TYPES.RECIPIENT]: { component: RecipientPane },\n [BUILDER_PANEL_TYPES.CONDITION_VALUE]: { component: ValuePane },\n [BUILDER_PANEL_TYPES.ACTION_CONFIG]: { component: ConfigPane },\n [BUILDER_PANEL_TYPES.DELAY]: { component: DelayPane },\n [BUILDER_PANEL_TYPES.LEAD_TIME]: { component: LeadTimePane },\n [BUILDER_PANEL_TYPES.NAME]: { component: NamePane },\n [BUILDER_PANEL_TYPES.SCOPE]: { component: OptionsPane },\n [BUILDER_PANEL_TYPES.SCOPE_PHONE_FIELD]: { component: OptionsPane },\n};\n","import { useEffect, useMemo, useRef } from \"react\";\n\nimport { Spinner } from \"@bigbinary/neeto-atoms\";\nimport { ActionBlock } from \"@bigbinary/neeto-atoms/formik\";\nimport classnames from \"classnames\";\nimport { Form as FormikForm, Formik } from \"formik\";\nimport { isNotEmpty, noop } from \"neetocist\";\nimport Container from \"neetomolecules/v2/Container\";\nimport Header from \"neetomolecules/v2/Header\";\nimport { useTranslation } from \"react-i18next\";\n\nimport { ScrollToErrorField } from \"v2/components/Common/ScrollToErrorField\";\nimport { DEFAULT_INITIAL_VALUE } from \"v2/components/NeetoRulesForm/constants\";\nimport usePollRuleName from \"v2/components/NeetoRulesForm/hooks/usePollRuleName\";\nimport useCustomDataStore from \"v2/components/NeetoRulesForm/stores/useCustomDataStore\";\nimport TouchErrors from \"v2/components/NeetoRulesForm/TouchErrors\";\nimport { buildPayload, formatData } from \"v2/components/NeetoRulesForm/utils\";\nimport { getValidationSchema } from \"v2/components/NeetoRulesForm/utils/validate\";\nimport useUtilityStore from \"v2/components/stores/useUtilityStore\";\n\nimport Canvas from \"./Canvas\";\nimport { BUILDER_PANEL_TYPE_CONFIG_MAP } from \"./Panes/constants\";\nimport {\n isRuleComplete,\n invalidScopeIndexes,\n invalidScopePhoneFieldIndexes,\n leadTimeValidationSchema,\n normalizeSchema,\n valuesToRuleModel,\n} from \"./utils\";\n\nimport Panel from \"../NeetoRulesForm/Panel\";\n\nconst Form = ({\n data = {},\n schema: rawSchema = {},\n automationRulesEndpoint: url,\n title,\n breadcrumbs = {},\n isLoading = false,\n className,\n handleSubmit = noop,\n handleCancel = noop,\n payloadKey = \"rule\",\n isNameGenerationDisabled = false,\n}) => {\n const { t } = useTranslation();\n\n const formikRef = useRef(null);\n const formRef = useRef(null);\n\n const { customData } = useCustomDataStore.pick();\n const { resetPanelState, errorFields } = useUtilityStore.pick();\n\n const initialValues = useMemo(() => formatData(data), [data]);\n const schema = useMemo(() => normalizeSchema(rawSchema), [rawSchema]);\n\n const isNameRequired =\n isNameGenerationDisabled || (schema.meta?.showName ?? true);\n\n const { waitForGeneratedRuleName, saveRuleName, isCancelledNameGeneration } =\n usePollRuleName({ url, formikRef, payloadKey, isNameGenerationDisabled });\n\n // eslint-disable-next-line @bigbinary/neeto/prefer-function-reference, react-hooks/exhaustive-deps\n useEffect(() => () => resetPanelState(), []);\n\n const submitForm = (values, formikBag) => {\n if (isNotEmpty(errorFields)) {\n formikBag.setSubmitting(false);\n\n return;\n }\n\n const rule = valuesToRuleModel({ values, schema });\n if (\n !isRuleComplete({ rule, schema }) ||\n invalidScopeIndexes({ rule, schema }).length ||\n invalidScopePhoneFieldIndexes({ rule, schema }).length\n ) {\n formikBag.setSubmitting(false);\n\n return;\n }\n\n if (isCancelledNameGeneration) {\n saveRuleName(values);\n\n return;\n }\n\n const payload = buildPayload(data, values);\n\n resetPanelState();\n handleSubmit(payload, formikBag, waitForGeneratedRuleName);\n };\n\n return (\n <Formik\n enableReinitialize\n initialValues={{ ...DEFAULT_INITIAL_VALUE, ...initialValues }}\n innerRef={formikRef}\n validationSchema={getValidationSchema({\n data,\n customData,\n isNameGenerationDisabled: isNameRequired,\n }).concat(leadTimeValidationSchema(schema))}\n onSubmit={submitForm}\n >\n {() => (\n <div className=\"flex neeto-rules-main-content h-full w-full\">\n <TouchErrors />\n <Container className=\"neeto-rules-main-content__container max-h-full\">\n <Header\n {...{ breadcrumbs }}\n title={title || t(\"neetoRules.common.title\")}\n />\n {isLoading ? (\n <div className=\"flex h-full w-full items-center justify-center\">\n <Spinner />\n </div>\n ) : (\n <FormikForm\n ref={formRef}\n className={classnames([\n \"w-full neeto-rules-main-content__form max-w-5xl\",\n className,\n ])}\n >\n <Canvas {...{ schema }} />\n <ScrollToErrorField {...{ formRef }} />\n <div className=\"bg-background sticky bottom-0 py-6\">\n <ActionBlock\n cancelButtonProps={{ onClick: handleCancel }}\n submitButtonProps={{ \"data-testid\": \"form-submit-button\" }}\n />\n </div>\n </FormikForm>\n )}\n </Container>\n <Panel configMap={BUILDER_PANEL_TYPE_CONFIG_MAP} />\n </div>\n )}\n </Formik>\n );\n};\n\nexport default Form;\n","// eslint-disable-next-line import/extensions\nimport \"src/stylesheets/main.css\";\n\nimport Form from \"./Form\";\n\nconst NeetoRulesBuilder = ({ ...rest }) => <Form {...rest} />;\n\nexport default NeetoRulesBuilder;\n"],"names":["PARAM_KIND","ENUM_SINGLE","ENUM_MULTI","UNIT_MINUTES","minutes","hours","days","TIME_UNITS","label","value","LEAD_TIME_UNITS","MAX_LEAD_TIME_VALUE","STEPPER_DELTA","INCREMENT","DECREMENT","STEPPER_MIN_VALUE","DEFAULT_DELAY_VALUE","FLASH_DURATION_MS","SKIP_TAB_INDEX","CONDITION_VERBS","IS","IS_NOT","ANY_OF","NONE_OF","ALL_OF","LESS_THAN","GREATER_THAN","VERB_TOKENS","MULTI_VALUE","CONTAINS","DEFAULT_SCHEMA","triggers","fieldKey","options","actor","enabled","conditions","fields","connectorMode","actions","channelMeta","recipients","delay","units","integrations","slots","STATUS_KEYS","ENABLED","DISABLED","JOIN_TYPE","and","or","CONDITION_MODE","AND","OR","BUILDER_PANEL_TYPES","TRIGGER","ACTOR","CONDITION_FIELD","OPERATOR","CONNECTOR","CONDITION_VALUE","ACTION_CHANNEL","ACTION_CONFIG","RECIPIENT","DELAY","LEAD_TIME","NAME","SCOPE","SCOPE_PHONE_FIELD","BUILDER_ANCHORS","TRIGGER_ADD","TRIGGER_REPLACE","TRIGGER_ACTOR","TRIGGER_LEAD_TIME","COND_FIELD","COND_OP_TOGGLE","COND_CONNECTOR","COND_VALUES","ACTION_ADD","ACTION_RECIPIENT","RULE_DELAY","META_NAME","TOKEN_TO_PANEL_TYPE","_TOKEN_TO_PANEL_TYPE","_defineProperty","LARGE_PANEL_TYPES","CONDITION_ANCHORS","ACTION_ANCHORS","PANE_SEARCH_THRESHOLD","CONFIG_FOCUSABLE_SELECTOR","SMS_TYPES","RECIPIENT_FOCUSABLE_SELECTOR","SMS_TO_NUMBERS","RECIPIENT_STORAGE_FIELDS","emails","phoneNumbers","DEFAULT_DELAY_UNITS","useClearingHover","_useState","useState","_useState2","_slicedToArray","clearing","setClearing","clearingHoverProps","onMouseEnter","onMouseLeave","resetClearing","TOKEN_STATE","FILLED","MUTED","PLACEHOLDER","PLACEHOLDER_NEXT","STATE_CLASS","useReplayFlash","flashSeq","ref","useRef","useEffect","_ref$current","_ref$current$getAnima","current","getAnimations","call","forEach","animation","cancel","play","Token","_ref","children","_ref$state","state","_ref$active","active","_ref$invalid","invalid","onClick","className","dataTestid","rest","_objectWithoutProperties","_excluded","isInteractive","tokenRef","_jsx","_objectSpread","role","undefined","tabIndex","classnames","filled","onKeyDown","event","key","preventDefault","humanize","String","replace","trim","isContainsVerb","verb","includes","isNumericVerb","isExcludeVerb","isMultiValueVerb","sentencify","charAt","toLowerCase","slice","copyFor","args","matchesTrigger","name","option","eventValue","id","triggerOption","_schema$triggers","schema","find","triggerLabel","_ref2","trigger","plain","performerLabel","_ref3","_schema$actor","performer","candidate","conditionField","_ref4","_schema$conditions","field","conditionFieldLabel","_ref5","condition","operatorLabel","_ref6","_schema$conditions2","map","operatorLabels","conditionNeedsValue","_ref7","noValueForVerbs","conditionValueLabel","_ref8","_ref9","_meta$value","meta","metadata","raw","values","isNil","isEmpty","dropdownOptions","isEnum","isNotEmpty","labelFor","_ref0","_option$label","_candidate$value","connector","t","Array","isArray","join","concat","actionOption","_ref1","_schema$actions","channelOption","_ref10","_schema$actions2","channel","_option$value","actionParts","_ref11","_actions$actionForNam","_action$recipient","_actions$channelMeta","_find","_find2","_channelMeta$needsRec","_actions$configValueL","action","resolved","recipient","actionForName","recipientValue","matchesRecipient","_recipient$value","recipientLabel","paramKind","paramType","valueNoun","valueNounPlural","mediumLabel","icon","needsRecipient","separator","configValue","configValueLabel","configValuePlaceholder","valuePlaceholder","configTitle","configSubtitle","recipientTitle","recipientSubtitle","offeredConditionFields","_ref12","_ref13","_schema$conditions$fi","_schema$conditions3","_schema$conditions3$f","_schema$conditions4","rule","fieldsFor","hasTrigger","hasAction","some","isTriggerEnabled","_schema$triggers2","isTriggerSatisfied","_ref14","hasRequiredConditions","_ref15","_schema$conditions5","allowEmpty","isRuleComplete","_ref16","scopeOptionFor","_ref17","_item$value","_schema$scope","item","scope","_candidate$value2","scopePhoneFields","_ref18","_ref19","_item$phoneFields","_scopeOptionFor","phoneFields","effectiveScopePhoneField","_ref20","phoneField","length","invalidScopeIndexes","_ref21","_scope$requiresPhone","requiresPhone","reduce","indexes","index","_ref22","_item$hasPhoneField","hasPhoneField","push","invalidScopePhoneFieldIndexes","_ref23","_scope$requiresPhone2","hasChoice","minutesToParts","total","Number","unit","partsToMinutes","_ref24","leadTimeExceedsMax","leadTimeValidationSchema","_schema$triggers3","leadTime","yup","object","shape","string","test","max","leadTimeLabel","_minutesToParts","unitLabel","normalizeTriggers","normalizeSchema","rawSchema","arguments","mergeDeepRight","joinTypeFor","mode","recipientStorageField","modeFromJoinType","joinType","valueAt","_ref25","_values$key","asArray","maybeArray","fieldKeysFromSchema","_schema$triggers4","_schema$actor2","_schema$conditions6","_schema$actions3","_schema$delay","_schema$triggers5","_schema$scope2","status","valuesToRuleModel","_valueAt","_conditions$","_ref26","_ref26$values","_ref26$schema","keys","rawDelay","conditionMode","setTriggers","_ref27","path","setPerformer","_ref28","setActions","_ref29","setConditions","_ref30","setConditionMode","_ref31","assoc","setDelay","_ref32","setActive","_ref33","setScope","_ref34","removeArrayItem","_ref35","list","removed","nextList","filter","_","i","result","_values$fieldKey","deleted","_toConsumableArray","_destroy","clearArrayItems","_ref36","_values$fieldKey2","ConditionRow","handleToken","onToken","handleAddCondition","onAddCondition","handleRemove","onRemove","_ref$isActive","isActive","_ref$isInvalid","isInvalid","_useTranslation","useTranslation","isFirst","hasField","hasVerb","_field$value","operatorPlaceholder","needsValue","_useClearingHover","_jsxs","type","_Fragment","Button","Plus","size","variant","tooltipProps","content","position","Delete","Connector","fill","height","viewBox","width","d","stroke","strokeLinecap","strokeLinejoin","strokeWidth","DelayRow","part","MetaBlock","_ref$showName","showName","handleEditName","onEditName","handleToggleActive","onToggleActive","nameRef","checked","readOnly","onChange","itemLabel","ScopeBlock","_schema$scope2$requir","handleRemoveScope","onRemoveScope","placeholder","_createElement","ScopeRow","isLast","_schema$scope3","_schema$scope4","_schema$scope5","_useTranslation2","lead","meeting","hasPhoneFieldChoice","singlePhoneFieldLabel","selectedPhoneField","usingLabel","phoneFieldPlaceholder","ActionRow","handleAddAction","onAddAction","_actionParts","MediumIcon","hasParamTail","multiPlaceholder","noun","singlePlaceholder","paramPlaceholder","verbLabel","isVerbActive","configLabel","recipientSeparator","configSeparator","isConfigured","configState","configToken","Fragment","recipientToken","ThenBlock","handleRemoveAction","onRemoveAction","_ref$adding","adding","named","isTriggerSet","title","_action$id","WhenBlock","handleClearTrigger","onClearTrigger","isActorEnabled","hasLeadTimeFor","appliesTo","_trigger$id","usePaneCascade","_useUtilityStore","useUtilityStore","useShallow","store","setPanelState","resetPanelState","openType","useCallback","_ref$data","data","openPane","token","anchor","closePane","useRuleModel","_useFormikContext","useFormikContext","setFieldValue","apply","applyAll","edits","useMemo","fieldKeys","removeCondition","removeAction","clearTriggers","clearConditions","clearActions","triggerValue","_option$eventValue","optionValue","normalizeOptions","toLabelAndValue","groupByCategory","groups","indexByCategory","category","conditionAt","actionAt","scopeItemAt","_rule$scope","scopeItemLabel","findField","findActionOption","channelOf","_schema$actions2$acti","recipientOf","_schema$actions3$acti","channelMetaOf","_schema$actions4","actionHasConfig","_schema$actions5","_schema$actions6","component","renderConfig","hasConfig","recipientsFor","_schema$actions7","_schema$actions8","nextTriggers","multi","names","pluck","removeBy","nextConditionAt","_field$allowMatching","previous","first","allowMatching","defaultVerb","kind","nextActionAt","_schema$actions9","resolveName","prev","channelChanged","prevChannel","_schema$actions0","channelRecipients","recipientsByChannel","_channelRecipients","appendScopeItem","_sc$requiresPhone","sc","nextActionRecipientAt","_schema$actions1","descriptorFor","isReplace","triggerTitle","triggerSubtitle","subtitle","cascade","paneLabel","selectedValues","labels","verbs","fieldLabel","isContains","every","isNumeric","isExclude","hasOptions","containsVariant","numericOrExcludeVariant","nonContainsVariant","_schema$actions11","_channelOf","isSwap","channelMetaFor","_schema$actions10","sourceOptions","_option$disabled","channelLabel","disabled","isDisabled","disabledReason","disabledPopover","_schema$actions12","_sc$requiresPhone2","selected","paneChangeTitle","paneTitle","paneSubtitle","_option$disabled2","blockedNoPhone","isSelected","disabledTooltip","phoneFieldPaneTitle","phoneFieldPaneSubtitle","commitFor","helpers","_leadTime$default","has","_item$value2","next","_item$value3","continueTargetFor","_schema$actor3","configPending","replaceAt","applyPreview","Canvas","_actorOptions$0$value","_schema$meta$showName","_schema$meta","_usePaneCascade","errors","submitCount","_useRuleModel","builderPreview","panelState","displayRule","activeToken","addingAction","flatErrors","flatten","setFlashSeq","lastSubmitCount","timer","setTimeout","clearTimeout","hasErrorAt","prefix","_ref3$exclude","exclude","Object","startsWith","sub","matchesInvalid","_schema$actions$actio","_schema$actions2$rend","_schema$actions3$rend","_schema$actions4$opti","_schema$actions5$opti","conditionMeta","actionMeta","actionItem","hasRecipientEditor","renderRecipientEditor","hasRecipientField","renderRecipientField","flatOption","optionForName","optionForChannel","recipientConfig","flatMap","recipientFields","actorKey","closePaneIfTargeting","anchors","handleRemoveCondition","remaining","handleRemoveDelay","actorOptions","soleActorOption","isScopeEnabled","conditionFields","canAddCondition","canRemoveCondition","leadTimeAppliesTo","hasLeadTimeTrigger","isDelayEnabled","slotCtx","renderSlot","_schema$slots$name","_schema$slots","_schema$slots$name2","_condition$id","iconPosition","target","ACTION_CONFIG_TYPES","emailChannel","sendToApi","multiSelect","dropdown","note","textarea","number","text","regex","decimal","date","CONDITION_VALUE_TYPES","multiSelectCreate","email","restoreTokens","ActionConfigFields","_ref$searchTerm","searchTerm","_ref$hasRecipientFiel","setFieldTouched","touched","valuePath","fieldError","getIn","term","filterOptions","hint","dynamicValuesHint","hintBlock","Typography","color","noOptionsMessage","noMatches","ApiFields","selectedField","_getIn","_getIn2","_action$metadata","subjectPath","bodyPath","hasRecipientList","Select","required","error","onBlur","hideSubject","Input","EditorAction","body","variables","filtered","toggle","isNot","Checkbox","onCheckedChange","RadioGroup","orientation","onValueChange","picked","Item","ListField","_action$metadata2","_getIn3","_getIn4","Textarea","rows","_getIn5","DatePicker","dayjs","format","DATE_FORMAT","_regenerator","e","r","Symbol","n","iterator","o","toStringTag","c","prototype","Generator","u","create","_regeneratorDefine2","f","p","y","G","v","a","bind","l","TypeError","done","GeneratorFunction","GeneratorFunctionPrototype","getPrototypeOf","setPrototypeOf","__proto__","displayName","w","m","defineProperty","_regeneratorDefine","_invoke","enumerable","configurable","writable","keysUnder","obj","_ref$exclude","usePaneValidation","validateForm","errorsRef","validate","_asyncToGenerator","_callee","nextErrors","offending","_args","_context","ConfigPane","_schema$actions$optio","_schema$actions2$opti","_concat$find","_schema$actions7$opti","_hostRenderConfig","bodyRef","setSearchTerm","base","isSms","hostRenderConfig","showSearch","shouldAdvanceToRecipient","_usePaneValidation","channelRepName","unnamedOnOpen","frame","attempts","focusFirst","_bodyRef$current","querySelector","focus","requestAnimationFrame","cancelAnimationFrame","handleContinue","useHotkeys","SHORTCUTS","sequence","Panel","Header","Search","Body","ErrorCallout","message","SmsFields","shouldAutoFocus","showPhoneNumberInput","Footer","DelayPane","getFieldMeta","_useField","useField","_useField2","unitOptions","_unitOptions$0$value","_unitOptions$","weight","MAX_DELAY_VALUE","min","MIN_DELAY_VALUE","defaultValue","nextUnit","toNumber","clamp","Math","asText","NumberStepper","_ref$min","draft","setDraft","display","commit","step","delta","isFinite","autoFocus","suffix","Up","Down","onFocus","select","LeadTimePane","amount","_useField2$","update","isSearchable","NamePane","OptionsPane","_ref$belowContent","belowContent","_ref$configPending","setBuilderPreview","searchRef","_searchRef$current","_useMemo","searchable","handleSelect","multiCandidate","Boolean","previewHandlers","canContinue","optionLabel","Icon","reason","isTextReason","isNodeReason","isValidElement","popover","description","Popover","Info","Title","helpLinkProps","Tooltip","renderGroupHeader","renderBody","_selectedValues$","items","labelProps","RecipientField","MultiEmailInput","valid","RecipientPane","_schema$actions$rende","_schema$actions8$rend","belowRef","editor","isSmsToNumbers","recipientFieldPath","builtInRecipientField","recipientField","PhoneNumberField","belowField","_belowRef$current","ConditionValueFields","valueType","valuesPath","enumOptions","isCreatable","isMulti","FormikInput","ValuePane","renderValue","valueSubtitle","BUILDER_PANEL_TYPE_CONFIG_MAP","_BUILDER_PANEL_TYPE_C","Form","_ref$schema","url","automationRulesEndpoint","_ref$breadcrumbs","breadcrumbs","_ref$isLoading","isLoading","_ref$handleSubmit","handleSubmit","noop","_ref$handleCancel","handleCancel","_ref$payloadKey","payloadKey","_ref$isNameGeneration","isNameGenerationDisabled","formikRef","formRef","_useCustomDataStore","useCustomDataStore","customData","errorFields","initialValues","formatData","isNameRequired","_usePollRuleName","usePollRuleName","waitForGeneratedRuleName","saveRuleName","isCancelledNameGeneration","submitForm","formikBag","setSubmitting","payload","buildPayload","Formik","enableReinitialize","DEFAULT_INITIAL_VALUE","innerRef","validationSchema","getValidationSchema","onSubmit","TouchErrors","Container","Spinner","FormikForm","ScrollToErrorField","ActionBlock","cancelButtonProps","submitButtonProps","configMap","NeetoRulesBuilder","assign","_objectDestructuringEmpty"],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"NeetoRulesBuilder.js","sources":["../../../app/javascript/src/v2/components/NeetoRulesBuilder/constants.js","../../../app/javascript/src/v2/components/NeetoRulesBuilder/hooks/useClearingHover.js","../../../app/javascript/src/v2/components/NeetoRulesBuilder/Token/constants.js","../../../app/javascript/src/v2/components/NeetoRulesBuilder/hooks/useReplayFlash.js","../../../app/javascript/src/v2/components/NeetoRulesBuilder/Token/index.jsx","../../../app/javascript/src/v2/components/NeetoRulesBuilder/utils.js","../../../app/javascript/src/v2/components/NeetoRulesBuilder/Canvas/ConditionRow.jsx","../../../app/javascript/src/v2/components/NeetoRulesBuilder/Canvas/Connector.jsx","../../../app/javascript/src/v2/components/NeetoRulesBuilder/Canvas/DelayRow.jsx","../../../app/javascript/src/v2/components/NeetoRulesBuilder/Canvas/MetaBlock.jsx","../../../app/javascript/src/v2/components/NeetoRulesBuilder/Canvas/ScopeBlock.jsx","../../../app/javascript/src/v2/components/NeetoRulesBuilder/Canvas/ActionRow.jsx","../../../app/javascript/src/v2/components/NeetoRulesBuilder/Canvas/ThenBlock.jsx","../../../app/javascript/src/v2/components/NeetoRulesBuilder/Canvas/WhenBlock.jsx","../../../app/javascript/src/v2/components/NeetoRulesBuilder/hooks/usePaneCascade.js","../../../app/javascript/src/v2/components/NeetoRulesBuilder/hooks/useRuleModel.js","../../../app/javascript/src/v2/components/NeetoRulesBuilder/Panes/utils.js","../../../app/javascript/src/v2/components/NeetoRulesBuilder/Canvas/index.jsx","../../../app/javascript/src/v2/components/NeetoRulesBuilder/Panes/Fields/constants.js","../../../app/javascript/src/v2/components/NeetoRulesBuilder/Panes/Fields/ActionConfigFields.jsx","../../../app/javascript/src/v2/components/NeetoRulesBuilder/hooks/usePaneValidation.js","../../../app/javascript/src/v2/components/NeetoRulesBuilder/Panes/ConfigPane.jsx","../../../app/javascript/src/v2/components/NeetoRulesBuilder/Panes/DelayPane.jsx","../../../app/javascript/src/v2/components/NeetoRulesBuilder/Common/utils.js","../../../app/javascript/src/v2/components/NeetoRulesBuilder/Common/NumberStepper.jsx","../../../app/javascript/src/v2/components/NeetoRulesBuilder/Panes/LeadTimePane.jsx","../../../app/javascript/src/v2/components/NeetoRulesBuilder/Panes/NamePane.jsx","../../../app/javascript/src/v2/components/NeetoRulesBuilder/Panes/OptionsPane.jsx","../../../app/javascript/src/v2/components/NeetoRulesBuilder/Panes/Fields/RecipientField.jsx","../../../app/javascript/src/v2/components/NeetoRulesBuilder/Panes/RecipientPane.jsx","../../../app/javascript/src/v2/components/NeetoRulesBuilder/Panes/Fields/ConditionValueFields.jsx","../../../app/javascript/src/v2/components/NeetoRulesBuilder/Panes/ValuePane.jsx","../../../app/javascript/src/v2/components/NeetoRulesBuilder/Panes/constants.js","../../../app/javascript/src/v2/components/NeetoRulesBuilder/Form.jsx","../../../app/javascript/src/v2/components/NeetoRulesBuilder/index.jsx"],"sourcesContent":["export const PARAM_KIND = {\n ENUM_SINGLE: \"enum-single\",\n ENUM_MULTI: \"enum-multi\",\n};\n\nexport const UNIT_MINUTES = { minutes: 1, hours: 60, days: 1440 };\n\n/* eslint-disable @bigbinary/neeto/hard-coded-strings-should-be-localized */\n/* eslint-disable @bigbinary/neeto/neetocommons-tips */\nexport const TIME_UNITS = [\n { label: \"minutes\", value: \"minutes\" },\n { label: \"hours\", value: \"hours\" },\n { label: \"days\", value: \"days\" },\n];\n/* eslint-enable @bigbinary/neeto/hard-coded-strings-should-be-localized */\n/* eslint-enable @bigbinary/neeto/neetocommons-tips */\n\nexport const LEAD_TIME_UNITS = TIME_UNITS;\n\n// Mirrors the classic form's three-digit input cap; 999 days equals the\n// backend's maximum lead time.\nexport const MAX_LEAD_TIME_VALUE = 999;\n\nexport const STEPPER_DELTA = { INCREMENT: 1, DECREMENT: -1 };\n\nexport const STEPPER_MIN_VALUE = 1;\n\nexport const DEFAULT_DELAY_VALUE = 10;\n\n// Matches the token flash animation duration in sentence-builder.css.\nexport const FLASH_DURATION_MS = 2200;\n\n// Keeps an element out of the keyboard tab order (HTML tabindex sentinel).\nexport const SKIP_TAB_INDEX = -1;\n\nexport const CONDITION_VERBS = {\n IS: \"is\",\n IS_NOT: \"is_not\",\n ANY_OF: \"any_of\",\n NONE_OF: \"none_of\",\n ALL_OF: \"all_of\",\n LESS_THAN: \"less_than\",\n GREATER_THAN: \"greater_than\",\n};\n\nexport const VERB_TOKENS = {\n MULTI_VALUE: \"_of\",\n CONTAINS: \"contains\",\n};\n\nexport const DEFAULT_SCHEMA = {\n triggers: { fieldKey: \"events\", options: [] },\n actor: { enabled: false, options: [], fieldKey: \"performer\" },\n conditions: { fields: [], fieldKey: \"conditions\", connectorMode: \"shared\" },\n actions: {\n options: [],\n channelMeta: {},\n recipients: [],\n fieldKey: \"actions\",\n },\n delay: { enabled: false, fieldKey: \"execution_delay\", units: [] },\n integrations: {},\n slots: {},\n};\n\nexport const STATUS_KEYS = { ENABLED: \"enabled\", DISABLED: \"disabled\" };\n\nexport const JOIN_TYPE = { and: \"and_operator\", or: \"or_operator\" };\n\nexport const CONDITION_MODE = { AND: \"and\", OR: \"or\" };\n\nexport const BUILDER_PANEL_TYPES = {\n TRIGGER: \"builder-trigger\",\n ACTOR: \"builder-actor\",\n CONDITION_FIELD: \"builder-condition-field\",\n OPERATOR: \"builder-operator\",\n CONNECTOR: \"builder-connector\",\n CONDITION_VALUE: \"builder-condition-value\",\n ACTION_CHANNEL: \"builder-action-channel\",\n ACTION_CONFIG: \"builder-action-config\",\n ACTION_STEP: \"builder-action-step\",\n RECIPIENT: \"builder-recipient\",\n DELAY: \"builder-delay\",\n LEAD_TIME: \"builder-lead-time\",\n NAME: \"builder-name\",\n SCOPE: \"builder-scope\",\n SCOPE_PHONE_FIELD: \"builder-scope-phone-field\",\n};\n\nexport const BUILDER_ANCHORS = {\n TRIGGER_ADD: \"trigger-add\",\n TRIGGER_REPLACE: \"trigger-replace\",\n TRIGGER_ACTOR: \"trigger-actor\",\n TRIGGER_LEAD_TIME: \"trigger-lead-time\",\n COND_FIELD: \"cond-field\",\n COND_OP_TOGGLE: \"cond-op-toggle\",\n COND_CONNECTOR: \"cond-connector\",\n COND_VALUES: \"cond-values\",\n ACTION_ADD: \"action-add\",\n ACTION_CHANNEL: \"action-channel\",\n ACTION_CONFIG: \"action-config\",\n ACTION_RECIPIENT: \"action-recipient\",\n ACTION_STEP: \"action-step\",\n RULE_DELAY: \"rule-delay\",\n META_NAME: \"meta-name\",\n SCOPE: \"scope\",\n SCOPE_PHONE_FIELD: \"scope-phone-field\",\n};\n\nexport const TOKEN_TO_PANEL_TYPE = {\n [BUILDER_ANCHORS.TRIGGER_ADD]: BUILDER_PANEL_TYPES.TRIGGER,\n [BUILDER_ANCHORS.TRIGGER_REPLACE]: BUILDER_PANEL_TYPES.TRIGGER,\n [BUILDER_ANCHORS.TRIGGER_ACTOR]: BUILDER_PANEL_TYPES.ACTOR,\n [BUILDER_ANCHORS.COND_FIELD]: BUILDER_PANEL_TYPES.CONDITION_FIELD,\n [BUILDER_ANCHORS.COND_OP_TOGGLE]: BUILDER_PANEL_TYPES.OPERATOR,\n [BUILDER_ANCHORS.COND_CONNECTOR]: BUILDER_PANEL_TYPES.CONNECTOR,\n [BUILDER_ANCHORS.COND_VALUES]: BUILDER_PANEL_TYPES.CONDITION_VALUE,\n [BUILDER_ANCHORS.ACTION_ADD]: BUILDER_PANEL_TYPES.ACTION_CHANNEL,\n [BUILDER_ANCHORS.ACTION_CHANNEL]: BUILDER_PANEL_TYPES.ACTION_CHANNEL,\n [BUILDER_ANCHORS.ACTION_CONFIG]: BUILDER_PANEL_TYPES.ACTION_CONFIG,\n [BUILDER_ANCHORS.ACTION_RECIPIENT]: BUILDER_PANEL_TYPES.RECIPIENT,\n [BUILDER_ANCHORS.ACTION_STEP]: BUILDER_PANEL_TYPES.ACTION_STEP,\n [BUILDER_ANCHORS.RULE_DELAY]: BUILDER_PANEL_TYPES.DELAY,\n [BUILDER_ANCHORS.TRIGGER_LEAD_TIME]: BUILDER_PANEL_TYPES.LEAD_TIME,\n [BUILDER_ANCHORS.META_NAME]: BUILDER_PANEL_TYPES.NAME,\n [BUILDER_ANCHORS.SCOPE]: BUILDER_PANEL_TYPES.SCOPE,\n [BUILDER_ANCHORS.SCOPE_PHONE_FIELD]: BUILDER_PANEL_TYPES.SCOPE_PHONE_FIELD,\n};\n\nexport const LARGE_PANEL_TYPES = [\n BUILDER_PANEL_TYPES.ACTION_CONFIG,\n BUILDER_PANEL_TYPES.SCOPE,\n BUILDER_PANEL_TYPES.NAME,\n];\n\nexport const CONDITION_ANCHORS = [\n BUILDER_ANCHORS.COND_FIELD,\n BUILDER_ANCHORS.COND_OP_TOGGLE,\n BUILDER_ANCHORS.COND_VALUES,\n BUILDER_ANCHORS.COND_CONNECTOR,\n];\n\nexport const ACTION_ANCHORS = [\n BUILDER_ANCHORS.ACTION_CHANNEL,\n BUILDER_ANCHORS.ACTION_CONFIG,\n BUILDER_ANCHORS.ACTION_RECIPIENT,\n BUILDER_ANCHORS.ACTION_STEP,\n];\n\nexport const PANE_SEARCH_THRESHOLD = 8;\n\nexport const CONFIG_FOCUSABLE_SELECTOR =\n 'input:not([type=\"radio\"]):not([type=\"checkbox\"]), textarea, [contenteditable=\"true\"]';\n\nexport const SMS_TYPES = [\"sms\", \"smsToNumbers\"];\n\nexport const RECIPIENT_FOCUSABLE_SELECTOR =\n 'input, textarea, [contenteditable=\"true\"]';\n\nexport const SMS_TO_NUMBERS = \"smsToNumbers\";\n\nexport const RECIPIENT_STORAGE_FIELDS = {\n emails: \"emails\",\n value: \"value\",\n phoneNumbers: \"phoneNumbers\",\n};\n\nexport const DEFAULT_DELAY_UNITS = TIME_UNITS;\n","import { useState } from \"react\";\n\nconst useClearingHover = () => {\n const [clearing, setClearing] = useState(false);\n\n const clearingHoverProps = {\n onMouseEnter: () => setClearing(true),\n onMouseLeave: () => setClearing(false),\n };\n\n const resetClearing = () => setClearing(false);\n\n return { clearing, clearingHoverProps, resetClearing };\n};\n\nexport default useClearingHover;\n","export const TOKEN_STATE = {\n FILLED: \"filled\",\n MUTED: \"muted\",\n // eslint-disable-next-line @bigbinary/neeto/hard-coded-strings-should-be-localized\n PLACEHOLDER: \"placeholder\",\n PLACEHOLDER_NEXT: \"placeholder-next\",\n DISABLED: \"disabled\",\n};\n\nexport const STATE_CLASS = {\n [TOKEN_STATE.PLACEHOLDER]: \"mb-placeholder\",\n [TOKEN_STATE.PLACEHOLDER_NEXT]: \"mb-placeholder mb-placeholder-next\",\n [TOKEN_STATE.DISABLED]: \"mb-placeholder mb-placeholder-disabled\",\n [TOKEN_STATE.FILLED]: \"mb-tok\",\n [TOKEN_STATE.MUTED]: \"mb-tok mb-tok-muted\",\n};\n","import { useEffect, useRef } from \"react\";\n\n// The flash is a run-once CSS animation, so a repeat submit while it is still\n// applied would not replay it on its own.\nconst useReplayFlash = flashSeq => {\n const ref = useRef(null);\n\n useEffect(() => {\n if (!flashSeq) return;\n\n ref.current?.getAnimations?.().forEach(animation => {\n animation.cancel();\n animation.play();\n });\n }, [flashSeq]);\n\n return ref;\n};\n\nexport default useReplayFlash;\n","import classnames from \"classnames\";\n\nimport { STATE_CLASS, TOKEN_STATE } from \"./constants\";\n\nimport useReplayFlash from \"../hooks/useReplayFlash\";\n\nconst Token = ({\n children,\n state = TOKEN_STATE.FILLED,\n active = false,\n invalid = false,\n onClick,\n className,\n dataTestid,\n ...rest\n}) => {\n const isInteractive =\n typeof onClick === \"function\" && state !== TOKEN_STATE.DISABLED;\n\n const tokenRef = useReplayFlash(invalid);\n\n return (\n <span\n data-testid={dataTestid}\n ref={tokenRef}\n role={isInteractive ? \"button\" : undefined}\n tabIndex={isInteractive ? 0 : undefined}\n className={classnames(\n // eslint-disable-next-line security/detect-object-injection\n STATE_CLASS[state] || STATE_CLASS.filled,\n className,\n { \"mb-tok-active\": active, \"mb-tok-invalid\": invalid }\n )}\n onClick={isInteractive ? onClick : undefined}\n onKeyDown={\n isInteractive\n ? event => {\n if (!(event.key === \"Enter\" || event.key === \" \")) return;\n event.preventDefault();\n onClick(event);\n }\n : undefined\n }\n {...rest}\n >\n {children}\n </span>\n );\n};\n\nexport default Token;\n","import { t } from \"i18next\";\nimport { isNotEmpty } from \"neetocist\";\nimport { assoc, isEmpty, isNil, mergeDeepRight } from \"ramda\";\nimport * as yup from \"yup\";\n\nimport {\n CONDITION_MODE,\n CONDITION_VERBS,\n DEFAULT_SCHEMA,\n JOIN_TYPE,\n MAX_LEAD_TIME_VALUE,\n RECIPIENT_STORAGE_FIELDS,\n SMS_TO_NUMBERS,\n STATUS_KEYS,\n UNIT_MINUTES,\n VERB_TOKENS,\n} from \"./constants\";\n\nconst humanize = value =>\n String(value ?? \"\")\n .replace(/[._]/g, \" \")\n .trim();\n\nconst isContainsVerb = verb =>\n verb.includes(VERB_TOKENS.MULTI_VALUE) && verb.includes(VERB_TOKENS.CONTAINS);\n\nconst isNumericVerb = verb =>\n verb === CONDITION_VERBS.LESS_THAN || verb === CONDITION_VERBS.GREATER_THAN;\n\n// eslint-disable-next-line @bigbinary/neeto/prefer-function-reference\nconst isExcludeVerb = verb =>\n [\n CONDITION_VERBS.IS,\n CONDITION_VERBS.IS_NOT,\n CONDITION_VERBS.ANY_OF,\n CONDITION_VERBS.NONE_OF,\n ].includes(verb);\nconst isMultiValueVerb = verb => String(verb).includes(VERB_TOKENS.MULTI_VALUE);\n\n// Lowers a label so it reads mid-sentence, but never an acronym: \"API\" and\n// \"SMS\" are already how they should appear.\nconst sentencify = label => {\n if (!label) return label;\n\n if (label.charAt(1) === label.charAt(1).toUpperCase()) return label;\n\n return label.charAt(0).toLowerCase() + label.slice(1);\n};\n\nconst copyFor = (value, args) =>\n typeof value === \"function\" ? value(args) : value;\n\nconst matchesTrigger = name => option =>\n option.eventValue === name || option.value === name || option.id === name;\n\nconst triggerOption = ({ schema, name }) =>\n (schema?.triggers?.options || []).find(matchesTrigger(name));\n\nconst triggerLabel = ({ schema, trigger }) => {\n const option = triggerOption({ schema, name: trigger?.name });\n\n return option?.plain || sentencify(option?.label || humanize(trigger?.name));\n};\n\nconst performerLabel = ({ schema, performer }) => {\n const option = (schema?.actor?.options || []).find(\n candidate => candidate.value === performer || candidate.id === performer\n );\n\n return sentencify(option?.label || humanize(performer));\n};\n\nconst conditionField = ({ schema, field }) =>\n (schema?.conditions?.fields || []).find(\n option => option.value === field || option.id === field\n );\n\nconst conditionFieldLabel = ({ schema, condition }) => {\n const field = conditionField({ schema, field: condition?.field });\n\n return String(field?.label || humanize(condition?.field)).toLowerCase();\n};\n\nconst operatorLabel = ({ schema, condition }) => {\n const map = schema?.conditions?.operatorLabels || {};\n\n return map[condition?.verb] || humanize(condition?.verb);\n};\n\nconst conditionNeedsValue = ({ schema, condition }) => {\n const field = conditionField({ schema, field: condition?.field });\n\n return !(field?.noValueForVerbs || []).includes(condition?.verb);\n};\n\nconst conditionValueLabel = ({ schema, condition }) => {\n const meta = condition?.metadata || {};\n const raw = meta.value ?? meta.values ?? meta.label;\n\n if (isNil(raw) || isEmpty(raw)) return null;\n\n const field = conditionField({ schema, field: condition?.field });\n const options =\n field?.values || field?.dropdownOptions || field?.options || [];\n const isEnum = isNotEmpty(options);\n\n const labelFor = value => {\n const option = options.find(\n candidate => (candidate.value ?? candidate.id) === value\n );\n const label = option ? (option.label ?? option.value ?? option.id) : value;\n\n return isEnum ? String(label).toLowerCase() : label;\n };\n\n const connector = String(condition?.verb || \"\").includes(\n CONDITION_VERBS.ALL_OF\n )\n ? t(\"neetoRules.operators.and\")\n : t(\"neetoRules.operators.or\");\n\n return Array.isArray(raw)\n ? raw.map(labelFor).join(` ${connector} `)\n : String(labelFor(raw));\n};\n\nconst actionOption = ({ schema, name }) =>\n (schema?.actions?.options || []).find(\n option => option.value === name || option.id === name\n );\n\nconst channelOption = ({ schema, channel }) =>\n (schema?.actions?.options || []).find(\n option => (option.value ?? option.id) === channel\n );\n\n// A step is an extra sentence token a host hangs off an action — its own\n// separator, its own pane — for settings that do not belong in the config pane.\n// Its key shares the action's metadata namespace, so declaring one is how a\n// host hands a field to the step: whoever declares it owns it, and the config\n// pane stops validating it.\nconst actionStepsOf = ({ schema, action }) =>\n actionParts({ schema, action }).steps || [];\n\nconst stepValueOf = ({ action, step }) => action?.metadata?.[step.key];\n\nconst stepLabelOf = ({ action, step }) => {\n const value = stepValueOf({ action, step });\n\n return (\n (step.options || []).find(option => (option.value ?? option.id) === value)\n ?.label || \"\"\n );\n};\n\nconst actionParts = ({ schema, action }) => {\n const actions = schema?.actions || {};\n\n const resolved = action?.channel\n ? { channel: action.channel, recipient: action.recipient }\n : actions.actionForName?.(action?.name) || {};\n\n const channel = resolved.channel;\n const recipientValue = action?.recipient ?? resolved.recipient;\n\n const option = channel\n ? channelOption({ schema, channel })\n : actionOption({ schema, name: action?.name });\n\n // eslint-disable-next-line security/detect-object-injection\n const channelMeta = actions.channelMeta?.[channel] || {};\n const matchesRecipient = recipient =>\n (recipient.value ?? recipient.id) === recipientValue;\n\n const recipientLabel =\n (actions.recipients || []).find(matchesRecipient)?.label ||\n (option?.recipients || []).find(matchesRecipient)?.label ||\n recipientValue;\n\n return {\n option,\n channel,\n label: option?.label || humanize(action?.name),\n verb:\n channelMeta.verb ||\n (channel\n ? t(\"neetoRules.builder.send\")\n : option?.plain || option?.label) ||\n humanize(action?.name),\n paramKind: !channel && option?.paramType,\n valueNoun: option?.valueNoun,\n valueNounPlural: option?.valueNounPlural,\n mediumLabel: channelMeta.mediumLabel || option?.mediumLabel,\n icon: channelMeta.icon || option?.icon,\n needsRecipient: channelMeta.needsRecipient ?? option?.needsRecipient,\n separator: channelMeta.separator || option?.separator,\n configValue: actions.configValueLabel?.(action) || \"\",\n configValuePlaceholder:\n channelMeta.valuePlaceholder || option?.valuePlaceholder,\n recipient: recipientValue,\n recipientLabel,\n configTitle: channelMeta.configTitle || option?.configTitle,\n configSubtitle: channelMeta.configSubtitle || option?.configSubtitle,\n steps: channelMeta.steps || option?.steps || [],\n recipientTitle: channelMeta.recipientTitle || option?.recipientTitle,\n recipientSubtitle:\n channelMeta.recipientSubtitle || option?.recipientSubtitle,\n };\n};\n\n// Which condition fields a host offers can depend on the rule — a trigger may\n// only support a subset. Lookups deliberately keep using the full list so a\n// field already on the rule still resolves after the offer narrows.\nconst offeredConditionFields = ({ schema, rule }) =>\n schema?.conditions?.fieldsFor?.({ rule }) ?? schema?.conditions?.fields ?? [];\n\nconst hasTrigger = rule => !isEmpty(rule?.triggers || []);\n\nconst hasAction = rule => (rule?.actions || []).some(action => action?.name);\n\nconst isTriggerEnabled = schema => schema?.triggers?.enabled !== false;\n\nconst isTriggerSatisfied = ({ rule, schema }) =>\n !isTriggerEnabled(schema) || hasTrigger(rule);\n\nconst hasRequiredConditions = ({ rule, schema }) =>\n schema?.conditions?.allowEmpty === false\n ? isNotEmpty(rule?.conditions || [])\n : true;\n\nconst hasUnansweredStep = ({ rule, schema }) =>\n (rule?.actions || []).some(action =>\n actionStepsOf({ schema, action }).some(\n step => step.required && !stepValueOf({ action, step })\n )\n );\n\nconst isRuleComplete = ({ rule, schema }) =>\n isTriggerSatisfied({ rule, schema }) &&\n hasRequiredConditions({ rule, schema }) &&\n hasAction(rule) &&\n !hasUnansweredStep({ rule, schema });\n\nconst scopeOptionFor = ({ schema, item }) => {\n const value = item?.value ?? item;\n\n return (schema?.scope?.options || []).find(\n candidate => (candidate.value ?? candidate.id) === value\n );\n};\n\nconst scopePhoneFields = ({ schema, item }) =>\n item?.phoneFields ?? scopeOptionFor({ schema, item })?.phoneFields ?? null;\n\nconst effectiveScopePhoneField = ({ schema, item }) => {\n if (item?.phoneField) return item.phoneField;\n\n const phoneFields = scopePhoneFields({ schema, item });\n\n return phoneFields?.length === 1 ? phoneFields[0].value : undefined;\n};\n\nconst invalidScopeIndexes = ({ rule, schema }) => {\n const scope = schema?.scope;\n if (!scope?.enabled || !scope.requiresPhone?.(rule?.actions || [])) return [];\n\n return (rule?.scope || []).reduce((indexes, item, index) => {\n const option = scopeOptionFor({ schema, item });\n const phoneFields = scopePhoneFields({ schema, item });\n const hasPhoneField =\n item?.hasPhoneField ??\n option?.hasPhoneField ??\n (phoneFields ? phoneFields.length > 0 : undefined);\n if (hasPhoneField === false) indexes.push(index);\n\n return indexes;\n }, []);\n};\n\nconst invalidScopePhoneFieldIndexes = ({ rule, schema }) => {\n const scope = schema?.scope;\n if (!scope?.enabled || !scope.requiresPhone?.(rule?.actions || [])) return [];\n\n return (rule?.scope || []).reduce((indexes, item, index) => {\n const phoneFields = scopePhoneFields({ schema, item });\n const hasChoice = (phoneFields?.length || 0) > 1;\n if (hasChoice && !effectiveScopePhoneField({ schema, item })) {\n indexes.push(index);\n }\n\n return indexes;\n }, []);\n};\n\nconst minutesToParts = minutes => {\n const total = Number(minutes) || 0;\n if (total && total % UNIT_MINUTES.days === 0) {\n return { value: total / UNIT_MINUTES.days, unit: \"days\" };\n }\n\n if (total && total % UNIT_MINUTES.hours === 0) {\n return { value: total / UNIT_MINUTES.hours, unit: \"hours\" };\n }\n\n return { value: total, unit: \"minutes\" };\n};\n\nconst partsToMinutes = ({ value, unit }) =>\n // eslint-disable-next-line security/detect-object-injection\n (Number(value) || 0) * (UNIT_MINUTES[unit] || 1);\n\nconst leadTimeExceedsMax = minutes =>\n minutesToParts(minutes).value > MAX_LEAD_TIME_VALUE;\n\nconst leadTimeValidationSchema = schema => {\n const fieldKey = schema?.triggers?.leadTime?.fieldKey;\n if (!fieldKey) return yup.object();\n\n return yup.object().shape({\n [fieldKey]: yup.object().shape({\n // yup 0.32 can only concat schemas of the same type, and the host's\n // generic field schema for the lead time key is a string schema.\n value: yup.string().test(\n \"max-lead-time\",\n () =>\n t(\"neetoRules.validations.maxLeadTime\", {\n max: MAX_LEAD_TIME_VALUE,\n }),\n minutes => !leadTimeExceedsMax(minutes)\n ),\n }),\n });\n};\n\nconst leadTimeLabel = minutes => {\n const { value, unit } = minutesToParts(minutes);\n const unitLabel = value === 1 ? unit.replace(/s$/, \"\") : unit;\n\n return `${value} ${unitLabel}`;\n};\n\nconst normalizeTriggers = triggers => {\n if (Array.isArray(triggers)) return { options: triggers };\n\n return triggers || {};\n};\n\nconst normalizeSchema = (rawSchema = {}) =>\n mergeDeepRight(DEFAULT_SCHEMA, {\n ...rawSchema,\n triggers: normalizeTriggers(rawSchema.triggers),\n });\n\nconst joinTypeFor = mode =>\n mode === CONDITION_MODE.OR ? JOIN_TYPE.or : JOIN_TYPE.and;\n\nconst recipientStorageField = field =>\n field === RECIPIENT_STORAGE_FIELDS.emails\n ? RECIPIENT_STORAGE_FIELDS.emails\n : RECIPIENT_STORAGE_FIELDS.value;\n\n// Which metadata fields the recipient pane renders, and therefore owns: no\n// other pane may block Continue on them. Canvas and ConfigPane both ask here\n// so the two lists cannot drift apart.\nconst recipientOwnedFields = ({ schema, action, name }) => {\n const actions = schema?.actions || {};\n const resolved = actions.actionForName?.(action?.name) || {};\n const channel = action?.channel || resolved.channel;\n // A recipient the host implies from the action name counts just as much as\n // one the user picked, or the pane it owns cannot be excluded.\n const recipient = action?.recipient ?? resolved.recipient;\n\n const rendersEmails =\n !!actions.renderRecipientEditor?.({ channel, name, action }) ||\n !!actions.renderRecipientField?.({ channel, name, action, recipient });\n\n const recipientConfig = (actions.options || [])\n .flatMap(option => option.recipients || [])\n .concat(actions.recipients || [])\n .find(item => (item.value ?? item.id) === recipient);\n\n const flatOption =\n actions.optionForName?.(action?.name) ||\n actions.optionForChannel?.(channel);\n\n return [\n ...(rendersEmails ? [RECIPIENT_STORAGE_FIELDS.emails] : []),\n ...(recipientConfig?.field\n ? [recipientStorageField(recipientConfig.field)]\n : []),\n ...(flatOption?.type === SMS_TO_NUMBERS\n ? [RECIPIENT_STORAGE_FIELDS.phoneNumbers]\n : []),\n ];\n};\n\nconst modeFromJoinType = joinType =>\n joinType === JOIN_TYPE.or ? CONDITION_MODE.OR : CONDITION_MODE.AND;\n\n// eslint-disable-next-line security/detect-object-injection\nconst valueAt = ({ values, key }) => values?.[key]?.value;\n\nconst asArray = maybeArray => (Array.isArray(maybeArray) ? maybeArray : []);\n\nconst fieldKeysFromSchema = (schema = {}) => ({\n triggers: schema.triggers?.fieldKey || \"events\",\n performer: schema.actor?.fieldKey || \"performer\",\n conditions: schema.conditions?.fieldKey || \"conditions\",\n actions: schema.actions?.fieldKey || \"actions\",\n delay: schema.delay?.fieldKey || \"execution_delay\",\n leadTime: schema.triggers?.leadTime?.fieldKey,\n scope: schema.scope?.fieldKey || \"meetingIds\",\n status: \"status\",\n name: \"name\",\n});\n\nconst valuesToRuleModel = ({ values = {}, schema = {} } = {}) => {\n const keys = fieldKeysFromSchema(schema);\n\n const conditions = asArray(valueAt({ values, key: keys.conditions }));\n const rawDelay = valueAt({ values, key: keys.delay });\n\n return {\n name: valueAt({ values, key: keys.name }) || \"\",\n active: valueAt({ values, key: keys.status }) !== STATUS_KEYS.DISABLED,\n triggers: asArray(valueAt({ values, key: keys.triggers })),\n performer: valueAt({ values, key: keys.performer }) ?? null,\n conditions,\n conditionMode: modeFromJoinType(conditions[0]?.joinType),\n delay: isNil(rawDelay) || isEmpty(rawDelay) ? null : rawDelay,\n actions: asArray(valueAt({ values, key: keys.actions })),\n leadTime: keys.leadTime ? valueAt({ values, key: keys.leadTime }) : null,\n scope: asArray(valueAt({ values, key: keys.scope })),\n };\n};\n\nconst setTriggers = ({ schema, triggers }) => ({\n path: `${fieldKeysFromSchema(schema).triggers}.value`,\n value: triggers,\n});\n\nconst setPerformer = ({ schema, performer }) => ({\n path: `${fieldKeysFromSchema(schema).performer}.value`,\n value: performer,\n});\n\nconst setActions = ({ schema, actions }) => ({\n path: `${fieldKeysFromSchema(schema).actions}.value`,\n value: actions,\n});\n\nconst setConditions = ({ schema, conditions }) => ({\n path: `${fieldKeysFromSchema(schema).conditions}.value`,\n value: conditions,\n});\n\nconst setConditionMode = ({ schema, conditions, joinType }) =>\n setConditions({\n schema,\n conditions: conditions.map(condition =>\n assoc(\"joinType\", joinTypeFor(joinType), condition)\n ),\n });\n\nconst setDelay = ({ schema, delay }) => ({\n path: `${fieldKeysFromSchema(schema).delay}.value`,\n value: delay ?? {},\n});\n\nconst setActive = ({ schema, active }) => ({\n path: `${fieldKeysFromSchema(schema).status}.value`,\n value: active ? STATUS_KEYS.ENABLED : STATUS_KEYS.DISABLED,\n});\n\nconst setScope = ({ schema, scope }) => ({\n path: `${fieldKeysFromSchema(schema).scope}.value`,\n value: scope,\n});\n\nconst removeArrayItem = ({ values, fieldKey, index }) => {\n const list = asArray(valueAt({ values, key: fieldKey }));\n // eslint-disable-next-line security/detect-object-injection\n const removed = list[index];\n const nextList = list.filter((_, i) => i !== index);\n\n const result = [{ path: `${fieldKey}.value`, value: nextList }];\n if (removed?.id) {\n // eslint-disable-next-line security/detect-object-injection\n const deleted = asArray(values?.[fieldKey]?.deleted);\n result.push({\n path: `${fieldKey}.deleted`,\n value: [...deleted, { ...removed, _destroy: true }],\n });\n }\n\n return result;\n};\n\nconst clearArrayItems = ({ values, fieldKey }) => {\n const list = asArray(valueAt({ values, key: fieldKey }));\n const removed = list\n .filter(item => item?.id)\n .map(item => ({ ...item, _destroy: true }));\n\n const result = [{ path: `${fieldKey}.value`, value: [] }];\n if (removed.length) {\n // eslint-disable-next-line security/detect-object-injection\n const deleted = asArray(values?.[fieldKey]?.deleted);\n result.push({\n path: `${fieldKey}.deleted`,\n value: [...deleted, ...removed],\n });\n }\n\n return result;\n};\n\nexport {\n humanize,\n isContainsVerb,\n isNumericVerb,\n isExcludeVerb,\n isMultiValueVerb,\n sentencify,\n copyFor,\n triggerLabel,\n performerLabel,\n conditionFieldLabel,\n operatorLabel,\n conditionValueLabel,\n conditionNeedsValue,\n actionParts,\n actionStepsOf,\n stepValueOf,\n stepLabelOf,\n hasTrigger,\n isTriggerEnabled,\n isTriggerSatisfied,\n hasRequiredConditions,\n offeredConditionFields,\n hasAction,\n isRuleComplete,\n invalidScopeIndexes,\n invalidScopePhoneFieldIndexes,\n scopePhoneFields,\n effectiveScopePhoneField,\n minutesToParts,\n partsToMinutes,\n leadTimeValidationSchema,\n leadTimeLabel,\n normalizeSchema,\n joinTypeFor,\n fieldKeysFromSchema,\n valuesToRuleModel,\n setTriggers,\n setPerformer,\n setActions,\n setConditions,\n setConditionMode,\n setDelay,\n setActive,\n setScope,\n removeArrayItem,\n clearArrayItems,\n recipientStorageField,\n recipientOwnedFields,\n};\n","import { Button } from \"@bigbinary/neeto-atoms\";\nimport classnames from \"classnames\";\nimport { Delete, Plus } from \"neetoicons\";\nimport { useTranslation } from \"react-i18next\";\n\nimport { BUILDER_ANCHORS, CONDITION_MODE } from \"../constants\";\nimport useClearingHover from \"../hooks/useClearingHover\";\nimport Token from \"../Token\";\nimport { TOKEN_STATE } from \"../Token/constants\";\nimport {\n conditionFieldLabel,\n operatorLabel,\n conditionValueLabel,\n conditionNeedsValue,\n sentencify,\n isTriggerEnabled,\n} from \"../utils\";\n\nconst ConditionRow = ({\n rule,\n schema,\n condition,\n index,\n onToken: handleToken,\n onAddCondition: handleAddCondition,\n onRemove: handleRemove,\n isActive = () => false,\n isInvalid = () => false,\n}) => {\n const { t } = useTranslation();\n const isFirst = index === 0;\n const hasField = !!condition?.field;\n const hasVerb = !!condition?.verb;\n const conditionField = (schema?.conditions?.fields || []).find(\n field => (field.value ?? field.id) === condition?.field\n );\n\n const operatorPlaceholder =\n conditionField?.operatorPlaceholder ||\n t(\"neetoRules.builder.selectOperator\");\n const value = conditionValueLabel({ schema, condition });\n const needsValue = conditionNeedsValue({ schema, condition });\n const { clearing, clearingHoverProps } = useClearingHover();\n\n return (\n <div className={classnames(\"mb-row\", { clearing })}>\n <div className=\"mb-sentence\">\n {isFirst ? (\n <span className=\"mb-fixed\">\n {isTriggerEnabled(schema)\n ? t(\"neetoRules.operators.and\")\n : t(\"neetoRules.common.when\")}\n </span>\n ) : (\n <Token\n active={isActive({ type: BUILDER_ANCHORS.COND_CONNECTOR, index })}\n className=\"mb-tok-connector\"\n dataTestid={`cond-connector-${index}`}\n onClick={\n handleToken &&\n (() =>\n handleToken({ type: BUILDER_ANCHORS.COND_CONNECTOR, index }))\n }\n >\n {rule.conditionMode === CONDITION_MODE.OR\n ? t(\"neetoRules.operators.or\")\n : t(\"neetoRules.operators.and\")}\n </Token>\n )}\n {hasField ? (\n <>\n <Token\n active={isActive({ type: BUILDER_ANCHORS.COND_FIELD, index })}\n dataTestid={`cond-field-${index}`}\n onClick={\n handleToken &&\n (() => handleToken({ type: BUILDER_ANCHORS.COND_FIELD, index }))\n }\n >\n {conditionFieldLabel({ schema, condition })}\n </Token>\n <Token\n active={isActive({ type: BUILDER_ANCHORS.COND_OP_TOGGLE, index })}\n dataTestid={`cond-op-${index}`}\n state={hasVerb ? TOKEN_STATE.FILLED : TOKEN_STATE.MUTED}\n invalid={isInvalid({\n type: BUILDER_ANCHORS.COND_OP_TOGGLE,\n index,\n })}\n onClick={\n handleToken &&\n (() =>\n handleToken({ type: BUILDER_ANCHORS.COND_OP_TOGGLE, index }))\n }\n >\n {hasVerb\n ? sentencify(operatorLabel({ schema, condition }))\n : operatorPlaceholder}\n </Token>\n {hasVerb && needsValue && (\n <Token\n active={isActive({ type: BUILDER_ANCHORS.COND_VALUES, index })}\n dataTestid={`cond-values-${index}`}\n state={value ? TOKEN_STATE.FILLED : TOKEN_STATE.MUTED}\n invalid={isInvalid({\n type: BUILDER_ANCHORS.COND_VALUES,\n index,\n })}\n onClick={\n handleToken &&\n (() =>\n handleToken({ type: BUILDER_ANCHORS.COND_VALUES, index }))\n }\n >\n {value || t(\"neetoRules.form.addValue\")}\n </Token>\n )}\n </>\n ) : (\n <Token\n active={isActive({ type: BUILDER_ANCHORS.COND_FIELD, index })}\n dataTestid={`cond-field-${index}`}\n invalid={isInvalid({ type: BUILDER_ANCHORS.COND_FIELD, index })}\n state={TOKEN_STATE.PLACEHOLDER_NEXT}\n onClick={\n handleToken &&\n (() => handleToken({ type: BUILDER_ANCHORS.COND_FIELD, index }))\n }\n >\n {t(\"neetoRules.builder.selectCondition\")}\n </Token>\n )}\n </div>\n <div className=\"mb-row-actions\">\n {handleAddCondition && (\n <Button\n data-testid={`cond-add-${index}`}\n icon={Plus}\n size=\"sm\"\n variant=\"ghost\"\n tooltipProps={{\n content: t(\"neetoRules.builder.aria.addAnotherCondition\"),\n position: \"top\",\n }}\n onClick={handleAddCondition}\n />\n )}\n {handleRemove && (\n <Button\n data-testid={`cond-remove-${index}`}\n icon={Delete}\n size=\"sm\"\n variant=\"ghost\"\n tooltipProps={{\n content: t(\"neetoRules.builder.aria.deleteCondition\"),\n position: \"top\",\n }}\n onClick={handleRemove}\n {...clearingHoverProps}\n />\n )}\n </div>\n </div>\n );\n};\n\nexport default ConditionRow;\n","import classnames from \"classnames\";\n\nconst Connector = ({ active = false }) => (\n <div aria-hidden className={classnames(\"mb-arrow\", { \"is-active\": active })}>\n <svg fill=\"none\" height=\"28\" viewBox=\"0 0 24 28\" width=\"24\">\n <path\n d=\"M12 2 V22 M5 15 l7 7 l7 -7\"\n stroke=\"currentColor\"\n strokeLinecap=\"round\"\n strokeLinejoin=\"round\"\n strokeWidth=\"2\"\n />\n </svg>\n </div>\n);\n\nexport default Connector;\n","import { Button } from \"@bigbinary/neeto-atoms\";\nimport classnames from \"classnames\";\nimport { Delete } from \"neetoicons\";\nimport { isNil } from \"ramda\";\nimport { useTranslation } from \"react-i18next\";\n\nimport { BUILDER_ANCHORS } from \"../constants\";\nimport useClearingHover from \"../hooks/useClearingHover\";\nimport Token from \"../Token\";\nimport { TOKEN_STATE } from \"../Token/constants\";\n\nconst DelayRow = ({\n rule,\n onToken: handleToken,\n onRemove: handleRemove,\n isActive = () => false,\n isInvalid = () => false,\n}) => {\n const { t } = useTranslation();\n const { delay } = rule;\n const { clearing, clearingHoverProps } = useClearingHover();\n if (!delay) return null;\n\n const label = [delay.value, delay.unit]\n .filter(part => part !== \"\" && !isNil(part))\n .join(\" \");\n\n return (\n <div className={classnames(\"mb-row\", { clearing })}>\n <div className=\"mb-sentence\">\n <span className=\"mb-fixed\">\n {t(\"neetoRules.form.delayExecutionBy\")}\n </span>\n <Token\n dataTestid=\"rule-delay\"\n state={label ? TOKEN_STATE.FILLED : TOKEN_STATE.MUTED}\n active={isActive({\n type: BUILDER_ANCHORS.RULE_DELAY,\n index: undefined,\n })}\n invalid={isInvalid({\n type: BUILDER_ANCHORS.RULE_DELAY,\n index: undefined,\n })}\n onClick={\n handleToken &&\n (() => handleToken({ type: BUILDER_ANCHORS.RULE_DELAY }))\n }\n >\n {label || t(\"neetoRules.builder.setDelay\")}\n </Token>\n </div>\n {handleRemove && (\n <div className=\"mb-row-actions\">\n <Button\n data-testid=\"rule-delay-remove\"\n icon={Delete}\n size=\"sm\"\n variant=\"ghost\"\n tooltipProps={{\n content: t(\"neetoRules.builder.aria.removeDelay\"),\n position: \"top\",\n }}\n onClick={handleRemove}\n {...clearingHoverProps}\n />\n </div>\n )}\n </div>\n );\n};\n\nexport default DelayRow;\n","import classnames from \"classnames\";\nimport { useTranslation } from \"react-i18next\";\n\nimport useReplayFlash from \"../hooks/useReplayFlash\";\n\nconst MetaBlock = ({\n rule,\n showName = true,\n isInvalid = false,\n onEditName: handleEditName,\n onToggleActive: handleToggleActive,\n}) => {\n const { t } = useTranslation();\n\n const nameRef = useReplayFlash(isInvalid);\n\n return (\n <div className=\"mb-meta\">\n {showName && (\n <div className=\"mb-meta-field\">\n <span className=\"mb-meta-label\">\n {t(\"neetoRules.builder.automationName\")}\n </span>\n <div\n data-testid=\"rule-name-edit\"\n ref={nameRef}\n role={handleEditName ? \"button\" : undefined}\n tabIndex={handleEditName ? 0 : undefined}\n className={classnames(\"mb-meta-input-wrap\", {\n \"mb-meta-invalid\": isInvalid,\n })}\n onClick={handleEditName}\n >\n <span className=\"mb-meta-name-display\" data-testid=\"rule-name\">\n {rule.name}\n </span>\n <span aria-hidden className=\"mb-meta-edit\">\n <svg fill=\"none\" height=\"14\" viewBox=\"0 0 24 24\" width=\"14\">\n <path\n d=\"M12 20h9 M16.5 3.5a2.1 2.1 0 0 1 3 3L7 19l-4 1 1-4Z\"\n stroke=\"currentColor\"\n strokeLinecap=\"round\"\n strokeLinejoin=\"round\"\n strokeWidth=\"2\"\n />\n </svg>\n </span>\n </div>\n </div>\n )}\n <label className=\"mb-meta-active\" data-testid=\"rule-active-label\">\n <input\n checked={rule.active}\n data-testid=\"rule-active-checkbox\"\n readOnly={!handleToggleActive}\n type=\"checkbox\"\n onChange={handleToggleActive || undefined}\n />\n <span aria-hidden className=\"mb-checkbox\">\n <svg fill=\"none\" height=\"12\" viewBox=\"0 0 14 14\" width=\"12\">\n <path d=\"M2 7l3.5 3.5L12 3.5\" />\n </svg>\n </span>\n {t(\"neetoRules.builder.activateThisAutomation\")}\n </label>\n </div>\n );\n};\n\nexport default MetaBlock;\n","import { Button } from \"@bigbinary/neeto-atoms\";\nimport classnames from \"classnames\";\nimport { Delete, Plus } from \"neetoicons\";\nimport { isEmpty } from \"ramda\";\nimport { useTranslation } from \"react-i18next\";\n\nimport { BUILDER_ANCHORS } from \"../constants\";\nimport useClearingHover from \"../hooks/useClearingHover\";\nimport Token from \"../Token\";\nimport { TOKEN_STATE } from \"../Token/constants\";\nimport { copyFor, scopePhoneFields } from \"../utils\";\n\nconst itemLabel = item =>\n item?.label || item?.name || item?.value || String(item ?? \"\");\n\nconst ScopeBlock = ({\n rule,\n schema,\n onToken: handleToken,\n onRemoveScope: handleRemoveScope,\n isActive = () => false,\n isInvalid = () => false,\n}) => {\n const { t } = useTranslation();\n const scope = rule.scope || [];\n const placeholder =\n schema?.scope?.placeholder || t(\"neetoRules.builder.scope.placeholder\");\n const requiresPhone = !!schema?.scope?.requiresPhone?.(rule.actions || []);\n\n if (isEmpty(scope)) {\n return (\n <div className=\"mb-row\">\n <div className=\"mb-sentence\">\n <Token\n active={isActive({ type: BUILDER_ANCHORS.SCOPE, index: undefined })}\n dataTestid=\"scope-add\"\n state={TOKEN_STATE.PLACEHOLDER_NEXT}\n onClick={\n handleToken &&\n (() => handleToken({ type: BUILDER_ANCHORS.SCOPE }))\n }\n >\n {placeholder}\n </Token>\n </div>\n </div>\n );\n }\n\n return scope.map((item, index) => (\n <ScopeRow\n {...{ index, isActive, isInvalid, item, requiresPhone, schema }}\n isLast={index === scope.length - 1}\n key={(item?.value ?? item) || index}\n onRemoveScope={handleRemoveScope}\n onToken={handleToken}\n />\n ));\n};\n\nconst ScopeRow = ({\n schema,\n item,\n index,\n onToken: handleToken,\n onRemoveScope: handleRemoveScope,\n isActive,\n isInvalid,\n isLast,\n requiresPhone,\n}) => {\n const { t } = useTranslation();\n const { clearing, clearingHoverProps } = useClearingHover();\n const lead = schema?.scope?.lead || t(\"neetoRules.builder.scope.lead\");\n const meeting = itemLabel(item);\n const phoneFields = requiresPhone ? scopePhoneFields({ item, schema }) : null;\n const hasPhoneFieldChoice = (phoneFields?.length || 0) > 1;\n const singlePhoneFieldLabel =\n phoneFields?.length === 1 ? phoneFields[0].label : null;\n\n const selectedPhoneField = phoneFields?.find(\n field => field.value === item?.phoneField\n );\n\n const usingLabel =\n copyFor(schema?.scope?.usingLabel, { meeting }) ||\n t(\"neetoRules.builder.scope.using\");\n\n const phoneFieldPlaceholder =\n copyFor(schema?.scope?.phoneFieldPlaceholder, { meeting }) ||\n t(\"neetoRules.builder.selectPhoneField\");\n\n return (\n <div className={classnames(\"mb-row\", { clearing })}>\n <div className=\"mb-sentence\">\n <span className=\"mb-fixed\">{lead}</span>\n <Token\n active={isActive({ type: BUILDER_ANCHORS.SCOPE, index: undefined })}\n dataTestid={`scope-${index}`}\n invalid={isInvalid({ type: BUILDER_ANCHORS.SCOPE, index })}\n onClick={\n handleToken && (() => handleToken({ type: BUILDER_ANCHORS.SCOPE }))\n }\n >\n {meeting}\n </Token>\n {singlePhoneFieldLabel && (\n <span className=\"mb-fixed\">\n {usingLabel} {singlePhoneFieldLabel}\n </span>\n )}\n {hasPhoneFieldChoice && (\n <>\n <span className=\"mb-fixed\">{usingLabel}</span>\n <Token\n dataTestid={`scope-phone-field-${index}`}\n active={isActive({\n type: BUILDER_ANCHORS.SCOPE_PHONE_FIELD,\n index,\n })}\n invalid={isInvalid({\n type: BUILDER_ANCHORS.SCOPE_PHONE_FIELD,\n index,\n })}\n state={\n selectedPhoneField ? TOKEN_STATE.FILLED : TOKEN_STATE.MUTED\n }\n onClick={\n handleToken &&\n (() =>\n handleToken({\n type: BUILDER_ANCHORS.SCOPE_PHONE_FIELD,\n index,\n }))\n }\n >\n {selectedPhoneField?.label || phoneFieldPlaceholder}\n </Token>\n </>\n )}\n </div>\n <div className=\"mb-row-actions\">\n {handleToken && isLast && (\n <Button\n data-testid={`scope-add-${index}`}\n icon={Plus}\n size=\"sm\"\n variant=\"ghost\"\n tooltipProps={{\n content: t(\"neetoRules.builder.aria.addAnotherBookingPage\"),\n position: \"top\",\n }}\n onClick={() => handleToken({ type: BUILDER_ANCHORS.SCOPE })}\n />\n )}\n {handleRemoveScope && (\n <Button\n data-testid={`scope-remove-${index}`}\n icon={Delete}\n size=\"sm\"\n variant=\"ghost\"\n tooltipProps={{\n content: t(\"neetoRules.builder.aria.removeBookingPage\"),\n position: \"top\",\n }}\n onClick={() => handleRemoveScope(index)}\n {...clearingHoverProps}\n />\n )}\n </div>\n </div>\n );\n};\n\nexport default ScopeBlock;\n","import { Fragment } from \"react\";\n\nimport { Button } from \"@bigbinary/neeto-atoms\";\nimport classnames from \"classnames\";\nimport { isNotEmpty } from \"neetocist\";\nimport { Delete, Plus } from \"neetoicons\";\nimport { useTranslation } from \"react-i18next\";\n\nimport { PARAM_KIND, BUILDER_ANCHORS } from \"../constants\";\nimport useClearingHover from \"../hooks/useClearingHover\";\nimport Token from \"../Token\";\nimport { TOKEN_STATE } from \"../Token/constants\";\nimport { actionParts, sentencify, stepLabelOf } from \"../utils\";\n\nconst ActionRow = ({\n schema,\n action,\n index,\n position,\n onToken: handleToken,\n onAddAction: handleAddAction,\n onRemove: handleRemove,\n isActive = () => false,\n isInvalid = () => false,\n}) => {\n const { t } = useTranslation();\n const {\n option,\n label,\n verb,\n mediumLabel,\n icon: MediumIcon,\n needsRecipient,\n recipient,\n recipientLabel,\n separator,\n configValue,\n configValuePlaceholder,\n paramKind,\n valueNoun,\n valueNounPlural,\n steps,\n } = actionParts({ schema, action });\n\n // A separator-less action still needs a value slot when the host declares a\n // placeholder for it, otherwise its chosen value never reaches the canvas.\n const hasParamTail =\n paramKind === PARAM_KIND.ENUM_SINGLE ||\n paramKind === PARAM_KIND.ENUM_MULTI ||\n !!configValuePlaceholder ||\n !!configValue;\n\n const multiPlaceholder = valueNounPlural\n ? t(\"neetoRules.builder.selectNoun\", { noun: valueNounPlural })\n : t(\"neetoRules.form.selectValues\");\n\n const singlePlaceholder = valueNoun\n ? t(\"neetoRules.builder.selectNoun\", { noun: valueNoun })\n : t(\"neetoRules.form.selectValue\");\n\n const paramPlaceholder =\n paramKind === PARAM_KIND.ENUM_MULTI ? multiPlaceholder : singlePlaceholder;\n\n const connector =\n (position ?? index) === 0\n ? t(\"neetoRules.common.then\")\n : t(\"neetoRules.operators.and\");\n const verbLabel = sentencify(verb || label);\n const isVerbActive =\n isActive({ type: BUILDER_ANCHORS.ACTION_CHANNEL, index }) ||\n isActive({ type: BUILDER_ANCHORS.ACTION_ADD, index });\n const configLabel = mediumLabel || sentencify(option?.placeholder);\n // A host may declare two separators: the first introduces the recipient\n // (\"whose email is\"), the second the configured value (\"with the following\").\n const [recipientSeparator, configSeparator] = Array.isArray(separator)\n ? separator\n : [null, separator];\n const isConfigured = isNotEmpty(action?.metadata);\n // A host that shows no value label still needs the token to read as filled.\n const configState =\n configValue || isConfigured ? TOKEN_STATE.FILLED : TOKEN_STATE.MUTED;\n const { clearing, clearingHoverProps } = useClearingHover();\n\n const configToken = configSeparator ? (\n <Fragment key=\"config\">\n <span className=\"mb-fixed\">{configSeparator}</span>\n <Token\n active={isActive({ type: BUILDER_ANCHORS.ACTION_CONFIG, index })}\n dataTestid={`action-config-value-${index}`}\n state={configState}\n invalid={isInvalid({\n type: BUILDER_ANCHORS.ACTION_CONFIG,\n index,\n })}\n onClick={\n handleToken &&\n (() => handleToken({ type: BUILDER_ANCHORS.ACTION_CONFIG, index }))\n }\n >\n {configValue ||\n sentencify(configValuePlaceholder) ||\n t(\"neetoRules.builder.selectFallback\")}\n </Token>\n </Fragment>\n ) : null;\n\n const recipientToken = needsRecipient ? (\n <Fragment key=\"recipient\">\n <span className=\"mb-fixed\">\n {recipientSeparator || t(\"neetoRules.common.to\")}\n </span>\n <Token\n dataTestid={`action-recipient-${index}`}\n state={recipient ? TOKEN_STATE.FILLED : TOKEN_STATE.MUTED}\n active={isActive({\n type: BUILDER_ANCHORS.ACTION_RECIPIENT,\n index,\n })}\n invalid={isInvalid({\n type: BUILDER_ANCHORS.ACTION_RECIPIENT,\n index,\n })}\n onClick={\n handleToken &&\n (() =>\n handleToken({\n type: BUILDER_ANCHORS.ACTION_RECIPIENT,\n index,\n }))\n }\n >\n {recipient\n ? String(recipientLabel).toLowerCase()\n : t(\"neetoRules.builder.selectRecipient\")}\n </Token>\n </Fragment>\n ) : null;\n\n const stepTokens = steps.map(step => {\n const stepLabel = stepLabelOf({ action, step });\n const token = {\n type: BUILDER_ANCHORS.ACTION_STEP,\n index,\n stepKey: step.key,\n };\n\n return (\n <Fragment key={`step-${step.key}`}>\n {step.separator && <span className=\"mb-fixed\">{step.separator}</span>}\n <Token\n active={isActive(token)}\n dataTestid={`action-step-${step.key}-${index}`}\n invalid={isInvalid(token)}\n state={stepLabel ? TOKEN_STATE.FILLED : TOKEN_STATE.MUTED}\n onClick={handleToken && (() => handleToken(token))}\n >\n {/* Option labels are lowered to read as part of the sentence; a\n step whose values are proper nouns opts out. */}\n {(step.preserveCase ? stepLabel : sentencify(stepLabel)) ||\n sentencify(step.placeholder)}\n </Token>\n </Fragment>\n );\n });\n\n return (\n <div className={classnames(\"mb-row mb-row-draggable\", { clearing })}>\n <div className=\"mb-sentence\">\n <span className=\"mb-fixed\">{connector}</span>\n {configSeparator ? (\n <Token\n active={isVerbActive}\n className=\"mb-tok-medium\"\n dataTestid={`action-verb-${index}`}\n onClick={\n handleToken &&\n (() =>\n handleToken({ type: BUILDER_ANCHORS.ACTION_CHANNEL, index }))\n }\n >\n {verbLabel}\n {MediumIcon && <MediumIcon size={14} />}\n {configLabel}\n </Token>\n ) : (\n <>\n <Token\n active={isVerbActive}\n dataTestid={`action-verb-${index}`}\n onClick={\n handleToken &&\n (() =>\n handleToken({ type: BUILDER_ANCHORS.ACTION_CHANNEL, index }))\n }\n >\n {verbLabel}\n </Token>\n {hasParamTail ? (\n <Token\n dataTestid={`action-config-value-${index}`}\n state={configState}\n active={isActive({\n type: BUILDER_ANCHORS.ACTION_CONFIG,\n index,\n })}\n invalid={isInvalid({\n type: BUILDER_ANCHORS.ACTION_CONFIG,\n index,\n })}\n onClick={\n handleToken &&\n (() =>\n handleToken({ type: BUILDER_ANCHORS.ACTION_CONFIG, index }))\n }\n >\n {configValue ||\n sentencify(configValuePlaceholder) ||\n paramPlaceholder}\n </Token>\n ) : (\n configLabel && (\n <Token\n className=\"mb-tok-medium\"\n dataTestid={`action-config-${index}`}\n state={isConfigured ? TOKEN_STATE.FILLED : TOKEN_STATE.MUTED}\n active={isActive({\n type: BUILDER_ANCHORS.ACTION_CONFIG,\n index,\n })}\n invalid={isInvalid({\n type: BUILDER_ANCHORS.ACTION_CONFIG,\n index,\n })}\n onClick={\n handleToken &&\n (() =>\n handleToken({\n type: BUILDER_ANCHORS.ACTION_CONFIG,\n index,\n }))\n }\n >\n {MediumIcon && <MediumIcon size={14} />}\n {configLabel}\n </Token>\n )\n )}\n </>\n )}\n {recipientSeparator\n ? [recipientToken, configToken]\n : [configToken, recipientToken]}\n {stepTokens}\n </div>\n <div className=\"mb-row-actions\">\n {handleAddAction && (\n <Button\n data-testid={`action-add-${index}`}\n icon={Plus}\n size=\"sm\"\n variant=\"ghost\"\n tooltipProps={{\n content: t(\"neetoRules.builder.aria.addAnotherAction\"),\n position: \"top\",\n }}\n onClick={handleAddAction}\n />\n )}\n {handleRemove && (\n <Button\n data-testid={`action-remove-${index}`}\n icon={Delete}\n size=\"sm\"\n variant=\"ghost\"\n tooltipProps={{\n content: t(\"neetoRules.builder.aria.deleteAction\"),\n position: \"top\",\n }}\n onClick={handleRemove}\n {...clearingHoverProps}\n />\n )}\n </div>\n </div>\n );\n};\n\nexport default ActionRow;\n","import { isEmpty } from \"ramda\";\nimport { useTranslation } from \"react-i18next\";\n\nimport ActionRow from \"./ActionRow\";\n\nimport { BUILDER_ANCHORS } from \"../constants\";\nimport Token from \"../Token\";\nimport { TOKEN_STATE } from \"../Token/constants\";\nimport { isTriggerSatisfied } from \"../utils\";\n\nconst ThenBlock = ({\n rule,\n schema,\n onToken: handleToken,\n onAddAction: handleAddAction,\n onRemoveAction: handleRemoveAction,\n isActive = () => false,\n isInvalid = () => false,\n adding = false,\n}) => {\n const { t } = useTranslation();\n const named = rule.actions\n .map((action, index) => ({ action, index }))\n .filter(({ action }) => action?.channel || action?.name);\n\n if (isEmpty(named)) {\n const isTriggerSet = isTriggerSatisfied({ rule, schema });\n\n return (\n <div className=\"mb-row\">\n <div className=\"mb-sentence\">\n <Token\n active={isActive({ type: BUILDER_ANCHORS.ACTION_ADD, index: 0 })}\n dataTestid=\"action-add\"\n invalid={isInvalid({ type: BUILDER_ANCHORS.ACTION_ADD, index: 0 })}\n state={\n isTriggerSet ? TOKEN_STATE.PLACEHOLDER_NEXT : TOKEN_STATE.DISABLED\n }\n title={\n isTriggerSet\n ? undefined\n : t(\"neetoRules.builder.pickTriggerFirst\")\n }\n onClick={isTriggerSet ? handleAddAction : undefined}\n >\n {t(\"neetoRules.builder.thenDoThis\")}\n </Token>\n </div>\n </div>\n );\n }\n\n return (\n <>\n {named.map(({ action, index }, position) => (\n <ActionRow\n {...{ action, index, isActive, isInvalid, position, schema }}\n key={action.id ?? index}\n onAddAction={position === named.length - 1 && handleAddAction}\n onRemove={handleRemoveAction && (() => handleRemoveAction(index))}\n onToken={handleToken}\n />\n ))}\n {adding && (\n <div className=\"mb-row\">\n <div className=\"mb-sentence\">\n <span className=\"mb-fixed\">{t(\"neetoRules.operators.and\")}</span>\n <Token\n active\n dataTestid=\"action-add-next\"\n state={TOKEN_STATE.PLACEHOLDER_NEXT}\n onClick={handleAddAction}\n >\n {t(\"neetoRules.form.doThis\")}\n </Token>\n </div>\n </div>\n )}\n </>\n );\n};\n\nexport default ThenBlock;\n","import { Fragment } from \"react\";\n\nimport { Button } from \"@bigbinary/neeto-atoms\";\nimport classnames from \"classnames\";\nimport { Delete, Plus } from \"neetoicons\";\nimport { isEmpty } from \"ramda\";\nimport { useTranslation } from \"react-i18next\";\n\nimport { BUILDER_ANCHORS } from \"../constants\";\nimport useClearingHover from \"../hooks/useClearingHover\";\nimport Token from \"../Token\";\nimport { TOKEN_STATE } from \"../Token/constants\";\nimport {\n triggerLabel,\n performerLabel,\n leadTimeLabel,\n isTriggerEnabled,\n} from \"../utils\";\n\nconst WhenBlock = ({\n rule,\n schema,\n onToken: handleToken,\n onAddCondition: handleAddCondition,\n onClearTrigger: handleClearTrigger,\n isActive = () => false,\n isInvalid = () => false,\n}) => {\n const { t } = useTranslation();\n const { triggers, performer } = rule;\n const isActorEnabled = schema?.actor?.enabled;\n const { clearing, clearingHoverProps, resetClearing } = useClearingHover();\n // eslint-disable-next-line @bigbinary/neeto/prefer-function-reference\n const hasLeadTimeFor = name =>\n (schema?.triggers?.leadTime?.appliesTo || []).includes(name);\n\n if (!isTriggerEnabled(schema)) {\n if (!isEmpty(rule.conditions)) return null;\n\n return (\n <div className=\"mb-row\">\n <div className=\"mb-sentence\">\n <Token\n dataTestid=\"condition-add\"\n state={TOKEN_STATE.PLACEHOLDER_NEXT}\n onClick={handleAddCondition || undefined}\n >\n {t(\"neetoRules.builder.whenThisIsTrue\")}\n </Token>\n </div>\n </div>\n );\n }\n\n if (isEmpty(triggers)) {\n return (\n <div className=\"mb-row\">\n <div className=\"mb-sentence\">\n <Token\n dataTestid=\"trigger-add\"\n state={TOKEN_STATE.PLACEHOLDER_NEXT}\n onClick={\n handleToken &&\n (() => handleToken({ type: BUILDER_ANCHORS.TRIGGER_ADD }))\n }\n >\n {t(\"neetoRules.builder.whenThisHappens\")}\n </Token>\n </div>\n </div>\n );\n }\n\n return (\n <div className={classnames(\"mb-row\", { clearing })}>\n <div className=\"mb-sentence\">\n <span className=\"mb-fixed\">{t(\"neetoRules.common.when\")}</span>\n {triggers.map((trigger, index) => (\n <Fragment key={trigger.id ?? index}>\n {index > 0 && (\n <span className=\"mb-fixed\">{t(\"neetoRules.operators.or\")}</span>\n )}\n {hasLeadTimeFor(trigger.name) && (\n <Token\n dataTestid={`trigger-lead-time-${index}`}\n active={isActive({\n type: BUILDER_ANCHORS.TRIGGER_LEAD_TIME,\n index,\n })}\n invalid={isInvalid({\n type: BUILDER_ANCHORS.TRIGGER_LEAD_TIME,\n index,\n })}\n onClick={\n handleToken &&\n (() =>\n handleToken({\n type: BUILDER_ANCHORS.TRIGGER_LEAD_TIME,\n index,\n }))\n }\n >\n {leadTimeLabel(rule.leadTime)}\n </Token>\n )}\n <Token\n dataTestid={`trigger-${index}`}\n active={\n isActive({ type: BUILDER_ANCHORS.TRIGGER_REPLACE, index }) ||\n (index === 0 &&\n isActive({\n type: BUILDER_ANCHORS.TRIGGER_ADD,\n index: undefined,\n }))\n }\n onClick={\n handleToken &&\n (() =>\n handleToken({\n type: BUILDER_ANCHORS.TRIGGER_REPLACE,\n index,\n trigger,\n }))\n }\n >\n {triggerLabel({ schema, trigger })}\n </Token>\n </Fragment>\n ))}\n {isActorEnabled && (\n <>\n <span className=\"mb-fixed\">{t(\"neetoRules.common.by\")}</span>\n <Token\n dataTestid=\"trigger-actor\"\n state={performer ? TOKEN_STATE.FILLED : TOKEN_STATE.MUTED}\n active={isActive({\n type: BUILDER_ANCHORS.TRIGGER_ACTOR,\n index: undefined,\n })}\n invalid={isInvalid({\n type: BUILDER_ANCHORS.TRIGGER_ACTOR,\n index: undefined,\n })}\n onClick={\n handleToken &&\n (() => handleToken({ type: BUILDER_ANCHORS.TRIGGER_ACTOR }))\n }\n >\n {performer\n ? performerLabel({ schema, performer })\n : t(\"neetoRules.builder.selectActor\")}\n </Token>\n </>\n )}\n </div>\n <div className=\"mb-row-actions\">\n {handleAddCondition && (\n <Button\n data-testid=\"trigger-add-condition\"\n icon={Plus}\n size=\"sm\"\n variant=\"ghost\"\n tooltipProps={{\n content: t(\"neetoRules.builder.aria.addCondition\"),\n position: \"top\",\n }}\n onClick={handleAddCondition}\n />\n )}\n {handleClearTrigger && (\n <Button\n data-testid=\"trigger-clear\"\n icon={Delete}\n size=\"sm\"\n variant=\"ghost\"\n tooltipProps={{\n content: t(\"neetoRules.builder.aria.clearTrigger\"),\n position: \"top\",\n }}\n onClick={() => {\n resetClearing();\n handleClearTrigger();\n }}\n {...clearingHoverProps}\n />\n )}\n </div>\n </div>\n );\n};\n\nexport default WhenBlock;\n","import { useCallback } from \"react\";\n\nimport useUtilityStore from \"v2/components/stores/useUtilityStore\";\n\nimport { TOKEN_TO_PANEL_TYPE, LARGE_PANEL_TYPES } from \"../constants\";\n\nconst usePaneCascade = schema => {\n const { setPanelState, resetPanelState } = useUtilityStore.pick();\n\n const openType = useCallback(\n ({ type, data = {} }) =>\n setPanelState({\n type,\n variant: \"builder\",\n size: LARGE_PANEL_TYPES.includes(type) ? \"large\" : \"small\",\n data: { schema, ...data },\n }),\n [schema, setPanelState]\n );\n\n const openPane = useCallback(\n token => {\n const type = TOKEN_TO_PANEL_TYPE[token?.type];\n if (!type) return;\n\n const { type: anchor, ...rest } = token;\n openType({ type, data: { anchor, ...rest } });\n },\n [openType]\n );\n\n return { openPane, openType, closePane: resetPanelState };\n};\n\nexport default usePaneCascade;\n","import { useMemo } from \"react\";\n\nimport { useFormikContext } from \"formik\";\n\nimport {\n valuesToRuleModel,\n setTriggers,\n setPerformer,\n setActions,\n setConditions,\n setConditionMode,\n setDelay,\n setActive,\n setScope,\n removeArrayItem,\n clearArrayItems,\n fieldKeysFromSchema,\n} from \"../utils\";\n\nconst useRuleModel = schema => {\n const { values, setFieldValue } = useFormikContext();\n\n const apply = ({ path, value }) => setFieldValue(path, value);\n const applyAll = edits => edits.forEach(apply);\n\n const rule = useMemo(\n () => valuesToRuleModel({ values, schema }),\n [values, schema]\n );\n\n return {\n rule,\n fieldKeys: fieldKeysFromSchema(schema),\n setTriggers: triggers => apply(setTriggers({ schema, triggers })),\n setPerformer: performer => apply(setPerformer({ schema, performer })),\n setActions: actions => apply(setActions({ schema, actions })),\n setConditions: conditions => apply(setConditions({ schema, conditions })),\n setConditionMode: joinType =>\n apply(\n setConditionMode({ schema, conditions: rule.conditions, joinType })\n ),\n setDelay: delay => apply(setDelay({ schema, delay })),\n setActive: active => apply(setActive({ schema, active })),\n setScope: scope => apply(setScope({ schema, scope })),\n removeCondition: index =>\n applyAll(\n removeArrayItem({\n values,\n fieldKey: fieldKeysFromSchema(schema).conditions,\n index,\n })\n ),\n removeAction: index =>\n applyAll(\n removeArrayItem({\n values,\n fieldKey: fieldKeysFromSchema(schema).actions,\n index,\n })\n ),\n clearTriggers: () =>\n applyAll(\n clearArrayItems({\n values,\n fieldKey: fieldKeysFromSchema(schema).triggers,\n })\n ),\n clearConditions: () =>\n applyAll(\n clearArrayItems({\n values,\n fieldKey: fieldKeysFromSchema(schema).conditions,\n })\n ),\n clearActions: () =>\n applyAll(\n clearArrayItems({\n values,\n fieldKey: fieldKeysFromSchema(schema).actions,\n })\n ),\n };\n};\n\nexport default useRuleModel;\n","import { t } from \"i18next\";\nimport { isNotEmpty, removeBy, toLabelAndValue } from \"neetocist\";\nimport { pluck } from \"ramda\";\n\nimport {\n BUILDER_ANCHORS,\n BUILDER_PANEL_TYPES,\n CONDITION_MODE,\n} from \"../constants\";\nimport {\n humanize,\n isContainsVerb,\n isNumericVerb,\n isExcludeVerb,\n scopePhoneFields,\n copyFor,\n offeredConditionFields,\n actionStepsOf,\n stepValueOf,\n} from \"../utils\";\n\nconst triggerValue = option => option.eventValue ?? option.value ?? option.id;\n\nconst stepAt = ({ schema, rule, index, stepKey }) =>\n actionStepsOf({ schema, action: actionAt({ rule, index }) }).find(\n step => step.key === stepKey\n );\n\n// Panes hand off in sentence order — config, recipient, then each host step —\n// so every \"what comes next\" question resolves through this one list.\nconst stepTargetAfter = ({ schema, rule, index, stepKey }) => {\n const steps = actionStepsOf({ schema, action: actionAt({ rule, index }) });\n const at = stepKey ? steps.findIndex(step => step.key === stepKey) : -1;\n // An unknown key means the step is gone from under the pane; restarting the\n // cascade at the first step would be worse than ending it.\n if (stepKey && at === -1) return null;\n\n const next = steps[at + 1];\n\n return next\n ? {\n type: BUILDER_PANEL_TYPES.ACTION_STEP,\n data: { index, stepKey: next.key, anchor: BUILDER_ANCHORS.ACTION_STEP },\n }\n : null;\n};\n\nconst optionValue = option => option.value ?? option.id;\n\nconst normalizeOptions = options =>\n (options || []).map(option =>\n typeof option === \"string\" ? toLabelAndValue(option) : option\n );\n\nconst groupByCategory = options => {\n const groups = [];\n const indexByCategory = {};\n options.forEach(option => {\n const category = option.category || \"\";\n // eslint-disable-next-line security/detect-object-injection\n if (indexByCategory[category] === undefined) {\n // eslint-disable-next-line security/detect-object-injection\n indexByCategory[category] = groups.length;\n groups.push([category, []]);\n }\n // eslint-disable-next-line security/detect-object-injection\n groups[indexByCategory[category]][1].push(option);\n });\n\n return groups;\n};\n\nconst conditionAt = ({ rule, index }) =>\n // eslint-disable-next-line security/detect-object-injection\n rule.conditions[index] || {};\n\n// eslint-disable-next-line security/detect-object-injection\nconst actionAt = ({ rule, index }) => rule.actions[index] || {};\n\n// eslint-disable-next-line security/detect-object-injection\nconst scopeItemAt = ({ rule, index }) => rule.scope?.[index] || {};\n\nconst scopeItemLabel = item =>\n item?.label || item?.name || item?.value || String(item ?? \"\");\n\nconst findField = ({ schema, value }) =>\n (schema.conditions?.fields || []).find(field => optionValue(field) === value);\n\nconst findActionOption = ({ schema, name }) =>\n (schema.actions?.options || []).find(option => optionValue(option) === name);\n\nconst channelOf = ({ schema, action }) =>\n action?.channel || schema.actions?.actionForName?.(action?.name)?.channel;\n\nconst recipientOf = ({ schema, action }) =>\n action?.recipient ?? schema.actions?.actionForName?.(action?.name)?.recipient;\n\nconst channelMetaOf = ({ schema, action }) =>\n schema.actions?.channelMeta?.[channelOf({ schema, action })] || {};\n\nconst actionHasConfig = ({ schema, action }) => {\n const meta = channelMetaOf({ schema, action });\n if (meta.mediumLabel) return true;\n\n const option = findActionOption({ schema, name: action?.name });\n if (option?.component || option?.renderConfig) return true;\n\n if (schema.actions?.hasConfig) return schema.actions.hasConfig(action);\n\n return !!schema.actions?.renderConfig;\n};\n\nconst recipientsFor = ({ schema, action }) => {\n const channel = channelOf({ schema, action });\n if (channel && schema.actions?.recipientsFor) {\n return schema.actions.recipientsFor(channel);\n }\n\n const option = findActionOption({ schema, name: channel });\n if (option?.recipients) return option.recipients;\n\n return schema.actions?.recipients || [];\n};\n\nconst nextTriggers = ({ schema, rule, value }) => {\n if (schema.triggers?.multi) {\n const names = pluck(\"name\", rule.triggers);\n\n return names.includes(value)\n ? removeBy({ name: value }, rule.triggers)\n : [...rule.triggers, { name: value }];\n }\n\n return [{ ...rule.triggers[0], name: value }];\n};\n\nconst nextConditionAt = ({ schema, rule, index, value }) => {\n const field = findField({ schema, value });\n const previous = conditionAt({ rule, index });\n const first = field?.allowMatching?.[0];\n const defaultVerb =\n first && !(field?.noValueForVerbs || []).includes(first)\n ? first\n : undefined;\n\n const verb = (field?.allowMatching || []).includes(previous.verb)\n ? previous.verb\n : defaultVerb;\n\n return {\n ...previous,\n field: value,\n kind: field?.kind,\n verb,\n metadata: {},\n };\n};\n\nconst nextActionAt = ({ schema, rule, index, value }) => {\n if (!schema.actions?.resolveName) {\n const option = findActionOption({ schema, name: value });\n const prev = actionAt({ rule, index });\n\n if (option?.recipients) {\n const channelChanged = prev.channel !== value;\n\n return {\n ...prev,\n channel: value,\n recipient: channelChanged ? undefined : prev.recipient,\n name: \"\",\n type: option?.type,\n metadata: channelChanged ? {} : prev.metadata,\n };\n }\n\n return {\n ...prev,\n channel: undefined,\n recipient: undefined,\n name: value,\n type: option?.type,\n metadata: {},\n };\n }\n\n const prev = actionAt({ rule, index });\n const prevChannel = channelOf({ schema, action: prev });\n const channelChanged = prevChannel !== value;\n let recipient = channelChanged ? undefined : prev.recipient;\n if (channelChanged) {\n const channelRecipients =\n // eslint-disable-next-line security/detect-object-injection\n schema.actions?.recipientsByChannel?.[value] || [];\n if (channelRecipients.length === 1) [recipient] = channelRecipients;\n }\n\n return {\n ...prev,\n channel: value,\n recipient,\n name: schema.actions.resolveName({ channel: value, recipient }),\n metadata: channelChanged ? {} : prev.metadata,\n };\n};\n\nconst appendScopeItem = ({ schema, rule, value }) => {\n const sc = schema.scope || {};\n const option = (sc.options || []).find(\n candidate => optionValue(candidate) === value\n ) || { value };\n const requiresPhone = sc.requiresPhone?.(rule.actions) || false;\n if (!requiresPhone) return option;\n\n const phoneFields = scopePhoneFields({ schema, item: option });\n\n return phoneFields?.length === 1\n ? { ...option, phoneField: phoneFields[0].value }\n : option;\n};\n\nconst nextActionRecipientAt = ({ schema, rule, index, value }) => {\n const prev = actionAt({ rule, index });\n const channel = channelOf({ schema, action: prev });\n\n return {\n ...prev,\n recipient: value,\n name: schema.actions?.resolveName\n ? schema.actions.resolveName({ channel, recipient: value })\n : value,\n };\n};\n\nconst descriptorFor = ({ anchor, schema, rule, index, stepKey }) => {\n switch (anchor) {\n case BUILDER_ANCHORS.TRIGGER_ADD:\n case BUILDER_ANCHORS.TRIGGER_REPLACE: {\n const multi = !!schema.triggers?.multi;\n const isReplace = anchor === BUILDER_ANCHORS.TRIGGER_REPLACE;\n const triggerTitle = isReplace\n ? (multi && t(\"neetoRules.builder.panes.changeTriggers\")) ||\n t(\"neetoRules.builder.panes.changeTrigger\")\n : (multi && t(\"neetoRules.builder.panes.whenEllipsis\")) ||\n t(\"neetoRules.builder.panes.addTrigger\");\n\n const triggerSubtitle =\n (multi && t(\"neetoRules.builder.panes.triggerSubtitleMulti\")) ||\n (isReplace\n ? t(\"neetoRules.builder.panes.triggerSubtitleReplace\")\n : t(\"neetoRules.builder.panes.triggerSubtitleAdd\"));\n\n return {\n title: triggerTitle,\n subtitle: triggerSubtitle,\n multi,\n cascade: !!schema.actor?.enabled,\n options: (schema.triggers?.options || []).map(option => ({\n label: option.paneLabel || option.label,\n value: triggerValue(option),\n category: option.category,\n })),\n selectedValues: pluck(\"name\", rule.triggers),\n };\n }\n case BUILDER_ANCHORS.TRIGGER_ACTOR:\n return {\n title: t(\"neetoRules.builder.panes.actorTitle\"),\n subtitle: t(\"neetoRules.builder.panes.actorSubtitle\"),\n options: (schema.actor?.options || []).map(option => ({\n label: option.label,\n value: optionValue(option),\n })),\n selectedValues: [rule.performer],\n };\n case BUILDER_ANCHORS.COND_FIELD:\n return {\n title: t(\"neetoRules.builder.panes.addCondition\"),\n subtitle: t(\"neetoRules.builder.panes.condFieldSubtitle\"),\n cascade: true,\n options: offeredConditionFields({ schema, rule }).map(field => ({\n label: field.paneLabel || field.label,\n value: optionValue(field),\n category: field.category,\n })),\n selectedValues: [conditionAt({ rule, index }).field],\n };\n case BUILDER_ANCHORS.COND_OP_TOGGLE: {\n const field = findField({\n schema,\n value: conditionAt({ rule, index }).field,\n });\n const labels = schema.conditions?.operatorLabels || {};\n const verbs = field?.allowMatching || [];\n const fieldLabel = field?.paneLabel || field?.label || \"\";\n\n const isContains = isNotEmpty(verbs) && verbs.every(isContainsVerb);\n const isNumeric = !isContains && verbs.some(isNumericVerb);\n const isExclude = !isContains && !isNumeric && verbs.some(isExcludeVerb);\n const hasOptions = isNotEmpty(\n normalizeOptions(\n field?.values || field?.dropdownOptions || field?.options\n )\n );\n\n const containsVariant = hasOptions ? \"Values\" : \"Keywords\";\n const numericOrExcludeVariant = isExclude ? \"Exclude\" : \"\";\n const nonContainsVariant = isNumeric ? \"Number\" : numericOrExcludeVariant;\n const variant = isContains ? containsVariant : nonContainsVariant;\n\n return {\n title: t(`neetoRules.builder.panes.operatorTitle${variant}`),\n subtitle: variant\n ? t(`neetoRules.builder.panes.operatorSubtitle${variant}`, {\n field: fieldLabel,\n })\n : t(\"neetoRules.builder.panes.operatorSubtitle\"),\n cascade: true,\n options: verbs.map(verb => ({\n // eslint-disable-next-line security/detect-object-injection\n label: labels[verb] || humanize(verb),\n value: verb,\n })),\n selectedValues: [conditionAt({ rule, index }).verb],\n };\n }\n case BUILDER_ANCHORS.COND_CONNECTOR:\n return {\n title: t(\"neetoRules.builder.panes.connectorTitle\"),\n subtitle: t(\"neetoRules.builder.panes.connectorSubtitle\"),\n options: [\n {\n label: t(\"neetoRules.builder.panes.connectorAndOption\"),\n value: CONDITION_MODE.AND,\n },\n {\n label: t(\"neetoRules.builder.panes.connectorOrOption\"),\n value: CONDITION_MODE.OR,\n },\n ],\n selectedValues: [rule.conditionMode],\n };\n case BUILDER_ANCHORS.ACTION_ADD:\n case BUILDER_ANCHORS.ACTION_CHANNEL: {\n const isSwap = anchor === BUILDER_ANCHORS.ACTION_CHANNEL;\n const channelMetaFor = value =>\n // eslint-disable-next-line security/detect-object-injection\n schema.actions?.channelMeta?.[value] || {};\n\n // Both panes list the host's actions in the order it declared them;\n // re-ranking only the swap pane made the two disagree.\n const sourceOptions = schema.actions?.options || [];\n\n return {\n title: isSwap\n ? t(\"neetoRules.builder.panes.actionSwapTitle\")\n : t(\"neetoRules.builder.panes.actionAddTitle\"),\n subtitle: isSwap\n ? t(\"neetoRules.builder.panes.actionSwapSubtitle\")\n : t(\"neetoRules.builder.panes.actionAddSubtitle\"),\n cascade: true,\n options: sourceOptions.map(option => {\n const value = optionValue(option);\n const meta = channelMetaFor(value);\n\n return {\n label: isSwap ? meta.channelLabel || option.label : option.label,\n value,\n category: option.category,\n // Hosts mark unavailable actions with isDisabled; without carrying\n // the reason across, the picker disables them with no explanation.\n disabled: !!(option.disabled ?? option.isDisabled),\n disabledReason: option.disabledReason,\n disabledPopover: option.disabledPopover,\n icon: (isSwap ? meta.icon : option.icon) || option.icon,\n };\n }),\n selectedValues: [\n channelOf({ schema, action: actionAt({ rule, index }) }) ??\n actionAt({ rule, index }).name,\n ],\n };\n }\n case BUILDER_ANCHORS.ACTION_RECIPIENT: {\n const action = actionAt({ rule, index });\n const channel = channelOf({ schema, action });\n // eslint-disable-next-line security/detect-object-injection\n const meta = schema.actions?.channelMeta?.[channel] || {};\n const option = findActionOption({ schema, name: channel });\n\n return {\n title:\n meta.recipientTitle ||\n option?.recipientTitle ||\n t(\"neetoRules.builder.panes.recipientTitle\"),\n subtitle:\n meta.recipientSubtitle ||\n option?.recipientSubtitle ||\n t(\"neetoRules.builder.panes.recipientSubtitle\"),\n options: recipientsFor({ schema, action }).map(recipient => ({\n label: recipient.label,\n value: optionValue(recipient),\n })),\n selectedValues: [recipientOf({ schema, action })],\n // Confirming a recipient always offers Continue; whether that chains\n // onward or just closes is decided by continueTargetFor.\n cascade: true,\n };\n }\n case BUILDER_ANCHORS.ACTION_STEP: {\n const action = actionAt({ rule, index });\n const step = stepAt({ schema, rule, index, stepKey }) || {};\n\n return {\n title: step.title || t(\"neetoRules.builder.panes.stepTitle\"),\n subtitle: step.subtitle,\n options: normalizeOptions(step.options),\n selectedValues: [stepValueOf({ action, step })],\n cascade: true,\n };\n }\n case BUILDER_ANCHORS.SCOPE: {\n const sc = schema.scope || {};\n const selected = (rule.scope || []).map(item => item?.value ?? item);\n const requiresPhone = sc.requiresPhone?.(rule.actions) || false;\n\n return {\n title: selected.length\n ? sc.paneChangeTitle || t(\"neetoRules.builder.panes.scopeChangeTitle\")\n : sc.paneTitle || t(\"neetoRules.builder.panes.scopeTitle\"),\n subtitle:\n sc.paneSubtitle || t(\"neetoRules.builder.panes.scopeSubtitle\"),\n multi: true,\n options: (sc.options || []).map(option => {\n const value = optionValue(option);\n const blockedNoPhone =\n requiresPhone && option.hasPhoneField === false;\n const isSelected = selected.includes(value);\n\n return {\n label: option.label,\n value,\n disabled:\n (!!(option.disabled ?? option.isDisabled) || blockedNoPhone) &&\n !isSelected,\n disabledReason: blockedNoPhone\n ? sc.disabledReason\n : option.disabledReason,\n disabledPopover: option.disabledPopover,\n disabledTooltip: blockedNoPhone && sc.disabledTooltip,\n };\n }),\n selectedValues: selected,\n };\n }\n case BUILDER_ANCHORS.SCOPE_PHONE_FIELD: {\n const sc = schema.scope || {};\n const item = scopeItemAt({ rule, index });\n const meeting = scopeItemLabel(item);\n const options = scopePhoneFields({ schema, item }) || [];\n\n return {\n title:\n copyFor(sc.phoneFieldPaneTitle, { meeting }) ||\n t(\"neetoRules.builder.panes.phoneFieldTitle\"),\n subtitle:\n copyFor(sc.phoneFieldPaneSubtitle, { meeting }) ||\n t(\"neetoRules.builder.panes.phoneFieldSubtitle\", { meeting }),\n options: options.map(option => ({\n label: option.label,\n value: optionValue(option),\n })),\n selectedValues: [item.phoneField],\n };\n }\n default:\n return { title: \"\", subtitle: \"\", options: [], selectedValues: [] };\n }\n};\n\nconst commitFor = ({\n anchor,\n schema,\n rule,\n index,\n stepKey,\n value,\n helpers,\n}) => {\n const {\n setTriggers,\n setPerformer,\n setConditionMode,\n setFieldValue,\n fieldKeys,\n } = helpers;\n\n switch (anchor) {\n case BUILDER_ANCHORS.TRIGGER_ADD:\n case BUILDER_ANCHORS.TRIGGER_REPLACE: {\n if (schema.triggers?.multi) {\n const names = pluck(\"name\", rule.triggers);\n setTriggers(\n names.includes(value)\n ? removeBy({ name: value }, rule.triggers)\n : [...rule.triggers, { name: value }]\n );\n\n return \"stay\";\n }\n setTriggers([{ ...rule.triggers[0], name: value }]);\n\n const leadTime = schema.triggers?.leadTime;\n if (\n leadTime?.fieldKey &&\n (leadTime.appliesTo || []).includes(value) &&\n !rule.leadTime\n ) {\n // eslint-disable-next-line @bigbinary/neeto/use-common-constants\n setFieldValue(`${leadTime.fieldKey}.value`, leadTime.default ?? 10);\n }\n\n return \"stay\";\n }\n case BUILDER_ANCHORS.TRIGGER_ACTOR:\n setPerformer(value);\n\n return \"stay\";\n case BUILDER_ANCHORS.COND_FIELD: {\n setFieldValue(\n `${fieldKeys.conditions}.value.${index}`,\n nextConditionAt({ schema, rule, index, value })\n );\n\n return \"stay\";\n }\n case BUILDER_ANCHORS.COND_OP_TOGGLE:\n setFieldValue(`${fieldKeys.conditions}.value.${index}.verb`, value);\n\n return \"stay\";\n case BUILDER_ANCHORS.COND_CONNECTOR:\n setConditionMode(value);\n\n return \"stay\";\n case BUILDER_ANCHORS.ACTION_ADD:\n case BUILDER_ANCHORS.ACTION_CHANNEL: {\n setFieldValue(\n `${fieldKeys.actions}.value.${index}`,\n nextActionAt({ schema, rule, index, value })\n );\n\n return \"stay\";\n }\n case BUILDER_ANCHORS.ACTION_RECIPIENT: {\n setFieldValue(\n `${fieldKeys.actions}.value.${index}`,\n nextActionRecipientAt({ schema, rule, index, value })\n );\n\n return \"stay\";\n }\n case BUILDER_ANCHORS.ACTION_STEP: {\n setFieldValue(\n `${fieldKeys.actions}.value.${index}.metadata.${stepKey}`,\n value\n );\n\n return \"stay\";\n }\n case BUILDER_ANCHORS.SCOPE: {\n const key = fieldKeys.scope;\n const current = rule.scope || [];\n const has = current.some(item => (item?.value ?? item) === value);\n const next = has\n ? current.filter(item => (item?.value ?? item) !== value)\n : [...current, appendScopeItem({ schema, rule, value })];\n setFieldValue(`${key}.value`, next);\n\n return \"stay\";\n }\n case BUILDER_ANCHORS.SCOPE_PHONE_FIELD: {\n const key = fieldKeys.scope;\n setFieldValue(`${key}.value.${index}.phoneField`, value);\n\n return \"stay\";\n }\n default:\n return \"close\";\n }\n};\n\nconst continueTargetFor = ({\n anchor,\n schema,\n rule,\n index,\n stepKey,\n configPending,\n}) => {\n switch (anchor) {\n case BUILDER_ANCHORS.TRIGGER_ADD:\n case BUILDER_ANCHORS.TRIGGER_REPLACE:\n return schema.actor?.enabled\n ? {\n type: BUILDER_PANEL_TYPES.ACTOR,\n data: { anchor: BUILDER_ANCHORS.TRIGGER_ACTOR },\n }\n : null;\n case BUILDER_ANCHORS.COND_FIELD:\n return {\n type: BUILDER_PANEL_TYPES.OPERATOR,\n data: { index, anchor: BUILDER_ANCHORS.COND_OP_TOGGLE },\n };\n case BUILDER_ANCHORS.COND_OP_TOGGLE: {\n const condition = conditionAt({ rule, index });\n const field = findField({ schema, value: condition.field });\n if ((field?.noValueForVerbs || []).includes(condition.verb)) return null;\n\n return {\n type: BUILDER_PANEL_TYPES.CONDITION_VALUE,\n data: { index, anchor: BUILDER_ANCHORS.COND_VALUES },\n };\n }\n case BUILDER_ANCHORS.ACTION_ADD:\n case BUILDER_ANCHORS.ACTION_CHANNEL: {\n const action = actionAt({ rule, index });\n\n if (actionHasConfig({ schema, action })) {\n return {\n type: BUILDER_PANEL_TYPES.ACTION_CONFIG,\n data: { index, anchor: BUILDER_ANCHORS.ACTION_CONFIG },\n };\n }\n\n // Reached here only because the action has no config yet — its name is\n // still unresolved — so the recipient pane owes us that step afterwards.\n if (channelMetaOf({ schema, action }).needsRecipient) {\n return {\n type: BUILDER_PANEL_TYPES.RECIPIENT,\n data: {\n index,\n anchor: BUILDER_ANCHORS.ACTION_RECIPIENT,\n configPending: true,\n },\n };\n }\n\n return stepTargetAfter({ schema, rule, index });\n }\n case BUILDER_ANCHORS.ACTION_RECIPIENT: {\n // Only chain back to config when it was skipped on the way in; arriving\n // from the config pane or from the token means config is already done.\n const action = actionAt({ rule, index });\n\n return configPending && actionHasConfig({ schema, action })\n ? {\n type: BUILDER_PANEL_TYPES.ACTION_CONFIG,\n data: { index, anchor: BUILDER_ANCHORS.ACTION_CONFIG },\n }\n : stepTargetAfter({ schema, rule, index });\n }\n case BUILDER_ANCHORS.ACTION_STEP:\n return stepTargetAfter({ schema, rule, index, stepKey });\n default:\n return null;\n }\n};\n\nconst replaceAt = ({ list, index, item }) => {\n const next = [...list];\n // eslint-disable-next-line security/detect-object-injection\n next[index] = item;\n\n return next;\n};\n\nconst applyPreview = ({ rule, schema, anchor, index, value }) => {\n switch (anchor) {\n case BUILDER_ANCHORS.TRIGGER_ADD:\n case BUILDER_ANCHORS.TRIGGER_REPLACE:\n return {\n ...rule,\n triggers: Array.isArray(value)\n ? value.map(name => ({ name }))\n : nextTriggers({ schema, rule, value }),\n };\n case BUILDER_ANCHORS.TRIGGER_ACTOR:\n return { ...rule, performer: value };\n case BUILDER_ANCHORS.COND_FIELD:\n return {\n ...rule,\n conditions: replaceAt({\n list: rule.conditions,\n index,\n item: nextConditionAt({ schema, rule, index, value }),\n }),\n };\n case BUILDER_ANCHORS.COND_OP_TOGGLE:\n return {\n ...rule,\n conditions: replaceAt({\n list: rule.conditions,\n index,\n item: { ...conditionAt({ rule, index }), verb: value },\n }),\n };\n case BUILDER_ANCHORS.COND_CONNECTOR:\n return { ...rule, conditionMode: value };\n case BUILDER_ANCHORS.ACTION_ADD:\n case BUILDER_ANCHORS.ACTION_CHANNEL:\n return {\n ...rule,\n actions: replaceAt({\n list: rule.actions,\n index,\n item: nextActionAt({ schema, rule, index, value }),\n }),\n };\n case BUILDER_ANCHORS.ACTION_RECIPIENT:\n return {\n ...rule,\n actions: replaceAt({\n list: rule.actions,\n index,\n item: nextActionRecipientAt({ schema, rule, index, value }),\n }),\n };\n case BUILDER_ANCHORS.SCOPE_PHONE_FIELD:\n return {\n ...rule,\n scope: replaceAt({\n list: rule.scope,\n index,\n item: { ...scopeItemAt({ rule, index }), phoneField: value },\n }),\n };\n default:\n return rule;\n }\n};\n\nexport {\n optionValue,\n normalizeOptions,\n groupByCategory,\n descriptorFor,\n commitFor,\n continueTargetFor,\n stepTargetAfter,\n applyPreview,\n};\n","import { Fragment, useEffect, useMemo, useRef, useState } from \"react\";\n\nimport { Button } from \"@bigbinary/neeto-atoms\";\nimport { flatten } from \"flat\";\nimport { useFormikContext } from \"formik\";\nimport { isNotEmpty } from \"neetocist\";\nimport { Plus } from \"neetoicons\";\nimport { isEmpty } from \"ramda\";\nimport { useTranslation } from \"react-i18next\";\n\nimport useUtilityStore from \"v2/components/stores/useUtilityStore\";\n\nimport ConditionRow from \"./ConditionRow\";\nimport Connector from \"./Connector\";\nimport DelayRow from \"./DelayRow\";\nimport MetaBlock from \"./MetaBlock\";\nimport ScopeBlock from \"./ScopeBlock\";\nimport ThenBlock from \"./ThenBlock\";\nimport WhenBlock from \"./WhenBlock\";\n\nimport {\n ACTION_ANCHORS,\n BUILDER_ANCHORS,\n CONDITION_ANCHORS,\n FLASH_DURATION_MS,\n} from \"../constants\";\nimport usePaneCascade from \"../hooks/usePaneCascade\";\nimport useRuleModel from \"../hooks/useRuleModel\";\nimport { applyPreview } from \"../Panes/utils\";\nimport {\n actionStepsOf,\n recipientOwnedFields,\n stepValueOf,\n isTriggerSatisfied,\n isRuleComplete,\n invalidScopeIndexes,\n invalidScopePhoneFieldIndexes,\n joinTypeFor,\n offeredConditionFields,\n} from \"../utils\";\n\nconst Canvas = ({ schema }) => {\n const { t } = useTranslation();\n const { openPane, closePane } = usePaneCascade(schema);\n const { errors, submitCount } = useFormikContext();\n const {\n rule,\n fieldKeys,\n setPerformer,\n setConditions,\n setDelay,\n removeCondition,\n removeAction,\n setActive,\n setScope,\n clearTriggers,\n clearConditions,\n clearActions,\n } = useRuleModel(schema);\n\n const { builderPreview, panelState } = useUtilityStore.pick();\n const displayRule = useMemo(\n () =>\n builderPreview ? applyPreview({ rule, schema, ...builderPreview }) : rule,\n [rule, schema, builderPreview]\n );\n\n const activeToken = panelState?.data || {};\n const isActive = ({ type, index }) =>\n !!panelState?.type &&\n activeToken.anchor === type &&\n activeToken.index === index;\n\n const addingAction =\n !!panelState?.type &&\n activeToken.anchor === BUILDER_ANCHORS.ACTION_ADD &&\n activeToken.index === rule.actions.length &&\n !builderPreview;\n\n const flatErrors = useMemo(() => flatten(errors || {}), [errors]);\n const [flashSeq, setFlashSeq] = useState(0);\n const lastSubmitCount = useRef(submitCount);\n useEffect(() => {\n if (submitCount <= lastSubmitCount.current) return undefined;\n lastSubmitCount.current = submitCount;\n if (\n isEmpty(flatErrors) &&\n isRuleComplete({ rule, schema }) &&\n isEmpty(invalidScopeIndexes({ rule, schema })) &&\n isEmpty(invalidScopePhoneFieldIndexes({ rule, schema }))\n ) {\n return undefined;\n }\n\n setFlashSeq(submitCount);\n const timer = setTimeout(() => setFlashSeq(0), FLASH_DURATION_MS);\n\n return () => clearTimeout(timer);\n // eslint-disable-next-line react-hooks/exhaustive-deps\n }, [submitCount]);\n\n const hasErrorAt = ({ prefix, exclude = [] }) =>\n Object.keys(flatErrors).some(\n key =>\n (key === prefix || key.startsWith(`${prefix}.`)) &&\n !exclude.some(\n sub =>\n key === `${prefix}.${sub}` || key.startsWith(`${prefix}.${sub}.`)\n )\n );\n\n const matchesInvalid = ({ type, index, stepKey }) => {\n const conditionMeta = `${fieldKeys.conditions}.value.${index}.metadata`;\n const actionMeta = `${fieldKeys.actions}.value.${index}.metadata`;\n // eslint-disable-next-line security/detect-object-injection\n const actionItem = rule.actions[index] || {};\n const steps = actionStepsOf({ schema, action: actionItem });\n const stepKeys = steps.map(step => step.key);\n\n const recipientFields = recipientOwnedFields({\n schema,\n action: actionItem,\n name: actionMeta,\n });\n switch (type) {\n case BUILDER_ANCHORS.TRIGGER_ACTOR: {\n const actorKey = schema.actor?.fieldKey;\n\n return !!actorKey && hasErrorAt({ prefix: `${actorKey}.value` });\n }\n case BUILDER_ANCHORS.TRIGGER_LEAD_TIME:\n return hasErrorAt({ prefix: `${fieldKeys.leadTime}.value` });\n case BUILDER_ANCHORS.COND_FIELD:\n return hasErrorAt({\n prefix: `${fieldKeys.conditions}.value.${index}.field`,\n });\n case BUILDER_ANCHORS.COND_OP_TOGGLE: {\n // eslint-disable-next-line security/detect-object-injection\n const condition = rule.conditions[index] || {};\n\n return !!condition.field && !condition.verb;\n }\n case BUILDER_ANCHORS.COND_VALUES:\n return hasErrorAt({ prefix: conditionMeta });\n case BUILDER_ANCHORS.ACTION_CONFIG:\n return hasErrorAt({\n prefix: actionMeta,\n exclude: [...recipientFields, ...stepKeys],\n });\n case BUILDER_ANCHORS.ACTION_STEP: {\n const step = steps.find(item => item.key === stepKey);\n\n return (\n hasErrorAt({ prefix: `${actionMeta}.${stepKey}` }) ||\n (!!step?.required && !stepValueOf({ action: actionItem, step }))\n );\n }\n case BUILDER_ANCHORS.ACTION_RECIPIENT:\n return (\n hasErrorAt({\n prefix: `${fieldKeys.actions}.value.${index}.name`,\n }) ||\n recipientFields.some(field =>\n hasErrorAt({ prefix: `${actionMeta}.${field}` })\n )\n );\n case BUILDER_ANCHORS.ACTION_ADD:\n return !rule.actions.some(item => item?.channel || item?.name);\n case BUILDER_ANCHORS.RULE_DELAY:\n return hasErrorAt({ prefix: `${fieldKeys.delay}.value` });\n case BUILDER_ANCHORS.SCOPE:\n return invalidScopeIndexes({ rule, schema }).includes(index);\n case BUILDER_ANCHORS.SCOPE_PHONE_FIELD:\n return invalidScopePhoneFieldIndexes({ rule, schema }).includes(index);\n case BUILDER_ANCHORS.META_NAME:\n return hasErrorAt({ prefix: `${fieldKeys.name}.value` });\n default:\n return false;\n }\n };\n\n // Returns the submit generation, not a boolean, so consumers can replay the\n // flash animation when the same token is still invalid on a repeat submit.\n const isInvalid = args => (flashSeq && matchesInvalid(args) ? flashSeq : 0);\n\n const closePaneIfTargeting = ({ anchors, index }) => {\n if (\n panelState?.type &&\n anchors.includes(activeToken.anchor) &&\n activeToken.index === index\n ) {\n closePane();\n }\n };\n\n const handleRemoveCondition = index => {\n closePaneIfTargeting({ anchors: CONDITION_ANCHORS, index });\n removeCondition(index);\n };\n\n const handleRemoveAction = index => {\n closePaneIfTargeting({ anchors: ACTION_ANCHORS, index });\n removeAction(index);\n const remaining = rule.actions.filter((_, i) => i !== index);\n if (!remaining.some(action => action?.channel || action?.name)) {\n setScope([]);\n }\n };\n\n const handleRemoveDelay = () => {\n closePaneIfTargeting({\n anchors: [BUILDER_ANCHORS.RULE_DELAY],\n index: undefined,\n });\n setDelay(null);\n };\n\n // An actor with a single choice is not a choice; leaving it unset only makes\n // the user open a one-option pane to say the obvious.\n const actorOptions = schema?.actor?.enabled ? schema.actor.options || [] : [];\n const soleActorOption =\n actorOptions.length === 1\n ? (actorOptions[0].value ?? actorOptions[0].id ?? actorOptions[0])\n : null;\n\n const isTriggerSet = isTriggerSatisfied({ rule, schema });\n const hasAction = rule.actions.some(\n action => action?.channel || action?.name\n );\n const isScopeEnabled = schema?.scope?.enabled && isTriggerSet && hasAction;\n const handleRemoveScope = index => {\n closePaneIfTargeting({\n anchors: [BUILDER_ANCHORS.SCOPE_PHONE_FIELD],\n index,\n });\n setScope((rule.scope || []).filter((_, i) => i !== index));\n };\n const conditionFields = offeredConditionFields({ schema, rule });\n const canAddCondition = isNotEmpty(conditionFields);\n const canRemoveCondition =\n schema?.conditions?.allowEmpty !== false ||\n displayRule.conditions.length > 1;\n const leadTimeAppliesTo = schema?.triggers?.leadTime?.appliesTo || [];\n const hasLeadTimeTrigger = rule.triggers.some(trigger =>\n leadTimeAppliesTo.includes(trigger.name)\n );\n const isDelayEnabled = schema?.delay?.enabled && !hasLeadTimeTrigger;\n\n useEffect(() => {\n if (soleActorOption && !rule.performer) setPerformer(soleActorOption);\n // eslint-disable-next-line react-hooks/exhaustive-deps\n }, [soleActorOption, rule.performer]);\n\n useEffect(() => {\n if (hasLeadTimeTrigger && rule.delay) setDelay(null);\n // eslint-disable-next-line react-hooks/exhaustive-deps\n }, [hasLeadTimeTrigger, rule.delay]);\n\n const handleAddCondition = () => {\n if (isEmpty(conditionFields)) return;\n\n setConditions([\n ...rule.conditions,\n { joinType: joinTypeFor(rule.conditionMode), metadata: {} },\n ]);\n\n openPane({\n type: BUILDER_ANCHORS.COND_FIELD,\n index: rule.conditions.length,\n });\n };\n\n const handleClearTrigger = () => {\n clearTriggers();\n // Hosts without an actor pane can never re-set it, and null fails its validation.\n if (schema.actor?.enabled) setPerformer(soleActorOption);\n clearConditions();\n setDelay(null);\n clearActions();\n setScope([]);\n closePane();\n };\n\n const handleAddAction = () => {\n openPane({ type: BUILDER_ANCHORS.ACTION_ADD, index: rule.actions.length });\n };\n\n const slotCtx = { rule, schema, openPane };\n const renderSlot = name =>\n // eslint-disable-next-line security/detect-object-injection\n schema?.slots?.[name]?.(slotCtx) ?? null;\n\n return (\n <div className=\"neeto-rules-builder nrb-atoms\">\n <div className=\"mb-canvas neeto-rules-main-card\">\n {renderSlot(\"beforeWhen\")}\n <WhenBlock\n {...{ isActive, isInvalid, schema }}\n rule={displayRule}\n onClearTrigger={isTriggerSet && handleClearTrigger}\n onToken={openPane}\n onAddCondition={\n canAddCondition &&\n isEmpty(displayRule.conditions) &&\n handleAddCondition\n }\n />\n {renderSlot(\"afterWhen\")}\n {displayRule.conditions.map((condition, index) => (\n <ConditionRow\n {...{ condition, index, isActive, isInvalid, schema }}\n key={condition.id ?? index}\n rule={displayRule}\n onToken={openPane}\n onAddCondition={\n canAddCondition &&\n index === displayRule.conditions.length - 1 &&\n handleAddCondition\n }\n onRemove={\n canRemoveCondition && (() => handleRemoveCondition(index))\n }\n />\n ))}\n {renderSlot(\"afterConditions\")}\n <Connector active={isTriggerSet} />\n {isDelayEnabled &&\n isTriggerSet &&\n (rule.delay ? (\n <Fragment>\n <DelayRow\n {...{ isActive, isInvalid, rule }}\n onRemove={handleRemoveDelay}\n onToken={openPane}\n />\n <Connector active />\n </Fragment>\n ) : (\n <div className=\"mb-add-row\">\n <Button\n data-testid=\"rule-delay-add\"\n icon={Plus}\n iconPosition=\"left\"\n label={t(\"neetoRules.common.addDelay\")}\n size=\"sm\"\n variant=\"secondary\"\n onClick={() => openPane({ type: BUILDER_ANCHORS.RULE_DELAY })}\n />\n </div>\n ))}\n <ThenBlock\n {...{ isActive, isInvalid, schema }}\n adding={addingAction}\n rule={displayRule}\n onAddAction={handleAddAction}\n onRemoveAction={handleRemoveAction}\n onToken={openPane}\n />\n {renderSlot(\"afterActions\")}\n {isScopeEnabled && (\n <Fragment>\n <Connector active />\n <ScopeBlock\n {...{ isActive, isInvalid, schema }}\n rule={displayRule}\n onRemoveScope={handleRemoveScope}\n onToken={openPane}\n />\n </Fragment>\n )}\n <Connector active />\n <MetaBlock\n {...{ rule }}\n isInvalid={isInvalid({ type: BUILDER_ANCHORS.META_NAME })}\n showName={schema?.meta?.showName ?? true}\n onEditName={() => openPane({ type: BUILDER_ANCHORS.META_NAME })}\n onToggleActive={event => setActive(event.target.checked)}\n />\n </div>\n </div>\n );\n};\n\nexport default Canvas;\n","export const ACTION_CONFIG_TYPES = {\n emailChannel: \"emailChannel\",\n sendToApi: \"sendToApi\",\n multiSelect: \"multiSelect\",\n dropdown: \"dropdown\",\n note: \"note\",\n list: \"list\",\n textarea: \"textarea\",\n number: \"number\",\n text: \"text\",\n regex: \"regex\",\n decimal: \"decimal\",\n date: \"date\",\n};\n\nexport const CONDITION_VALUE_TYPES = {\n multiSelect: \"multi-select\",\n multiSelectCreate: \"multi-select-create\",\n number: \"number\",\n email: \"email\",\n};\n","import {\n Checkbox,\n DatePicker,\n Input,\n RadioGroup,\n Select,\n Textarea,\n Typography,\n} from \"@bigbinary/neeto-atoms\";\nimport { getIn, useFormikContext } from \"formik\";\nimport { isNot, isNotEmpty } from \"neetocist\";\nimport { dayjs } from \"neetocommons/v2/utils\";\nimport { isEmpty } from \"ramda\";\nimport { useTranslation } from \"react-i18next\";\n\nimport { DATE_FORMAT } from \"src/constants/dateTime\";\n\nimport { ACTION_CONFIG_TYPES } from \"./constants\";\n\nimport ApiFields from \"../../../NeetoRulesForm/Element/Actions/Fields/ApiFields\";\nimport EditorAction from \"../../../NeetoRulesForm/Element/Actions/Fields/Common/EditorAction\";\nimport ListField from \"../../../NeetoRulesForm/Element/Actions/Fields/ListField\";\nimport { normalizeOptions } from \"../utils\";\n\nconst restoreTokens = text =>\n text ? text.replace(/\\[\\[/g, \"{{\").replace(/\\]\\]/g, \"}}\") : text;\n\nconst ActionConfigFields = ({\n name,\n option,\n action,\n searchTerm = \"\",\n hasRecipientField = false,\n}) => {\n const { t } = useTranslation();\n const { values, setFieldValue, setFieldTouched, errors, touched } =\n useFormikContext();\n const type = option?.type;\n const options = normalizeOptions(option?.dropdownOptions);\n const valuePath = `${name}.value`;\n\n const fieldError = path => getIn(touched, path) && getIn(errors, path);\n\n const term = searchTerm.trim().toLowerCase();\n const filterOptions = list =>\n term\n ? list.filter(item => String(item.label).toLowerCase().includes(term))\n : list;\n\n const hint = restoreTokens(option?.dynamicValuesHint);\n const hintBlock = hint ? (\n <Typography color=\"muted\" variant=\"body3\">\n {hint}\n </Typography>\n ) : null;\n\n const noOptionsMessage = () => {\n const noun = option?.valueNounPlural || option?.valueNoun;\n\n return (\n <Typography color=\"muted\" variant=\"body2\">\n {noun\n ? t(\"neetoRules.builder.config.noOptionsFor\", { field: noun })\n : t(\"neetoRules.builder.config.noOptions\")}\n </Typography>\n );\n };\n\n const noMatches = (\n <div className=\"mb-pane-empty\" data-testid=\"pane-no-matches\">\n {t(\"neetoRules.builder.noMatches\")}\n </div>\n );\n\n if (type === ACTION_CONFIG_TYPES.sendToApi) {\n return <ApiFields {...{ name }} selectedField={option} />;\n }\n\n if (type === ACTION_CONFIG_TYPES.emailChannel) {\n const subjectPath = `${name}.subject`;\n const bodyPath = `${name}.body`;\n // Hosts whose email action picks its recipient from a list keep that\n // choice in the same pane as the message.\n const hasRecipientList = isNotEmpty(options) && !hasRecipientField;\n\n return (\n <div className=\"flex flex-col gap-4\">\n {hasRecipientList && (\n <Select\n {...{ options }}\n required\n error={fieldError(valuePath)}\n placeholder={option?.valuePlaceholder}\n size=\"large\"\n value={getIn(values, valuePath) ?? undefined}\n label={\n option?.recipientLabel || t(\"neetoRules.builder.config.recipient\")\n }\n onBlur={() => setFieldTouched(valuePath, true)}\n onChange={value => setFieldValue(valuePath, value)}\n />\n )}\n {!option?.hideSubject && (\n <Input\n required\n error={fieldError(subjectPath)}\n label={t(\"neetoRules.builder.config.subject\")}\n placeholder={t(\"neetoRules.builder.config.subjectPlaceholder\")}\n size=\"large\"\n value={getIn(values, subjectPath) ?? \"\"}\n onBlur={() => setFieldTouched(subjectPath, true)}\n onChange={event => setFieldValue(subjectPath, event.target.value)}\n />\n )}\n <EditorAction\n required\n label={t(\"neetoRules.builder.config.body\")}\n name={bodyPath}\n placeholder={t(\"neetoRules.builder.config.bodyPlaceholder\")}\n value={action?.metadata?.body}\n variables={option?.variables}\n />\n {hintBlock}\n </div>\n );\n }\n\n if (type === ACTION_CONFIG_TYPES.multiSelect) {\n if (isEmpty(options)) return noOptionsMessage();\n\n const current = getIn(values, valuePath) || [];\n const filtered = filterOptions(options);\n if (term && isEmpty(filtered)) return noMatches;\n\n const toggle = value => {\n setFieldTouched(valuePath, true);\n setFieldValue(\n valuePath,\n current.includes(value)\n ? current.filter(isNot(value))\n : [...current, value]\n );\n };\n\n return (\n <div className=\"mb-pane-list flex flex-col\">\n {filtered.map(item => (\n <Checkbox\n checked={current.includes(item.value)}\n key={item.value}\n label={item.label}\n onCheckedChange={() => toggle(item.value)}\n />\n ))}\n {fieldError(valuePath) && (\n <Typography color=\"destructive\" variant=\"body3\">\n {fieldError(valuePath)}\n </Typography>\n )}\n </div>\n );\n }\n\n if (type === ACTION_CONFIG_TYPES.dropdown) {\n if (isEmpty(options)) return noOptionsMessage();\n\n const current = getIn(values, valuePath);\n const filtered = filterOptions(options);\n if (term && isEmpty(filtered)) return noMatches;\n\n return (\n <RadioGroup\n error={fieldError(valuePath)}\n orientation=\"vertical\"\n value={String(current ?? \"\")}\n onValueChange={value => {\n const picked = options.find(item => String(item.value) === value);\n setFieldValue(valuePath, picked ? picked.value : value);\n }}\n >\n {filtered.map(item => (\n <RadioGroup.Item\n key={item.value}\n label={item.label}\n value={String(item.value)}\n />\n ))}\n </RadioGroup>\n );\n }\n\n if (type === ACTION_CONFIG_TYPES.list) {\n return (\n <div className=\"flex flex-col gap-2\">\n <ListField name={valuePath} />\n {hintBlock}\n </div>\n );\n }\n\n if (type === ACTION_CONFIG_TYPES.note) {\n return (\n <div className=\"flex flex-col gap-2\">\n <EditorAction\n required\n label={t(\"neetoRules.builder.config.note\")}\n name={valuePath}\n placeholder={t(\"neetoRules.builder.config.bodyPlaceholder\")}\n value={action?.metadata?.value}\n variables={option?.variables}\n />\n {hintBlock}\n </div>\n );\n }\n\n if (\n type === ACTION_CONFIG_TYPES.textarea ||\n type === ACTION_CONFIG_TYPES.number\n ) {\n return type === ACTION_CONFIG_TYPES.number ? (\n <Input\n required\n error={fieldError(valuePath)}\n label={t(\"neetoRules.builder.config.value\")}\n size=\"large\"\n type=\"number\"\n value={getIn(values, valuePath) ?? \"\"}\n onBlur={() => setFieldTouched(valuePath, true)}\n onChange={event => setFieldValue(valuePath, event.target.value)}\n />\n ) : (\n <Textarea\n required\n error={fieldError(valuePath)}\n label={t(\"neetoRules.builder.config.message\")}\n rows={5}\n size=\"large\"\n value={getIn(values, valuePath) ?? \"\"}\n onBlur={() => setFieldTouched(valuePath, true)}\n onChange={event => setFieldValue(valuePath, event.target.value)}\n />\n );\n }\n\n if (\n type === ACTION_CONFIG_TYPES.text ||\n type === ACTION_CONFIG_TYPES.regex ||\n type === ACTION_CONFIG_TYPES.decimal\n ) {\n return (\n <div className=\"flex flex-col gap-2\">\n <Input\n required\n error={fieldError(valuePath)}\n label={t(\"neetoRules.builder.config.value\")}\n placeholder={option?.valuePlaceholder}\n size=\"large\"\n value={getIn(values, valuePath) ?? \"\"}\n onBlur={() => setFieldTouched(valuePath, true)}\n onChange={event => setFieldValue(valuePath, event.target.value)}\n />\n {hintBlock}\n </div>\n );\n }\n\n if (type === ACTION_CONFIG_TYPES.date) {\n return (\n <div className=\"flex flex-col gap-2\">\n <DatePicker\n required\n error={fieldError(valuePath)}\n label={t(\"neetoRules.builder.config.value\")}\n type=\"date\"\n value={\n getIn(values, valuePath)\n ? dayjs(getIn(values, valuePath))\n : undefined\n }\n onBlur={() => setFieldTouched(valuePath, true)}\n onChange={date =>\n setFieldValue(\n valuePath,\n // eslint-disable-next-line @bigbinary/neeto/use-standard-date-time-formats\n date ? dayjs(date).format(DATE_FORMAT) : \"\"\n )\n }\n />\n {hintBlock}\n </div>\n );\n }\n\n return (\n <Typography variant=\"body2\">{t(\"neetoRules.builder.noConfig\")}</Typography>\n );\n};\n\nexport default ActionConfigFields;\n","import { useEffect, useRef } from \"react\";\n\nimport { flatten } from \"flat\";\nimport { useFormikContext } from \"formik\";\nimport { isEmpty } from \"ramda\";\n\nconst keysUnder = ({ obj, prefix, exclude = [] }) =>\n Object.keys(flatten(obj || {})).filter(\n key =>\n (key === prefix || key.startsWith(`${prefix}.`)) &&\n !exclude.some(\n sub => key === `${prefix}.${sub}` || key.startsWith(`${prefix}.${sub}.`)\n )\n );\n\nconst usePaneValidation = prefix => {\n const { validateForm, setFieldTouched, errors } = useFormikContext();\n const errorsRef = useRef(errors);\n errorsRef.current = errors;\n\n useEffect(() => {\n keysUnder({ obj: errorsRef.current, prefix }).forEach(key =>\n setFieldTouched(key, false, false)\n );\n\n return () => {\n keysUnder({ obj: errorsRef.current, prefix }).forEach(key =>\n setFieldTouched(key, true, false)\n );\n };\n // eslint-disable-next-line react-hooks/exhaustive-deps\n }, [prefix]);\n\n const validate = async (exclude = []) => {\n const nextErrors = await validateForm();\n const offending = keysUnder({ obj: nextErrors, prefix, exclude });\n offending.forEach(key => setFieldTouched(key, true, false));\n\n return isEmpty(offending);\n };\n\n return { validate };\n};\n\nexport default usePaneValidation;\n","import { useEffect, useRef, useState } from \"react\";\n\nimport { Button, Input, Typography } from \"@bigbinary/neeto-atoms\";\nimport { useFormikContext } from \"formik\";\nimport useHotkeys from \"neetohotkeys\";\nimport { Search } from \"neetoicons\";\nimport { useTranslation } from \"react-i18next\";\n\nimport { SHORTCUTS } from \"src/constants/keyboardShortcuts\";\n\nimport ActionConfigFields from \"./Fields/ActionConfigFields\";\nimport { normalizeOptions, stepTargetAfter } from \"./utils\";\n\nimport ErrorCallout from \"../../NeetoRulesForm/Element/Actions/ErrorCallout\";\nimport SmsFields from \"../../NeetoRulesForm/Element/Actions/Fields/SmsFields\";\nimport Panel from \"../../NeetoRulesForm/Panel\";\nimport {\n BUILDER_ANCHORS,\n BUILDER_PANEL_TYPES,\n CONFIG_FOCUSABLE_SELECTOR,\n PANE_SEARCH_THRESHOLD,\n SMS_TYPES,\n} from \"../constants\";\nimport usePaneCascade from \"../hooks/usePaneCascade\";\nimport usePaneValidation from \"../hooks/usePaneValidation\";\nimport useRuleModel from \"../hooks/useRuleModel\";\nimport { actionParts, recipientOwnedFields } from \"../utils\";\n\nconst ConfigPane = ({ schema, index }) => {\n const { t } = useTranslation();\n const { rule, fieldKeys } = useRuleModel(schema);\n const { setFieldValue } = useFormikContext();\n const { openType, closePane } = usePaneCascade(schema);\n const bodyRef = useRef(null);\n\n const [searchTerm, setSearchTerm] = useState(\"\");\n\n // eslint-disable-next-line security/detect-object-injection\n const action = rule.actions[index] || {};\n const base = `${fieldKeys.actions}.value.${index}`;\n const {\n option,\n channel,\n verb,\n mediumLabel,\n needsRecipient,\n configTitle,\n configSubtitle,\n steps,\n } = actionParts({ schema, action });\n const name = `${base}.metadata`;\n\n const flatOption =\n schema.actions?.optionForName?.(action.name) ||\n schema.actions?.optionForChannel?.(channel) ||\n option;\n\n // When the chosen recipient declares its own field, the recipient pane\n // renders it; showing the same picker here too would just duplicate it.\n const recipientValue =\n action.recipient ?? schema.actions?.actionForName?.(action.name)?.recipient;\n\n const hasRecipientField = !!(schema.actions?.recipients || [])\n .concat((schema.actions?.options || []).flatMap(o => o.recipients || []))\n .find(item => (item.value ?? item.id) === recipientValue)?.field;\n\n const isSms = SMS_TYPES.includes(flatOption?.type);\n\n const disabledReason = flatOption?.isDisabled && flatOption.disabledReason;\n const hostRenderConfig =\n flatOption?.renderConfig ||\n flatOption?.component ||\n schema.actions?.renderConfig;\n\n const showSearch =\n normalizeOptions(flatOption?.dropdownOptions).length >=\n PANE_SEARCH_THRESHOLD;\n\n const shouldAdvanceToRecipient = !!needsRecipient;\n\n const { validate } = usePaneValidation(name);\n\n const channelRepName = schema.actions?.optionForChannel?.(channel)?.value;\n const unnamedOnOpen = useRef(!action.name);\n useEffect(() => {\n if (!unnamedOnOpen.current || !channelRepName) return undefined;\n setFieldValue(`${base}.name`, channelRepName);\n\n return () => setFieldValue(`${base}.name`, \"\");\n // eslint-disable-next-line react-hooks/exhaustive-deps\n }, [base, channelRepName]);\n\n useEffect(() => {\n if (isSms) return undefined;\n\n let frame;\n let attempts = 0;\n const focusFirst = () => {\n const first = bodyRef.current?.querySelector(CONFIG_FOCUSABLE_SELECTOR);\n if (first) {\n first.focus();\n } else if (attempts++ < 20) {\n frame = requestAnimationFrame(focusFirst);\n }\n };\n frame = requestAnimationFrame(focusFirst);\n\n return () => cancelAnimationFrame(frame);\n }, [isSms, action.name]);\n\n const title =\n configTitle ||\n (mediumLabel &&\n t(\"neetoRules.builder.setUpMediumLabel\", {\n verb: verb || t(\"neetoRules.builder.setUp\"),\n mediumLabel,\n })) ||\n option?.label ||\n t(\"neetoRules.builder.setUpAction\");\n\n const handleContinue = async () => {\n // A pane only answers for what it renders: the recipient pane owns its\n // storage fields and each step owns its key, so neither blocks Continue.\n const owned = [\n ...recipientOwnedFields({ schema, action, name }),\n ...steps.map(step => step.key),\n ];\n if (!(await validate(owned))) return;\n\n const next = shouldAdvanceToRecipient\n ? {\n type: BUILDER_PANEL_TYPES.RECIPIENT,\n data: { index, anchor: BUILDER_ANCHORS.ACTION_RECIPIENT },\n }\n : stepTargetAfter({ schema, rule, index });\n\n if (next) openType(next);\n else closePane();\n };\n\n useHotkeys(SHORTCUTS.continue.sequence, handleContinue, { mode: \"global\" });\n\n return (\n <>\n <Panel.Header>\n <div className=\"flex w-full flex-col gap-y-2\">\n <Typography data-testid=\"pane-title\" variant=\"h5\">\n {title}\n </Typography>\n {configSubtitle && (\n <Typography color=\"muted\" variant=\"body2\">\n {configSubtitle}\n </Typography>\n )}\n {showSearch && (\n <div className=\"mb-pane-search\">\n <Input\n dataTestid=\"pane-search\"\n placeholder={t(\"neetoRules.builder.searchPlaceholder\")}\n prefix={<Search />}\n size=\"large\"\n value={searchTerm}\n onChange={event => setSearchTerm(event.target.value)}\n />\n </div>\n )}\n </div>\n </Panel.Header>\n <Panel.Body>\n <div ref={bodyRef}>\n {disabledReason && (\n <div className=\"mb-4\">\n <ErrorCallout\n message={disabledReason}\n selectedField={flatOption}\n />\n </div>\n )}\n {isSms ? (\n <SmsFields\n {...{ action, index, name }}\n shouldAutoFocus\n hint={t(\"neetoRules.builder.config.smsSegmentHint\")}\n selectedField={flatOption}\n showPhoneNumberInput={false}\n />\n ) : (\n (hostRenderConfig?.({\n name,\n action,\n option: flatOption,\n searchTerm,\n }) ?? (\n <ActionConfigFields\n {...{ action, hasRecipientField, name, searchTerm }}\n option={flatOption}\n />\n ))\n )}\n </div>\n </Panel.Body>\n <Panel.Footer>\n <Button\n data-testid=\"continue-button\"\n label={t(\"neetoRules.buttons.continue\")}\n size=\"lg\"\n onClick={handleContinue}\n />\n </Panel.Footer>\n </>\n );\n};\n\nexport default ConfigPane;\n","import { useEffect, useRef } from \"react\";\n\nimport { Typography } from \"@bigbinary/neeto-atoms\";\nimport { Input, Select } from \"@bigbinary/neeto-atoms/formik\";\nimport { useField, useFormikContext } from \"formik\";\nimport { isNotEmpty } from \"neetocist\";\nimport { isEmpty } from \"ramda\";\nimport { useTranslation } from \"react-i18next\";\n\nimport {\n MAX_DELAY_VALUE,\n MIN_DELAY_VALUE,\n} from \"v2/components/NeetoRulesForm/constants\";\n\nimport { normalizeOptions } from \"./utils\";\n\nimport Panel from \"../../NeetoRulesForm/Panel\";\nimport { DEFAULT_DELAY_UNITS, DEFAULT_DELAY_VALUE } from \"../constants\";\nimport usePaneValidation from \"../hooks/usePaneValidation\";\nimport useRuleModel from \"../hooks/useRuleModel\";\n\nconst DelayPane = ({ schema }) => {\n const { t } = useTranslation();\n const { fieldKeys } = useRuleModel(schema);\n const { setFieldValue, setFieldTouched, getFieldMeta } = useFormikContext();\n const bodyRef = useRef(null);\n\n const name = fieldKeys.delay;\n const [{ value }] = useField(`${name}.value`);\n\n const units = normalizeOptions(schema.delay?.units);\n const unitOptions = isNotEmpty(units) ? units : DEFAULT_DELAY_UNITS;\n\n usePaneValidation(`${name}.value`);\n\n useEffect(() => {\n if (value?.value === undefined) return;\n\n if (getFieldMeta(`${name}.value.value`).touched) return;\n setFieldTouched(`${name}.value.value`, true, false);\n // eslint-disable-next-line react-hooks/exhaustive-deps\n }, [value?.value]);\n\n useEffect(() => {\n if (isEmpty(value || {})) {\n setFieldValue(`${name}.value`, {\n value: DEFAULT_DELAY_VALUE,\n unit: unitOptions[0]?.value ?? DEFAULT_DELAY_UNITS[0].value,\n });\n }\n // eslint-disable-next-line react-hooks/exhaustive-deps\n }, []);\n\n useEffect(() => {\n const first = bodyRef.current?.querySelector(\"input\");\n // eslint-disable-next-line @bigbinary/neeto/prefer-function-reference\n if (first) setTimeout(() => first.focus(), 0);\n }, []);\n\n return (\n <>\n <Panel.Header>\n <div className=\"flex flex-col gap-y-1\">\n <Typography data-testid=\"pane-title\" variant=\"h5\">\n {t(\"neetoRules.common.addDelay\")}\n </Typography>\n <Typography color=\"muted\" variant=\"body2\">\n {t(\"neetoRules.helpText.addDelay\")}\n </Typography>\n </div>\n </Panel.Header>\n <Panel.Body>\n <div className=\"flex flex-col gap-y-1.5\" ref={bodyRef}>\n <Typography variant=\"body2\" weight=\"medium\">\n {t(\"neetoRules.builder.waitFor\")}\n </Typography>\n <div className=\"flex items-start gap-x-2\">\n <Input\n className=\"w-44\"\n dataTestid=\"delay-value\"\n max={MAX_DELAY_VALUE}\n min={MIN_DELAY_VALUE}\n name={`${name}.value.value`}\n placeholder={t(\"neetoRules.placeholders.enterDelay\")}\n size=\"large\"\n type=\"number\"\n />\n <Select\n dataTestid=\"delay-unit\"\n defaultValue={value?.unit}\n name={`${name}.value.unit`}\n options={unitOptions}\n size=\"large\"\n onChange={nextUnit =>\n setFieldValue(`${name}.value.unit`, nextUnit)\n }\n />\n </div>\n </div>\n </Panel.Body>\n </>\n );\n};\n\nexport default DelayPane;\n","import { isNil } from \"ramda\";\n\nexport const toNumber = value =>\n value === \"\" || isNil(value) ? null : Number(value);\n\nexport const clamp = ({ value, min, max }) => {\n let next = value;\n if (!isNil(min)) next = Math.max(min, next);\n\n if (!isNil(max)) next = Math.min(max, next);\n\n return next;\n};\n\nexport const asText = value =>\n value === \"\" || isNil(value) ? \"\" : String(value);\n","import { useState } from \"react\";\n\nimport { Input } from \"@bigbinary/neeto-atoms\";\nimport { Up, Down } from \"neetoicons\";\nimport { useTranslation } from \"react-i18next\";\n\nimport { toNumber, clamp, asText } from \"./utils\";\n\nimport { SKIP_TAB_INDEX, STEPPER_DELTA, STEPPER_MIN_VALUE } from \"../constants\";\n\nconst NumberStepper = ({\n value,\n onChange,\n dataTestid,\n label,\n min = STEPPER_MIN_VALUE,\n max,\n required,\n error,\n}) => {\n const { t } = useTranslation();\n const [draft, setDraft] = useState(null);\n\n const display = draft ?? asText(value);\n\n const commit = raw => {\n setDraft(raw);\n onChange(raw === \"\" ? (min ?? 0) : clamp({ value: Number(raw), min, max }));\n };\n\n const step = delta => {\n setDraft(null);\n const base = Number.isFinite(toNumber(value))\n ? toNumber(value)\n : (min ?? 0);\n onChange(clamp({ value: base + delta, min, max }));\n };\n\n return (\n <div className=\"mb-stepper\">\n <Input\n {...{ dataTestid, error, label, min, required }}\n autoFocus\n type=\"number\"\n value={display}\n suffix={\n <div className=\"mb-stepper-controls\">\n <button\n aria-label={t(\"neetoRules.builder.aria.increase\")}\n className=\"mb-stepper-btn\"\n data-testid=\"stepper-increase\"\n tabIndex={SKIP_TAB_INDEX}\n type=\"button\"\n onClick={() => step(STEPPER_DELTA.INCREMENT)}\n >\n <Up />\n </button>\n <button\n aria-label={t(\"neetoRules.builder.aria.decrease\")}\n className=\"mb-stepper-btn\"\n data-testid=\"stepper-decrease\"\n tabIndex={SKIP_TAB_INDEX}\n type=\"button\"\n onClick={() => step(STEPPER_DELTA.DECREMENT)}\n >\n <Down />\n </button>\n </div>\n }\n onBlur={() => setDraft(null)}\n onChange={event => commit(event.target.value)}\n onFocus={event => event.target.select()}\n />\n </div>\n );\n};\n\nexport default NumberStepper;\n","import { useEffect } from \"react\";\n\nimport { Select, Typography } from \"@bigbinary/neeto-atoms\";\nimport { useField, useFormikContext } from \"formik\";\nimport { useTranslation } from \"react-i18next\";\n\nimport Panel from \"../../NeetoRulesForm/Panel\";\nimport NumberStepper from \"../Common/NumberStepper\";\nimport { LEAD_TIME_UNITS } from \"../constants\";\nimport usePaneValidation from \"../hooks/usePaneValidation\";\nimport useRuleModel from \"../hooks/useRuleModel\";\nimport { minutesToParts, partsToMinutes } from \"../utils\";\n\nconst LeadTimePane = ({ schema }) => {\n const { t } = useTranslation();\n const { setFieldValue, setFieldTouched, getFieldMeta } = useFormikContext();\n const { rule, fieldKeys } = useRuleModel(schema);\n\n const { value: amount, unit } = minutesToParts(rule.leadTime);\n const path = `${fieldKeys.leadTime}.value`;\n const [, { error, touched }] = useField(path);\n const update = ({ value, unit: nextUnit }) =>\n setFieldValue(path, partsToMinutes({ value, unit: nextUnit }));\n\n usePaneValidation(path);\n\n useEffect(() => {\n if (rule.leadTime === undefined) return;\n\n if (getFieldMeta(path).touched) return;\n setFieldTouched(path, true, false);\n // eslint-disable-next-line react-hooks/exhaustive-deps\n }, [rule.leadTime]);\n\n return (\n <>\n <Panel.Header>\n <div className=\"flex flex-col gap-y-1\">\n <Typography data-testid=\"pane-title\" variant=\"h5\">\n {t(\"neetoRules.builder.leadTimeTitle\")}\n </Typography>\n <Typography color=\"muted\" variant=\"body2\">\n {t(\"neetoRules.builder.leadTimeSubtitle\")}\n </Typography>\n </div>\n </Panel.Header>\n <Panel.Body>\n <div className=\"flex flex-col gap-y-1.5\">\n <Typography variant=\"body2\" weight=\"medium\">\n {t(\"neetoRules.builder.before\")}\n </Typography>\n <div className=\"flex items-start gap-x-3\">\n <div className=\"flex-1\">\n <NumberStepper\n dataTestid=\"lead-time\"\n error={touched ? error : \"\"}\n value={amount}\n onChange={value =>\n update({ value: value === \"\" ? 0 : value, unit })\n }\n />\n </div>\n <div className=\"w-32 shrink-0\">\n <Select\n dataTestid=\"lead-time-unit\"\n isSearchable={false}\n options={LEAD_TIME_UNITS}\n value={unit}\n onChange={nextUnit => update({ value: amount, unit: nextUnit })}\n />\n </div>\n </div>\n </div>\n </Panel.Body>\n </>\n );\n};\n\nexport default LeadTimePane;\n","import { Typography } from \"@bigbinary/neeto-atoms\";\nimport { Input } from \"@bigbinary/neeto-atoms/formik\";\nimport { useTranslation } from \"react-i18next\";\n\nimport Panel from \"../../NeetoRulesForm/Panel\";\nimport useRuleModel from \"../hooks/useRuleModel\";\n\nconst NamePane = ({ schema }) => {\n const { t } = useTranslation();\n const { fieldKeys } = useRuleModel(schema);\n\n return (\n <>\n <Panel.Header>\n <div className=\"flex flex-col gap-y-1\">\n <Typography data-testid=\"pane-title\" variant=\"h5\">\n {t(\"neetoRules.builder.automationName\")}\n </Typography>\n <Typography color=\"muted\" variant=\"body2\">\n {t(\"neetoRules.builder.nameSubtitle\")}\n </Typography>\n </div>\n </Panel.Header>\n <Panel.Body>\n <Input\n autoFocus\n required\n label={t(\"neetoRules.common.name\")}\n name={`${fieldKeys.name}.value`}\n placeholder={t(\"neetoRules.builder.nameYourAutomation\")}\n size=\"large\"\n />\n </Panel.Body>\n </>\n );\n};\n\nexport default NamePane;\n","import {\n Fragment,\n isValidElement,\n useEffect,\n useMemo,\n useRef,\n useState,\n} from \"react\";\n\nimport {\n Button,\n Checkbox,\n Input,\n Popover,\n RadioGroup,\n Tooltip,\n Typography,\n} from \"@bigbinary/neeto-atoms\";\nimport { useFormikContext } from \"formik\";\nimport { isNot } from \"neetocist\";\nimport useHotkeys from \"neetohotkeys\";\nimport { Info, Search } from \"neetoicons\";\nimport { isEmpty } from \"ramda\";\nimport { useTranslation } from \"react-i18next\";\n\nimport { SHORTCUTS } from \"src/constants/keyboardShortcuts\";\nimport useUtilityStore from \"v2/components/stores/useUtilityStore\";\n\nimport {\n descriptorFor,\n commitFor,\n continueTargetFor,\n groupByCategory,\n} from \"./utils\";\n\nimport Panel from \"../../NeetoRulesForm/Panel\";\nimport { PANE_SEARCH_THRESHOLD } from \"../constants\";\nimport usePaneCascade from \"../hooks/usePaneCascade\";\nimport useRuleModel from \"../hooks/useRuleModel\";\n\nconst OptionsPane = ({\n schema,\n anchor,\n index,\n stepKey,\n belowContent = null,\n configPending = false,\n}) => {\n const { t } = useTranslation();\n const { setFieldValue } = useFormikContext();\n const { rule, fieldKeys, setTriggers, setPerformer, setConditionMode } =\n useRuleModel(schema);\n const { openType, closePane } = usePaneCascade(schema);\n const { setBuilderPreview } = useUtilityStore.pick();\n\n const [searchTerm, setSearchTerm] = useState(\"\");\n const searchRef = useRef(null);\n\n // eslint-disable-next-line react-hooks/exhaustive-deps\n useEffect(() => () => setBuilderPreview(null), []);\n\n useEffect(() => {\n searchRef.current?.querySelector(\"input\")?.focus();\n }, []);\n\n const { title, subtitle, multi, options, selectedValues, cascade } = useMemo(\n () => descriptorFor({ anchor, schema, rule, index, stepKey }),\n [anchor, schema, rule, index, stepKey]\n );\n\n const helpers = {\n setTriggers,\n setPerformer,\n setConditionMode,\n setFieldValue,\n fieldKeys,\n };\n\n const showSearch =\n schema?.searchable !== false && options.length >= PANE_SEARCH_THRESHOLD;\n const term = searchTerm.trim().toLowerCase();\n const filtered = useMemo(\n () =>\n term\n ? options.filter(option => option.label.toLowerCase().includes(term))\n : options,\n [options, term]\n );\n const groups = useMemo(() => groupByCategory(filtered), [filtered]);\n // eslint-disable-next-line @bigbinary/neeto/prefer-function-reference\n const isSelected = value => selectedValues.includes(value);\n\n const handleSelect = value => {\n setBuilderPreview(null);\n const result = commitFor({\n anchor,\n schema,\n rule,\n index,\n stepKey,\n value,\n helpers,\n });\n if (result === \"close\") closePane();\n };\n\n const multiCandidate = optionValue =>\n selectedValues.includes(optionValue)\n ? selectedValues.filter(isNot(optionValue))\n : [...selectedValues.filter(Boolean), optionValue];\n\n const previewHandlers = optionValue => {\n const value = multi ? multiCandidate(optionValue) : optionValue;\n\n return {\n onMouseEnter: () => setBuilderPreview({ anchor, index, value }),\n onMouseLeave: () => setBuilderPreview(null),\n };\n };\n\n const handleContinue = () => {\n const target = continueTargetFor({\n anchor,\n schema,\n rule,\n index,\n stepKey,\n configPending,\n });\n if (target) openType({ type: target.type, data: target.data });\n else closePane();\n };\n\n const canContinue = cascade && selectedValues.some(Boolean);\n useHotkeys(SHORTCUTS.continue.sequence, handleContinue, {\n enabled: canContinue,\n mode: \"global\",\n });\n\n const optionLabel = option => {\n const Icon = option.icon;\n // Short text sits inline as a pill; anything needing more room is a\n // standard popover behind an info icon.\n const reason =\n typeof option.disabledReason === \"function\"\n ? option.disabledReason()\n : option.disabledReason;\n const isTextReason = typeof reason === \"string\";\n // Only a node can be rendered as popover content; a host handing back a\n // plain object would otherwise crash the pane.\n const isNodeReason = isValidElement(reason) || Array.isArray(reason);\n const popover =\n option.disabledPopover || (isNodeReason ? { description: reason } : null);\n\n if (!Icon && !isTextReason && !popover) return option.label;\n\n return (\n <span className=\"mb-pane-option\">\n {Icon && <Icon size={20} />}\n {option.label}\n {popover && (\n <Popover\n position=\"top\"\n trigger={\n <span\n className=\"mb-pane-info\"\n onClick={event => event.preventDefault()}\n >\n <Info size={14} />\n </span>\n }\n >\n {popover.title && <Popover.Title>{popover.title}</Popover.Title>}\n <Typography color=\"muted\" variant=\"body2\">\n {popover.description}\n </Typography>\n {popover.helpLinkProps && (\n <Button\n {...popover.helpLinkProps}\n className=\"h-auto self-start p-0\"\n size=\"sm\"\n variant=\"link\"\n />\n )}\n </Popover>\n )}\n {!popover &&\n reason &&\n isTextReason &&\n (option.disabledTooltip ? (\n <Tooltip content={option.disabledTooltip} position=\"top\">\n <span className=\"mb-pane-warn\">{reason}</span>\n </Tooltip>\n ) : (\n <span className=\"mb-pane-warn\">{reason}</span>\n ))}\n </span>\n );\n };\n\n const renderGroupHeader = category =>\n category && <div className=\"mb-pane-group\">{category}</div>;\n\n const renderBody = () => {\n if (isEmpty(filtered)) {\n return (\n <div className=\"mb-pane-empty\" data-testid=\"pane-no-matches\">\n {t(\"neetoRules.builder.noMatches\")}\n </div>\n );\n }\n\n if (multi) {\n return (\n <div className=\"mb-pane-list flex flex-col\">\n {groups.map(([category, items]) => (\n <Fragment key={category || \"_uncategorized\"}>\n {renderGroupHeader(category)}\n {items.map(option => (\n <Checkbox\n checked={isSelected(option.value)}\n disabled={option.disabled}\n key={option.value}\n label={optionLabel(option)}\n labelProps={previewHandlers(option.value)}\n onCheckedChange={() => handleSelect(option.value)}\n {...(option.icon || option.disabledReason\n ? { dataTestid: option.value }\n : {})}\n {...previewHandlers(option.value)}\n />\n ))}\n </Fragment>\n ))}\n </div>\n );\n }\n\n return (\n <RadioGroup\n orientation=\"vertical\"\n value={selectedValues?.[0] ?? \"\"}\n onValueChange={handleSelect}\n >\n {groups\n .flatMap(([category, items]) => [\n category ? (\n <div className=\"mb-pane-group\" key={`group-${category}`}>\n {category}\n </div>\n ) : null,\n ...items.map(option => (\n <RadioGroup.Item\n disabled={option.disabled}\n key={option.value}\n label={optionLabel(option)}\n labelProps={previewHandlers(option.value)}\n value={option.value}\n {...(option.icon || option.disabledReason\n ? { dataTestid: option.value }\n : {})}\n {...previewHandlers(option.value)}\n />\n )),\n ])\n .filter(Boolean)}\n </RadioGroup>\n );\n };\n\n return (\n <>\n <Panel.Header>\n <div className=\"flex w-full flex-col gap-y-2\">\n <Typography data-testid=\"pane-title\" variant=\"h5\">\n {title}\n </Typography>\n <Typography color=\"muted\" variant=\"body2\">\n {subtitle}\n </Typography>\n {showSearch && (\n <div className=\"mb-pane-search\" ref={searchRef}>\n <Input\n dataTestid=\"pane-search\"\n placeholder={t(\"neetoRules.builder.searchPlaceholder\")}\n prefix={<Search />}\n size=\"large\"\n value={searchTerm}\n onChange={event => setSearchTerm(event.target.value)}\n />\n </div>\n )}\n </div>\n </Panel.Header>\n <Panel.Body>\n {renderBody()}\n {belowContent}\n </Panel.Body>\n {cascade && (\n <Panel.Footer>\n <Button\n data-testid=\"continue-button\"\n disabled={!canContinue}\n label={t(\"neetoRules.buttons.continue\")}\n size=\"lg\"\n onClick={handleContinue}\n />\n </Panel.Footer>\n )}\n </>\n );\n};\n\nexport default OptionsPane;\n","import { MultiEmailInput, Select } from \"@bigbinary/neeto-atoms\";\nimport { getIn, useFormikContext } from \"formik\";\nimport { pluck } from \"ramda\";\nimport { useTranslation } from \"react-i18next\";\n\nimport { RECIPIENT_STORAGE_FIELDS } from \"../../constants\";\nimport { normalizeOptions } from \"../utils\";\n\nconst RecipientField = ({ field, name, dropdownOptions, placeholder }) => {\n const { t } = useTranslation();\n const { values, setFieldValue, setFieldTouched, errors, touched } =\n useFormikContext();\n\n const fieldError = path => getIn(touched, path) && getIn(errors, path);\n\n if (field === RECIPIENT_STORAGE_FIELDS.emails) {\n const path = `${name}.${RECIPIENT_STORAGE_FIELDS.emails}`;\n const current = getIn(values, path) || [];\n\n return (\n <MultiEmailInput\n required\n error={fieldError(path)}\n label={t(\"neetoRules.builder.config.emailAddresses\")}\n placeholder={t(\"neetoRules.builder.config.emailPlaceholder\")}\n value={current.map(email => ({\n label: email,\n value: email,\n valid: true,\n }))}\n onBlur={() => setFieldTouched(path, true)}\n onChange={items => setFieldValue(path, pluck(\"value\", items || []))}\n />\n );\n }\n\n const path = `${name}.${RECIPIENT_STORAGE_FIELDS.value}`;\n const current = getIn(values, path);\n const options = normalizeOptions(dropdownOptions);\n\n return (\n <Select\n {...{ options, placeholder }}\n required\n error={fieldError(path)}\n label={t(\"neetoRules.builder.config.recipient\")}\n size=\"large\"\n value={current ?? undefined}\n onBlur={() => setFieldTouched(path, true)}\n onChange={value => setFieldValue(path, value)}\n />\n );\n};\n\nexport default RecipientField;\n","import { useEffect, useRef } from \"react\";\n\nimport { Typography } from \"@bigbinary/neeto-atoms\";\nimport { useTranslation } from \"react-i18next\";\n\nimport RecipientField from \"./Fields/RecipientField\";\nimport OptionsPane from \"./OptionsPane\";\n\nimport PhoneNumberField from \"../../NeetoRulesForm/Element/Actions/Fields/SmsFields/PhoneNumberField\";\nimport Panel from \"../../NeetoRulesForm/Panel\";\nimport {\n BUILDER_ANCHORS,\n RECIPIENT_FOCUSABLE_SELECTOR,\n RECIPIENT_STORAGE_FIELDS,\n SMS_TO_NUMBERS,\n} from \"../constants\";\nimport usePaneValidation from \"../hooks/usePaneValidation\";\nimport useRuleModel from \"../hooks/useRuleModel\";\n\nconst RecipientPane = ({ schema, index, configPending = false }) => {\n const { t } = useTranslation();\n const { rule, fieldKeys } = useRuleModel(schema);\n const bodyRef = useRef(null);\n const belowRef = useRef(null);\n\n // eslint-disable-next-line security/detect-object-injection\n const action = rule.actions[index] || {};\n const channel =\n action.channel || schema.actions?.actionForName?.(action.name)?.channel;\n\n const recipient =\n action.recipient ?? schema.actions?.actionForName?.(action.name)?.recipient;\n const name = `${fieldKeys.actions}.value.${index}.metadata`;\n\n const editor = schema.actions?.renderRecipientEditor?.({\n channel,\n name,\n action,\n });\n\n const flatOption =\n schema.actions?.optionForName?.(action.name) ||\n schema.actions?.optionForChannel?.(channel);\n const isSmsToNumbers = flatOption?.type === SMS_TO_NUMBERS;\n\n const recipientFieldPath = isSmsToNumbers\n ? `${name}.${RECIPIENT_STORAGE_FIELDS.phoneNumbers}`\n : `${name}.${RECIPIENT_STORAGE_FIELDS.emails}`;\n usePaneValidation(recipientFieldPath);\n\n useEffect(() => {\n if (!editor) return;\n const first = bodyRef.current?.querySelector(RECIPIENT_FOCUSABLE_SELECTOR);\n // eslint-disable-next-line @bigbinary/neeto/prefer-function-reference\n if (first) setTimeout(() => first.focus(), 0);\n // eslint-disable-next-line react-hooks/exhaustive-deps\n }, [!editor]);\n\n const recipientConfig = (schema.actions?.options || [])\n .flatMap(option => option.recipients || [])\n .concat(schema.actions?.recipients || [])\n .find(item => (item.value ?? item.id) === recipient);\n\n const builtInRecipientField = recipientConfig?.field ? (\n <RecipientField\n {...{ name }}\n dropdownOptions={recipientConfig.dropdownOptions}\n field={recipientConfig.field}\n placeholder={recipientConfig.placeholder}\n />\n ) : null;\n\n const recipientField =\n schema.actions?.renderRecipientField?.({\n channel,\n recipient,\n name,\n action,\n }) ?? builtInRecipientField;\n\n const phoneField = isSmsToNumbers ? (\n <PhoneNumberField\n name={`${name}.${RECIPIENT_STORAGE_FIELDS.phoneNumbers}`}\n phoneNumbers={action.metadata?.phoneNumbers}\n />\n ) : null;\n\n const belowField = phoneField || recipientField;\n const belowContent = belowField ? (\n <div className=\"mt-5\" ref={belowRef}>\n {belowField}\n </div>\n ) : null;\n\n useEffect(() => {\n if (!belowField) return undefined;\n const timer = setTimeout(\n () =>\n belowRef.current?.querySelector(RECIPIENT_FOCUSABLE_SELECTOR)?.focus(),\n 0\n );\n\n return () => clearTimeout(timer);\n // eslint-disable-next-line react-hooks/exhaustive-deps\n }, [!!belowField]);\n\n if (!editor) {\n return (\n <OptionsPane\n {...{ belowContent, configPending, index, schema }}\n anchor={BUILDER_ANCHORS.ACTION_RECIPIENT}\n />\n );\n }\n\n // eslint-disable-next-line security/detect-object-injection\n const meta = schema.actions?.channelMeta?.[channel] || {};\n\n return (\n <>\n <Panel.Header>\n <div className=\"flex w-full flex-col gap-y-2\">\n <Typography data-testid=\"pane-title\" variant=\"h5\">\n {meta.recipientTitle ||\n t(\"neetoRules.builder.panes.recipientTitle\")}\n </Typography>\n <Typography color=\"muted\" variant=\"body2\">\n {meta.recipientSubtitle ||\n t(\"neetoRules.builder.panes.recipientSubtitle\")}\n </Typography>\n </div>\n </Panel.Header>\n <Panel.Body>\n <div ref={bodyRef}>{editor}</div>\n </Panel.Body>\n </>\n );\n};\n\nexport default RecipientPane;\n","import {\n Checkbox,\n Input,\n RadioGroup,\n Select,\n Typography,\n} from \"@bigbinary/neeto-atoms\";\nimport { Input as FormikInput } from \"@bigbinary/neeto-atoms/formik\";\nimport { getIn, useFormikContext } from \"formik\";\nimport { isNot, isNotEmpty } from \"neetocist\";\nimport { isEmpty } from \"ramda\";\nimport { useTranslation } from \"react-i18next\";\n\nimport { CONDITION_VALUE_TYPES } from \"./constants\";\n\nimport { normalizeOptions } from \"../utils\";\n\nconst ConditionValueFields = ({ name, field, searchTerm = \"\" }) => {\n const { t } = useTranslation();\n const { values, setFieldValue, setFieldTouched, errors, touched } =\n useFormikContext();\n\n const type = field?.type;\n const valueType = field?.valueType || type;\n const valuePath = `${name}.metadata.value`;\n const valuesPath = `${name}.metadata.values`;\n const enumOptions = normalizeOptions(\n field?.values || field?.dropdownOptions || field?.options\n );\n\n const fieldError = path => getIn(touched, path) && getIn(errors, path);\n\n const term = searchTerm.trim().toLowerCase();\n const filterOptions = list =>\n term\n ? list.filter(option => String(option.label).toLowerCase().includes(term))\n : list;\n\n const noMatches = (\n <div className=\"mb-pane-empty\" data-testid=\"pane-no-matches\">\n {t(\"neetoRules.builder.noMatches\")}\n </div>\n );\n\n if (type === CONDITION_VALUE_TYPES.multiSelect && isNotEmpty(enumOptions)) {\n const current = getIn(values, valuesPath) || [];\n const filtered = filterOptions(enumOptions);\n if (term && isEmpty(filtered)) return noMatches;\n\n const toggle = value => {\n setFieldTouched(valuesPath, true);\n setFieldValue(\n valuesPath,\n current.includes(value)\n ? current.filter(isNot(value))\n : [...current, value]\n );\n };\n\n return (\n <div className=\"mb-pane-list flex flex-col\">\n {filtered.map(option => (\n <Checkbox\n checked={current.includes(option.value)}\n key={option.value}\n label={option.label}\n onCheckedChange={() => toggle(option.value)}\n />\n ))}\n {fieldError(valuesPath) && (\n <Typography color=\"destructive\" variant=\"body3\">\n {fieldError(valuesPath)}\n </Typography>\n )}\n </div>\n );\n }\n\n if (type === CONDITION_VALUE_TYPES.multiSelect) {\n return (\n <Typography color=\"muted\" variant=\"body2\">\n {field?.label\n ? t(\"neetoRules.builder.config.noOptionsFor\", { field: field.label })\n : t(\"neetoRules.builder.config.noOptions\")}\n </Typography>\n );\n }\n\n if (type === CONDITION_VALUE_TYPES.multiSelectCreate) {\n const current = getIn(values, valuesPath) || [];\n\n return (\n <Select\n autoFocus\n isCreatable\n isMulti\n required\n error={fieldError(valuesPath)}\n label={t(\"neetoRules.builder.config.keywords\")}\n placeholder={t(\"neetoRules.builder.config.keywordsPlaceholder\")}\n size=\"large\"\n value={current}\n onBlur={() => setFieldTouched(valuesPath, true)}\n onChange={selected => setFieldValue(valuesPath, selected || [])}\n />\n );\n }\n\n if (isNotEmpty(enumOptions)) {\n const current = getIn(values, valuePath);\n const filtered = filterOptions(enumOptions);\n if (term && isEmpty(filtered)) return noMatches;\n\n return (\n <RadioGroup\n error={fieldError(valuePath)}\n orientation=\"vertical\"\n value={String(current ?? \"\")}\n onValueChange={value => setFieldValue(valuePath, value)}\n >\n {filtered.map(option => (\n <RadioGroup.Item\n key={option.value}\n label={String(option.label).toLowerCase()}\n value={String(option.value)}\n />\n ))}\n </RadioGroup>\n );\n }\n\n if (valueType === CONDITION_VALUE_TYPES.number) {\n return (\n <Input\n autoFocus\n required\n error={fieldError(valuePath)}\n label={t(\"neetoRules.common.value\")}\n size=\"large\"\n type=\"number\"\n value={getIn(values, valuePath) ?? \"\"}\n onBlur={() => setFieldTouched(valuePath, true)}\n onChange={event =>\n setFieldValue(\n valuePath,\n event.target.value === \"\" ? \"\" : Number(event.target.value)\n )\n }\n />\n );\n }\n\n return (\n <FormikInput\n autoFocus\n required\n label={t(\"neetoRules.common.value\")}\n name={valuePath}\n size=\"large\"\n type={valueType === CONDITION_VALUE_TYPES.email ? \"email\" : \"text\"}\n placeholder={\n field?.placeholder ||\n (valueType === CONDITION_VALUE_TYPES.email\n ? t(\"neetoRules.builder.config.exampleEmail\")\n : undefined)\n }\n />\n );\n};\n\nexport default ConditionValueFields;\n","import { useRef, useState } from \"react\";\n\nimport { Input, Typography } from \"@bigbinary/neeto-atoms\";\nimport { useFormikContext } from \"formik\";\nimport { Search } from \"neetoicons\";\nimport { useTranslation } from \"react-i18next\";\n\nimport ConditionValueFields from \"./Fields/ConditionValueFields\";\nimport { optionValue, normalizeOptions } from \"./utils\";\n\nimport Panel from \"../../NeetoRulesForm/Panel\";\nimport { PANE_SEARCH_THRESHOLD } from \"../constants\";\nimport usePaneValidation from \"../hooks/usePaneValidation\";\nimport useRuleModel from \"../hooks/useRuleModel\";\nimport { isMultiValueVerb } from \"../utils\";\n\nconst ValuePane = ({ schema, index }) => {\n const { t } = useTranslation();\n const { setFieldValue } = useFormikContext();\n const { rule, fieldKeys } = useRuleModel(schema);\n\n const [searchTerm, setSearchTerm] = useState(\"\");\n const searchRef = useRef(null);\n\n // eslint-disable-next-line security/detect-object-injection\n const condition = rule.conditions[index] || {};\n const field = (schema.conditions?.fields || []).find(\n candidate => optionValue(candidate) === condition.field\n );\n const base = `${fieldKeys.conditions}.value.${index}`;\n\n usePaneValidation(`${base}.metadata`);\n\n const enumOptions = normalizeOptions(\n field?.values || field?.dropdownOptions || field?.options\n );\n\n const showSearch = enumOptions.length >= PANE_SEARCH_THRESHOLD;\n\n const renderBody = () => {\n if (schema.conditions?.renderValue) {\n return schema.conditions.renderValue({\n name: base,\n condition,\n field,\n setFieldValue,\n searchTerm,\n });\n }\n\n return <ConditionValueFields {...{ field, searchTerm }} name={base} />;\n };\n\n return (\n <>\n <Panel.Header>\n <div className=\"flex w-full flex-col gap-y-2\">\n <Typography data-testid=\"pane-title\" variant=\"h5\">\n {t(\"neetoRules.builder.pickValue\", {\n field: field?.label || t(\"neetoRules.builder.valueWord\"),\n })}\n </Typography>\n <Typography color=\"muted\" variant=\"body2\">\n {field?.valueSubtitle ||\n (isMultiValueVerb(condition?.verb)\n ? t(\"neetoRules.builder.valuesSubtitle\", {\n field: field?.label || t(\"neetoRules.builder.valueWord\"),\n })\n : t(\"neetoRules.builder.valueSubtitle\"))}\n </Typography>\n {showSearch && (\n <div className=\"mb-pane-search\" ref={searchRef}>\n <Input\n dataTestid=\"pane-search\"\n placeholder={t(\"neetoRules.builder.searchPlaceholder\")}\n prefix={<Search />}\n size=\"large\"\n value={searchTerm}\n onChange={event => setSearchTerm(event.target.value)}\n />\n </div>\n )}\n </div>\n </Panel.Header>\n <Panel.Body>{renderBody()}</Panel.Body>\n </>\n );\n};\n\nexport default ValuePane;\n","import ConfigPane from \"./ConfigPane\";\nimport DelayPane from \"./DelayPane\";\nimport LeadTimePane from \"./LeadTimePane\";\nimport NamePane from \"./NamePane\";\nimport OptionsPane from \"./OptionsPane\";\nimport RecipientPane from \"./RecipientPane\";\nimport ValuePane from \"./ValuePane\";\n\nimport { BUILDER_PANEL_TYPES } from \"../constants\";\n\nexport const BUILDER_PANEL_TYPE_CONFIG_MAP = {\n [BUILDER_PANEL_TYPES.TRIGGER]: { component: OptionsPane },\n [BUILDER_PANEL_TYPES.ACTOR]: { component: OptionsPane },\n [BUILDER_PANEL_TYPES.CONDITION_FIELD]: { component: OptionsPane },\n [BUILDER_PANEL_TYPES.OPERATOR]: { component: OptionsPane },\n [BUILDER_PANEL_TYPES.CONNECTOR]: { component: OptionsPane },\n [BUILDER_PANEL_TYPES.ACTION_CHANNEL]: { component: OptionsPane },\n [BUILDER_PANEL_TYPES.RECIPIENT]: { component: RecipientPane },\n [BUILDER_PANEL_TYPES.CONDITION_VALUE]: { component: ValuePane },\n [BUILDER_PANEL_TYPES.ACTION_CONFIG]: { component: ConfigPane },\n [BUILDER_PANEL_TYPES.ACTION_STEP]: { component: OptionsPane },\n [BUILDER_PANEL_TYPES.DELAY]: { component: DelayPane },\n [BUILDER_PANEL_TYPES.LEAD_TIME]: { component: LeadTimePane },\n [BUILDER_PANEL_TYPES.NAME]: { component: NamePane },\n [BUILDER_PANEL_TYPES.SCOPE]: { component: OptionsPane },\n [BUILDER_PANEL_TYPES.SCOPE_PHONE_FIELD]: { component: OptionsPane },\n};\n","import { useEffect, useMemo, useRef } from \"react\";\n\nimport { Spinner } from \"@bigbinary/neeto-atoms\";\nimport { ActionBlock } from \"@bigbinary/neeto-atoms/formik\";\nimport classnames from \"classnames\";\nimport { Form as FormikForm, Formik } from \"formik\";\nimport { isNotEmpty, noop } from \"neetocist\";\nimport Container from \"neetomolecules/v2/Container\";\nimport Header from \"neetomolecules/v2/Header\";\nimport { useTranslation } from \"react-i18next\";\n\nimport { ScrollToErrorField } from \"v2/components/Common/ScrollToErrorField\";\nimport { DEFAULT_INITIAL_VALUE } from \"v2/components/NeetoRulesForm/constants\";\nimport usePollRuleName from \"v2/components/NeetoRulesForm/hooks/usePollRuleName\";\nimport useCustomDataStore from \"v2/components/NeetoRulesForm/stores/useCustomDataStore\";\nimport TouchErrors from \"v2/components/NeetoRulesForm/TouchErrors\";\nimport { buildPayload, formatData } from \"v2/components/NeetoRulesForm/utils\";\nimport { getValidationSchema } from \"v2/components/NeetoRulesForm/utils/validate\";\nimport useUtilityStore from \"v2/components/stores/useUtilityStore\";\n\nimport Canvas from \"./Canvas\";\nimport { BUILDER_PANEL_TYPE_CONFIG_MAP } from \"./Panes/constants\";\nimport {\n isRuleComplete,\n invalidScopeIndexes,\n invalidScopePhoneFieldIndexes,\n leadTimeValidationSchema,\n normalizeSchema,\n valuesToRuleModel,\n} from \"./utils\";\n\nimport Panel from \"../NeetoRulesForm/Panel\";\n\nconst Form = ({\n data = {},\n schema: rawSchema = {},\n automationRulesEndpoint: url,\n title,\n breadcrumbs = {},\n isLoading = false,\n className,\n handleSubmit = noop,\n handleCancel = noop,\n payloadKey = \"rule\",\n isNameGenerationDisabled = false,\n}) => {\n const { t } = useTranslation();\n\n const formikRef = useRef(null);\n const formRef = useRef(null);\n\n const { customData } = useCustomDataStore.pick();\n const { resetPanelState, errorFields } = useUtilityStore.pick();\n\n const initialValues = useMemo(() => formatData(data), [data]);\n const schema = useMemo(() => normalizeSchema(rawSchema), [rawSchema]);\n\n const isNameRequired =\n isNameGenerationDisabled || (schema.meta?.showName ?? true);\n\n const { waitForGeneratedRuleName, saveRuleName, isCancelledNameGeneration } =\n usePollRuleName({ url, formikRef, payloadKey, isNameGenerationDisabled });\n\n // eslint-disable-next-line @bigbinary/neeto/prefer-function-reference, react-hooks/exhaustive-deps\n useEffect(() => () => resetPanelState(), []);\n\n const submitForm = (values, formikBag) => {\n if (isNotEmpty(errorFields)) {\n formikBag.setSubmitting(false);\n\n return;\n }\n\n const rule = valuesToRuleModel({ values, schema });\n if (\n !isRuleComplete({ rule, schema }) ||\n invalidScopeIndexes({ rule, schema }).length ||\n invalidScopePhoneFieldIndexes({ rule, schema }).length\n ) {\n formikBag.setSubmitting(false);\n\n return;\n }\n\n if (isCancelledNameGeneration) {\n saveRuleName(values);\n\n return;\n }\n\n const payload = buildPayload(data, values);\n\n resetPanelState();\n handleSubmit(payload, formikBag, waitForGeneratedRuleName);\n };\n\n return (\n <Formik\n enableReinitialize\n initialValues={{ ...DEFAULT_INITIAL_VALUE, ...initialValues }}\n innerRef={formikRef}\n validationSchema={getValidationSchema({\n data,\n customData,\n isNameGenerationDisabled: isNameRequired,\n }).concat(leadTimeValidationSchema(schema))}\n onSubmit={submitForm}\n >\n {() => (\n <div className=\"flex neeto-rules-main-content h-full w-full\">\n <TouchErrors />\n <Container className=\"neeto-rules-main-content__container max-h-full\">\n <Header\n {...{ breadcrumbs }}\n title={title || t(\"neetoRules.common.title\")}\n />\n {isLoading ? (\n <div className=\"flex h-full w-full items-center justify-center\">\n <Spinner />\n </div>\n ) : (\n <FormikForm\n ref={formRef}\n className={classnames([\n \"w-full neeto-rules-main-content__form max-w-5xl\",\n className,\n ])}\n >\n <Canvas {...{ schema }} />\n <ScrollToErrorField {...{ formRef }} />\n <div className=\"bg-background sticky bottom-0 py-6\">\n <ActionBlock\n cancelButtonProps={{ onClick: handleCancel }}\n submitButtonProps={{ \"data-testid\": \"form-submit-button\" }}\n />\n </div>\n </FormikForm>\n )}\n </Container>\n <Panel configMap={BUILDER_PANEL_TYPE_CONFIG_MAP} />\n </div>\n )}\n </Formik>\n );\n};\n\nexport default Form;\n","// eslint-disable-next-line import/extensions\nimport \"src/stylesheets/main.css\";\n\nimport Form from \"./Form\";\n\nconst NeetoRulesBuilder = ({ ...rest }) => <Form {...rest} />;\n\nexport default NeetoRulesBuilder;\n"],"names":["PARAM_KIND","ENUM_SINGLE","ENUM_MULTI","UNIT_MINUTES","minutes","hours","days","TIME_UNITS","label","value","LEAD_TIME_UNITS","MAX_LEAD_TIME_VALUE","STEPPER_DELTA","INCREMENT","DECREMENT","STEPPER_MIN_VALUE","DEFAULT_DELAY_VALUE","FLASH_DURATION_MS","SKIP_TAB_INDEX","CONDITION_VERBS","IS","IS_NOT","ANY_OF","NONE_OF","ALL_OF","LESS_THAN","GREATER_THAN","VERB_TOKENS","MULTI_VALUE","CONTAINS","DEFAULT_SCHEMA","triggers","fieldKey","options","actor","enabled","conditions","fields","connectorMode","actions","channelMeta","recipients","delay","units","integrations","slots","STATUS_KEYS","ENABLED","DISABLED","JOIN_TYPE","and","or","CONDITION_MODE","AND","OR","BUILDER_PANEL_TYPES","TRIGGER","ACTOR","CONDITION_FIELD","OPERATOR","CONNECTOR","CONDITION_VALUE","ACTION_CHANNEL","ACTION_CONFIG","ACTION_STEP","RECIPIENT","DELAY","LEAD_TIME","NAME","SCOPE","SCOPE_PHONE_FIELD","BUILDER_ANCHORS","TRIGGER_ADD","TRIGGER_REPLACE","TRIGGER_ACTOR","TRIGGER_LEAD_TIME","COND_FIELD","COND_OP_TOGGLE","COND_CONNECTOR","COND_VALUES","ACTION_ADD","ACTION_RECIPIENT","RULE_DELAY","META_NAME","TOKEN_TO_PANEL_TYPE","_TOKEN_TO_PANEL_TYPE","_defineProperty","LARGE_PANEL_TYPES","CONDITION_ANCHORS","ACTION_ANCHORS","PANE_SEARCH_THRESHOLD","CONFIG_FOCUSABLE_SELECTOR","SMS_TYPES","RECIPIENT_FOCUSABLE_SELECTOR","SMS_TO_NUMBERS","RECIPIENT_STORAGE_FIELDS","emails","phoneNumbers","DEFAULT_DELAY_UNITS","useClearingHover","_useState","useState","_useState2","_slicedToArray","clearing","setClearing","clearingHoverProps","onMouseEnter","onMouseLeave","resetClearing","TOKEN_STATE","FILLED","MUTED","PLACEHOLDER","PLACEHOLDER_NEXT","STATE_CLASS","useReplayFlash","flashSeq","ref","useRef","useEffect","_ref$current","_ref$current$getAnima","current","getAnimations","call","forEach","animation","cancel","play","Token","_ref","children","_ref$state","state","_ref$active","active","_ref$invalid","invalid","onClick","className","dataTestid","rest","_objectWithoutProperties","_excluded","isInteractive","tokenRef","_jsx","_objectSpread","role","undefined","tabIndex","classnames","filled","onKeyDown","event","key","preventDefault","humanize","String","replace","trim","isContainsVerb","verb","includes","isNumericVerb","isExcludeVerb","isMultiValueVerb","sentencify","charAt","toUpperCase","toLowerCase","slice","copyFor","args","matchesTrigger","name","option","eventValue","id","triggerOption","_schema$triggers","schema","find","triggerLabel","_ref2","trigger","plain","performerLabel","_ref3","_schema$actor","performer","candidate","conditionField","_ref4","_schema$conditions","field","conditionFieldLabel","_ref5","condition","operatorLabel","_ref6","_schema$conditions2","map","operatorLabels","conditionNeedsValue","_ref7","noValueForVerbs","conditionValueLabel","_ref8","_ref9","_meta$value","meta","metadata","raw","values","isNil","isEmpty","dropdownOptions","isEnum","isNotEmpty","labelFor","_ref0","_option$label","_candidate$value","connector","t","Array","isArray","join","concat","actionOption","_ref1","_schema$actions","channelOption","_ref10","_schema$actions2","channel","_option$value","actionStepsOf","_ref11","action","actionParts","steps","stepValueOf","_ref12","_action$metadata","step","stepLabelOf","_ref13","_find","_option$value2","_ref14","_actions$actionForNam","_action$recipient","_actions$channelMeta","_find2","_find3","_channelMeta$needsRec","_actions$configValueL","resolved","recipient","actionForName","recipientValue","matchesRecipient","_recipient$value","recipientLabel","paramKind","paramType","valueNoun","valueNounPlural","mediumLabel","icon","needsRecipient","separator","configValue","configValueLabel","configValuePlaceholder","valuePlaceholder","configTitle","configSubtitle","recipientTitle","recipientSubtitle","offeredConditionFields","_ref15","_ref16","_schema$conditions$fi","_schema$conditions3","_schema$conditions3$f","_schema$conditions4","rule","fieldsFor","hasTrigger","hasAction","some","isTriggerEnabled","_schema$triggers2","isTriggerSatisfied","_ref17","hasRequiredConditions","_ref18","_schema$conditions5","allowEmpty","hasUnansweredStep","_ref19","required","isRuleComplete","_ref20","scopeOptionFor","_ref21","_item$value","_schema$scope","item","scope","_candidate$value2","scopePhoneFields","_ref22","_ref23","_item$phoneFields","_scopeOptionFor","phoneFields","effectiveScopePhoneField","_ref24","phoneField","length","invalidScopeIndexes","_ref25","_scope$requiresPhone","requiresPhone","reduce","indexes","index","_ref26","_item$hasPhoneField","hasPhoneField","push","invalidScopePhoneFieldIndexes","_ref27","_scope$requiresPhone2","hasChoice","minutesToParts","total","Number","unit","partsToMinutes","_ref28","leadTimeExceedsMax","leadTimeValidationSchema","_schema$triggers3","leadTime","yup","object","shape","string","test","max","leadTimeLabel","_minutesToParts","unitLabel","normalizeTriggers","normalizeSchema","rawSchema","arguments","mergeDeepRight","joinTypeFor","mode","recipientStorageField","recipientOwnedFields","_ref29","_actions$actionForNam2","_action$recipient2","_actions$renderRecipi","_actions$renderRecipi2","_actions$optionForNam","_actions$optionForCha","rendersEmails","renderRecipientEditor","renderRecipientField","recipientConfig","flatMap","_item$value2","flatOption","optionForName","optionForChannel","_toConsumableArray","type","modeFromJoinType","joinType","valueAt","_ref30","_values$key","asArray","maybeArray","fieldKeysFromSchema","_schema$triggers4","_schema$actor2","_schema$conditions6","_schema$actions3","_schema$delay","_schema$triggers5","_schema$scope2","status","valuesToRuleModel","_valueAt","_conditions$","_ref31","_ref31$values","_ref31$schema","keys","rawDelay","conditionMode","setTriggers","_ref32","path","setPerformer","_ref33","setActions","_ref34","setConditions","_ref35","setConditionMode","_ref36","assoc","setDelay","_ref37","setActive","_ref38","setScope","_ref39","removeArrayItem","_ref40","list","removed","nextList","filter","_","i","result","_values$fieldKey","deleted","_destroy","clearArrayItems","_ref41","_values$fieldKey2","ConditionRow","handleToken","onToken","handleAddCondition","onAddCondition","handleRemove","onRemove","_ref$isActive","isActive","_ref$isInvalid","isInvalid","_useTranslation","useTranslation","isFirst","hasField","hasVerb","_field$value","operatorPlaceholder","needsValue","_useClearingHover","_jsxs","_Fragment","Button","Plus","size","variant","tooltipProps","content","position","Delete","Connector","fill","height","viewBox","width","d","stroke","strokeLinecap","strokeLinejoin","strokeWidth","DelayRow","part","MetaBlock","_ref$showName","showName","handleEditName","onEditName","handleToggleActive","onToggleActive","nameRef","checked","readOnly","onChange","itemLabel","ScopeBlock","_schema$scope2$requir","handleRemoveScope","onRemoveScope","placeholder","_createElement","ScopeRow","isLast","_schema$scope3","_schema$scope4","_schema$scope5","_useTranslation2","lead","meeting","hasPhoneFieldChoice","singlePhoneFieldLabel","selectedPhoneField","usingLabel","phoneFieldPlaceholder","ActionRow","handleAddAction","onAddAction","_actionParts","MediumIcon","hasParamTail","multiPlaceholder","noun","singlePlaceholder","paramPlaceholder","verbLabel","isVerbActive","configLabel","recipientSeparator","configSeparator","isConfigured","configState","configToken","Fragment","recipientToken","stepTokens","stepLabel","token","stepKey","preserveCase","ThenBlock","handleRemoveAction","onRemoveAction","_ref$adding","adding","named","isTriggerSet","title","_action$id","WhenBlock","handleClearTrigger","onClearTrigger","isActorEnabled","hasLeadTimeFor","appliesTo","_trigger$id","usePaneCascade","_useUtilityStore","useUtilityStore","useShallow","store","setPanelState","resetPanelState","openType","useCallback","_ref$data","data","openPane","anchor","closePane","useRuleModel","_useFormikContext","useFormikContext","setFieldValue","apply","applyAll","edits","useMemo","fieldKeys","removeCondition","removeAction","clearTriggers","clearConditions","clearActions","triggerValue","_option$eventValue","stepAt","actionAt","stepTargetAfter","at","findIndex","next","optionValue","normalizeOptions","toLabelAndValue","groupByCategory","groups","indexByCategory","category","conditionAt","scopeItemAt","_rule$scope","scopeItemLabel","findField","findActionOption","channelOf","_schema$actions2$acti","recipientOf","_schema$actions3$acti","channelMetaOf","_schema$actions4","actionHasConfig","_schema$actions5","_schema$actions6","component","renderConfig","hasConfig","recipientsFor","_schema$actions7","_schema$actions8","nextTriggers","multi","names","pluck","removeBy","nextConditionAt","_field$allowMatching","previous","first","allowMatching","defaultVerb","kind","nextActionAt","_schema$actions9","resolveName","prev","channelChanged","prevChannel","_schema$actions0","channelRecipients","recipientsByChannel","_channelRecipients","appendScopeItem","_sc$requiresPhone","sc","nextActionRecipientAt","_schema$actions1","descriptorFor","isReplace","triggerTitle","triggerSubtitle","subtitle","cascade","paneLabel","selectedValues","labels","verbs","fieldLabel","isContains","every","isNumeric","isExclude","hasOptions","containsVariant","numericOrExcludeVariant","nonContainsVariant","_schema$actions11","_channelOf","isSwap","channelMetaFor","_schema$actions10","sourceOptions","_option$disabled","channelLabel","disabled","isDisabled","disabledReason","disabledPopover","_schema$actions12","_sc$requiresPhone2","selected","paneChangeTitle","paneTitle","paneSubtitle","_option$disabled2","blockedNoPhone","isSelected","disabledTooltip","phoneFieldPaneTitle","phoneFieldPaneSubtitle","commitFor","helpers","_leadTime$default","has","_item$value3","continueTargetFor","_schema$actor3","configPending","replaceAt","applyPreview","Canvas","_actorOptions$0$value","_schema$meta$showName","_schema$meta","_usePaneCascade","errors","submitCount","_useRuleModel","builderPreview","panelState","displayRule","activeToken","addingAction","flatErrors","flatten","setFlashSeq","lastSubmitCount","timer","setTimeout","clearTimeout","hasErrorAt","prefix","_ref3$exclude","exclude","Object","startsWith","sub","matchesInvalid","conditionMeta","actionMeta","actionItem","stepKeys","recipientFields","actorKey","closePaneIfTargeting","anchors","handleRemoveCondition","remaining","handleRemoveDelay","actorOptions","soleActorOption","isScopeEnabled","conditionFields","canAddCondition","canRemoveCondition","leadTimeAppliesTo","hasLeadTimeTrigger","isDelayEnabled","slotCtx","renderSlot","_schema$slots$name","_schema$slots","_schema$slots$name2","_condition$id","iconPosition","target","ACTION_CONFIG_TYPES","emailChannel","sendToApi","multiSelect","dropdown","note","textarea","number","text","regex","decimal","date","CONDITION_VALUE_TYPES","multiSelectCreate","email","restoreTokens","ActionConfigFields","_ref$searchTerm","searchTerm","_ref$hasRecipientFiel","hasRecipientField","setFieldTouched","touched","valuePath","fieldError","getIn","term","filterOptions","hint","dynamicValuesHint","hintBlock","Typography","color","noOptionsMessage","noMatches","ApiFields","selectedField","_getIn","_getIn2","subjectPath","bodyPath","hasRecipientList","Select","error","onBlur","hideSubject","Input","EditorAction","body","variables","filtered","toggle","isNot","Checkbox","onCheckedChange","RadioGroup","orientation","onValueChange","picked","Item","ListField","_action$metadata2","_getIn3","_getIn4","Textarea","rows","_getIn5","DatePicker","dayjs","format","DATE_FORMAT","_regenerator","e","r","Symbol","n","iterator","o","toStringTag","c","prototype","Generator","u","create","_regeneratorDefine2","f","p","y","G","v","a","bind","l","TypeError","done","GeneratorFunction","GeneratorFunctionPrototype","getPrototypeOf","setPrototypeOf","__proto__","displayName","w","m","defineProperty","_regeneratorDefine","_invoke","enumerable","configurable","writable","keysUnder","obj","_ref$exclude","usePaneValidation","validateForm","errorsRef","validate","_asyncToGenerator","_callee","nextErrors","offending","_args","_context","ConfigPane","_schema$actions$optio","_schema$actions2$opti","_concat$find","_schema$actions7$opti","_hostRenderConfig","bodyRef","setSearchTerm","base","isSms","hostRenderConfig","showSearch","shouldAdvanceToRecipient","_usePaneValidation","channelRepName","unnamedOnOpen","frame","attempts","focusFirst","_bodyRef$current","querySelector","focus","requestAnimationFrame","cancelAnimationFrame","handleContinue","owned","useHotkeys","SHORTCUTS","sequence","Panel","Header","Search","Body","ErrorCallout","message","SmsFields","shouldAutoFocus","showPhoneNumberInput","Footer","DelayPane","getFieldMeta","_useField","useField","_useField2","unitOptions","_unitOptions$0$value","_unitOptions$","weight","MAX_DELAY_VALUE","min","MIN_DELAY_VALUE","defaultValue","nextUnit","toNumber","clamp","Math","asText","NumberStepper","_ref$min","draft","setDraft","display","commit","delta","isFinite","autoFocus","suffix","Up","Down","onFocus","select","LeadTimePane","amount","_useField2$","update","isSearchable","NamePane","OptionsPane","_ref$belowContent","belowContent","_ref$configPending","setBuilderPreview","searchRef","_searchRef$current","_useMemo","searchable","handleSelect","multiCandidate","Boolean","previewHandlers","canContinue","optionLabel","Icon","reason","isTextReason","isNodeReason","isValidElement","popover","description","Popover","Info","Title","helpLinkProps","Tooltip","renderGroupHeader","renderBody","_selectedValues$","items","labelProps","RecipientField","MultiEmailInput","valid","RecipientPane","_schema$actions$actio","_schema$actions3$rend","_schema$actions4$opti","_schema$actions5$opti","_schema$actions$rende","_schema$actions8$rend","belowRef","editor","isSmsToNumbers","recipientFieldPath","builtInRecipientField","recipientField","PhoneNumberField","belowField","_belowRef$current","ConditionValueFields","valueType","valuesPath","enumOptions","isCreatable","isMulti","FormikInput","ValuePane","renderValue","valueSubtitle","BUILDER_PANEL_TYPE_CONFIG_MAP","_BUILDER_PANEL_TYPE_C","Form","_ref$schema","url","automationRulesEndpoint","_ref$breadcrumbs","breadcrumbs","_ref$isLoading","isLoading","_ref$handleSubmit","handleSubmit","noop","_ref$handleCancel","handleCancel","_ref$payloadKey","payloadKey","_ref$isNameGeneration","isNameGenerationDisabled","formikRef","formRef","_useCustomDataStore","useCustomDataStore","customData","errorFields","initialValues","formatData","isNameRequired","_usePollRuleName","usePollRuleName","waitForGeneratedRuleName","saveRuleName","isCancelledNameGeneration","submitForm","formikBag","setSubmitting","payload","buildPayload","Formik","enableReinitialize","DEFAULT_INITIAL_VALUE","innerRef","validationSchema","getValidationSchema","onSubmit","TouchErrors","Container","Spinner","FormikForm","ScrollToErrorField","ActionBlock","cancelButtonProps","submitButtonProps","configMap","NeetoRulesBuilder","assign","_objectDestructuringEmpty"],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;AAAO,IAAMA,UAAU,GAAG;AACxBC,EAAAA,WAAW,EAAE,aAAa;AAC1BC,EAAAA,UAAU,EAAE;AACd,CAAC;AAEM,IAAMC,YAAY,GAAG;AAAEC,EAAAA,OAAO,EAAE,CAAC;AAAEC,EAAAA,KAAK,EAAE,EAAE;AAAEC,EAAAA,IAAI,EAAE;AAAK,CAAC;;AAEjE;AACA;AACO,IAAMC,UAAU,GAAG,CACxB;AAAEC,EAAAA,KAAK,EAAE,SAAS;AAAEC,EAAAA,KAAK,EAAE;AAAU,CAAC,EACtC;AAAED,EAAAA,KAAK,EAAE,OAAO;AAAEC,EAAAA,KAAK,EAAE;AAAQ,CAAC,EAClC;AAAED,EAAAA,KAAK,EAAE,MAAM;AAAEC,EAAAA,KAAK,EAAE;AAAO,CAAC,CACjC;AACD;AACA;;AAEO,IAAMC,eAAe,GAAGH,UAAU;;AAEzC;AACA;AACO,IAAMI,mBAAmB,GAAG,GAAG;AAE/B,IAAMC,aAAa,GAAG;AAAEC,EAAAA,SAAS,EAAE,CAAC;AAAEC,EAAAA,SAAS,EAAE;AAAG,CAAC;AAErD,IAAMC,iBAAiB,GAAG,CAAC;AAE3B,IAAMC,mBAAmB,GAAG,EAAE;;AAErC;AACO,IAAMC,iBAAiB,GAAG,IAAI;;AAErC;AACO,IAAMC,cAAc,GAAG,EAAE;AAEzB,IAAMC,eAAe,GAAG;AAC7BC,EAAAA,EAAE,EAAE,IAAI;AACRC,EAAAA,MAAM,EAAE,QAAQ;AAChBC,EAAAA,MAAM,EAAE,QAAQ;AAChBC,EAAAA,OAAO,EAAE,SAAS;AAClBC,EAAAA,MAAM,EAAE,QAAQ;AAChBC,EAAAA,SAAS,EAAE,WAAW;AACtBC,EAAAA,YAAY,EAAE;AAChB,CAAC;AAEM,IAAMC,WAAW,GAAG;AACzBC,EAAAA,WAAW,EAAE,KAAK;AAClBC,EAAAA,QAAQ,EAAE;AACZ,CAAC;AAEM,IAAMC,cAAc,GAAG;AAC5BC,EAAAA,QAAQ,EAAE;AAAEC,IAAAA,QAAQ,EAAE,QAAQ;AAAEC,IAAAA,OAAO,EAAE;GAAI;AAC7CC,EAAAA,KAAK,EAAE;AAAEC,IAAAA,OAAO,EAAE,KAAK;AAAEF,IAAAA,OAAO,EAAE,EAAE;AAAED,IAAAA,QAAQ,EAAE;GAAa;AAC7DI,EAAAA,UAAU,EAAE;AAAEC,IAAAA,MAAM,EAAE,EAAE;AAAEL,IAAAA,QAAQ,EAAE,YAAY;AAAEM,IAAAA,aAAa,EAAE;GAAU;AAC3EC,EAAAA,OAAO,EAAE;AACPN,IAAAA,OAAO,EAAE,EAAE;IACXO,WAAW,EAAE,EAAE;AACfC,IAAAA,UAAU,EAAE,EAAE;AACdT,IAAAA,QAAQ,EAAE;GACX;AACDU,EAAAA,KAAK,EAAE;AAAEP,IAAAA,OAAO,EAAE,KAAK;AAAEH,IAAAA,QAAQ,EAAE,iBAAiB;AAAEW,IAAAA,KAAK,EAAE;GAAI;EACjEC,YAAY,EAAE,EAAE;AAChBC,EAAAA,KAAK,EAAE;AACT,CAAC;AAEM,IAAMC,WAAW,GAAG;AAAEC,EAAAA,OAAO,EAAE,SAAS;AAAEC,EAAAA,QAAQ,EAAE;AAAW,CAAC;AAEhE,IAAMC,SAAS,GAAG;AAAEC,EAAAA,GAAG,EAAE,cAAc;AAAEC,EAAAA,EAAE,EAAE;AAAc,CAAC;AAE5D,IAAMC,cAAc,GAAG;AAAEC,EAAAA,GAAG,EAAE,KAAK;AAAEC,EAAAA,EAAE,EAAE;AAAK,CAAC;AAE/C,IAAMC,mBAAmB,GAAG;AACjCC,EAAAA,OAAO,EAAE,iBAAiB;AAC1BC,EAAAA,KAAK,EAAE,eAAe;AACtBC,EAAAA,eAAe,EAAE,yBAAyB;AAC1CC,EAAAA,QAAQ,EAAE,kBAAkB;AAC5BC,EAAAA,SAAS,EAAE,mBAAmB;AAC9BC,EAAAA,eAAe,EAAE,yBAAyB;AAC1CC,EAAAA,cAAc,EAAE,wBAAwB;AACxCC,EAAAA,aAAa,EAAE,uBAAuB;AACtCC,EAAAA,WAAW,EAAE,qBAAqB;AAClCC,EAAAA,SAAS,EAAE,mBAAmB;AAC9BC,EAAAA,KAAK,EAAE,eAAe;AACtBC,EAAAA,SAAS,EAAE,mBAAmB;AAC9BC,EAAAA,IAAI,EAAE,cAAc;AACpBC,EAAAA,KAAK,EAAE,eAAe;AACtBC,EAAAA,iBAAiB,EAAE;AACrB,CAAC;AAEM,IAAMC,eAAe,GAAG;AAC7BC,EAAAA,WAAW,EAAE,aAAa;AAC1BC,EAAAA,eAAe,EAAE,iBAAiB;AAClCC,EAAAA,aAAa,EAAE,eAAe;AAC9BC,EAAAA,iBAAiB,EAAE,mBAAmB;AACtCC,EAAAA,UAAU,EAAE,YAAY;AACxBC,EAAAA,cAAc,EAAE,gBAAgB;AAChCC,EAAAA,cAAc,EAAE,gBAAgB;AAChCC,EAAAA,WAAW,EAAE,aAAa;AAC1BC,EAAAA,UAAU,EAAE,YAAY;AACxBlB,EAAAA,cAAc,EAAE,gBAAgB;AAChCC,EAAAA,aAAa,EAAE,eAAe;AAC9BkB,EAAAA,gBAAgB,EAAE,kBAAkB;AACpCjB,EAAAA,WAAW,EAAE,aAAa;AAC1BkB,EAAAA,UAAU,EAAE,YAAY;AACxBC,EAAAA,SAAS,EAAE,WAAW;AACtBd,EAAAA,KAAK,EAAE,OAAO;AACdC,EAAAA,iBAAiB,EAAE;AACrB,CAAC;AAEM,IAAMc,mBAAmB,IAAAC,oBAAA,GAAA,EAAA,EAAAC,eAAA,CAAAA,eAAA,CAAAA,eAAA,CAAAA,eAAA,CAAAA,eAAA,CAAAA,eAAA,CAAAA,eAAA,CAAAA,eAAA,CAAAA,eAAA,CAAAA,eAAA,CAAAD,oBAAA,EAC7Bd,eAAe,CAACC,WAAW,EAAGjB,mBAAmB,CAACC,OAAO,GACzDe,eAAe,CAACE,eAAe,EAAGlB,mBAAmB,CAACC,OAAO,CAAA,EAC7De,eAAe,CAACG,aAAa,EAAGnB,mBAAmB,CAACE,KAAK,CAAA,EACzDc,eAAe,CAACK,UAAU,EAAGrB,mBAAmB,CAACG,eAAe,CAAA,EAChEa,eAAe,CAACM,cAAc,EAAGtB,mBAAmB,CAACI,QAAQ,CAAA,EAC7DY,eAAe,CAACO,cAAc,EAAGvB,mBAAmB,CAACK,SAAS,GAC9DW,eAAe,CAACQ,WAAW,EAAGxB,mBAAmB,CAACM,eAAe,CAAA,EACjEU,eAAe,CAACS,UAAU,EAAGzB,mBAAmB,CAACO,cAAc,CAAA,EAC/DS,eAAe,CAACT,cAAc,EAAGP,mBAAmB,CAACO,cAAc,CAAA,EACnES,eAAe,CAACR,aAAa,EAAGR,mBAAmB,CAACQ,aAAa,CAAA,EAAAuB,eAAA,CAAAA,eAAA,CAAAA,eAAA,CAAAA,eAAA,CAAAA,eAAA,CAAAA,eAAA,CAAAA,eAAA,CAAAD,oBAAA,EACjEd,eAAe,CAACU,gBAAgB,EAAG1B,mBAAmB,CAACU,SAAS,CAAA,EAChEM,eAAe,CAACP,WAAW,EAAGT,mBAAmB,CAACS,WAAW,CAAA,EAC7DO,eAAe,CAACW,UAAU,EAAG3B,mBAAmB,CAACW,KAAK,CAAA,EACtDK,eAAe,CAACI,iBAAiB,EAAGpB,mBAAmB,CAACY,SAAS,GACjEI,eAAe,CAACY,SAAS,EAAG5B,mBAAmB,CAACa,IAAI,GACpDG,eAAe,CAACF,KAAK,EAAGd,mBAAmB,CAACc,KAAK,CAAA,EACjDE,eAAe,CAACD,iBAAiB,EAAGf,mBAAmB,CAACe,iBAAiB,CAAA,CAC3E;AAEM,IAAMiB,iBAAiB,GAAG,CAC/BhC,mBAAmB,CAACQ,aAAa,EACjCR,mBAAmB,CAACc,KAAK,EACzBd,mBAAmB,CAACa,IAAI,CACzB;AAEM,IAAMoB,iBAAiB,GAAG,CAC/BjB,eAAe,CAACK,UAAU,EAC1BL,eAAe,CAACM,cAAc,EAC9BN,eAAe,CAACQ,WAAW,EAC3BR,eAAe,CAACO,cAAc,CAC/B;AAEM,IAAMW,cAAc,GAAG,CAC5BlB,eAAe,CAACT,cAAc,EAC9BS,eAAe,CAACR,aAAa,EAC7BQ,eAAe,CAACU,gBAAgB,EAChCV,eAAe,CAACP,WAAW,CAC5B;AAEM,IAAM0B,qBAAqB,GAAG,CAAC;AAE/B,IAAMC,yBAAyB,GACpC,sFAAsF;AAEjF,IAAMC,SAAS,GAAG,CAAC,KAAK,EAAE,cAAc,CAAC;AAEzC,IAAMC,4BAA4B,GACvC,2CAA2C;AAEtC,IAAMC,cAAc,GAAG,cAAc;AAErC,IAAMC,wBAAwB,GAAG;AACtCC,EAAAA,MAAM,EAAE,QAAQ;AAChBvF,EAAAA,KAAK,EAAE,OAAO;AACdwF,EAAAA,YAAY,EAAE;AAChB,CAAC;AAEM,IAAMC,mBAAmB,GAAG3F,UAAU;;ACrK7C,IAAM4F,gBAAgB,GAAG,SAAnBA,gBAAgBA,GAAS;AAC7B,EAAA,IAAAC,SAAA,GAAgCC,cAAQ,CAAC,KAAK,CAAC;IAAAC,UAAA,GAAAC,cAAA,CAAAH,SAAA,EAAA,CAAA,CAAA;AAAxCI,IAAAA,QAAQ,GAAAF,UAAA,CAAA,CAAA,CAAA;AAAEG,IAAAA,WAAW,GAAAH,UAAA,CAAA,CAAA,CAAA;AAE5B,EAAA,IAAMI,kBAAkB,GAAG;IACzBC,YAAY,EAAE,SAAdA,YAAYA,GAAA;MAAA,OAAQF,WAAW,CAAC,IAAI,CAAC;AAAA,IAAA,CAAA;IACrCG,YAAY,EAAE,SAAdA,YAAYA,GAAA;MAAA,OAAQH,WAAW,CAAC,KAAK,CAAC;AAAA,IAAA;GACvC;AAED,EAAA,IAAMI,aAAa,GAAG,SAAhBA,aAAaA,GAAA;IAAA,OAASJ,WAAW,CAAC,KAAK,CAAC;AAAA,EAAA,CAAA;EAE9C,OAAO;AAAED,IAAAA,QAAQ,EAARA,QAAQ;AAAEE,IAAAA,kBAAkB,EAAlBA,kBAAkB;AAAEG,IAAAA,aAAa,EAAbA;GAAe;AACxD,CAAC;;ACbM,IAAMC,WAAW,GAAG;AACzBC,EAAAA,MAAM,EAAE,QAAQ;AAChBC,EAAAA,KAAK,EAAE,OAAO;AACd;AACAC,EAAAA,WAAW,EAAE,aAAa;AAC1BC,EAAAA,gBAAgB,EAAE,kBAAkB;AACpClE,EAAAA,QAAQ,EAAE;AACZ,CAAC;AAEM,IAAMmE,WAAW,GAAA7B,eAAA,CAAAA,eAAA,CAAAA,eAAA,CAAAA,eAAA,CAAAA,eAAA,KACrBwB,WAAW,CAACG,WAAW,EAAG,gBAAgB,GAC1CH,WAAW,CAACI,gBAAgB,EAAG,oCAAoC,CAAA,EACnEJ,WAAW,CAAC9D,QAAQ,EAAG,wCAAwC,CAAA,EAC/D8D,WAAW,CAACC,MAAM,EAAG,QAAQ,CAAA,EAC7BD,WAAW,CAACE,KAAK,EAAG,qBAAqB,CAC3C;;ACbD;AACA;AACA,IAAMI,cAAc,GAAG,SAAjBA,cAAcA,CAAGC,QAAQ,EAAI;AACjC,EAAA,IAAMC,GAAG,GAAGC,YAAM,CAAC,IAAI,CAAC;AAExBC,EAAAA,eAAS,CAAC,YAAM;IAAA,IAAAC,YAAA,EAAAC,qBAAA;IACd,IAAI,CAACL,QAAQ,EAAE;IAEf,CAAAI,YAAA,GAAAH,GAAG,CAACK,OAAO,MAAA,IAAA,IAAAF,YAAA,KAAA,MAAA,IAAA,CAAAC,qBAAA,GAAXD,YAAA,CAAaG,aAAa,MAAA,IAAA,IAAAF,qBAAA,KAAA,MAAA,IAA1BA,qBAAA,CAAAG,IAAA,CAAAJ,YAA6B,CAAC,CAACK,OAAO,CAAC,UAAAC,SAAS,EAAI;MAClDA,SAAS,CAACC,MAAM,EAAE;MAClBD,SAAS,CAACE,IAAI,EAAE;AAClB,IAAA,CAAC,CAAC;AACJ,EAAA,CAAC,EAAE,CAACZ,QAAQ,CAAC,CAAC;AAEd,EAAA,OAAOC,GAAG;AACZ,CAAC;;;;;ACXD,IAAMY,KAAK,GAAG,SAARA,KAAKA,CAAAC,IAAA,EASL;AAAA,EAAA,IARJC,QAAQ,GAAAD,IAAA,CAARC,QAAQ;IAAAC,UAAA,GAAAF,IAAA,CACRG,KAAK;AAALA,IAAAA,KAAK,GAAAD,UAAA,KAAA,MAAA,GAAGvB,WAAW,CAACC,MAAM,GAAAsB,UAAA;IAAAE,WAAA,GAAAJ,IAAA,CAC1BK,MAAM;AAANA,IAAAA,MAAM,GAAAD,WAAA,KAAA,MAAA,GAAG,KAAK,GAAAA,WAAA;IAAAE,YAAA,GAAAN,IAAA,CACdO,OAAO;AAAPA,IAAAA,OAAO,GAAAD,YAAA,KAAA,MAAA,GAAG,KAAK,GAAAA,YAAA;IACfE,OAAO,GAAAR,IAAA,CAAPQ,OAAO;IACPC,SAAS,GAAAT,IAAA,CAATS,SAAS;IACTC,UAAU,GAAAV,IAAA,CAAVU,UAAU;AACPC,IAAAA,IAAI,GAAAC,wBAAA,CAAAZ,IAAA,EAAAa,WAAA,CAAA;EAEP,IAAMC,aAAa,GACjB,OAAON,OAAO,KAAK,UAAU,IAAIL,KAAK,KAAKxB,WAAW,CAAC9D,QAAQ;AAEjE,EAAA,IAAMkG,QAAQ,GAAG9B,cAAc,CAACsB,OAAO,CAAC;AAExC,EAAA,oBACES,cAAA,CAAA,MAAA,EAAAC,eAAA,CAAAA,eAAA,CAAA;AACE,IAAA,aAAA,EAAaP,UAAW;AACxBvB,IAAAA,GAAG,EAAE4B,QAAS;AACdG,IAAAA,IAAI,EAAEJ,aAAa,GAAG,QAAQ,GAAGK,SAAU;AAC3CC,IAAAA,QAAQ,EAAEN,aAAa,GAAG,CAAC,GAAGK,SAAU;AACxCV,IAAAA,SAAS,EAAEY,UAAU;AACnB;IACArC,WAAW,CAACmB,KAAK,CAAC,IAAInB,WAAW,CAACsC,MAAM,EACxCb,SAAS,EACT;AAAE,MAAA,eAAe,EAAEJ,MAAM;AAAE,MAAA,gBAAgB,EAAEE;AAAQ,KACvD,CAAE;AACFC,IAAAA,OAAO,EAAEM,aAAa,GAAGN,OAAO,GAAGW,SAAU;AAC7CI,IAAAA,SAAS,EACPT,aAAa,GACT,UAAAU,KAAK,EAAI;AACP,MAAA,IAAI,EAAEA,KAAK,CAACC,GAAG,KAAK,OAAO,IAAID,KAAK,CAACC,GAAG,KAAK,GAAG,CAAC,EAAE;MACnDD,KAAK,CAACE,cAAc,EAAE;MACtBlB,OAAO,CAACgB,KAAK,CAAC;AAChB,IAAA,CAAC,GACDL;AACL,GAAA,EACGR,IAAI,CAAA,EAAA,EAAA,EAAA;AAAAV,IAAAA,QAAA,EAEPA;AAAQ,GAAA,CACL,CAAC;AAEX,CAAC;;;;AC9BD,IAAM0B,QAAQ,GAAG,SAAXA,QAAQA,CAAGrJ,KAAK,EAAA;EAAA,OACpBsJ,MAAM,CAACtJ,KAAK,KAAA,IAAA,IAALA,KAAK,KAAA,MAAA,GAALA,KAAK,GAAI,EAAE,CAAC,CAChBuJ,OAAO,CAAC,OAAO,EAAE,GAAG,CAAC,CACrBC,IAAI,EAAE;AAAA,CAAA;AAEX,IAAMC,cAAc,GAAG,SAAjBA,cAAcA,CAAGC,IAAI,EAAA;AAAA,EAAA,OACzBA,IAAI,CAACC,QAAQ,CAACzI,WAAW,CAACC,WAAW,CAAC,IAAIuI,IAAI,CAACC,QAAQ,CAACzI,WAAW,CAACE,QAAQ,CAAC;AAAA,CAAA;AAE/E,IAAMwI,aAAa,GAAG,SAAhBA,aAAaA,CAAGF,IAAI,EAAA;EAAA,OACxBA,IAAI,KAAKhJ,eAAe,CAACM,SAAS,IAAI0I,IAAI,KAAKhJ,eAAe,CAACO,YAAY;AAAA,CAAA;;AAE7E;AACA,IAAM4I,aAAa,GAAG,SAAhBA,aAAaA,CAAGH,IAAI,EAAA;EAAA,OACxB,CACEhJ,eAAe,CAACC,EAAE,EAClBD,eAAe,CAACE,MAAM,EACtBF,eAAe,CAACG,MAAM,EACtBH,eAAe,CAACI,OAAO,CACxB,CAAC6I,QAAQ,CAACD,IAAI,CAAC;AAAA,CAAA;AAClB,IAAMI,gBAAgB,GAAG,SAAnBA,gBAAgBA,CAAGJ,IAAI,EAAA;EAAA,OAAIJ,MAAM,CAACI,IAAI,CAAC,CAACC,QAAQ,CAACzI,WAAW,CAACC,WAAW,CAAC;AAAA,CAAA;;AAE/E;AACA;AACA,IAAM4I,UAAU,GAAG,SAAbA,UAAUA,CAAGhK,KAAK,EAAI;AAC1B,EAAA,IAAI,CAACA,KAAK,EAAE,OAAOA,KAAK;AAExB,EAAA,IAAIA,KAAK,CAACiK,MAAM,CAAC,CAAC,CAAC,KAAKjK,KAAK,CAACiK,MAAM,CAAC,CAAC,CAAC,CAACC,WAAW,EAAE,EAAE,OAAOlK,KAAK;AAEnE,EAAA,OAAOA,KAAK,CAACiK,MAAM,CAAC,CAAC,CAAC,CAACE,WAAW,EAAE,GAAGnK,KAAK,CAACoK,KAAK,CAAC,CAAC,CAAC;AACvD,CAAC;AAED,IAAMC,OAAO,GAAG,SAAVA,OAAOA,CAAIpK,KAAK,EAAEqK,IAAI,EAAA;EAAA,OAC1B,OAAOrK,KAAK,KAAK,UAAU,GAAGA,KAAK,CAACqK,IAAI,CAAC,GAAGrK,KAAK;AAAA,CAAA;AAEnD,IAAMsK,cAAc,GAAG,SAAjBA,cAAcA,CAAGC,IAAI,EAAA;AAAA,EAAA,OAAI,UAAAC,MAAM,EAAA;AAAA,IAAA,OACnCA,MAAM,CAACC,UAAU,KAAKF,IAAI,IAAIC,MAAM,CAACxK,KAAK,KAAKuK,IAAI,IAAIC,MAAM,CAACE,EAAE,KAAKH,IAAI;AAAA,EAAA,CAAA;AAAA,CAAA;AAE3E,IAAMI,aAAa,GAAG,SAAhBA,aAAaA,CAAAjD,IAAA,EAAA;AAAA,EAAA,IAAAkD,gBAAA;AAAA,EAAA,IAAMC,MAAM,GAAAnD,IAAA,CAANmD,MAAM;IAAEN,IAAI,GAAA7C,IAAA,CAAJ6C,IAAI;EAAA,OACnC,CAAC,CAAAM,MAAM,KAAA,IAAA,IAANA,MAAM,KAAA,MAAA,IAAA,CAAAD,gBAAA,GAANC,MAAM,CAAEvJ,QAAQ,MAAA,IAAA,IAAAsJ,gBAAA,uBAAhBA,gBAAA,CAAkBpJ,OAAO,KAAI,EAAE,EAAEsJ,IAAI,CAACR,cAAc,CAACC,IAAI,CAAC,CAAC;AAAA,CAAA;AAE9D,IAAMQ,YAAY,GAAG,SAAfA,YAAYA,CAAAC,KAAA,EAA4B;AAAA,EAAA,IAAtBH,MAAM,GAAAG,KAAA,CAANH,MAAM;IAAEI,OAAO,GAAAD,KAAA,CAAPC,OAAO;EACrC,IAAMT,MAAM,GAAGG,aAAa,CAAC;AAAEE,IAAAA,MAAM,EAANA,MAAM;AAAEN,IAAAA,IAAI,EAAEU,OAAO,KAAA,IAAA,IAAPA,OAAO,KAAA,MAAA,GAAA,MAAA,GAAPA,OAAO,CAAEV;AAAK,GAAC,CAAC;AAE7D,EAAA,OAAO,CAAAC,MAAM,KAAA,IAAA,IAANA,MAAM,KAAA,MAAA,GAAA,MAAA,GAANA,MAAM,CAAEU,KAAK,KAAInB,UAAU,CAAC,CAAAS,MAAM,KAAA,IAAA,IAANA,MAAM,KAAA,MAAA,GAAA,MAAA,GAANA,MAAM,CAAEzK,KAAK,KAAIsJ,QAAQ,CAAC4B,OAAO,KAAA,IAAA,IAAPA,OAAO,KAAA,MAAA,GAAA,MAAA,GAAPA,OAAO,CAAEV,IAAI,CAAC,CAAC;AAC9E,CAAC;AAED,IAAMY,cAAc,GAAG,SAAjBA,cAAcA,CAAAC,KAAA,EAA8B;AAAA,EAAA,IAAAC,aAAA;AAAA,EAAA,IAAxBR,MAAM,GAAAO,KAAA,CAANP,MAAM;IAAES,SAAS,GAAAF,KAAA,CAATE,SAAS;EACzC,IAAMd,MAAM,GAAG,CAAC,CAAAK,MAAM,aAANA,MAAM,KAAA,MAAA,IAAA,CAAAQ,aAAA,GAANR,MAAM,CAAEpJ,KAAK,MAAA,IAAA,IAAA4J,aAAA,KAAA,MAAA,GAAA,MAAA,GAAbA,aAAA,CAAe7J,OAAO,KAAI,EAAE,EAAEsJ,IAAI,CAChD,UAAAS,SAAS,EAAA;IAAA,OAAIA,SAAS,CAACvL,KAAK,KAAKsL,SAAS,IAAIC,SAAS,CAACb,EAAE,KAAKY,SAAS;AAAA,EAAA,CAC1E,CAAC;AAED,EAAA,OAAOvB,UAAU,CAAC,CAAAS,MAAM,aAANA,MAAM,KAAA,MAAA,GAAA,MAAA,GAANA,MAAM,CAAEzK,KAAK,KAAIsJ,QAAQ,CAACiC,SAAS,CAAC,CAAC;AACzD,CAAC;AAED,IAAME,cAAc,GAAG,SAAjBA,cAAcA,CAAAC,KAAA,EAAA;AAAA,EAAA,IAAAC,kBAAA;AAAA,EAAA,IAAMb,MAAM,GAAAY,KAAA,CAANZ,MAAM;IAAEc,KAAK,GAAAF,KAAA,CAALE,KAAK;EAAA,OACrC,CAAC,CAAAd,MAAM,KAAA,IAAA,IAANA,MAAM,KAAA,MAAA,IAAA,CAAAa,kBAAA,GAANb,MAAM,CAAElJ,UAAU,cAAA+J,kBAAA,KAAA,MAAA,GAAA,MAAA,GAAlBA,kBAAA,CAAoB9J,MAAM,KAAI,EAAE,EAAEkJ,IAAI,CACrC,UAAAN,MAAM,EAAA;IAAA,OAAIA,MAAM,CAACxK,KAAK,KAAK2L,KAAK,IAAInB,MAAM,CAACE,EAAE,KAAKiB,KAAK;AAAA,EAAA,CACzD,CAAC;AAAA,CAAA;AAEH,IAAMC,mBAAmB,GAAG,SAAtBA,mBAAmBA,CAAAC,KAAA,EAA8B;AAAA,EAAA,IAAxBhB,MAAM,GAAAgB,KAAA,CAANhB,MAAM;IAAEiB,SAAS,GAAAD,KAAA,CAATC,SAAS;EAC9C,IAAMH,KAAK,GAAGH,cAAc,CAAC;AAAEX,IAAAA,MAAM,EAANA,MAAM;AAAEc,IAAAA,KAAK,EAAEG,SAAS,KAAA,IAAA,IAATA,SAAS,KAAA,MAAA,GAAA,MAAA,GAATA,SAAS,CAAEH;AAAM,GAAC,CAAC;EAEjE,OAAOrC,MAAM,CAAC,CAAAqC,KAAK,KAAA,IAAA,IAALA,KAAK,KAAA,MAAA,GAAA,MAAA,GAALA,KAAK,CAAE5L,KAAK,KAAIsJ,QAAQ,CAACyC,SAAS,KAAA,IAAA,IAATA,SAAS,KAAA,MAAA,GAAA,MAAA,GAATA,SAAS,CAAEH,KAAK,CAAC,CAAC,CAACzB,WAAW,EAAE;AACzE,CAAC;AAED,IAAM6B,aAAa,GAAG,SAAhBA,aAAaA,CAAAC,KAAA,EAA8B;AAAA,EAAA,IAAAC,mBAAA;AAAA,EAAA,IAAxBpB,MAAM,GAAAmB,KAAA,CAANnB,MAAM;IAAEiB,SAAS,GAAAE,KAAA,CAATF,SAAS;EACxC,IAAMI,GAAG,GAAG,CAAArB,MAAM,aAANA,MAAM,KAAA,MAAA,IAAA,CAAAoB,mBAAA,GAANpB,MAAM,CAAElJ,UAAU,MAAA,IAAA,IAAAsK,mBAAA,KAAA,MAAA,GAAA,MAAA,GAAlBA,mBAAA,CAAoBE,cAAc,KAAI,EAAE;EAEpD,OAAOD,GAAG,CAACJ,SAAS,KAAA,IAAA,IAATA,SAAS,KAAA,MAAA,GAAA,MAAA,GAATA,SAAS,CAAEpC,IAAI,CAAC,IAAIL,QAAQ,CAACyC,SAAS,KAAA,IAAA,IAATA,SAAS,uBAATA,SAAS,CAAEpC,IAAI,CAAC;AAC1D,CAAC;AAED,IAAM0C,mBAAmB,GAAG,SAAtBA,mBAAmBA,CAAAC,KAAA,EAA8B;AAAA,EAAA,IAAxBxB,MAAM,GAAAwB,KAAA,CAANxB,MAAM;IAAEiB,SAAS,GAAAO,KAAA,CAATP,SAAS;EAC9C,IAAMH,KAAK,GAAGH,cAAc,CAAC;AAAEX,IAAAA,MAAM,EAANA,MAAM;AAAEc,IAAAA,KAAK,EAAEG,SAAS,KAAA,IAAA,IAATA,SAAS,KAAA,MAAA,GAAA,MAAA,GAATA,SAAS,CAAEH;AAAM,GAAC,CAAC;EAEjE,OAAO,CAAC,CAAC,CAAAA,KAAK,aAALA,KAAK,KAAA,MAAA,GAAA,MAAA,GAALA,KAAK,CAAEW,eAAe,KAAI,EAAE,EAAE3C,QAAQ,CAACmC,SAAS,KAAA,IAAA,IAATA,SAAS,KAAA,MAAA,GAAA,MAAA,GAATA,SAAS,CAAEpC,IAAI,CAAC;AAClE,CAAC;AAED,IAAM6C,mBAAmB,GAAG,SAAtBA,mBAAmBA,CAAAC,KAAA,EAA8B;EAAA,IAAAC,KAAA,EAAAC,WAAA;AAAA,EAAA,IAAxB7B,MAAM,GAAA2B,KAAA,CAAN3B,MAAM;IAAEiB,SAAS,GAAAU,KAAA,CAATV,SAAS;AAC9C,EAAA,IAAMa,IAAI,GAAG,CAAAb,SAAS,KAAA,IAAA,IAATA,SAAS,KAAA,MAAA,GAAA,MAAA,GAATA,SAAS,CAAEc,QAAQ,KAAI,EAAE;EACtC,IAAMC,GAAG,GAAA,CAAAJ,KAAA,GAAA,CAAAC,WAAA,GAAGC,IAAI,CAAC3M,KAAK,MAAA,IAAA,IAAA0M,WAAA,KAAA,MAAA,GAAAA,WAAA,GAAIC,IAAI,CAACG,MAAM,MAAA,IAAA,IAAAL,KAAA,cAAAA,KAAA,GAAIE,IAAI,CAAC5M,KAAK;EAEnD,IAAIgN,WAAK,CAACF,GAAG,CAAC,IAAIG,aAAO,CAACH,GAAG,CAAC,EAAE,OAAO,IAAI;EAE3C,IAAMlB,KAAK,GAAGH,cAAc,CAAC;AAAEX,IAAAA,MAAM,EAANA,MAAM;AAAEc,IAAAA,KAAK,EAAEG,SAAS,KAAA,IAAA,IAATA,SAAS,KAAA,MAAA,GAAA,MAAA,GAATA,SAAS,CAAEH;AAAM,GAAC,CAAC;EACjE,IAAMnK,OAAO,GACX,CAAAmK,KAAK,KAAA,IAAA,IAALA,KAAK,KAAA,MAAA,GAAA,MAAA,GAALA,KAAK,CAAEmB,MAAM,MAAInB,KAAK,KAAA,IAAA,IAALA,KAAK,KAAA,MAAA,GAAA,MAAA,GAALA,KAAK,CAAEsB,eAAe,CAAA,KAAItB,KAAK,KAAA,IAAA,IAALA,KAAK,KAAA,MAAA,GAAA,MAAA,GAALA,KAAK,CAAEnK,OAAO,CAAA,IAAI,EAAE;AACjE,EAAA,IAAM0L,MAAM,GAAGC,oBAAU,CAAC3L,OAAO,CAAC;AAElC,EAAA,IAAM4L,QAAQ,GAAG,SAAXA,QAAQA,CAAGpN,KAAK,EAAI;IAAA,IAAAqN,KAAA,EAAAC,aAAA;AACxB,IAAA,IAAM9C,MAAM,GAAGhJ,OAAO,CAACsJ,IAAI,CACzB,UAAAS,SAAS,EAAA;AAAA,MAAA,IAAAgC,gBAAA;AAAA,MAAA,OAAI,CAAA,CAAAA,gBAAA,GAAChC,SAAS,CAACvL,KAAK,MAAA,IAAA,IAAAuN,gBAAA,KAAA,MAAA,GAAAA,gBAAA,GAAIhC,SAAS,CAACb,EAAE,MAAM1K,KAAK;AAAA,IAAA,CAC1D,CAAC;AACD,IAAA,IAAMD,KAAK,GAAGyK,MAAM,GAAA,CAAA6C,KAAA,GAAA,CAAAC,aAAA,GAAI9C,MAAM,CAACzK,KAAK,MAAA,IAAA,IAAAuN,aAAA,KAAA,MAAA,GAAAA,aAAA,GAAI9C,MAAM,CAACxK,KAAK,MAAA,IAAA,IAAAqN,KAAA,KAAA,MAAA,GAAAA,KAAA,GAAI7C,MAAM,CAACE,EAAE,GAAI1K,KAAK;IAE1E,OAAOkN,MAAM,GAAG5D,MAAM,CAACvJ,KAAK,CAAC,CAACmK,WAAW,EAAE,GAAGnK,KAAK;EACrD,CAAC;AAED,EAAA,IAAMyN,SAAS,GAAGlE,MAAM,CAAC,CAAAwC,SAAS,KAAA,IAAA,IAATA,SAAS,KAAA,MAAA,GAAA,MAAA,GAATA,SAAS,CAAEpC,IAAI,KAAI,EAAE,CAAC,CAACC,QAAQ,CACtDjJ,eAAe,CAACK,MAClB,CAAC,GACG0M,SAAC,CAAC,0BAA0B,CAAC,GAC7BA,SAAC,CAAC,yBAAyB,CAAC;AAEhC,EAAA,OAAOC,KAAK,CAACC,OAAO,CAACd,GAAG,CAAC,GACrBA,GAAG,CAACX,GAAG,CAACkB,QAAQ,CAAC,CAACQ,IAAI,CAAA,GAAA,CAAAC,MAAA,CAAKL,SAAS,EAAA,GAAA,CAAG,CAAC,GACxClE,MAAM,CAAC8D,QAAQ,CAACP,GAAG,CAAC,CAAC;AAC3B,CAAC;AAED,IAAMiB,YAAY,GAAG,SAAfA,YAAYA,CAAAC,KAAA,EAAA;AAAA,EAAA,IAAAC,eAAA;AAAA,EAAA,IAAMnD,MAAM,GAAAkD,KAAA,CAANlD,MAAM;IAAEN,IAAI,GAAAwD,KAAA,CAAJxD,IAAI;EAAA,OAClC,CAAC,CAAAM,MAAM,KAAA,IAAA,IAANA,MAAM,KAAA,MAAA,IAAA,CAAAmD,eAAA,GAANnD,MAAM,CAAE/I,OAAO,cAAAkM,eAAA,KAAA,MAAA,GAAA,MAAA,GAAfA,eAAA,CAAiBxM,OAAO,KAAI,EAAE,EAAEsJ,IAAI,CACnC,UAAAN,MAAM,EAAA;IAAA,OAAIA,MAAM,CAACxK,KAAK,KAAKuK,IAAI,IAAIC,MAAM,CAACE,EAAE,KAAKH,IAAI;AAAA,EAAA,CACvD,CAAC;AAAA,CAAA;AAEH,IAAM0D,aAAa,GAAG,SAAhBA,aAAaA,CAAAC,MAAA,EAAA;AAAA,EAAA,IAAAC,gBAAA;AAAA,EAAA,IAAMtD,MAAM,GAAAqD,MAAA,CAANrD,MAAM;IAAEuD,OAAO,GAAAF,MAAA,CAAPE,OAAO;EAAA,OACtC,CAAC,CAAAvD,MAAM,KAAA,IAAA,IAANA,MAAM,KAAA,MAAA,IAAA,CAAAsD,gBAAA,GAANtD,MAAM,CAAE/I,OAAO,cAAAqM,gBAAA,KAAA,MAAA,GAAA,MAAA,GAAfA,gBAAA,CAAiB3M,OAAO,KAAI,EAAE,EAAEsJ,IAAI,CACnC,UAAAN,MAAM,EAAA;AAAA,IAAA,IAAA6D,aAAA;AAAA,IAAA,OAAI,CAAA,CAAAA,aAAA,GAAC7D,MAAM,CAACxK,KAAK,MAAA,IAAA,IAAAqO,aAAA,KAAA,MAAA,GAAAA,aAAA,GAAI7D,MAAM,CAACE,EAAE,MAAM0D,OAAO;AAAA,EAAA,CACnD,CAAC;AAAA,CAAA;;AAEH;AACA;AACA;AACA;AACA;AACA,IAAME,aAAa,GAAG,SAAhBA,aAAaA,CAAAC,MAAA,EAAA;AAAA,EAAA,IAAM1D,MAAM,GAAA0D,MAAA,CAAN1D,MAAM;IAAE2D,MAAM,GAAAD,MAAA,CAANC,MAAM;AAAA,EAAA,OACrCC,WAAW,CAAC;AAAE5D,IAAAA,MAAM,EAANA,MAAM;AAAE2D,IAAAA,MAAM,EAANA;AAAO,GAAC,CAAC,CAACE,KAAK,IAAI,EAAE;AAAA,CAAA;AAE7C,IAAMC,WAAW,GAAG,SAAdA,WAAWA,CAAAC,MAAA,EAAA;AAAA,EAAA,IAAAC,gBAAA;AAAA,EAAA,IAAML,MAAM,GAAAI,MAAA,CAANJ,MAAM;IAAEM,IAAI,GAAAF,MAAA,CAAJE,IAAI;AAAA,EAAA,OAAON,MAAM,KAAA,IAAA,IAANA,MAAM,KAAA,MAAA,IAAA,CAAAK,gBAAA,GAANL,MAAM,CAAE5B,QAAQ,MAAA,IAAA,IAAAiC,gBAAA,KAAA,MAAA,GAAA,MAAA,GAAhBA,gBAAA,CAAmBC,IAAI,CAAC3F,GAAG,CAAC;AAAA,CAAA;AAEtE,IAAM4F,WAAW,GAAG,SAAdA,WAAWA,CAAAC,MAAA,EAAyB;AAAA,EAAA,IAAAC,KAAA;AAAA,EAAA,IAAnBT,MAAM,GAAAQ,MAAA,CAANR,MAAM;IAAEM,IAAI,GAAAE,MAAA,CAAJF,IAAI;EACjC,IAAM9O,KAAK,GAAG2O,WAAW,CAAC;AAAEH,IAAAA,MAAM,EAANA,MAAM;AAAEM,IAAAA,IAAI,EAAJA;AAAK,GAAC,CAAC;AAE3C,EAAA,OACE,CAAA,CAAAG,KAAA,GAAA,CAACH,IAAI,CAACtN,OAAO,IAAI,EAAE,EAAEsJ,IAAI,CAAC,UAAAN,MAAM,EAAA;AAAA,IAAA,IAAA0E,cAAA;AAAA,IAAA,OAAI,CAAA,CAAAA,cAAA,GAAC1E,MAAM,CAACxK,KAAK,MAAA,IAAA,IAAAkP,cAAA,KAAA,MAAA,GAAAA,cAAA,GAAI1E,MAAM,CAACE,EAAE,MAAM1K,KAAK;AAAA,EAAA,CAAA,CAAC,cAAAiP,KAAA,KAAA,MAAA,GAAA,MAAA,GAA1EA,KAAA,CACIlP,KAAK,KAAI,EAAE;AAEnB,CAAC;AAED,IAAM0O,WAAW,GAAG,SAAdA,WAAWA,CAAAU,MAAA,EAA2B;AAAA,EAAA,IAAAC,qBAAA,EAAAC,iBAAA,EAAAC,oBAAA,EAAAC,MAAA,EAAAC,MAAA,EAAAC,qBAAA,EAAAC,qBAAA;AAAA,EAAA,IAArB7E,MAAM,GAAAsE,MAAA,CAANtE,MAAM;IAAE2D,MAAM,GAAAW,MAAA,CAANX,MAAM;AACnC,EAAA,IAAM1M,OAAO,GAAG,CAAA+I,MAAM,KAAA,IAAA,IAANA,MAAM,KAAA,MAAA,GAAA,MAAA,GAANA,MAAM,CAAE/I,OAAO,KAAI,EAAE;EAErC,IAAM6N,QAAQ,GAAGnB,MAAM,KAAA,IAAA,IAANA,MAAM,KAAA,MAAA,IAANA,MAAM,CAAEJ,OAAO,GAC5B;IAAEA,OAAO,EAAEI,MAAM,CAACJ,OAAO;IAAEwB,SAAS,EAAEpB,MAAM,CAACoB;GAAW,GACxD,CAAA,CAAAR,qBAAA,GAAAtN,OAAO,CAAC+N,aAAa,MAAA,IAAA,IAAAT,qBAAA,KAAA,MAAA,GAAA,MAAA,GAArBA,qBAAA,CAAAhI,IAAA,CAAAtF,OAAO,EAAiB0M,MAAM,KAAA,IAAA,IAANA,MAAM,KAAA,MAAA,GAAA,MAAA,GAANA,MAAM,CAAEjE,IAAI,CAAC,KAAI,EAAE;AAE/C,EAAA,IAAM6D,OAAO,GAAGuB,QAAQ,CAACvB,OAAO;AAChC,EAAA,IAAM0B,cAAc,GAAA,CAAAT,iBAAA,GAAGb,MAAM,KAAA,IAAA,IAANA,MAAM,KAAA,MAAA,GAAA,MAAA,GAANA,MAAM,CAAEoB,SAAS,cAAAP,iBAAA,KAAA,MAAA,GAAAA,iBAAA,GAAIM,QAAQ,CAACC,SAAS;AAE9D,EAAA,IAAMpF,MAAM,GAAG4D,OAAO,GAClBH,aAAa,CAAC;AAAEpD,IAAAA,MAAM,EAANA,MAAM;AAAEuD,IAAAA,OAAO,EAAPA;GAAS,CAAC,GAClCN,YAAY,CAAC;AAAEjD,IAAAA,MAAM,EAANA,MAAM;AAAEN,IAAAA,IAAI,EAAEiE,MAAM,KAAA,IAAA,IAANA,MAAM,KAAA,MAAA,GAAA,MAAA,GAANA,MAAM,CAAEjE;AAAK,GAAC,CAAC;;AAEhD;AACA,EAAA,IAAMxI,WAAW,GAAG,CAAA,CAAAuN,oBAAA,GAAAxN,OAAO,CAACC,WAAW,MAAA,IAAA,IAAAuN,oBAAA,uBAAnBA,oBAAA,CAAsBlB,OAAO,CAAC,KAAI,EAAE;AACxD,EAAA,IAAM2B,gBAAgB,GAAG,SAAnBA,gBAAgBA,CAAGH,SAAS,EAAA;AAAA,IAAA,IAAAI,gBAAA;AAAA,IAAA,OAChC,CAAA,CAAAA,gBAAA,GAACJ,SAAS,CAAC5P,KAAK,MAAA,IAAA,IAAAgQ,gBAAA,KAAA,MAAA,GAAAA,gBAAA,GAAIJ,SAAS,CAAClF,EAAE,MAAMoF,cAAc;AAAA,EAAA,CAAA;EAEtD,IAAMG,cAAc,GAClB,CAAA,CAAAV,MAAA,IAACzN,OAAO,CAACE,UAAU,IAAI,EAAE,EAAE8I,IAAI,CAACiF,gBAAgB,CAAC,MAAA,IAAA,IAAAR,MAAA,KAAA,MAAA,GAAA,MAAA,GAAjDA,MAAA,CAAmDxP,KAAK,MAAA,CAAAyP,MAAA,GACxD,CAAC,CAAAhF,MAAM,KAAA,IAAA,IAANA,MAAM,uBAANA,MAAM,CAAExI,UAAU,KAAI,EAAE,EAAE8I,IAAI,CAACiF,gBAAgB,CAAC,MAAA,IAAA,IAAAP,MAAA,uBAAjDA,MAAA,CAAmDzP,KAAK,CAAA,IACxD+P,cAAc;EAEhB,OAAO;AACLtF,IAAAA,MAAM,EAANA,MAAM;AACN4D,IAAAA,OAAO,EAAPA,OAAO;AACPrO,IAAAA,KAAK,EAAE,CAAAyK,MAAM,aAANA,MAAM,KAAA,MAAA,GAAA,MAAA,GAANA,MAAM,CAAEzK,KAAK,KAAIsJ,QAAQ,CAACmF,MAAM,KAAA,IAAA,IAANA,MAAM,uBAANA,MAAM,CAAEjE,IAAI,CAAC;AAC9Cb,IAAAA,IAAI,EACF3H,WAAW,CAAC2H,IAAI,KACf0E,OAAO,GACJX,SAAC,CAAC,yBAAyB,CAAC,GAC5B,CAAAjD,MAAM,KAAA,IAAA,IAANA,MAAM,uBAANA,MAAM,CAAEU,KAAK,MAAIV,MAAM,KAAA,IAAA,IAANA,MAAM,uBAANA,MAAM,CAAEzK,KAAK,CAAA,CAAC,IACnCsJ,QAAQ,CAACmF,MAAM,KAAA,IAAA,IAANA,MAAM,uBAANA,MAAM,CAAEjE,IAAI,CAAC;IACxB2F,SAAS,EAAE,CAAC9B,OAAO,KAAI5D,MAAM,aAANA,MAAM,KAAA,MAAA,GAAA,MAAA,GAANA,MAAM,CAAE2F,SAAS,CAAA;AACxCC,IAAAA,SAAS,EAAE5F,MAAM,KAAA,IAAA,IAANA,MAAM,KAAA,MAAA,GAAA,MAAA,GAANA,MAAM,CAAE4F,SAAS;AAC5BC,IAAAA,eAAe,EAAE7F,MAAM,KAAA,IAAA,IAANA,MAAM,KAAA,MAAA,GAAA,MAAA,GAANA,MAAM,CAAE6F,eAAe;IACxCC,WAAW,EAAEvO,WAAW,CAACuO,WAAW,KAAI9F,MAAM,KAAA,IAAA,IAANA,MAAM,KAAA,MAAA,GAAA,MAAA,GAANA,MAAM,CAAE8F,WAAW,CAAA;IAC3DC,IAAI,EAAExO,WAAW,CAACwO,IAAI,KAAI/F,MAAM,KAAA,IAAA,IAANA,MAAM,KAAA,MAAA,GAAA,MAAA,GAANA,MAAM,CAAE+F,IAAI,CAAA;AACtCC,IAAAA,cAAc,GAAAf,qBAAA,GAAE1N,WAAW,CAACyO,cAAc,MAAA,IAAA,IAAAf,qBAAA,KAAA,MAAA,GAAAA,qBAAA,GAAIjF,MAAM,KAAA,IAAA,IAANA,MAAM,KAAA,MAAA,GAAA,MAAA,GAANA,MAAM,CAAEgG,cAAc;IACpEC,SAAS,EAAE1O,WAAW,CAAC0O,SAAS,KAAIjG,MAAM,KAAA,IAAA,IAANA,MAAM,KAAA,MAAA,GAAA,MAAA,GAANA,MAAM,CAAEiG,SAAS,CAAA;AACrDC,IAAAA,WAAW,EAAE,CAAA,CAAAhB,qBAAA,GAAA5N,OAAO,CAAC6O,gBAAgB,MAAA,IAAA,IAAAjB,qBAAA,uBAAxBA,qBAAA,CAAAtI,IAAA,CAAAtF,OAAO,EAAoB0M,MAAM,CAAC,KAAI,EAAE;IACrDoC,sBAAsB,EACpB7O,WAAW,CAAC8O,gBAAgB,KAAIrG,MAAM,KAAA,IAAA,IAANA,MAAM,KAAA,MAAA,GAAA,MAAA,GAANA,MAAM,CAAEqG,gBAAgB,CAAA;AAC1DjB,IAAAA,SAAS,EAAEE,cAAc;AACzBG,IAAAA,cAAc,EAAdA,cAAc;IACda,WAAW,EAAE/O,WAAW,CAAC+O,WAAW,KAAItG,MAAM,KAAA,IAAA,IAANA,MAAM,KAAA,MAAA,GAAA,MAAA,GAANA,MAAM,CAAEsG,WAAW,CAAA;IAC3DC,cAAc,EAAEhP,WAAW,CAACgP,cAAc,KAAIvG,MAAM,KAAA,IAAA,IAANA,MAAM,KAAA,MAAA,GAAA,MAAA,GAANA,MAAM,CAAEuG,cAAc,CAAA;AACpErC,IAAAA,KAAK,EAAE3M,WAAW,CAAC2M,KAAK,KAAIlE,MAAM,KAAA,IAAA,IAANA,MAAM,KAAA,MAAA,GAAA,MAAA,GAANA,MAAM,CAAEkE,KAAK,KAAI,EAAE;IAC/CsC,cAAc,EAAEjP,WAAW,CAACiP,cAAc,KAAIxG,MAAM,KAAA,IAAA,IAANA,MAAM,KAAA,MAAA,GAAA,MAAA,GAANA,MAAM,CAAEwG,cAAc,CAAA;IACpEC,iBAAiB,EACflP,WAAW,CAACkP,iBAAiB,KAAIzG,MAAM,KAAA,IAAA,IAANA,MAAM,KAAA,MAAA,GAAA,MAAA,GAANA,MAAM,CAAEyG,iBAAiB;GAC7D;AACH,CAAC;;AAED;AACA;AACA;AACA,IAAMC,sBAAsB,GAAG,SAAzBA,sBAAsBA,CAAAC,MAAA,EAAA;EAAA,IAAAC,MAAA,EAAAC,qBAAA,EAAAC,mBAAA,EAAAC,qBAAA,EAAAC,mBAAA;AAAA,EAAA,IAAM3G,MAAM,GAAAsG,MAAA,CAANtG,MAAM;IAAE4G,IAAI,GAAAN,MAAA,CAAJM,IAAI;AAAA,EAAA,OAAA,CAAAL,MAAA,GAAA,CAAAC,qBAAA,GAC5CxG,MAAM,KAAA,IAAA,IAANA,MAAM,KAAA,MAAA,IAAA,CAAAyG,mBAAA,GAANzG,MAAM,CAAElJ,UAAU,MAAA,IAAA,IAAA2P,mBAAA,KAAA,MAAA,IAAA,CAAAC,qBAAA,GAAlBD,mBAAA,CAAoBI,SAAS,MAAA,IAAA,IAAAH,qBAAA,KAAA,MAAA,GAAA,MAAA,GAA7BA,qBAAA,CAAAnK,IAAA,CAAAkK,mBAAA,EAAgC;AAAEG,IAAAA,IAAI,EAAJA;GAAM,CAAC,MAAA,IAAA,IAAAJ,qBAAA,KAAA,MAAA,GAAAA,qBAAA,GAAIxG,MAAM,KAAA,IAAA,IAANA,MAAM,KAAA,MAAA,IAAA,CAAA2G,mBAAA,GAAN3G,MAAM,CAAElJ,UAAU,MAAA,IAAA,IAAA6P,mBAAA,KAAA,MAAA,GAAA,MAAA,GAAlBA,mBAAA,CAAoB5P,MAAM,MAAA,IAAA,IAAAwP,MAAA,KAAA,MAAA,GAAAA,MAAA,GAAI,EAAE;AAAA,CAAA;AAE/E,IAAMO,UAAU,GAAG,SAAbA,UAAUA,CAAGF,IAAI,EAAA;AAAA,EAAA,OAAI,CAACzE,aAAO,CAAC,CAAAyE,IAAI,KAAA,IAAA,IAAJA,IAAI,KAAA,MAAA,GAAA,MAAA,GAAJA,IAAI,CAAEnQ,QAAQ,KAAI,EAAE,CAAC;AAAA,CAAA;AAEzD,IAAMsQ,SAAS,GAAG,SAAZA,SAASA,CAAGH,IAAI,EAAA;AAAA,EAAA,OAAI,CAAC,CAAAA,IAAI,KAAA,IAAA,IAAJA,IAAI,KAAA,MAAA,GAAA,MAAA,GAAJA,IAAI,CAAE3P,OAAO,KAAI,EAAE,EAAE+P,IAAI,CAAC,UAAArD,MAAM,EAAA;AAAA,IAAA,OAAIA,MAAM,KAAA,IAAA,IAANA,MAAM,KAAA,MAAA,GAAA,MAAA,GAANA,MAAM,CAAEjE,IAAI;EAAA,CAAA,CAAC;AAAA,CAAA;AAE5E,IAAMuH,gBAAgB,GAAG,SAAnBA,gBAAgBA,CAAGjH,MAAM,EAAA;AAAA,EAAA,IAAAkH,iBAAA;AAAA,EAAA,OAAI,CAAAlH,MAAM,KAAA,IAAA,IAANA,MAAM,KAAA,MAAA,IAAA,CAAAkH,iBAAA,GAANlH,MAAM,CAAEvJ,QAAQ,cAAAyQ,iBAAA,KAAA,MAAA,GAAA,MAAA,GAAhBA,iBAAA,CAAkBrQ,OAAO,MAAK,KAAK;AAAA,CAAA;AAEtE,IAAMsQ,kBAAkB,GAAG,SAArBA,kBAAkBA,CAAAC,MAAA,EAAA;AAAA,EAAA,IAAMR,IAAI,GAAAQ,MAAA,CAAJR,IAAI;IAAE5G,MAAM,GAAAoH,MAAA,CAANpH,MAAM;EAAA,OACxC,CAACiH,gBAAgB,CAACjH,MAAM,CAAC,IAAI8G,UAAU,CAACF,IAAI,CAAC;AAAA,CAAA;AAE/C,IAAMS,qBAAqB,GAAG,SAAxBA,qBAAqBA,CAAAC,MAAA,EAAA;AAAA,EAAA,IAAAC,mBAAA;AAAA,EAAA,IAAMX,IAAI,GAAAU,MAAA,CAAJV,IAAI;IAAE5G,MAAM,GAAAsH,MAAA,CAANtH,MAAM;AAAA,EAAA,OAC3C,CAAAA,MAAM,KAAA,IAAA,IAANA,MAAM,gBAAAuH,mBAAA,GAANvH,MAAM,CAAElJ,UAAU,MAAA,IAAA,IAAAyQ,mBAAA,KAAA,MAAA,GAAA,MAAA,GAAlBA,mBAAA,CAAoBC,UAAU,MAAK,KAAK,GACpClF,oBAAU,CAAC,CAAAsE,IAAI,KAAA,IAAA,IAAJA,IAAI,KAAA,MAAA,GAAA,MAAA,GAAJA,IAAI,CAAE9P,UAAU,KAAI,EAAE,CAAC,GAClC,IAAI;AAAA,CAAA;AAEV,IAAM2Q,iBAAiB,GAAG,SAApBA,iBAAiBA,CAAAC,MAAA,EAAA;AAAA,EAAA,IAAMd,IAAI,GAAAc,MAAA,CAAJd,IAAI;IAAE5G,MAAM,GAAA0H,MAAA,CAAN1H,MAAM;AAAA,EAAA,OACvC,CAAC,CAAA4G,IAAI,KAAA,IAAA,IAAJA,IAAI,KAAA,MAAA,GAAA,MAAA,GAAJA,IAAI,CAAE3P,OAAO,KAAI,EAAE,EAAE+P,IAAI,CAAC,UAAArD,MAAM,EAAA;AAAA,IAAA,OAC/BF,aAAa,CAAC;AAAEzD,MAAAA,MAAM,EAANA,MAAM;AAAE2D,MAAAA,MAAM,EAANA;AAAO,KAAC,CAAC,CAACqD,IAAI,CACpC,UAAA/C,IAAI,EAAA;AAAA,MAAA,OAAIA,IAAI,CAAC0D,QAAQ,IAAI,CAAC7D,WAAW,CAAC;AAAEH,QAAAA,MAAM,EAANA,MAAM;AAAEM,QAAAA,IAAI,EAAJA;AAAK,OAAC,CAAC;AAAA,IAAA,CACzD,CAAC;AAAA,EAAA,CACH,CAAC;AAAA,CAAA;AAEH,IAAM2D,cAAc,GAAG,SAAjBA,cAAcA,CAAAC,MAAA,EAAA;AAAA,EAAA,IAAMjB,IAAI,GAAAiB,MAAA,CAAJjB,IAAI;IAAE5G,MAAM,GAAA6H,MAAA,CAAN7H,MAAM;AAAA,EAAA,OACpCmH,kBAAkB,CAAC;AAAEP,IAAAA,IAAI,EAAJA,IAAI;AAAE5G,IAAAA,MAAM,EAANA;GAAQ,CAAC,IACpCqH,qBAAqB,CAAC;AAAET,IAAAA,IAAI,EAAJA,IAAI;AAAE5G,IAAAA,MAAM,EAANA;GAAQ,CAAC,IACvC+G,SAAS,CAACH,IAAI,CAAC,IACf,CAACa,iBAAiB,CAAC;AAAEb,IAAAA,IAAI,EAAJA,IAAI;AAAE5G,IAAAA,MAAM,EAANA;AAAO,GAAC,CAAC;AAAA,CAAA;AAEtC,IAAM8H,cAAc,GAAG,SAAjBA,cAAcA,CAAAC,MAAA,EAAyB;EAAA,IAAAC,WAAA,EAAAC,aAAA;AAAA,EAAA,IAAnBjI,MAAM,GAAA+H,MAAA,CAAN/H,MAAM;IAAEkI,IAAI,GAAAH,MAAA,CAAJG,IAAI;AACpC,EAAA,IAAM/S,KAAK,GAAA,CAAA6S,WAAA,GAAGE,IAAI,aAAJA,IAAI,KAAA,MAAA,GAAA,MAAA,GAAJA,IAAI,CAAE/S,KAAK,MAAA,IAAA,IAAA6S,WAAA,KAAA,MAAA,GAAAA,WAAA,GAAIE,IAAI;EAEjC,OAAO,CAAC,CAAAlI,MAAM,KAAA,IAAA,IAANA,MAAM,KAAA,MAAA,IAAA,CAAAiI,aAAA,GAANjI,MAAM,CAAEmI,KAAK,cAAAF,aAAA,KAAA,MAAA,GAAA,MAAA,GAAbA,aAAA,CAAetR,OAAO,KAAI,EAAE,EAAEsJ,IAAI,CACxC,UAAAS,SAAS,EAAA;AAAA,IAAA,IAAA0H,iBAAA;AAAA,IAAA,OAAI,CAAA,CAAAA,iBAAA,GAAC1H,SAAS,CAACvL,KAAK,MAAA,IAAA,IAAAiT,iBAAA,KAAA,MAAA,GAAAA,iBAAA,GAAI1H,SAAS,CAACb,EAAE,MAAM1K,KAAK;AAAA,EAAA,CAC1D,CAAC;AACH,CAAC;AAED,IAAMkT,gBAAgB,GAAG,SAAnBA,gBAAgBA,CAAAC,MAAA,EAAA;AAAA,EAAA,IAAAC,MAAA,EAAAC,iBAAA,EAAAC,eAAA;AAAA,EAAA,IAAMzI,MAAM,GAAAsI,MAAA,CAANtI,MAAM;IAAEkI,IAAI,GAAAI,MAAA,CAAJJ,IAAI;AAAA,EAAA,OAAA,CAAAK,MAAA,GAAA,CAAAC,iBAAA,GACtCN,IAAI,KAAA,IAAA,IAAJA,IAAI,KAAA,MAAA,GAAA,MAAA,GAAJA,IAAI,CAAEQ,WAAW,MAAA,IAAA,IAAAF,iBAAA,KAAA,MAAA,GAAAA,iBAAA,IAAAC,eAAA,GAAIX,cAAc,CAAC;AAAE9H,IAAAA,MAAM,EAANA,MAAM;AAAEkI,IAAAA,IAAI,EAAJA;AAAK,GAAC,CAAC,MAAA,IAAA,IAAAO,eAAA,KAAA,MAAA,GAAA,MAAA,GAAhCA,eAAA,CAAkCC,WAAW,MAAA,IAAA,IAAAH,MAAA,KAAA,MAAA,GAAAA,MAAA,GAAI,IAAI;AAAA,CAAA;AAE5E,IAAMI,wBAAwB,GAAG,SAA3BA,wBAAwBA,CAAAC,MAAA,EAAyB;AAAA,EAAA,IAAnB5I,MAAM,GAAA4I,MAAA,CAAN5I,MAAM;IAAEkI,IAAI,GAAAU,MAAA,CAAJV,IAAI;EAC9C,IAAIA,IAAI,KAAA,IAAA,IAAJA,IAAI,KAAA,MAAA,IAAJA,IAAI,CAAEW,UAAU,EAAE,OAAOX,IAAI,CAACW,UAAU;EAE5C,IAAMH,WAAW,GAAGL,gBAAgB,CAAC;AAAErI,IAAAA,MAAM,EAANA,MAAM;AAAEkI,IAAAA,IAAI,EAAJA;AAAK,GAAC,CAAC;AAEtD,EAAA,OAAO,CAAAQ,WAAW,KAAA,IAAA,IAAXA,WAAW,KAAA,MAAA,GAAA,MAAA,GAAXA,WAAW,CAAEI,MAAM,MAAK,CAAC,GAAGJ,WAAW,CAAC,CAAC,CAAC,CAACvT,KAAK,GAAG6I,SAAS;AACrE,CAAC;AAED,IAAM+K,mBAAmB,GAAG,SAAtBA,mBAAmBA,CAAAC,MAAA,EAAyB;AAAA,EAAA,IAAAC,oBAAA;AAAA,EAAA,IAAnBrC,IAAI,GAAAoC,MAAA,CAAJpC,IAAI;IAAE5G,MAAM,GAAAgJ,MAAA,CAANhJ,MAAM;EACzC,IAAMmI,KAAK,GAAGnI,MAAM,KAAA,IAAA,IAANA,MAAM,KAAA,MAAA,GAAA,MAAA,GAANA,MAAM,CAAEmI,KAAK;AAC3B,EAAA,IAAI,EAACA,KAAK,KAAA,IAAA,IAALA,KAAK,KAAA,MAAA,IAALA,KAAK,CAAEtR,OAAO,CAAA,IAAI,EAAA,CAAAoS,oBAAA,GAACd,KAAK,CAACe,aAAa,cAAAD,oBAAA,KAAA,MAAA,IAAnBA,oBAAA,CAAA1M,IAAA,CAAA4L,KAAK,EAAiB,CAAAvB,IAAI,KAAA,IAAA,IAAJA,IAAI,KAAA,MAAA,GAAA,MAAA,GAAJA,IAAI,CAAE3P,OAAO,KAAI,EAAE,CAAC,CAAA,EAAE,OAAO,EAAE;EAE7E,OAAO,CAAC,CAAA2P,IAAI,KAAA,IAAA,IAAJA,IAAI,KAAA,MAAA,GAAA,MAAA,GAAJA,IAAI,CAAEuB,KAAK,KAAI,EAAE,EAAEgB,MAAM,CAAC,UAACC,OAAO,EAAElB,IAAI,EAAEmB,KAAK,EAAK;IAAA,IAAAC,MAAA,EAAAC,mBAAA;IAC1D,IAAM5J,MAAM,GAAGmI,cAAc,CAAC;AAAE9H,MAAAA,MAAM,EAANA,MAAM;AAAEkI,MAAAA,IAAI,EAAJA;AAAK,KAAC,CAAC;IAC/C,IAAMQ,WAAW,GAAGL,gBAAgB,CAAC;AAAErI,MAAAA,MAAM,EAANA,MAAM;AAAEkI,MAAAA,IAAI,EAAJA;AAAK,KAAC,CAAC;AACtD,IAAA,IAAMsB,aAAa,GAAA,CAAAF,MAAA,GAAA,CAAAC,mBAAA,GACjBrB,IAAI,KAAA,IAAA,IAAJA,IAAI,KAAA,MAAA,GAAA,MAAA,GAAJA,IAAI,CAAEsB,aAAa,cAAAD,mBAAA,KAAA,MAAA,GAAAA,mBAAA,GACnB5J,MAAM,KAAA,IAAA,IAANA,MAAM,uBAANA,MAAM,CAAE6J,aAAa,MAAA,IAAA,IAAAF,MAAA,KAAA,MAAA,GAAAA,MAAA,GACpBZ,WAAW,GAAGA,WAAW,CAACI,MAAM,GAAG,CAAC,GAAG9K,SAAU;IACpD,IAAIwL,aAAa,KAAK,KAAK,EAAEJ,OAAO,CAACK,IAAI,CAACJ,KAAK,CAAC;AAEhD,IAAA,OAAOD,OAAO;EAChB,CAAC,EAAE,EAAE,CAAC;AACR,CAAC;AAED,IAAMM,6BAA6B,GAAG,SAAhCA,6BAA6BA,CAAAC,MAAA,EAAyB;AAAA,EAAA,IAAAC,qBAAA;AAAA,EAAA,IAAnBhD,IAAI,GAAA+C,MAAA,CAAJ/C,IAAI;IAAE5G,MAAM,GAAA2J,MAAA,CAAN3J,MAAM;EACnD,IAAMmI,KAAK,GAAGnI,MAAM,KAAA,IAAA,IAANA,MAAM,KAAA,MAAA,GAAA,MAAA,GAANA,MAAM,CAAEmI,KAAK;AAC3B,EAAA,IAAI,EAACA,KAAK,KAAA,IAAA,IAALA,KAAK,KAAA,MAAA,IAALA,KAAK,CAAEtR,OAAO,CAAA,IAAI,EAAA,CAAA+S,qBAAA,GAACzB,KAAK,CAACe,aAAa,cAAAU,qBAAA,KAAA,MAAA,IAAnBA,qBAAA,CAAArN,IAAA,CAAA4L,KAAK,EAAiB,CAAAvB,IAAI,KAAA,IAAA,IAAJA,IAAI,KAAA,MAAA,GAAA,MAAA,GAAJA,IAAI,CAAE3P,OAAO,KAAI,EAAE,CAAC,CAAA,EAAE,OAAO,EAAE;EAE7E,OAAO,CAAC,CAAA2P,IAAI,KAAA,IAAA,IAAJA,IAAI,KAAA,MAAA,GAAA,MAAA,GAAJA,IAAI,CAAEuB,KAAK,KAAI,EAAE,EAAEgB,MAAM,CAAC,UAACC,OAAO,EAAElB,IAAI,EAAEmB,KAAK,EAAK;IAC1D,IAAMX,WAAW,GAAGL,gBAAgB,CAAC;AAAErI,MAAAA,MAAM,EAANA,MAAM;AAAEkI,MAAAA,IAAI,EAAJA;AAAK,KAAC,CAAC;AACtD,IAAA,IAAM2B,SAAS,GAAG,CAAC,CAAAnB,WAAW,KAAA,IAAA,IAAXA,WAAW,KAAA,MAAA,GAAA,MAAA,GAAXA,WAAW,CAAEI,MAAM,KAAI,CAAC,IAAI,CAAC;AAChD,IAAA,IAAIe,SAAS,IAAI,CAAClB,wBAAwB,CAAC;AAAE3I,MAAAA,MAAM,EAANA,MAAM;AAAEkI,MAAAA,IAAI,EAAJA;AAAK,KAAC,CAAC,EAAE;AAC5DkB,MAAAA,OAAO,CAACK,IAAI,CAACJ,KAAK,CAAC;AACrB,IAAA;AAEA,IAAA,OAAOD,OAAO;EAChB,CAAC,EAAE,EAAE,CAAC;AACR,CAAC;AAED,IAAMU,cAAc,GAAG,SAAjBA,cAAcA,CAAGhV,OAAO,EAAI;AAChC,EAAA,IAAMiV,KAAK,GAAGC,MAAM,CAAClV,OAAO,CAAC,IAAI,CAAC;EAClC,IAAIiV,KAAK,IAAIA,KAAK,GAAGlV,YAAY,CAACG,IAAI,KAAK,CAAC,EAAE;IAC5C,OAAO;AAAEG,MAAAA,KAAK,EAAE4U,KAAK,GAAGlV,YAAY,CAACG,IAAI;AAAEiV,MAAAA,IAAI,EAAE;KAAQ;AAC3D,EAAA;EAEA,IAAIF,KAAK,IAAIA,KAAK,GAAGlV,YAAY,CAACE,KAAK,KAAK,CAAC,EAAE;IAC7C,OAAO;AAAEI,MAAAA,KAAK,EAAE4U,KAAK,GAAGlV,YAAY,CAACE,KAAK;AAAEkV,MAAAA,IAAI,EAAE;KAAS;AAC7D,EAAA;EAEA,OAAO;AAAE9U,IAAAA,KAAK,EAAE4U,KAAK;AAAEE,IAAAA,IAAI,EAAE;GAAW;AAC1C,CAAC;AAED,IAAMC,cAAc,GAAG,SAAjBA,cAAcA,CAAAC,MAAA,EAAA;AAAA,EAAA,IAAMhV,KAAK,GAAAgV,MAAA,CAALhV,KAAK;IAAE8U,IAAI,GAAAE,MAAA,CAAJF,IAAI;AAAA,EAAA;AACnC;AACA,IAAA,CAACD,MAAM,CAAC7U,KAAK,CAAC,IAAI,CAAC,KAAKN,YAAY,CAACoV,IAAI,CAAC,IAAI,CAAC;AAAC;AAAA,CAAA;AAElD,IAAMG,kBAAkB,GAAG,SAArBA,kBAAkBA,CAAGtV,OAAO,EAAA;AAAA,EAAA,OAChCgV,cAAc,CAAChV,OAAO,CAAC,CAACK,KAAK,GAAGE,mBAAmB;AAAA,CAAA;AAErD,IAAMgV,wBAAwB,GAAG,SAA3BA,wBAAwBA,CAAGrK,MAAM,EAAI;AAAA,EAAA,IAAAsK,iBAAA;EACzC,IAAM5T,QAAQ,GAAGsJ,MAAM,KAAA,IAAA,IAANA,MAAM,gBAAAsK,iBAAA,GAANtK,MAAM,CAAEvJ,QAAQ,MAAA,IAAA,IAAA6T,iBAAA,KAAA,MAAA,IAAA,CAAAA,iBAAA,GAAhBA,iBAAA,CAAkBC,QAAQ,cAAAD,iBAAA,KAAA,MAAA,GAAA,MAAA,GAA1BA,iBAAA,CAA4B5T,QAAQ;EACrD,IAAI,CAACA,QAAQ,EAAE,OAAO8T,cAAG,CAACC,MAAM,EAAE;AAElC,EAAA,OAAOD,cAAG,CAACC,MAAM,EAAE,CAACC,KAAK,CAAA1Q,eAAA,KACtBtD,QAAQ,EAAG8T,cAAG,CAACC,MAAM,EAAE,CAACC,KAAK,CAAC;AAC7B;AACA;IACAvV,KAAK,EAAEqV,cAAG,CAACG,MAAM,EAAE,CAACC,IAAI,CACtB,eAAe,EACf,YAAA;MAAA,OACEhI,SAAC,CAAC,oCAAoC,EAAE;AACtCiI,QAAAA,GAAG,EAAExV;AACP,OAAC,CAAC;AAAA,IAAA,CAAA,EACJ,UAAAP,OAAO,EAAA;AAAA,MAAA,OAAI,CAACsV,kBAAkB,CAACtV,OAAO,CAAC;IAAA,CACzC;GACD,CAAC,CACH,CAAC;AACJ,CAAC;AAED,IAAMgW,aAAa,GAAG,SAAhBA,aAAaA,CAAGhW,OAAO,EAAI;AAC/B,EAAA,IAAAiW,eAAA,GAAwBjB,cAAc,CAAChV,OAAO,CAAC;IAAvCK,KAAK,GAAA4V,eAAA,CAAL5V,KAAK;IAAE8U,IAAI,GAAAc,eAAA,CAAJd,IAAI;AACnB,EAAA,IAAMe,SAAS,GAAG7V,KAAK,KAAK,CAAC,GAAG8U,IAAI,CAACvL,OAAO,CAAC,IAAI,EAAE,EAAE,CAAC,GAAGuL,IAAI;AAE7D,EAAA,OAAA,EAAA,CAAAjH,MAAA,CAAU7N,KAAK,EAAA,GAAA,CAAA,CAAA6N,MAAA,CAAIgI,SAAS,CAAA;AAC9B,CAAC;AAED,IAAMC,iBAAiB,GAAG,SAApBA,iBAAiBA,CAAGxU,QAAQ,EAAI;AACpC,EAAA,IAAIoM,KAAK,CAACC,OAAO,CAACrM,QAAQ,CAAC,EAAE,OAAO;AAAEE,IAAAA,OAAO,EAAEF;GAAU;EAEzD,OAAOA,QAAQ,IAAI,EAAE;AACvB,CAAC;AAED,IAAMyU,eAAe,GAAG,SAAlBA,eAAeA,GAAA;AAAA,EAAA,IAAIC,SAAS,GAAAC,SAAA,CAAAtC,MAAA,GAAA,CAAA,IAAAsC,SAAA,CAAA,CAAA,CAAA,KAAApN,SAAA,GAAAoN,SAAA,CAAA,CAAA,CAAA,GAAG,EAAE;EAAA,OACrCC,oBAAc,CAAC7U,cAAc,EAAAsH,eAAA,CAAAA,eAAA,KACxBqN,SAAS,CAAA,EAAA,EAAA,EAAA;AACZ1U,IAAAA,QAAQ,EAAEwU,iBAAiB,CAACE,SAAS,CAAC1U,QAAQ;AAAC,GAAA,CAChD,CAAC;AAAA,CAAA;AAEJ,IAAM6U,WAAW,GAAG,SAAdA,WAAWA,CAAGC,IAAI,EAAA;AAAA,EAAA,OACtBA,IAAI,KAAKzT,cAAc,CAACE,EAAE,GAAGL,SAAS,CAACE,EAAE,GAAGF,SAAS,CAACC,GAAG;AAAA,CAAA;AAE3D,IAAM4T,qBAAqB,GAAG,SAAxBA,qBAAqBA,CAAG1K,KAAK,EAAA;AAAA,EAAA,OACjCA,KAAK,KAAKrG,wBAAwB,CAACC,MAAM,GACrCD,wBAAwB,CAACC,MAAM,GAC/BD,wBAAwB,CAACtF,KAAK;AAAA,CAAA;;AAEpC;AACA;AACA;AACA,IAAMsW,oBAAoB,GAAG,SAAvBA,oBAAoBA,CAAAC,MAAA,EAAiC;EAAA,IAAAC,sBAAA,EAAAC,kBAAA,EAAAC,qBAAA,EAAAC,sBAAA,EAAAC,qBAAA,EAAAC,qBAAA;AAAA,EAAA,IAA3BhM,MAAM,GAAA0L,MAAA,CAAN1L,MAAM;IAAE2D,MAAM,GAAA+H,MAAA,CAAN/H,MAAM;IAAEjE,IAAI,GAAAgM,MAAA,CAAJhM,IAAI;AAClD,EAAA,IAAMzI,OAAO,GAAG,CAAA+I,MAAM,KAAA,IAAA,IAANA,MAAM,KAAA,MAAA,GAAA,MAAA,GAANA,MAAM,CAAE/I,OAAO,KAAI,EAAE;EACrC,IAAM6N,QAAQ,GAAG,CAAA,CAAA6G,sBAAA,GAAA1U,OAAO,CAAC+N,aAAa,MAAA,IAAA,IAAA2G,sBAAA,KAAA,MAAA,GAAA,MAAA,GAArBA,sBAAA,CAAApP,IAAA,CAAAtF,OAAO,EAAiB0M,MAAM,KAAA,IAAA,IAANA,MAAM,KAAA,MAAA,GAAA,MAAA,GAANA,MAAM,CAAEjE,IAAI,CAAC,KAAI,EAAE;AAC5D,EAAA,IAAM6D,OAAO,GAAG,CAAAI,MAAM,KAAA,IAAA,IAANA,MAAM,KAAA,MAAA,GAAA,MAAA,GAANA,MAAM,CAAEJ,OAAO,KAAIuB,QAAQ,CAACvB,OAAO;AACnD;AACA;AACA,EAAA,IAAMwB,SAAS,GAAA,CAAA6G,kBAAA,GAAGjI,MAAM,KAAA,IAAA,IAANA,MAAM,KAAA,MAAA,GAAA,MAAA,GAANA,MAAM,CAAEoB,SAAS,cAAA6G,kBAAA,KAAA,MAAA,GAAAA,kBAAA,GAAI9G,QAAQ,CAACC,SAAS;AAEzD,EAAA,IAAMkH,aAAa,GACjB,CAAC,EAAA,CAAAJ,qBAAA,GAAC5U,OAAO,CAACiV,qBAAqB,MAAA,IAAA,IAAAL,qBAAA,KAAA,MAAA,IAA7BA,qBAAA,CAAAtP,IAAA,CAAAtF,OAAO,EAAyB;AAAEsM,IAAAA,OAAO,EAAPA,OAAO;AAAE7D,IAAAA,IAAI,EAAJA,IAAI;AAAEiE,IAAAA,MAAM,EAANA;AAAO,GAAC,CAAC,CAAA,IAC5D,CAAC,EAAA,CAAAmI,sBAAA,GAAC7U,OAAO,CAACkV,oBAAoB,MAAA,IAAA,IAAAL,sBAAA,KAAA,MAAA,IAA5BA,sBAAA,CAAAvP,IAAA,CAAAtF,OAAO,EAAwB;AAAEsM,IAAAA,OAAO,EAAPA,OAAO;AAAE7D,IAAAA,IAAI,EAAJA,IAAI;AAAEiE,IAAAA,MAAM,EAANA,MAAM;AAAEoB,IAAAA,SAAS,EAATA;AAAU,GAAC,CAAC,CAAA;AAExE,EAAA,IAAMqH,eAAe,GAAG,CAACnV,OAAO,CAACN,OAAO,IAAI,EAAE,EAC3C0V,OAAO,CAAC,UAAA1M,MAAM,EAAA;AAAA,IAAA,OAAIA,MAAM,CAACxI,UAAU,IAAI,EAAE;AAAA,EAAA,CAAA,CAAC,CAC1C6L,MAAM,CAAC/L,OAAO,CAACE,UAAU,IAAI,EAAE,CAAC,CAChC8I,IAAI,CAAC,UAAAiI,IAAI,EAAA;AAAA,IAAA,IAAAoE,YAAA;AAAA,IAAA,OAAI,CAAA,CAAAA,YAAA,GAACpE,IAAI,CAAC/S,KAAK,MAAA,IAAA,IAAAmX,YAAA,KAAA,MAAA,GAAAA,YAAA,GAAIpE,IAAI,CAACrI,EAAE,MAAMkF,SAAS;EAAA,CAAA,CAAC;AAEtD,EAAA,IAAMwH,UAAU,GACd,CAAA,CAAAR,qBAAA,GAAA9U,OAAO,CAACuV,aAAa,MAAA,IAAA,IAAAT,qBAAA,KAAA,MAAA,GAAA,MAAA,GAArBA,qBAAA,CAAAxP,IAAA,CAAAtF,OAAO,EAAiB0M,MAAM,KAAA,IAAA,IAANA,MAAM,KAAA,MAAA,GAAA,MAAA,GAANA,MAAM,CAAEjE,IAAI,CAAC,OAAAsM,qBAAA,GACrC/U,OAAO,CAACwV,gBAAgB,cAAAT,qBAAA,KAAA,MAAA,GAAA,MAAA,GAAxBA,qBAAA,CAAAzP,IAAA,CAAAtF,OAAO,EAAoBsM,OAAO,CAAC,CAAA;EAErC,OAAA,EAAA,CAAAP,MAAA,CAAA0J,kBAAA,CACMT,aAAa,GAAG,CAACxR,wBAAwB,CAACC,MAAM,CAAC,GAAG,EAAE,CAAA,EAAAgS,kBAAA,CACtDN,eAAe,KAAA,IAAA,IAAfA,eAAe,KAAA,MAAA,IAAfA,eAAe,CAAEtL,KAAK,GACtB,CAAC0K,qBAAqB,CAACY,eAAe,CAACtL,KAAK,CAAC,CAAC,GAC9C,EAAE,GAAA4L,kBAAA,CACF,CAAAH,UAAU,KAAA,IAAA,IAAVA,UAAU,uBAAVA,UAAU,CAAEI,IAAI,MAAKnS,cAAc,GACnC,CAACC,wBAAwB,CAACE,YAAY,CAAC,GACvC,EAAE,CAAA,CAAA;AAEV,CAAC;AAED,IAAMiS,gBAAgB,GAAG,SAAnBA,gBAAgBA,CAAGC,QAAQ,EAAA;AAAA,EAAA,OAC/BA,QAAQ,KAAKlV,SAAS,CAACE,EAAE,GAAGC,cAAc,CAACE,EAAE,GAAGF,cAAc,CAACC,GAAG;AAAA,CAAA;;AAEpE;AACA,IAAM+U,OAAO,GAAG,SAAVA,OAAOA,CAAAC,MAAA,EAAA;AAAA,EAAA,IAAAC,WAAA;AAAA,EAAA,IAAM/K,MAAM,GAAA8K,MAAA,CAAN9K,MAAM;IAAE3D,GAAG,GAAAyO,MAAA,CAAHzO,GAAG;AAAA,EAAA,OAAO2D,MAAM,KAAA,IAAA,IAANA,MAAM,KAAA,MAAA,IAAA,CAAA+K,WAAA,GAAN/K,MAAM,CAAG3D,GAAG,CAAC,MAAA,IAAA,IAAA0O,WAAA,KAAA,MAAA,GAAA,MAAA,GAAbA,WAAA,CAAe7X,KAAK;AAAA,CAAA;AAEzD,IAAM8X,OAAO,GAAG,SAAVA,OAAOA,CAAGC,UAAU,EAAA;EAAA,OAAKrK,KAAK,CAACC,OAAO,CAACoK,UAAU,CAAC,GAAGA,UAAU,GAAG,EAAE;AAAA,CAAC;AAE3E,IAAMC,mBAAmB,GAAG,SAAtBA,mBAAmBA,GAAA;AAAA,EAAA,IAAAC,iBAAA,EAAAC,cAAA,EAAAC,mBAAA,EAAAC,gBAAA,EAAAC,aAAA,EAAAC,iBAAA,EAAAC,cAAA;AAAA,EAAA,IAAI1N,MAAM,GAAAoL,SAAA,CAAAtC,MAAA,GAAA,CAAA,IAAAsC,SAAA,CAAA,CAAA,CAAA,KAAApN,SAAA,GAAAoN,SAAA,CAAA,CAAA,CAAA,GAAG,EAAE;EAAA,OAAM;AAC5C3U,IAAAA,QAAQ,EAAE,CAAA,CAAA2W,iBAAA,GAAApN,MAAM,CAACvJ,QAAQ,MAAA,IAAA,IAAA2W,iBAAA,KAAA,MAAA,GAAA,MAAA,GAAfA,iBAAA,CAAiB1W,QAAQ,KAAI,QAAQ;AAC/C+J,IAAAA,SAAS,EAAE,CAAA,CAAA4M,cAAA,GAAArN,MAAM,CAACpJ,KAAK,MAAA,IAAA,IAAAyW,cAAA,KAAA,MAAA,GAAA,MAAA,GAAZA,cAAA,CAAc3W,QAAQ,KAAI,WAAW;AAChDI,IAAAA,UAAU,EAAE,CAAA,CAAAwW,mBAAA,GAAAtN,MAAM,CAAClJ,UAAU,MAAA,IAAA,IAAAwW,mBAAA,KAAA,MAAA,GAAA,MAAA,GAAjBA,mBAAA,CAAmB5W,QAAQ,KAAI,YAAY;AACvDO,IAAAA,OAAO,EAAE,CAAA,CAAAsW,gBAAA,GAAAvN,MAAM,CAAC/I,OAAO,MAAA,IAAA,IAAAsW,gBAAA,KAAA,MAAA,GAAA,MAAA,GAAdA,gBAAA,CAAgB7W,QAAQ,KAAI,SAAS;AAC9CU,IAAAA,KAAK,EAAE,CAAA,CAAAoW,aAAA,GAAAxN,MAAM,CAAC5I,KAAK,MAAA,IAAA,IAAAoW,aAAA,KAAA,MAAA,GAAA,MAAA,GAAZA,aAAA,CAAc9W,QAAQ,KAAI,iBAAiB;AAClD6T,IAAAA,QAAQ,GAAAkD,iBAAA,GAAEzN,MAAM,CAACvJ,QAAQ,cAAAgX,iBAAA,KAAA,MAAA,IAAA,CAAAA,iBAAA,GAAfA,iBAAA,CAAiBlD,QAAQ,MAAA,IAAA,IAAAkD,iBAAA,KAAA,MAAA,GAAA,MAAA,GAAzBA,iBAAA,CAA2B/W,QAAQ;AAC7CyR,IAAAA,KAAK,EAAE,CAAA,CAAAuF,cAAA,GAAA1N,MAAM,CAACmI,KAAK,MAAA,IAAA,IAAAuF,cAAA,KAAA,MAAA,GAAA,MAAA,GAAZA,cAAA,CAAchX,QAAQ,KAAI,YAAY;AAC7CiX,IAAAA,MAAM,EAAE,QAAQ;AAChBjO,IAAAA,IAAI,EAAE;GACP;AAAA,CAAC;AAEF,IAAMkO,iBAAiB,GAAG,SAApBA,iBAAiBA,GAA0C;EAAA,IAAAC,QAAA,EAAAC,YAAA;AAAA,EAAA,IAAAC,MAAA,GAAA3C,SAAA,CAAAtC,MAAA,GAAA,CAAA,IAAAsC,SAAA,CAAA,CAAA,CAAA,KAAApN,SAAA,GAAAoN,SAAA,CAAA,CAAA,CAAA,GAAP,EAAE;IAAA4C,aAAA,GAAAD,MAAA,CAA/B9L,MAAM;AAANA,IAAAA,MAAM,GAAA+L,aAAA,KAAA,MAAA,GAAG,EAAE,GAAAA,aAAA;IAAAC,aAAA,GAAAF,MAAA,CAAE/N,MAAM;AAANA,IAAAA,MAAM,GAAAiO,aAAA,KAAA,MAAA,GAAG,EAAE,GAAAA,aAAA;AACnD,EAAA,IAAMC,IAAI,GAAGf,mBAAmB,CAACnN,MAAM,CAAC;AAExC,EAAA,IAAMlJ,UAAU,GAAGmW,OAAO,CAACH,OAAO,CAAC;AAAE7K,IAAAA,MAAM,EAANA,MAAM;IAAE3D,GAAG,EAAE4P,IAAI,CAACpX;AAAW,GAAC,CAAC,CAAC;EACrE,IAAMqX,QAAQ,GAAGrB,OAAO,CAAC;AAAE7K,IAAAA,MAAM,EAANA,MAAM;IAAE3D,GAAG,EAAE4P,IAAI,CAAC9W;AAAM,GAAC,CAAC;EAErD,OAAO;IACLsI,IAAI,EAAEoN,OAAO,CAAC;AAAE7K,MAAAA,MAAM,EAANA,MAAM;MAAE3D,GAAG,EAAE4P,IAAI,CAACxO;KAAM,CAAC,IAAI,EAAE;IAC/CxC,MAAM,EAAE4P,OAAO,CAAC;AAAE7K,MAAAA,MAAM,EAANA,MAAM;MAAE3D,GAAG,EAAE4P,IAAI,CAACP;AAAO,KAAC,CAAC,KAAKnW,WAAW,CAACE,QAAQ;AACtEjB,IAAAA,QAAQ,EAAEwW,OAAO,CAACH,OAAO,CAAC;AAAE7K,MAAAA,MAAM,EAANA,MAAM;MAAE3D,GAAG,EAAE4P,IAAI,CAACzX;AAAS,KAAC,CAAC,CAAC;AAC1DgK,IAAAA,SAAS,EAAA,CAAAoN,QAAA,GAAEf,OAAO,CAAC;AAAE7K,MAAAA,MAAM,EAANA,MAAM;MAAE3D,GAAG,EAAE4P,IAAI,CAACzN;AAAU,KAAC,CAAC,MAAA,IAAA,IAAAoN,QAAA,KAAA,MAAA,GAAAA,QAAA,GAAI,IAAI;AAC3D/W,IAAAA,UAAU,EAAVA,UAAU;AACVsX,IAAAA,aAAa,EAAExB,gBAAgB,CAAA,CAAAkB,YAAA,GAAChX,UAAU,CAAC,CAAC,CAAC,cAAAgX,YAAA,KAAA,MAAA,GAAA,MAAA,GAAbA,YAAA,CAAejB,QAAQ,CAAC;AACxDzV,IAAAA,KAAK,EAAE8K,WAAK,CAACiM,QAAQ,CAAC,IAAIhM,aAAO,CAACgM,QAAQ,CAAC,GAAG,IAAI,GAAGA,QAAQ;AAC7DlX,IAAAA,OAAO,EAAEgW,OAAO,CAACH,OAAO,CAAC;AAAE7K,MAAAA,MAAM,EAANA,MAAM;MAAE3D,GAAG,EAAE4P,IAAI,CAACjX;AAAQ,KAAC,CAAC,CAAC;AACxDsT,IAAAA,QAAQ,EAAE2D,IAAI,CAAC3D,QAAQ,GAAGuC,OAAO,CAAC;AAAE7K,MAAAA,MAAM,EAANA,MAAM;MAAE3D,GAAG,EAAE4P,IAAI,CAAC3D;KAAU,CAAC,GAAG,IAAI;AACxEpC,IAAAA,KAAK,EAAE8E,OAAO,CAACH,OAAO,CAAC;AAAE7K,MAAAA,MAAM,EAANA,MAAM;MAAE3D,GAAG,EAAE4P,IAAI,CAAC/F;AAAM,KAAC,CAAC;GACpD;AACH,CAAC;AAED,IAAMkG,WAAW,GAAG,SAAdA,WAAWA,CAAAC,MAAA,EAAA;AAAA,EAAA,IAAMtO,MAAM,GAAAsO,MAAA,CAANtO,MAAM;IAAEvJ,QAAQ,GAAA6X,MAAA,CAAR7X,QAAQ;EAAA,OAAQ;IAC7C8X,IAAI,EAAA,EAAA,CAAAvL,MAAA,CAAKmK,mBAAmB,CAACnN,MAAM,CAAC,CAACvJ,QAAQ,EAAA,QAAA,CAAQ;AACrDtB,IAAAA,KAAK,EAAEsB;GACR;AAAA,CAAC;AAEF,IAAM+X,YAAY,GAAG,SAAfA,YAAYA,CAAAC,MAAA,EAAA;AAAA,EAAA,IAAMzO,MAAM,GAAAyO,MAAA,CAANzO,MAAM;IAAES,SAAS,GAAAgO,MAAA,CAAThO,SAAS;EAAA,OAAQ;IAC/C8N,IAAI,EAAA,EAAA,CAAAvL,MAAA,CAAKmK,mBAAmB,CAACnN,MAAM,CAAC,CAACS,SAAS,EAAA,QAAA,CAAQ;AACtDtL,IAAAA,KAAK,EAAEsL;GACR;AAAA,CAAC;AAEF,IAAMiO,UAAU,GAAG,SAAbA,UAAUA,CAAAC,MAAA,EAAA;AAAA,EAAA,IAAM3O,MAAM,GAAA2O,MAAA,CAAN3O,MAAM;IAAE/I,OAAO,GAAA0X,MAAA,CAAP1X,OAAO;EAAA,OAAQ;IAC3CsX,IAAI,EAAA,EAAA,CAAAvL,MAAA,CAAKmK,mBAAmB,CAACnN,MAAM,CAAC,CAAC/I,OAAO,EAAA,QAAA,CAAQ;AACpD9B,IAAAA,KAAK,EAAE8B;GACR;AAAA,CAAC;AAEF,IAAM2X,aAAa,GAAG,SAAhBA,aAAaA,CAAAC,MAAA,EAAA;AAAA,EAAA,IAAM7O,MAAM,GAAA6O,MAAA,CAAN7O,MAAM;IAAElJ,UAAU,GAAA+X,MAAA,CAAV/X,UAAU;EAAA,OAAQ;IACjDyX,IAAI,EAAA,EAAA,CAAAvL,MAAA,CAAKmK,mBAAmB,CAACnN,MAAM,CAAC,CAAClJ,UAAU,EAAA,QAAA,CAAQ;AACvD3B,IAAAA,KAAK,EAAE2B;GACR;AAAA,CAAC;AAEF,IAAMgY,gBAAgB,GAAG,SAAnBA,gBAAgBA,CAAAC,MAAA,EAAA;AAAA,EAAA,IAAM/O,MAAM,GAAA+O,MAAA,CAAN/O,MAAM;IAAElJ,UAAU,GAAAiY,MAAA,CAAVjY,UAAU;IAAE+V,QAAQ,GAAAkC,MAAA,CAARlC,QAAQ;AAAA,EAAA,OACtD+B,aAAa,CAAC;AACZ5O,IAAAA,MAAM,EAANA,MAAM;AACNlJ,IAAAA,UAAU,EAAEA,UAAU,CAACuK,GAAG,CAAC,UAAAJ,SAAS,EAAA;MAAA,OAClC+N,WAAK,CAAC,UAAU,EAAE1D,WAAW,CAACuB,QAAQ,CAAC,EAAE5L,SAAS,CAAC;IAAA,CACrD;AACF,GAAC,CAAC;AAAA,CAAA;AAEJ,IAAMgO,QAAQ,GAAG,SAAXA,QAAQA,CAAAC,MAAA,EAAA;AAAA,EAAA,IAAMlP,MAAM,GAAAkP,MAAA,CAANlP,MAAM;IAAE5I,KAAK,GAAA8X,MAAA,CAAL9X,KAAK;EAAA,OAAQ;IACvCmX,IAAI,EAAA,EAAA,CAAAvL,MAAA,CAAKmK,mBAAmB,CAACnN,MAAM,CAAC,CAAC5I,KAAK,EAAA,QAAA,CAAQ;AAClDjC,IAAAA,KAAK,EAAEiC,KAAK,KAAA,IAAA,IAALA,KAAK,KAAA,MAAA,GAALA,KAAK,GAAI;GACjB;AAAA,CAAC;AAEF,IAAM+X,SAAS,GAAG,SAAZA,SAASA,CAAAC,MAAA,EAAA;AAAA,EAAA,IAAMpP,MAAM,GAAAoP,MAAA,CAANpP,MAAM;IAAE9C,MAAM,GAAAkS,MAAA,CAANlS,MAAM;EAAA,OAAQ;IACzCqR,IAAI,EAAA,EAAA,CAAAvL,MAAA,CAAKmK,mBAAmB,CAACnN,MAAM,CAAC,CAAC2N,MAAM,EAAA,QAAA,CAAQ;IACnDxY,KAAK,EAAE+H,MAAM,GAAG1F,WAAW,CAACC,OAAO,GAAGD,WAAW,CAACE;GACnD;AAAA,CAAC;AAEF,IAAM2X,QAAQ,GAAG,SAAXA,QAAQA,CAAAC,MAAA,EAAA;AAAA,EAAA,IAAMtP,MAAM,GAAAsP,MAAA,CAANtP,MAAM;IAAEmI,KAAK,GAAAmH,MAAA,CAALnH,KAAK;EAAA,OAAQ;IACvCoG,IAAI,EAAA,EAAA,CAAAvL,MAAA,CAAKmK,mBAAmB,CAACnN,MAAM,CAAC,CAACmI,KAAK,EAAA,QAAA,CAAQ;AAClDhT,IAAAA,KAAK,EAAEgT;GACR;AAAA,CAAC;AAEF,IAAMoH,eAAe,GAAG,SAAlBA,eAAeA,CAAAC,MAAA,EAAoC;AAAA,EAAA,IAA9BvN,MAAM,GAAAuN,MAAA,CAANvN,MAAM;IAAEvL,QAAQ,GAAA8Y,MAAA,CAAR9Y,QAAQ;IAAE2S,KAAK,GAAAmG,MAAA,CAALnG,KAAK;AAChD,EAAA,IAAMoG,IAAI,GAAGxC,OAAO,CAACH,OAAO,CAAC;AAAE7K,IAAAA,MAAM,EAANA,MAAM;AAAE3D,IAAAA,GAAG,EAAE5H;AAAS,GAAC,CAAC,CAAC;AACxD;AACA,EAAA,IAAMgZ,OAAO,GAAGD,IAAI,CAACpG,KAAK,CAAC;EAC3B,IAAMsG,QAAQ,GAAGF,IAAI,CAACG,MAAM,CAAC,UAACC,CAAC,EAAEC,CAAC,EAAA;IAAA,OAAKA,CAAC,KAAKzG,KAAK;EAAA,CAAA,CAAC;EAEnD,IAAM0G,MAAM,GAAG,CAAC;AAAExB,IAAAA,IAAI,EAAA,EAAA,CAAAvL,MAAA,CAAKtM,QAAQ,EAAA,QAAA,CAAQ;AAAEvB,IAAAA,KAAK,EAAEwa;AAAS,GAAC,CAAC;AAC/D,EAAA,IAAID,OAAO,KAAA,IAAA,IAAPA,OAAO,eAAPA,OAAO,CAAE7P,EAAE,EAAE;AAAA,IAAA,IAAAmQ,gBAAA;AACf;IACA,IAAMC,OAAO,GAAGhD,OAAO,CAAChL,MAAM,KAAA,IAAA,IAANA,MAAM,gBAAA+N,gBAAA,GAAN/N,MAAM,CAAGvL,QAAQ,CAAC,MAAA,IAAA,IAAAsZ,gBAAA,uBAAlBA,gBAAA,CAAoBC,OAAO,CAAC;IACpDF,MAAM,CAACtG,IAAI,CAAC;AACV8E,MAAAA,IAAI,EAAA,EAAA,CAAAvL,MAAA,CAAKtM,QAAQ,EAAA,UAAA,CAAU;MAC3BvB,KAAK,EAAA,EAAA,CAAA6N,MAAA,CAAA0J,kBAAA,CAAMuD,OAAO,CAAA,EAAA,CAAAnS,eAAA,CAAAA,eAAA,CAAA,EAAA,EAAO4R,OAAO,CAAA,EAAA,EAAA,EAAA;AAAEQ,QAAAA,QAAQ,EAAE;AAAI,OAAA,CAAA,CAAA;AAClD,KAAC,CAAC;AACJ,EAAA;AAEA,EAAA,OAAOH,MAAM;AACf,CAAC;AAED,IAAMI,eAAe,GAAG,SAAlBA,eAAeA,CAAAC,MAAA,EAA6B;AAAA,EAAA,IAAvBnO,MAAM,GAAAmO,MAAA,CAANnO,MAAM;IAAEvL,QAAQ,GAAA0Z,MAAA,CAAR1Z,QAAQ;AACzC,EAAA,IAAM+Y,IAAI,GAAGxC,OAAO,CAACH,OAAO,CAAC;AAAE7K,IAAAA,MAAM,EAANA,MAAM;AAAE3D,IAAAA,GAAG,EAAE5H;AAAS,GAAC,CAAC,CAAC;AACxD,EAAA,IAAMgZ,OAAO,GAAGD,IAAI,CACjBG,MAAM,CAAC,UAAA1H,IAAI,EAAA;AAAA,IAAA,OAAIA,IAAI,KAAA,IAAA,IAAJA,IAAI,KAAA,MAAA,GAAA,MAAA,GAAJA,IAAI,CAAErI,EAAE;AAAA,EAAA,CAAA,CAAC,CACxBwB,GAAG,CAAC,UAAA6G,IAAI,EAAA;AAAA,IAAA,OAAApK,eAAA,CAAAA,eAAA,CAAA,EAAA,EAAUoK,IAAI,CAAA,EAAA,EAAA,EAAA;AAAEgI,MAAAA,QAAQ,EAAE;AAAI,KAAA,CAAA;AAAA,EAAA,CAAG,CAAC;EAE7C,IAAMH,MAAM,GAAG,CAAC;AAAExB,IAAAA,IAAI,EAAA,EAAA,CAAAvL,MAAA,CAAKtM,QAAQ,EAAA,QAAA,CAAQ;AAAEvB,IAAAA,KAAK,EAAE;AAAG,GAAC,CAAC;EACzD,IAAIua,OAAO,CAAC5G,MAAM,EAAE;AAAA,IAAA,IAAAuH,iBAAA;AAClB;IACA,IAAMJ,OAAO,GAAGhD,OAAO,CAAChL,MAAM,KAAA,IAAA,IAANA,MAAM,gBAAAoO,iBAAA,GAANpO,MAAM,CAAGvL,QAAQ,CAAC,MAAA,IAAA,IAAA2Z,iBAAA,uBAAlBA,iBAAA,CAAoBJ,OAAO,CAAC;IACpDF,MAAM,CAACtG,IAAI,CAAC;AACV8E,MAAAA,IAAI,EAAA,EAAA,CAAAvL,MAAA,CAAKtM,QAAQ,EAAA,UAAA,CAAU;MAC3BvB,KAAK,EAAA,EAAA,CAAA6N,MAAA,CAAA0J,kBAAA,CAAMuD,OAAO,CAAA,EAAAvD,kBAAA,CAAKgD,OAAO,CAAA;AAChC,KAAC,CAAC;AACJ,EAAA;AAEA,EAAA,OAAOK,MAAM;AACf,CAAC;;;;ACjfD,IAAMO,YAAY,GAAG,SAAfA,YAAYA,CAAAzT,IAAA,EAUZ;AAAA,EAAA,IAAAgE,kBAAA;AAAA,EAAA,IATJ+F,IAAI,GAAA/J,IAAA,CAAJ+J,IAAI;IACJ5G,MAAM,GAAAnD,IAAA,CAANmD,MAAM;IACNiB,SAAS,GAAApE,IAAA,CAAToE,SAAS;IACToI,KAAK,GAAAxM,IAAA,CAALwM,KAAK;IACIkH,WAAW,GAAA1T,IAAA,CAApB2T,OAAO;IACSC,kBAAkB,GAAA5T,IAAA,CAAlC6T,cAAc;IACJC,YAAY,GAAA9T,IAAA,CAAtB+T,QAAQ;IAAAC,aAAA,GAAAhU,IAAA,CACRiU,QAAQ;IAARA,QAAQ,GAAAD,aAAA,KAAA,MAAA,GAAG,YAAA;AAAA,MAAA,OAAM,KAAK;AAAA,IAAA,CAAA,GAAAA,aAAA;IAAAE,cAAA,GAAAlU,IAAA,CACtBmU,SAAS;IAATA,SAAS,GAAAD,cAAA,KAAA,MAAA,GAAG,YAAA;AAAA,MAAA,OAAM,KAAK;AAAA,IAAA,CAAA,GAAAA,cAAA;AAEvB,EAAA,IAAAE,eAAA,GAAcC,2BAAc,EAAE;IAAtBtO,CAAC,GAAAqO,eAAA,CAADrO,CAAC;AACT,EAAA,IAAMuO,OAAO,GAAG9H,KAAK,KAAK,CAAC;EAC3B,IAAM+H,QAAQ,GAAG,CAAC,EAACnQ,SAAS,aAATA,SAAS,KAAA,MAAA,IAATA,SAAS,CAAEH,KAAK,CAAA;EACnC,IAAMuQ,OAAO,GAAG,CAAC,EAACpQ,SAAS,aAATA,SAAS,KAAA,MAAA,IAATA,SAAS,CAAEpC,IAAI,CAAA;EACjC,IAAM8B,cAAc,GAAG,CAAC,CAAAX,MAAM,aAANA,MAAM,KAAA,MAAA,IAAA,CAAAa,kBAAA,GAANb,MAAM,CAAElJ,UAAU,MAAA,IAAA,IAAA+J,kBAAA,KAAA,MAAA,GAAA,MAAA,GAAlBA,kBAAA,CAAoB9J,MAAM,KAAI,EAAE,EAAEkJ,IAAI,CAC5D,UAAAa,KAAK,EAAA;AAAA,IAAA,IAAAwQ,YAAA;IAAA,OAAI,CAAA,CAAAA,YAAA,GAACxQ,KAAK,CAAC3L,KAAK,MAAA,IAAA,IAAAmc,YAAA,KAAA,MAAA,GAAAA,YAAA,GAAIxQ,KAAK,CAACjB,EAAE,OAAMoB,SAAS,aAATA,SAAS,KAAA,MAAA,GAAA,MAAA,GAATA,SAAS,CAAEH,KAAK,CAAA;AAAA,EAAA,CACzD,CAAC;AAED,EAAA,IAAMyQ,mBAAmB,GACvB,CAAA5Q,cAAc,aAAdA,cAAc,KAAA,MAAA,GAAA,MAAA,GAAdA,cAAc,CAAE4Q,mBAAmB,KACnC3O,CAAC,CAAC,mCAAmC,CAAC;EACxC,IAAMzN,KAAK,GAAGuM,mBAAmB,CAAC;AAAE1B,IAAAA,MAAM,EAANA,MAAM;AAAEiB,IAAAA,SAAS,EAATA;AAAU,GAAC,CAAC;EACxD,IAAMuQ,UAAU,GAAGjQ,mBAAmB,CAAC;AAAEvB,IAAAA,MAAM,EAANA,MAAM;AAAEiB,IAAAA,SAAS,EAATA;AAAU,GAAC,CAAC;AAC7D,EAAA,IAAAwQ,iBAAA,GAAyC5W,gBAAgB,EAAE;IAAnDK,QAAQ,GAAAuW,iBAAA,CAARvW,QAAQ;IAAEE,kBAAkB,GAAAqW,iBAAA,CAAlBrW,kBAAkB;AAEpC,EAAA,oBACEsW,eAAA,CAAA,KAAA,EAAA;AAAKpU,IAAAA,SAAS,EAAEY,UAAU,CAAC,QAAQ,EAAE;AAAEhD,MAAAA,QAAQ,EAARA;AAAS,KAAC,CAAE;AAAA4B,IAAAA,QAAA,gBACjD4U,eAAA,CAAA,KAAA,EAAA;AAAKpU,MAAAA,SAAS,EAAC,aAAa;MAAAR,QAAA,EAAA,CACzBqU,OAAO,gBACNtT,cAAA,CAAA,MAAA,EAAA;AAAMP,QAAAA,SAAS,EAAC,UAAU;AAAAR,QAAAA,QAAA,EACvBmK,gBAAgB,CAACjH,MAAM,CAAC,GACrB4C,CAAC,CAAC,0BAA0B,CAAC,GAC7BA,CAAC,CAAC,wBAAwB;AAAC,OAC3B,CAAC,gBAEP/E,cAAA,CAACjB,KAAK,EAAA;QACJM,MAAM,EAAE4T,QAAQ,CAAC;UAAEnE,IAAI,EAAE1T,eAAe,CAACO,cAAc;AAAE6P,UAAAA,KAAK,EAALA;AAAM,SAAC,CAAE;AAClE/L,QAAAA,SAAS,EAAC,kBAAkB;AAC5BC,QAAAA,UAAU,EAAA,iBAAA,CAAAyF,MAAA,CAAoBqG,KAAK,CAAG;QACtChM,OAAO,EACLkT,WAAW,IACV,YAAA;AAAA,UAAA,OACCA,WAAW,CAAC;YAAE5D,IAAI,EAAE1T,eAAe,CAACO,cAAc;AAAE6P,YAAAA,KAAK,EAALA;AAAM,WAAC,CAAC;QAAA,CAC/D;AAAAvM,QAAAA,QAAA,EAEA8J,IAAI,CAACwH,aAAa,KAAKtW,cAAc,CAACE,EAAE,GACrC4K,CAAC,CAAC,yBAAyB,CAAC,GAC5BA,CAAC,CAAC,0BAA0B;AAAC,OAC5B,CACR,EACAwO,QAAQ,gBACPM,eAAA,CAAAC,mBAAA,EAAA;QAAA7U,QAAA,EAAA,cACEe,cAAA,CAACjB,KAAK,EAAA;UACJM,MAAM,EAAE4T,QAAQ,CAAC;YAAEnE,IAAI,EAAE1T,eAAe,CAACK,UAAU;AAAE+P,YAAAA,KAAK,EAALA;AAAM,WAAC,CAAE;AAC9D9L,UAAAA,UAAU,EAAA,aAAA,CAAAyF,MAAA,CAAgBqG,KAAK,CAAG;UAClChM,OAAO,EACLkT,WAAW,IACV,YAAA;AAAA,YAAA,OAAMA,WAAW,CAAC;cAAE5D,IAAI,EAAE1T,eAAe,CAACK,UAAU;AAAE+P,cAAAA,KAAK,EAALA;AAAM,aAAC,CAAC;UAAA,CAChE;UAAAvM,QAAA,EAEAiE,mBAAmB,CAAC;AAAEf,YAAAA,MAAM,EAANA,MAAM;AAAEiB,YAAAA,SAAS,EAATA;WAAW;AAAC,SACtC,CAAC,eACRpD,cAAA,CAACjB,KAAK,EAAA;UACJM,MAAM,EAAE4T,QAAQ,CAAC;YAAEnE,IAAI,EAAE1T,eAAe,CAACM,cAAc;AAAE8P,YAAAA,KAAK,EAALA;AAAM,WAAC,CAAE;AAClE9L,UAAAA,UAAU,EAAA,UAAA,CAAAyF,MAAA,CAAaqG,KAAK,CAAG;UAC/BrM,KAAK,EAAEqU,OAAO,GAAG7V,WAAW,CAACC,MAAM,GAAGD,WAAW,CAACE,KAAM;UACxD0B,OAAO,EAAE4T,SAAS,CAAC;YACjBrE,IAAI,EAAE1T,eAAe,CAACM,cAAc;AACpC8P,YAAAA,KAAK,EAALA;AACF,WAAC,CAAE;UACHhM,OAAO,EACLkT,WAAW,IACV,YAAA;AAAA,YAAA,OACCA,WAAW,CAAC;cAAE5D,IAAI,EAAE1T,eAAe,CAACM,cAAc;AAAE8P,cAAAA,KAAK,EAALA;AAAM,aAAC,CAAC;UAAA,CAC/D;AAAAvM,UAAAA,QAAA,EAEAuU,OAAO,GACJnS,UAAU,CAACgC,aAAa,CAAC;AAAElB,YAAAA,MAAM,EAANA,MAAM;AAAEiB,YAAAA,SAAS,EAATA;WAAW,CAAC,CAAC,GAChDsQ;SACC,CAAC,EACPF,OAAO,IAAIG,UAAU,iBACpB3T,cAAA,CAACjB,KAAK,EAAA;UACJM,MAAM,EAAE4T,QAAQ,CAAC;YAAEnE,IAAI,EAAE1T,eAAe,CAACQ,WAAW;AAAE4P,YAAAA,KAAK,EAALA;AAAM,WAAC,CAAE;AAC/D9L,UAAAA,UAAU,EAAA,cAAA,CAAAyF,MAAA,CAAiBqG,KAAK,CAAG;UACnCrM,KAAK,EAAE7H,KAAK,GAAGqG,WAAW,CAACC,MAAM,GAAGD,WAAW,CAACE,KAAM;UACtD0B,OAAO,EAAE4T,SAAS,CAAC;YACjBrE,IAAI,EAAE1T,eAAe,CAACQ,WAAW;AACjC4P,YAAAA,KAAK,EAALA;AACF,WAAC,CAAE;UACHhM,OAAO,EACLkT,WAAW,IACV,YAAA;AAAA,YAAA,OACCA,WAAW,CAAC;cAAE5D,IAAI,EAAE1T,eAAe,CAACQ,WAAW;AAAE4P,cAAAA,KAAK,EAALA;AAAM,aAAC,CAAC;UAAA,CAC5D;AAAAvM,UAAAA,QAAA,EAEA3H,KAAK,IAAIyN,CAAC,CAAC,0BAA0B;AAAC,SAClC,CACR;AAAA,OACD,CAAC,gBAEH/E,cAAA,CAACjB,KAAK,EAAA;QACJM,MAAM,EAAE4T,QAAQ,CAAC;UAAEnE,IAAI,EAAE1T,eAAe,CAACK,UAAU;AAAE+P,UAAAA,KAAK,EAALA;AAAM,SAAC,CAAE;AAC9D9L,QAAAA,UAAU,EAAA,aAAA,CAAAyF,MAAA,CAAgBqG,KAAK,CAAG;QAClCjM,OAAO,EAAE4T,SAAS,CAAC;UAAErE,IAAI,EAAE1T,eAAe,CAACK,UAAU;AAAE+P,UAAAA,KAAK,EAALA;AAAM,SAAC,CAAE;QAChErM,KAAK,EAAExB,WAAW,CAACI,gBAAiB;QACpCyB,OAAO,EACLkT,WAAW,IACV,YAAA;AAAA,UAAA,OAAMA,WAAW,CAAC;YAAE5D,IAAI,EAAE1T,eAAe,CAACK,UAAU;AAAE+P,YAAAA,KAAK,EAALA;AAAM,WAAC,CAAC;QAAA,CAChE;QAAAvM,QAAA,EAEA8F,CAAC,CAAC,oCAAoC;AAAC,OACnC,CACR;KACE,CAAC,eACN8O,eAAA,CAAA,KAAA,EAAA;AAAKpU,MAAAA,SAAS,EAAC,gBAAgB;AAAAR,MAAAA,QAAA,EAAA,CAC5B2T,kBAAkB,iBACjB5S,cAAA,CAAC+T,iBAAM,EAAA;QACL,aAAA,EAAA,WAAA,CAAA5O,MAAA,CAAyBqG,KAAK,CAAG;AACjC3D,QAAAA,IAAI,EAAEmM,IAAK;AACXC,QAAAA,IAAI,EAAC,IAAI;AACTC,QAAAA,OAAO,EAAC,OAAO;AACfC,QAAAA,YAAY,EAAE;AACZC,UAAAA,OAAO,EAAErP,CAAC,CAAC,6CAA6C,CAAC;AACzDsP,UAAAA,QAAQ,EAAE;SACV;AACF7U,QAAAA,OAAO,EAAEoT;OACV,CACF,EACAE,YAAY,iBACX9S,cAAA,CAAC+T,iBAAM,EAAA9T,eAAA,CAAA;QACL,aAAA,EAAA,cAAA,CAAAkF,MAAA,CAA4BqG,KAAK,CAAG;AACpC3D,QAAAA,IAAI,EAAEyM,MAAO;AACbL,QAAAA,IAAI,EAAC,IAAI;AACTC,QAAAA,OAAO,EAAC,OAAO;AACfC,QAAAA,YAAY,EAAE;AACZC,UAAAA,OAAO,EAAErP,CAAC,CAAC,yCAAyC,CAAC;AACrDsP,UAAAA,QAAQ,EAAE;SACV;AACF7U,QAAAA,OAAO,EAAEsT;OAAa,EAClBvV,kBAAkB,CACvB,CACF;AAAA,KACE,CAAC;AAAA,GACH,CAAC;AAEV,CAAC;;AClKD,IAAMgX,SAAS,GAAG,SAAZA,SAASA,CAAAvV,IAAA,EAAA;AAAA,EAAA,IAAAI,WAAA,GAAAJ,IAAA,CAAMK,MAAM;AAANA,IAAAA,MAAM,GAAAD,WAAA,KAAA,MAAA,GAAG,KAAK,GAAAA,WAAA;AAAA,EAAA,oBACjCY,cAAA,CAAA,KAAA,EAAA;IAAK,aAAA,EAAA,IAAW;AAACP,IAAAA,SAAS,EAAEY,UAAU,CAAC,UAAU,EAAE;AAAE,MAAA,WAAW,EAAEhB;AAAO,KAAC,CAAE;AAAAJ,IAAAA,QAAA,eAC1Ee,cAAA,CAAA,KAAA,EAAA;AAAKwU,MAAAA,IAAI,EAAC,MAAM;AAACC,MAAAA,MAAM,EAAC,IAAI;AAACC,MAAAA,OAAO,EAAC,WAAW;AAACC,MAAAA,KAAK,EAAC,IAAI;AAAA1V,MAAAA,QAAA,eACzDe,cAAA,CAAA,MAAA,EAAA;AACE4U,QAAAA,CAAC,EAAC,4BAA4B;AAC9BC,QAAAA,MAAM,EAAC,cAAc;AACrBC,QAAAA,aAAa,EAAC,OAAO;AACrBC,QAAAA,cAAc,EAAC,OAAO;AACtBC,QAAAA,WAAW,EAAC;OACb;KACE;AAAC,GACH,CAAC;AAAA,CACP;;;;ACHD,IAAMC,QAAQ,GAAG,SAAXA,QAAQA,CAAAjW,IAAA,EAMR;AAAA,EAAA,IALJ+J,IAAI,GAAA/J,IAAA,CAAJ+J,IAAI;IACK2J,WAAW,GAAA1T,IAAA,CAApB2T,OAAO;IACGG,YAAY,GAAA9T,IAAA,CAAtB+T,QAAQ;IAAAC,aAAA,GAAAhU,IAAA,CACRiU,QAAQ;IAARA,QAAQ,GAAAD,aAAA,KAAA,MAAA,GAAG,YAAA;AAAA,MAAA,OAAM,KAAK;AAAA,IAAA,CAAA,GAAAA,aAAA;IAAAE,cAAA,GAAAlU,IAAA,CACtBmU,SAAS;IAATA,SAAS,GAAAD,cAAA,KAAA,MAAA,GAAG,YAAA;AAAA,MAAA,OAAM,KAAK;AAAA,IAAA,CAAA,GAAAA,cAAA;AAEvB,EAAA,IAAAE,eAAA,GAAcC,2BAAc,EAAE;IAAtBtO,CAAC,GAAAqO,eAAA,CAADrO,CAAC;AACT,EAAA,IAAQxL,KAAK,GAAKwP,IAAI,CAAdxP,KAAK;AACb,EAAA,IAAAqa,iBAAA,GAAyC5W,gBAAgB,EAAE;IAAnDK,QAAQ,GAAAuW,iBAAA,CAARvW,QAAQ;IAAEE,kBAAkB,GAAAqW,iBAAA,CAAlBrW,kBAAkB;AACpC,EAAA,IAAI,CAAChE,KAAK,EAAE,OAAO,IAAI;AAEvB,EAAA,IAAMlC,KAAK,GAAG,CAACkC,KAAK,CAACjC,KAAK,EAAEiC,KAAK,CAAC6S,IAAI,CAAC,CACpC2F,MAAM,CAAC,UAAAmD,IAAI,EAAA;IAAA,OAAIA,IAAI,KAAK,EAAE,IAAI,CAAC7Q,WAAK,CAAC6Q,IAAI,CAAC;AAAA,EAAA,CAAA,CAAC,CAC3ChQ,IAAI,CAAC,GAAG,CAAC;AAEZ,EAAA,oBACE2O,eAAA,CAAA,KAAA,EAAA;AAAKpU,IAAAA,SAAS,EAAEY,UAAU,CAAC,QAAQ,EAAE;AAAEhD,MAAAA,QAAQ,EAARA;AAAS,KAAC,CAAE;AAAA4B,IAAAA,QAAA,gBACjD4U,eAAA,CAAA,KAAA,EAAA;AAAKpU,MAAAA,SAAS,EAAC,aAAa;AAAAR,MAAAA,QAAA,gBAC1Be,cAAA,CAAA,MAAA,EAAA;AAAMP,QAAAA,SAAS,EAAC,UAAU;QAAAR,QAAA,EACvB8F,CAAC,CAAC,kCAAkC;AAAC,OAClC,CAAC,eACP/E,cAAA,CAACjB,KAAK,EAAA;AACJW,QAAAA,UAAU,EAAC,YAAY;QACvBP,KAAK,EAAE9H,KAAK,GAAGsG,WAAW,CAACC,MAAM,GAAGD,WAAW,CAACE,KAAM;QACtDwB,MAAM,EAAE4T,QAAQ,CAAC;UACfnE,IAAI,EAAE1T,eAAe,CAACW,UAAU;AAChCyP,UAAAA,KAAK,EAAErL;AACT,SAAC,CAAE;QACHZ,OAAO,EAAE4T,SAAS,CAAC;UACjBrE,IAAI,EAAE1T,eAAe,CAACW,UAAU;AAChCyP,UAAAA,KAAK,EAAErL;AACT,SAAC,CAAE;QACHX,OAAO,EACLkT,WAAW,IACV,YAAA;AAAA,UAAA,OAAMA,WAAW,CAAC;YAAE5D,IAAI,EAAE1T,eAAe,CAACW;AAAW,WAAC,CAAC;QAAA,CACzD;AAAAkD,QAAAA,QAAA,EAEA5H,KAAK,IAAI0N,CAAC,CAAC,6BAA6B;AAAC,OACrC,CAAC;AAAA,KACL,CAAC,EACL+N,YAAY,iBACX9S,cAAA,CAAA,KAAA,EAAA;AAAKP,MAAAA,SAAS,EAAC,gBAAgB;AAAAR,MAAAA,QAAA,eAC7Be,cAAA,CAAC+T,iBAAM,EAAA9T,eAAA,CAAA;AACL,QAAA,aAAA,EAAY,mBAAmB;AAC/B4H,QAAAA,IAAI,EAAEyM,MAAO;AACbL,QAAAA,IAAI,EAAC,IAAI;AACTC,QAAAA,OAAO,EAAC,OAAO;AACfC,QAAAA,YAAY,EAAE;AACZC,UAAAA,OAAO,EAAErP,CAAC,CAAC,qCAAqC,CAAC;AACjDsP,UAAAA,QAAQ,EAAE;SACV;AACF7U,QAAAA,OAAO,EAAEsT;AAAa,OAAA,EAClBvV,kBAAkB,CACvB;AAAC,KACC,CACN;AAAA,GACE,CAAC;AAEV,CAAC;;ACjED,IAAM4X,SAAS,GAAG,SAAZA,SAASA,CAAAnW,IAAA,EAMT;AAAA,EAAA,IALJ+J,IAAI,GAAA/J,IAAA,CAAJ+J,IAAI;IAAAqM,aAAA,GAAApW,IAAA,CACJqW,QAAQ;AAARA,IAAAA,QAAQ,GAAAD,aAAA,KAAA,MAAA,GAAG,IAAI,GAAAA,aAAA;IAAAlC,cAAA,GAAAlU,IAAA,CACfmU,SAAS;AAATA,IAAAA,SAAS,GAAAD,cAAA,KAAA,MAAA,GAAG,KAAK,GAAAA,cAAA;IACLoC,cAAc,GAAAtW,IAAA,CAA1BuW,UAAU;IACMC,kBAAkB,GAAAxW,IAAA,CAAlCyW,cAAc;AAEd,EAAA,IAAArC,eAAA,GAAcC,2BAAc,EAAE;IAAtBtO,CAAC,GAAAqO,eAAA,CAADrO,CAAC;AAET,EAAA,IAAM2Q,OAAO,GAAGzX,cAAc,CAACkV,SAAS,CAAC;AAEzC,EAAA,oBACEU,eAAA,CAAA,KAAA,EAAA;AAAKpU,IAAAA,SAAS,EAAC,SAAS;IAAAR,QAAA,EAAA,CACrBoW,QAAQ,iBACPxB,eAAA,CAAA,KAAA,EAAA;AAAKpU,MAAAA,SAAS,EAAC,eAAe;AAAAR,MAAAA,QAAA,gBAC5Be,cAAA,CAAA,MAAA,EAAA;AAAMP,QAAAA,SAAS,EAAC,eAAe;QAAAR,QAAA,EAC5B8F,CAAC,CAAC,mCAAmC;OAClC,CAAC,eACP8O,eAAA,CAAA,KAAA,EAAA;AACE,QAAA,aAAA,EAAY,gBAAgB;AAC5B1V,QAAAA,GAAG,EAAEuX,OAAQ;AACbxV,QAAAA,IAAI,EAAEoV,cAAc,GAAG,QAAQ,GAAGnV,SAAU;AAC5CC,QAAAA,QAAQ,EAAEkV,cAAc,GAAG,CAAC,GAAGnV,SAAU;AACzCV,QAAAA,SAAS,EAAEY,UAAU,CAAC,oBAAoB,EAAE;AAC1C,UAAA,iBAAiB,EAAE8S;AACrB,SAAC,CAAE;AACH3T,QAAAA,OAAO,EAAE8V,cAAe;AAAArW,QAAAA,QAAA,gBAExBe,cAAA,CAAA,MAAA,EAAA;AAAMP,UAAAA,SAAS,EAAC,sBAAsB;AAAC,UAAA,aAAA,EAAY,WAAW;UAAAR,QAAA,EAC3D8J,IAAI,CAAClH;SACF,CAAC,eACP7B,cAAA,CAAA,MAAA,EAAA;UAAM,aAAA,EAAA,IAAW;AAACP,UAAAA,SAAS,EAAC,cAAc;AAAAR,UAAAA,QAAA,eACxCe,cAAA,CAAA,KAAA,EAAA;AAAKwU,YAAAA,IAAI,EAAC,MAAM;AAACC,YAAAA,MAAM,EAAC,IAAI;AAACC,YAAAA,OAAO,EAAC,WAAW;AAACC,YAAAA,KAAK,EAAC,IAAI;AAAA1V,YAAAA,QAAA,eACzDe,cAAA,CAAA,MAAA,EAAA;AACE4U,cAAAA,CAAC,EAAC,qDAAqD;AACvDC,cAAAA,MAAM,EAAC,cAAc;AACrBC,cAAAA,aAAa,EAAC,OAAO;AACrBC,cAAAA,cAAc,EAAC,OAAO;AACtBC,cAAAA,WAAW,EAAC;aACb;WACE;AAAC,SACF,CAAC;AAAA,OACJ,CAAC;KACH,CACN,eACDnB,eAAA,CAAA,OAAA,EAAA;AAAOpU,MAAAA,SAAS,EAAC,gBAAgB;AAAC,MAAA,aAAA,EAAY,mBAAmB;AAAAR,MAAAA,QAAA,gBAC/De,cAAA,CAAA,OAAA,EAAA;QACE2V,OAAO,EAAE5M,IAAI,CAAC1J,MAAO;AACrB,QAAA,aAAA,EAAY,sBAAsB;QAClCuW,QAAQ,EAAE,CAACJ,kBAAmB;AAC9B1G,QAAAA,IAAI,EAAC,UAAU;QACf+G,QAAQ,EAAEL,kBAAkB,IAAIrV;OACjC,CAAC,eACFH,cAAA,CAAA,MAAA,EAAA;QAAM,aAAA,EAAA,IAAW;AAACP,QAAAA,SAAS,EAAC,aAAa;AAAAR,QAAAA,QAAA,eACvCe,cAAA,CAAA,KAAA,EAAA;AAAKwU,UAAAA,IAAI,EAAC,MAAM;AAACC,UAAAA,MAAM,EAAC,IAAI;AAACC,UAAAA,OAAO,EAAC,WAAW;AAACC,UAAAA,KAAK,EAAC,IAAI;AAAA1V,UAAAA,QAAA,eACzDe,cAAA,CAAA,MAAA,EAAA;AAAM4U,YAAAA,CAAC,EAAC;WAAuB;SAC5B;AAAC,OACF,CAAC,EACN7P,CAAC,CAAC,2CAA2C,CAAC;AAAA,KAC1C,CAAC;AAAA,GACL,CAAC;AAEV,CAAC;;;;ACvDD,IAAM+Q,SAAS,GAAG,SAAZA,SAASA,CAAGzL,IAAI,EAAA;AAAA,EAAA,OACpB,CAAAA,IAAI,KAAA,IAAA,IAAJA,IAAI,uBAAJA,IAAI,CAAEhT,KAAK,MAAIgT,IAAI,KAAA,IAAA,IAAJA,IAAI,KAAA,MAAA,GAAA,MAAA,GAAJA,IAAI,CAAExI,IAAI,CAAA,KAAIwI,IAAI,KAAA,IAAA,IAAJA,IAAI,KAAA,MAAA,GAAA,MAAA,GAAJA,IAAI,CAAE/S,KAAK,CAAA,IAAIsJ,MAAM,CAACyJ,IAAI,aAAJA,IAAI,KAAA,MAAA,GAAJA,IAAI,GAAI,EAAE,CAAC;AAAA,CAAA;AAEhE,IAAM0L,UAAU,GAAG,SAAbA,UAAUA,CAAA/W,IAAA,EAOV;AAAA,EAAA,IAAAoL,aAAA,EAAAyF,cAAA,EAAAmG,qBAAA;AAAA,EAAA,IANJjN,IAAI,GAAA/J,IAAA,CAAJ+J,IAAI;IACJ5G,MAAM,GAAAnD,IAAA,CAANmD,MAAM;IACGuQ,WAAW,GAAA1T,IAAA,CAApB2T,OAAO;IACQsD,iBAAiB,GAAAjX,IAAA,CAAhCkX,aAAa;IAAAlD,aAAA,GAAAhU,IAAA,CACbiU,QAAQ;IAARA,QAAQ,GAAAD,aAAA,KAAA,MAAA,GAAG,YAAA;AAAA,MAAA,OAAM,KAAK;AAAA,IAAA,CAAA,GAAAA,aAAA;IAAAE,cAAA,GAAAlU,IAAA,CACtBmU,SAAS;IAATA,SAAS,GAAAD,cAAA,KAAA,MAAA,GAAG,YAAA;AAAA,MAAA,OAAM,KAAK;AAAA,IAAA,CAAA,GAAAA,cAAA;AAEvB,EAAA,IAAAE,eAAA,GAAcC,2BAAc,EAAE;IAAtBtO,CAAC,GAAAqO,eAAA,CAADrO,CAAC;AACT,EAAA,IAAMuF,KAAK,GAAGvB,IAAI,CAACuB,KAAK,IAAI,EAAE;EAC9B,IAAM6L,WAAW,GACf,CAAAhU,MAAM,aAANA,MAAM,KAAA,MAAA,IAAA,CAAAiI,aAAA,GAANjI,MAAM,CAAEmI,KAAK,MAAA,IAAA,IAAAF,aAAA,uBAAbA,aAAA,CAAe+L,WAAW,KAAIpR,CAAC,CAAC,sCAAsC,CAAC;AACzE,EAAA,IAAMsG,aAAa,GAAG,CAAC,EAAClJ,MAAM,KAAA,IAAA,IAANA,MAAM,KAAA,MAAA,IAAA,CAAA0N,cAAA,GAAN1N,MAAM,CAAEmI,KAAK,MAAA,IAAA,IAAAuF,cAAA,KAAA,MAAA,IAAA,CAAAmG,qBAAA,GAAbnG,cAAA,CAAexE,aAAa,MAAA,IAAA,IAAA2K,qBAAA,KAAA,MAAA,IAA5BA,qBAAA,CAAAtX,IAAA,CAAAmR,cAAA,EAA+B9G,IAAI,CAAC3P,OAAO,IAAI,EAAE,CAAC,CAAA;AAE1E,EAAA,IAAIkL,aAAO,CAACgG,KAAK,CAAC,EAAE;AAClB,IAAA,oBACEtK,cAAA,CAAA,KAAA,EAAA;AAAKP,MAAAA,SAAS,EAAC,QAAQ;AAAAR,MAAAA,QAAA,eACrBe,cAAA,CAAA,KAAA,EAAA;AAAKP,QAAAA,SAAS,EAAC,aAAa;QAAAR,QAAA,eAC1Be,cAAA,CAACjB,KAAK,EAAA;UACJM,MAAM,EAAE4T,QAAQ,CAAC;YAAEnE,IAAI,EAAE1T,eAAe,CAACF,KAAK;AAAEsQ,YAAAA,KAAK,EAAErL;AAAU,WAAC,CAAE;AACpET,UAAAA,UAAU,EAAC,WAAW;UACtBP,KAAK,EAAExB,WAAW,CAACI,gBAAiB;UACpCyB,OAAO,EACLkT,WAAW,IACV,YAAA;AAAA,YAAA,OAAMA,WAAW,CAAC;cAAE5D,IAAI,EAAE1T,eAAe,CAACF;AAAM,aAAC,CAAC;UAAA,CACpD;AAAA+D,UAAAA,QAAA,EAEAkX;SACI;OACJ;AAAC,KACH,CAAC;AAEV,EAAA;AAEA,EAAA,OAAO7L,KAAK,CAAC9G,GAAG,CAAC,UAAC6G,IAAI,EAAEmB,KAAK,EAAA;AAAA,IAAA,IAAArB,WAAA;IAAA,oBAC3BiM,mBAAA,CAACC,QAAQ,EAAA;AACD7K,MAAAA,KAAK,EAALA,KAAK;AAAEyH,MAAAA,QAAQ,EAARA,QAAQ;AAAEE,MAAAA,SAAS,EAATA,SAAS;AAAE9I,MAAAA,IAAI,EAAJA,IAAI;AAAEgB,MAAAA,aAAa,EAAbA,aAAa;AAAElJ,MAAAA,MAAM,EAANA,MAAM;AAC7DmU,MAAAA,MAAM,EAAE9K,KAAK,KAAKlB,KAAK,CAACW,MAAM,GAAG,CAAE;AACnCxK,MAAAA,GAAG,EAAE,CAAA,CAAA0J,WAAA,GAACE,IAAI,KAAA,IAAA,IAAJA,IAAI,KAAA,MAAA,GAAA,MAAA,GAAJA,IAAI,CAAE/S,KAAK,cAAA6S,WAAA,KAAA,MAAA,GAAAA,WAAA,GAAIE,IAAI,KAAKmB,KAAM;AACpC0K,MAAAA,aAAa,EAAED,iBAAkB;AACjCtD,MAAAA,OAAO,EAAED;AAAY,KACtB,CAAC;AAAA,EAAA,CACH,CAAC;AACJ,CAAC;AAED,IAAM2D,QAAQ,GAAG,SAAXA,QAAQA,CAAA/T,KAAA,EAUR;AAAA,EAAA,IAAAiU,cAAA,EAAAC,cAAA,EAAAC,cAAA;AAAA,EAAA,IATJtU,MAAM,GAAAG,KAAA,CAANH,MAAM;IACNkI,IAAI,GAAA/H,KAAA,CAAJ+H,IAAI;IACJmB,KAAK,GAAAlJ,KAAA,CAALkJ,KAAK;IACIkH,WAAW,GAAApQ,KAAA,CAApBqQ,OAAO;IACQsD,iBAAiB,GAAA3T,KAAA,CAAhC4T,aAAa;IACbjD,QAAQ,GAAA3Q,KAAA,CAAR2Q,QAAQ;IACRE,SAAS,GAAA7Q,KAAA,CAAT6Q,SAAS;IACTmD,MAAM,GAAAhU,KAAA,CAANgU,MAAM;IACNjL,aAAa,GAAA/I,KAAA,CAAb+I,aAAa;AAEb,EAAA,IAAAqL,gBAAA,GAAcrD,2BAAc,EAAE;IAAtBtO,CAAC,GAAA2R,gBAAA,CAAD3R,CAAC;AACT,EAAA,IAAA6O,iBAAA,GAAyC5W,gBAAgB,EAAE;IAAnDK,QAAQ,GAAAuW,iBAAA,CAARvW,QAAQ;IAAEE,kBAAkB,GAAAqW,iBAAA,CAAlBrW,kBAAkB;EACpC,IAAMoZ,IAAI,GAAG,CAAAxU,MAAM,aAANA,MAAM,KAAA,MAAA,IAAA,CAAAoU,cAAA,GAANpU,MAAM,CAAEmI,KAAK,MAAA,IAAA,IAAAiM,cAAA,uBAAbA,cAAA,CAAeI,IAAI,KAAI5R,CAAC,CAAC,+BAA+B,CAAC;AACtE,EAAA,IAAM6R,OAAO,GAAGd,SAAS,CAACzL,IAAI,CAAC;AAC/B,EAAA,IAAMQ,WAAW,GAAGQ,aAAa,GAAGb,gBAAgB,CAAC;AAAEH,IAAAA,IAAI,EAAJA,IAAI;AAAElI,IAAAA,MAAM,EAANA;GAAQ,CAAC,GAAG,IAAI;AAC7E,EAAA,IAAM0U,mBAAmB,GAAG,CAAC,CAAAhM,WAAW,KAAA,IAAA,IAAXA,WAAW,KAAA,MAAA,GAAA,MAAA,GAAXA,WAAW,CAAEI,MAAM,KAAI,CAAC,IAAI,CAAC;EAC1D,IAAM6L,qBAAqB,GACzB,CAAAjM,WAAW,aAAXA,WAAW,KAAA,MAAA,GAAA,MAAA,GAAXA,WAAW,CAAEI,MAAM,MAAK,CAAC,GAAGJ,WAAW,CAAC,CAAC,CAAC,CAACxT,KAAK,GAAG,IAAI;EAEzD,IAAM0f,kBAAkB,GAAGlM,WAAW,KAAA,IAAA,IAAXA,WAAW,KAAA,MAAA,GAAA,MAAA,GAAXA,WAAW,CAAEzI,IAAI,CAC1C,UAAAa,KAAK,EAAA;IAAA,OAAIA,KAAK,CAAC3L,KAAK,MAAK+S,IAAI,aAAJA,IAAI,KAAA,MAAA,GAAA,MAAA,GAAJA,IAAI,CAAEW,UAAU,CAAA;AAAA,EAAA,CAC3C,CAAC;AAED,EAAA,IAAMgM,UAAU,GACdtV,OAAO,CAACS,MAAM,KAAA,IAAA,IAANA,MAAM,KAAA,MAAA,IAAA,CAAAqU,cAAA,GAANrU,MAAM,CAAEmI,KAAK,MAAA,IAAA,IAAAkM,cAAA,uBAAbA,cAAA,CAAeQ,UAAU,EAAE;AAAEJ,IAAAA,OAAO,EAAPA;AAAQ,GAAC,CAAC,IAC/C7R,CAAC,CAAC,gCAAgC,CAAC;AAErC,EAAA,IAAMkS,qBAAqB,GACzBvV,OAAO,CAACS,MAAM,KAAA,IAAA,IAANA,MAAM,KAAA,MAAA,IAAA,CAAAsU,cAAA,GAANtU,MAAM,CAAEmI,KAAK,MAAA,IAAA,IAAAmM,cAAA,uBAAbA,cAAA,CAAeQ,qBAAqB,EAAE;AAAEL,IAAAA,OAAO,EAAPA;AAAQ,GAAC,CAAC,IAC1D7R,CAAC,CAAC,qCAAqC,CAAC;AAE1C,EAAA,oBACE8O,eAAA,CAAA,KAAA,EAAA;AAAKpU,IAAAA,SAAS,EAAEY,UAAU,CAAC,QAAQ,EAAE;AAAEhD,MAAAA,QAAQ,EAARA;AAAS,KAAC,CAAE;AAAA4B,IAAAA,QAAA,gBACjD4U,eAAA,CAAA,KAAA,EAAA;AAAKpU,MAAAA,SAAS,EAAC,aAAa;AAAAR,MAAAA,QAAA,gBAC1Be,cAAA,CAAA,MAAA,EAAA;AAAMP,QAAAA,SAAS,EAAC,UAAU;AAAAR,QAAAA,QAAA,EAAE0X;AAAI,OAAO,CAAC,eACxC3W,cAAA,CAACjB,KAAK,EAAA;QACJM,MAAM,EAAE4T,QAAQ,CAAC;UAAEnE,IAAI,EAAE1T,eAAe,CAACF,KAAK;AAAEsQ,UAAAA,KAAK,EAAErL;AAAU,SAAC,CAAE;AACpET,QAAAA,UAAU,EAAA,QAAA,CAAAyF,MAAA,CAAWqG,KAAK,CAAG;QAC7BjM,OAAO,EAAE4T,SAAS,CAAC;UAAErE,IAAI,EAAE1T,eAAe,CAACF,KAAK;AAAEsQ,UAAAA,KAAK,EAALA;AAAM,SAAC,CAAE;QAC3DhM,OAAO,EACLkT,WAAW,IAAK,YAAA;AAAA,UAAA,OAAMA,WAAW,CAAC;YAAE5D,IAAI,EAAE1T,eAAe,CAACF;AAAM,WAAC,CAAC;QAAA,CACnE;AAAA+D,QAAAA,QAAA,EAEA2X;AAAO,OACH,CAAC,EACPE,qBAAqB,iBACpBjD,eAAA,CAAA,MAAA,EAAA;AAAMpU,QAAAA,SAAS,EAAC,UAAU;AAAAR,QAAAA,QAAA,EAAA,CACvB+X,UAAU,EAAC,GAAC,EAACF,qBAAqB;AAAA,OAC/B,CACP,EACAD,mBAAmB,iBAClBhD,eAAA,CAAAC,mBAAA,EAAA;AAAA7U,QAAAA,QAAA,gBACEe,cAAA,CAAA,MAAA,EAAA;AAAMP,UAAAA,SAAS,EAAC,UAAU;AAAAR,UAAAA,QAAA,EAAE+X;AAAU,SAAO,CAAC,eAC9ChX,cAAA,CAACjB,KAAK,EAAA;AACJW,UAAAA,UAAU,EAAA,oBAAA,CAAAyF,MAAA,CAAuBqG,KAAK,CAAG;UACzCnM,MAAM,EAAE4T,QAAQ,CAAC;YACfnE,IAAI,EAAE1T,eAAe,CAACD,iBAAiB;AACvCqQ,YAAAA,KAAK,EAALA;AACF,WAAC,CAAE;UACHjM,OAAO,EAAE4T,SAAS,CAAC;YACjBrE,IAAI,EAAE1T,eAAe,CAACD,iBAAiB;AACvCqQ,YAAAA,KAAK,EAALA;AACF,WAAC,CAAE;UACHrM,KAAK,EACH4X,kBAAkB,GAAGpZ,WAAW,CAACC,MAAM,GAAGD,WAAW,CAACE,KACvD;UACD2B,OAAO,EACLkT,WAAW,IACV,YAAA;AAAA,YAAA,OACCA,WAAW,CAAC;cACV5D,IAAI,EAAE1T,eAAe,CAACD,iBAAiB;AACvCqQ,cAAAA,KAAK,EAALA;AACF,aAAC,CAAC;UAAA,CACL;UAAAvM,QAAA,EAEA,CAAA8X,kBAAkB,KAAA,IAAA,IAAlBA,kBAAkB,KAAA,MAAA,GAAA,MAAA,GAAlBA,kBAAkB,CAAE1f,KAAK,KAAI4f;AAAqB,SAC9C,CAAC;AAAA,OACR,CACH;KACE,CAAC,eACNpD,eAAA,CAAA,KAAA,EAAA;AAAKpU,MAAAA,SAAS,EAAC,gBAAgB;AAAAR,MAAAA,QAAA,GAC5ByT,WAAW,IAAI4D,MAAM,iBACpBtW,cAAA,CAAC+T,iBAAM,EAAA;QACL,aAAA,EAAA,YAAA,CAAA5O,MAAA,CAA0BqG,KAAK,CAAG;AAClC3D,QAAAA,IAAI,EAAEmM,IAAK;AACXC,QAAAA,IAAI,EAAC,IAAI;AACTC,QAAAA,OAAO,EAAC,OAAO;AACfC,QAAAA,YAAY,EAAE;AACZC,UAAAA,OAAO,EAAErP,CAAC,CAAC,+CAA+C,CAAC;AAC3DsP,UAAAA,QAAQ,EAAE;SACV;QACF7U,OAAO,EAAE,SAATA,OAAOA,GAAA;AAAA,UAAA,OAAQkT,WAAW,CAAC;YAAE5D,IAAI,EAAE1T,eAAe,CAACF;AAAM,WAAC,CAAC;AAAA,QAAA;OAC5D,CACF,EACA+a,iBAAiB,iBAChBjW,cAAA,CAAC+T,iBAAM,EAAA9T,eAAA,CAAA;QACL,aAAA,EAAA,eAAA,CAAAkF,MAAA,CAA6BqG,KAAK,CAAG;AACrC3D,QAAAA,IAAI,EAAEyM,MAAO;AACbL,QAAAA,IAAI,EAAC,IAAI;AACTC,QAAAA,OAAO,EAAC,OAAO;AACfC,QAAAA,YAAY,EAAE;AACZC,UAAAA,OAAO,EAAErP,CAAC,CAAC,2CAA2C,CAAC;AACvDsP,UAAAA,QAAQ,EAAE;SACV;QACF7U,OAAO,EAAE,SAATA,OAAOA,GAAA;UAAA,OAAQyW,iBAAiB,CAACzK,KAAK,CAAC;AAAA,QAAA;OAAC,EACpCjO,kBAAkB,CACvB,CACF;AAAA,KACE,CAAC;AAAA,GACH,CAAC;AAEV,CAAC;;;;AC9JD,IAAM2Z,SAAS,GAAG,SAAZA,SAASA,CAAAlY,IAAA,EAUT;AAAA,EAAA,IATJmD,MAAM,GAAAnD,IAAA,CAANmD,MAAM;IACN2D,MAAM,GAAA9G,IAAA,CAAN8G,MAAM;IACN0F,KAAK,GAAAxM,IAAA,CAALwM,KAAK;IACL6I,QAAQ,GAAArV,IAAA,CAARqV,QAAQ;IACC3B,WAAW,GAAA1T,IAAA,CAApB2T,OAAO;IACMwE,eAAe,GAAAnY,IAAA,CAA5BoY,WAAW;IACDtE,YAAY,GAAA9T,IAAA,CAAtB+T,QAAQ;IAAAC,aAAA,GAAAhU,IAAA,CACRiU,QAAQ;IAARA,QAAQ,GAAAD,aAAA,KAAA,MAAA,GAAG,YAAA;AAAA,MAAA,OAAM,KAAK;AAAA,IAAA,CAAA,GAAAA,aAAA;IAAAE,cAAA,GAAAlU,IAAA,CACtBmU,SAAS;IAATA,SAAS,GAAAD,cAAA,KAAA,MAAA,GAAG,YAAA;AAAA,MAAA,OAAM,KAAK;AAAA,IAAA,CAAA,GAAAA,cAAA;AAEvB,EAAA,IAAAE,eAAA,GAAcC,2BAAc,EAAE;IAAtBtO,CAAC,GAAAqO,eAAA,CAADrO,CAAC;EACT,IAAAsS,YAAA,GAgBItR,WAAW,CAAC;AAAE5D,MAAAA,MAAM,EAANA,MAAM;AAAE2D,MAAAA,MAAM,EAANA;AAAO,KAAC,CAAC;IAfjChE,MAAM,GAAAuV,YAAA,CAANvV,MAAM;IACNzK,KAAK,GAAAggB,YAAA,CAALhgB,KAAK;IACL2J,IAAI,GAAAqW,YAAA,CAAJrW,IAAI;IACJ4G,WAAW,GAAAyP,YAAA,CAAXzP,WAAW;IACL0P,UAAU,GAAAD,YAAA,CAAhBxP,IAAI;IACJC,cAAc,GAAAuP,YAAA,CAAdvP,cAAc;IACdZ,SAAS,GAAAmQ,YAAA,CAATnQ,SAAS;IACTK,cAAc,GAAA8P,YAAA,CAAd9P,cAAc;IACdQ,SAAS,GAAAsP,YAAA,CAATtP,SAAS;IACTC,WAAW,GAAAqP,YAAA,CAAXrP,WAAW;IACXE,sBAAsB,GAAAmP,YAAA,CAAtBnP,sBAAsB;IACtBV,SAAS,GAAA6P,YAAA,CAAT7P,SAAS;IACTE,SAAS,GAAA2P,YAAA,CAAT3P,SAAS;IACTC,eAAe,GAAA0P,YAAA,CAAf1P,eAAe;IACf3B,KAAK,GAAAqR,YAAA,CAALrR,KAAK;;AAGP;AACA;EACA,IAAMuR,YAAY,GAChB/P,SAAS,KAAK3Q,UAAU,CAACC,WAAW,IACpC0Q,SAAS,KAAK3Q,UAAU,CAACE,UAAU,IACnC,CAAC,CAACmR,sBAAsB,IACxB,CAAC,CAACF,WAAW;AAEf,EAAA,IAAMwP,gBAAgB,GAAG7P,eAAe,GACpC5C,CAAC,CAAC,+BAA+B,EAAE;AAAE0S,IAAAA,IAAI,EAAE9P;AAAgB,GAAC,CAAC,GAC7D5C,CAAC,CAAC,8BAA8B,CAAC;AAErC,EAAA,IAAM2S,iBAAiB,GAAGhQ,SAAS,GAC/B3C,CAAC,CAAC,+BAA+B,EAAE;AAAE0S,IAAAA,IAAI,EAAE/P;AAAU,GAAC,CAAC,GACvD3C,CAAC,CAAC,6BAA6B,CAAC;EAEpC,IAAM4S,gBAAgB,GACpBnQ,SAAS,KAAK3Q,UAAU,CAACE,UAAU,GAAGygB,gBAAgB,GAAGE,iBAAiB;EAE5E,IAAM5S,SAAS,GACb,CAACuP,QAAQ,aAARA,QAAQ,KAAA,MAAA,GAARA,QAAQ,GAAI7I,KAAK,MAAM,CAAC,GACrBzG,CAAC,CAAC,wBAAwB,CAAC,GAC3BA,CAAC,CAAC,0BAA0B,CAAC;AACnC,EAAA,IAAM6S,SAAS,GAAGvW,UAAU,CAACL,IAAI,IAAI3J,KAAK,CAAC;EAC3C,IAAMwgB,YAAY,GAChB5E,QAAQ,CAAC;IAAEnE,IAAI,EAAE1T,eAAe,CAACT,cAAc;AAAE6Q,IAAAA,KAAK,EAALA;GAAO,CAAC,IACzDyH,QAAQ,CAAC;IAAEnE,IAAI,EAAE1T,eAAe,CAACS,UAAU;AAAE2P,IAAAA,KAAK,EAALA;AAAM,GAAC,CAAC;AACvD,EAAA,IAAMsM,WAAW,GAAGlQ,WAAW,IAAIvG,UAAU,CAACS,MAAM,KAAA,IAAA,IAANA,MAAM,KAAA,MAAA,GAAA,MAAA,GAANA,MAAM,CAAEqU,WAAW,CAAC;AAClE;AACA;AACA,EAAA,IAAA7T,KAAA,GAA8C0C,KAAK,CAACC,OAAO,CAAC8C,SAAS,CAAC,GAClEA,SAAS,GACT,CAAC,IAAI,EAAEA,SAAS,CAAC;IAAArF,KAAA,GAAAtF,cAAA,CAAAkF,KAAA,EAAA,CAAA,CAAA;AAFdyV,IAAAA,kBAAkB,GAAArV,KAAA,CAAA,CAAA,CAAA;AAAEsV,IAAAA,eAAe,GAAAtV,KAAA,CAAA,CAAA,CAAA;EAG1C,IAAMuV,YAAY,GAAGxT,oBAAU,CAACqB,MAAM,KAAA,IAAA,IAANA,MAAM,KAAA,MAAA,GAAA,MAAA,GAANA,MAAM,CAAE5B,QAAQ,CAAC;AACjD;AACA,EAAA,IAAMgU,WAAW,GACflQ,WAAW,IAAIiQ,YAAY,GAAGta,WAAW,CAACC,MAAM,GAAGD,WAAW,CAACE,KAAK;AACtE,EAAA,IAAA+V,iBAAA,GAAyC5W,gBAAgB,EAAE;IAAnDK,QAAQ,GAAAuW,iBAAA,CAARvW,QAAQ;IAAEE,kBAAkB,GAAAqW,iBAAA,CAAlBrW,kBAAkB;AAEpC,EAAA,IAAM4a,WAAW,GAAGH,eAAe,gBACjCnE,eAAA,CAACuE,cAAQ,EAAA;AAAAnZ,IAAAA,QAAA,gBACPe,cAAA,CAAA,MAAA,EAAA;AAAMP,MAAAA,SAAS,EAAC,UAAU;AAAAR,MAAAA,QAAA,EAAE+Y;AAAe,KAAO,CAAC,eACnDhY,cAAA,CAACjB,KAAK,EAAA;MACJM,MAAM,EAAE4T,QAAQ,CAAC;QAAEnE,IAAI,EAAE1T,eAAe,CAACR,aAAa;AAAE4Q,QAAAA,KAAK,EAALA;AAAM,OAAC,CAAE;AACjE9L,MAAAA,UAAU,EAAA,sBAAA,CAAAyF,MAAA,CAAyBqG,KAAK,CAAG;AAC3CrM,MAAAA,KAAK,EAAE+Y,WAAY;MACnB3Y,OAAO,EAAE4T,SAAS,CAAC;QACjBrE,IAAI,EAAE1T,eAAe,CAACR,aAAa;AACnC4Q,QAAAA,KAAK,EAALA;AACF,OAAC,CAAE;MACHhM,OAAO,EACLkT,WAAW,IACV,YAAA;AAAA,QAAA,OAAMA,WAAW,CAAC;UAAE5D,IAAI,EAAE1T,eAAe,CAACR,aAAa;AAAE4Q,UAAAA,KAAK,EAALA;AAAM,SAAC,CAAC;MAAA,CACnE;MAAAvM,QAAA,EAEA+I,WAAW,IACV3G,UAAU,CAAC6G,sBAAsB,CAAC,IAClCnD,CAAC,CAAC,mCAAmC;AAAC,KACnC,CAAC;GAAA,EAlBI,QAmBJ,CAAC,GACT,IAAI;AAER,EAAA,IAAMsT,cAAc,GAAGvQ,cAAc,gBACnC+L,eAAA,CAACuE,cAAQ,EAAA;AAAAnZ,IAAAA,QAAA,gBACPe,cAAA,CAAA,MAAA,EAAA;AAAMP,MAAAA,SAAS,EAAC,UAAU;AAAAR,MAAAA,QAAA,EACvB8Y,kBAAkB,IAAIhT,CAAC,CAAC,sBAAsB;AAAC,KAC5C,CAAC,eACP/E,cAAA,CAACjB,KAAK,EAAA;AACJW,MAAAA,UAAU,EAAA,mBAAA,CAAAyF,MAAA,CAAsBqG,KAAK,CAAG;MACxCrM,KAAK,EAAE+H,SAAS,GAAGvJ,WAAW,CAACC,MAAM,GAAGD,WAAW,CAACE,KAAM;MAC1DwB,MAAM,EAAE4T,QAAQ,CAAC;QACfnE,IAAI,EAAE1T,eAAe,CAACU,gBAAgB;AACtC0P,QAAAA,KAAK,EAALA;AACF,OAAC,CAAE;MACHjM,OAAO,EAAE4T,SAAS,CAAC;QACjBrE,IAAI,EAAE1T,eAAe,CAACU,gBAAgB;AACtC0P,QAAAA,KAAK,EAALA;AACF,OAAC,CAAE;MACHhM,OAAO,EACLkT,WAAW,IACV,YAAA;AAAA,QAAA,OACCA,WAAW,CAAC;UACV5D,IAAI,EAAE1T,eAAe,CAACU,gBAAgB;AACtC0P,UAAAA,KAAK,EAALA;AACF,SAAC,CAAC;MAAA,CACL;AAAAvM,MAAAA,QAAA,EAEAiI,SAAS,GACNtG,MAAM,CAAC2G,cAAc,CAAC,CAAC/F,WAAW,EAAE,GACpCuD,CAAC,CAAC,oCAAoC;AAAC,KACtC,CAAC;GAAA,EA3BI,WA4BJ,CAAC,GACT,IAAI;EAER,IAAMuT,UAAU,GAAGtS,KAAK,CAACxC,GAAG,CAAC,UAAA4C,IAAI,EAAI;IACnC,IAAMmS,SAAS,GAAGlS,WAAW,CAAC;AAAEP,MAAAA,MAAM,EAANA,MAAM;AAAEM,MAAAA,IAAI,EAAJA;AAAK,KAAC,CAAC;AAC/C,IAAA,IAAMoS,KAAK,GAAG;MACZ1J,IAAI,EAAE1T,eAAe,CAACP,WAAW;AACjC2Q,MAAAA,KAAK,EAALA,KAAK;MACLiN,OAAO,EAAErS,IAAI,CAAC3F;KACf;IAED,oBACEoT,eAAA,CAACuE,cAAQ,EAAA;AAAAnZ,MAAAA,QAAA,EAAA,CACNmH,IAAI,CAAC2B,SAAS,iBAAI/H,cAAA,CAAA,MAAA,EAAA;AAAMP,QAAAA,SAAS,EAAC,UAAU;QAAAR,QAAA,EAAEmH,IAAI,CAAC2B;AAAS,OAAO,CAAC,eACrE/H,cAAA,CAACjB,KAAK,EAAA;AACJM,QAAAA,MAAM,EAAE4T,QAAQ,CAACuF,KAAK,CAAE;QACxB9Y,UAAU,EAAA,cAAA,CAAAyF,MAAA,CAAiBiB,IAAI,CAAC3F,GAAG,EAAA,GAAA,CAAA,CAAA0E,MAAA,CAAIqG,KAAK,CAAG;AAC/CjM,QAAAA,OAAO,EAAE4T,SAAS,CAACqF,KAAK,CAAE;QAC1BrZ,KAAK,EAAEoZ,SAAS,GAAG5a,WAAW,CAACC,MAAM,GAAGD,WAAW,CAACE,KAAM;QAC1D2B,OAAO,EAAEkT,WAAW,IAAK,YAAA;UAAA,OAAMA,WAAW,CAAC8F,KAAK,CAAC;QAAA,CAAE;AAAAvZ,QAAAA,QAAA,EAIlD,CAACmH,IAAI,CAACsS,YAAY,GAAGH,SAAS,GAAGlX,UAAU,CAACkX,SAAS,CAAC,KACrDlX,UAAU,CAAC+E,IAAI,CAAC+P,WAAW;AAAC,OACzB,CAAC;AAAA,KAAA,EAAA,OAAA,CAAAhR,MAAA,CAbaiB,IAAI,CAAC3F,GAAG,CAcrB,CAAC;AAEf,EAAA,CAAC,CAAC;AAEF,EAAA,oBACEoT,eAAA,CAAA,KAAA,EAAA;AAAKpU,IAAAA,SAAS,EAAEY,UAAU,CAAC,yBAAyB,EAAE;AAAEhD,MAAAA,QAAQ,EAARA;AAAS,KAAC,CAAE;AAAA4B,IAAAA,QAAA,gBAClE4U,eAAA,CAAA,KAAA,EAAA;AAAKpU,MAAAA,SAAS,EAAC,aAAa;AAAAR,MAAAA,QAAA,gBAC1Be,cAAA,CAAA,MAAA,EAAA;AAAMP,QAAAA,SAAS,EAAC,UAAU;AAAAR,QAAAA,QAAA,EAAE6F;AAAS,OAAO,CAAC,EAC5CkT,eAAe,gBACdnE,eAAA,CAAC9U,KAAK,EAAA;AACJM,QAAAA,MAAM,EAAEwY,YAAa;AACrBpY,QAAAA,SAAS,EAAC,eAAe;AACzBC,QAAAA,UAAU,EAAA,cAAA,CAAAyF,MAAA,CAAiBqG,KAAK,CAAG;QACnChM,OAAO,EACLkT,WAAW,IACV,YAAA;AAAA,UAAA,OACCA,WAAW,CAAC;YAAE5D,IAAI,EAAE1T,eAAe,CAACT,cAAc;AAAE6Q,YAAAA,KAAK,EAALA;AAAM,WAAC,CAAC;QAAA,CAC/D;AAAAvM,QAAAA,QAAA,GAEA2Y,SAAS,EACTN,UAAU,iBAAItX,cAAA,CAACsX,UAAU,EAAA;AAACrD,UAAAA,IAAI,EAAE;SAAK,CAAC,EACtC6D,WAAW;AAAA,OACP,CAAC,gBAERjE,eAAA,CAAAC,mBAAA,EAAA;QAAA7U,QAAA,EAAA,cACEe,cAAA,CAACjB,KAAK,EAAA;AACJM,UAAAA,MAAM,EAAEwY,YAAa;AACrBnY,UAAAA,UAAU,EAAA,cAAA,CAAAyF,MAAA,CAAiBqG,KAAK,CAAG;UACnChM,OAAO,EACLkT,WAAW,IACV,YAAA;AAAA,YAAA,OACCA,WAAW,CAAC;cAAE5D,IAAI,EAAE1T,eAAe,CAACT,cAAc;AAAE6Q,cAAAA,KAAK,EAALA;AAAM,aAAC,CAAC;UAAA,CAC/D;AAAAvM,UAAAA,QAAA,EAEA2Y;AAAS,SACL,CAAC,EACPL,YAAY,gBACXvX,cAAA,CAACjB,KAAK,EAAA;AACJW,UAAAA,UAAU,EAAA,sBAAA,CAAAyF,MAAA,CAAyBqG,KAAK,CAAG;AAC3CrM,UAAAA,KAAK,EAAE+Y,WAAY;UACnB7Y,MAAM,EAAE4T,QAAQ,CAAC;YACfnE,IAAI,EAAE1T,eAAe,CAACR,aAAa;AACnC4Q,YAAAA,KAAK,EAALA;AACF,WAAC,CAAE;UACHjM,OAAO,EAAE4T,SAAS,CAAC;YACjBrE,IAAI,EAAE1T,eAAe,CAACR,aAAa;AACnC4Q,YAAAA,KAAK,EAALA;AACF,WAAC,CAAE;UACHhM,OAAO,EACLkT,WAAW,IACV,YAAA;AAAA,YAAA,OACCA,WAAW,CAAC;cAAE5D,IAAI,EAAE1T,eAAe,CAACR,aAAa;AAAE4Q,cAAAA,KAAK,EAALA;AAAM,aAAC,CAAC;UAAA,CAC9D;AAAAvM,UAAAA,QAAA,EAEA+I,WAAW,IACV3G,UAAU,CAAC6G,sBAAsB,CAAC,IAClCyP;AAAgB,SACb,CAAC,GAERG,WAAW,iBACTjE,eAAA,CAAC9U,KAAK,EAAA;AACJU,UAAAA,SAAS,EAAC,eAAe;AACzBC,UAAAA,UAAU,EAAA,gBAAA,CAAAyF,MAAA,CAAmBqG,KAAK,CAAG;UACrCrM,KAAK,EAAE8Y,YAAY,GAAGta,WAAW,CAACC,MAAM,GAAGD,WAAW,CAACE,KAAM;UAC7DwB,MAAM,EAAE4T,QAAQ,CAAC;YACfnE,IAAI,EAAE1T,eAAe,CAACR,aAAa;AACnC4Q,YAAAA,KAAK,EAALA;AACF,WAAC,CAAE;UACHjM,OAAO,EAAE4T,SAAS,CAAC;YACjBrE,IAAI,EAAE1T,eAAe,CAACR,aAAa;AACnC4Q,YAAAA,KAAK,EAALA;AACF,WAAC,CAAE;UACHhM,OAAO,EACLkT,WAAW,IACV,YAAA;AAAA,YAAA,OACCA,WAAW,CAAC;cACV5D,IAAI,EAAE1T,eAAe,CAACR,aAAa;AACnC4Q,cAAAA,KAAK,EAALA;AACF,aAAC,CAAC;UAAA,CACL;AAAAvM,UAAAA,QAAA,EAAA,CAEAqY,UAAU,iBAAItX,cAAA,CAACsX,UAAU,EAAA;AAACrD,YAAAA,IAAI,EAAE;WAAK,CAAC,EACtC6D,WAAW;AAAA,SACP,CAEV;AAAA,OACD,CACH,EACAC,kBAAkB,GACf,CAACM,cAAc,EAAEF,WAAW,CAAC,GAC7B,CAACA,WAAW,EAAEE,cAAc,CAAC,EAChCC,UAAU;KACR,CAAC,eACNzE,eAAA,CAAA,KAAA,EAAA;AAAKpU,MAAAA,SAAS,EAAC,gBAAgB;AAAAR,MAAAA,QAAA,EAAA,CAC5BkY,eAAe,iBACdnX,cAAA,CAAC+T,iBAAM,EAAA;QACL,aAAA,EAAA,aAAA,CAAA5O,MAAA,CAA2BqG,KAAK,CAAG;AACnC3D,QAAAA,IAAI,EAAEmM,IAAK;AACXC,QAAAA,IAAI,EAAC,IAAI;AACTC,QAAAA,OAAO,EAAC,OAAO;AACfC,QAAAA,YAAY,EAAE;AACZC,UAAAA,OAAO,EAAErP,CAAC,CAAC,0CAA0C,CAAC;AACtDsP,UAAAA,QAAQ,EAAE;SACV;AACF7U,QAAAA,OAAO,EAAE2X;OACV,CACF,EACArE,YAAY,iBACX9S,cAAA,CAAC+T,iBAAM,EAAA9T,eAAA,CAAA;QACL,aAAA,EAAA,gBAAA,CAAAkF,MAAA,CAA8BqG,KAAK,CAAG;AACtC3D,QAAAA,IAAI,EAAEyM,MAAO;AACbL,QAAAA,IAAI,EAAC,IAAI;AACTC,QAAAA,OAAO,EAAC,OAAO;AACfC,QAAAA,YAAY,EAAE;AACZC,UAAAA,OAAO,EAAErP,CAAC,CAAC,sCAAsC,CAAC;AAClDsP,UAAAA,QAAQ,EAAE;SACV;AACF7U,QAAAA,OAAO,EAAEsT;OAAa,EAClBvV,kBAAkB,CACvB,CACF;AAAA,KACE,CAAC;AAAA,GACH,CAAC;AAEV,CAAC;;ACnRD,IAAMob,SAAS,GAAG,SAAZA,SAASA,CAAA3Z,IAAA,EAST;AAAA,EAAA,IARJ+J,IAAI,GAAA/J,IAAA,CAAJ+J,IAAI;IACJ5G,MAAM,GAAAnD,IAAA,CAANmD,MAAM;IACGuQ,WAAW,GAAA1T,IAAA,CAApB2T,OAAO;IACMwE,eAAe,GAAAnY,IAAA,CAA5BoY,WAAW;IACKwB,kBAAkB,GAAA5Z,IAAA,CAAlC6Z,cAAc;IAAA7F,aAAA,GAAAhU,IAAA,CACdiU,QAAQ;IAARA,QAAQ,GAAAD,aAAA,KAAA,MAAA,GAAG,YAAA;AAAA,MAAA,OAAM,KAAK;AAAA,IAAA,CAAA,GAAAA,aAAA;IAAAE,cAAA,GAAAlU,IAAA,CACtBmU,SAAS;IAATA,SAAS,GAAAD,cAAA,KAAA,MAAA,GAAG,YAAA;AAAA,MAAA,OAAM,KAAK;AAAA,IAAA,CAAA,GAAAA,cAAA;IAAA4F,WAAA,GAAA9Z,IAAA,CACvB+Z,MAAM;AAANA,IAAAA,MAAM,GAAAD,WAAA,KAAA,MAAA,GAAG,KAAK,GAAAA,WAAA;AAEd,EAAA,IAAA1F,eAAA,GAAcC,2BAAc,EAAE;IAAtBtO,CAAC,GAAAqO,eAAA,CAADrO,CAAC;EACT,IAAMiU,KAAK,GAAGjQ,IAAI,CAAC3P,OAAO,CACvBoK,GAAG,CAAC,UAACsC,MAAM,EAAE0F,KAAK,EAAA;IAAA,OAAM;AAAE1F,MAAAA,MAAM,EAANA,MAAM;AAAE0F,MAAAA,KAAK,EAALA;KAAO;AAAA,EAAA,CAAC,CAAC,CAC3CuG,MAAM,CAAC,UAAAzP,KAAA,EAAA;AAAA,IAAA,IAAGwD,MAAM,GAAAxD,KAAA,CAANwD,MAAM;AAAA,IAAA,OAAO,CAAAA,MAAM,KAAA,IAAA,IAANA,MAAM,uBAANA,MAAM,CAAEJ,OAAO,MAAII,MAAM,KAAA,IAAA,IAANA,MAAM,KAAA,MAAA,GAAA,MAAA,GAANA,MAAM,CAAEjE,IAAI,CAAA;EAAA,CAAA,CAAC;AAE1D,EAAA,IAAIyC,aAAO,CAAC0U,KAAK,CAAC,EAAE;IAClB,IAAMC,YAAY,GAAG3P,kBAAkB,CAAC;AAAEP,MAAAA,IAAI,EAAJA,IAAI;AAAE5G,MAAAA,MAAM,EAANA;AAAO,KAAC,CAAC;AAEzD,IAAA,oBACEnC,cAAA,CAAA,KAAA,EAAA;AAAKP,MAAAA,SAAS,EAAC,QAAQ;AAAAR,MAAAA,QAAA,eACrBe,cAAA,CAAA,KAAA,EAAA;AAAKP,QAAAA,SAAS,EAAC,aAAa;QAAAR,QAAA,eAC1Be,cAAA,CAACjB,KAAK,EAAA;UACJM,MAAM,EAAE4T,QAAQ,CAAC;YAAEnE,IAAI,EAAE1T,eAAe,CAACS,UAAU;AAAE2P,YAAAA,KAAK,EAAE;AAAE,WAAC,CAAE;AACjE9L,UAAAA,UAAU,EAAC,YAAY;UACvBH,OAAO,EAAE4T,SAAS,CAAC;YAAErE,IAAI,EAAE1T,eAAe,CAACS,UAAU;AAAE2P,YAAAA,KAAK,EAAE;AAAE,WAAC,CAAE;UACnErM,KAAK,EACH8Z,YAAY,GAAGtb,WAAW,CAACI,gBAAgB,GAAGJ,WAAW,CAAC9D,QAC3D;UACDqf,KAAK,EACHD,YAAY,GACR9Y,SAAS,GACT4E,CAAC,CAAC,qCAAqC,CAC5C;AACDvF,UAAAA,OAAO,EAAEyZ,YAAY,GAAG9B,eAAe,GAAGhX,SAAU;UAAAlB,QAAA,EAEnD8F,CAAC,CAAC,+BAA+B;SAC7B;OACJ;AAAC,KACH,CAAC;AAEV,EAAA;EAEA,oBACE8O,eAAA,CAAAC,mBAAA,EAAA;IAAA7U,QAAA,EAAA,CACG+Z,KAAK,CAACxV,GAAG,CAAC,UAAAd,KAAA,EAAoB2R,QAAQ,EAAA;AAAA,MAAA,IAAA8E,UAAA;AAAA,MAAA,IAAzBrT,MAAM,GAAApD,KAAA,CAANoD,MAAM;QAAE0F,KAAK,GAAA9I,KAAA,CAAL8I,KAAK;MAAA,oBACzB4K,mBAAA,CAACc,SAAS,EAAA;AACFpR,QAAAA,MAAM,EAANA,MAAM;AAAE0F,QAAAA,KAAK,EAALA,KAAK;AAAEyH,QAAAA,QAAQ,EAARA,QAAQ;AAAEE,QAAAA,SAAS,EAATA,SAAS;AAAEkB,QAAAA,QAAQ,EAARA,QAAQ;AAAElS,QAAAA,MAAM,EAANA,MAAM;QAC1D1B,GAAG,EAAA,CAAA0Y,UAAA,GAAErT,MAAM,CAAC9D,EAAE,MAAA,IAAA,IAAAmX,UAAA,KAAA,MAAA,GAAAA,UAAA,GAAI3N,KAAM;QACxB4L,WAAW,EAAE/C,QAAQ,KAAK2E,KAAK,CAAC/N,MAAM,GAAG,CAAC,IAAIkM,eAAgB;QAC9DpE,QAAQ,EAAE6F,kBAAkB,IAAK,YAAA;UAAA,OAAMA,kBAAkB,CAACpN,KAAK,CAAC;QAAA,CAAE;AAClEmH,QAAAA,OAAO,EAAED;AAAY,OACtB,CAAC;AAAA,IAAA,CACH,CAAC,EACDqG,MAAM,iBACL/Y,cAAA,CAAA,KAAA,EAAA;AAAKP,MAAAA,SAAS,EAAC,QAAQ;AAAAR,MAAAA,QAAA,eACrB4U,eAAA,CAAA,KAAA,EAAA;AAAKpU,QAAAA,SAAS,EAAC,aAAa;AAAAR,QAAAA,QAAA,gBAC1Be,cAAA,CAAA,MAAA,EAAA;AAAMP,UAAAA,SAAS,EAAC,UAAU;UAAAR,QAAA,EAAE8F,CAAC,CAAC,0BAA0B;AAAC,SAAO,CAAC,eACjE/E,cAAA,CAACjB,KAAK,EAAA;UACJM,MAAM,EAAA,IAAA;AACNK,UAAAA,UAAU,EAAC,iBAAiB;UAC5BP,KAAK,EAAExB,WAAW,CAACI,gBAAiB;AACpCyB,UAAAA,OAAO,EAAE2X,eAAgB;UAAAlY,QAAA,EAExB8F,CAAC,CAAC,wBAAwB;AAAC,SACvB,CAAC;OACL;AAAC,KACH,CACN;AAAA,GACD,CAAC;AAEP,CAAC;;;;AC7DD,IAAMqU,SAAS,GAAG,SAAZA,SAASA,CAAApa,IAAA,EAQT;AAAA,EAAA,IAAA2D,aAAA;AAAA,EAAA,IAPJoG,IAAI,GAAA/J,IAAA,CAAJ+J,IAAI;IACJ5G,MAAM,GAAAnD,IAAA,CAANmD,MAAM;IACGuQ,WAAW,GAAA1T,IAAA,CAApB2T,OAAO;IACSC,kBAAkB,GAAA5T,IAAA,CAAlC6T,cAAc;IACEwG,kBAAkB,GAAAra,IAAA,CAAlCsa,cAAc;IAAAtG,aAAA,GAAAhU,IAAA,CACdiU,QAAQ;IAARA,QAAQ,GAAAD,aAAA,KAAA,MAAA,GAAG,YAAA;AAAA,MAAA,OAAM,KAAK;AAAA,IAAA,CAAA,GAAAA,aAAA;IAAAE,cAAA,GAAAlU,IAAA,CACtBmU,SAAS;IAATA,SAAS,GAAAD,cAAA,KAAA,MAAA,GAAG,YAAA;AAAA,MAAA,OAAM,KAAK;AAAA,IAAA,CAAA,GAAAA,cAAA;AAEvB,EAAA,IAAAE,eAAA,GAAcC,2BAAc,EAAE;IAAtBtO,CAAC,GAAAqO,eAAA,CAADrO,CAAC;AACT,EAAA,IAAQnM,QAAQ,GAAgBmQ,IAAI,CAA5BnQ,QAAQ;IAAEgK,SAAS,GAAKmG,IAAI,CAAlBnG,SAAS;AAC3B,EAAA,IAAM2W,cAAc,GAAGpX,MAAM,KAAA,IAAA,IAANA,MAAM,gBAAAQ,aAAA,GAANR,MAAM,CAAEpJ,KAAK,MAAA,IAAA,IAAA4J,aAAA,KAAA,MAAA,GAAA,MAAA,GAAbA,aAAA,CAAe3J,OAAO;AAC7C,EAAA,IAAA4a,iBAAA,GAAwD5W,gBAAgB,EAAE;IAAlEK,QAAQ,GAAAuW,iBAAA,CAARvW,QAAQ;IAAEE,kBAAkB,GAAAqW,iBAAA,CAAlBrW,kBAAkB;IAAEG,aAAa,GAAAkW,iBAAA,CAAblW,aAAa;AACnD;AACA,EAAA,IAAM8b,cAAc,GAAG,SAAjBA,cAAcA,CAAG3X,IAAI,EAAA;AAAA,IAAA,IAAAK,gBAAA;AAAA,IAAA,OACzB,CAAC,CAAAC,MAAM,KAAA,IAAA,IAANA,MAAM,KAAA,MAAA,IAAA,CAAAD,gBAAA,GAANC,MAAM,CAAEvJ,QAAQ,MAAA,IAAA,IAAAsJ,gBAAA,KAAA,MAAA,IAAA,CAAAA,gBAAA,GAAhBA,gBAAA,CAAkBwK,QAAQ,MAAA,IAAA,IAAAxK,gBAAA,uBAA1BA,gBAAA,CAA4BuX,SAAS,KAAI,EAAE,EAAExY,QAAQ,CAACY,IAAI,CAAC;AAAA,EAAA,CAAA;AAE9D,EAAA,IAAI,CAACuH,gBAAgB,CAACjH,MAAM,CAAC,EAAE;IAC7B,IAAI,CAACmC,aAAO,CAACyE,IAAI,CAAC9P,UAAU,CAAC,EAAE,OAAO,IAAI;AAE1C,IAAA,oBACE+G,cAAA,CAAA,KAAA,EAAA;AAAKP,MAAAA,SAAS,EAAC,QAAQ;AAAAR,MAAAA,QAAA,eACrBe,cAAA,CAAA,KAAA,EAAA;AAAKP,QAAAA,SAAS,EAAC,aAAa;QAAAR,QAAA,eAC1Be,cAAA,CAACjB,KAAK,EAAA;AACJW,UAAAA,UAAU,EAAC,eAAe;UAC1BP,KAAK,EAAExB,WAAW,CAACI,gBAAiB;UACpCyB,OAAO,EAAEoT,kBAAkB,IAAIzS,SAAU;UAAAlB,QAAA,EAExC8F,CAAC,CAAC,mCAAmC;SACjC;OACJ;AAAC,KACH,CAAC;AAEV,EAAA;AAEA,EAAA,IAAIT,aAAO,CAAC1L,QAAQ,CAAC,EAAE;AACrB,IAAA,oBACEoH,cAAA,CAAA,KAAA,EAAA;AAAKP,MAAAA,SAAS,EAAC,QAAQ;AAAAR,MAAAA,QAAA,eACrBe,cAAA,CAAA,KAAA,EAAA;AAAKP,QAAAA,SAAS,EAAC,aAAa;QAAAR,QAAA,eAC1Be,cAAA,CAACjB,KAAK,EAAA;AACJW,UAAAA,UAAU,EAAC,aAAa;UACxBP,KAAK,EAAExB,WAAW,CAACI,gBAAiB;UACpCyB,OAAO,EACLkT,WAAW,IACV,YAAA;AAAA,YAAA,OAAMA,WAAW,CAAC;cAAE5D,IAAI,EAAE1T,eAAe,CAACC;AAAY,aAAC,CAAC;UAAA,CAC1D;UAAA4D,QAAA,EAEA8F,CAAC,CAAC,oCAAoC;SAClC;OACJ;AAAC,KACH,CAAC;AAEV,EAAA;AAEA,EAAA,oBACE8O,eAAA,CAAA,KAAA,EAAA;AAAKpU,IAAAA,SAAS,EAAEY,UAAU,CAAC,QAAQ,EAAE;AAAEhD,MAAAA,QAAQ,EAARA;AAAS,KAAC,CAAE;AAAA4B,IAAAA,QAAA,gBACjD4U,eAAA,CAAA,KAAA,EAAA;AAAKpU,MAAAA,SAAS,EAAC,aAAa;AAAAR,MAAAA,QAAA,gBAC1Be,cAAA,CAAA,MAAA,EAAA;AAAMP,QAAAA,SAAS,EAAC,UAAU;QAAAR,QAAA,EAAE8F,CAAC,CAAC,wBAAwB;OAAQ,CAAC,EAC9DnM,QAAQ,CAAC4K,GAAG,CAAC,UAACjB,OAAO,EAAEiJ,KAAK,EAAA;AAAA,QAAA,IAAAkO,WAAA;QAAA,oBAC3B7F,eAAA,CAACuE,cAAQ,EAAA;AAAAnZ,UAAAA,QAAA,EAAA,CACNuM,KAAK,GAAG,CAAC,iBACRxL,cAAA,CAAA,MAAA,EAAA;AAAMP,YAAAA,SAAS,EAAC,UAAU;YAAAR,QAAA,EAAE8F,CAAC,CAAC,yBAAyB;WAAQ,CAChE,EACAyU,cAAc,CAACjX,OAAO,CAACV,IAAI,CAAC,iBAC3B7B,cAAA,CAACjB,KAAK,EAAA;AACJW,YAAAA,UAAU,EAAA,oBAAA,CAAAyF,MAAA,CAAuBqG,KAAK,CAAG;YACzCnM,MAAM,EAAE4T,QAAQ,CAAC;cACfnE,IAAI,EAAE1T,eAAe,CAACI,iBAAiB;AACvCgQ,cAAAA,KAAK,EAALA;AACF,aAAC,CAAE;YACHjM,OAAO,EAAE4T,SAAS,CAAC;cACjBrE,IAAI,EAAE1T,eAAe,CAACI,iBAAiB;AACvCgQ,cAAAA,KAAK,EAALA;AACF,aAAC,CAAE;YACHhM,OAAO,EACLkT,WAAW,IACV,YAAA;AAAA,cAAA,OACCA,WAAW,CAAC;gBACV5D,IAAI,EAAE1T,eAAe,CAACI,iBAAiB;AACvCgQ,gBAAAA,KAAK,EAALA;AACF,eAAC,CAAC;YAAA,CACL;AAAAvM,YAAAA,QAAA,EAEAgO,aAAa,CAAClE,IAAI,CAAC2D,QAAQ;AAAC,WACxB,CACR,eACD1M,cAAA,CAACjB,KAAK,EAAA;AACJW,YAAAA,UAAU,EAAA,UAAA,CAAAyF,MAAA,CAAaqG,KAAK,CAAG;YAC/BnM,MAAM,EACJ4T,QAAQ,CAAC;cAAEnE,IAAI,EAAE1T,eAAe,CAACE,eAAe;AAAEkQ,cAAAA,KAAK,EAALA;AAAM,aAAC,CAAC,IACzDA,KAAK,KAAK,CAAC,IACVyH,QAAQ,CAAC;cACPnE,IAAI,EAAE1T,eAAe,CAACC,WAAW;AACjCmQ,cAAAA,KAAK,EAAErL;AACT,aAAC,CACJ;YACDX,OAAO,EACLkT,WAAW,IACV,YAAA;AAAA,cAAA,OACCA,WAAW,CAAC;gBACV5D,IAAI,EAAE1T,eAAe,CAACE,eAAe;AACrCkQ,gBAAAA,KAAK,EAALA,KAAK;AACLjJ,gBAAAA,OAAO,EAAPA;AACF,eAAC,CAAC;YAAA,CACL;YAAAtD,QAAA,EAEAoD,YAAY,CAAC;AAAEF,cAAAA,MAAM,EAANA,MAAM;AAAEI,cAAAA,OAAO,EAAPA;aAAS;AAAC,WAC7B,CAAC;SAAA,EAAA,CAAAmX,WAAA,GAhDKnX,OAAO,CAACP,EAAE,MAAA,IAAA,IAAA0X,WAAA,KAAA,MAAA,GAAAA,WAAA,GAAIlO,KAiDnB,CAAC;AAAA,MAAA,CACZ,CAAC,EACD+N,cAAc,iBACb1F,eAAA,CAAAC,mBAAA,EAAA;AAAA7U,QAAAA,QAAA,gBACEe,cAAA,CAAA,MAAA,EAAA;AAAMP,UAAAA,SAAS,EAAC,UAAU;UAAAR,QAAA,EAAE8F,CAAC,CAAC,sBAAsB;AAAC,SAAO,CAAC,eAC7D/E,cAAA,CAACjB,KAAK,EAAA;AACJW,UAAAA,UAAU,EAAC,eAAe;UAC1BP,KAAK,EAAEyD,SAAS,GAAGjF,WAAW,CAACC,MAAM,GAAGD,WAAW,CAACE,KAAM;UAC1DwB,MAAM,EAAE4T,QAAQ,CAAC;YACfnE,IAAI,EAAE1T,eAAe,CAACG,aAAa;AACnCiQ,YAAAA,KAAK,EAAErL;AACT,WAAC,CAAE;UACHZ,OAAO,EAAE4T,SAAS,CAAC;YACjBrE,IAAI,EAAE1T,eAAe,CAACG,aAAa;AACnCiQ,YAAAA,KAAK,EAAErL;AACT,WAAC,CAAE;UACHX,OAAO,EACLkT,WAAW,IACV,YAAA;AAAA,YAAA,OAAMA,WAAW,CAAC;cAAE5D,IAAI,EAAE1T,eAAe,CAACG;AAAc,aAAC,CAAC;UAAA,CAC5D;AAAA0D,UAAAA,QAAA,EAEA2D,SAAS,GACNH,cAAc,CAAC;AAAEN,YAAAA,MAAM,EAANA,MAAM;AAAES,YAAAA,SAAS,EAATA;AAAU,WAAC,CAAC,GACrCmC,CAAC,CAAC,gCAAgC;AAAC,SAClC,CAAC;AAAA,OACR,CACH;KACE,CAAC,eACN8O,eAAA,CAAA,KAAA,EAAA;AAAKpU,MAAAA,SAAS,EAAC,gBAAgB;AAAAR,MAAAA,QAAA,EAAA,CAC5B2T,kBAAkB,iBACjB5S,cAAA,CAAC+T,iBAAM,EAAA;AACL,QAAA,aAAA,EAAY,uBAAuB;AACnClM,QAAAA,IAAI,EAAEmM,IAAK;AACXC,QAAAA,IAAI,EAAC,IAAI;AACTC,QAAAA,OAAO,EAAC,OAAO;AACfC,QAAAA,YAAY,EAAE;AACZC,UAAAA,OAAO,EAAErP,CAAC,CAAC,sCAAsC,CAAC;AAClDsP,UAAAA,QAAQ,EAAE;SACV;AACF7U,QAAAA,OAAO,EAAEoT;OACV,CACF,EACAyG,kBAAkB,iBACjBrZ,cAAA,CAAC+T,iBAAM,EAAA9T,eAAA,CAAA;AACL,QAAA,aAAA,EAAY,eAAe;AAC3B4H,QAAAA,IAAI,EAAEyM,MAAO;AACbL,QAAAA,IAAI,EAAC,IAAI;AACTC,QAAAA,OAAO,EAAC,OAAO;AACfC,QAAAA,YAAY,EAAE;AACZC,UAAAA,OAAO,EAAErP,CAAC,CAAC,sCAAsC,CAAC;AAClDsP,UAAAA,QAAQ,EAAE;SACV;AACF7U,QAAAA,OAAO,EAAE,SAATA,OAAOA,GAAQ;AACb9B,UAAAA,aAAa,EAAE;AACf2b,UAAAA,kBAAkB,EAAE;AACtB,QAAA;OAAE,EACE9b,kBAAkB,CACvB,CACF;AAAA,KACE,CAAC;AAAA,GACH,CAAC;AAEV,CAAC;;;;;ACvLD,IAAMoc,cAAc,GAAG,SAAjBA,cAAcA,CAAGxX,MAAM,EAAI;AAC/B,EAAA,IAAAyX,gBAAA,GAAAC,+BAAA,CAAAC,kBAAA,WAAAC,KAAA,EAAA;AAAA,MAAA,OAAA;AAAQC,QAAAA,aAAa,EAAAD,KAAA,CAAA,eAAA,CAAA;AAAEE,QAAAA,eAAe,EAAAF,KAAA,CAAA,iBAAA;AAAA,OAAA;AAAA,IAAA,CAAA,CAAA,CAAA;IAA9BC,aAAa,GAAAJ,gBAAA,CAAbI,aAAa;IAAEC,eAAe,GAAAL,gBAAA,CAAfK,eAAe;AAEtC,EAAA,IAAMC,QAAQ,GAAGC,iBAAW,CAC1B,UAAAnb,IAAA,EAAA;AAAA,IAAA,IAAG8P,IAAI,GAAA9P,IAAA,CAAJ8P,IAAI;MAAAsL,SAAA,GAAApb,IAAA,CAAEqb,IAAI;AAAJA,MAAAA,IAAI,GAAAD,SAAA,KAAA,MAAA,GAAG,EAAE,GAAAA,SAAA;AAAA,IAAA,OAChBJ,aAAa,CAAC;AACZlL,MAAAA,IAAI,EAAJA,IAAI;AACJoF,MAAAA,OAAO,EAAE,SAAS;MAClBD,IAAI,EAAE7X,iBAAiB,CAAC6E,QAAQ,CAAC6N,IAAI,CAAC,GAAG,OAAO,GAAG,OAAO;AAC1DuL,MAAAA,IAAI,EAAApa,eAAA,CAAA;AAAIkC,QAAAA,MAAM,EAANA;AAAM,OAAA,EAAKkY,IAAI;AACzB,KAAC,CAAC;AAAA,EAAA,CAAA,EACJ,CAAClY,MAAM,EAAE6X,aAAa,CACxB,CAAC;AAED,EAAA,IAAMM,QAAQ,GAAGH,iBAAW,CAC1B,UAAA3B,KAAK,EAAI;IACP,IAAM1J,IAAI,GAAG7S,mBAAmB,CAACuc,KAAK,KAAA,IAAA,IAALA,KAAK,KAAA,MAAA,GAAA,MAAA,GAALA,KAAK,CAAE1J,IAAI,CAAC;IAC7C,IAAI,CAACA,IAAI,EAAE;AAEX,IAAA,IAAcyL,MAAM,GAAc/B,KAAK,CAA/B1J,IAAI;AAAanP,MAAAA,IAAI,GAAAC,wBAAA,CAAK4Y,KAAK,EAAA3Y,SAAA,CAAA;AACvCqa,IAAAA,QAAQ,CAAC;AAAEpL,MAAAA,IAAI,EAAJA,IAAI;AAAEuL,MAAAA,IAAI,EAAApa,eAAA,CAAA;AAAIsa,QAAAA,MAAM,EAANA;AAAM,OAAA,EAAK5a,IAAI;AAAG,KAAC,CAAC;AAC/C,EAAA,CAAC,EACD,CAACua,QAAQ,CACX,CAAC;EAED,OAAO;AAAEI,IAAAA,QAAQ,EAARA,QAAQ;AAAEJ,IAAAA,QAAQ,EAARA,QAAQ;AAAEM,IAAAA,SAAS,EAAEP;GAAiB;AAC3D,CAAC;;ACbD,IAAMQ,YAAY,GAAG,SAAfA,YAAYA,CAAGtY,MAAM,EAAI;AAC7B,EAAA,IAAAuY,iBAAA,GAAkCC,uBAAgB,EAAE;IAA5CvW,MAAM,GAAAsW,iBAAA,CAANtW,MAAM;IAAEwW,aAAa,GAAAF,iBAAA,CAAbE,aAAa;AAE7B,EAAA,IAAMC,KAAK,GAAG,SAARA,KAAKA,CAAA7b,IAAA,EAAA;AAAA,IAAA,IAAM0R,IAAI,GAAA1R,IAAA,CAAJ0R,IAAI;MAAEpZ,KAAK,GAAA0H,IAAA,CAAL1H,KAAK;AAAA,IAAA,OAAOsjB,aAAa,CAAClK,IAAI,EAAEpZ,KAAK,CAAC;AAAA,EAAA,CAAA;AAC7D,EAAA,IAAMwjB,QAAQ,GAAG,SAAXA,QAAQA,CAAGC,KAAK,EAAA;AAAA,IAAA,OAAIA,KAAK,CAACpc,OAAO,CAACkc,KAAK,CAAC;AAAA,EAAA,CAAA;EAE9C,IAAM9R,IAAI,GAAGiS,aAAO,CAClB,YAAA;AAAA,IAAA,OAAMjL,iBAAiB,CAAC;AAAE3L,MAAAA,MAAM,EAANA,MAAM;AAAEjC,MAAAA,MAAM,EAANA;AAAO,KAAC,CAAC;AAAA,EAAA,CAAA,EAC3C,CAACiC,MAAM,EAAEjC,MAAM,CACjB,CAAC;EAED,OAAO;AACL4G,IAAAA,IAAI,EAAJA,IAAI;AACJkS,IAAAA,SAAS,EAAE3L,mBAAmB,CAACnN,MAAM,CAAC;AACtCqO,IAAAA,WAAW,EAAE,SAAbA,aAAWA,CAAE5X,QAAQ,EAAA;MAAA,OAAIiiB,KAAK,CAACrK,WAAW,CAAC;AAAErO,QAAAA,MAAM,EAANA,MAAM;AAAEvJ,QAAAA,QAAQ,EAARA;AAAS,OAAC,CAAC,CAAC;AAAA,IAAA,CAAA;AACjE+X,IAAAA,YAAY,EAAE,SAAdA,cAAYA,CAAE/N,SAAS,EAAA;MAAA,OAAIiY,KAAK,CAAClK,YAAY,CAAC;AAAExO,QAAAA,MAAM,EAANA,MAAM;AAAES,QAAAA,SAAS,EAATA;AAAU,OAAC,CAAC,CAAC;AAAA,IAAA,CAAA;AACrEiO,IAAAA,UAAU,EAAE,SAAZA,YAAUA,CAAEzX,OAAO,EAAA;MAAA,OAAIyhB,KAAK,CAAChK,UAAU,CAAC;AAAE1O,QAAAA,MAAM,EAANA,MAAM;AAAE/I,QAAAA,OAAO,EAAPA;AAAQ,OAAC,CAAC,CAAC;AAAA,IAAA,CAAA;AAC7D2X,IAAAA,aAAa,EAAE,SAAfA,eAAaA,CAAE9X,UAAU,EAAA;MAAA,OAAI4hB,KAAK,CAAC9J,aAAa,CAAC;AAAE5O,QAAAA,MAAM,EAANA,MAAM;AAAElJ,QAAAA,UAAU,EAAVA;AAAW,OAAC,CAAC,CAAC;AAAA,IAAA,CAAA;AACzEgY,IAAAA,gBAAgB,EAAE,SAAlBA,kBAAgBA,CAAEjC,QAAQ,EAAA;MAAA,OACxB6L,KAAK,CACH5J,gBAAgB,CAAC;AAAE9O,QAAAA,MAAM,EAANA,MAAM;QAAElJ,UAAU,EAAE8P,IAAI,CAAC9P,UAAU;AAAE+V,QAAAA,QAAQ,EAARA;AAAS,OAAC,CACpE,CAAC;AAAA,IAAA,CAAA;AACHoC,IAAAA,QAAQ,EAAE,SAAVA,UAAQA,CAAE7X,KAAK,EAAA;MAAA,OAAIshB,KAAK,CAACzJ,QAAQ,CAAC;AAAEjP,QAAAA,MAAM,EAANA,MAAM;AAAE5I,QAAAA,KAAK,EAALA;AAAM,OAAC,CAAC,CAAC;AAAA,IAAA,CAAA;AACrD+X,IAAAA,SAAS,EAAE,SAAXA,WAASA,CAAEjS,MAAM,EAAA;MAAA,OAAIwb,KAAK,CAACvJ,SAAS,CAAC;AAAEnP,QAAAA,MAAM,EAANA,MAAM;AAAE9C,QAAAA,MAAM,EAANA;AAAO,OAAC,CAAC,CAAC;AAAA,IAAA,CAAA;AACzDmS,IAAAA,QAAQ,EAAE,SAAVA,UAAQA,CAAElH,KAAK,EAAA;MAAA,OAAIuQ,KAAK,CAACrJ,QAAQ,CAAC;AAAErP,QAAAA,MAAM,EAANA,MAAM;AAAEmI,QAAAA,KAAK,EAALA;AAAM,OAAC,CAAC,CAAC;AAAA,IAAA,CAAA;AACrD4Q,IAAAA,eAAe,EAAE,SAAjBA,eAAeA,CAAE1P,KAAK,EAAA;MAAA,OACpBsP,QAAQ,CACNpJ,eAAe,CAAC;AACdtN,QAAAA,MAAM,EAANA,MAAM;AACNvL,QAAAA,QAAQ,EAAEyW,mBAAmB,CAACnN,MAAM,CAAC,CAAClJ,UAAU;AAChDuS,QAAAA,KAAK,EAALA;AACF,OAAC,CACH,CAAC;AAAA,IAAA,CAAA;AACH2P,IAAAA,YAAY,EAAE,SAAdA,YAAYA,CAAE3P,KAAK,EAAA;MAAA,OACjBsP,QAAQ,CACNpJ,eAAe,CAAC;AACdtN,QAAAA,MAAM,EAANA,MAAM;AACNvL,QAAAA,QAAQ,EAAEyW,mBAAmB,CAACnN,MAAM,CAAC,CAAC/I,OAAO;AAC7CoS,QAAAA,KAAK,EAALA;AACF,OAAC,CACH,CAAC;AAAA,IAAA,CAAA;IACH4P,aAAa,EAAE,SAAfA,aAAaA,GAAA;MAAA,OACXN,QAAQ,CACNxI,eAAe,CAAC;AACdlO,QAAAA,MAAM,EAANA,MAAM;AACNvL,QAAAA,QAAQ,EAAEyW,mBAAmB,CAACnN,MAAM,CAAC,CAACvJ;AACxC,OAAC,CACH,CAAC;AAAA,IAAA,CAAA;IACHyiB,eAAe,EAAE,SAAjBA,eAAeA,GAAA;MAAA,OACbP,QAAQ,CACNxI,eAAe,CAAC;AACdlO,QAAAA,MAAM,EAANA,MAAM;AACNvL,QAAAA,QAAQ,EAAEyW,mBAAmB,CAACnN,MAAM,CAAC,CAAClJ;AACxC,OAAC,CACH,CAAC;AAAA,IAAA,CAAA;IACHqiB,YAAY,EAAE,SAAdA,YAAYA,GAAA;MAAA,OACVR,QAAQ,CACNxI,eAAe,CAAC;AACdlO,QAAAA,MAAM,EAANA,MAAM;AACNvL,QAAAA,QAAQ,EAAEyW,mBAAmB,CAACnN,MAAM,CAAC,CAAC/I;AACxC,OAAC,CACH,CAAC;AAAA,IAAA;GACJ;AACH,CAAC;;;;AC7DD,IAAMmiB,YAAY,GAAG,SAAfA,YAAYA,CAAGzZ,MAAM,EAAA;EAAA,IAAA9C,IAAA,EAAAwc,kBAAA;EAAA,OAAA,CAAAxc,IAAA,IAAAwc,kBAAA,GAAI1Z,MAAM,CAACC,UAAU,MAAA,IAAA,IAAAyZ,kBAAA,KAAA,MAAA,GAAAA,kBAAA,GAAI1Z,MAAM,CAACxK,KAAK,MAAA,IAAA,IAAA0H,IAAA,cAAAA,IAAA,GAAI8C,MAAM,CAACE,EAAE;AAAA,CAAA;AAE7E,IAAMyZ,MAAM,GAAG,SAATA,MAAMA,CAAAnZ,KAAA,EAAA;AAAA,EAAA,IAAMH,MAAM,GAAAG,KAAA,CAANH,MAAM;IAAE4G,IAAI,GAAAzG,KAAA,CAAJyG,IAAI;IAAEyC,KAAK,GAAAlJ,KAAA,CAALkJ,KAAK;IAAEiN,OAAO,GAAAnW,KAAA,CAAPmW,OAAO;AAAA,EAAA,OAC5C7S,aAAa,CAAC;AAAEzD,IAAAA,MAAM,EAANA,MAAM;IAAE2D,MAAM,EAAE4V,QAAQ,CAAC;AAAE3S,MAAAA,IAAI,EAAJA,IAAI;AAAEyC,MAAAA,KAAK,EAALA;KAAO;AAAE,GAAC,CAAC,CAACpJ,IAAI,CAC/D,UAAAgE,IAAI,EAAA;AAAA,IAAA,OAAIA,IAAI,CAAC3F,GAAG,KAAKgY,OAAO;AAAA,EAAA,CAC9B,CAAC;AAAA,CAAA;;AAEH;AACA;AACA,IAAMkD,eAAe,GAAG,SAAlBA,eAAeA,CAAAjZ,KAAA,EAAyC;AAAA,EAAA,IAAnCP,MAAM,GAAAO,KAAA,CAANP,MAAM;IAAE4G,IAAI,GAAArG,KAAA,CAAJqG,IAAI;IAAEyC,KAAK,GAAA9I,KAAA,CAAL8I,KAAK;IAAEiN,OAAO,GAAA/V,KAAA,CAAP+V,OAAO;EACrD,IAAMzS,KAAK,GAAGJ,aAAa,CAAC;AAAEzD,IAAAA,MAAM,EAANA,MAAM;IAAE2D,MAAM,EAAE4V,QAAQ,CAAC;AAAE3S,MAAAA,IAAI,EAAJA,IAAI;AAAEyC,MAAAA,KAAK,EAALA;KAAO;AAAE,GAAC,CAAC;EAC1E,IAAMoQ,EAAE,GAAGnD,OAAO,GAAGzS,KAAK,CAAC6V,SAAS,CAAC,UAAAzV,IAAI,EAAA;AAAA,IAAA,OAAIA,IAAI,CAAC3F,GAAG,KAAKgY,OAAO;EAAA,CAAA,CAAC,GAAG,EAAE;AACvE;AACA;EACA,IAAIA,OAAO,IAAImD,EAAE,KAAK,EAAE,EAAE,OAAO,IAAI;AAErC,EAAA,IAAME,IAAI,GAAG9V,KAAK,CAAC4V,EAAE,GAAG,CAAC,CAAC;AAE1B,EAAA,OAAOE,IAAI,GACP;IACEhN,IAAI,EAAE1U,mBAAmB,CAACS,WAAW;AACrCwf,IAAAA,IAAI,EAAE;AAAE7O,MAAAA,KAAK,EAALA,KAAK;MAAEiN,OAAO,EAAEqD,IAAI,CAACrb,GAAG;MAAE8Z,MAAM,EAAEnf,eAAe,CAACP;AAAY;AACxE,GAAC,GACD,IAAI;AACV,CAAC;AAED,IAAMkhB,WAAW,GAAG,SAAdA,WAAWA,CAAGja,MAAM,EAAA;AAAA,EAAA,IAAA6D,aAAA;AAAA,EAAA,OAAA,CAAAA,aAAA,GAAI7D,MAAM,CAACxK,KAAK,MAAA,IAAA,IAAAqO,aAAA,KAAA,MAAA,GAAAA,aAAA,GAAI7D,MAAM,CAACE,EAAE;AAAA,CAAA;AAEvD,IAAMga,gBAAgB,GAAG,SAAnBA,gBAAgBA,CAAGljB,OAAO,EAAA;EAAA,OAC9B,CAACA,OAAO,IAAI,EAAE,EAAE0K,GAAG,CAAC,UAAA1B,MAAM,EAAA;IAAA,OACxB,OAAOA,MAAM,KAAK,QAAQ,GAAGma,yBAAe,CAACna,MAAM,CAAC,GAAGA,MAAM;AAAA,EAAA,CAC/D,CAAC;AAAA,CAAA;AAEH,IAAMoa,eAAe,GAAG,SAAlBA,eAAeA,CAAGpjB,OAAO,EAAI;EACjC,IAAMqjB,MAAM,GAAG,EAAE;EACjB,IAAMC,eAAe,GAAG,EAAE;AAC1BtjB,EAAAA,OAAO,CAAC6F,OAAO,CAAC,UAAAmD,MAAM,EAAI;AACxB,IAAA,IAAMua,QAAQ,GAAGva,MAAM,CAACua,QAAQ,IAAI,EAAE;AACtC;AACA,IAAA,IAAID,eAAe,CAACC,QAAQ,CAAC,KAAKlc,SAAS,EAAE;AAC3C;AACAic,MAAAA,eAAe,CAACC,QAAQ,CAAC,GAAGF,MAAM,CAAClR,MAAM;MACzCkR,MAAM,CAACvQ,IAAI,CAAC,CAACyQ,QAAQ,EAAE,EAAE,CAAC,CAAC;AAC7B,IAAA;AACA;AACAF,IAAAA,MAAM,CAACC,eAAe,CAACC,QAAQ,CAAC,CAAC,CAAC,CAAC,CAAC,CAACzQ,IAAI,CAAC9J,MAAM,CAAC;AACnD,EAAA,CAAC,CAAC;AAEF,EAAA,OAAOqa,MAAM;AACf,CAAC;AAED,IAAMG,WAAW,GAAG,SAAdA,WAAWA,CAAAvZ,KAAA,EAAA;AAAA,EAAA,IAAMgG,IAAI,GAAAhG,KAAA,CAAJgG,IAAI;IAAEyC,KAAK,GAAAzI,KAAA,CAALyI,KAAK;AAAA,EAAA;AAChC;AACAzC,IAAAA,IAAI,CAAC9P,UAAU,CAACuS,KAAK,CAAC,IAAI;AAAE;AAAA,CAAA;;AAE9B;AACA,IAAMkQ,QAAQ,GAAG,SAAXA,QAAQA,CAAAvY,KAAA,EAAA;AAAA,EAAA,IAAM4F,IAAI,GAAA5F,KAAA,CAAJ4F,IAAI;IAAEyC,KAAK,GAAArI,KAAA,CAALqI,KAAK;EAAA,OAAOzC,IAAI,CAAC3P,OAAO,CAACoS,KAAK,CAAC,IAAI,EAAE;AAAA,CAAA;;AAE/D;AACA,IAAM+Q,WAAW,GAAG,SAAdA,WAAWA,CAAAjZ,KAAA,EAAA;AAAA,EAAA,IAAAkZ,WAAA;AAAA,EAAA,IAAMzT,IAAI,GAAAzF,KAAA,CAAJyF,IAAI;IAAEyC,KAAK,GAAAlI,KAAA,CAALkI,KAAK;AAAA,EAAA,OAAO,CAAA,CAAAgR,WAAA,GAAAzT,IAAI,CAACuB,KAAK,MAAA,IAAA,IAAAkS,WAAA,KAAA,MAAA,GAAA,MAAA,GAAVA,WAAA,CAAahR,KAAK,CAAC,KAAI,EAAE;AAAA,CAAA;AAElE,IAAMiR,cAAc,GAAG,SAAjBA,cAAcA,CAAGpS,IAAI,EAAA;AAAA,EAAA,OACzB,CAAAA,IAAI,KAAA,IAAA,IAAJA,IAAI,uBAAJA,IAAI,CAAEhT,KAAK,MAAIgT,IAAI,KAAA,IAAA,IAAJA,IAAI,KAAA,MAAA,GAAA,MAAA,GAAJA,IAAI,CAAExI,IAAI,CAAA,KAAIwI,IAAI,KAAA,IAAA,IAAJA,IAAI,KAAA,MAAA,GAAA,MAAA,GAAJA,IAAI,CAAE/S,KAAK,CAAA,IAAIsJ,MAAM,CAACyJ,IAAI,aAAJA,IAAI,KAAA,MAAA,GAAJA,IAAI,GAAI,EAAE,CAAC;AAAA,CAAA;AAEhE,IAAMqS,SAAS,GAAG,SAAZA,SAASA,CAAA/Y,KAAA,EAAA;AAAA,EAAA,IAAAX,kBAAA;AAAA,EAAA,IAAMb,MAAM,GAAAwB,KAAA,CAANxB,MAAM;IAAE7K,KAAK,GAAAqM,KAAA,CAALrM,KAAK;AAAA,EAAA,OAChC,CAAC,CAAA,CAAA0L,kBAAA,GAAAb,MAAM,CAAClJ,UAAU,MAAA,IAAA,IAAA+J,kBAAA,uBAAjBA,kBAAA,CAAmB9J,MAAM,KAAI,EAAE,EAAEkJ,IAAI,CAAC,UAAAa,KAAK,EAAA;AAAA,IAAA,OAAI8Y,WAAW,CAAC9Y,KAAK,CAAC,KAAK3L,KAAK;EAAA,CAAA,CAAC;AAAA,CAAA;AAE/E,IAAMqlB,gBAAgB,GAAG,SAAnBA,gBAAgBA,CAAA7Y,KAAA,EAAA;AAAA,EAAA,IAAAwB,eAAA;AAAA,EAAA,IAAMnD,MAAM,GAAA2B,KAAA,CAAN3B,MAAM;IAAEN,IAAI,GAAAiC,KAAA,CAAJjC,IAAI;AAAA,EAAA,OACtC,CAAC,CAAA,CAAAyD,eAAA,GAAAnD,MAAM,CAAC/I,OAAO,MAAA,IAAA,IAAAkM,eAAA,uBAAdA,eAAA,CAAgBxM,OAAO,KAAI,EAAE,EAAEsJ,IAAI,CAAC,UAAAN,MAAM,EAAA;AAAA,IAAA,OAAIia,WAAW,CAACja,MAAM,CAAC,KAAKD,IAAI;EAAA,CAAA,CAAC;AAAA,CAAA;AAE9E,IAAM+a,SAAS,GAAG,SAAZA,SAASA,CAAA7Y,KAAA,EAAA;EAAA,IAAA0B,gBAAA,EAAAoX,qBAAA;AAAA,EAAA,IAAM1a,MAAM,GAAA4B,KAAA,CAAN5B,MAAM;IAAE2D,MAAM,GAAA/B,KAAA,CAAN+B,MAAM;EAAA,OACjC,CAAAA,MAAM,KAAA,IAAA,IAANA,MAAM,uBAANA,MAAM,CAAEJ,OAAO,MAAA,CAAAD,gBAAA,GAAItD,MAAM,CAAC/I,OAAO,MAAA,IAAA,IAAAqM,gBAAA,gBAAAoX,qBAAA,GAAdpX,gBAAA,CAAgB0B,aAAa,MAAA,IAAA,IAAA0V,qBAAA,KAAA,MAAA,IAAA,CAAAA,qBAAA,GAA7BA,qBAAA,CAAAne,IAAA,CAAA+G,gBAAA,EAAgCK,MAAM,KAAA,IAAA,IAANA,MAAM,KAAA,MAAA,GAAA,MAAA,GAANA,MAAM,CAAEjE,IAAI,CAAC,cAAAgb,qBAAA,KAAA,MAAA,GAAA,MAAA,GAA7CA,qBAAA,CAA+CnX,OAAO,CAAA;AAAA,CAAA;AAE3E,IAAMoX,WAAW,GAAG,SAAdA,WAAWA,CAAAnY,KAAA,EAAA;AAAA,EAAA,IAAAgC,iBAAA,EAAA+I,gBAAA,EAAAqN,qBAAA;AAAA,EAAA,IAAM5a,MAAM,GAAAwC,KAAA,CAANxC,MAAM;IAAE2D,MAAM,GAAAnB,KAAA,CAANmB,MAAM;EAAA,OAAA,CAAAa,iBAAA,GACnCb,MAAM,KAAA,IAAA,IAANA,MAAM,KAAA,MAAA,GAAA,MAAA,GAANA,MAAM,CAAEoB,SAAS,MAAA,IAAA,IAAAP,iBAAA,cAAAA,iBAAA,GAAA,CAAA+I,gBAAA,GAAIvN,MAAM,CAAC/I,OAAO,MAAA,IAAA,IAAAsW,gBAAA,KAAA,MAAA,IAAA,CAAAqN,qBAAA,GAAdrN,gBAAA,CAAgBvI,aAAa,MAAA,IAAA,IAAA4V,qBAAA,KAAA,MAAA,IAAA,CAAAA,qBAAA,GAA7BA,qBAAA,CAAAre,IAAA,CAAAgR,gBAAA,EAAgC5J,MAAM,aAANA,MAAM,KAAA,MAAA,GAAA,MAAA,GAANA,MAAM,CAAEjE,IAAI,CAAC,cAAAkb,qBAAA,KAAA,MAAA,GAAA,MAAA,GAA7CA,qBAAA,CAA+C7V,SAAS;AAAA,CAAA;AAE/E,IAAM8V,aAAa,GAAG,SAAhBA,aAAaA,CAAA3X,KAAA,EAAA;AAAA,EAAA,IAAA4X,gBAAA;AAAA,EAAA,IAAM9a,MAAM,GAAAkD,KAAA,CAANlD,MAAM;IAAE2D,MAAM,GAAAT,KAAA,CAANS,MAAM;EAAA,OACrC,CAAA,CAAAmX,gBAAA,GAAA9a,MAAM,CAAC/I,OAAO,MAAA,IAAA,IAAA6jB,gBAAA,KAAA,MAAA,IAAA,CAAAA,gBAAA,GAAdA,gBAAA,CAAgB5jB,WAAW,MAAA,IAAA,IAAA4jB,gBAAA,uBAA3BA,gBAAA,CAA8BL,SAAS,CAAC;AAAEza,IAAAA,MAAM,EAANA,MAAM;AAAE2D,IAAAA,MAAM,EAANA;AAAO,GAAC,CAAC,CAAC,KAAI,EAAE;AAAA,CAAA;AAEpE,IAAMoX,eAAe,GAAG,SAAlBA,eAAeA,CAAA1X,MAAA,EAA2B;EAAA,IAAA2X,gBAAA,EAAAC,gBAAA;AAAA,EAAA,IAArBjb,MAAM,GAAAqD,MAAA,CAANrD,MAAM;IAAE2D,MAAM,GAAAN,MAAA,CAANM,MAAM;EACvC,IAAM7B,IAAI,GAAG+Y,aAAa,CAAC;AAAE7a,IAAAA,MAAM,EAANA,MAAM;AAAE2D,IAAAA,MAAM,EAANA;AAAO,GAAC,CAAC;AAC9C,EAAA,IAAI7B,IAAI,CAAC2D,WAAW,EAAE,OAAO,IAAI;EAEjC,IAAM9F,MAAM,GAAG6a,gBAAgB,CAAC;AAAExa,IAAAA,MAAM,EAANA,MAAM;AAAEN,IAAAA,IAAI,EAAEiE,MAAM,KAAA,IAAA,IAANA,MAAM,KAAA,MAAA,GAAA,MAAA,GAANA,MAAM,CAAEjE;AAAK,GAAC,CAAC;AAC/D,EAAA,IAAIC,MAAM,KAAA,IAAA,IAANA,MAAM,KAAA,MAAA,IAANA,MAAM,CAAEub,SAAS,IAAIvb,MAAM,KAAA,IAAA,IAANA,MAAM,KAAA,MAAA,IAANA,MAAM,CAAEwb,YAAY,EAAE,OAAO,IAAI;EAE1D,IAAA,CAAAH,gBAAA,GAAIhb,MAAM,CAAC/I,OAAO,MAAA,IAAA,IAAA+jB,gBAAA,eAAdA,gBAAA,CAAgBI,SAAS,EAAE,OAAOpb,MAAM,CAAC/I,OAAO,CAACmkB,SAAS,CAACzX,MAAM,CAAC;AAEtE,EAAA,OAAO,CAAC,EAAA,CAAAsX,gBAAA,GAACjb,MAAM,CAAC/I,OAAO,MAAA,IAAA,IAAAgkB,gBAAA,KAAA,MAAA,IAAdA,gBAAA,CAAgBE,YAAY,CAAA;AACvC,CAAC;AAED,IAAME,aAAa,GAAG,SAAhBA,aAAaA,CAAA3X,MAAA,EAA2B;EAAA,IAAA4X,gBAAA,EAAAC,gBAAA;AAAA,EAAA,IAArBvb,MAAM,GAAA0D,MAAA,CAAN1D,MAAM;IAAE2D,MAAM,GAAAD,MAAA,CAANC,MAAM;EACrC,IAAMJ,OAAO,GAAGkX,SAAS,CAAC;AAAEza,IAAAA,MAAM,EAANA,MAAM;AAAE2D,IAAAA,MAAM,EAANA;AAAO,GAAC,CAAC;AAC7C,EAAA,IAAIJ,OAAO,IAAA,CAAA+X,gBAAA,GAAItb,MAAM,CAAC/I,OAAO,MAAA,IAAA,IAAAqkB,gBAAA,KAAA,MAAA,IAAdA,gBAAA,CAAgBD,aAAa,EAAE;AAC5C,IAAA,OAAOrb,MAAM,CAAC/I,OAAO,CAACokB,aAAa,CAAC9X,OAAO,CAAC;AAC9C,EAAA;EAEA,IAAM5D,MAAM,GAAG6a,gBAAgB,CAAC;AAAExa,IAAAA,MAAM,EAANA,MAAM;AAAEN,IAAAA,IAAI,EAAE6D;AAAQ,GAAC,CAAC;EAC1D,IAAI5D,MAAM,KAAA,IAAA,IAANA,MAAM,KAAA,MAAA,IAANA,MAAM,CAAExI,UAAU,EAAE,OAAOwI,MAAM,CAACxI,UAAU;AAEhD,EAAA,OAAO,CAAA,CAAAokB,gBAAA,GAAAvb,MAAM,CAAC/I,OAAO,MAAA,IAAA,IAAAskB,gBAAA,KAAA,MAAA,GAAA,MAAA,GAAdA,gBAAA,CAAgBpkB,UAAU,KAAI,EAAE;AACzC,CAAC;AAED,IAAMqkB,YAAY,GAAG,SAAfA,YAAYA,CAAAzX,MAAA,EAAgC;AAAA,EAAA,IAAAhE,gBAAA;AAAA,EAAA,IAA1BC,MAAM,GAAA+D,MAAA,CAAN/D,MAAM;IAAE4G,IAAI,GAAA7C,MAAA,CAAJ6C,IAAI;IAAEzR,KAAK,GAAA4O,MAAA,CAAL5O,KAAK;EACzC,IAAA,CAAA4K,gBAAA,GAAIC,MAAM,CAACvJ,QAAQ,MAAA,IAAA,IAAAsJ,gBAAA,KAAA,MAAA,IAAfA,gBAAA,CAAiB0b,KAAK,EAAE;IAC1B,IAAMC,KAAK,GAAGC,WAAK,CAAC,MAAM,EAAE/U,IAAI,CAACnQ,QAAQ,CAAC;IAE1C,OAAOilB,KAAK,CAAC5c,QAAQ,CAAC3J,KAAK,CAAC,GACxBymB,kBAAQ,CAAC;AAAElc,MAAAA,IAAI,EAAEvK;AAAM,KAAC,EAAEyR,IAAI,CAACnQ,QAAQ,CAAC,GAAA,EAAA,CAAAuM,MAAA,CAAA0J,kBAAA,CACpC9F,IAAI,CAACnQ,QAAQ,CAAA,EAAA,CAAE;AAAEiJ,MAAAA,IAAI,EAAEvK;AAAM,KAAC,CAAA,CAAC;AACzC,EAAA;EAEA,OAAO,CAAA2I,eAAA,CAAAA,eAAA,CAAA,EAAA,EAAM8I,IAAI,CAACnQ,QAAQ,CAAC,CAAC,CAAC,CAAA,EAAA,EAAA,EAAA;AAAEiJ,IAAAA,IAAI,EAAEvK;GAAK,CAAA,CAAG;AAC/C,CAAC;AAED,IAAM0mB,eAAe,GAAG,SAAlBA,eAAeA,CAAA1X,MAAA,EAAuC;AAAA,EAAA,IAAA2X,oBAAA;AAAA,EAAA,IAAjC9b,MAAM,GAAAmE,MAAA,CAANnE,MAAM;IAAE4G,IAAI,GAAAzC,MAAA,CAAJyC,IAAI;IAAEyC,KAAK,GAAAlF,MAAA,CAALkF,KAAK;IAAElU,KAAK,GAAAgP,MAAA,CAALhP,KAAK;EACnD,IAAM2L,KAAK,GAAGyZ,SAAS,CAAC;AAAEva,IAAAA,MAAM,EAANA,MAAM;AAAE7K,IAAAA,KAAK,EAALA;AAAM,GAAC,CAAC;EAC1C,IAAM4mB,QAAQ,GAAG5B,WAAW,CAAC;AAAEvT,IAAAA,IAAI,EAAJA,IAAI;AAAEyC,IAAAA,KAAK,EAALA;AAAM,GAAC,CAAC;AAC7C,EAAA,IAAM2S,KAAK,GAAGlb,KAAK,KAAA,IAAA,IAALA,KAAK,gBAAAgb,oBAAA,GAALhb,KAAK,CAAEmb,aAAa,MAAA,IAAA,IAAAH,oBAAA,uBAApBA,oBAAA,CAAuB,CAAC,CAAC;EACvC,IAAMI,WAAW,GACfF,KAAK,IAAI,CAAC,CAAC,CAAAlb,KAAK,KAAA,IAAA,IAALA,KAAK,KAAA,MAAA,GAAA,MAAA,GAALA,KAAK,CAAEW,eAAe,KAAI,EAAE,EAAE3C,QAAQ,CAACkd,KAAK,CAAC,GACpDA,KAAK,GACLhe,SAAS;EAEf,IAAMa,IAAI,GAAG,CAAC,CAAAiC,KAAK,aAALA,KAAK,KAAA,MAAA,GAAA,MAAA,GAALA,KAAK,CAAEmb,aAAa,KAAI,EAAE,EAAEnd,QAAQ,CAACid,QAAQ,CAACld,IAAI,CAAC,GAC7Dkd,QAAQ,CAACld,IAAI,GACbqd,WAAW;AAEf,EAAA,OAAApe,eAAA,CAAAA,eAAA,CAAA,EAAA,EACKie,QAAQ,CAAA,EAAA,EAAA,EAAA;AACXjb,IAAAA,KAAK,EAAE3L,KAAK;AACZgnB,IAAAA,IAAI,EAAErb,KAAK,KAAA,IAAA,IAALA,KAAK,KAAA,MAAA,GAAA,MAAA,GAALA,KAAK,CAAEqb,IAAI;AACjBtd,IAAAA,IAAI,EAAJA,IAAI;AACJkD,IAAAA,QAAQ,EAAE;AAAE,GAAA,CAAA;AAEhB,CAAC;AAED,IAAMqa,YAAY,GAAG,SAAfA,YAAYA,CAAA9X,MAAA,EAAuC;AAAA,EAAA,IAAA+X,gBAAA;AAAA,EAAA,IAAjCrc,MAAM,GAAAsE,MAAA,CAANtE,MAAM;IAAE4G,IAAI,GAAAtC,MAAA,CAAJsC,IAAI;IAAEyC,KAAK,GAAA/E,MAAA,CAAL+E,KAAK;IAAElU,KAAK,GAAAmP,MAAA,CAALnP,KAAK;AAChD,EAAA,IAAI,EAAA,CAAAknB,gBAAA,GAACrc,MAAM,CAAC/I,OAAO,MAAA,IAAA,IAAAolB,gBAAA,KAAA,MAAA,IAAdA,gBAAA,CAAgBC,WAAW,CAAA,EAAE;IAChC,IAAM3c,MAAM,GAAG6a,gBAAgB,CAAC;AAAExa,MAAAA,MAAM,EAANA,MAAM;AAAEN,MAAAA,IAAI,EAAEvK;AAAM,KAAC,CAAC;IACxD,IAAMonB,KAAI,GAAGhD,QAAQ,CAAC;AAAE3S,MAAAA,IAAI,EAAJA,IAAI;AAAEyC,MAAAA,KAAK,EAALA;AAAM,KAAC,CAAC;AAEtC,IAAA,IAAI1J,MAAM,KAAA,IAAA,IAANA,MAAM,eAANA,MAAM,CAAExI,UAAU,EAAE;AACtB,MAAA,IAAMqlB,eAAc,GAAGD,KAAI,CAAChZ,OAAO,KAAKpO,KAAK;AAE7C,MAAA,OAAA2I,eAAA,CAAAA,eAAA,CAAA,EAAA,EACKye,KAAI,CAAA,EAAA,EAAA,EAAA;AACPhZ,QAAAA,OAAO,EAAEpO,KAAK;AACd4P,QAAAA,SAAS,EAAEyX,eAAc,GAAGxe,SAAS,GAAGue,KAAI,CAACxX,SAAS;AACtDrF,QAAAA,IAAI,EAAE,EAAE;AACRiN,QAAAA,IAAI,EAAEhN,MAAM,KAAA,IAAA,IAANA,MAAM,KAAA,MAAA,GAAA,MAAA,GAANA,MAAM,CAAEgN,IAAI;AAClB5K,QAAAA,QAAQ,EAAEya,eAAc,GAAG,EAAE,GAAGD,KAAI,CAACxa;AAAQ,OAAA,CAAA;AAEjD,IAAA;AAEA,IAAA,OAAAjE,eAAA,CAAAA,eAAA,CAAA,EAAA,EACKye,KAAI,CAAA,EAAA,EAAA,EAAA;AACPhZ,MAAAA,OAAO,EAAEvF,SAAS;AAClB+G,MAAAA,SAAS,EAAE/G,SAAS;AACpB0B,MAAAA,IAAI,EAAEvK,KAAK;AACXwX,MAAAA,IAAI,EAAEhN,MAAM,KAAA,IAAA,IAANA,MAAM,KAAA,MAAA,GAAA,MAAA,GAANA,MAAM,CAAEgN,IAAI;AAClB5K,MAAAA,QAAQ,EAAE;AAAE,KAAA,CAAA;AAEhB,EAAA;EAEA,IAAMwa,IAAI,GAAGhD,QAAQ,CAAC;AAAE3S,IAAAA,IAAI,EAAJA,IAAI;AAAEyC,IAAAA,KAAK,EAALA;AAAM,GAAC,CAAC;EACtC,IAAMoT,WAAW,GAAGhC,SAAS,CAAC;AAAEza,IAAAA,MAAM,EAANA,MAAM;AAAE2D,IAAAA,MAAM,EAAE4Y;AAAK,GAAC,CAAC;AACvD,EAAA,IAAMC,cAAc,GAAGC,WAAW,KAAKtnB,KAAK;EAC5C,IAAI4P,SAAS,GAAGyX,cAAc,GAAGxe,SAAS,GAAGue,IAAI,CAACxX,SAAS;AAC3D,EAAA,IAAIyX,cAAc,EAAE;AAAA,IAAA,IAAAE,gBAAA;AAClB,IAAA,IAAMC,iBAAiB;AACrB;IACA,CAAA,CAAAD,gBAAA,GAAA1c,MAAM,CAAC/I,OAAO,MAAA,IAAA,IAAAylB,gBAAA,gBAAAA,gBAAA,GAAdA,gBAAA,CAAgBE,mBAAmB,cAAAF,gBAAA,KAAA,MAAA,GAAA,MAAA,GAAnCA,gBAAA,CAAsCvnB,KAAK,CAAC,KAAI,EAAE;AACpD,IAAA,IAAIwnB,iBAAiB,CAAC7T,MAAM,KAAK,CAAC,EAAA;AAAA,MAAA,IAAA+T,kBAAA,GAAA5hB,cAAA,CAAgB0hB,iBAAiB,EAAA,CAAA,CAAA;AAA9B5X,MAAAA,SAAS,GAAA8X,kBAAA,CAAA,CAAA,CAAA;AAAA,IAAA;AAChD,EAAA;AAEA,EAAA,OAAA/e,eAAA,CAAAA,eAAA,CAAA,EAAA,EACKye,IAAI,CAAA,EAAA,EAAA,EAAA;AACPhZ,IAAAA,OAAO,EAAEpO,KAAK;AACd4P,IAAAA,SAAS,EAATA,SAAS;AACTrF,IAAAA,IAAI,EAAEM,MAAM,CAAC/I,OAAO,CAACqlB,WAAW,CAAC;AAAE/Y,MAAAA,OAAO,EAAEpO,KAAK;AAAE4P,MAAAA,SAAS,EAATA;AAAU,KAAC,CAAC;AAC/DhD,IAAAA,QAAQ,EAAEya,cAAc,GAAG,EAAE,GAAGD,IAAI,CAACxa;AAAQ,GAAA,CAAA;AAEjD,CAAC;AAED,IAAM+a,eAAe,GAAG,SAAlBA,eAAeA,CAAAxW,MAAA,EAAgC;AAAA,EAAA,IAAAyW,iBAAA;AAAA,EAAA,IAA1B/c,MAAM,GAAAsG,MAAA,CAANtG,MAAM;IAAE4G,IAAI,GAAAN,MAAA,CAAJM,IAAI;IAAEzR,KAAK,GAAAmR,MAAA,CAALnR,KAAK;AAC5C,EAAA,IAAM6nB,EAAE,GAAGhd,MAAM,CAACmI,KAAK,IAAI,EAAE;AAC7B,EAAA,IAAMxI,MAAM,GAAG,CAACqd,EAAE,CAACrmB,OAAO,IAAI,EAAE,EAAEsJ,IAAI,CACpC,UAAAS,SAAS,EAAA;AAAA,IAAA,OAAIkZ,WAAW,CAAClZ,SAAS,CAAC,KAAKvL,KAAK;AAAA,EAAA,CAC/C,CAAC,IAAI;AAAEA,IAAAA,KAAK,EAALA;GAAO;EACd,IAAM+T,aAAa,GAAG,CAAA,CAAA6T,iBAAA,GAAAC,EAAE,CAAC9T,aAAa,MAAA,IAAA,IAAA6T,iBAAA,KAAA,MAAA,GAAA,MAAA,GAAhBA,iBAAA,CAAAxgB,IAAA,CAAAygB,EAAE,EAAiBpW,IAAI,CAAC3P,OAAO,CAAC,KAAI,KAAK;AAC/D,EAAA,IAAI,CAACiS,aAAa,EAAE,OAAOvJ,MAAM;EAEjC,IAAM+I,WAAW,GAAGL,gBAAgB,CAAC;AAAErI,IAAAA,MAAM,EAANA,MAAM;AAAEkI,IAAAA,IAAI,EAAEvI;AAAO,GAAC,CAAC;AAE9D,EAAA,OAAO,CAAA+I,WAAW,KAAA,IAAA,IAAXA,WAAW,uBAAXA,WAAW,CAAEI,MAAM,MAAK,CAAC,GAAAhL,eAAA,CAAAA,eAAA,KACvB6B,MAAM,CAAA,EAAA,EAAA,EAAA;AAAEkJ,IAAAA,UAAU,EAAEH,WAAW,CAAC,CAAC,CAAC,CAACvT;AAAK,GAAA,CAAA,GAC7CwK,MAAM;AACZ,CAAC;AAED,IAAMsd,qBAAqB,GAAG,SAAxBA,qBAAqBA,CAAA1W,MAAA,EAAuC;AAAA,EAAA,IAAA2W,gBAAA;AAAA,EAAA,IAAjCld,MAAM,GAAAuG,MAAA,CAANvG,MAAM;IAAE4G,IAAI,GAAAL,MAAA,CAAJK,IAAI;IAAEyC,KAAK,GAAA9C,MAAA,CAAL8C,KAAK;IAAElU,KAAK,GAAAoR,MAAA,CAALpR,KAAK;EACzD,IAAMonB,IAAI,GAAGhD,QAAQ,CAAC;AAAE3S,IAAAA,IAAI,EAAJA,IAAI;AAAEyC,IAAAA,KAAK,EAALA;AAAM,GAAC,CAAC;EACtC,IAAM9F,OAAO,GAAGkX,SAAS,CAAC;AAAEza,IAAAA,MAAM,EAANA,MAAM;AAAE2D,IAAAA,MAAM,EAAE4Y;AAAK,GAAC,CAAC;AAEnD,EAAA,OAAAze,eAAA,CAAAA,eAAA,CAAA,EAAA,EACKye,IAAI,CAAA,EAAA,EAAA,EAAA;AACPxX,IAAAA,SAAS,EAAE5P,KAAK;AAChBuK,IAAAA,IAAI,EAAE,CAAAwd,gBAAA,GAAAld,MAAM,CAAC/I,OAAO,MAAA,IAAA,IAAAimB,gBAAA,eAAdA,gBAAA,CAAgBZ,WAAW,GAC7Btc,MAAM,CAAC/I,OAAO,CAACqlB,WAAW,CAAC;AAAE/Y,MAAAA,OAAO,EAAPA,OAAO;AAAEwB,MAAAA,SAAS,EAAE5P;AAAM,KAAC,CAAC,GACzDA;AAAK,GAAA,CAAA;AAEb,CAAC;AAED,IAAMgoB,aAAa,GAAG,SAAhBA,aAAaA,CAAA/V,MAAA,EAAiD;AAAA,EAAA,IAAAiG,cAAA;AAAA,EAAA,IAA3C+K,MAAM,GAAAhR,MAAA,CAANgR,MAAM;IAAEpY,MAAM,GAAAoH,MAAA,CAANpH,MAAM;IAAE4G,IAAI,GAAAQ,MAAA,CAAJR,IAAI;IAAEyC,KAAK,GAAAjC,MAAA,CAALiC,KAAK;IAAEiN,OAAO,GAAAlP,MAAA,CAAPkP,OAAO;AAC3D,EAAA,QAAQ8B,MAAM;IACZ,KAAKnf,eAAe,CAACC,WAAW;IAChC,KAAKD,eAAe,CAACE,eAAe;AAAE,MAAA;AAAA,QAAA,IAAA+N,iBAAA,EAAA1G,aAAA,EAAA8J,iBAAA;AACpC,QAAA,IAAMmR,KAAK,GAAG,CAAC,EAAA,CAAAvU,iBAAA,GAAClH,MAAM,CAACvJ,QAAQ,MAAA,IAAA,IAAAyQ,iBAAA,KAAA,MAAA,IAAfA,iBAAA,CAAiBuU,KAAK,CAAA;AACtC,QAAA,IAAM2B,SAAS,GAAGhF,MAAM,KAAKnf,eAAe,CAACE,eAAe;QAC5D,IAAMkkB,YAAY,GAAGD,SAAS,GACzB3B,KAAK,IAAI7Y,SAAC,CAAC,yCAAyC,CAAC,IACtDA,SAAC,CAAC,wCAAwC,CAAC,GAC1C6Y,KAAK,IAAI7Y,SAAC,CAAC,uCAAuC,CAAC,IACpDA,SAAC,CAAC,qCAAqC,CAAC;QAE5C,IAAM0a,eAAe,GAClB7B,KAAK,IAAI7Y,SAAC,CAAC,+CAA+C,CAAC,KAC3Dwa,SAAS,GACNxa,SAAC,CAAC,iDAAiD,CAAC,GACpDA,SAAC,CAAC,6CAA6C,CAAC,CAAC;QAEvD,OAAO;AACLmU,UAAAA,KAAK,EAAEsG,YAAY;AACnBE,UAAAA,QAAQ,EAAED,eAAe;AACzB7B,UAAAA,KAAK,EAALA,KAAK;AACL+B,UAAAA,OAAO,EAAE,CAAC,EAAA,CAAAhd,aAAA,GAACR,MAAM,CAACpJ,KAAK,MAAA,IAAA,IAAA4J,aAAA,KAAA,MAAA,IAAZA,aAAA,CAAc3J,OAAO,CAAA;UAChCF,OAAO,EAAE,CAAC,CAAA,CAAA2T,iBAAA,GAAAtK,MAAM,CAACvJ,QAAQ,MAAA,IAAA,IAAA6T,iBAAA,uBAAfA,iBAAA,CAAiB3T,OAAO,KAAI,EAAE,EAAE0K,GAAG,CAAC,UAAA1B,MAAM,EAAA;YAAA,OAAK;AACvDzK,cAAAA,KAAK,EAAEyK,MAAM,CAAC8d,SAAS,IAAI9d,MAAM,CAACzK,KAAK;AACvCC,cAAAA,KAAK,EAAEikB,YAAY,CAACzZ,MAAM,CAAC;cAC3Bua,QAAQ,EAAEva,MAAM,CAACua;aAClB;AAAA,UAAA,CAAC,CAAC;AACHwD,UAAAA,cAAc,EAAE/B,WAAK,CAAC,MAAM,EAAE/U,IAAI,CAACnQ,QAAQ;SAC5C;AACH,MAAA;IACA,KAAKwC,eAAe,CAACG,aAAa;MAChC,OAAO;AACL2d,QAAAA,KAAK,EAAEnU,SAAC,CAAC,qCAAqC,CAAC;AAC/C2a,QAAAA,QAAQ,EAAE3a,SAAC,CAAC,wCAAwC,CAAC;QACrDjM,OAAO,EAAE,CAAC,CAAA,CAAA0W,cAAA,GAAArN,MAAM,CAACpJ,KAAK,MAAA,IAAA,IAAAyW,cAAA,uBAAZA,cAAA,CAAc1W,OAAO,KAAI,EAAE,EAAE0K,GAAG,CAAC,UAAA1B,MAAM,EAAA;UAAA,OAAK;YACpDzK,KAAK,EAAEyK,MAAM,CAACzK,KAAK;YACnBC,KAAK,EAAEykB,WAAW,CAACja,MAAM;WAC1B;AAAA,QAAA,CAAC,CAAC;AACH+d,QAAAA,cAAc,EAAE,CAAC9W,IAAI,CAACnG,SAAS;OAChC;IACH,KAAKxH,eAAe,CAACK,UAAU;MAC7B,OAAO;AACLyd,QAAAA,KAAK,EAAEnU,SAAC,CAAC,uCAAuC,CAAC;AACjD2a,QAAAA,QAAQ,EAAE3a,SAAC,CAAC,4CAA4C,CAAC;AACzD4a,QAAAA,OAAO,EAAE,IAAI;QACb7mB,OAAO,EAAE0P,sBAAsB,CAAC;AAAErG,UAAAA,MAAM,EAANA,MAAM;AAAE4G,UAAAA,IAAI,EAAJA;AAAK,SAAC,CAAC,CAACvF,GAAG,CAAC,UAAAP,KAAK,EAAA;UAAA,OAAK;AAC9D5L,YAAAA,KAAK,EAAE4L,KAAK,CAAC2c,SAAS,IAAI3c,KAAK,CAAC5L,KAAK;AACrCC,YAAAA,KAAK,EAAEykB,WAAW,CAAC9Y,KAAK,CAAC;YACzBoZ,QAAQ,EAAEpZ,KAAK,CAACoZ;WACjB;AAAA,QAAA,CAAC,CAAC;QACHwD,cAAc,EAAE,CAACvD,WAAW,CAAC;AAAEvT,UAAAA,IAAI,EAAJA,IAAI;AAAEyC,UAAAA,KAAK,EAALA;SAAO,CAAC,CAACvI,KAAK;OACpD;IACH,KAAK7H,eAAe,CAACM,cAAc;AAAE,MAAA;AAAA,QAAA,IAAA6H,mBAAA;QACnC,IAAMN,KAAK,GAAGyZ,SAAS,CAAC;AACtBva,UAAAA,MAAM,EAANA,MAAM;UACN7K,KAAK,EAAEglB,WAAW,CAAC;AAAEvT,YAAAA,IAAI,EAAJA,IAAI;AAAEyC,YAAAA,KAAK,EAALA;AAAM,WAAC,CAAC,CAACvI;AACtC,SAAC,CAAC;AACF,QAAA,IAAM6c,MAAM,GAAG,CAAA,CAAAvc,mBAAA,GAAApB,MAAM,CAAClJ,UAAU,MAAA,IAAA,IAAAsK,mBAAA,uBAAjBA,mBAAA,CAAmBE,cAAc,KAAI,EAAE;QACtD,IAAMsc,KAAK,GAAG,CAAA9c,KAAK,KAAA,IAAA,IAALA,KAAK,KAAA,MAAA,GAAA,MAAA,GAALA,KAAK,CAAEmb,aAAa,KAAI,EAAE;AACxC,QAAA,IAAM4B,UAAU,GAAG,CAAA/c,KAAK,KAAA,IAAA,IAALA,KAAK,uBAALA,KAAK,CAAE2c,SAAS,MAAI3c,KAAK,aAALA,KAAK,KAAA,MAAA,GAAA,MAAA,GAALA,KAAK,CAAE5L,KAAK,KAAI,EAAE;AAEzD,QAAA,IAAM4oB,UAAU,GAAGxb,oBAAU,CAACsb,KAAK,CAAC,IAAIA,KAAK,CAACG,KAAK,CAACnf,cAAc,CAAC;QACnE,IAAMof,SAAS,GAAG,CAACF,UAAU,IAAIF,KAAK,CAAC5W,IAAI,CAACjI,aAAa,CAAC;AAC1D,QAAA,IAAMkf,SAAS,GAAG,CAACH,UAAU,IAAI,CAACE,SAAS,IAAIJ,KAAK,CAAC5W,IAAI,CAAChI,aAAa,CAAC;AACxE,QAAA,IAAMkf,UAAU,GAAG5b,oBAAU,CAC3BuX,gBAAgB,CACd,CAAA/Y,KAAK,KAAA,IAAA,IAALA,KAAK,KAAA,MAAA,GAAA,MAAA,GAALA,KAAK,CAAEmB,MAAM,MAAInB,KAAK,KAAA,IAAA,IAALA,KAAK,KAAA,MAAA,GAAA,MAAA,GAALA,KAAK,CAAEsB,eAAe,MAAItB,KAAK,KAAA,IAAA,IAALA,KAAK,KAAA,MAAA,GAAA,MAAA,GAALA,KAAK,CAAEnK,OAAO,CAC3D,CACF,CAAC;AAED,QAAA,IAAMwnB,eAAe,GAAGD,UAAU,GAAG,QAAQ,GAAG,UAAU;AAC1D,QAAA,IAAME,uBAAuB,GAAGH,SAAS,GAAG,SAAS,GAAG,EAAE;AAC1D,QAAA,IAAMI,kBAAkB,GAAGL,SAAS,GAAG,QAAQ,GAAGI,uBAAuB;AACzE,QAAA,IAAMrM,OAAO,GAAG+L,UAAU,GAAGK,eAAe,GAAGE,kBAAkB;QAEjE,OAAO;AACLtH,UAAAA,KAAK,EAAEnU,SAAC,CAAA,wCAAA,CAAAI,MAAA,CAA0C+O,OAAO,CAAE,CAAC;UAC5DwL,QAAQ,EAAExL,OAAO,GACbnP,SAAC,6CAAAI,MAAA,CAA6C+O,OAAO,CAAA,EAAI;AACvDjR,YAAAA,KAAK,EAAE+c;AACT,WAAC,CAAC,GACFjb,SAAC,CAAC,2CAA2C,CAAC;AAClD4a,UAAAA,OAAO,EAAE,IAAI;AACb7mB,UAAAA,OAAO,EAAEinB,KAAK,CAACvc,GAAG,CAAC,UAAAxC,IAAI,EAAA;YAAA,OAAK;AAC1B;cACA3J,KAAK,EAAEyoB,MAAM,CAAC9e,IAAI,CAAC,IAAIL,QAAQ,CAACK,IAAI,CAAC;AACrC1J,cAAAA,KAAK,EAAE0J;aACR;AAAA,UAAA,CAAC,CAAC;UACH6e,cAAc,EAAE,CAACvD,WAAW,CAAC;AAAEvT,YAAAA,IAAI,EAAJA,IAAI;AAAEyC,YAAAA,KAAK,EAALA;WAAO,CAAC,CAACxK,IAAI;SACnD;AACH,MAAA;IACA,KAAK5F,eAAe,CAACO,cAAc;MACjC,OAAO;AACLud,QAAAA,KAAK,EAAEnU,SAAC,CAAC,yCAAyC,CAAC;AACnD2a,QAAAA,QAAQ,EAAE3a,SAAC,CAAC,4CAA4C,CAAC;AACzDjM,QAAAA,OAAO,EAAE,CACP;AACEzB,UAAAA,KAAK,EAAE0N,SAAC,CAAC,6CAA6C,CAAC;UACvDzN,KAAK,EAAE2C,cAAc,CAACC;AACxB,SAAC,EACD;AACE7C,UAAAA,KAAK,EAAE0N,SAAC,CAAC,4CAA4C,CAAC;UACtDzN,KAAK,EAAE2C,cAAc,CAACE;AACxB,SAAC,CACF;AACD0lB,QAAAA,cAAc,EAAE,CAAC9W,IAAI,CAACwH,aAAa;OACpC;IACH,KAAKnV,eAAe,CAACS,UAAU;IAC/B,KAAKT,eAAe,CAACT,cAAc;AAAE,MAAA;QAAA,IAAA8lB,iBAAA,EAAAC,UAAA;AACnC,QAAA,IAAMC,MAAM,GAAGpG,MAAM,KAAKnf,eAAe,CAACT,cAAc;AACxD,QAAA,IAAMimB,cAAc,GAAG,SAAjBA,cAAcA,CAAGtpB,KAAK,EAAA;AAAA,UAAA,IAAAupB,iBAAA;AAAA,UAAA;AAC1B;YACA,CAAA,CAAAA,iBAAA,GAAA1e,MAAM,CAAC/I,OAAO,MAAA,IAAA,IAAAynB,iBAAA,gBAAAA,iBAAA,GAAdA,iBAAA,CAAgBxnB,WAAW,cAAAwnB,iBAAA,KAAA,MAAA,GAAA,MAAA,GAA3BA,iBAAA,CAA8BvpB,KAAK,CAAC,KAAI;AAAE;AAAA,QAAA,CAAA;;AAE5C;AACA;AACA,QAAA,IAAMwpB,aAAa,GAAG,CAAA,CAAAL,iBAAA,GAAAte,MAAM,CAAC/I,OAAO,MAAA,IAAA,IAAAqnB,iBAAA,KAAA,MAAA,GAAA,MAAA,GAAdA,iBAAA,CAAgB3nB,OAAO,KAAI,EAAE;QAEnD,OAAO;UACLogB,KAAK,EAAEyH,MAAM,GACT5b,SAAC,CAAC,0CAA0C,CAAC,GAC7CA,SAAC,CAAC,yCAAyC,CAAC;UAChD2a,QAAQ,EAAEiB,MAAM,GACZ5b,SAAC,CAAC,6CAA6C,CAAC,GAChDA,SAAC,CAAC,4CAA4C,CAAC;AACnD4a,UAAAA,OAAO,EAAE,IAAI;AACb7mB,UAAAA,OAAO,EAAEgoB,aAAa,CAACtd,GAAG,CAAC,UAAA1B,MAAM,EAAI;AAAA,YAAA,IAAAif,gBAAA;AACnC,YAAA,IAAMzpB,KAAK,GAAGykB,WAAW,CAACja,MAAM,CAAC;AACjC,YAAA,IAAMmC,IAAI,GAAG2c,cAAc,CAACtpB,KAAK,CAAC;YAElC,OAAO;AACLD,cAAAA,KAAK,EAAEspB,MAAM,GAAG1c,IAAI,CAAC+c,YAAY,IAAIlf,MAAM,CAACzK,KAAK,GAAGyK,MAAM,CAACzK,KAAK;AAChEC,cAAAA,KAAK,EAALA,KAAK;cACL+kB,QAAQ,EAAEva,MAAM,CAACua,QAAQ;AACzB;AACA;AACA4E,cAAAA,QAAQ,EAAE,CAAC,EAAA,CAAAF,gBAAA,GAAEjf,MAAM,CAACmf,QAAQ,MAAA,IAAA,IAAAF,gBAAA,cAAAA,gBAAA,GAAIjf,MAAM,CAACof,UAAU,CAAC;cAClDC,cAAc,EAAErf,MAAM,CAACqf,cAAc;cACrCC,eAAe,EAAEtf,MAAM,CAACsf,eAAe;AACvCvZ,cAAAA,IAAI,EAAE,CAAC8Y,MAAM,GAAG1c,IAAI,CAAC4D,IAAI,GAAG/F,MAAM,CAAC+F,IAAI,KAAK/F,MAAM,CAAC+F;aACpD;AACH,UAAA,CAAC,CAAC;AACFgY,UAAAA,cAAc,EAAE,CAAA,CAAAa,UAAA,GACd9D,SAAS,CAAC;AAAEza,YAAAA,MAAM,EAANA,MAAM;YAAE2D,MAAM,EAAE4V,QAAQ,CAAC;AAAE3S,cAAAA,IAAI,EAAJA,IAAI;AAAEyC,cAAAA,KAAK,EAALA;aAAO;AAAE,WAAC,CAAC,MAAA,IAAA,IAAAkV,UAAA,cAAAA,UAAA,GACtDhF,QAAQ,CAAC;AAAE3S,YAAAA,IAAI,EAAJA,IAAI;AAAEyC,YAAAA,KAAK,EAALA;WAAO,CAAC,CAAC3J,IAAI;SAEnC;AACH,MAAA;IACA,KAAKzG,eAAe,CAACU,gBAAgB;AAAE,MAAA;AAAA,QAAA,IAAAulB,iBAAA;QACrC,IAAMvb,MAAM,GAAG4V,QAAQ,CAAC;AAAE3S,UAAAA,IAAI,EAAJA,IAAI;AAAEyC,UAAAA,KAAK,EAALA;AAAM,SAAC,CAAC;QACxC,IAAM9F,OAAO,GAAGkX,SAAS,CAAC;AAAEza,UAAAA,MAAM,EAANA,MAAM;AAAE2D,UAAAA,MAAM,EAANA;AAAO,SAAC,CAAC;AAC7C;QACA,IAAM7B,IAAI,GAAG,CAAA,CAAAod,iBAAA,GAAAlf,MAAM,CAAC/I,OAAO,MAAA,IAAA,IAAAioB,iBAAA,KAAA,MAAA,IAAA,CAAAA,iBAAA,GAAdA,iBAAA,CAAgBhoB,WAAW,MAAA,IAAA,IAAAgoB,iBAAA,KAAA,MAAA,GAAA,MAAA,GAA3BA,iBAAA,CAA8B3b,OAAO,CAAC,KAAI,EAAE;QACzD,IAAM5D,MAAM,GAAG6a,gBAAgB,CAAC;AAAExa,UAAAA,MAAM,EAANA,MAAM;AAAEN,UAAAA,IAAI,EAAE6D;AAAQ,SAAC,CAAC;QAE1D,OAAO;AACLwT,UAAAA,KAAK,EACHjV,IAAI,CAACqE,cAAc,KACnBxG,MAAM,KAAA,IAAA,IAANA,MAAM,KAAA,MAAA,GAAA,MAAA,GAANA,MAAM,CAAEwG,cAAc,CAAA,IACtBvD,SAAC,CAAC,yCAAyC,CAAC;AAC9C2a,UAAAA,QAAQ,EACNzb,IAAI,CAACsE,iBAAiB,KACtBzG,MAAM,KAAA,IAAA,IAANA,MAAM,KAAA,MAAA,GAAA,MAAA,GAANA,MAAM,CAAEyG,iBAAiB,CAAA,IACzBxD,SAAC,CAAC,4CAA4C,CAAC;UACjDjM,OAAO,EAAE0kB,aAAa,CAAC;AAAErb,YAAAA,MAAM,EAANA,MAAM;AAAE2D,YAAAA,MAAM,EAANA;AAAO,WAAC,CAAC,CAACtC,GAAG,CAAC,UAAA0D,SAAS,EAAA;YAAA,OAAK;cAC3D7P,KAAK,EAAE6P,SAAS,CAAC7P,KAAK;cACtBC,KAAK,EAAEykB,WAAW,CAAC7U,SAAS;aAC7B;AAAA,UAAA,CAAC,CAAC;UACH2Y,cAAc,EAAE,CAAC/C,WAAW,CAAC;AAAE3a,YAAAA,MAAM,EAANA,MAAM;AAAE2D,YAAAA,MAAM,EAANA;AAAO,WAAC,CAAC,CAAC;AACjD;AACA;AACA6Z,UAAAA,OAAO,EAAE;SACV;AACH,MAAA;IACA,KAAKvkB,eAAe,CAACP,WAAW;AAAE,MAAA;QAChC,IAAMiL,OAAM,GAAG4V,QAAQ,CAAC;AAAE3S,UAAAA,IAAI,EAAJA,IAAI;AAAEyC,UAAAA,KAAK,EAALA;AAAM,SAAC,CAAC;QACxC,IAAMpF,IAAI,GAAGqV,MAAM,CAAC;AAAEtZ,UAAAA,MAAM,EAANA,MAAM;AAAE4G,UAAAA,IAAI,EAAJA,IAAI;AAAEyC,UAAAA,KAAK,EAALA,KAAK;AAAEiN,UAAAA,OAAO,EAAPA;SAAS,CAAC,IAAI,EAAE;QAE3D,OAAO;UACLS,KAAK,EAAE9S,IAAI,CAAC8S,KAAK,IAAInU,SAAC,CAAC,oCAAoC,CAAC;UAC5D2a,QAAQ,EAAEtZ,IAAI,CAACsZ,QAAQ;AACvB5mB,UAAAA,OAAO,EAAEkjB,gBAAgB,CAAC5V,IAAI,CAACtN,OAAO,CAAC;UACvC+mB,cAAc,EAAE,CAAC5Z,WAAW,CAAC;AAAEH,YAAAA,MAAM,EAANA,OAAM;AAAEM,YAAAA,IAAI,EAAJA;AAAK,WAAC,CAAC,CAAC;AAC/CuZ,UAAAA,OAAO,EAAE;SACV;AACH,MAAA;IACA,KAAKvkB,eAAe,CAACF,KAAK;AAAE,MAAA;AAAA,QAAA,IAAAomB,kBAAA;AAC1B,QAAA,IAAMnC,EAAE,GAAGhd,MAAM,CAACmI,KAAK,IAAI,EAAE;AAC7B,QAAA,IAAMiX,QAAQ,GAAG,CAACxY,IAAI,CAACuB,KAAK,IAAI,EAAE,EAAE9G,GAAG,CAAC,UAAA6G,IAAI,EAAA;AAAA,UAAA,IAAAF,WAAA;AAAA,UAAA,OAAA,CAAAA,WAAA,GAAIE,IAAI,KAAA,IAAA,IAAJA,IAAI,KAAA,MAAA,GAAA,MAAA,GAAJA,IAAI,CAAE/S,KAAK,MAAA,IAAA,IAAA6S,WAAA,KAAA,MAAA,GAAAA,WAAA,GAAIE,IAAI;QAAA,CAAA,CAAC;QACpE,IAAMgB,aAAa,GAAG,CAAA,CAAAiW,kBAAA,GAAAnC,EAAE,CAAC9T,aAAa,MAAA,IAAA,IAAAiW,kBAAA,KAAA,MAAA,GAAA,MAAA,GAAhBA,kBAAA,CAAA5iB,IAAA,CAAAygB,EAAE,EAAiBpW,IAAI,CAAC3P,OAAO,CAAC,KAAI,KAAK;QAE/D,OAAO;UACL8f,KAAK,EAAEqI,QAAQ,CAACtW,MAAM,GAClBkU,EAAE,CAACqC,eAAe,IAAIzc,SAAC,CAAC,2CAA2C,CAAC,GACpEoa,EAAE,CAACsC,SAAS,IAAI1c,SAAC,CAAC,qCAAqC,CAAC;UAC5D2a,QAAQ,EACNP,EAAE,CAACuC,YAAY,IAAI3c,SAAC,CAAC,wCAAwC,CAAC;AAChE6Y,UAAAA,KAAK,EAAE,IAAI;AACX9kB,UAAAA,OAAO,EAAE,CAACqmB,EAAE,CAACrmB,OAAO,IAAI,EAAE,EAAE0K,GAAG,CAAC,UAAA1B,MAAM,EAAI;AAAA,YAAA,IAAA6f,iBAAA;AACxC,YAAA,IAAMrqB,KAAK,GAAGykB,WAAW,CAACja,MAAM,CAAC;YACjC,IAAM8f,cAAc,GAClBvW,aAAa,IAAIvJ,MAAM,CAAC6J,aAAa,KAAK,KAAK;AACjD,YAAA,IAAMkW,UAAU,GAAGN,QAAQ,CAACtgB,QAAQ,CAAC3J,KAAK,CAAC;YAE3C,OAAO;cACLD,KAAK,EAAEyK,MAAM,CAACzK,KAAK;AACnBC,cAAAA,KAAK,EAALA,KAAK;cACL2pB,QAAQ,EACN,CAAC,CAAC,EAAA,CAAAU,iBAAA,GAAE7f,MAAM,CAACmf,QAAQ,MAAA,IAAA,IAAAU,iBAAA,cAAAA,iBAAA,GAAI7f,MAAM,CAACof,UAAU,CAAC,IAAIU,cAAc,KAC3D,CAACC,UAAU;cACbV,cAAc,EAAES,cAAc,GAC1BzC,EAAE,CAACgC,cAAc,GACjBrf,MAAM,CAACqf,cAAc;cACzBC,eAAe,EAAEtf,MAAM,CAACsf,eAAe;AACvCU,cAAAA,eAAe,EAAEF,cAAc,IAAIzC,EAAE,CAAC2C;aACvC;AACH,UAAA,CAAC,CAAC;AACFjC,UAAAA,cAAc,EAAE0B;SACjB;AACH,MAAA;IACA,KAAKnmB,eAAe,CAACD,iBAAiB;AAAE,MAAA;AACtC,QAAA,IAAMgkB,GAAE,GAAGhd,MAAM,CAACmI,KAAK,IAAI,EAAE;QAC7B,IAAMD,IAAI,GAAGkS,WAAW,CAAC;AAAExT,UAAAA,IAAI,EAAJA,IAAI;AAAEyC,UAAAA,KAAK,EAALA;AAAM,SAAC,CAAC;AACzC,QAAA,IAAMoL,OAAO,GAAG6F,cAAc,CAACpS,IAAI,CAAC;QACpC,IAAMvR,OAAO,GAAG0R,gBAAgB,CAAC;AAAErI,UAAAA,MAAM,EAANA,MAAM;AAAEkI,UAAAA,IAAI,EAAJA;SAAM,CAAC,IAAI,EAAE;QAExD,OAAO;AACL6O,UAAAA,KAAK,EACHxX,OAAO,CAACyd,GAAE,CAAC4C,mBAAmB,EAAE;AAAEnL,YAAAA,OAAO,EAAPA;AAAQ,WAAC,CAAC,IAC5C7R,SAAC,CAAC,0CAA0C,CAAC;AAC/C2a,UAAAA,QAAQ,EACNhe,OAAO,CAACyd,GAAE,CAAC6C,sBAAsB,EAAE;AAAEpL,YAAAA,OAAO,EAAPA;AAAQ,WAAC,CAAC,IAC/C7R,SAAC,CAAC,6CAA6C,EAAE;AAAE6R,YAAAA,OAAO,EAAPA;AAAQ,WAAC,CAAC;AAC/D9d,UAAAA,OAAO,EAAEA,OAAO,CAAC0K,GAAG,CAAC,UAAA1B,MAAM,EAAA;YAAA,OAAK;cAC9BzK,KAAK,EAAEyK,MAAM,CAACzK,KAAK;cACnBC,KAAK,EAAEykB,WAAW,CAACja,MAAM;aAC1B;AAAA,UAAA,CAAC,CAAC;AACH+d,UAAAA,cAAc,EAAE,CAACxV,IAAI,CAACW,UAAU;SACjC;AACH,MAAA;AACA,IAAA;MACE,OAAO;AAAEkO,QAAAA,KAAK,EAAE,EAAE;AAAEwG,QAAAA,QAAQ,EAAE,EAAE;AAAE5mB,QAAAA,OAAO,EAAE,EAAE;AAAE+mB,QAAAA,cAAc,EAAE;OAAI;AACvE;AACF,CAAC;AAED,IAAMoC,SAAS,GAAG,SAAZA,SAASA,CAAAxY,MAAA,EAQT;AAAA,EAAA,IAPJ8Q,MAAM,GAAA9Q,MAAA,CAAN8Q,MAAM;IACNpY,MAAM,GAAAsH,MAAA,CAANtH,MAAM;IACN4G,IAAI,GAAAU,MAAA,CAAJV,IAAI;IACJyC,KAAK,GAAA/B,MAAA,CAAL+B,KAAK;IACLiN,OAAO,GAAAhP,MAAA,CAAPgP,OAAO;IACPnhB,KAAK,GAAAmS,MAAA,CAALnS,KAAK;IACL4qB,OAAO,GAAAzY,MAAA,CAAPyY,OAAO;AAEP,EAAA,IACE1R,WAAW,GAKT0R,OAAO,CALT1R,WAAW;IACXG,YAAY,GAIVuR,OAAO,CAJTvR,YAAY;IACZM,gBAAgB,GAGdiR,OAAO,CAHTjR,gBAAgB;IAChB2J,aAAa,GAEXsH,OAAO,CAFTtH,aAAa;IACbK,SAAS,GACPiH,OAAO,CADTjH,SAAS;AAGX,EAAA,QAAQV,MAAM;IACZ,KAAKnf,eAAe,CAACC,WAAW;IAChC,KAAKD,eAAe,CAACE,eAAe;AAAE,MAAA;QAAA,IAAAiU,iBAAA,EAAAK,iBAAA;QACpC,IAAA,CAAAL,iBAAA,GAAIpN,MAAM,CAACvJ,QAAQ,MAAA,IAAA,IAAA2W,iBAAA,KAAA,MAAA,IAAfA,iBAAA,CAAiBqO,KAAK,EAAE;UAC1B,IAAMC,KAAK,GAAGC,WAAK,CAAC,MAAM,EAAE/U,IAAI,CAACnQ,QAAQ,CAAC;UAC1C4X,WAAW,CACTqN,KAAK,CAAC5c,QAAQ,CAAC3J,KAAK,CAAC,GACjBymB,kBAAQ,CAAC;AAAElc,YAAAA,IAAI,EAAEvK;AAAM,WAAC,EAAEyR,IAAI,CAACnQ,QAAQ,CAAC,GAAA,EAAA,CAAAuM,MAAA,CAAA0J,kBAAA,CACpC9F,IAAI,CAACnQ,QAAQ,CAAA,EAAA,CAAE;AAAEiJ,YAAAA,IAAI,EAAEvK;AAAM,WAAC,EACxC,CAAC;AAED,UAAA,OAAO,MAAM;AACf,QAAA;QACAkZ,WAAW,CAAC,CAAAvQ,eAAA,CAAAA,eAAA,CAAA,EAAA,EAAM8I,IAAI,CAACnQ,QAAQ,CAAC,CAAC,CAAC,CAAA,EAAA,EAAA,EAAA;AAAEiJ,UAAAA,IAAI,EAAEvK;AAAK,SAAA,CAAA,CAAG,CAAC;AAEnD,QAAA,IAAMoV,QAAQ,GAAA,CAAAkD,iBAAA,GAAGzN,MAAM,CAACvJ,QAAQ,MAAA,IAAA,IAAAgX,iBAAA,KAAA,MAAA,GAAA,MAAA,GAAfA,iBAAA,CAAiBlD,QAAQ;QAC1C,IACEA,QAAQ,KAAA,IAAA,IAARA,QAAQ,KAAA,MAAA,IAARA,QAAQ,CAAE7T,QAAQ,IAClB,CAAC6T,QAAQ,CAAC+M,SAAS,IAAI,EAAE,EAAExY,QAAQ,CAAC3J,KAAK,CAAC,IAC1C,CAACyR,IAAI,CAAC2D,QAAQ,EACd;AAAA,UAAA,IAAAyV,iBAAA;AACA;AACAvH,UAAAA,aAAa,IAAAzV,MAAA,CAAIuH,QAAQ,CAAC7T,QAAQ,EAAA,QAAA,CAAA,EAAA,CAAAspB,iBAAA,GAAUzV,QAAQ,WAAQ,MAAA,IAAA,IAAAyV,iBAAA,cAAAA,iBAAA,GAAI,EAAE,CAAC;AACrE,QAAA;AAEA,QAAA,OAAO,MAAM;AACf,MAAA;IACA,KAAK/mB,eAAe,CAACG,aAAa;MAChCoV,YAAY,CAACrZ,KAAK,CAAC;AAEnB,MAAA,OAAO,MAAM;IACf,KAAK8D,eAAe,CAACK,UAAU;AAAE,MAAA;AAC/Bmf,QAAAA,aAAa,CAAA,EAAA,CAAAzV,MAAA,CACR8V,SAAS,CAAChiB,UAAU,EAAA,SAAA,CAAA,CAAAkM,MAAA,CAAUqG,KAAK,CAAA,EACtCwS,eAAe,CAAC;AAAE7b,UAAAA,MAAM,EAANA,MAAM;AAAE4G,UAAAA,IAAI,EAAJA,IAAI;AAAEyC,UAAAA,KAAK,EAALA,KAAK;AAAElU,UAAAA,KAAK,EAALA;AAAM,SAAC,CAChD,CAAC;AAED,QAAA,OAAO,MAAM;AACf,MAAA;IACA,KAAK8D,eAAe,CAACM,cAAc;AACjCkf,MAAAA,aAAa,CAAA,EAAA,CAAAzV,MAAA,CAAI8V,SAAS,CAAChiB,UAAU,EAAA,SAAA,CAAA,CAAAkM,MAAA,CAAUqG,KAAK,EAAA,OAAA,CAAA,EAASlU,KAAK,CAAC;AAEnE,MAAA,OAAO,MAAM;IACf,KAAK8D,eAAe,CAACO,cAAc;MACjCsV,gBAAgB,CAAC3Z,KAAK,CAAC;AAEvB,MAAA,OAAO,MAAM;IACf,KAAK8D,eAAe,CAACS,UAAU;IAC/B,KAAKT,eAAe,CAACT,cAAc;AAAE,MAAA;AACnCigB,QAAAA,aAAa,CAAA,EAAA,CAAAzV,MAAA,CACR8V,SAAS,CAAC7hB,OAAO,EAAA,SAAA,CAAA,CAAA+L,MAAA,CAAUqG,KAAK,CAAA,EACnC+S,YAAY,CAAC;AAAEpc,UAAAA,MAAM,EAANA,MAAM;AAAE4G,UAAAA,IAAI,EAAJA,IAAI;AAAEyC,UAAAA,KAAK,EAALA,KAAK;AAAElU,UAAAA,KAAK,EAALA;AAAM,SAAC,CAC7C,CAAC;AAED,QAAA,OAAO,MAAM;AACf,MAAA;IACA,KAAK8D,eAAe,CAACU,gBAAgB;AAAE,MAAA;AACrC8e,QAAAA,aAAa,CAAA,EAAA,CAAAzV,MAAA,CACR8V,SAAS,CAAC7hB,OAAO,EAAA,SAAA,CAAA,CAAA+L,MAAA,CAAUqG,KAAK,CAAA,EACnC4T,qBAAqB,CAAC;AAAEjd,UAAAA,MAAM,EAANA,MAAM;AAAE4G,UAAAA,IAAI,EAAJA,IAAI;AAAEyC,UAAAA,KAAK,EAALA,KAAK;AAAElU,UAAAA,KAAK,EAALA;AAAM,SAAC,CACtD,CAAC;AAED,QAAA,OAAO,MAAM;AACf,MAAA;IACA,KAAK8D,eAAe,CAACP,WAAW;AAAE,MAAA;AAChC+f,QAAAA,aAAa,IAAAzV,MAAA,CACR8V,SAAS,CAAC7hB,OAAO,EAAA,SAAA,CAAA,CAAA+L,MAAA,CAAUqG,KAAK,gBAAArG,MAAA,CAAasT,OAAO,CAAA,EACvDnhB,KACF,CAAC;AAED,QAAA,OAAO,MAAM;AACf,MAAA;IACA,KAAK8D,eAAe,CAACF,KAAK;AAAE,MAAA;AAC1B,QAAA,IAAMuF,GAAG,GAAGwa,SAAS,CAAC3Q,KAAK;AAC3B,QAAA,IAAM9L,OAAO,GAAGuK,IAAI,CAACuB,KAAK,IAAI,EAAE;AAChC,QAAA,IAAM8X,GAAG,GAAG5jB,OAAO,CAAC2K,IAAI,CAAC,UAAAkB,IAAI,EAAA;AAAA,UAAA,IAAAoE,YAAA;AAAA,UAAA,OAAI,EAAAA,YAAA,GAACpE,IAAI,KAAA,IAAA,IAAJA,IAAI,KAAA,MAAA,GAAA,MAAA,GAAJA,IAAI,CAAE/S,KAAK,cAAAmX,YAAA,KAAA,MAAA,GAAAA,YAAA,GAAIpE,IAAI,MAAM/S,KAAK;QAAA,CAAA,CAAC;QACjE,IAAMwkB,IAAI,GAAGsG,GAAG,GACZ5jB,OAAO,CAACuT,MAAM,CAAC,UAAA1H,IAAI,EAAA;AAAA,UAAA,IAAAgY,YAAA;AAAA,UAAA,OAAI,EAAAA,YAAA,GAAChY,IAAI,KAAA,IAAA,IAAJA,IAAI,KAAA,MAAA,GAAA,MAAA,GAAJA,IAAI,CAAE/S,KAAK,cAAA+qB,YAAA,KAAA,MAAA,GAAAA,YAAA,GAAIhY,IAAI,MAAM/S,KAAK;QAAA,CAAA,CAAC,GAAA,EAAA,CAAA6N,MAAA,CAAA0J,kBAAA,CACnDrQ,OAAO,CAAA,EAAA,CAAEygB,eAAe,CAAC;AAAE9c,UAAAA,MAAM,EAANA,MAAM;AAAE4G,UAAAA,IAAI,EAAJA,IAAI;AAAEzR,UAAAA,KAAK,EAALA;AAAM,SAAC,CAAC,CAAA,CAAC;AAC1DsjB,QAAAA,aAAa,IAAAzV,MAAA,CAAI1E,GAAG,EAAA,QAAA,CAAA,EAAUqb,IAAI,CAAC;AAEnC,QAAA,OAAO,MAAM;AACf,MAAA;IACA,KAAK1gB,eAAe,CAACD,iBAAiB;AAAE,MAAA;AACtC,QAAA,IAAMsF,IAAG,GAAGwa,SAAS,CAAC3Q,KAAK;QAC3BsQ,aAAa,CAAA,EAAA,CAAAzV,MAAA,CAAI1E,IAAG,EAAA,SAAA,CAAA,CAAA0E,MAAA,CAAUqG,KAAK,EAAA,aAAA,CAAA,EAAelU,KAAK,CAAC;AAExD,QAAA,OAAO,MAAM;AACf,MAAA;AACA,IAAA;AACE,MAAA,OAAO,OAAO;AAClB;AACF,CAAC;AAED,IAAMgrB,iBAAiB,GAAG,SAApBA,iBAAiBA,CAAAzY,MAAA,EAOjB;AAAA,EAAA,IAAA0Y,cAAA;AAAA,EAAA,IANJhI,MAAM,GAAA1Q,MAAA,CAAN0Q,MAAM;IACNpY,MAAM,GAAA0H,MAAA,CAAN1H,MAAM;IACN4G,IAAI,GAAAc,MAAA,CAAJd,IAAI;IACJyC,KAAK,GAAA3B,MAAA,CAAL2B,KAAK;IACLiN,OAAO,GAAA5O,MAAA,CAAP4O,OAAO;IACP+J,aAAa,GAAA3Y,MAAA,CAAb2Y,aAAa;AAEb,EAAA,QAAQjI,MAAM;IACZ,KAAKnf,eAAe,CAACC,WAAW;IAChC,KAAKD,eAAe,CAACE,eAAe;AAClC,MAAA,OAAO,CAAAinB,cAAA,GAAApgB,MAAM,CAACpJ,KAAK,MAAA,IAAA,IAAAwpB,cAAA,KAAA,MAAA,IAAZA,cAAA,CAAcvpB,OAAO,GACxB;QACE8V,IAAI,EAAE1U,mBAAmB,CAACE,KAAK;AAC/B+f,QAAAA,IAAI,EAAE;UAAEE,MAAM,EAAEnf,eAAe,CAACG;AAAc;AAChD,OAAC,GACD,IAAI;IACV,KAAKH,eAAe,CAACK,UAAU;MAC7B,OAAO;QACLqT,IAAI,EAAE1U,mBAAmB,CAACI,QAAQ;AAClC6f,QAAAA,IAAI,EAAE;AAAE7O,UAAAA,KAAK,EAALA,KAAK;UAAE+O,MAAM,EAAEnf,eAAe,CAACM;AAAe;OACvD;IACH,KAAKN,eAAe,CAACM,cAAc;AAAE,MAAA;QACnC,IAAM0H,SAAS,GAAGkZ,WAAW,CAAC;AAAEvT,UAAAA,IAAI,EAAJA,IAAI;AAAEyC,UAAAA,KAAK,EAALA;AAAM,SAAC,CAAC;QAC9C,IAAMvI,KAAK,GAAGyZ,SAAS,CAAC;AAAEva,UAAAA,MAAM,EAANA,MAAM;UAAE7K,KAAK,EAAE8L,SAAS,CAACH;AAAM,SAAC,CAAC;QAC3D,IAAI,CAAC,CAAAA,KAAK,KAAA,IAAA,IAALA,KAAK,KAAA,MAAA,GAAA,MAAA,GAALA,KAAK,CAAEW,eAAe,KAAI,EAAE,EAAE3C,QAAQ,CAACmC,SAAS,CAACpC,IAAI,CAAC,EAAE,OAAO,IAAI;QAExE,OAAO;UACL8N,IAAI,EAAE1U,mBAAmB,CAACM,eAAe;AACzC2f,UAAAA,IAAI,EAAE;AAAE7O,YAAAA,KAAK,EAALA,KAAK;YAAE+O,MAAM,EAAEnf,eAAe,CAACQ;AAAY;SACpD;AACH,MAAA;IACA,KAAKR,eAAe,CAACS,UAAU;IAC/B,KAAKT,eAAe,CAACT,cAAc;AAAE,MAAA;QACnC,IAAMmL,MAAM,GAAG4V,QAAQ,CAAC;AAAE3S,UAAAA,IAAI,EAAJA,IAAI;AAAEyC,UAAAA,KAAK,EAALA;AAAM,SAAC,CAAC;AAExC,QAAA,IAAI0R,eAAe,CAAC;AAAE/a,UAAAA,MAAM,EAANA,MAAM;AAAE2D,UAAAA,MAAM,EAANA;AAAO,SAAC,CAAC,EAAE;UACvC,OAAO;YACLgJ,IAAI,EAAE1U,mBAAmB,CAACQ,aAAa;AACvCyf,YAAAA,IAAI,EAAE;AAAE7O,cAAAA,KAAK,EAALA,KAAK;cAAE+O,MAAM,EAAEnf,eAAe,CAACR;AAAc;WACtD;AACH,QAAA;;AAEA;AACA;AACA,QAAA,IAAIoiB,aAAa,CAAC;AAAE7a,UAAAA,MAAM,EAANA,MAAM;AAAE2D,UAAAA,MAAM,EAANA;SAAQ,CAAC,CAACgC,cAAc,EAAE;UACpD,OAAO;YACLgH,IAAI,EAAE1U,mBAAmB,CAACU,SAAS;AACnCuf,YAAAA,IAAI,EAAE;AACJ7O,cAAAA,KAAK,EAALA,KAAK;cACL+O,MAAM,EAAEnf,eAAe,CAACU,gBAAgB;AACxC0mB,cAAAA,aAAa,EAAE;AACjB;WACD;AACH,QAAA;AAEA,QAAA,OAAO7G,eAAe,CAAC;AAAExZ,UAAAA,MAAM,EAANA,MAAM;AAAE4G,UAAAA,IAAI,EAAJA,IAAI;AAAEyC,UAAAA,KAAK,EAALA;AAAM,SAAC,CAAC;AACjD,MAAA;IACA,KAAKpQ,eAAe,CAACU,gBAAgB;AAAE,MAAA;AACrC;AACA;QACA,IAAMgK,QAAM,GAAG4V,QAAQ,CAAC;AAAE3S,UAAAA,IAAI,EAAJA,IAAI;AAAEyC,UAAAA,KAAK,EAALA;AAAM,SAAC,CAAC;QAExC,OAAOgX,aAAa,IAAItF,eAAe,CAAC;AAAE/a,UAAAA,MAAM,EAANA,MAAM;AAAE2D,UAAAA,MAAM,EAANA;AAAO,SAAC,CAAC,GACvD;UACEgJ,IAAI,EAAE1U,mBAAmB,CAACQ,aAAa;AACvCyf,UAAAA,IAAI,EAAE;AAAE7O,YAAAA,KAAK,EAALA,KAAK;YAAE+O,MAAM,EAAEnf,eAAe,CAACR;AAAc;SACtD,GACD+gB,eAAe,CAAC;AAAExZ,UAAAA,MAAM,EAANA,MAAM;AAAE4G,UAAAA,IAAI,EAAJA,IAAI;AAAEyC,UAAAA,KAAK,EAALA;AAAM,SAAC,CAAC;AAC9C,MAAA;IACA,KAAKpQ,eAAe,CAACP,WAAW;AAC9B,MAAA,OAAO8gB,eAAe,CAAC;AAAExZ,QAAAA,MAAM,EAANA,MAAM;AAAE4G,QAAAA,IAAI,EAAJA,IAAI;AAAEyC,QAAAA,KAAK,EAALA,KAAK;AAAEiN,QAAAA,OAAO,EAAPA;AAAQ,OAAC,CAAC;AAC1D,IAAA;AACE,MAAA,OAAO,IAAI;AACf;AACF,CAAC;AAED,IAAMgK,SAAS,GAAG,SAAZA,SAASA,CAAAzY,MAAA,EAA8B;AAAA,EAAA,IAAxB4H,IAAI,GAAA5H,MAAA,CAAJ4H,IAAI;IAAEpG,KAAK,GAAAxB,MAAA,CAALwB,KAAK;IAAEnB,IAAI,GAAAL,MAAA,CAAJK,IAAI;AACpC,EAAA,IAAMyR,IAAI,GAAAjN,kBAAA,CAAO+C,IAAI,CAAC;AACtB;AACAkK,EAAAA,IAAI,CAACtQ,KAAK,CAAC,GAAGnB,IAAI;AAElB,EAAA,OAAOyR,IAAI;AACb,CAAC;AAED,IAAM4G,YAAY,GAAG,SAAfA,YAAYA,CAAAxY,MAAA,EAA+C;AAAA,EAAA,IAAzCnB,IAAI,GAAAmB,MAAA,CAAJnB,IAAI;IAAE5G,MAAM,GAAA+H,MAAA,CAAN/H,MAAM;IAAEoY,MAAM,GAAArQ,MAAA,CAANqQ,MAAM;IAAE/O,KAAK,GAAAtB,MAAA,CAALsB,KAAK;IAAElU,KAAK,GAAA4S,MAAA,CAAL5S,KAAK;AACxD,EAAA,QAAQijB,MAAM;IACZ,KAAKnf,eAAe,CAACC,WAAW;IAChC,KAAKD,eAAe,CAACE,eAAe;AAClC,MAAA,OAAA2E,eAAA,CAAAA,eAAA,CAAA,EAAA,EACK8I,IAAI,CAAA,EAAA,EAAA,EAAA;AACPnQ,QAAAA,QAAQ,EAAEoM,KAAK,CAACC,OAAO,CAAC3N,KAAK,CAAC,GAC1BA,KAAK,CAACkM,GAAG,CAAC,UAAA3B,IAAI,EAAA;UAAA,OAAK;AAAEA,YAAAA,IAAI,EAAJA;WAAM;QAAA,CAAC,CAAC,GAC7B8b,YAAY,CAAC;AAAExb,UAAAA,MAAM,EAANA,MAAM;AAAE4G,UAAAA,IAAI,EAAJA,IAAI;AAAEzR,UAAAA,KAAK,EAALA;SAAO;AAAC,OAAA,CAAA;IAE7C,KAAK8D,eAAe,CAACG,aAAa;AAChC,MAAA,OAAA0E,eAAA,CAAAA,eAAA,CAAA,EAAA,EAAY8I,IAAI,CAAA,EAAA,EAAA,EAAA;AAAEnG,QAAAA,SAAS,EAAEtL;AAAK,OAAA,CAAA;IACpC,KAAK8D,eAAe,CAACK,UAAU;AAC7B,MAAA,OAAAwE,eAAA,CAAAA,eAAA,CAAA,EAAA,EACK8I,IAAI,CAAA,EAAA,EAAA,EAAA;QACP9P,UAAU,EAAEwpB,SAAS,CAAC;UACpB7Q,IAAI,EAAE7I,IAAI,CAAC9P,UAAU;AACrBuS,UAAAA,KAAK,EAALA,KAAK;UACLnB,IAAI,EAAE2T,eAAe,CAAC;AAAE7b,YAAAA,MAAM,EAANA,MAAM;AAAE4G,YAAAA,IAAI,EAAJA,IAAI;AAAEyC,YAAAA,KAAK,EAALA,KAAK;AAAElU,YAAAA,KAAK,EAALA;WAAO;SACrD;AAAC,OAAA,CAAA;IAEN,KAAK8D,eAAe,CAACM,cAAc;AACjC,MAAA,OAAAuE,eAAA,CAAAA,eAAA,CAAA,EAAA,EACK8I,IAAI,CAAA,EAAA,EAAA,EAAA;QACP9P,UAAU,EAAEwpB,SAAS,CAAC;UACpB7Q,IAAI,EAAE7I,IAAI,CAAC9P,UAAU;AACrBuS,UAAAA,KAAK,EAALA,KAAK;AACLnB,UAAAA,IAAI,EAAApK,eAAA,CAAAA,eAAA,CAAA,EAAA,EAAOqc,WAAW,CAAC;AAAEvT,YAAAA,IAAI,EAAJA,IAAI;AAAEyC,YAAAA,KAAK,EAALA;AAAM,WAAC,CAAC,CAAA,EAAA,EAAA,EAAA;AAAExK,YAAAA,IAAI,EAAE1J;AAAK,WAAA;SACrD;AAAC,OAAA,CAAA;IAEN,KAAK8D,eAAe,CAACO,cAAc;AACjC,MAAA,OAAAsE,eAAA,CAAAA,eAAA,CAAA,EAAA,EAAY8I,IAAI,CAAA,EAAA,EAAA,EAAA;AAAEwH,QAAAA,aAAa,EAAEjZ;AAAK,OAAA,CAAA;IACxC,KAAK8D,eAAe,CAACS,UAAU;IAC/B,KAAKT,eAAe,CAACT,cAAc;AACjC,MAAA,OAAAsF,eAAA,CAAAA,eAAA,CAAA,EAAA,EACK8I,IAAI,CAAA,EAAA,EAAA,EAAA;QACP3P,OAAO,EAAEqpB,SAAS,CAAC;UACjB7Q,IAAI,EAAE7I,IAAI,CAAC3P,OAAO;AAClBoS,UAAAA,KAAK,EAALA,KAAK;UACLnB,IAAI,EAAEkU,YAAY,CAAC;AAAEpc,YAAAA,MAAM,EAANA,MAAM;AAAE4G,YAAAA,IAAI,EAAJA,IAAI;AAAEyC,YAAAA,KAAK,EAALA,KAAK;AAAElU,YAAAA,KAAK,EAALA;WAAO;SAClD;AAAC,OAAA,CAAA;IAEN,KAAK8D,eAAe,CAACU,gBAAgB;AACnC,MAAA,OAAAmE,eAAA,CAAAA,eAAA,CAAA,EAAA,EACK8I,IAAI,CAAA,EAAA,EAAA,EAAA;QACP3P,OAAO,EAAEqpB,SAAS,CAAC;UACjB7Q,IAAI,EAAE7I,IAAI,CAAC3P,OAAO;AAClBoS,UAAAA,KAAK,EAALA,KAAK;UACLnB,IAAI,EAAE+U,qBAAqB,CAAC;AAAEjd,YAAAA,MAAM,EAANA,MAAM;AAAE4G,YAAAA,IAAI,EAAJA,IAAI;AAAEyC,YAAAA,KAAK,EAALA,KAAK;AAAElU,YAAAA,KAAK,EAALA;WAAO;SAC3D;AAAC,OAAA,CAAA;IAEN,KAAK8D,eAAe,CAACD,iBAAiB;AACpC,MAAA,OAAA8E,eAAA,CAAAA,eAAA,CAAA,EAAA,EACK8I,IAAI,CAAA,EAAA,EAAA,EAAA;QACPuB,KAAK,EAAEmY,SAAS,CAAC;UACf7Q,IAAI,EAAE7I,IAAI,CAACuB,KAAK;AAChBkB,UAAAA,KAAK,EAALA,KAAK;AACLnB,UAAAA,IAAI,EAAApK,eAAA,CAAAA,eAAA,CAAA,EAAA,EAAOsc,WAAW,CAAC;AAAExT,YAAAA,IAAI,EAAJA,IAAI;AAAEyC,YAAAA,KAAK,EAALA;AAAM,WAAC,CAAC,CAAA,EAAA,EAAA,EAAA;AAAER,YAAAA,UAAU,EAAE1T;AAAK,WAAA;SAC3D;AAAC,OAAA,CAAA;AAEN,IAAA;AACE,MAAA,OAAOyR,IAAI;AACf;AACF,CAAC;;;;AC1rBD,IAAM4Z,MAAM,GAAG,SAATA,MAAMA,CAAA3jB,IAAA,EAAmB;AAAA,EAAA,IAAAwQ,cAAA,EAAAlM,KAAA,EAAAsf,qBAAA,EAAAxY,aAAA,EAAApH,kBAAA,EAAAd,gBAAA,EAAAyN,aAAA,EAAAkT,qBAAA,EAAAC,YAAA;AAAA,EAAA,IAAb3gB,MAAM,GAAAnD,IAAA,CAANmD,MAAM;AACtB,EAAA,IAAAiR,eAAA,GAAcC,2BAAc,EAAE;IAAtBtO,CAAC,GAAAqO,eAAA,CAADrO,CAAC;AACT,EAAA,IAAAge,eAAA,GAAgCpJ,cAAc,CAACxX,MAAM,CAAC;IAA9CmY,QAAQ,GAAAyI,eAAA,CAARzI,QAAQ;IAAEE,SAAS,GAAAuI,eAAA,CAATvI,SAAS;AAC3B,EAAA,IAAAE,iBAAA,GAAgCC,uBAAgB,EAAE;IAA1CqI,MAAM,GAAAtI,iBAAA,CAANsI,MAAM;IAAEC,WAAW,GAAAvI,iBAAA,CAAXuI,WAAW;AAC3B,EAAA,IAAAC,aAAA,GAaIzI,YAAY,CAACtY,MAAM,CAAC;IAZtB4G,IAAI,GAAAma,aAAA,CAAJna,IAAI;IACJkS,SAAS,GAAAiI,aAAA,CAATjI,SAAS;IACTtK,YAAY,GAAAuS,aAAA,CAAZvS,YAAY;IACZI,aAAa,GAAAmS,aAAA,CAAbnS,aAAa;IACbK,QAAQ,GAAA8R,aAAA,CAAR9R,QAAQ;IACR8J,eAAe,GAAAgI,aAAA,CAAfhI,eAAe;IACfC,YAAY,GAAA+H,aAAA,CAAZ/H,YAAY;IACZ7J,SAAS,GAAA4R,aAAA,CAAT5R,SAAS;IACTE,QAAQ,GAAA0R,aAAA,CAAR1R,QAAQ;IACR4J,aAAa,GAAA8H,aAAA,CAAb9H,aAAa;IACbC,eAAe,GAAA6H,aAAA,CAAf7H,eAAe;IACfC,YAAY,GAAA4H,aAAA,CAAZ5H,YAAY;AAGd,EAAA,IAAA1B,gBAAA,GAAAC,+BAAA,CAAAC,kBAAA,WAAAC,KAAA,EAAA;AAAA,MAAA,OAAA;AAAQoJ,QAAAA,cAAc,EAAApJ,KAAA,CAAA,gBAAA,CAAA;AAAEqJ,QAAAA,UAAU,EAAArJ,KAAA,CAAA,YAAA;AAAA,OAAA;AAAA,IAAA,CAAA,CAAA,CAAA;IAA1BoJ,cAAc,GAAAvJ,gBAAA,CAAduJ,cAAc;IAAEC,UAAU,GAAAxJ,gBAAA,CAAVwJ,UAAU;EAClC,IAAMC,WAAW,GAAGrI,aAAO,CACzB,YAAA;AAAA,IAAA,OACEmI,cAAc,GAAGT,YAAY,CAAAziB,eAAA,CAAA;AAAG8I,MAAAA,IAAI,EAAJA,IAAI;AAAE5G,MAAAA,MAAM,EAANA;AAAM,KAAA,EAAKghB,cAAc,CAAE,CAAC,GAAGpa,IAAI;AAAA,EAAA,CAAA,EAC3E,CAACA,IAAI,EAAE5G,MAAM,EAAEghB,cAAc,CAC/B,CAAC;AAED,EAAA,IAAMG,WAAW,GAAG,CAAAF,UAAU,KAAA,IAAA,IAAVA,UAAU,KAAA,MAAA,GAAA,MAAA,GAAVA,UAAU,CAAE/I,IAAI,KAAI,EAAE;AAC1C,EAAA,IAAMpH,QAAQ,GAAG,SAAXA,QAAQA,CAAA3Q,KAAA,EAAA;AAAA,IAAA,IAAMwM,IAAI,GAAAxM,KAAA,CAAJwM,IAAI;MAAEtD,KAAK,GAAAlJ,KAAA,CAALkJ,KAAK;IAAA,OAC7B,CAAC,EAAC4X,UAAU,KAAA,IAAA,IAAVA,UAAU,KAAA,MAAA,IAAVA,UAAU,CAAEtU,IAAI,CAAA,IAClBwU,WAAW,CAAC/I,MAAM,KAAKzL,IAAI,IAC3BwU,WAAW,CAAC9X,KAAK,KAAKA,KAAK;AAAA,EAAA,CAAA;AAE7B,EAAA,IAAM+X,YAAY,GAChB,CAAC,EAACH,UAAU,KAAA,IAAA,IAAVA,UAAU,KAAA,MAAA,IAAVA,UAAU,CAAEtU,IAAI,CAAA,IAClBwU,WAAW,CAAC/I,MAAM,KAAKnf,eAAe,CAACS,UAAU,IACjDynB,WAAW,CAAC9X,KAAK,KAAKzC,IAAI,CAAC3P,OAAO,CAAC6R,MAAM,IACzC,CAACkY,cAAc;EAEjB,IAAMK,UAAU,GAAGxI,aAAO,CAAC,YAAA;AAAA,IAAA,OAAMyI,yBAAO,CAACT,MAAM,IAAI,EAAE,CAAC;EAAA,CAAA,EAAE,CAACA,MAAM,CAAC,CAAC;AACjE,EAAA,IAAA/lB,SAAA,GAAgCC,cAAQ,CAAC,CAAC,CAAC;IAAAC,UAAA,GAAAC,cAAA,CAAAH,SAAA,EAAA,CAAA,CAAA;AAApCiB,IAAAA,QAAQ,GAAAf,UAAA,CAAA,CAAA,CAAA;AAAEumB,IAAAA,WAAW,GAAAvmB,UAAA,CAAA,CAAA,CAAA;AAC5B,EAAA,IAAMwmB,eAAe,GAAGvlB,YAAM,CAAC6kB,WAAW,CAAC;AAC3C5kB,EAAAA,eAAS,CAAC,YAAM;AACd,IAAA,IAAI4kB,WAAW,IAAIU,eAAe,CAACnlB,OAAO,EAAE,OAAO2B,SAAS;IAC5DwjB,eAAe,CAACnlB,OAAO,GAAGykB,WAAW;AACrC,IAAA,IACE3e,aAAO,CAACkf,UAAU,CAAC,IACnBzZ,cAAc,CAAC;AAAEhB,MAAAA,IAAI,EAAJA,IAAI;AAAE5G,MAAAA,MAAM,EAANA;AAAO,KAAC,CAAC,IAChCmC,aAAO,CAAC4G,mBAAmB,CAAC;AAAEnC,MAAAA,IAAI,EAAJA,IAAI;AAAE5G,MAAAA,MAAM,EAANA;AAAO,KAAC,CAAC,CAAC,IAC9CmC,aAAO,CAACuH,6BAA6B,CAAC;AAAE9C,MAAAA,IAAI,EAAJA,IAAI;AAAE5G,MAAAA,MAAM,EAANA;KAAQ,CAAC,CAAC,EACxD;AACA,MAAA,OAAOhC,SAAS;AAClB,IAAA;IAEAujB,WAAW,CAACT,WAAW,CAAC;IACxB,IAAMW,KAAK,GAAGC,UAAU,CAAC,YAAA;MAAA,OAAMH,WAAW,CAAC,CAAC,CAAC;AAAA,IAAA,CAAA,EAAE5rB,iBAAiB,CAAC;IAEjE,OAAO,YAAA;MAAA,OAAMgsB,YAAY,CAACF,KAAK,CAAC;AAAA,IAAA,CAAA;AAChC;AACF,EAAA,CAAC,EAAE,CAACX,WAAW,CAAC,CAAC;AAEjB,EAAA,IAAMc,UAAU,GAAG,SAAbA,UAAUA,CAAArhB,KAAA,EAAA;AAAA,IAAA,IAAMshB,MAAM,GAAAthB,KAAA,CAANshB,MAAM;MAAAC,aAAA,GAAAvhB,KAAA,CAAEwhB,OAAO;AAAPA,MAAAA,OAAO,GAAAD,aAAA,KAAA,MAAA,GAAG,EAAE,GAAAA,aAAA;IAAA,OACxCE,MAAM,CAAC9T,IAAI,CAACmT,UAAU,CAAC,CAACra,IAAI,CAC1B,UAAA1I,GAAG,EAAA;MAAA,OACD,CAACA,GAAG,KAAKujB,MAAM,IAAIvjB,GAAG,CAAC2jB,UAAU,CAAA,EAAA,CAAAjf,MAAA,CAAI6e,MAAM,EAAA,GAAA,CAAG,CAAC,KAC/C,CAACE,OAAO,CAAC/a,IAAI,CACX,UAAAkb,GAAG,EAAA;QAAA,OACD5jB,GAAG,QAAA0E,MAAA,CAAQ6e,MAAM,EAAA,GAAA,CAAA,CAAA7e,MAAA,CAAIkf,GAAG,CAAE,IAAI5jB,GAAG,CAAC2jB,UAAU,CAAA,EAAA,CAAAjf,MAAA,CAAI6e,MAAM,OAAA7e,MAAA,CAAIkf,GAAG,EAAA,GAAA,CAAG,CAAC;AAAA,MAAA,CACrE,CAAC;AAAA,IAAA,CACL,CAAC;AAAA,EAAA,CAAA;AAEH,EAAA,IAAMC,cAAc,GAAG,SAAjBA,cAAcA,CAAAvhB,KAAA,EAAiC;AAAA,IAAA,IAA3B+L,IAAI,GAAA/L,KAAA,CAAJ+L,IAAI;MAAEtD,KAAK,GAAAzI,KAAA,CAALyI,KAAK;MAAEiN,OAAO,GAAA1V,KAAA,CAAP0V,OAAO;IAC5C,IAAM8L,aAAa,GAAA,EAAA,CAAApf,MAAA,CAAM8V,SAAS,CAAChiB,UAAU,EAAA,SAAA,CAAA,CAAAkM,MAAA,CAAUqG,KAAK,EAAA,WAAA,CAAW;IACvE,IAAMgZ,UAAU,GAAA,EAAA,CAAArf,MAAA,CAAM8V,SAAS,CAAC7hB,OAAO,EAAA,SAAA,CAAA,CAAA+L,MAAA,CAAUqG,KAAK,EAAA,WAAA,CAAW;AACjE;IACA,IAAMiZ,UAAU,GAAG1b,IAAI,CAAC3P,OAAO,CAACoS,KAAK,CAAC,IAAI,EAAE;IAC5C,IAAMxF,KAAK,GAAGJ,aAAa,CAAC;AAAEzD,MAAAA,MAAM,EAANA,MAAM;AAAE2D,MAAAA,MAAM,EAAE2e;AAAW,KAAC,CAAC;AAC3D,IAAA,IAAMC,QAAQ,GAAG1e,KAAK,CAACxC,GAAG,CAAC,UAAA4C,IAAI,EAAA;MAAA,OAAIA,IAAI,CAAC3F,GAAG;IAAA,CAAA,CAAC;IAE5C,IAAMkkB,eAAe,GAAG/W,oBAAoB,CAAC;AAC3CzL,MAAAA,MAAM,EAANA,MAAM;AACN2D,MAAAA,MAAM,EAAE2e,UAAU;AAClB5iB,MAAAA,IAAI,EAAE2iB;AACR,KAAC,CAAC;AACF,IAAA,QAAQ1V,IAAI;MACV,KAAK1T,eAAe,CAACG,aAAa;AAAE,QAAA;AAAA,UAAA,IAAAoH,aAAA;AAClC,UAAA,IAAMiiB,QAAQ,GAAA,CAAAjiB,aAAA,GAAGR,MAAM,CAACpJ,KAAK,MAAA,IAAA,IAAA4J,aAAA,KAAA,MAAA,GAAA,MAAA,GAAZA,aAAA,CAAc9J,QAAQ;AAEvC,UAAA,OAAO,CAAC,CAAC+rB,QAAQ,IAAIb,UAAU,CAAC;YAAEC,MAAM,EAAA,EAAA,CAAA7e,MAAA,CAAKyf,QAAQ,EAAA,QAAA;AAAS,WAAC,CAAC;AAClE,QAAA;MACA,KAAKxpB,eAAe,CAACI,iBAAiB;AACpC,QAAA,OAAOuoB,UAAU,CAAC;AAAEC,UAAAA,MAAM,EAAA,EAAA,CAAA7e,MAAA,CAAK8V,SAAS,CAACvO,QAAQ,EAAA,QAAA;AAAS,SAAC,CAAC;MAC9D,KAAKtR,eAAe,CAACK,UAAU;AAC7B,QAAA,OAAOsoB,UAAU,CAAC;UAChBC,MAAM,EAAA,EAAA,CAAA7e,MAAA,CAAK8V,SAAS,CAAChiB,UAAU,EAAA,SAAA,CAAA,CAAAkM,MAAA,CAAUqG,KAAK,EAAA,QAAA;AAChD,SAAC,CAAC;MACJ,KAAKpQ,eAAe,CAACM,cAAc;AAAE,QAAA;AACnC;UACA,IAAM0H,SAAS,GAAG2F,IAAI,CAAC9P,UAAU,CAACuS,KAAK,CAAC,IAAI,EAAE;UAE9C,OAAO,CAAC,CAACpI,SAAS,CAACH,KAAK,IAAI,CAACG,SAAS,CAACpC,IAAI;AAC7C,QAAA;MACA,KAAK5F,eAAe,CAACQ,WAAW;AAC9B,QAAA,OAAOmoB,UAAU,CAAC;AAAEC,UAAAA,MAAM,EAAEO;AAAc,SAAC,CAAC;MAC9C,KAAKnpB,eAAe,CAACR,aAAa;AAChC,QAAA,OAAOmpB,UAAU,CAAC;AAChBC,UAAAA,MAAM,EAAEQ,UAAU;UAClBN,OAAO,EAAA,EAAA,CAAA/e,MAAA,CAAA0J,kBAAA,CAAM8V,eAAe,CAAA,EAAA9V,kBAAA,CAAK6V,QAAQ,CAAA;AAC3C,SAAC,CAAC;MACJ,KAAKtpB,eAAe,CAACP,WAAW;AAAE,QAAA;AAChC,UAAA,IAAMuL,IAAI,GAAGJ,KAAK,CAAC5D,IAAI,CAAC,UAAAiI,IAAI,EAAA;AAAA,YAAA,OAAIA,IAAI,CAAC5J,GAAG,KAAKgY,OAAO;UAAA,CAAA,CAAC;AAErD,UAAA,OACEsL,UAAU,CAAC;AAAEC,YAAAA,MAAM,KAAA7e,MAAA,CAAKqf,UAAU,EAAA,GAAA,CAAA,CAAArf,MAAA,CAAIsT,OAAO;AAAG,WAAC,CAAC,IACjD,CAAC,EAACrS,IAAI,KAAA,IAAA,IAAJA,IAAI,KAAA,MAAA,IAAJA,IAAI,CAAE0D,QAAQ,CAAA,IAAI,CAAC7D,WAAW,CAAC;AAAEH,YAAAA,MAAM,EAAE2e,UAAU;AAAEre,YAAAA,IAAI,EAAJA;AAAK,WAAC,CAAE;AAEpE,QAAA;MACA,KAAKhL,eAAe,CAACU,gBAAgB;AACnC,QAAA,OACEioB,UAAU,CAAC;UACTC,MAAM,EAAA,EAAA,CAAA7e,MAAA,CAAK8V,SAAS,CAAC7hB,OAAO,EAAA,SAAA,CAAA,CAAA+L,MAAA,CAAUqG,KAAK,EAAA,OAAA;AAC7C,SAAC,CAAC,IACFmZ,eAAe,CAACxb,IAAI,CAAC,UAAAlG,KAAK,EAAA;AAAA,UAAA,OACxB8gB,UAAU,CAAC;AAAEC,YAAAA,MAAM,KAAA7e,MAAA,CAAKqf,UAAU,EAAA,GAAA,CAAA,CAAArf,MAAA,CAAIlC,KAAK;AAAG,WAAC,CAAC;AAAA,QAAA,CAClD,CAAC;MAEL,KAAK7H,eAAe,CAACS,UAAU;QAC7B,OAAO,CAACkN,IAAI,CAAC3P,OAAO,CAAC+P,IAAI,CAAC,UAAAkB,IAAI,EAAA;AAAA,UAAA,OAAI,CAAAA,IAAI,KAAA,IAAA,IAAJA,IAAI,uBAAJA,IAAI,CAAE3E,OAAO,MAAI2E,IAAI,KAAA,IAAA,IAAJA,IAAI,KAAA,MAAA,GAAA,MAAA,GAAJA,IAAI,CAAExI,IAAI,CAAA;QAAA,CAAA,CAAC;MAChE,KAAKzG,eAAe,CAACW,UAAU;AAC7B,QAAA,OAAOgoB,UAAU,CAAC;AAAEC,UAAAA,MAAM,EAAA,EAAA,CAAA7e,MAAA,CAAK8V,SAAS,CAAC1hB,KAAK,EAAA,QAAA;AAAS,SAAC,CAAC;MAC3D,KAAK6B,eAAe,CAACF,KAAK;AACxB,QAAA,OAAOgQ,mBAAmB,CAAC;AAAEnC,UAAAA,IAAI,EAAJA,IAAI;AAAE5G,UAAAA,MAAM,EAANA;AAAO,SAAC,CAAC,CAAClB,QAAQ,CAACuK,KAAK,CAAC;MAC9D,KAAKpQ,eAAe,CAACD,iBAAiB;AACpC,QAAA,OAAO0Q,6BAA6B,CAAC;AAAE9C,UAAAA,IAAI,EAAJA,IAAI;AAAE5G,UAAAA,MAAM,EAANA;AAAO,SAAC,CAAC,CAAClB,QAAQ,CAACuK,KAAK,CAAC;MACxE,KAAKpQ,eAAe,CAACY,SAAS;AAC5B,QAAA,OAAO+nB,UAAU,CAAC;AAAEC,UAAAA,MAAM,EAAA,EAAA,CAAA7e,MAAA,CAAK8V,SAAS,CAACpZ,IAAI,EAAA,QAAA;AAAS,SAAC,CAAC;AAC1D,MAAA;AACE,QAAA,OAAO,KAAK;AAChB;EACF,CAAC;;AAED;AACA;AACA,EAAA,IAAMsR,SAAS,GAAG,SAAZA,SAASA,CAAGxR,IAAI,EAAA;IAAA,OAAKzD,QAAQ,IAAIomB,cAAc,CAAC3iB,IAAI,CAAC,GAAGzD,QAAQ,GAAG,CAAC;EAAA,CAAC;AAE3E,EAAA,IAAM2mB,oBAAoB,GAAG,SAAvBA,oBAAoBA,CAAA1hB,KAAA,EAA2B;AAAA,IAAA,IAArB2hB,OAAO,GAAA3hB,KAAA,CAAP2hB,OAAO;MAAEtZ,KAAK,GAAArI,KAAA,CAALqI,KAAK;IAC5C,IACE4X,UAAU,aAAVA,UAAU,KAAA,MAAA,IAAVA,UAAU,CAAEtU,IAAI,IAChBgW,OAAO,CAAC7jB,QAAQ,CAACqiB,WAAW,CAAC/I,MAAM,CAAC,IACpC+I,WAAW,CAAC9X,KAAK,KAAKA,KAAK,EAC3B;AACAgP,MAAAA,SAAS,EAAE;AACb,IAAA;EACF,CAAC;AAED,EAAA,IAAMuK,qBAAqB,GAAG,SAAxBA,qBAAqBA,CAAGvZ,KAAK,EAAI;AACrCqZ,IAAAA,oBAAoB,CAAC;AAAEC,MAAAA,OAAO,EAAEzoB,iBAAiB;AAAEmP,MAAAA,KAAK,EAALA;AAAM,KAAC,CAAC;IAC3D0P,eAAe,CAAC1P,KAAK,CAAC;EACxB,CAAC;AAED,EAAA,IAAMoN,kBAAkB,GAAG,SAArBA,kBAAkBA,CAAGpN,KAAK,EAAI;AAClCqZ,IAAAA,oBAAoB,CAAC;AAAEC,MAAAA,OAAO,EAAExoB,cAAc;AAAEkP,MAAAA,KAAK,EAALA;AAAM,KAAC,CAAC;IACxD2P,YAAY,CAAC3P,KAAK,CAAC;IACnB,IAAMwZ,SAAS,GAAGjc,IAAI,CAAC3P,OAAO,CAAC2Y,MAAM,CAAC,UAACC,CAAC,EAAEC,CAAC,EAAA;MAAA,OAAKA,CAAC,KAAKzG,KAAK;IAAA,CAAA,CAAC;AAC5D,IAAA,IAAI,CAACwZ,SAAS,CAAC7b,IAAI,CAAC,UAAArD,MAAM,EAAA;AAAA,MAAA,OAAI,CAAAA,MAAM,KAAA,IAAA,IAANA,MAAM,uBAANA,MAAM,CAAEJ,OAAO,MAAII,MAAM,KAAA,IAAA,IAANA,MAAM,KAAA,MAAA,GAAA,MAAA,GAANA,MAAM,CAAEjE,IAAI,CAAA;AAAA,IAAA,CAAA,CAAC,EAAE;MAC9D2P,QAAQ,CAAC,EAAE,CAAC;AACd,IAAA;EACF,CAAC;AAED,EAAA,IAAMyT,iBAAiB,GAAG,SAApBA,iBAAiBA,GAAS;AAC9BJ,IAAAA,oBAAoB,CAAC;AACnBC,MAAAA,OAAO,EAAE,CAAC1pB,eAAe,CAACW,UAAU,CAAC;AACrCyP,MAAAA,KAAK,EAAErL;AACT,KAAC,CAAC;IACFiR,QAAQ,CAAC,IAAI,CAAC;EAChB,CAAC;;AAED;AACA;EACA,IAAM8T,YAAY,GAAG/iB,MAAM,KAAA,IAAA,IAANA,MAAM,KAAA,MAAA,IAAA,CAAAqN,cAAA,GAANrN,MAAM,CAAEpJ,KAAK,MAAA,IAAA,IAAAyW,cAAA,eAAbA,cAAA,CAAexW,OAAO,GAAGmJ,MAAM,CAACpJ,KAAK,CAACD,OAAO,IAAI,EAAE,GAAG,EAAE;AAC7E,EAAA,IAAMqsB,eAAe,GACnBD,YAAY,CAACja,MAAM,KAAK,CAAC,GAAA,CAAA3H,KAAA,GAAA,CAAAsf,qBAAA,GACpBsC,YAAY,CAAC,CAAC,CAAC,CAAC5tB,KAAK,MAAA,IAAA,IAAAsrB,qBAAA,KAAA,MAAA,GAAAA,qBAAA,GAAIsC,YAAY,CAAC,CAAC,CAAC,CAACljB,EAAE,MAAA,IAAA,IAAAsB,KAAA,KAAA,MAAA,GAAAA,KAAA,GAAI4hB,YAAY,CAAC,CAAC,CAAC,GAC/D,IAAI;EAEV,IAAMjM,YAAY,GAAG3P,kBAAkB,CAAC;AAAEP,IAAAA,IAAI,EAAJA,IAAI;AAAE5G,IAAAA,MAAM,EAANA;AAAO,GAAC,CAAC;EACzD,IAAM+G,SAAS,GAAGH,IAAI,CAAC3P,OAAO,CAAC+P,IAAI,CACjC,UAAArD,MAAM,EAAA;AAAA,IAAA,OAAI,CAAAA,MAAM,KAAA,IAAA,IAANA,MAAM,uBAANA,MAAM,CAAEJ,OAAO,MAAII,MAAM,KAAA,IAAA,IAANA,MAAM,KAAA,MAAA,GAAA,MAAA,GAANA,MAAM,CAAEjE,IAAI,CAAA;AAAA,EAAA,CAC3C,CAAC;EACD,IAAMujB,cAAc,GAAG,CAAAjjB,MAAM,aAANA,MAAM,KAAA,MAAA,IAAA,CAAAiI,aAAA,GAANjI,MAAM,CAAEmI,KAAK,MAAA,IAAA,IAAAF,aAAA,KAAA,MAAA,GAAA,MAAA,GAAbA,aAAA,CAAepR,OAAO,KAAIigB,YAAY,IAAI/P,SAAS;AAC1E,EAAA,IAAM+M,iBAAiB,GAAG,SAApBA,iBAAiBA,CAAGzK,KAAK,EAAI;AACjCqZ,IAAAA,oBAAoB,CAAC;AACnBC,MAAAA,OAAO,EAAE,CAAC1pB,eAAe,CAACD,iBAAiB,CAAC;AAC5CqQ,MAAAA,KAAK,EAALA;AACF,KAAC,CAAC;AACFgG,IAAAA,QAAQ,CAAC,CAACzI,IAAI,CAACuB,KAAK,IAAI,EAAE,EAAEyH,MAAM,CAAC,UAACC,CAAC,EAAEC,CAAC,EAAA;MAAA,OAAKA,CAAC,KAAKzG,KAAK;AAAA,IAAA,CAAA,CAAC,CAAC;EAC5D,CAAC;EACD,IAAM6Z,eAAe,GAAG7c,sBAAsB,CAAC;AAAErG,IAAAA,MAAM,EAANA,MAAM;AAAE4G,IAAAA,IAAI,EAAJA;AAAK,GAAC,CAAC;AAChE,EAAA,IAAMuc,eAAe,GAAG7gB,oBAAU,CAAC4gB,eAAe,CAAC;EACnD,IAAME,kBAAkB,GACtB,CAAApjB,MAAM,KAAA,IAAA,IAANA,MAAM,KAAA,MAAA,IAAA,CAAAa,kBAAA,GAANb,MAAM,CAAElJ,UAAU,MAAA,IAAA,IAAA+J,kBAAA,KAAA,MAAA,GAAA,MAAA,GAAlBA,kBAAA,CAAoB2G,UAAU,MAAK,KAAK,IACxC0Z,WAAW,CAACpqB,UAAU,CAACgS,MAAM,GAAG,CAAC;EACnC,IAAMua,iBAAiB,GAAG,CAAArjB,MAAM,KAAA,IAAA,IAANA,MAAM,KAAA,MAAA,IAAA,CAAAD,gBAAA,GAANC,MAAM,CAAEvJ,QAAQ,MAAA,IAAA,IAAAsJ,gBAAA,KAAA,MAAA,IAAA,CAAAA,gBAAA,GAAhBA,gBAAA,CAAkBwK,QAAQ,MAAA,IAAA,IAAAxK,gBAAA,KAAA,MAAA,GAAA,MAAA,GAA1BA,gBAAA,CAA4BuX,SAAS,KAAI,EAAE;EACrE,IAAMgM,kBAAkB,GAAG1c,IAAI,CAACnQ,QAAQ,CAACuQ,IAAI,CAAC,UAAA5G,OAAO,EAAA;AAAA,IAAA,OACnDijB,iBAAiB,CAACvkB,QAAQ,CAACsB,OAAO,CAACV,IAAI,CAAC;AAAA,EAAA,CAC1C,CAAC;EACD,IAAM6jB,cAAc,GAAG,CAAAvjB,MAAM,aAANA,MAAM,KAAA,MAAA,IAAA,CAAAwN,aAAA,GAANxN,MAAM,CAAE5I,KAAK,MAAA,IAAA,IAAAoW,aAAA,KAAA,MAAA,GAAA,MAAA,GAAbA,aAAA,CAAe3W,OAAO,KAAI,CAACysB,kBAAkB;AAEpEpnB,EAAAA,eAAS,CAAC,YAAM;IACd,IAAI8mB,eAAe,IAAI,CAACpc,IAAI,CAACnG,SAAS,EAAE+N,YAAY,CAACwU,eAAe,CAAC;AACrE;EACF,CAAC,EAAE,CAACA,eAAe,EAAEpc,IAAI,CAACnG,SAAS,CAAC,CAAC;AAErCvE,EAAAA,eAAS,CAAC,YAAM;IACd,IAAIonB,kBAAkB,IAAI1c,IAAI,CAACxP,KAAK,EAAE6X,QAAQ,CAAC,IAAI,CAAC;AACpD;EACF,CAAC,EAAE,CAACqU,kBAAkB,EAAE1c,IAAI,CAACxP,KAAK,CAAC,CAAC;AAEpC,EAAA,IAAMqZ,kBAAkB,GAAG,SAArBA,kBAAkBA,GAAS;AAC/B,IAAA,IAAItO,aAAO,CAAC+gB,eAAe,CAAC,EAAE;IAE9BtU,aAAa,CAAA,EAAA,CAAA5L,MAAA,CAAA0J,kBAAA,CACR9F,IAAI,CAAC9P,UAAU,CAAA,EAAA,CAClB;AAAE+V,MAAAA,QAAQ,EAAEvB,WAAW,CAAC1E,IAAI,CAACwH,aAAa,CAAC;AAAErM,MAAAA,QAAQ,EAAE;AAAG,KAAC,EAC5D,CAAC;AAEFoW,IAAAA,QAAQ,CAAC;MACPxL,IAAI,EAAE1T,eAAe,CAACK,UAAU;AAChC+P,MAAAA,KAAK,EAAEzC,IAAI,CAAC9P,UAAU,CAACgS;AACzB,KAAC,CAAC;EACJ,CAAC;AAED,EAAA,IAAMoO,kBAAkB,GAAG,SAArBA,kBAAkBA,GAAS;AAAA,IAAA,IAAAkJ,cAAA;AAC/BnH,IAAAA,aAAa,EAAE;AACf;AACA,IAAA,IAAA,CAAAmH,cAAA,GAAIpgB,MAAM,CAACpJ,KAAK,MAAA,IAAA,IAAAwpB,cAAA,KAAA,MAAA,IAAZA,cAAA,CAAcvpB,OAAO,EAAE2X,YAAY,CAACwU,eAAe,CAAC;AACxD9J,IAAAA,eAAe,EAAE;IACjBjK,QAAQ,CAAC,IAAI,CAAC;AACdkK,IAAAA,YAAY,EAAE;IACd9J,QAAQ,CAAC,EAAE,CAAC;AACZgJ,IAAAA,SAAS,EAAE;EACb,CAAC;AAED,EAAA,IAAMrD,eAAe,GAAG,SAAlBA,eAAeA,GAAS;AAC5BmD,IAAAA,QAAQ,CAAC;MAAExL,IAAI,EAAE1T,eAAe,CAACS,UAAU;AAAE2P,MAAAA,KAAK,EAAEzC,IAAI,CAAC3P,OAAO,CAAC6R;AAAO,KAAC,CAAC;EAC5E,CAAC;AAED,EAAA,IAAM0a,OAAO,GAAG;AAAE5c,IAAAA,IAAI,EAAJA,IAAI;AAAE5G,IAAAA,MAAM,EAANA,MAAM;AAAEmY,IAAAA,QAAQ,EAARA;GAAU;AAC1C,EAAA,IAAMsL,UAAU,GAAG,SAAbA,UAAUA,CAAG/jB,IAAI,EAAA;AAAA,IAAA,IAAAgkB,kBAAA,EAAAC,aAAA,EAAAC,mBAAA;IAAA;AACrB,MAAA,CAAAF,kBAAA,GACA1jB,MAAM,KAAA,IAAA,IAANA,MAAM,KAAA,MAAA,IAAA,CAAA2jB,aAAA,GAAN3jB,MAAM,CAAEzI,KAAK,MAAA,IAAA,IAAAosB,aAAA,KAAA,MAAA,IAAA,CAAAC,mBAAA,GAAbD,aAAA,CAAgBjkB,IAAI,CAAC,MAAA,IAAA,IAAAkkB,mBAAA,KAAA,MAAA,GAAA,MAAA,GAArBA,mBAAA,CAAArnB,IAAA,CAAAonB,aAAA,EAAwBH,OAAO,CAAC,MAAA,IAAA,IAAAE,kBAAA,KAAA,MAAA,GAAAA,kBAAA,GAAI;AAAI;AAAA,EAAA,CAAA;AAE1C,EAAA,oBACE7lB,cAAA,CAAA,KAAA,EAAA;AAAKP,IAAAA,SAAS,EAAC,+BAA+B;AAAAR,IAAAA,QAAA,eAC5C4U,eAAA,CAAA,KAAA,EAAA;AAAKpU,MAAAA,SAAS,EAAC,iCAAiC;MAAAR,QAAA,EAAA,CAC7C2mB,UAAU,CAAC,YAAY,CAAC,eACzB5lB,cAAA,CAACoZ,SAAS,EAAA;AACFnG,QAAAA,QAAQ,EAARA,QAAQ;AAAEE,QAAAA,SAAS,EAATA,SAAS;AAAEhR,QAAAA,MAAM,EAANA,MAAM;AACjC4G,QAAAA,IAAI,EAAEsa,WAAY;QAClB/J,cAAc,EAAEL,YAAY,IAAII,kBAAmB;AACnD1G,QAAAA,OAAO,EAAE2H,QAAS;QAClBzH,cAAc,EACZyS,eAAe,IACfhhB,aAAO,CAAC+e,WAAW,CAACpqB,UAAU,CAAC,IAC/B2Z;AACD,OACF,CAAC,EACDgT,UAAU,CAAC,WAAW,CAAC,EACvBvC,WAAW,CAACpqB,UAAU,CAACuK,GAAG,CAAC,UAACJ,SAAS,EAAEoI,KAAK,EAAA;AAAA,QAAA,IAAAwa,aAAA;QAAA,oBAC3C5P,mBAAA,CAAC3D,YAAY,EAAA;AACLrP,UAAAA,SAAS,EAATA,SAAS;AAAEoI,UAAAA,KAAK,EAALA,KAAK;AAAEyH,UAAAA,QAAQ,EAARA,QAAQ;AAAEE,UAAAA,SAAS,EAATA,SAAS;AAAEhR,UAAAA,MAAM,EAANA,MAAM;UACnD1B,GAAG,EAAA,CAAAulB,aAAA,GAAE5iB,SAAS,CAACpB,EAAE,MAAA,IAAA,IAAAgkB,aAAA,KAAA,MAAA,GAAAA,aAAA,GAAIxa,KAAM;AAC3BzC,UAAAA,IAAI,EAAEsa,WAAY;AAClB1Q,UAAAA,OAAO,EAAE2H,QAAS;AAClBzH,UAAAA,cAAc,EACZyS,eAAe,IACf9Z,KAAK,KAAK6X,WAAW,CAACpqB,UAAU,CAACgS,MAAM,GAAG,CAAC,IAC3C2H,kBACD;UACDG,QAAQ,EACNwS,kBAAkB,IAAK,YAAA;YAAA,OAAMR,qBAAqB,CAACvZ,KAAK,CAAC;AAAA,UAAA;AAC1D,SACF,CAAC;MAAA,CACH,CAAC,EACDoa,UAAU,CAAC,iBAAiB,CAAC,eAC9B5lB,cAAA,CAACuU,SAAS,EAAA;AAAClV,QAAAA,MAAM,EAAE4Z;AAAa,OAAE,CAAC,EAClCyM,cAAc,IACbzM,YAAY,KACXlQ,IAAI,CAACxP,KAAK,gBACTsa,eAAA,CAACuE,cAAQ,EAAA;QAAAnZ,QAAA,EAAA,cACPe,cAAA,CAACiV,QAAQ,EAAA;AACDhC,UAAAA,QAAQ,EAARA,QAAQ;AAAEE,UAAAA,SAAS,EAATA,SAAS;AAAEpK,UAAAA,IAAI,EAAJA,IAAI;AAC/BgK,UAAAA,QAAQ,EAAEkS,iBAAkB;AAC5BtS,UAAAA,OAAO,EAAE2H;AAAS,SACnB,CAAC,eACFta,cAAA,CAACuU,SAAS,EAAA;UAAClV,MAAM,EAAA;AAAA,SAAE,CAAC;OACZ,CAAC,gBAEXW,cAAA,CAAA,KAAA,EAAA;AAAKP,QAAAA,SAAS,EAAC,YAAY;QAAAR,QAAA,eACzBe,cAAA,CAAC+T,iBAAM,EAAA;AACL,UAAA,aAAA,EAAY,gBAAgB;AAC5BlM,UAAAA,IAAI,EAAEmM,IAAK;AACXiS,UAAAA,YAAY,EAAC,MAAM;AACnB5uB,UAAAA,KAAK,EAAE0N,CAAC,CAAC,4BAA4B,CAAE;AACvCkP,UAAAA,IAAI,EAAC,IAAI;AACTC,UAAAA,OAAO,EAAC,WAAW;UACnB1U,OAAO,EAAE,SAATA,OAAOA,GAAA;AAAA,YAAA,OAAQ8a,QAAQ,CAAC;cAAExL,IAAI,EAAE1T,eAAe,CAACW;AAAW,aAAC,CAAC;AAAA,UAAA;SAC9D;AAAC,OACC,CACN,CAAC,eACJiE,cAAA,CAAC2Y,SAAS,EAAA;AACF1F,QAAAA,QAAQ,EAARA,QAAQ;AAAEE,QAAAA,SAAS,EAATA,SAAS;AAAEhR,QAAAA,MAAM,EAANA,MAAM;AACjC4W,QAAAA,MAAM,EAAEwK,YAAa;AACrBxa,QAAAA,IAAI,EAAEsa,WAAY;AAClBjM,QAAAA,WAAW,EAAED,eAAgB;AAC7B0B,QAAAA,cAAc,EAAED,kBAAmB;AACnCjG,QAAAA,OAAO,EAAE2H;OACV,CAAC,EACDsL,UAAU,CAAC,cAAc,CAAC,EAC1BR,cAAc,iBACbvR,eAAA,CAACuE,cAAQ,EAAA;QAAAnZ,QAAA,EAAA,cACPe,cAAA,CAACuU,SAAS,EAAA;UAAClV,MAAM,EAAA;AAAA,SAAE,CAAC,eACpBW,cAAA,CAAC+V,UAAU,EAAA;AACH9C,UAAAA,QAAQ,EAARA,QAAQ;AAAEE,UAAAA,SAAS,EAATA,SAAS;AAAEhR,UAAAA,MAAM,EAANA,MAAM;AACjC4G,UAAAA,IAAI,EAAEsa,WAAY;AAClBnN,UAAAA,aAAa,EAAED,iBAAkB;AACjCtD,UAAAA,OAAO,EAAE2H;AAAS,SACnB,CAAC;AAAA,OACM,CACX,eACDta,cAAA,CAACuU,SAAS,EAAA;QAAClV,MAAM,EAAA;AAAA,OAAE,CAAC,eACpBW,cAAA,CAACmV,SAAS,EAAA;AACFpM,QAAAA,IAAI,EAAJA,IAAI;QACVoK,SAAS,EAAEA,SAAS,CAAC;UAAErE,IAAI,EAAE1T,eAAe,CAACY;AAAU,SAAC,CAAE;QAC1DqZ,QAAQ,EAAA,CAAAwN,qBAAA,GAAE1gB,MAAM,aAANA,MAAM,KAAA,MAAA,IAAA,CAAA2gB,YAAA,GAAN3gB,MAAM,CAAE8B,IAAI,MAAA,IAAA,IAAA6e,YAAA,KAAA,MAAA,GAAA,MAAA,GAAZA,YAAA,CAAczN,QAAQ,cAAAwN,qBAAA,KAAA,MAAA,GAAAA,qBAAA,GAAI,IAAK;QACzCtN,UAAU,EAAE,SAAZA,UAAUA,GAAA;AAAA,UAAA,OAAQ+E,QAAQ,CAAC;YAAExL,IAAI,EAAE1T,eAAe,CAACY;AAAU,WAAC,CAAC;QAAA,CAAC;AAChEyZ,QAAAA,cAAc,EAAE,SAAhBA,cAAcA,CAAEjV,KAAK,EAAA;AAAA,UAAA,OAAI8Q,SAAS,CAAC9Q,KAAK,CAAC0lB,MAAM,CAACvQ,OAAO,CAAC;AAAA,QAAA;AAAC,OAC1D,CAAC;KACC;AAAC,GACH,CAAC;AAEV,CAAC;;AC7XM,IAAMwQ,mBAAmB,GAAG;AACjCC,EAAAA,YAAY,EAAE,cAAc;AAC5BC,EAAAA,SAAS,EAAE,WAAW;AACtBC,EAAAA,WAAW,EAAE,aAAa;AAC1BC,EAAAA,QAAQ,EAAE,UAAU;AACpBC,EAAAA,IAAI,EAAE,MAAM;AACZ5U,EAAAA,IAAI,EAAE,MAAM;AACZ6U,EAAAA,QAAQ,EAAE,UAAU;AACpBC,EAAAA,MAAM,EAAE,QAAQ;AAChBC,EAAAA,IAAI,EAAE,MAAM;AACZC,EAAAA,KAAK,EAAE,OAAO;AACdC,EAAAA,OAAO,EAAE,SAAS;AAClBC,EAAAA,IAAI,EAAE;AACR,CAAC;AAEM,IAAMC,qBAAqB,GAAG;AACnCT,EAAAA,WAAW,EAAE,cAAc;AAC3BU,EAAAA,iBAAiB,EAAE,qBAAqB;AACxCN,EAAAA,MAAM,EAAE,QAAQ;AAChBO,EAAAA,KAAK,EAAE;AACT,CAAC;;ACID,IAAMC,aAAa,GAAG,SAAhBA,aAAaA,CAAGP,IAAI,EAAA;AAAA,EAAA,OACxBA,IAAI,GAAGA,IAAI,CAAC9lB,OAAO,CAAC,OAAO,EAAE,IAAI,CAAC,CAACA,OAAO,CAAC,OAAO,EAAE,IAAI,CAAC,GAAG8lB,IAAI;AAAA,CAAA;AAElE,IAAMQ,kBAAkB,GAAG,SAArBA,kBAAkBA,CAAAnoB,IAAA,EAMlB;AAAA,EAAA,IALJ6C,IAAI,GAAA7C,IAAA,CAAJ6C,IAAI;IACJC,MAAM,GAAA9C,IAAA,CAAN8C,MAAM;IACNgE,MAAM,GAAA9G,IAAA,CAAN8G,MAAM;IAAAshB,eAAA,GAAApoB,IAAA,CACNqoB,UAAU;AAAVA,IAAAA,UAAU,GAAAD,eAAA,KAAA,MAAA,GAAG,EAAE,GAAAA,eAAA;IAAAE,qBAAA,GAAAtoB,IAAA,CACfuoB,iBAAiB;AAAjBA,IAAAA,iBAAiB,GAAAD,qBAAA,KAAA,MAAA,GAAG,KAAK,GAAAA,qBAAA;AAEzB,EAAA,IAAAlU,eAAA,GAAcC,2BAAc,EAAE;IAAtBtO,CAAC,GAAAqO,eAAA,CAADrO,CAAC;AACT,EAAA,IAAA2V,iBAAA,GACEC,uBAAgB,EAAE;IADZvW,MAAM,GAAAsW,iBAAA,CAANtW,MAAM;IAAEwW,aAAa,GAAAF,iBAAA,CAAbE,aAAa;IAAE4M,eAAe,GAAA9M,iBAAA,CAAf8M,eAAe;IAAExE,MAAM,GAAAtI,iBAAA,CAANsI,MAAM;IAAEyE,OAAO,GAAA/M,iBAAA,CAAP+M,OAAO;EAE/D,IAAM3Y,IAAI,GAAGhN,MAAM,KAAA,IAAA,IAANA,MAAM,KAAA,MAAA,GAAA,MAAA,GAANA,MAAM,CAAEgN,IAAI;EACzB,IAAMhW,OAAO,GAAGkjB,gBAAgB,CAACla,MAAM,KAAA,IAAA,IAANA,MAAM,KAAA,MAAA,GAAA,MAAA,GAANA,MAAM,CAAEyC,eAAe,CAAC;AACzD,EAAA,IAAMmjB,SAAS,GAAA,EAAA,CAAAviB,MAAA,CAAMtD,IAAI,EAAA,QAAA,CAAQ;AAEjC,EAAA,IAAM8lB,UAAU,GAAG,SAAbA,UAAUA,CAAGjX,IAAI,EAAA;AAAA,IAAA,OAAIkX,YAAK,CAACH,OAAO,EAAE/W,IAAI,CAAC,IAAIkX,YAAK,CAAC5E,MAAM,EAAEtS,IAAI,CAAC;AAAA,EAAA,CAAA;EAEtE,IAAMmX,IAAI,GAAGR,UAAU,CAACvmB,IAAI,EAAE,CAACU,WAAW,EAAE;AAC5C,EAAA,IAAMsmB,aAAa,GAAG,SAAhBA,aAAaA,CAAGlW,IAAI,EAAA;AAAA,IAAA,OACxBiW,IAAI,GACAjW,IAAI,CAACG,MAAM,CAAC,UAAA1H,IAAI,EAAA;AAAA,MAAA,OAAIzJ,MAAM,CAACyJ,IAAI,CAAChT,KAAK,CAAC,CAACmK,WAAW,EAAE,CAACP,QAAQ,CAAC4mB,IAAI,CAAC;AAAA,IAAA,CAAA,CAAC,GACpEjW,IAAI;AAAA,EAAA,CAAA;EAEV,IAAMmW,IAAI,GAAGb,aAAa,CAACplB,MAAM,KAAA,IAAA,IAANA,MAAM,KAAA,MAAA,GAAA,MAAA,GAANA,MAAM,CAAEkmB,iBAAiB,CAAC;AACrD,EAAA,IAAMC,SAAS,GAAGF,IAAI,gBACpB/nB,cAAA,CAACkoB,qBAAU,EAAA;AAACC,IAAAA,KAAK,EAAC,OAAO;AAACjU,IAAAA,OAAO,EAAC,OAAO;AAAAjV,IAAAA,QAAA,EACtC8oB;GACS,CAAC,GACX,IAAI;AAER,EAAA,IAAMK,gBAAgB,GAAG,SAAnBA,gBAAgBA,GAAS;AAC7B,IAAA,IAAM3Q,IAAI,GAAG,CAAA3V,MAAM,KAAA,IAAA,IAANA,MAAM,KAAA,MAAA,GAAA,MAAA,GAANA,MAAM,CAAE6F,eAAe,MAAI7F,MAAM,KAAA,IAAA,IAANA,MAAM,KAAA,MAAA,GAAA,MAAA,GAANA,MAAM,CAAE4F,SAAS,CAAA;IAEzD,oBACE1H,cAAA,CAACkoB,qBAAU,EAAA;AAACC,MAAAA,KAAK,EAAC,OAAO;AAACjU,MAAAA,OAAO,EAAC,OAAO;AAAAjV,MAAAA,QAAA,EACtCwY,IAAI,GACD1S,CAAC,CAAC,wCAAwC,EAAE;AAAE9B,QAAAA,KAAK,EAAEwU;AAAK,OAAC,CAAC,GAC5D1S,CAAC,CAAC,qCAAqC;AAAC,KAClC,CAAC;EAEjB,CAAC;EAED,IAAMsjB,SAAS,gBACbroB,cAAA,CAAA,KAAA,EAAA;AAAKP,IAAAA,SAAS,EAAC,eAAe;AAAC,IAAA,aAAA,EAAY,iBAAiB;IAAAR,QAAA,EACzD8F,CAAC,CAAC,8BAA8B;AAAC,GAC/B,CACN;AAED,EAAA,IAAI+J,IAAI,KAAKqX,mBAAmB,CAACE,SAAS,EAAE;IAC1C,oBAAOrmB,cAAA,CAACsoB,eAAS,EAAA;AAAOzmB,MAAAA,IAAI,EAAJA,IAAI;AAAI0mB,MAAAA,aAAa,EAAEzmB;AAAO,KAAE,CAAC;AAC3D,EAAA;AAEA,EAAA,IAAIgN,IAAI,KAAKqX,mBAAmB,CAACC,YAAY,EAAE;AAAA,IAAA,IAAAoC,MAAA,EAAAC,OAAA,EAAAtiB,gBAAA;AAC7C,IAAA,IAAMuiB,WAAW,GAAA,EAAA,CAAAvjB,MAAA,CAAMtD,IAAI,EAAA,UAAA,CAAU;AACrC,IAAA,IAAM8mB,QAAQ,GAAA,EAAA,CAAAxjB,MAAA,CAAMtD,IAAI,EAAA,OAAA,CAAO;AAC/B;AACA;IACA,IAAM+mB,gBAAgB,GAAGnkB,oBAAU,CAAC3L,OAAO,CAAC,IAAI,CAACyuB,iBAAiB;AAElE,IAAA,oBACE1T,eAAA,CAAA,KAAA,EAAA;AAAKpU,MAAAA,SAAS,EAAC,qBAAqB;AAAAR,MAAAA,QAAA,EAAA,CACjC2pB,gBAAgB,iBACf5oB,cAAA,CAAC6oB,iBAAM,EAAA;AACC/vB,QAAAA,OAAO,EAAPA,OAAO;QACbgR,QAAQ,EAAA,IAAA;AACRgf,QAAAA,KAAK,EAAEnB,UAAU,CAACD,SAAS,CAAE;AAC7BvR,QAAAA,WAAW,EAAErU,MAAM,KAAA,IAAA,IAANA,MAAM,KAAA,MAAA,GAAA,MAAA,GAANA,MAAM,CAAEqG,gBAAiB;AACtC8L,QAAAA,IAAI,EAAC,OAAO;AACZ3c,QAAAA,KAAK,EAAA,CAAAkxB,MAAA,GAAEZ,YAAK,CAACxjB,MAAM,EAAEsjB,SAAS,CAAC,MAAA,IAAA,IAAAc,MAAA,KAAA,MAAA,GAAAA,MAAA,GAAIroB,SAAU;AAC7C9I,QAAAA,KAAK,EACH,CAAAyK,MAAM,KAAA,IAAA,IAANA,MAAM,KAAA,MAAA,GAAA,MAAA,GAANA,MAAM,CAAEyF,cAAc,KAAIxC,CAAC,CAAC,qCAAqC,CAClE;QACDgkB,MAAM,EAAE,SAARA,MAAMA,GAAA;AAAA,UAAA,OAAQvB,eAAe,CAACE,SAAS,EAAE,IAAI,CAAC;QAAA,CAAC;AAC/C7R,QAAAA,QAAQ,EAAE,SAAVA,QAAQA,CAAEve,KAAK,EAAA;AAAA,UAAA,OAAIsjB,aAAa,CAAC8M,SAAS,EAAEpwB,KAAK,CAAC;AAAA,QAAA;AAAC,OACpD,CACF,EACA,EAACwK,MAAM,KAAA,IAAA,IAANA,MAAM,KAAA,MAAA,IAANA,MAAM,CAAEknB,WAAW,CAAA,iBACnBhpB,cAAA,CAACipB,gBAAK,EAAA;QACJnf,QAAQ,EAAA,IAAA;AACRgf,QAAAA,KAAK,EAAEnB,UAAU,CAACe,WAAW,CAAE;AAC/BrxB,QAAAA,KAAK,EAAE0N,CAAC,CAAC,mCAAmC,CAAE;AAC9CoR,QAAAA,WAAW,EAAEpR,CAAC,CAAC,8CAA8C,CAAE;AAC/DkP,QAAAA,IAAI,EAAC,OAAO;AACZ3c,QAAAA,KAAK,EAAA,CAAAmxB,OAAA,GAAEb,YAAK,CAACxjB,MAAM,EAAEskB,WAAW,CAAC,MAAA,IAAA,IAAAD,OAAA,KAAA,MAAA,GAAAA,OAAA,GAAI,EAAG;QACxCM,MAAM,EAAE,SAARA,MAAMA,GAAA;AAAA,UAAA,OAAQvB,eAAe,CAACkB,WAAW,EAAE,IAAI,CAAC;QAAA,CAAC;AACjD7S,QAAAA,QAAQ,EAAE,SAAVA,QAAQA,CAAErV,KAAK,EAAA;UAAA,OAAIoa,aAAa,CAAC8N,WAAW,EAAEloB,KAAK,CAAC0lB,MAAM,CAAC5uB,KAAK,CAAC;AAAA,QAAA;AAAC,OACnE,CACF,eACD0I,cAAA,CAACkpB,kBAAY,EAAA;QACXpf,QAAQ,EAAA,IAAA;AACRzS,QAAAA,KAAK,EAAE0N,CAAC,CAAC,gCAAgC,CAAE;AAC3ClD,QAAAA,IAAI,EAAE8mB,QAAS;AACfxS,QAAAA,WAAW,EAAEpR,CAAC,CAAC,2CAA2C,CAAE;AAC5DzN,QAAAA,KAAK,EAAEwO,MAAM,KAAA,IAAA,IAANA,MAAM,gBAAAK,gBAAA,GAANL,MAAM,CAAE5B,QAAQ,MAAA,IAAA,IAAAiC,gBAAA,KAAA,MAAA,GAAA,MAAA,GAAhBA,gBAAA,CAAkBgjB,IAAK;AAC9BC,QAAAA,SAAS,EAAEtnB,MAAM,KAAA,IAAA,IAANA,MAAM,KAAA,MAAA,GAAA,MAAA,GAANA,MAAM,CAAEsnB;OACpB,CAAC,EACDnB,SAAS;AAAA,KACP,CAAC;AAEV,EAAA;AAEA,EAAA,IAAInZ,IAAI,KAAKqX,mBAAmB,CAACG,WAAW,EAAE;IAC5C,IAAIhiB,aAAO,CAACxL,OAAO,CAAC,EAAE,OAAOsvB,gBAAgB,EAAE;IAE/C,IAAM5pB,OAAO,GAAGopB,YAAK,CAACxjB,MAAM,EAAEsjB,SAAS,CAAC,IAAI,EAAE;AAC9C,IAAA,IAAM2B,QAAQ,GAAGvB,aAAa,CAAChvB,OAAO,CAAC;IACvC,IAAI+uB,IAAI,IAAIvjB,aAAO,CAAC+kB,QAAQ,CAAC,EAAE,OAAOhB,SAAS;AAE/C,IAAA,IAAMiB,MAAM,GAAG,SAATA,MAAMA,CAAGhyB,KAAK,EAAI;AACtBkwB,MAAAA,eAAe,CAACE,SAAS,EAAE,IAAI,CAAC;AAChC9M,MAAAA,aAAa,CACX8M,SAAS,EACTlpB,OAAO,CAACyC,QAAQ,CAAC3J,KAAK,CAAC,GACnBkH,OAAO,CAACuT,MAAM,CAACwX,eAAK,CAACjyB,KAAK,CAAC,CAAC,GAAA,EAAA,CAAA6N,MAAA,CAAA0J,kBAAA,CACxBrQ,OAAO,CAAA,EAAA,CAAElH,KAAK,CAAA,CACxB,CAAC;IACH,CAAC;AAED,IAAA,oBACEuc,eAAA,CAAA,KAAA,EAAA;AAAKpU,MAAAA,SAAS,EAAC,4BAA4B;AAAAR,MAAAA,QAAA,GACxCoqB,QAAQ,CAAC7lB,GAAG,CAAC,UAAA6G,IAAI,EAAA;QAAA,oBAChBrK,cAAA,CAACwpB,mBAAQ,EAAA;UACP7T,OAAO,EAAEnX,OAAO,CAACyC,QAAQ,CAACoJ,IAAI,CAAC/S,KAAK,CAAE;UAEtCD,KAAK,EAAEgT,IAAI,CAAChT,KAAM;UAClBoyB,eAAe,EAAE,SAAjBA,eAAeA,GAAA;AAAA,YAAA,OAAQH,MAAM,CAACjf,IAAI,CAAC/S,KAAK,CAAC;AAAA,UAAA;SAAC,EAFrC+S,IAAI,CAAC/S,KAGX,CAAC;MAAA,CACH,CAAC,EACDqwB,UAAU,CAACD,SAAS,CAAC,iBACpB1nB,cAAA,CAACkoB,qBAAU,EAAA;AAACC,QAAAA,KAAK,EAAC,aAAa;AAACjU,QAAAA,OAAO,EAAC,OAAO;QAAAjV,QAAA,EAC5C0oB,UAAU,CAACD,SAAS;AAAC,OACZ,CACb;AAAA,KACE,CAAC;AAEV,EAAA;AAEA,EAAA,IAAI5Y,IAAI,KAAKqX,mBAAmB,CAACI,QAAQ,EAAE;IACzC,IAAIjiB,aAAO,CAACxL,OAAO,CAAC,EAAE,OAAOsvB,gBAAgB,EAAE;AAE/C,IAAA,IAAM5pB,QAAO,GAAGopB,YAAK,CAACxjB,MAAM,EAAEsjB,SAAS,CAAC;AACxC,IAAA,IAAM2B,SAAQ,GAAGvB,aAAa,CAAChvB,OAAO,CAAC;IACvC,IAAI+uB,IAAI,IAAIvjB,aAAO,CAAC+kB,SAAQ,CAAC,EAAE,OAAOhB,SAAS;IAE/C,oBACEroB,cAAA,CAAC0pB,qBAAU,EAAA;AACTZ,MAAAA,KAAK,EAAEnB,UAAU,CAACD,SAAS,CAAE;AAC7BiC,MAAAA,WAAW,EAAC,UAAU;MACtBryB,KAAK,EAAEsJ,MAAM,CAACpC,QAAO,KAAA,IAAA,IAAPA,QAAO,KAAA,MAAA,GAAPA,QAAO,GAAI,EAAE,CAAE;AAC7BorB,MAAAA,aAAa,EAAE,SAAfA,aAAaA,CAAEtyB,KAAK,EAAI;AACtB,QAAA,IAAMuyB,MAAM,GAAG/wB,OAAO,CAACsJ,IAAI,CAAC,UAAAiI,IAAI,EAAA;AAAA,UAAA,OAAIzJ,MAAM,CAACyJ,IAAI,CAAC/S,KAAK,CAAC,KAAKA,KAAK;QAAA,CAAA,CAAC;QACjEsjB,aAAa,CAAC8M,SAAS,EAAEmC,MAAM,GAAGA,MAAM,CAACvyB,KAAK,GAAGA,KAAK,CAAC;MACzD,CAAE;AAAA2H,MAAAA,QAAA,EAEDoqB,SAAQ,CAAC7lB,GAAG,CAAC,UAAA6G,IAAI,EAAA;AAAA,QAAA,oBAChBrK,cAAA,CAAC0pB,qBAAU,CAACI,IAAI,EAAA;UAEdzyB,KAAK,EAAEgT,IAAI,CAAChT,KAAM;AAClBC,UAAAA,KAAK,EAAEsJ,MAAM,CAACyJ,IAAI,CAAC/S,KAAK;SAAE,EAFrB+S,IAAI,CAAC/S,KAGX,CAAC;MAAA,CACH;AAAC,KACQ,CAAC;AAEjB,EAAA;AAEA,EAAA,IAAIwX,IAAI,KAAKqX,mBAAmB,CAACvU,IAAI,EAAE;AACrC,IAAA,oBACEiC,eAAA,CAAA,KAAA,EAAA;AAAKpU,MAAAA,SAAS,EAAC,qBAAqB;MAAAR,QAAA,EAAA,cAClCe,cAAA,CAAC+pB,eAAS,EAAA;AAACloB,QAAAA,IAAI,EAAE6lB;OAAY,CAAC,EAC7BO,SAAS;AAAA,KACP,CAAC;AAEV,EAAA;AAEA,EAAA,IAAInZ,IAAI,KAAKqX,mBAAmB,CAACK,IAAI,EAAE;AAAA,IAAA,IAAAwD,iBAAA;AACrC,IAAA,oBACEnW,eAAA,CAAA,KAAA,EAAA;AAAKpU,MAAAA,SAAS,EAAC,qBAAqB;MAAAR,QAAA,EAAA,cAClCe,cAAA,CAACkpB,kBAAY,EAAA;QACXpf,QAAQ,EAAA,IAAA;AACRzS,QAAAA,KAAK,EAAE0N,CAAC,CAAC,gCAAgC,CAAE;AAC3ClD,QAAAA,IAAI,EAAE6lB,SAAU;AAChBvR,QAAAA,WAAW,EAAEpR,CAAC,CAAC,2CAA2C,CAAE;AAC5DzN,QAAAA,KAAK,EAAEwO,MAAM,KAAA,IAAA,IAANA,MAAM,gBAAAkkB,iBAAA,GAANlkB,MAAM,CAAE5B,QAAQ,MAAA,IAAA,IAAA8lB,iBAAA,KAAA,MAAA,GAAA,MAAA,GAAhBA,iBAAA,CAAkB1yB,KAAM;AAC/B8xB,QAAAA,SAAS,EAAEtnB,MAAM,KAAA,IAAA,IAANA,MAAM,KAAA,MAAA,GAAA,MAAA,GAANA,MAAM,CAAEsnB;OACpB,CAAC,EACDnB,SAAS;AAAA,KACP,CAAC;AAEV,EAAA;EAEA,IACEnZ,IAAI,KAAKqX,mBAAmB,CAACM,QAAQ,IACrC3X,IAAI,KAAKqX,mBAAmB,CAACO,MAAM,EACnC;IAAA,IAAAuD,OAAA,EAAAC,OAAA;IACA,OAAOpb,IAAI,KAAKqX,mBAAmB,CAACO,MAAM,gBACxC1mB,cAAA,CAACipB,gBAAK,EAAA;MACJnf,QAAQ,EAAA,IAAA;AACRgf,MAAAA,KAAK,EAAEnB,UAAU,CAACD,SAAS,CAAE;AAC7BrwB,MAAAA,KAAK,EAAE0N,CAAC,CAAC,iCAAiC,CAAE;AAC5CkP,MAAAA,IAAI,EAAC,OAAO;AACZnF,MAAAA,IAAI,EAAC,QAAQ;AACbxX,MAAAA,KAAK,EAAA,CAAA2yB,OAAA,GAAErC,YAAK,CAACxjB,MAAM,EAAEsjB,SAAS,CAAC,MAAA,IAAA,IAAAuC,OAAA,KAAA,MAAA,GAAAA,OAAA,GAAI,EAAG;MACtClB,MAAM,EAAE,SAARA,MAAMA,GAAA;AAAA,QAAA,OAAQvB,eAAe,CAACE,SAAS,EAAE,IAAI,CAAC;MAAA,CAAC;AAC/C7R,MAAAA,QAAQ,EAAE,SAAVA,QAAQA,CAAErV,KAAK,EAAA;QAAA,OAAIoa,aAAa,CAAC8M,SAAS,EAAElnB,KAAK,CAAC0lB,MAAM,CAAC5uB,KAAK,CAAC;AAAA,MAAA;AAAC,KACjE,CAAC,gBAEF0I,cAAA,CAACmqB,mBAAQ,EAAA;MACPrgB,QAAQ,EAAA,IAAA;AACRgf,MAAAA,KAAK,EAAEnB,UAAU,CAACD,SAAS,CAAE;AAC7BrwB,MAAAA,KAAK,EAAE0N,CAAC,CAAC,mCAAmC,CAAE;AAC9CqlB,MAAAA,IAAI,EAAE,CAAE;AACRnW,MAAAA,IAAI,EAAC,OAAO;AACZ3c,MAAAA,KAAK,EAAA,CAAA4yB,OAAA,GAAEtC,YAAK,CAACxjB,MAAM,EAAEsjB,SAAS,CAAC,MAAA,IAAA,IAAAwC,OAAA,KAAA,MAAA,GAAAA,OAAA,GAAI,EAAG;MACtCnB,MAAM,EAAE,SAARA,MAAMA,GAAA;AAAA,QAAA,OAAQvB,eAAe,CAACE,SAAS,EAAE,IAAI,CAAC;MAAA,CAAC;AAC/C7R,MAAAA,QAAQ,EAAE,SAAVA,QAAQA,CAAErV,KAAK,EAAA;QAAA,OAAIoa,aAAa,CAAC8M,SAAS,EAAElnB,KAAK,CAAC0lB,MAAM,CAAC5uB,KAAK,CAAC;AAAA,MAAA;AAAC,KACjE,CACF;AACH,EAAA;AAEA,EAAA,IACEwX,IAAI,KAAKqX,mBAAmB,CAACQ,IAAI,IACjC7X,IAAI,KAAKqX,mBAAmB,CAACS,KAAK,IAClC9X,IAAI,KAAKqX,mBAAmB,CAACU,OAAO,EACpC;AAAA,IAAA,IAAAwD,OAAA;AACA,IAAA,oBACExW,eAAA,CAAA,KAAA,EAAA;AAAKpU,MAAAA,SAAS,EAAC,qBAAqB;MAAAR,QAAA,EAAA,cAClCe,cAAA,CAACipB,gBAAK,EAAA;QACJnf,QAAQ,EAAA,IAAA;AACRgf,QAAAA,KAAK,EAAEnB,UAAU,CAACD,SAAS,CAAE;AAC7BrwB,QAAAA,KAAK,EAAE0N,CAAC,CAAC,iCAAiC,CAAE;AAC5CoR,QAAAA,WAAW,EAAErU,MAAM,KAAA,IAAA,IAANA,MAAM,KAAA,MAAA,GAAA,MAAA,GAANA,MAAM,CAAEqG,gBAAiB;AACtC8L,QAAAA,IAAI,EAAC,OAAO;AACZ3c,QAAAA,KAAK,EAAA,CAAA+yB,OAAA,GAAEzC,YAAK,CAACxjB,MAAM,EAAEsjB,SAAS,CAAC,MAAA,IAAA,IAAA2C,OAAA,KAAA,MAAA,GAAAA,OAAA,GAAI,EAAG;QACtCtB,MAAM,EAAE,SAARA,MAAMA,GAAA;AAAA,UAAA,OAAQvB,eAAe,CAACE,SAAS,EAAE,IAAI,CAAC;QAAA,CAAC;AAC/C7R,QAAAA,QAAQ,EAAE,SAAVA,QAAQA,CAAErV,KAAK,EAAA;UAAA,OAAIoa,aAAa,CAAC8M,SAAS,EAAElnB,KAAK,CAAC0lB,MAAM,CAAC5uB,KAAK,CAAC;AAAA,QAAA;OAChE,CAAC,EACD2wB,SAAS;AAAA,KACP,CAAC;AAEV,EAAA;AAEA,EAAA,IAAInZ,IAAI,KAAKqX,mBAAmB,CAACW,IAAI,EAAE;AACrC,IAAA,oBACEjT,eAAA,CAAA,KAAA,EAAA;AAAKpU,MAAAA,SAAS,EAAC,qBAAqB;MAAAR,QAAA,EAAA,cAClCe,cAAA,CAACsqB,qBAAU,EAAA;QACTxgB,QAAQ,EAAA,IAAA;AACRgf,QAAAA,KAAK,EAAEnB,UAAU,CAACD,SAAS,CAAE;AAC7BrwB,QAAAA,KAAK,EAAE0N,CAAC,CAAC,iCAAiC,CAAE;AAC5C+J,QAAAA,IAAI,EAAC,MAAM;AACXxX,QAAAA,KAAK,EACHswB,YAAK,CAACxjB,MAAM,EAAEsjB,SAAS,CAAC,GACpB6C,WAAK,CAAC3C,YAAK,CAACxjB,MAAM,EAAEsjB,SAAS,CAAC,CAAC,GAC/BvnB,SACL;QACD4oB,MAAM,EAAE,SAARA,MAAMA,GAAA;AAAA,UAAA,OAAQvB,eAAe,CAACE,SAAS,EAAE,IAAI,CAAC;QAAA,CAAC;AAC/C7R,QAAAA,QAAQ,EAAE,SAAVA,QAAQA,CAAEiR,IAAI,EAAA;UAAA,OACZlM,aAAa,CACX8M,SAAS;AACT;AACAZ,UAAAA,IAAI,GAAGyD,WAAK,CAACzD,IAAI,CAAC,CAAC0D,MAAM,CAACC,mBAAW,CAAC,GAAG,EAC3C,CAAC;AAAA,QAAA;OAEJ,CAAC,EACDxC,SAAS;AAAA,KACP,CAAC;AAEV,EAAA;EAEA,oBACEjoB,cAAA,CAACkoB,qBAAU,EAAA;AAAChU,IAAAA,OAAO,EAAC,OAAO;IAAAjV,QAAA,EAAE8F,CAAC,CAAC,6BAA6B;AAAC,GAAa,CAAC;AAE/E,CAAC;;ACxSD,SAAA2lB,cAAA,GAAA,qKAAA,IAAAC,CAAA,EAAA5lB,CAAA,EAAA6lB,CAAA,GAAA,UAAA,IAAA,OAAAC,MAAA,GAAAA,MAAA,GAAA,EAAA,EAAAC,CAAA,GAAAF,CAAA,CAAAG,QAAA,IAAA,YAAA,EAAAC,CAAA,GAAAJ,CAAA,CAAAK,WAAA,IAAA,eAAA,CAAA,CAAA,SAAAhZ,EAAA2Y,CAAA,EAAAE,CAAA,EAAAE,CAAA,EAAA/Y,CAAA,EAAA,EAAA,IAAAiZ,CAAA,GAAAJ,CAAA,IAAAA,CAAA,CAAAK,SAAA,YAAAC,SAAA,GAAAN,CAAA,GAAAM,SAAA,EAAAC,CAAA,GAAAlH,MAAA,CAAAmH,MAAA,CAAAJ,CAAA,CAAAC,SAAA,CAAA,CAAA,CAAA,OAAAI,qBAAA,CAAAF,CAAA,EAAA,SAAA,EAAA,UAAAT,CAAA,EAAAE,CAAA,EAAAE,CAAA,EAAA,EAAA,IAAA/Y,CAAA,EAAAiZ,CAAA,EAAAG,CAAA,EAAAG,CAAA,GAAA,CAAA,EAAAC,CAAA,GAAAT,CAAA,IAAA,EAAA,EAAAU,CAAA,GAAA,KAAA,EAAAC,CAAA,GAAA,EAAAF,CAAA,EAAA,CAAA,EAAAX,CAAA,EAAA,CAAA,EAAAc,CAAA,EAAAjB,CAAA,EAAAkB,CAAA,EAAAjX,CAAA,EAAA4W,CAAA,EAAA5W,CAAA,CAAAkX,IAAA,CAAAnB,CAAA,EAAA,CAAA,CAAA,EAAA/V,CAAA,WAAAA,CAAAA,CAAA7P,CAAA,EAAA6lB,CAAA,WAAA3Y,CAAA,GAAAlN,CAAA,EAAAmmB,CAAA,GAAA,CAAA,EAAAG,CAAA,GAAAV,CAAA,EAAAgB,CAAA,CAAAb,CAAA,GAAAF,CAAA,EAAAiB,CAAA,CAAA,CAAA,CAAA,EAAA,CAAA,CAAA,SAAAjX,EAAAgW,CAAA,EAAAE,CAAA,EAAA,EAAA,KAAAI,CAAA,GAAAN,CAAA,EAAAS,CAAA,GAAAP,CAAA,EAAA/lB,CAAA,OAAA2mB,CAAA,IAAAF,CAAA,IAAA,CAAAR,CAAA,IAAAjmB,CAAA,GAAA0mB,CAAA,CAAAxgB,MAAA,EAAAlG,CAAA,UAAAimB,CAAA,EAAA/Y,CAAA,GAAAwZ,CAAA,CAAA1mB,CAAA,CAAA,EAAA6P,CAAA,GAAA+W,CAAA,CAAAF,CAAA,EAAAM,CAAA,GAAA9Z,CAAA,KAAA2Y,CAAA,GAAA,CAAA,GAAA,CAAAI,CAAA,GAAAe,CAAA,KAAAjB,CAAA,MAAAO,CAAA,GAAApZ,CAAA,CAAA,CAAAiZ,CAAA,GAAAjZ,CAAA,CAAA,CAAA,CAAA,IAAA,CAAA,IAAAiZ,CAAA,GAAA,CAAA,EAAA,CAAA,CAAA,CAAA,EAAAjZ,CAAA,CAAA,CAAA,CAAA,GAAAA,CAAA,CAAA,CAAA,CAAA,GAAA0Y,CAAA,IAAA1Y,CAAA,CAAA,CAAA,CAAA,IAAA2C,CAAA,KAAA,CAAAoW,CAAA,GAAAJ,CAAA,GAAA,CAAA,IAAAhW,CAAA,GAAA3C,CAAA,CAAA,CAAA,CAAA,KAAAiZ,CAAA,MAAAS,CAAA,CAAAC,CAAA,GAAAd,CAAA,EAAAa,CAAA,CAAAb,CAAA,GAAA7Y,CAAA,CAAA,CAAA,CAAA,IAAA2C,CAAA,GAAAmX,CAAA,KAAAf,CAAA,GAAAJ,CAAA,GAAA,CAAA,IAAA3Y,CAAA,CAAA,CAAA,CAAA,GAAA6Y,CAAA,IAAAA,CAAA,GAAAiB,CAAA,MAAA9Z,CAAA,CAAA,CAAA,CAAA,GAAA2Y,CAAA,EAAA3Y,CAAA,CAAA,CAAA,CAAA,GAAA6Y,CAAA,EAAAa,CAAA,CAAAb,CAAA,GAAAiB,CAAA,EAAAb,CAAA,GAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,IAAAF,CAAA,IAAAJ,CAAA,GAAA,CAAA,EAAA,OAAAiB,CAAA,CAAA,CAAA,MAAAH,CAAA,GAAA,IAAA,EAAAZ,CAAA,CAAA,CAAA,CAAA,CAAA,OAAA,UAAAE,CAAA,EAAAS,CAAA,EAAAM,CAAA,EAAA,EAAA,IAAAP,CAAA,GAAA,CAAA,EAAA,MAAAQ,SAAA,CAAA,8BAAA,CAAA,CAAA,CAAA,KAAAN,CAAA,UAAAD,CAAA,IAAA7W,CAAA,CAAA6W,CAAA,EAAAM,CAAA,CAAA,EAAAb,CAAA,GAAAO,CAAA,EAAAJ,CAAA,GAAAU,CAAA,EAAA,CAAAhnB,CAAA,GAAAmmB,CAAA,GAAA,CAAA,GAAAP,CAAA,GAAAU,CAAA,KAAA,CAAAK,CAAA,GAAA,EAAAzZ,CAAA,KAAAiZ,CAAA,GAAAA,CAAA,GAAA,CAAA,IAAAA,CAAA,GAAA,CAAA,KAAAS,CAAA,CAAAb,CAAA,GAAA,EAAA,CAAA,EAAAlW,CAAA,CAAAsW,CAAA,EAAAG,CAAA,CAAA,IAAAM,CAAA,CAAAb,CAAA,GAAAO,CAAA,GAAAM,CAAA,CAAAC,CAAA,GAAAP,CAAA,aAAAG,CAAA,GAAA,CAAA,EAAAvZ,CAAA,EAAA,EAAA,IAAAiZ,CAAA,KAAAF,CAAA,GAAA,MAAA,CAAA,EAAAjmB,CAAA,GAAAkN,CAAA,CAAA+Y,CAAA,WAAAjmB,CAAA,GAAAA,CAAA,CAAArG,IAAA,CAAAuT,CAAA,EAAAoZ,CAAA,CAAA,CAAA,EAAA,MAAAW,SAAA,CAAA,kCAAA,CAAA,CAAA,CAAA,IAAA,CAAAjnB,CAAA,CAAAknB,IAAA,EAAA,OAAAlnB,CAAA,CAAA,CAAAsmB,CAAA,GAAAtmB,CAAA,CAAAzN,KAAA,EAAA4zB,CAAA,GAAA,CAAA,KAAAA,CAAA,GAAA,CAAA,CAAA,CAAA,CAAA,CAAA,MAAA,CAAA,KAAAA,CAAA,KAAAnmB,CAAA,GAAAkN,CAAA,CAAA,QAAA,CAAA,CAAA,IAAAlN,CAAA,CAAArG,IAAA,CAAAuT,CAAA,CAAA,EAAAiZ,CAAA,SAAAG,CAAA,GAAAW,SAAA,CAAA,mCAAA,GAAAhB,CAAA,GAAA,UAAA,CAAA,EAAAE,CAAA,GAAA,CAAA,CAAA,CAAA,CAAAjZ,CAAA,GAAA0Y,CAAA,CAAA,CAAA,CAAA,MAAA,IAAA,CAAA5lB,CAAA,IAAA2mB,CAAA,GAAAC,CAAA,CAAAb,CAAA,GAAA,CAAA,IAAAO,CAAA,GAAAT,CAAA,CAAAlsB,IAAA,CAAAosB,CAAA,EAAAa,CAAA,CAAA,MAAAE,CAAA,EAAA,MAAA,CAAA,CAAA,CAAA,OAAA9mB,CAAA,EAAA,EAAAkN,CAAA,GAAA0Y,CAAA,EAAAO,CAAA,GAAA,CAAA,EAAAG,CAAA,GAAAtmB,CAAA,CAAA,CAAA,CAAA,SAAA,EAAAymB,CAAA,GAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,OAAA,EAAAl0B,KAAA,EAAAyN,CAAA,EAAAknB,IAAA,EAAAP,CAAA,EAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAAd,CAAA,EAAAI,CAAA,EAAA/Y,CAAA,CAAA,EAAA,IAAA,CAAA,EAAAoZ,CAAA,CAAA,CAAA,CAAA,CAAA,IAAAQ,CAAA,GAAA,EAAA,CAAA,CAAA,SAAAT,SAAAA,eAAAc,iBAAAA,GAAA,CAAA,CAAA,CAAA,SAAAC,0BAAAA,GAAA,CAAA,CAAA,CAAApnB,CAAA,GAAAof,MAAA,CAAAiI,cAAA,CAAA,CAAA,IAAAlB,CAAA,GAAA,EAAA,CAAAJ,CAAA,CAAA,GAAA/lB,CAAA,CAAAA,CAAA,IAAA+lB,CAAA,CAAA,EAAA,CAAA,CAAA,IAAAS,qBAAA,CAAAxmB,CAAA,GAAA,EAAA,EAAA+lB,CAAA,EAAA,YAAA,EAAA,OAAA,IAAA,CAAA,CAAA,CAAA,CAAA,EAAA/lB,CAAA,GAAAsmB,CAAA,GAAAc,0BAAA,CAAAhB,SAAA,GAAAC,SAAA,CAAAD,SAAA,GAAAhH,MAAA,CAAAmH,MAAA,CAAAJ,CAAA,CAAA,CAAA,CAAA,SAAAM,CAAAA,CAAAb,CAAA,WAAAxG,MAAA,CAAAkI,cAAA,GAAAlI,MAAA,CAAAkI,cAAA,CAAA1B,CAAA,EAAAwB,0BAAA,CAAA,IAAAxB,CAAA,CAAA2B,SAAA,GAAAH,0BAAA,EAAAZ,qBAAA,CAAAZ,CAAA,EAAAK,CAAA,EAAA,mBAAA,CAAA,CAAA,EAAAL,CAAA,CAAAQ,SAAA,GAAAhH,MAAA,CAAAmH,MAAA,CAAAD,CAAA,CAAA,EAAAV,CAAA,CAAA,CAAA,CAAA,CAAA,OAAAuB,iBAAA,CAAAf,SAAA,GAAAgB,0BAAA,EAAAZ,qBAAA,CAAAF,CAAA,iBAAAc,0BAAA,CAAA,EAAAZ,qBAAA,CAAAY,0BAAA,EAAA,aAAA,EAAAD,iBAAA,CAAA,EAAAA,iBAAA,CAAAK,WAAA,GAAA,mBAAA,EAAAhB,qBAAA,CAAAY,0BAAA,EAAAnB,CAAA,EAAA,mBAAA,CAAA,EAAAO,qBAAA,CAAAF,CAAA,CAAA,EAAAE,qBAAA,CAAAF,CAAA,EAAAL,CAAA,EAAA,WAAA,CAAA,EAAAO,qBAAA,CAAAF,CAAA,EAAAP,CAAA,EAAA,YAAA,EAAA,OAAA,IAAA,CAAA,CAAA,CAAA,CAAA,EAAAS,qBAAA,CAAAF,CAAA,8DAAAX,cAAA,GAAA,SAAAA,YAAAA,GAAA,EAAA,OAAA,EAAA8B,CAAA,EAAAva,CAAA,EAAAwa,CAAA,EAAAjB,CAAA,EAAA,CAAA,CAAA,CAAA,GAAA,CAAA,CAAA;AAAA,SAAAD,qBAAAA,CAAAZ,CAAA,EAAAC,CAAA,EAAAE,CAAA,EAAA/lB,CAAA,EAAA,EAAA,IAAAkN,CAAA,GAAAkS,MAAA,CAAAuI,cAAA,CAAA,CAAA,IAAA,EAAAza,CAAA,uBAAA0Y,CAAA,EAAA,EAAA1Y,CAAA,GAAA,CAAA,CAAA,CAAA,CAAA,CAAAsZ,qBAAA,GAAA,SAAAoB,mBAAAhC,CAAA,EAAAC,CAAA,EAAAE,CAAA,EAAA/lB,CAAA,EAAA,EAAA,SAAAimB,CAAAA,CAAAJ,CAAA,EAAAE,CAAA,IAAAS,qBAAA,CAAAZ,CAAA,EAAAC,CAAA,YAAAD,CAAA,EAAA,EAAA,OAAA,IAAA,CAAAiC,OAAA,CAAAhC,CAAA,EAAAE,CAAA,EAAAH,CAAA,SAAAC,CAAA,GAAA3Y,CAAA,GAAAA,CAAA,CAAA0Y,CAAA,EAAAC,CAAA,IAAAtzB,KAAA,EAAAwzB,CAAA,EAAA+B,UAAA,GAAA9nB,CAAA,EAAA+nB,YAAA,EAAA,CAAA/nB,CAAA,EAAAgoB,QAAA,EAAA,CAAAhoB,CAAA,MAAA4lB,CAAA,CAAAC,CAAA,CAAA,GAAAE,CAAA,IAAAE,CAAA,CAAA,MAAA,EAAA,CAAA,CAAA,EAAAA,CAAA,cAAAA,CAAA,CAAA,QAAA,EAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,EAAAO,qBAAA,CAAAZ,CAAA,EAAAC,CAAA,EAAAE,CAAA,EAAA/lB,CAAA,CAAA,CAAA,CAAA;AAKA,IAAMioB,SAAS,GAAG,SAAZA,SAASA,CAAAhuB,IAAA,EAAA;AAAA,EAAA,IAAMiuB,GAAG,GAAAjuB,IAAA,CAAHiuB,GAAG;IAAEjJ,MAAM,GAAAhlB,IAAA,CAANglB,MAAM;IAAAkJ,YAAA,GAAAluB,IAAA,CAAEklB,OAAO;AAAPA,IAAAA,OAAO,GAAAgJ,YAAA,KAAA,MAAA,GAAG,EAAE,GAAAA,YAAA;AAAA,EAAA,OAC5C/I,MAAM,CAAC9T,IAAI,CAACoT,yBAAO,CAACwJ,GAAG,IAAI,EAAE,CAAC,CAAC,CAAClb,MAAM,CACpC,UAAAtR,GAAG,EAAA;IAAA,OACD,CAACA,GAAG,KAAKujB,MAAM,IAAIvjB,GAAG,CAAC2jB,UAAU,CAAA,EAAA,CAAAjf,MAAA,CAAI6e,MAAM,EAAA,GAAA,CAAG,CAAC,KAC/C,CAACE,OAAO,CAAC/a,IAAI,CACX,UAAAkb,GAAG,EAAA;MAAA,OAAI5jB,GAAG,QAAA0E,MAAA,CAAQ6e,MAAM,EAAA,GAAA,CAAA,CAAA7e,MAAA,CAAIkf,GAAG,CAAE,IAAI5jB,GAAG,CAAC2jB,UAAU,CAAA,EAAA,CAAAjf,MAAA,CAAI6e,MAAM,OAAA7e,MAAA,CAAIkf,GAAG,EAAA,GAAA,CAAG,CAAC;AAAA,IAAA,CAC1E,CAAC;AAAA,EAAA,CACL,CAAC;AAAA,CAAA;AAEH,IAAM8I,iBAAiB,GAAG,SAApBA,iBAAiBA,CAAGnJ,MAAM,EAAI;AAClC,EAAA,IAAAtJ,iBAAA,GAAkDC,uBAAgB,EAAE;IAA5DyS,YAAY,GAAA1S,iBAAA,CAAZ0S,YAAY;IAAE5F,eAAe,GAAA9M,iBAAA,CAAf8M,eAAe;IAAExE,MAAM,GAAAtI,iBAAA,CAANsI,MAAM;AAC7C,EAAA,IAAMqK,SAAS,GAAGjvB,YAAM,CAAC4kB,MAAM,CAAC;EAChCqK,SAAS,CAAC7uB,OAAO,GAAGwkB,MAAM;AAE1B3kB,EAAAA,eAAS,CAAC,YAAM;AACd2uB,IAAAA,SAAS,CAAC;MAAEC,GAAG,EAAEI,SAAS,CAAC7uB,OAAO;AAAEwlB,MAAAA,MAAM,EAANA;AAAO,KAAC,CAAC,CAACrlB,OAAO,CAAC,UAAA8B,GAAG,EAAA;AAAA,MAAA,OACvD+mB,eAAe,CAAC/mB,GAAG,EAAE,KAAK,EAAE,KAAK,CAAC;AAAA,IAAA,CACpC,CAAC;AAED,IAAA,OAAO,YAAM;AACXusB,MAAAA,SAAS,CAAC;QAAEC,GAAG,EAAEI,SAAS,CAAC7uB,OAAO;AAAEwlB,QAAAA,MAAM,EAANA;AAAO,OAAC,CAAC,CAACrlB,OAAO,CAAC,UAAA8B,GAAG,EAAA;AAAA,QAAA,OACvD+mB,eAAe,CAAC/mB,GAAG,EAAE,IAAI,EAAE,KAAK,CAAC;AAAA,MAAA,CACnC,CAAC;IACH,CAAC;AACD;AACF,EAAA,CAAC,EAAE,CAACujB,MAAM,CAAC,CAAC;AAEZ,EAAA,IAAMsJ,QAAQ,gBAAA,YAAA;IAAA,IAAAhrB,KAAA,GAAAirB,iBAAA,cAAA7C,cAAA,EAAA,CAAA+B,CAAA,CAAG,SAAAe,OAAAA,GAAA;AAAA,MAAA,IAAAtJ,OAAA;QAAAuJ,UAAA;QAAAC,SAAA;AAAAC,QAAAA,KAAA,GAAApgB,SAAA;AAAA,MAAA,OAAAmd,cAAA,EAAA,CAAA8B,CAAA,CAAA,UAAAoB,QAAA,EAAA;QAAA,OAAA,CAAA,EAAA,QAAAA,QAAA,CAAA9C,CAAA;AAAA,UAAA,KAAA,CAAA;YAAO5G,OAAO,GAAAyJ,KAAA,CAAA1iB,MAAA,GAAA,CAAA,IAAA0iB,KAAA,CAAA,CAAA,CAAA,KAAAxtB,SAAA,GAAAwtB,KAAA,CAAA,CAAA,CAAA,GAAG,EAAE;AAAAC,YAAAA,QAAA,CAAA9C,CAAA,GAAA,CAAA;YAAA,OACTsC,YAAY,EAAE;AAAA,UAAA,KAAA,CAAA;YAAjCK,UAAU,GAAAG,QAAA,CAAAhC,CAAA;YACV8B,SAAS,GAAGV,SAAS,CAAC;AAAEC,cAAAA,GAAG,EAAEQ,UAAU;AAAEzJ,cAAAA,MAAM,EAANA,MAAM;AAAEE,cAAAA,OAAO,EAAPA;AAAQ,aAAC,CAAC;AACjEwJ,YAAAA,SAAS,CAAC/uB,OAAO,CAAC,UAAA8B,GAAG,EAAA;AAAA,cAAA,OAAI+mB,eAAe,CAAC/mB,GAAG,EAAE,IAAI,EAAE,KAAK,CAAC;YAAA,CAAA,CAAC;AAAC,YAAA,OAAAmtB,QAAA,CAAA/B,CAAA,IAErDvnB,aAAO,CAACopB,SAAS,CAAC,CAAA;AAAA;AAAA,MAAA,CAAA,EAAAF,OAAA,CAAA;IAAA,CAC1B,CAAA,CAAA;AAAA,IAAA,OAAA,SANKF,QAAQA,GAAA;AAAA,MAAA,OAAAhrB,KAAA,CAAAuY,KAAA,CAAA,IAAA,EAAAtN,SAAA,CAAA;AAAA,IAAA,CAAA;EAAA,CAAA,EAMb;EAED,OAAO;AAAE+f,IAAAA,QAAQ,EAARA;GAAU;AACrB,CAAC;;ACzCD,SAAA,YAAA,GAAA,qKAAA,IAAA3C,CAAA,EAAA5lB,CAAA,EAAA6lB,CAAA,GAAA,UAAA,IAAA,OAAAC,MAAA,GAAAA,MAAA,GAAA,EAAA,EAAAC,CAAA,GAAAF,CAAA,CAAAG,QAAA,IAAA,YAAA,EAAAC,CAAA,GAAAJ,CAAA,CAAAK,WAAA,IAAA,eAAA,CAAA,CAAA,SAAAhZ,EAAA2Y,CAAA,EAAAE,CAAA,EAAAE,CAAA,EAAA/Y,CAAA,EAAA,EAAA,IAAAiZ,CAAA,GAAAJ,CAAA,IAAAA,CAAA,CAAAK,SAAA,YAAAC,SAAA,GAAAN,CAAA,GAAAM,SAAA,EAAAC,CAAA,GAAAlH,MAAA,CAAAmH,MAAA,CAAAJ,CAAA,CAAAC,SAAA,CAAA,CAAA,CAAA,OAAAI,mBAAA,CAAAF,CAAA,EAAA,SAAA,EAAA,UAAAT,CAAA,EAAAE,CAAA,EAAAE,CAAA,EAAA,EAAA,IAAA/Y,CAAA,EAAAiZ,CAAA,EAAAG,CAAA,EAAAG,CAAA,GAAA,CAAA,EAAAC,CAAA,GAAAT,CAAA,IAAA,EAAA,EAAAU,CAAA,GAAA,KAAA,EAAAC,CAAA,GAAA,EAAAF,CAAA,EAAA,CAAA,EAAAX,CAAA,EAAA,CAAA,EAAAc,CAAA,EAAAjB,CAAA,EAAAkB,CAAA,EAAAjX,CAAA,EAAA4W,CAAA,EAAA5W,CAAA,CAAAkX,IAAA,CAAAnB,CAAA,EAAA,CAAA,CAAA,EAAA/V,CAAA,WAAAA,CAAAA,CAAA7P,CAAA,EAAA6lB,CAAA,WAAA3Y,CAAA,GAAAlN,CAAA,EAAAmmB,CAAA,GAAA,CAAA,EAAAG,CAAA,GAAAV,CAAA,EAAAgB,CAAA,CAAAb,CAAA,GAAAF,CAAA,EAAAiB,CAAA,CAAA,CAAA,CAAA,EAAA,CAAA,CAAA,SAAAjX,EAAAgW,CAAA,EAAAE,CAAA,EAAA,EAAA,KAAAI,CAAA,GAAAN,CAAA,EAAAS,CAAA,GAAAP,CAAA,EAAA/lB,CAAA,OAAA2mB,CAAA,IAAAF,CAAA,IAAA,CAAAR,CAAA,IAAAjmB,CAAA,GAAA0mB,CAAA,CAAAxgB,MAAA,EAAAlG,CAAA,UAAAimB,CAAA,EAAA/Y,CAAA,GAAAwZ,CAAA,CAAA1mB,CAAA,CAAA,EAAA6P,CAAA,GAAA+W,CAAA,CAAAF,CAAA,EAAAM,CAAA,GAAA9Z,CAAA,KAAA2Y,CAAA,GAAA,CAAA,GAAA,CAAAI,CAAA,GAAAe,CAAA,KAAAjB,CAAA,MAAAO,CAAA,GAAApZ,CAAA,CAAA,CAAAiZ,CAAA,GAAAjZ,CAAA,CAAA,CAAA,CAAA,IAAA,CAAA,IAAAiZ,CAAA,GAAA,CAAA,EAAA,CAAA,CAAA,CAAA,EAAAjZ,CAAA,CAAA,CAAA,CAAA,GAAAA,CAAA,CAAA,CAAA,CAAA,GAAA0Y,CAAA,IAAA1Y,CAAA,CAAA,CAAA,CAAA,IAAA2C,CAAA,KAAA,CAAAoW,CAAA,GAAAJ,CAAA,GAAA,CAAA,IAAAhW,CAAA,GAAA3C,CAAA,CAAA,CAAA,CAAA,KAAAiZ,CAAA,MAAAS,CAAA,CAAAC,CAAA,GAAAd,CAAA,EAAAa,CAAA,CAAAb,CAAA,GAAA7Y,CAAA,CAAA,CAAA,CAAA,IAAA2C,CAAA,GAAAmX,CAAA,KAAAf,CAAA,GAAAJ,CAAA,GAAA,CAAA,IAAA3Y,CAAA,CAAA,CAAA,CAAA,GAAA6Y,CAAA,IAAAA,CAAA,GAAAiB,CAAA,MAAA9Z,CAAA,CAAA,CAAA,CAAA,GAAA2Y,CAAA,EAAA3Y,CAAA,CAAA,CAAA,CAAA,GAAA6Y,CAAA,EAAAa,CAAA,CAAAb,CAAA,GAAAiB,CAAA,EAAAb,CAAA,GAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,IAAAF,CAAA,IAAAJ,CAAA,GAAA,CAAA,EAAA,OAAAiB,CAAA,CAAA,CAAA,MAAAH,CAAA,GAAA,IAAA,EAAAZ,CAAA,CAAA,CAAA,CAAA,CAAA,OAAA,UAAAE,CAAA,EAAAS,CAAA,EAAAM,CAAA,EAAA,EAAA,IAAAP,CAAA,GAAA,CAAA,EAAA,MAAAQ,SAAA,CAAA,8BAAA,CAAA,CAAA,CAAA,KAAAN,CAAA,UAAAD,CAAA,IAAA7W,CAAA,CAAA6W,CAAA,EAAAM,CAAA,CAAA,EAAAb,CAAA,GAAAO,CAAA,EAAAJ,CAAA,GAAAU,CAAA,EAAA,CAAAhnB,CAAA,GAAAmmB,CAAA,GAAA,CAAA,GAAAP,CAAA,GAAAU,CAAA,KAAA,CAAAK,CAAA,GAAA,EAAAzZ,CAAA,KAAAiZ,CAAA,GAAAA,CAAA,GAAA,CAAA,IAAAA,CAAA,GAAA,CAAA,KAAAS,CAAA,CAAAb,CAAA,GAAA,EAAA,CAAA,EAAAlW,CAAA,CAAAsW,CAAA,EAAAG,CAAA,CAAA,IAAAM,CAAA,CAAAb,CAAA,GAAAO,CAAA,GAAAM,CAAA,CAAAC,CAAA,GAAAP,CAAA,aAAAG,CAAA,GAAA,CAAA,EAAAvZ,CAAA,EAAA,EAAA,IAAAiZ,CAAA,KAAAF,CAAA,GAAA,MAAA,CAAA,EAAAjmB,CAAA,GAAAkN,CAAA,CAAA+Y,CAAA,WAAAjmB,CAAA,GAAAA,CAAA,CAAArG,IAAA,CAAAuT,CAAA,EAAAoZ,CAAA,CAAA,CAAA,EAAA,MAAAW,SAAA,CAAA,kCAAA,CAAA,CAAA,CAAA,IAAA,CAAAjnB,CAAA,CAAAknB,IAAA,EAAA,OAAAlnB,CAAA,CAAA,CAAAsmB,CAAA,GAAAtmB,CAAA,CAAAzN,KAAA,EAAA4zB,CAAA,GAAA,CAAA,KAAAA,CAAA,GAAA,CAAA,CAAA,CAAA,CAAA,CAAA,MAAA,CAAA,KAAAA,CAAA,KAAAnmB,CAAA,GAAAkN,CAAA,CAAA,QAAA,CAAA,CAAA,IAAAlN,CAAA,CAAArG,IAAA,CAAAuT,CAAA,CAAA,EAAAiZ,CAAA,SAAAG,CAAA,GAAAW,SAAA,CAAA,mCAAA,GAAAhB,CAAA,GAAA,UAAA,CAAA,EAAAE,CAAA,GAAA,CAAA,CAAA,CAAA,CAAAjZ,CAAA,GAAA0Y,CAAA,CAAA,CAAA,CAAA,MAAA,IAAA,CAAA5lB,CAAA,IAAA2mB,CAAA,GAAAC,CAAA,CAAAb,CAAA,GAAA,CAAA,IAAAO,CAAA,GAAAT,CAAA,CAAAlsB,IAAA,CAAAosB,CAAA,EAAAa,CAAA,CAAA,MAAAE,CAAA,EAAA,MAAA,CAAA,CAAA,CAAA,OAAA9mB,CAAA,EAAA,EAAAkN,CAAA,GAAA0Y,CAAA,EAAAO,CAAA,GAAA,CAAA,EAAAG,CAAA,GAAAtmB,CAAA,CAAA,CAAA,CAAA,SAAA,EAAAymB,CAAA,GAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,OAAA,EAAAl0B,KAAA,EAAAyN,CAAA,EAAAknB,IAAA,EAAAP,CAAA,EAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAAd,CAAA,EAAAI,CAAA,EAAA/Y,CAAA,CAAA,EAAA,IAAA,CAAA,EAAAoZ,CAAA,CAAA,CAAA,CAAA,CAAA,IAAAQ,CAAA,GAAA,EAAA,CAAA,CAAA,SAAAT,SAAAA,eAAAc,iBAAAA,GAAA,CAAA,CAAA,CAAA,SAAAC,0BAAAA,GAAA,CAAA,CAAA,CAAApnB,CAAA,GAAAof,MAAA,CAAAiI,cAAA,CAAA,CAAA,IAAAlB,CAAA,GAAA,EAAA,CAAAJ,CAAA,CAAA,GAAA/lB,CAAA,CAAAA,CAAA,IAAA+lB,CAAA,CAAA,EAAA,CAAA,CAAA,IAAAS,mBAAA,CAAAxmB,CAAA,GAAA,EAAA,EAAA+lB,CAAA,EAAA,YAAA,EAAA,OAAA,IAAA,CAAA,CAAA,CAAA,CAAA,EAAA/lB,CAAA,GAAAsmB,CAAA,GAAAc,0BAAA,CAAAhB,SAAA,GAAAC,SAAA,CAAAD,SAAA,GAAAhH,MAAA,CAAAmH,MAAA,CAAAJ,CAAA,CAAA,CAAA,CAAA,SAAAM,CAAAA,CAAAb,CAAA,WAAAxG,MAAA,CAAAkI,cAAA,GAAAlI,MAAA,CAAAkI,cAAA,CAAA1B,CAAA,EAAAwB,0BAAA,CAAA,IAAAxB,CAAA,CAAA2B,SAAA,GAAAH,0BAAA,EAAAZ,mBAAA,CAAAZ,CAAA,EAAAK,CAAA,EAAA,mBAAA,CAAA,CAAA,EAAAL,CAAA,CAAAQ,SAAA,GAAAhH,MAAA,CAAAmH,MAAA,CAAAD,CAAA,CAAA,EAAAV,CAAA,CAAA,CAAA,CAAA,CAAA,OAAAuB,iBAAA,CAAAf,SAAA,GAAAgB,0BAAA,EAAAZ,mBAAA,CAAAF,CAAA,iBAAAc,0BAAA,CAAA,EAAAZ,mBAAA,CAAAY,0BAAA,EAAA,aAAA,EAAAD,iBAAA,CAAA,EAAAA,iBAAA,CAAAK,WAAA,GAAA,mBAAA,EAAAhB,mBAAA,CAAAY,0BAAA,EAAAnB,CAAA,EAAA,mBAAA,CAAA,EAAAO,mBAAA,CAAAF,CAAA,CAAA,EAAAE,mBAAA,CAAAF,CAAA,EAAAL,CAAA,EAAA,WAAA,CAAA,EAAAO,mBAAA,CAAAF,CAAA,EAAAP,CAAA,EAAA,YAAA,EAAA,OAAA,IAAA,CAAA,CAAA,CAAA,CAAA,EAAAS,mBAAA,CAAAF,CAAA,8DAAAX,YAAA,GAAA,SAAAA,YAAAA,GAAA,EAAA,OAAA,EAAA8B,CAAA,EAAAva,CAAA,EAAAwa,CAAA,EAAAjB,CAAA,EAAA,CAAA,CAAA,CAAA,GAAA,CAAA,CAAA;AAAA,SAAAD,mBAAAA,CAAAZ,CAAA,EAAAC,CAAA,EAAAE,CAAA,EAAA/lB,CAAA,EAAA,EAAA,IAAAkN,CAAA,GAAAkS,MAAA,CAAAuI,cAAA,CAAA,CAAA,IAAA,EAAAza,CAAA,uBAAA0Y,CAAA,EAAA,EAAA1Y,CAAA,GAAA,CAAA,CAAA,CAAA,CAAA,CAAAsZ,mBAAA,GAAA,SAAAoB,mBAAAhC,CAAA,EAAAC,CAAA,EAAAE,CAAA,EAAA/lB,CAAA,EAAA,EAAA,SAAAimB,CAAAA,CAAAJ,CAAA,EAAAE,CAAA,IAAAS,mBAAA,CAAAZ,CAAA,EAAAC,CAAA,YAAAD,CAAA,EAAA,EAAA,OAAA,IAAA,CAAAiC,OAAA,CAAAhC,CAAA,EAAAE,CAAA,EAAAH,CAAA,SAAAC,CAAA,GAAA3Y,CAAA,GAAAA,CAAA,CAAA0Y,CAAA,EAAAC,CAAA,IAAAtzB,KAAA,EAAAwzB,CAAA,EAAA+B,UAAA,GAAA9nB,CAAA,EAAA+nB,YAAA,EAAA,CAAA/nB,CAAA,EAAAgoB,QAAA,EAAA,CAAAhoB,CAAA,MAAA4lB,CAAA,CAAAC,CAAA,CAAA,GAAAE,CAAA,IAAAE,CAAA,CAAA,MAAA,EAAA,CAAA,CAAA,EAAAA,CAAA,cAAAA,CAAA,CAAA,QAAA,EAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,EAAAO,mBAAA,CAAAZ,CAAA,EAAAC,CAAA,EAAAE,CAAA,EAAA/lB,CAAA,CAAA,CAAA,CAAA;AA2BA,IAAM8oB,UAAU,GAAG,SAAbA,UAAUA,CAAA7uB,IAAA,EAA0B;EAAA,IAAAsG,eAAA,EAAAwoB,qBAAA,EAAAroB,gBAAA,EAAAsoB,qBAAA,EAAApnB,iBAAA,EAAA+I,gBAAA,EAAAqN,qBAAA,EAAAiR,YAAA,EAAA/Q,gBAAA,EAAAE,gBAAA,EAAAC,gBAAA,EAAAK,gBAAA,EAAAwQ,qBAAA,EAAAC,iBAAA;AAAA,EAAA,IAApB/rB,MAAM,GAAAnD,IAAA,CAANmD,MAAM;IAAEqJ,OAAK,GAAAxM,IAAA,CAALwM,KAAK;AACjC,EAAA,IAAA4H,eAAA,GAAcC,2BAAc,EAAE;IAAtBtO,CAAC,GAAAqO,eAAA,CAADrO,CAAC;AACT,EAAA,IAAAme,aAAA,GAA4BzI,YAAY,CAACtY,MAAM,CAAC;IAAxC4G,IAAI,GAAAma,aAAA,CAAJna,IAAI;IAAEkS,SAAS,GAAAiI,aAAA,CAATjI,SAAS;AACvB,EAAA,IAAAP,iBAAA,GAA0BC,uBAAgB,EAAE;IAApCC,aAAa,GAAAF,iBAAA,CAAbE,aAAa;AACrB,EAAA,IAAAmI,eAAA,GAAgCpJ,cAAc,CAACxX,MAAM,CAAC;IAA9C+X,QAAQ,GAAA6I,eAAA,CAAR7I,QAAQ;IAAEM,SAAS,GAAAuI,eAAA,CAATvI,SAAS;AAC3B,EAAA,IAAM2T,OAAO,GAAG/vB,YAAM,CAAC,IAAI,CAAC;AAE5B,EAAA,IAAAnB,SAAA,GAAoCC,cAAQ,CAAC,EAAE,CAAC;IAAAC,UAAA,GAAAC,cAAA,CAAAH,SAAA,EAAA,CAAA,CAAA;AAAzCoqB,IAAAA,UAAU,GAAAlqB,UAAA,CAAA,CAAA,CAAA;AAAEixB,IAAAA,aAAa,GAAAjxB,UAAA,CAAA,CAAA,CAAA;;AAEhC;EACA,IAAM2I,MAAM,GAAGiD,IAAI,CAAC3P,OAAO,CAACoS,OAAK,CAAC,IAAI,EAAE;EACxC,IAAM6iB,IAAI,GAAA,EAAA,CAAAlpB,MAAA,CAAM8V,SAAS,CAAC7hB,OAAO,EAAA,SAAA,CAAA,CAAA+L,MAAA,CAAUqG,OAAK,CAAE;EAClD,IAAA6L,YAAA,GASItR,WAAW,CAAC;AAAE5D,MAAAA,MAAM,EAANA,MAAM;AAAE2D,MAAAA,MAAM,EAANA;AAAO,KAAC,CAAC;IARjChE,MAAM,GAAAuV,YAAA,CAANvV,MAAM;IACN4D,OAAO,GAAA2R,YAAA,CAAP3R,OAAO;IACP1E,IAAI,GAAAqW,YAAA,CAAJrW,IAAI;IACJ4G,WAAW,GAAAyP,YAAA,CAAXzP,WAAW;IACXE,cAAc,GAAAuP,YAAA,CAAdvP,cAAc;IACdM,WAAW,GAAAiP,YAAA,CAAXjP,WAAW;IACXC,cAAc,GAAAgP,YAAA,CAAdhP,cAAc;IACdrC,KAAK,GAAAqR,YAAA,CAALrR,KAAK;AAEP,EAAA,IAAMnE,IAAI,GAAA,EAAA,CAAAsD,MAAA,CAAMkpB,IAAI,EAAA,WAAA,CAAW;EAE/B,IAAM3f,UAAU,GACd,CAAA,CAAApJ,eAAA,GAAAnD,MAAM,CAAC/I,OAAO,MAAA,IAAA,IAAAkM,eAAA,KAAA,MAAA,IAAA,CAAAwoB,qBAAA,GAAdxoB,eAAA,CAAgBqJ,aAAa,MAAA,IAAA,IAAAmf,qBAAA,KAAA,MAAA,GAAA,MAAA,GAA7BA,qBAAA,CAAApvB,IAAA,CAAA4G,eAAA,EAAgCQ,MAAM,CAACjE,IAAI,CAAC,MAAA,CAAA4D,gBAAA,GAC5CtD,MAAM,CAAC/I,OAAO,MAAA,IAAA,IAAAqM,gBAAA,KAAA,MAAA,IAAA,CAAAsoB,qBAAA,GAAdtoB,gBAAA,CAAgBmJ,gBAAgB,MAAA,IAAA,IAAAmf,qBAAA,KAAA,MAAA,GAAA,MAAA,GAAhCA,qBAAA,CAAArvB,IAAA,CAAA+G,gBAAA,EAAmCC,OAAO,CAAC,CAAA,IAC3C5D,MAAM;;AAER;AACA;EACA,IAAMsF,cAAc,IAAAT,iBAAA,GAClBb,MAAM,CAACoB,SAAS,cAAAP,iBAAA,KAAA,MAAA,GAAAA,iBAAA,GAAA,CAAA+I,gBAAA,GAAIvN,MAAM,CAAC/I,OAAO,MAAA,IAAA,IAAAsW,gBAAA,gBAAAqN,qBAAA,GAAdrN,gBAAA,CAAgBvI,aAAa,cAAA4V,qBAAA,KAAA,MAAA,IAAA,CAAAA,qBAAA,GAA7BA,qBAAA,CAAAre,IAAA,CAAAgR,gBAAA,EAAgC5J,MAAM,CAACjE,IAAI,CAAC,cAAAkb,qBAAA,KAAA,MAAA,GAAA,MAAA,GAA5CA,qBAAA,CAA8C7V,SAAS;AAE7E,EAAA,IAAMqgB,iBAAiB,GAAG,CAAC,GAAAyG,YAAA,GAAC,CAAC,CAAA,CAAA/Q,gBAAA,GAAA9a,MAAM,CAAC/I,OAAO,MAAA,IAAA,IAAA6jB,gBAAA,uBAAdA,gBAAA,CAAgB3jB,UAAU,KAAI,EAAE,EAC1D6L,MAAM,CAAC,CAAC,CAAA,CAAAgY,gBAAA,GAAAhb,MAAM,CAAC/I,OAAO,MAAA,IAAA,IAAA+jB,gBAAA,uBAAdA,gBAAA,CAAgBrkB,OAAO,KAAI,EAAE,EAAE0V,OAAO,CAAC,UAAAwc,CAAC,EAAA;AAAA,IAAA,OAAIA,CAAC,CAAC1xB,UAAU,IAAI,EAAE;AAAA,EAAA,CAAA,CAAC,CAAC,CACxE8I,IAAI,CAAC,UAAAiI,IAAI,EAAA;AAAA,IAAA,IAAAF,WAAA;AAAA,IAAA,OAAI,CAAA,CAAAA,WAAA,GAACE,IAAI,CAAC/S,KAAK,MAAA,IAAA,IAAA6S,WAAA,KAAA,MAAA,GAAAA,WAAA,GAAIE,IAAI,CAACrI,EAAE,MAAMoF,cAAc;AAAA,EAAA,CAAA,CAAC,MAAA,IAAA,IAAA4mB,YAAA,KAAA,MAAA,IAF/BA,YAAA,CAEiC/qB,KAAK,CAAA;AAElE,EAAA,IAAMqrB,KAAK,GAAG7xB,SAAS,CAACwE,QAAQ,CAACyN,UAAU,KAAA,IAAA,IAAVA,UAAU,KAAA,MAAA,GAAA,MAAA,GAAVA,UAAU,CAAEI,IAAI,CAAC;AAElD,EAAA,IAAMqS,cAAc,GAAG,CAAAzS,UAAU,KAAA,IAAA,IAAVA,UAAU,KAAA,MAAA,GAAA,MAAA,GAAVA,UAAU,CAAEwS,UAAU,KAAIxS,UAAU,CAACyS,cAAc;AAC1E,EAAA,IAAMoN,gBAAgB,GACpB,CAAA7f,UAAU,KAAA,IAAA,IAAVA,UAAU,KAAA,MAAA,GAAA,MAAA,GAAVA,UAAU,CAAE4O,YAAY,MACxB5O,UAAU,KAAA,IAAA,IAAVA,UAAU,KAAA,MAAA,GAAA,MAAA,GAAVA,UAAU,CAAE2O,SAAS,CAAA,KAAA,CAAAD,gBAAA,GACrBjb,MAAM,CAAC/I,OAAO,MAAA,IAAA,IAAAgkB,gBAAA,KAAA,MAAA,GAAA,MAAA,GAAdA,gBAAA,CAAgBE,YAAY,CAAA;AAE9B,EAAA,IAAMkR,UAAU,GACdxS,gBAAgB,CAACtN,UAAU,KAAA,IAAA,IAAVA,UAAU,KAAA,MAAA,GAAA,MAAA,GAAVA,UAAU,CAAEnK,eAAe,CAAC,CAAC0G,MAAM,IACpD1O,qBAAqB;AAEvB,EAAA,IAAMkyB,wBAAwB,GAAG,CAAC,CAAC3mB,cAAc;AAEjD,EAAA,IAAA4mB,kBAAA,GAAqBvB,iBAAiB,CAACtrB,IAAI,CAAC;IAApCyrB,QAAQ,GAAAoB,kBAAA,CAARpB,QAAQ;AAEhB,EAAA,IAAMqB,cAAc,GAAA,CAAAlR,gBAAA,GAAGtb,MAAM,CAAC/I,OAAO,MAAA,IAAA,IAAAqkB,gBAAA,KAAA,MAAA,IAAA,CAAAwQ,qBAAA,GAAdxQ,gBAAA,CAAgB7O,gBAAgB,MAAA,IAAA,IAAAqf,qBAAA,KAAA,MAAA,IAAA,CAAAA,qBAAA,GAAhCA,qBAAA,CAAAvvB,IAAA,CAAA+e,gBAAA,EAAmC/X,OAAO,CAAC,MAAA,IAAA,IAAAuoB,qBAAA,KAAA,MAAA,GAAA,MAAA,GAA3CA,qBAAA,CAA6C32B,KAAK;EACzE,IAAMs3B,aAAa,GAAGxwB,YAAM,CAAC,CAAC0H,MAAM,CAACjE,IAAI,CAAC;AAC1CxD,EAAAA,eAAS,CAAC,YAAM;IACd,IAAI,CAACuwB,aAAa,CAACpwB,OAAO,IAAI,CAACmwB,cAAc,EAAE,OAAOxuB,SAAS;AAC/Dya,IAAAA,aAAa,IAAAzV,MAAA,CAAIkpB,IAAI,EAAA,OAAA,CAAA,EAASM,cAAc,CAAC;IAE7C,OAAO,YAAA;AAAA,MAAA,OAAM/T,aAAa,CAAA,EAAA,CAAAzV,MAAA,CAAIkpB,IAAI,EAAA,OAAA,CAAA,EAAS,EAAE,CAAC;AAAA,IAAA,CAAA;AAC9C;AACF,EAAA,CAAC,EAAE,CAACA,IAAI,EAAEM,cAAc,CAAC,CAAC;AAE1BtwB,EAAAA,eAAS,CAAC,YAAM;IACd,IAAIiwB,KAAK,EAAE,OAAOnuB,SAAS;AAE3B,IAAA,IAAI0uB,KAAK;IACT,IAAIC,QAAQ,GAAG,CAAC;AAChB,IAAA,IAAMC,WAAU,GAAG,SAAbA,UAAUA,GAAS;AAAA,MAAA,IAAAC,gBAAA;AACvB,MAAA,IAAM7Q,KAAK,GAAA,CAAA6Q,gBAAA,GAAGb,OAAO,CAAC3vB,OAAO,MAAA,IAAA,IAAAwwB,gBAAA,uBAAfA,gBAAA,CAAiBC,aAAa,CAACzyB,yBAAyB,CAAC;AACvE,MAAA,IAAI2hB,KAAK,EAAE;QACTA,KAAK,CAAC+Q,KAAK,EAAE;AACf,MAAA,CAAC,MAAM,IAAIJ,QAAQ,EAAE,GAAG,EAAE,EAAE;AAC1BD,QAAAA,KAAK,GAAGM,qBAAqB,CAACJ,WAAU,CAAC;AAC3C,MAAA;IACF,CAAC;AACDF,IAAAA,KAAK,GAAGM,qBAAqB,CAACJ,WAAU,CAAC;IAEzC,OAAO,YAAA;MAAA,OAAMK,oBAAoB,CAACP,KAAK,CAAC;AAAA,IAAA,CAAA;EAC1C,CAAC,EAAE,CAACP,KAAK,EAAExoB,MAAM,CAACjE,IAAI,CAAC,CAAC;EAExB,IAAMqX,KAAK,GACT9Q,WAAW,IACVR,WAAW,IACV7C,CAAC,CAAC,qCAAqC,EAAE;AACvC/D,IAAAA,IAAI,EAAEA,IAAI,IAAI+D,CAAC,CAAC,0BAA0B,CAAC;AAC3C6C,IAAAA,WAAW,EAAXA;AACF,GAAC,CAAE,KACL9F,MAAM,KAAA,IAAA,IAANA,MAAM,KAAA,MAAA,GAAA,MAAA,GAANA,MAAM,CAAEzK,KAAK,CAAA,IACb0N,CAAC,CAAC,gCAAgC,CAAC;AAErC,EAAA,IAAMsqB,cAAc,gBAAA,YAAA;IAAA,IAAA/sB,KAAA,GAAAirB,iBAAA,cAAA7C,YAAA,EAAA,CAAA+B,CAAA,CAAG,SAAAe,OAAAA,GAAA;MAAA,IAAA8B,KAAA,EAAAxT,IAAA;AAAA,MAAA,OAAA4O,YAAA,EAAA,CAAA8B,CAAA,CAAA,UAAAoB,QAAA,EAAA;QAAA,OAAA,CAAA,EAAA,QAAAA,QAAA,CAAA9C,CAAA;AAAA,UAAA,KAAA,CAAA;AACrB;AACA;AACMwE,YAAAA,KAAK,MAAAnqB,MAAA,CAAA0J,kBAAA,CACNjB,oBAAoB,CAAC;AAAEzL,cAAAA,MAAM,EAANA,MAAM;AAAE2D,cAAAA,MAAM,EAANA,MAAM;AAAEjE,cAAAA,IAAI,EAAJA;aAAM,CAAC,GAAAgN,kBAAA,CAC9C7I,KAAK,CAACxC,GAAG,CAAC,UAAA4C,IAAI,EAAA;cAAA,OAAIA,IAAI,CAAC3F,GAAG;YAAA,CAAA,CAAC,CAAA,CAAA;AAAAmtB,YAAAA,QAAA,CAAA9C,CAAA,GAAA,CAAA;YAAA,OAEpBwC,QAAQ,CAACgC,KAAK,CAAC;AAAA,UAAA,KAAA,CAAA;YAAA,IAAA1B,QAAA,CAAAhC,CAAA,EAAA;AAAAgC,cAAAA,QAAA,CAAA9C,CAAA,GAAA,CAAA;AAAA,cAAA;AAAA,YAAA;YAAA,OAAA8C,QAAA,CAAA/B,CAAA,CAAA,CAAA,CAAA;AAAA,UAAA,KAAA,CAAA;YAErB/P,IAAI,GAAG2S,wBAAwB,GACjC;cACE3f,IAAI,EAAE1U,mBAAmB,CAACU,SAAS;AACnCuf,cAAAA,IAAI,EAAE;AAAE7O,gBAAAA,KAAK,EAALA,OAAK;gBAAE+O,MAAM,EAAEnf,eAAe,CAACU;AAAiB;aACzD,GACD6f,eAAe,CAAC;AAAExZ,cAAAA,MAAM,EAANA,MAAM;AAAE4G,cAAAA,IAAI,EAAJA,IAAI;AAAEyC,cAAAA,KAAK,EAALA;AAAM,aAAC,CAAC;YAE5C,IAAIsQ,IAAI,EAAE5B,QAAQ,CAAC4B,IAAI,CAAC,CAAC,KACpBtB,SAAS,EAAE;AAAC,UAAA,KAAA,CAAA;YAAA,OAAAoT,QAAA,CAAA/B,CAAA,CAAA,CAAA,CAAA;AAAA;AAAA,MAAA,CAAA,EAAA2B,OAAA,CAAA;IAAA,CAClB,CAAA,CAAA;AAAA,IAAA,OAAA,SAlBK6B,cAAcA,GAAA;AAAA,MAAA,OAAA/sB,KAAA,CAAAuY,KAAA,CAAA,IAAA,EAAAtN,SAAA,CAAA;AAAA,IAAA,CAAA;EAAA,CAAA,EAkBnB;AAEDgiB,EAAAA,UAAU,CAACC,2BAAS,CAAA,UAAA,CAAS,CAACC,QAAQ,EAAEJ,cAAc,EAAE;AAAE3hB,IAAAA,IAAI,EAAE;AAAS,GAAC,CAAC;EAE3E,oBACEmG,eAAA,CAAAC,mBAAA,EAAA;AAAA7U,IAAAA,QAAA,EAAA,cACEe,cAAA,CAAC0vB,WAAK,CAACC,MAAM,EAAA;AAAA1wB,MAAAA,QAAA,eACX4U,eAAA,CAAA,KAAA,EAAA;AAAKpU,QAAAA,SAAS,EAAC,8BAA8B;QAAAR,QAAA,EAAA,cAC3Ce,cAAA,CAACkoB,qBAAU,EAAA;AAAC,UAAA,aAAA,EAAY,YAAY;AAAChU,UAAAA,OAAO,EAAC,IAAI;AAAAjV,UAAAA,QAAA,EAC9Cia;AAAK,SACI,CAAC,EACZ7Q,cAAc,iBACbrI,cAAA,CAACkoB,qBAAU,EAAA;AAACC,UAAAA,KAAK,EAAC,OAAO;AAACjU,UAAAA,OAAO,EAAC,OAAO;AAAAjV,UAAAA,QAAA,EACtCoJ;AAAc,SACL,CACb,EACAmmB,UAAU,iBACTxuB,cAAA,CAAA,KAAA,EAAA;AAAKP,UAAAA,SAAS,EAAC,gBAAgB;UAAAR,QAAA,eAC7Be,cAAA,CAACipB,gBAAK,EAAA;AACJvpB,YAAAA,UAAU,EAAC,aAAa;AACxByW,YAAAA,WAAW,EAAEpR,CAAC,CAAC,sCAAsC,CAAE;AACvDif,YAAAA,MAAM,eAAEhkB,cAAA,CAAC4vB,MAAM,IAAE,CAAE;AACnB3b,YAAAA,IAAI,EAAC,OAAO;AACZ3c,YAAAA,KAAK,EAAE+vB,UAAW;AAClBxR,YAAAA,QAAQ,EAAE,SAAVA,QAAQA,CAAErV,KAAK,EAAA;AAAA,cAAA,OAAI4tB,aAAa,CAAC5tB,KAAK,CAAC0lB,MAAM,CAAC5uB,KAAK,CAAC;AAAA,YAAA;WACrD;AAAC,SACC,CACN;OACE;AAAC,KACM,CAAC,eACf0I,cAAA,CAAC0vB,WAAK,CAACG,IAAI,EAAA;AAAA5wB,MAAAA,QAAA,eACT4U,eAAA,CAAA,KAAA,EAAA;AAAK1V,QAAAA,GAAG,EAAEgwB,OAAQ;QAAAlvB,QAAA,EAAA,CACfkiB,cAAc,iBACbnhB,cAAA,CAAA,KAAA,EAAA;AAAKP,UAAAA,SAAS,EAAC,MAAM;UAAAR,QAAA,eACnBe,cAAA,CAAC8vB,kBAAY,EAAA;AACXC,YAAAA,OAAO,EAAE5O,cAAe;AACxBoH,YAAAA,aAAa,EAAE7Z;WAChB;AAAC,SACC,CACN,EACA4f,KAAK,gBACJtuB,cAAA,CAACgwB,eAAS,EAAA;AACFlqB,UAAAA,MAAM,EAANA,MAAM;AAAE0F,UAAAA,KAAK,EAALA,OAAK;AAAE3J,UAAAA,IAAI,EAAJA,IAAI;UACzBouB,eAAe,EAAA,IAAA;AACflI,UAAAA,IAAI,EAAEhjB,CAAC,CAAC,0CAA0C,CAAE;AACpDwjB,UAAAA,aAAa,EAAE7Z,UAAW;AAC1BwhB,UAAAA,oBAAoB,EAAE;SACvB,CAAC,IAAAhC,iBAAA,GAEDK,gBAAgB,KAAA,IAAA,IAAhBA,gBAAgB,KAAA,MAAA,GAAA,MAAA,GAAhBA,gBAAgB,CAAG;AAClB1sB,UAAAA,IAAI,EAAJA,IAAI;AACJiE,UAAAA,MAAM,EAANA,MAAM;AACNhE,UAAAA,MAAM,EAAE4M,UAAU;AAClB2Y,UAAAA,UAAU,EAAVA;SACD,CAAC,cAAA6G,iBAAA,KAAA,MAAA,GAAAA,iBAAA,gBACAluB,cAAA,CAACmnB,kBAAkB,EAAA;AACXrhB,UAAAA,MAAM,EAANA,MAAM;AAAEyhB,UAAAA,iBAAiB,EAAjBA,iBAAiB;AAAE1lB,UAAAA,IAAI,EAAJA,IAAI;AAAEwlB,UAAAA,UAAU,EAAVA,UAAU;AACjDvlB,UAAAA,MAAM,EAAE4M;AAAW,SACpB,CAEJ;OACE;AAAC,KACI,CAAC,eACb1O,cAAA,CAAC0vB,WAAK,CAACS,MAAM,EAAA;MAAAlxB,QAAA,eACXe,cAAA,CAAC+T,iBAAM,EAAA;AACL,QAAA,aAAA,EAAY,iBAAiB;AAC7B1c,QAAAA,KAAK,EAAE0N,CAAC,CAAC,6BAA6B,CAAE;AACxCkP,QAAAA,IAAI,EAAC,IAAI;AACTzU,QAAAA,OAAO,EAAE6vB;OACV;AAAC,KACU,CAAC;AAAA,GACf,CAAC;AAEP,CAAC;;AC9LD,IAAMe,SAAS,GAAG,SAAZA,SAASA,CAAApxB,IAAA,EAAmB;AAAA,EAAA,IAAA2Q,aAAA;AAAA,EAAA,IAAbxN,MAAM,GAAAnD,IAAA,CAANmD,MAAM;AACzB,EAAA,IAAAiR,eAAA,GAAcC,2BAAc,EAAE;IAAtBtO,CAAC,GAAAqO,eAAA,CAADrO,CAAC;AACT,EAAA,IAAAme,aAAA,GAAsBzI,YAAY,CAACtY,MAAM,CAAC;IAAlC8Y,SAAS,GAAAiI,aAAA,CAATjI,SAAS;AACjB,EAAA,IAAAP,iBAAA,GAAyDC,uBAAgB,EAAE;IAAnEC,aAAa,GAAAF,iBAAA,CAAbE,aAAa;IAAE4M,eAAe,GAAA9M,iBAAA,CAAf8M,eAAe;IAAE6I,YAAY,GAAA3V,iBAAA,CAAZ2V,YAAY;AACpD,EAAA,IAAMlC,OAAO,GAAG/vB,YAAM,CAAC,IAAI,CAAC;AAE5B,EAAA,IAAMyD,IAAI,GAAGoZ,SAAS,CAAC1hB,KAAK;EAC5B,IAAA+2B,SAAA,GAAoBC,eAAQ,CAAA,EAAA,CAAAprB,MAAA,CAAItD,IAAI,WAAQ,CAAC;IAAA2uB,UAAA,GAAApzB,cAAA,CAAAkzB,SAAA,EAAA,CAAA,CAAA;IAApCh5B,KAAK,GAAAk5B,UAAA,CAAA,CAAA,CAAA,CAALl5B,KAAK;AAEd,EAAA,IAAMkC,KAAK,GAAGwiB,gBAAgB,CAAA,CAAArM,aAAA,GAACxN,MAAM,CAAC5I,KAAK,cAAAoW,aAAA,KAAA,MAAA,GAAA,MAAA,GAAZA,aAAA,CAAcnW,KAAK,CAAC;EACnD,IAAMi3B,WAAW,GAAGhsB,oBAAU,CAACjL,KAAK,CAAC,GAAGA,KAAK,GAAGuD,mBAAmB;AAEnEowB,EAAAA,iBAAiB,CAAA,EAAA,CAAAhoB,MAAA,CAAItD,IAAI,WAAQ,CAAC;AAElCxD,EAAAA,eAAS,CAAC,YAAM;IACd,IAAI,CAAA/G,KAAK,KAAA,IAAA,IAALA,KAAK,KAAA,MAAA,GAAA,MAAA,GAALA,KAAK,CAAEA,KAAK,MAAK6I,SAAS,EAAE;IAEhC,IAAIkwB,YAAY,IAAAlrB,MAAA,CAAItD,IAAI,EAAA,cAAA,CAAc,CAAC,CAAC4lB,OAAO,EAAE;IACjDD,eAAe,CAAA,EAAA,CAAAriB,MAAA,CAAItD,IAAI,mBAAgB,IAAI,EAAE,KAAK,CAAC;AACnD;EACF,CAAC,EAAE,CAACvK,KAAK,KAAA,IAAA,IAALA,KAAK,uBAALA,KAAK,CAAEA,KAAK,CAAC,CAAC;AAElB+G,EAAAA,eAAS,CAAC,YAAM;AACd,IAAA,IAAIiG,aAAO,CAAChN,KAAK,IAAI,EAAE,CAAC,EAAE;MAAA,IAAAo5B,oBAAA,EAAAC,aAAA;AACxB/V,MAAAA,aAAa,CAAA,EAAA,CAAAzV,MAAA,CAAItD,IAAI,EAAA,QAAA,CAAA,EAAU;AAC7BvK,QAAAA,KAAK,EAAEO,mBAAmB;QAC1BuU,IAAI,EAAA,CAAAskB,oBAAA,GAAA,CAAAC,aAAA,GAAEF,WAAW,CAAC,CAAC,CAAC,MAAA,IAAA,IAAAE,aAAA,KAAA,MAAA,GAAA,MAAA,GAAdA,aAAA,CAAgBr5B,KAAK,MAAA,IAAA,IAAAo5B,oBAAA,KAAA,MAAA,GAAAA,oBAAA,GAAI3zB,mBAAmB,CAAC,CAAC,CAAC,CAACzF;AACxD,OAAC,CAAC;AACJ,IAAA;AACA;EACF,CAAC,EAAE,EAAE,CAAC;AAEN+G,EAAAA,eAAS,CAAC,YAAM;AAAA,IAAA,IAAA2wB,gBAAA;AACd,IAAA,IAAM7Q,KAAK,GAAA,CAAA6Q,gBAAA,GAAGb,OAAO,CAAC3vB,OAAO,MAAA,IAAA,IAAAwwB,gBAAA,uBAAfA,gBAAA,CAAiBC,aAAa,CAAC,OAAO,CAAC;AACrD;IACA,IAAI9Q,KAAK,EAAE0F,UAAU,CAAC,YAAA;AAAA,MAAA,OAAM1F,KAAK,CAAC+Q,KAAK,EAAE;AAAA,IAAA,CAAA,EAAE,CAAC,CAAC;EAC/C,CAAC,EAAE,EAAE,CAAC;EAEN,oBACErb,eAAA,CAAAC,mBAAA,EAAA;AAAA7U,IAAAA,QAAA,EAAA,cACEe,cAAA,CAAC0vB,WAAK,CAACC,MAAM,EAAA;AAAA1wB,MAAAA,QAAA,eACX4U,eAAA,CAAA,KAAA,EAAA;AAAKpU,QAAAA,SAAS,EAAC,uBAAuB;QAAAR,QAAA,EAAA,cACpCe,cAAA,CAACkoB,qBAAU,EAAA;AAAC,UAAA,aAAA,EAAY,YAAY;AAAChU,UAAAA,OAAO,EAAC,IAAI;UAAAjV,QAAA,EAC9C8F,CAAC,CAAC,4BAA4B;AAAC,SACtB,CAAC,eACb/E,cAAA,CAACkoB,qBAAU,EAAA;AAACC,UAAAA,KAAK,EAAC,OAAO;AAACjU,UAAAA,OAAO,EAAC,OAAO;UAAAjV,QAAA,EACtC8F,CAAC,CAAC,8BAA8B;AAAC,SACxB,CAAC;OACV;AAAC,KACM,CAAC,eACf/E,cAAA,CAAC0vB,WAAK,CAACG,IAAI,EAAA;AAAA5wB,MAAAA,QAAA,eACT4U,eAAA,CAAA,KAAA,EAAA;AAAKpU,QAAAA,SAAS,EAAC,yBAAyB;AAACtB,QAAAA,GAAG,EAAEgwB,OAAQ;QAAAlvB,QAAA,EAAA,cACpDe,cAAA,CAACkoB,qBAAU,EAAA;AAAChU,UAAAA,OAAO,EAAC,OAAO;AAAC0c,UAAAA,MAAM,EAAC,QAAQ;UAAA3xB,QAAA,EACxC8F,CAAC,CAAC,4BAA4B;SACrB,CAAC,eACb8O,eAAA,CAAA,KAAA,EAAA;AAAKpU,UAAAA,SAAS,EAAC,0BAA0B;UAAAR,QAAA,EAAA,cACvCe,cAAA,CAACipB,cAAK,EAAA;AACJxpB,YAAAA,SAAS,EAAC,MAAM;AAChBC,YAAAA,UAAU,EAAC,aAAa;AACxBsN,YAAAA,GAAG,EAAE6jB,qBAAgB;AACrBC,YAAAA,GAAG,EAAEC,qBAAgB;AACrBlvB,YAAAA,IAAI,EAAA,EAAA,CAAAsD,MAAA,CAAKtD,IAAI,EAAA,cAAA,CAAe;AAC5BsU,YAAAA,WAAW,EAAEpR,CAAC,CAAC,oCAAoC,CAAE;AACrDkP,YAAAA,IAAI,EAAC,OAAO;AACZnF,YAAAA,IAAI,EAAC;AAAQ,WACd,CAAC,eACF9O,cAAA,CAAC6oB,eAAM,EAAA;AACLnpB,YAAAA,UAAU,EAAC,YAAY;AACvBsxB,YAAAA,YAAY,EAAE15B,KAAK,KAAA,IAAA,IAALA,KAAK,KAAA,MAAA,GAAA,MAAA,GAALA,KAAK,CAAE8U,IAAK;AAC1BvK,YAAAA,IAAI,EAAA,EAAA,CAAAsD,MAAA,CAAKtD,IAAI,EAAA,aAAA,CAAc;AAC3B/I,YAAAA,OAAO,EAAE23B,WAAY;AACrBxc,YAAAA,IAAI,EAAC,OAAO;AACZ4B,YAAAA,QAAQ,EAAE,SAAVA,QAAQA,CAAEob,QAAQ,EAAA;AAAA,cAAA,OAChBrW,aAAa,CAAA,EAAA,CAAAzV,MAAA,CAAItD,IAAI,EAAA,aAAA,CAAA,EAAeovB,QAAQ,CAAC;AAAA,YAAA;AAC9C,WACF,CAAC;AAAA,SACC,CAAC;OACH;AAAC,KACI,CAAC;AAAA,GACb,CAAC;AAEP,CAAC;;ACpGM,IAAMC,QAAQ,GAAG,SAAXA,QAAQA,CAAG55B,KAAK,EAAA;AAAA,EAAA,OAC3BA,KAAK,KAAK,EAAE,IAAI+M,WAAK,CAAC/M,KAAK,CAAC,GAAG,IAAI,GAAG6U,MAAM,CAAC7U,KAAK,CAAC;AAAA,CAAA;AAE9C,IAAM65B,KAAK,GAAG,SAARA,KAAKA,CAAAnyB,IAAA,EAA4B;AAAA,EAAA,IAAtB1H,KAAK,GAAA0H,IAAA,CAAL1H,KAAK;IAAEw5B,GAAG,GAAA9xB,IAAA,CAAH8xB,GAAG;IAAE9jB,GAAG,GAAAhO,IAAA,CAAHgO,GAAG;EACrC,IAAI8O,IAAI,GAAGxkB,KAAK;AAChB,EAAA,IAAI,CAAC+M,WAAK,CAACysB,GAAG,CAAC,EAAEhV,IAAI,GAAGsV,IAAI,CAACpkB,GAAG,CAAC8jB,GAAG,EAAEhV,IAAI,CAAC;AAE3C,EAAA,IAAI,CAACzX,WAAK,CAAC2I,GAAG,CAAC,EAAE8O,IAAI,GAAGsV,IAAI,CAACN,GAAG,CAAC9jB,GAAG,EAAE8O,IAAI,CAAC;AAE3C,EAAA,OAAOA,IAAI;AACb,CAAC;AAEM,IAAMuV,MAAM,GAAG,SAATA,MAAMA,CAAG/5B,KAAK,EAAA;AAAA,EAAA,OACzBA,KAAK,KAAK,EAAE,IAAI+M,WAAK,CAAC/M,KAAK,CAAC,GAAG,EAAE,GAAGsJ,MAAM,CAACtJ,KAAK,CAAC;AAAA,CAAA;;ACLnD,IAAMg6B,aAAa,GAAG,SAAhBA,aAAaA,CAAAtyB,IAAA,EASb;AAAA,EAAA,IARJ1H,KAAK,GAAA0H,IAAA,CAAL1H,KAAK;IACLue,QAAQ,GAAA7W,IAAA,CAAR6W,QAAQ;IACRnW,UAAU,GAAAV,IAAA,CAAVU,UAAU;IACVrI,KAAK,GAAA2H,IAAA,CAAL3H,KAAK;IAAAk6B,QAAA,GAAAvyB,IAAA,CACL8xB,GAAG;AAAHA,IAAAA,GAAG,GAAAS,QAAA,KAAA,MAAA,GAAG35B,iBAAiB,GAAA25B,QAAA;IACvBvkB,GAAG,GAAAhO,IAAA,CAAHgO,GAAG;IACHlD,QAAQ,GAAA9K,IAAA,CAAR8K,QAAQ;IACRgf,KAAK,GAAA9pB,IAAA,CAAL8pB,KAAK;AAEL,EAAA,IAAA1V,eAAA,GAAcC,2BAAc,EAAE;IAAtBtO,CAAC,GAAAqO,eAAA,CAADrO,CAAC;AACT,EAAA,IAAA9H,SAAA,GAA0BC,cAAQ,CAAC,IAAI,CAAC;IAAAC,UAAA,GAAAC,cAAA,CAAAH,SAAA,EAAA,CAAA,CAAA;AAAjCu0B,IAAAA,KAAK,GAAAr0B,UAAA,CAAA,CAAA,CAAA;AAAEs0B,IAAAA,QAAQ,GAAAt0B,UAAA,CAAA,CAAA,CAAA;EAEtB,IAAMu0B,OAAO,GAAGF,KAAK,KAAA,IAAA,IAALA,KAAK,KAAA,MAAA,GAALA,KAAK,GAAIH,MAAM,CAAC/5B,KAAK,CAAC;AAEtC,EAAA,IAAMq6B,MAAM,GAAG,SAATA,MAAMA,CAAGxtB,GAAG,EAAI;IACpBstB,QAAQ,CAACttB,GAAG,CAAC;AACb0R,IAAAA,QAAQ,CAAC1R,GAAG,KAAK,EAAE,GAAI2sB,GAAG,KAAA,IAAA,IAAHA,GAAG,KAAA,MAAA,GAAHA,GAAG,GAAI,CAAC,GAAIK,KAAK,CAAC;AAAE75B,MAAAA,KAAK,EAAE6U,MAAM,CAAChI,GAAG,CAAC;AAAE2sB,MAAAA,GAAG,EAAHA,GAAG;AAAE9jB,MAAAA,GAAG,EAAHA;AAAI,KAAC,CAAC,CAAC;EAC7E,CAAC;AAED,EAAA,IAAM5G,IAAI,GAAG,SAAPA,IAAIA,CAAGwrB,KAAK,EAAI;IACpBH,QAAQ,CAAC,IAAI,CAAC;IACd,IAAMpD,IAAI,GAAGliB,MAAM,CAAC0lB,QAAQ,CAACX,QAAQ,CAAC55B,KAAK,CAAC,CAAC,GACzC45B,QAAQ,CAAC55B,KAAK,CAAC,GACdw5B,GAAG,aAAHA,GAAG,KAAA,MAAA,GAAHA,GAAG,GAAI,CAAE;IACdjb,QAAQ,CAACsb,KAAK,CAAC;MAAE75B,KAAK,EAAE+2B,IAAI,GAAGuD,KAAK;AAAEd,MAAAA,GAAG,EAAHA,GAAG;AAAE9jB,MAAAA,GAAG,EAAHA;AAAI,KAAC,CAAC,CAAC;EACpD,CAAC;AAED,EAAA,oBACEhN,cAAA,CAAA,KAAA,EAAA;AAAKP,IAAAA,SAAS,EAAC,YAAY;IAAAR,QAAA,eACzBe,cAAA,CAACipB,gBAAK,EAAA;AACEvpB,MAAAA,UAAU,EAAVA,UAAU;AAAEopB,MAAAA,KAAK,EAALA,KAAK;AAAEzxB,MAAAA,KAAK,EAALA,KAAK;AAAEy5B,MAAAA,GAAG,EAAHA,GAAG;AAAEhnB,MAAAA,QAAQ,EAARA,QAAQ;MAC7CgoB,SAAS,EAAA,IAAA;AACThjB,MAAAA,IAAI,EAAC,QAAQ;AACbxX,MAAAA,KAAK,EAAEo6B,OAAQ;AACfK,MAAAA,MAAM,eACJle,eAAA,CAAA,KAAA,EAAA;AAAKpU,QAAAA,SAAS,EAAC,qBAAqB;AAAAR,QAAAA,QAAA,gBAClCe,cAAA,CAAA,QAAA,EAAA;UACE,YAAA,EAAY+E,CAAC,CAAC,kCAAkC,CAAE;AAClDtF,UAAAA,SAAS,EAAC,gBAAgB;AAC1B,UAAA,aAAA,EAAY,kBAAkB;AAC9BW,UAAAA,QAAQ,EAAErI,cAAe;AACzB+W,UAAAA,IAAI,EAAC,QAAQ;UACbtP,OAAO,EAAE,SAATA,OAAOA,GAAA;AAAA,YAAA,OAAQ4G,IAAI,CAAC3O,aAAa,CAACC,SAAS,CAAC;UAAA,CAAC;AAAAuH,UAAAA,QAAA,eAE7Ce,cAAA,CAACgyB,EAAE,EAAA,EAAE;SACC,CAAC,eACThyB,cAAA,CAAA,QAAA,EAAA;UACE,YAAA,EAAY+E,CAAC,CAAC,kCAAkC,CAAE;AAClDtF,UAAAA,SAAS,EAAC,gBAAgB;AAC1B,UAAA,aAAA,EAAY,kBAAkB;AAC9BW,UAAAA,QAAQ,EAAErI,cAAe;AACzB+W,UAAAA,IAAI,EAAC,QAAQ;UACbtP,OAAO,EAAE,SAATA,OAAOA,GAAA;AAAA,YAAA,OAAQ4G,IAAI,CAAC3O,aAAa,CAACE,SAAS,CAAC;UAAA,CAAC;AAAAsH,UAAAA,QAAA,eAE7Ce,cAAA,CAACiyB,IAAI,EAAA,EAAE;AAAC,SACF,CAAC;AAAA,OACN,CACN;MACDlJ,MAAM,EAAE,SAARA,MAAMA,GAAA;QAAA,OAAQ0I,QAAQ,CAAC,IAAI,CAAC;MAAA,CAAC;AAC7B5b,MAAAA,QAAQ,EAAE,SAAVA,QAAQA,CAAErV,KAAK,EAAA;AAAA,QAAA,OAAImxB,MAAM,CAACnxB,KAAK,CAAC0lB,MAAM,CAAC5uB,KAAK,CAAC;MAAA,CAAC;AAC9C46B,MAAAA,OAAO,EAAE,SAATA,OAAOA,CAAE1xB,KAAK,EAAA;AAAA,QAAA,OAAIA,KAAK,CAAC0lB,MAAM,CAACiM,MAAM,EAAE;AAAA,MAAA;KACxC;AAAC,GACC,CAAC;AAEV,CAAC;;AC9DD,IAAMC,YAAY,GAAG,SAAfA,YAAYA,CAAApzB,IAAA,EAAmB;AAAA,EAAA,IAAbmD,MAAM,GAAAnD,IAAA,CAANmD,MAAM;AAC5B,EAAA,IAAAiR,eAAA,GAAcC,2BAAc,EAAE;IAAtBtO,CAAC,GAAAqO,eAAA,CAADrO,CAAC;AACT,EAAA,IAAA2V,iBAAA,GAAyDC,uBAAgB,EAAE;IAAnEC,aAAa,GAAAF,iBAAA,CAAbE,aAAa;IAAE4M,eAAe,GAAA9M,iBAAA,CAAf8M,eAAe;IAAE6I,YAAY,GAAA3V,iBAAA,CAAZ2V,YAAY;AACpD,EAAA,IAAAnN,aAAA,GAA4BzI,YAAY,CAACtY,MAAM,CAAC;IAAxC4G,IAAI,GAAAma,aAAA,CAAJna,IAAI;IAAEkS,SAAS,GAAAiI,aAAA,CAATjI,SAAS;AAEvB,EAAA,IAAA/N,eAAA,GAAgCjB,cAAc,CAAClD,IAAI,CAAC2D,QAAQ,CAAC;IAA9C2lB,MAAM,GAAAnlB,eAAA,CAAb5V,KAAK;IAAU8U,IAAI,GAAAc,eAAA,CAAJd,IAAI;AAC3B,EAAA,IAAMsE,IAAI,GAAA,EAAA,CAAAvL,MAAA,CAAM8V,SAAS,CAACvO,QAAQ,EAAA,QAAA,CAAQ;AAC1C,EAAA,IAAA4jB,SAAA,GAA+BC,eAAQ,CAAC7f,IAAI,CAAC;IAAA8f,UAAA,GAAApzB,cAAA,CAAAkzB,SAAA,EAAA,CAAA,CAAA;AAAAgC,IAAAA,WAAA,GAAA9B,UAAA,CAAA,CAAA,CAAA;IAAlC1H,KAAK,GAAAwJ,WAAA,CAALxJ,KAAK;IAAErB,OAAO,GAAA6K,WAAA,CAAP7K,OAAO;AACzB,EAAA,IAAM8K,MAAM,GAAG,SAATA,MAAMA,CAAAjwB,KAAA,EAAA;AAAA,IAAA,IAAMhL,KAAK,GAAAgL,KAAA,CAALhL,KAAK;MAAQ25B,QAAQ,GAAA3uB,KAAA,CAAd8J,IAAI;AAAA,IAAA,OAC3BwO,aAAa,CAAClK,IAAI,EAAErE,cAAc,CAAC;AAAE/U,MAAAA,KAAK,EAALA,KAAK;AAAE8U,MAAAA,IAAI,EAAE6kB;AAAS,KAAC,CAAC,CAAC;AAAA,EAAA,CAAA;EAEhE9D,iBAAiB,CAACzc,IAAI,CAAC;AAEvBrS,EAAAA,eAAS,CAAC,YAAM;AACd,IAAA,IAAI0K,IAAI,CAAC2D,QAAQ,KAAKvM,SAAS,EAAE;AAEjC,IAAA,IAAIkwB,YAAY,CAAC3f,IAAI,CAAC,CAAC+W,OAAO,EAAE;AAChCD,IAAAA,eAAe,CAAC9W,IAAI,EAAE,IAAI,EAAE,KAAK,CAAC;AAClC;AACF,EAAA,CAAC,EAAE,CAAC3H,IAAI,CAAC2D,QAAQ,CAAC,CAAC;EAEnB,oBACEmH,eAAA,CAAAC,mBAAA,EAAA;AAAA7U,IAAAA,QAAA,EAAA,cACEe,cAAA,CAAC0vB,WAAK,CAACC,MAAM,EAAA;AAAA1wB,MAAAA,QAAA,eACX4U,eAAA,CAAA,KAAA,EAAA;AAAKpU,QAAAA,SAAS,EAAC,uBAAuB;QAAAR,QAAA,EAAA,cACpCe,cAAA,CAACkoB,qBAAU,EAAA;AAAC,UAAA,aAAA,EAAY,YAAY;AAAChU,UAAAA,OAAO,EAAC,IAAI;UAAAjV,QAAA,EAC9C8F,CAAC,CAAC,kCAAkC;AAAC,SAC5B,CAAC,eACb/E,cAAA,CAACkoB,qBAAU,EAAA;AAACC,UAAAA,KAAK,EAAC,OAAO;AAACjU,UAAAA,OAAO,EAAC,OAAO;UAAAjV,QAAA,EACtC8F,CAAC,CAAC,qCAAqC;AAAC,SAC/B,CAAC;OACV;AAAC,KACM,CAAC,eACf/E,cAAA,CAAC0vB,WAAK,CAACG,IAAI,EAAA;AAAA5wB,MAAAA,QAAA,eACT4U,eAAA,CAAA,KAAA,EAAA;AAAKpU,QAAAA,SAAS,EAAC,yBAAyB;QAAAR,QAAA,EAAA,cACtCe,cAAA,CAACkoB,qBAAU,EAAA;AAAChU,UAAAA,OAAO,EAAC,OAAO;AAAC0c,UAAAA,MAAM,EAAC,QAAQ;UAAA3xB,QAAA,EACxC8F,CAAC,CAAC,2BAA2B;SACpB,CAAC,eACb8O,eAAA,CAAA,KAAA,EAAA;AAAKpU,UAAAA,SAAS,EAAC,0BAA0B;AAAAR,UAAAA,QAAA,gBACvCe,cAAA,CAAA,KAAA,EAAA;AAAKP,YAAAA,SAAS,EAAC,QAAQ;YAAAR,QAAA,eACrBe,cAAA,CAACsxB,aAAa,EAAA;AACZ5xB,cAAAA,UAAU,EAAC,WAAW;AACtBopB,cAAAA,KAAK,EAAErB,OAAO,GAAGqB,KAAK,GAAG,EAAG;AAC5BxxB,cAAAA,KAAK,EAAE+6B,MAAO;AACdxc,cAAAA,QAAQ,EAAE,SAAVA,QAAQA,CAAEve,KAAK,EAAA;AAAA,gBAAA,OACbi7B,MAAM,CAAC;AAAEj7B,kBAAAA,KAAK,EAAEA,KAAK,KAAK,EAAE,GAAG,CAAC,GAAGA,KAAK;AAAE8U,kBAAAA,IAAI,EAAJA;AAAK,iBAAC,CAAC;AAAA,cAAA;aAEpD;WACE,CAAC,eACNpM,cAAA,CAAA,KAAA,EAAA;AAAKP,YAAAA,SAAS,EAAC,eAAe;YAAAR,QAAA,eAC5Be,cAAA,CAAC6oB,iBAAM,EAAA;AACLnpB,cAAAA,UAAU,EAAC,gBAAgB;AAC3B8yB,cAAAA,YAAY,EAAE,KAAM;AACpB15B,cAAAA,OAAO,EAAEvB,eAAgB;AACzBD,cAAAA,KAAK,EAAE8U,IAAK;AACZyJ,cAAAA,QAAQ,EAAE,SAAVA,QAAQA,CAAEob,QAAQ,EAAA;AAAA,gBAAA,OAAIsB,MAAM,CAAC;AAAEj7B,kBAAAA,KAAK,EAAE+6B,MAAM;AAAEjmB,kBAAAA,IAAI,EAAE6kB;AAAS,iBAAC,CAAC;AAAA,cAAA;aAChE;AAAC,WACC,CAAC;AAAA,SACH,CAAC;OACH;AAAC,KACI,CAAC;AAAA,GACb,CAAC;AAEP,CAAC;;ACrED,IAAMwB,QAAQ,GAAG,SAAXA,QAAQA,CAAAzzB,IAAA,EAAmB;AAAA,EAAA,IAAbmD,MAAM,GAAAnD,IAAA,CAANmD,MAAM;AACxB,EAAA,IAAAiR,eAAA,GAAcC,2BAAc,EAAE;IAAtBtO,CAAC,GAAAqO,eAAA,CAADrO,CAAC;AACT,EAAA,IAAAme,aAAA,GAAsBzI,YAAY,CAACtY,MAAM,CAAC;IAAlC8Y,SAAS,GAAAiI,aAAA,CAATjI,SAAS;EAEjB,oBACEpH,eAAA,CAAAC,mBAAA,EAAA;AAAA7U,IAAAA,QAAA,EAAA,cACEe,cAAA,CAAC0vB,WAAK,CAACC,MAAM,EAAA;AAAA1wB,MAAAA,QAAA,eACX4U,eAAA,CAAA,KAAA,EAAA;AAAKpU,QAAAA,SAAS,EAAC,uBAAuB;QAAAR,QAAA,EAAA,cACpCe,cAAA,CAACkoB,qBAAU,EAAA;AAAC,UAAA,aAAA,EAAY,YAAY;AAAChU,UAAAA,OAAO,EAAC,IAAI;UAAAjV,QAAA,EAC9C8F,CAAC,CAAC,mCAAmC;AAAC,SAC7B,CAAC,eACb/E,cAAA,CAACkoB,qBAAU,EAAA;AAACC,UAAAA,KAAK,EAAC,OAAO;AAACjU,UAAAA,OAAO,EAAC,OAAO;UAAAjV,QAAA,EACtC8F,CAAC,CAAC,iCAAiC;AAAC,SAC3B,CAAC;OACV;AAAC,KACM,CAAC,eACf/E,cAAA,CAAC0vB,WAAK,CAACG,IAAI,EAAA;MAAA5wB,QAAA,eACTe,cAAA,CAACipB,cAAK,EAAA;QACJ6I,SAAS,EAAA,IAAA;QACThoB,QAAQ,EAAA,IAAA;AACRzS,QAAAA,KAAK,EAAE0N,CAAC,CAAC,wBAAwB,CAAE;AACnClD,QAAAA,IAAI,KAAAsD,MAAA,CAAK8V,SAAS,CAACpZ,IAAI,EAAA,QAAA,CAAS;AAChCsU,QAAAA,WAAW,EAAEpR,CAAC,CAAC,uCAAuC,CAAE;AACxDkP,QAAAA,IAAI,EAAC;OACN;AAAC,KACQ,CAAC;AAAA,GACb,CAAC;AAEP,CAAC;;;;ACKD,IAAMye,WAAW,GAAG,SAAdA,WAAWA,CAAA1zB,IAAA,EAOX;AAAA,EAAA,IANJmD,MAAM,GAAAnD,IAAA,CAANmD,MAAM;IACNoY,MAAM,GAAAvb,IAAA,CAANub,MAAM;IACN/O,OAAK,GAAAxM,IAAA,CAALwM,KAAK;IACLiN,OAAO,GAAAzZ,IAAA,CAAPyZ,OAAO;IAAAka,iBAAA,GAAA3zB,IAAA,CACP4zB,YAAY;AAAZA,IAAAA,YAAY,GAAAD,iBAAA,KAAA,MAAA,GAAG,IAAI,GAAAA,iBAAA;IAAAE,kBAAA,GAAA7zB,IAAA,CACnBwjB,aAAa;AAAbA,IAAAA,aAAa,GAAAqQ,kBAAA,KAAA,MAAA,GAAG,KAAK,GAAAA,kBAAA;AAErB,EAAA,IAAAzf,eAAA,GAAcC,2BAAc,EAAE;IAAtBtO,CAAC,GAAAqO,eAAA,CAADrO,CAAC;AACT,EAAA,IAAA2V,iBAAA,GAA0BC,uBAAgB,EAAE;IAApCC,aAAa,GAAAF,iBAAA,CAAbE,aAAa;AACrB,EAAA,IAAAsI,aAAA,GACEzI,YAAY,CAACtY,MAAM,CAAC;IADd4G,IAAI,GAAAma,aAAA,CAAJna,IAAI;IAAEkS,SAAS,GAAAiI,aAAA,CAATjI,SAAS;IAAEzK,WAAW,GAAA0S,aAAA,CAAX1S,WAAW;IAAEG,YAAY,GAAAuS,aAAA,CAAZvS,YAAY;IAAEM,gBAAgB,GAAAiS,aAAA,CAAhBjS,gBAAgB;AAEpE,EAAA,IAAA8R,eAAA,GAAgCpJ,cAAc,CAACxX,MAAM,CAAC;IAA9C+X,QAAQ,GAAA6I,eAAA,CAAR7I,QAAQ;IAAEM,SAAS,GAAAuI,eAAA,CAATvI,SAAS;AAC3B,EAAA,IAAAZ,gBAAA,GAAAC,+BAAA,CAAAC,kBAAA,WAAAC,KAAA,EAAA;AAAA,MAAA,OAAA;AAAQ+Y,QAAAA,iBAAiB,EAAA/Y,KAAA,CAAA,mBAAA;AAAA,OAAA;AAAA,IAAA,CAAA,CAAA,CAAA;IAAjB+Y,iBAAiB,GAAAlZ,gBAAA,CAAjBkZ,iBAAiB;AAEzB,EAAA,IAAA71B,SAAA,GAAoCC,cAAQ,CAAC,EAAE,CAAC;IAAAC,UAAA,GAAAC,cAAA,CAAAH,SAAA,EAAA,CAAA,CAAA;AAAzCoqB,IAAAA,UAAU,GAAAlqB,UAAA,CAAA,CAAA,CAAA;AAAEixB,IAAAA,aAAa,GAAAjxB,UAAA,CAAA,CAAA,CAAA;AAChC,EAAA,IAAM41B,SAAS,GAAG30B,YAAM,CAAC,IAAI,CAAC;;AAE9B;AACAC,EAAAA,eAAS,CAAC,YAAA;IAAA,OAAM,YAAA;MAAA,OAAMy0B,iBAAiB,CAAC,IAAI,CAAC;AAAA,IAAA,CAAA;AAAA,EAAA,CAAA,EAAE,EAAE,CAAC;AAElDz0B,EAAAA,eAAS,CAAC,YAAM;AAAA,IAAA,IAAA20B,kBAAA;IACd,CAAAA,kBAAA,GAAAD,SAAS,CAACv0B,OAAO,MAAA,IAAA,IAAAw0B,kBAAA,KAAA,MAAA,IAAA,CAAAA,kBAAA,GAAjBA,kBAAA,CAAmB/D,aAAa,CAAC,OAAO,CAAC,MAAA,IAAA,IAAA+D,kBAAA,eAAzCA,kBAAA,CAA2C9D,KAAK,EAAE;EACpD,CAAC,EAAE,EAAE,CAAC;EAEN,IAAA+D,QAAA,GAAqEjY,aAAO,CAC1E,YAAA;AAAA,MAAA,OAAMsE,aAAa,CAAC;AAAE/E,QAAAA,MAAM,EAANA,MAAM;AAAEpY,QAAAA,MAAM,EAANA,MAAM;AAAE4G,QAAAA,IAAI,EAAJA,IAAI;AAAEyC,QAAAA,KAAK,EAALA,OAAK;AAAEiN,QAAAA,OAAO,EAAPA;AAAQ,OAAC,CAAC;IAAA,CAAA,EAC7D,CAAC8B,MAAM,EAAEpY,MAAM,EAAE4G,IAAI,EAAEyC,OAAK,EAAEiN,OAAO,CACvC,CAAC;IAHOS,KAAK,GAAA+Z,QAAA,CAAL/Z,KAAK;IAAEwG,QAAQ,GAAAuT,QAAA,CAARvT,QAAQ;IAAE9B,KAAK,GAAAqV,QAAA,CAALrV,KAAK;IAAE9kB,OAAO,GAAAm6B,QAAA,CAAPn6B,OAAO;IAAE+mB,cAAc,GAAAoT,QAAA,CAAdpT,cAAc;IAAEF,OAAO,GAAAsT,QAAA,CAAPtT,OAAO;AAKhE,EAAA,IAAMuC,OAAO,GAAG;AACd1R,IAAAA,WAAW,EAAXA,WAAW;AACXG,IAAAA,YAAY,EAAZA,YAAY;AACZM,IAAAA,gBAAgB,EAAhBA,gBAAgB;AAChB2J,IAAAA,aAAa,EAAbA,aAAa;AACbK,IAAAA,SAAS,EAATA;GACD;AAED,EAAA,IAAMuT,UAAU,GACd,CAAArsB,MAAM,KAAA,IAAA,IAANA,MAAM,KAAA,MAAA,GAAA,MAAA,GAANA,MAAM,CAAE+wB,UAAU,MAAK,KAAK,IAAIp6B,OAAO,CAACmS,MAAM,IAAI1O,qBAAqB;EACzE,IAAMsrB,IAAI,GAAGR,UAAU,CAACvmB,IAAI,EAAE,CAACU,WAAW,EAAE;EAC5C,IAAM6nB,QAAQ,GAAGrO,aAAO,CACtB,YAAA;AAAA,IAAA,OACE6M,IAAI,GACA/uB,OAAO,CAACiZ,MAAM,CAAC,UAAAjQ,MAAM,EAAA;MAAA,OAAIA,MAAM,CAACzK,KAAK,CAACmK,WAAW,EAAE,CAACP,QAAQ,CAAC4mB,IAAI,CAAC;AAAA,IAAA,CAAA,CAAC,GACnE/uB,OAAO;AAAA,EAAA,CAAA,EACb,CAACA,OAAO,EAAE+uB,IAAI,CAChB,CAAC;EACD,IAAM1L,MAAM,GAAGnB,aAAO,CAAC,YAAA;IAAA,OAAMkB,eAAe,CAACmN,QAAQ,CAAC;EAAA,CAAA,EAAE,CAACA,QAAQ,CAAC,CAAC;AACnE;AACA,EAAA,IAAMxH,UAAU,GAAG,SAAbA,UAAUA,CAAGvqB,KAAK,EAAA;AAAA,IAAA,OAAIuoB,cAAc,CAAC5e,QAAQ,CAAC3J,KAAK,CAAC;AAAA,EAAA,CAAA;AAE1D,EAAA,IAAM67B,YAAY,GAAG,SAAfA,YAAYA,CAAG77B,KAAK,EAAI;IAC5Bw7B,iBAAiB,CAAC,IAAI,CAAC;IACvB,IAAM5gB,MAAM,GAAG+P,SAAS,CAAC;AACvB1H,MAAAA,MAAM,EAANA,MAAM;AACNpY,MAAAA,MAAM,EAANA,MAAM;AACN4G,MAAAA,IAAI,EAAJA,IAAI;AACJyC,MAAAA,KAAK,EAALA,OAAK;AACLiN,MAAAA,OAAO,EAAPA,OAAO;AACPnhB,MAAAA,KAAK,EAALA,KAAK;AACL4qB,MAAAA,OAAO,EAAPA;AACF,KAAC,CAAC;AACF,IAAA,IAAIhQ,MAAM,KAAK,OAAO,EAAEsI,SAAS,EAAE;EACrC,CAAC;AAED,EAAA,IAAM4Y,cAAc,GAAG,SAAjBA,cAAcA,CAAGrX,WAAW,EAAA;AAAA,IAAA,OAChC8D,cAAc,CAAC5e,QAAQ,CAAC8a,WAAW,CAAC,GAChC8D,cAAc,CAAC9N,MAAM,CAACwX,eAAK,CAACxN,WAAW,CAAC,CAAC,GAAA,EAAA,CAAA5W,MAAA,CAAA0J,kBAAA,CACrCgR,cAAc,CAAC9N,MAAM,CAACshB,OAAO,CAAC,CAAA,EAAA,CAAEtX,WAAW,CAAA,CAAC;AAAA,EAAA,CAAA;AAEtD,EAAA,IAAMuX,eAAe,GAAG,SAAlBA,eAAeA,CAAGvX,WAAW,EAAI;IACrC,IAAMzkB,KAAK,GAAGsmB,KAAK,GAAGwV,cAAc,CAACrX,WAAW,CAAC,GAAGA,WAAW;IAE/D,OAAO;MACLve,YAAY,EAAE,SAAdA,YAAYA,GAAA;AAAA,QAAA,OAAQs1B,iBAAiB,CAAC;AAAEvY,UAAAA,MAAM,EAANA,MAAM;AAAE/O,UAAAA,KAAK,EAALA,OAAK;AAAElU,UAAAA,KAAK,EAALA;AAAM,SAAC,CAAC;AAAA,MAAA,CAAA;MAC/DmG,YAAY,EAAE,SAAdA,YAAYA,GAAA;QAAA,OAAQq1B,iBAAiB,CAAC,IAAI,CAAC;AAAA,MAAA;KAC5C;EACH,CAAC;AAED,EAAA,IAAMzD,cAAc,GAAG,SAAjBA,cAAcA,GAAS;IAC3B,IAAMnJ,MAAM,GAAG5D,iBAAiB,CAAC;AAC/B/H,MAAAA,MAAM,EAANA,MAAM;AACNpY,MAAAA,MAAM,EAANA,MAAM;AACN4G,MAAAA,IAAI,EAAJA,IAAI;AACJyC,MAAAA,KAAK,EAALA,OAAK;AACLiN,MAAAA,OAAO,EAAPA,OAAO;AACP+J,MAAAA,aAAa,EAAbA;AACF,KAAC,CAAC;IACF,IAAI0D,MAAM,EAAEhM,QAAQ,CAAC;MAAEpL,IAAI,EAAEoX,MAAM,CAACpX,IAAI;MAAEuL,IAAI,EAAE6L,MAAM,CAAC7L;AAAK,KAAC,CAAC,CAAC,KAC1DG,SAAS,EAAE;EAClB,CAAC;EAED,IAAM+Y,WAAW,GAAG5T,OAAO,IAAIE,cAAc,CAAC1W,IAAI,CAACkqB,OAAO,CAAC;AAC3D9D,EAAAA,UAAU,CAACC,2BAAS,CAAA,UAAA,CAAS,CAACC,QAAQ,EAAEJ,cAAc,EAAE;AACtDr2B,IAAAA,OAAO,EAAEu6B,WAAW;AACpB7lB,IAAAA,IAAI,EAAE;AACR,GAAC,CAAC;AAEF,EAAA,IAAM8lB,WAAW,GAAG,SAAdA,WAAWA,CAAG1xB,MAAM,EAAI;AAC5B,IAAA,IAAM2xB,IAAI,GAAG3xB,MAAM,CAAC+F,IAAI;AACxB;AACA;AACA,IAAA,IAAM6rB,MAAM,GACV,OAAO5xB,MAAM,CAACqf,cAAc,KAAK,UAAU,GACvCrf,MAAM,CAACqf,cAAc,EAAE,GACvBrf,MAAM,CAACqf,cAAc;AAC3B,IAAA,IAAMwS,YAAY,GAAG,OAAOD,MAAM,KAAK,QAAQ;AAC/C;AACA;AACA,IAAA,IAAME,YAAY,gBAAGC,oBAAc,CAACH,MAAM,CAAC,IAAI1uB,KAAK,CAACC,OAAO,CAACyuB,MAAM,CAAC;AACpE,IAAA,IAAMI,OAAO,GACXhyB,MAAM,CAACsf,eAAe,KAAKwS,YAAY,GAAG;AAAEG,MAAAA,WAAW,EAAEL;KAAQ,GAAG,IAAI,CAAC;AAE3E,IAAA,IAAI,CAACD,IAAI,IAAI,CAACE,YAAY,IAAI,CAACG,OAAO,EAAE,OAAOhyB,MAAM,CAACzK,KAAK;AAE3D,IAAA,oBACEwc,eAAA,CAAA,MAAA,EAAA;AAAMpU,MAAAA,SAAS,EAAC,gBAAgB;AAAAR,MAAAA,QAAA,EAAA,CAC7Bw0B,IAAI,iBAAIzzB,cAAA,CAACyzB,IAAI,EAAA;AAACxf,QAAAA,IAAI,EAAE;OAAK,CAAC,EAC1BnS,MAAM,CAACzK,KAAK,EACZy8B,OAAO,iBACNjgB,eAAA,CAACmgB,kBAAO,EAAA;AACN3f,QAAAA,QAAQ,EAAC,KAAK;AACd9R,QAAAA,OAAO,eACLvC,cAAA,CAAA,MAAA,EAAA;AACEP,UAAAA,SAAS,EAAC,cAAc;AACxBD,UAAAA,OAAO,EAAE,SAATA,OAAOA,CAAEgB,KAAK,EAAA;AAAA,YAAA,OAAIA,KAAK,CAACE,cAAc,EAAE;UAAA,CAAC;UAAAzB,QAAA,eAEzCe,cAAA,CAACi0B,IAAI,EAAA;AAAChgB,YAAAA,IAAI,EAAE;WAAK;AAAC,SACd,CACP;QAAAhV,QAAA,EAAA,CAEA60B,OAAO,CAAC5a,KAAK,iBAAIlZ,cAAA,CAACg0B,kBAAO,CAACE,KAAK,EAAA;UAAAj1B,QAAA,EAAE60B,OAAO,CAAC5a;AAAK,SAAgB,CAAC,eAChElZ,cAAA,CAACkoB,qBAAU,EAAA;AAACC,UAAAA,KAAK,EAAC,OAAO;AAACjU,UAAAA,OAAO,EAAC,OAAO;UAAAjV,QAAA,EACtC60B,OAAO,CAACC;AAAW,SACV,CAAC,EACZD,OAAO,CAACK,aAAa,iBACpBn0B,cAAA,CAAC+T,iBAAM,EAAA9T,eAAA,CAAAA,eAAA,CAAA,EAAA,EACD6zB,OAAO,CAACK,aAAa,CAAA,EAAA,EAAA,EAAA;AACzB10B,UAAAA,SAAS,EAAC,uBAAuB;AACjCwU,UAAAA,IAAI,EAAC,IAAI;AACTC,UAAAA,OAAO,EAAC;AAAM,SAAA,CACf,CACF;AAAA,OACM,CACV,EACA,CAAC4f,OAAO,IACPJ,MAAM,IACNC,YAAY,KACX7xB,MAAM,CAACggB,eAAe,gBACrB9hB,cAAA,CAACo0B,kBAAO,EAAA;QAAChgB,OAAO,EAAEtS,MAAM,CAACggB,eAAgB;AAACzN,QAAAA,QAAQ,EAAC,KAAK;AAAApV,QAAAA,QAAA,eACtDe,cAAA,CAAA,MAAA,EAAA;AAAMP,UAAAA,SAAS,EAAC,cAAc;AAAAR,UAAAA,QAAA,EAAEy0B;SAAa;OACtC,CAAC,gBAEV1zB,cAAA,CAAA,MAAA,EAAA;AAAMP,QAAAA,SAAS,EAAC,cAAc;AAAAR,QAAAA,QAAA,EAAEy0B;AAAM,OAAO,CAC9C,CAAC;AAAA,KACA,CAAC;EAEX,CAAC;AAED,EAAA,IAAMW,iBAAiB,GAAG,SAApBA,iBAAiBA,CAAGhY,QAAQ,EAAA;IAAA,OAChCA,QAAQ,iBAAIrc,cAAA,CAAA,KAAA,EAAA;AAAKP,MAAAA,SAAS,EAAC,eAAe;AAAAR,MAAAA,QAAA,EAAEod;AAAQ,KAAM,CAAC;AAAA,EAAA,CAAA;AAE7D,EAAA,IAAMiY,UAAU,GAAG,SAAbA,UAAUA,GAAS;AAAA,IAAA,IAAAC,gBAAA;AACvB,IAAA,IAAIjwB,aAAO,CAAC+kB,QAAQ,CAAC,EAAE;AACrB,MAAA,oBACErpB,cAAA,CAAA,KAAA,EAAA;AAAKP,QAAAA,SAAS,EAAC,eAAe;AAAC,QAAA,aAAA,EAAY,iBAAiB;QAAAR,QAAA,EACzD8F,CAAC,CAAC,8BAA8B;AAAC,OAC/B,CAAC;AAEV,IAAA;AAEA,IAAA,IAAI6Y,KAAK,EAAE;AACT,MAAA,oBACE5d,cAAA,CAAA,KAAA,EAAA;AAAKP,QAAAA,SAAS,EAAC,4BAA4B;AAAAR,QAAAA,QAAA,EACxCkd,MAAM,CAAC3Y,GAAG,CAAC,UAAAlB,KAAA,EAAA;AAAA,UAAA,IAAAI,KAAA,GAAAtF,cAAA,CAAAkF,KAAA,EAAA,CAAA,CAAA;AAAE+Z,YAAAA,QAAQ,GAAA3Z,KAAA,CAAA,CAAA,CAAA;AAAE8xB,YAAAA,KAAK,GAAA9xB,KAAA,CAAA,CAAA,CAAA;UAAA,oBAC3BmR,eAAA,CAACuE,cAAQ,EAAA;YAAAnZ,QAAA,EAAA,CACNo1B,iBAAiB,CAAChY,QAAQ,CAAC,EAC3BmY,KAAK,CAAChxB,GAAG,CAAC,UAAA1B,MAAM,EAAA;AAAA,cAAA,oBACf9B,cAAA,CAACwpB,mBAAQ,EAAAvpB,eAAA,CAAAA,eAAA,CAAA;AACP0V,gBAAAA,OAAO,EAAEkM,UAAU,CAAC/f,MAAM,CAACxK,KAAK,CAAE;gBAClC2pB,QAAQ,EAAEnf,MAAM,CAACmf,QAAS;AAE1B5pB,gBAAAA,KAAK,EAAEm8B,WAAW,CAAC1xB,MAAM,CAAE;AAC3B2yB,gBAAAA,UAAU,EAAEnB,eAAe,CAACxxB,MAAM,CAACxK,KAAK,CAAE;gBAC1CmyB,eAAe,EAAE,SAAjBA,eAAeA,GAAA;AAAA,kBAAA,OAAQ0J,YAAY,CAACrxB,MAAM,CAACxK,KAAK,CAAC;AAAA,gBAAA;AAAC,eAAA,EAC7CwK,MAAM,CAAC+F,IAAI,IAAI/F,MAAM,CAACqf,cAAc,GACrC;gBAAEzhB,UAAU,EAAEoC,MAAM,CAACxK;AAAM,eAAC,GAC5B,EAAE,CAAA,EACFg8B,eAAe,CAACxxB,MAAM,CAACxK,KAAK,CAAC,CAAA,EAP5BwK,MAAM,CAACxK,KAQb,CAAC;AAAA,YAAA,CACH,CAAC;WAAA,EAfW+kB,QAAQ,IAAI,gBAgBjB,CAAC;QAAA,CACZ;AAAC,OACC,CAAC;AAEV,IAAA;IAEA,oBACErc,cAAA,CAAC0pB,qBAAU,EAAA;AACTC,MAAAA,WAAW,EAAC,UAAU;AACtBryB,MAAAA,KAAK,GAAAi9B,gBAAA,GAAE1U,cAAc,KAAA,IAAA,IAAdA,cAAc,KAAA,MAAA,GAAA,MAAA,GAAdA,cAAc,CAAG,CAAC,CAAC,MAAA,IAAA,IAAA0U,gBAAA,KAAA,MAAA,GAAAA,gBAAA,GAAI,EAAG;AACjC3K,MAAAA,aAAa,EAAEuJ,YAAa;AAAAl0B,MAAAA,QAAA,EAE3Bkd,MAAM,CACJ3N,OAAO,CAAC,UAAAzL,KAAA,EAAA;AAAA,QAAA,IAAAI,KAAA,GAAA/F,cAAA,CAAA2F,KAAA,EAAA,CAAA,CAAA;AAAEsZ,UAAAA,QAAQ,GAAAlZ,KAAA,CAAA,CAAA,CAAA;AAAEqxB,UAAAA,KAAK,GAAArxB,KAAA,CAAA,CAAA,CAAA;QAAA,OAAA,CACxBkZ,QAAQ,gBACNrc,cAAA,CAAA,KAAA,EAAA;AAAKP,UAAAA,SAAS,EAAC,eAAe;AAAAR,UAAAA,QAAA,EAC3Bod;AAAQ,SAAA,EAAA,QAAA,CAAAlX,MAAA,CADkCkX,QAAQ,CAEhD,CAAC,GACJ,IAAI,CAAA,CAAAlX,MAAA,CAAA0J,kBAAA,CACL2lB,KAAK,CAAChxB,GAAG,CAAC,UAAA1B,MAAM,EAAA;UAAA,oBACjB9B,cAAA,CAAC0pB,qBAAU,CAACI,IAAI,EAAA7pB,eAAA,CAAAA,eAAA,CAAA;YACdghB,QAAQ,EAAEnf,MAAM,CAACmf,QAAS;AAE1B5pB,YAAAA,KAAK,EAAEm8B,WAAW,CAAC1xB,MAAM,CAAE;AAC3B2yB,YAAAA,UAAU,EAAEnB,eAAe,CAACxxB,MAAM,CAACxK,KAAK,CAAE;YAC1CA,KAAK,EAAEwK,MAAM,CAACxK;AAAM,WAAA,EACfwK,MAAM,CAAC+F,IAAI,IAAI/F,MAAM,CAACqf,cAAc,GACrC;YAAEzhB,UAAU,EAAEoC,MAAM,CAACxK;AAAM,WAAC,GAC5B,EAAE,CAAA,EACFg8B,eAAe,CAACxxB,MAAM,CAACxK,KAAK,CAAC,CAAA,EAP5BwK,MAAM,CAACxK,KAQb,CAAC;AAAA,QAAA,CACH,CAAC,CAAA,CAAA;AAAA,MAAA,CACH,CAAC,CACDya,MAAM,CAACshB,OAAO;AAAC,KACR,CAAC;EAEjB,CAAC;EAED,oBACExf,eAAA,CAAAC,mBAAA,EAAA;AAAA7U,IAAAA,QAAA,EAAA,cACEe,cAAA,CAAC0vB,WAAK,CAACC,MAAM,EAAA;AAAA1wB,MAAAA,QAAA,eACX4U,eAAA,CAAA,KAAA,EAAA;AAAKpU,QAAAA,SAAS,EAAC,8BAA8B;QAAAR,QAAA,EAAA,cAC3Ce,cAAA,CAACkoB,qBAAU,EAAA;AAAC,UAAA,aAAA,EAAY,YAAY;AAAChU,UAAAA,OAAO,EAAC,IAAI;AAAAjV,UAAAA,QAAA,EAC9Cia;AAAK,SACI,CAAC,eACblZ,cAAA,CAACkoB,qBAAU,EAAA;AAACC,UAAAA,KAAK,EAAC,OAAO;AAACjU,UAAAA,OAAO,EAAC,OAAO;AAAAjV,UAAAA,QAAA,EACtCygB;AAAQ,SACC,CAAC,EACZ8O,UAAU,iBACTxuB,cAAA,CAAA,KAAA,EAAA;AAAKP,UAAAA,SAAS,EAAC,gBAAgB;AAACtB,UAAAA,GAAG,EAAE40B,SAAU;UAAA9zB,QAAA,eAC7Ce,cAAA,CAACipB,gBAAK,EAAA;AACJvpB,YAAAA,UAAU,EAAC,aAAa;AACxByW,YAAAA,WAAW,EAAEpR,CAAC,CAAC,sCAAsC,CAAE;AACvDif,YAAAA,MAAM,eAAEhkB,cAAA,CAAC4vB,MAAM,IAAE,CAAE;AACnB3b,YAAAA,IAAI,EAAC,OAAO;AACZ3c,YAAAA,KAAK,EAAE+vB,UAAW;AAClBxR,YAAAA,QAAQ,EAAE,SAAVA,QAAQA,CAAErV,KAAK,EAAA;AAAA,cAAA,OAAI4tB,aAAa,CAAC5tB,KAAK,CAAC0lB,MAAM,CAAC5uB,KAAK,CAAC;AAAA,YAAA;WACrD;AAAC,SACC,CACN;OACE;AAAC,KACM,CAAC,eACfuc,eAAA,CAAC6b,WAAK,CAACG,IAAI,EAAA;AAAA5wB,MAAAA,QAAA,EAAA,CACRq1B,UAAU,EAAE,EACZ1B,YAAY;KACH,CAAC,EACZjT,OAAO,iBACN3f,cAAA,CAAC0vB,WAAK,CAACS,MAAM,EAAA;MAAAlxB,QAAA,eACXe,cAAA,CAAC+T,iBAAM,EAAA;AACL,QAAA,aAAA,EAAY,iBAAiB;QAC7BkN,QAAQ,EAAE,CAACsS,WAAY;AACvBl8B,QAAAA,KAAK,EAAE0N,CAAC,CAAC,6BAA6B,CAAE;AACxCkP,QAAAA,IAAI,EAAC,IAAI;AACTzU,QAAAA,OAAO,EAAE6vB;OACV;AAAC,KACU,CACf;AAAA,GACD,CAAC;AAEP,CAAC;;AC/SD,IAAMqF,cAAc,GAAG,SAAjBA,cAAcA,CAAA11B,IAAA,EAAsD;AAAA,EAAA,IAAhDiE,KAAK,GAAAjE,IAAA,CAALiE,KAAK;IAAEpB,IAAI,GAAA7C,IAAA,CAAJ6C,IAAI;IAAE0C,eAAe,GAAAvF,IAAA,CAAfuF,eAAe;IAAE4R,WAAW,GAAAnX,IAAA,CAAXmX,WAAW;AACjE,EAAA,IAAA/C,eAAA,GAAcC,2BAAc,EAAE;IAAtBtO,CAAC,GAAAqO,eAAA,CAADrO,CAAC;AACT,EAAA,IAAA2V,iBAAA,GACEC,uBAAgB,EAAE;IADZvW,MAAM,GAAAsW,iBAAA,CAANtW,MAAM;IAAEwW,aAAa,GAAAF,iBAAA,CAAbE,aAAa;IAAE4M,eAAe,GAAA9M,iBAAA,CAAf8M,eAAe;IAAExE,MAAM,GAAAtI,iBAAA,CAANsI,MAAM;IAAEyE,OAAO,GAAA/M,iBAAA,CAAP+M,OAAO;AAG/D,EAAA,IAAME,UAAU,GAAG,SAAbA,UAAUA,CAAGjX,IAAI,EAAA;AAAA,IAAA,OAAIkX,YAAK,CAACH,OAAO,EAAE/W,IAAI,CAAC,IAAIkX,YAAK,CAAC5E,MAAM,EAAEtS,IAAI,CAAC;AAAA,EAAA,CAAA;AAEtE,EAAA,IAAIzN,KAAK,KAAKrG,wBAAwB,CAACC,MAAM,EAAE;IAC7C,IAAM6T,KAAI,GAAA,EAAA,CAAAvL,MAAA,CAAMtD,IAAI,EAAA,GAAA,CAAA,CAAAsD,MAAA,CAAIvI,wBAAwB,CAACC,MAAM,CAAE;IACzD,IAAM2B,QAAO,GAAGopB,YAAK,CAACxjB,MAAM,EAAEsM,KAAI,CAAC,IAAI,EAAE;IAEzC,oBACE1Q,cAAA,CAAC20B,0BAAe,EAAA;MACd7qB,QAAQ,EAAA,IAAA;AACRgf,MAAAA,KAAK,EAAEnB,UAAU,CAACjX,KAAI,CAAE;AACxBrZ,MAAAA,KAAK,EAAE0N,CAAC,CAAC,0CAA0C,CAAE;AACrDoR,MAAAA,WAAW,EAAEpR,CAAC,CAAC,4CAA4C,CAAE;AAC7DzN,MAAAA,KAAK,EAAEkH,QAAO,CAACgF,GAAG,CAAC,UAAAyjB,KAAK,EAAA;QAAA,OAAK;AAC3B5vB,UAAAA,KAAK,EAAE4vB,KAAK;AACZ3vB,UAAAA,KAAK,EAAE2vB,KAAK;AACZ2N,UAAAA,KAAK,EAAE;SACR;AAAA,MAAA,CAAC,CAAE;MACJ7L,MAAM,EAAE,SAARA,MAAMA,GAAA;AAAA,QAAA,OAAQvB,eAAe,CAAC9W,KAAI,EAAE,IAAI,CAAC;MAAA,CAAC;AAC1CmF,MAAAA,QAAQ,EAAE,SAAVA,QAAQA,CAAE2e,KAAK,EAAA;AAAA,QAAA,OAAI5Z,aAAa,CAAClK,KAAI,EAAEoN,WAAK,CAAC,OAAO,EAAE0W,KAAK,IAAI,EAAE,CAAC,CAAC;AAAA,MAAA;AAAC,KACrE,CAAC;AAEN,EAAA;EAEA,IAAM9jB,IAAI,GAAA,EAAA,CAAAvL,MAAA,CAAMtD,IAAI,EAAA,GAAA,CAAA,CAAAsD,MAAA,CAAIvI,wBAAwB,CAACtF,KAAK,CAAE;AACxD,EAAA,IAAMkH,OAAO,GAAGopB,YAAK,CAACxjB,MAAM,EAAEsM,IAAI,CAAC;AACnC,EAAA,IAAM5X,OAAO,GAAGkjB,gBAAgB,CAACzX,eAAe,CAAC;EAEjD,oBACEvE,cAAA,CAAC6oB,iBAAM,EAAA;AACC/vB,IAAAA,OAAO,EAAPA,OAAO;AAAEqd,IAAAA,WAAW,EAAXA,WAAW;IAC1BrM,QAAQ,EAAA,IAAA;AACRgf,IAAAA,KAAK,EAAEnB,UAAU,CAACjX,IAAI,CAAE;AACxBrZ,IAAAA,KAAK,EAAE0N,CAAC,CAAC,qCAAqC,CAAE;AAChDkP,IAAAA,IAAI,EAAC,OAAO;AACZ3c,IAAAA,KAAK,EAAEkH,OAAO,KAAA,IAAA,IAAPA,OAAO,KAAA,MAAA,GAAPA,OAAO,GAAI2B,SAAU;IAC5B4oB,MAAM,EAAE,SAARA,MAAMA,GAAA;AAAA,MAAA,OAAQvB,eAAe,CAAC9W,IAAI,EAAE,IAAI,CAAC;IAAA,CAAC;AAC1CmF,IAAAA,QAAQ,EAAE,SAAVA,QAAQA,CAAEve,KAAK,EAAA;AAAA,MAAA,OAAIsjB,aAAa,CAAClK,IAAI,EAAEpZ,KAAK,CAAC;AAAA,IAAA;AAAC,GAC/C,CAAC;AAEN,CAAC;;ACjCD,IAAMu9B,aAAa,GAAG,SAAhBA,aAAaA,CAAA71B,IAAA,EAAiD;AAAA,EAAA,IAAAsG,eAAA,EAAAwvB,qBAAA,EAAAnuB,iBAAA,EAAAlB,gBAAA,EAAAoX,qBAAA,EAAAnN,gBAAA,EAAAqlB,qBAAA,EAAA9X,gBAAA,EAAA+X,qBAAA,EAAA7X,gBAAA,EAAA8X,qBAAA,EAAA7X,gBAAA,EAAAK,gBAAA,EAAAyX,qBAAA,EAAAxX,gBAAA,EAAAyX,qBAAA,EAAAhvB,gBAAA,EAAAqY,gBAAA;AAAA,EAAA,IAA3Crc,MAAM,GAAAnD,IAAA,CAANmD,MAAM;IAAEqJ,OAAK,GAAAxM,IAAA,CAALwM,KAAK;IAAAqnB,kBAAA,GAAA7zB,IAAA,CAAEwjB,aAAa;AAAbA,IAAAA,aAAa,GAAAqQ,kBAAA,KAAA,MAAA,GAAG,KAAK,GAAAA,kBAAA;AAC3D,EAAA,IAAAzf,eAAA,GAAcC,2BAAc,EAAE;IAAtBtO,CAAC,GAAAqO,eAAA,CAADrO,CAAC;AACT,EAAA,IAAAme,aAAA,GAA4BzI,YAAY,CAACtY,MAAM,CAAC;IAAxC4G,IAAI,GAAAma,aAAA,CAAJna,IAAI;IAAEkS,SAAS,GAAAiI,aAAA,CAATjI,SAAS;AACvB,EAAA,IAAMkT,OAAO,GAAG/vB,YAAM,CAAC,IAAI,CAAC;AAC5B,EAAA,IAAMg3B,QAAQ,GAAGh3B,YAAM,CAAC,IAAI,CAAC;;AAE7B;EACA,IAAM0H,MAAM,GAAGiD,IAAI,CAAC3P,OAAO,CAACoS,OAAK,CAAC,IAAI,EAAE;AACxC,EAAA,IAAM9F,OAAO,GACXI,MAAM,CAACJ,OAAO,MAAAJ,eAAA,GAAInD,MAAM,CAAC/I,OAAO,MAAA,IAAA,IAAAkM,eAAA,gBAAAwvB,qBAAA,GAAdxvB,eAAA,CAAgB6B,aAAa,MAAA,IAAA,IAAA2tB,qBAAA,gBAAAA,qBAAA,GAA7BA,qBAAA,CAAAp2B,IAAA,CAAA4G,eAAA,EAAgCQ,MAAM,CAACjE,IAAI,CAAC,MAAA,IAAA,IAAAizB,qBAAA,KAAA,MAAA,GAAA,MAAA,GAA5CA,qBAAA,CAA8CpvB,OAAO,CAAA;EAEzE,IAAMwB,SAAS,IAAAP,iBAAA,GACbb,MAAM,CAACoB,SAAS,cAAAP,iBAAA,KAAA,MAAA,GAAAA,iBAAA,GAAA,CAAAlB,gBAAA,GAAItD,MAAM,CAAC/I,OAAO,MAAA,IAAA,IAAAqM,gBAAA,gBAAAoX,qBAAA,GAAdpX,gBAAA,CAAgB0B,aAAa,cAAA0V,qBAAA,KAAA,MAAA,IAAA,CAAAA,qBAAA,GAA7BA,qBAAA,CAAAne,IAAA,CAAA+G,gBAAA,EAAgCK,MAAM,CAACjE,IAAI,CAAC,cAAAgb,qBAAA,KAAA,MAAA,GAAA,MAAA,GAA5CA,qBAAA,CAA8C3V,SAAS;EAC7E,IAAMrF,IAAI,GAAA,EAAA,CAAAsD,MAAA,CAAM8V,SAAS,CAAC7hB,OAAO,EAAA,SAAA,CAAA,CAAA+L,MAAA,CAAUqG,OAAK,EAAA,WAAA,CAAW;EAE3D,IAAM6pB,MAAM,IAAA3lB,gBAAA,GAAGvN,MAAM,CAAC/I,OAAO,MAAA,IAAA,IAAAsW,gBAAA,KAAA,MAAA,IAAA,CAAAqlB,qBAAA,GAAdrlB,gBAAA,CAAgBrB,qBAAqB,MAAA,IAAA,IAAA0mB,qBAAA,KAAA,MAAA,GAAA,MAAA,GAArCA,qBAAA,CAAAr2B,IAAA,CAAAgR,gBAAA,EAAwC;AACrDhK,IAAAA,OAAO,EAAPA,OAAO;AACP7D,IAAAA,IAAI,EAAJA,IAAI;AACJiE,IAAAA,MAAM,EAANA;AACF,GAAC,CAAC;EAEF,IAAM4I,UAAU,GACd,CAAA,CAAAuO,gBAAA,GAAA9a,MAAM,CAAC/I,OAAO,MAAA,IAAA,IAAA6jB,gBAAA,KAAA,MAAA,IAAA,CAAA+X,qBAAA,GAAd/X,gBAAA,CAAgBtO,aAAa,MAAA,IAAA,IAAAqmB,qBAAA,KAAA,MAAA,GAAA,MAAA,GAA7BA,qBAAA,CAAAt2B,IAAA,CAAAue,gBAAA,EAAgCnX,MAAM,CAACjE,IAAI,CAAC,MAAA,CAAAsb,gBAAA,GAC5Chb,MAAM,CAAC/I,OAAO,MAAA,IAAA,IAAA+jB,gBAAA,KAAA,MAAA,IAAA,CAAA8X,qBAAA,GAAd9X,gBAAA,CAAgBvO,gBAAgB,MAAA,IAAA,IAAAqmB,qBAAA,KAAA,MAAA,GAAA,MAAA,GAAhCA,qBAAA,CAAAv2B,IAAA,CAAAye,gBAAA,EAAmCzX,OAAO,CAAC,CAAA;EAC7C,IAAM4vB,cAAc,GAAG,CAAA5mB,UAAU,KAAA,IAAA,IAAVA,UAAU,KAAA,MAAA,GAAA,MAAA,GAAVA,UAAU,CAAEI,IAAI,MAAKnS,cAAc;EAE1D,IAAM44B,kBAAkB,GAAGD,cAAc,GAAA,EAAA,CAAAnwB,MAAA,CAClCtD,IAAI,EAAA,GAAA,CAAA,CAAAsD,MAAA,CAAIvI,wBAAwB,CAACE,YAAY,CAAA,GAAA,EAAA,CAAAqI,MAAA,CAC7CtD,IAAI,EAAA,GAAA,CAAA,CAAAsD,MAAA,CAAIvI,wBAAwB,CAACC,MAAM,CAAE;EAChDswB,iBAAiB,CAACoI,kBAAkB,CAAC;AAErCl3B,EAAAA,eAAS,CAAC,YAAM;AAAA,IAAA,IAAA2wB,gBAAA;IACd,IAAI,CAACqG,MAAM,EAAE;AACb,IAAA,IAAMlX,KAAK,GAAA,CAAA6Q,gBAAA,GAAGb,OAAO,CAAC3vB,OAAO,MAAA,IAAA,IAAAwwB,gBAAA,uBAAfA,gBAAA,CAAiBC,aAAa,CAACvyB,4BAA4B,CAAC;AAC1E;IACA,IAAIyhB,KAAK,EAAE0F,UAAU,CAAC,YAAA;AAAA,MAAA,OAAM1F,KAAK,CAAC+Q,KAAK,EAAE;AAAA,IAAA,CAAA,EAAE,CAAC,CAAC;AAC7C;AACF,EAAA,CAAC,EAAE,CAAC,CAACmG,MAAM,CAAC,CAAC;EAEb,IAAM9mB,eAAe,GAAG,CAAC,CAAA,CAAA6O,gBAAA,GAAAjb,MAAM,CAAC/I,OAAO,MAAA,IAAA,IAAAgkB,gBAAA,KAAA,MAAA,GAAA,MAAA,GAAdA,gBAAA,CAAgBtkB,OAAO,KAAI,EAAE,EACnD0V,OAAO,CAAC,UAAA1M,MAAM,EAAA;AAAA,IAAA,OAAIA,MAAM,CAACxI,UAAU,IAAI,EAAE;EAAA,CAAA,CAAC,CAC1C6L,MAAM,CAAC,CAAA,CAAAsY,gBAAA,GAAAtb,MAAM,CAAC/I,OAAO,MAAA,IAAA,IAAAqkB,gBAAA,uBAAdA,gBAAA,CAAgBnkB,UAAU,KAAI,EAAE,CAAC,CACxC8I,IAAI,CAAC,UAAAiI,IAAI,EAAA;AAAA,IAAA,IAAAF,WAAA;AAAA,IAAA,OAAI,CAAA,CAAAA,WAAA,GAACE,IAAI,CAAC/S,KAAK,MAAA,IAAA,IAAA6S,WAAA,KAAA,MAAA,GAAAA,WAAA,GAAIE,IAAI,CAACrI,EAAE,MAAMkF,SAAS;EAAA,CAAA,CAAC;AAEtD,EAAA,IAAMsuB,qBAAqB,GAAGjnB,eAAe,KAAA,IAAA,IAAfA,eAAe,KAAA,MAAA,IAAfA,eAAe,CAAEtL,KAAK,gBAClDjD,cAAA,CAAC00B,cAAc,EAAA;AACP7yB,IAAAA,IAAI,EAAJA,IAAI;IACV0C,eAAe,EAAEgK,eAAe,CAAChK,eAAgB;IACjDtB,KAAK,EAAEsL,eAAe,CAACtL,KAAM;IAC7BkT,WAAW,EAAE5H,eAAe,CAAC4H;GAC9B,CAAC,GACA,IAAI;EAER,IAAMsf,cAAc,GAAA,CAAAP,qBAAA,GAAA,CAAAxX,gBAAA,GAClBvb,MAAM,CAAC/I,OAAO,MAAA,IAAA,IAAAskB,gBAAA,KAAA,MAAA,IAAA,CAAAyX,qBAAA,GAAdzX,gBAAA,CAAgBpP,oBAAoB,MAAA,IAAA,IAAA6mB,qBAAA,KAAA,MAAA,GAAA,MAAA,GAApCA,qBAAA,CAAAz2B,IAAA,CAAAgf,gBAAA,EAAuC;AACrChY,IAAAA,OAAO,EAAPA,OAAO;AACPwB,IAAAA,SAAS,EAATA,SAAS;AACTrF,IAAAA,IAAI,EAAJA,IAAI;AACJiE,IAAAA,MAAM,EAANA;AACF,GAAC,CAAC,MAAA,IAAA,IAAAovB,qBAAA,KAAA,MAAA,GAAAA,qBAAA,GAAIM,qBAAqB;AAE7B,EAAA,IAAMxqB,UAAU,GAAGsqB,cAAc,gBAC/Bt1B,cAAA,CAAC01B,sBAAgB,EAAA;IACf7zB,IAAI,EAAA,EAAA,CAAAsD,MAAA,CAAKtD,IAAI,EAAA,GAAA,CAAA,CAAAsD,MAAA,CAAIvI,wBAAwB,CAACE,YAAY,CAAG;IACzDA,YAAY,EAAA,CAAAqJ,gBAAA,GAAEL,MAAM,CAAC5B,QAAQ,MAAA,IAAA,IAAAiC,gBAAA,KAAA,MAAA,GAAA,MAAA,GAAfA,gBAAA,CAAiBrJ;GAChC,CAAC,GACA,IAAI;AAER,EAAA,IAAM64B,UAAU,GAAG3qB,UAAU,IAAIyqB,cAAc;AAC/C,EAAA,IAAM7C,YAAY,GAAG+C,UAAU,gBAC7B31B,cAAA,CAAA,KAAA,EAAA;AAAKP,IAAAA,SAAS,EAAC,MAAM;AAACtB,IAAAA,GAAG,EAAEi3B,QAAS;AAAAn2B,IAAAA,QAAA,EACjC02B;GACE,CAAC,GACJ,IAAI;AAERt3B,EAAAA,eAAS,CAAC,YAAM;AACd,IAAA,IAAI,CAACs3B,UAAU,EAAE,OAAOx1B,SAAS;IACjC,IAAMyjB,KAAK,GAAGC,UAAU,CACtB,YAAA;AAAA,MAAA,IAAA+R,iBAAA;MAAA,OAAA,CAAAA,iBAAA,GACER,QAAQ,CAAC52B,OAAO,MAAA,IAAA,IAAAo3B,iBAAA,KAAA,MAAA,IAAA,CAAAA,iBAAA,GAAhBA,iBAAA,CAAkB3G,aAAa,CAACvyB,4BAA4B,CAAC,MAAA,IAAA,IAAAk5B,iBAAA,uBAA7DA,iBAAA,CAA+D1G,KAAK,EAAE;AAAA,IAAA,CAAA,EACxE,CACF,CAAC;IAED,OAAO,YAAA;MAAA,OAAMpL,YAAY,CAACF,KAAK,CAAC;AAAA,IAAA,CAAA;AAChC;AACF,EAAA,CAAC,EAAE,CAAC,CAAC,CAAC+R,UAAU,CAAC,CAAC;EAElB,IAAI,CAACN,MAAM,EAAE;IACX,oBACEr1B,cAAA,CAAC0yB,WAAW,EAAA;AACJE,MAAAA,YAAY,EAAZA,YAAY;AAAEpQ,MAAAA,aAAa,EAAbA,aAAa;AAAEhX,MAAAA,KAAK,EAALA,OAAK;AAAErJ,MAAAA,MAAM,EAANA,MAAM;MAChDoY,MAAM,EAAEnf,eAAe,CAACU;AAAiB,KAC1C,CAAC;AAEN,EAAA;;AAEA;EACA,IAAMmI,IAAI,GAAG,CAAA,CAAAua,gBAAA,GAAArc,MAAM,CAAC/I,OAAO,MAAA,IAAA,IAAAolB,gBAAA,KAAA,MAAA,IAAA,CAAAA,gBAAA,GAAdA,gBAAA,CAAgBnlB,WAAW,MAAA,IAAA,IAAAmlB,gBAAA,KAAA,MAAA,GAAA,MAAA,GAA3BA,gBAAA,CAA8B9Y,OAAO,CAAC,KAAI,EAAE;EAEzD,oBACEmO,eAAA,CAAAC,mBAAA,EAAA;AAAA7U,IAAAA,QAAA,EAAA,cACEe,cAAA,CAAC0vB,WAAK,CAACC,MAAM,EAAA;AAAA1wB,MAAAA,QAAA,eACX4U,eAAA,CAAA,KAAA,EAAA;AAAKpU,QAAAA,SAAS,EAAC,8BAA8B;QAAAR,QAAA,EAAA,cAC3Ce,cAAA,CAACkoB,qBAAU,EAAA;AAAC,UAAA,aAAA,EAAY,YAAY;AAAChU,UAAAA,OAAO,EAAC,IAAI;AAAAjV,UAAAA,QAAA,EAC9CgF,IAAI,CAACqE,cAAc,IAClBvD,CAAC,CAAC,yCAAyC;AAAC,SACpC,CAAC,eACb/E,cAAA,CAACkoB,qBAAU,EAAA;AAACC,UAAAA,KAAK,EAAC,OAAO;AAACjU,UAAAA,OAAO,EAAC,OAAO;AAAAjV,UAAAA,QAAA,EACtCgF,IAAI,CAACsE,iBAAiB,IACrBxD,CAAC,CAAC,4CAA4C;AAAC,SACvC,CAAC;OACV;AAAC,KACM,CAAC,eACf/E,cAAA,CAAC0vB,WAAK,CAACG,IAAI,EAAA;AAAA5wB,MAAAA,QAAA,eACTe,cAAA,CAAA,KAAA,EAAA;AAAK7B,QAAAA,GAAG,EAAEgwB,OAAQ;AAAAlvB,QAAAA,QAAA,EAAEo2B;OAAY;AAAC,KACvB,CAAC;AAAA,GACb,CAAC;AAEP,CAAC;;ACxHD,IAAMQ,oBAAoB,GAAG,SAAvBA,oBAAoBA,CAAA72B,IAAA,EAAyC;AAAA,EAAA,IAAnC6C,IAAI,GAAA7C,IAAA,CAAJ6C,IAAI;IAAEoB,KAAK,GAAAjE,IAAA,CAALiE,KAAK;IAAAmkB,eAAA,GAAApoB,IAAA,CAAEqoB,UAAU;AAAVA,IAAAA,UAAU,GAAAD,eAAA,KAAA,MAAA,GAAG,EAAE,GAAAA,eAAA;AAC1D,EAAA,IAAAhU,eAAA,GAAcC,2BAAc,EAAE;IAAtBtO,CAAC,GAAAqO,eAAA,CAADrO,CAAC;AACT,EAAA,IAAA2V,iBAAA,GACEC,uBAAgB,EAAE;IADZvW,MAAM,GAAAsW,iBAAA,CAANtW,MAAM;IAAEwW,aAAa,GAAAF,iBAAA,CAAbE,aAAa;IAAE4M,eAAe,GAAA9M,iBAAA,CAAf8M,eAAe;IAAExE,MAAM,GAAAtI,iBAAA,CAANsI,MAAM;IAAEyE,OAAO,GAAA/M,iBAAA,CAAP+M,OAAO;EAG/D,IAAM3Y,IAAI,GAAG7L,KAAK,KAAA,IAAA,IAALA,KAAK,KAAA,MAAA,GAAA,MAAA,GAALA,KAAK,CAAE6L,IAAI;EACxB,IAAMgnB,SAAS,GAAG,CAAA7yB,KAAK,KAAA,IAAA,IAALA,KAAK,KAAA,MAAA,GAAA,MAAA,GAALA,KAAK,CAAE6yB,SAAS,KAAIhnB,IAAI;AAC1C,EAAA,IAAM4Y,SAAS,GAAA,EAAA,CAAAviB,MAAA,CAAMtD,IAAI,EAAA,iBAAA,CAAiB;AAC1C,EAAA,IAAMk0B,UAAU,GAAA,EAAA,CAAA5wB,MAAA,CAAMtD,IAAI,EAAA,kBAAA,CAAkB;AAC5C,EAAA,IAAMm0B,WAAW,GAAGha,gBAAgB,CAClC,CAAA/Y,KAAK,KAAA,IAAA,IAALA,KAAK,KAAA,MAAA,GAAA,MAAA,GAALA,KAAK,CAAEmB,MAAM,MAAInB,KAAK,KAAA,IAAA,IAALA,KAAK,KAAA,MAAA,GAAA,MAAA,GAALA,KAAK,CAAEsB,eAAe,CAAA,KAAItB,KAAK,KAAA,IAAA,IAALA,KAAK,KAAA,MAAA,GAAA,MAAA,GAALA,KAAK,CAAEnK,OAAO,CAC3D,CAAC;AAED,EAAA,IAAM6uB,UAAU,GAAG,SAAbA,UAAUA,CAAGjX,IAAI,EAAA;AAAA,IAAA,OAAIkX,YAAK,CAACH,OAAO,EAAE/W,IAAI,CAAC,IAAIkX,YAAK,CAAC5E,MAAM,EAAEtS,IAAI,CAAC;AAAA,EAAA,CAAA;EAEtE,IAAMmX,IAAI,GAAGR,UAAU,CAACvmB,IAAI,EAAE,CAACU,WAAW,EAAE;AAC5C,EAAA,IAAMsmB,aAAa,GAAG,SAAhBA,aAAaA,CAAGlW,IAAI,EAAA;AAAA,IAAA,OACxBiW,IAAI,GACAjW,IAAI,CAACG,MAAM,CAAC,UAAAjQ,MAAM,EAAA;AAAA,MAAA,OAAIlB,MAAM,CAACkB,MAAM,CAACzK,KAAK,CAAC,CAACmK,WAAW,EAAE,CAACP,QAAQ,CAAC4mB,IAAI,CAAC;AAAA,IAAA,CAAA,CAAC,GACxEjW,IAAI;AAAA,EAAA,CAAA;EAEV,IAAMyW,SAAS,gBACbroB,cAAA,CAAA,KAAA,EAAA;AAAKP,IAAAA,SAAS,EAAC,eAAe;AAAC,IAAA,aAAA,EAAY,iBAAiB;IAAAR,QAAA,EACzD8F,CAAC,CAAC,8BAA8B;AAAC,GAC/B,CACN;EAED,IAAI+J,IAAI,KAAKiY,qBAAqB,CAACT,WAAW,IAAI7hB,oBAAU,CAACuxB,WAAW,CAAC,EAAE;IACzE,IAAMx3B,OAAO,GAAGopB,YAAK,CAACxjB,MAAM,EAAE2xB,UAAU,CAAC,IAAI,EAAE;AAC/C,IAAA,IAAM1M,QAAQ,GAAGvB,aAAa,CAACkO,WAAW,CAAC;IAC3C,IAAInO,IAAI,IAAIvjB,aAAO,CAAC+kB,QAAQ,CAAC,EAAE,OAAOhB,SAAS;AAE/C,IAAA,IAAMiB,MAAM,GAAG,SAATA,MAAMA,CAAGhyB,KAAK,EAAI;AACtBkwB,MAAAA,eAAe,CAACuO,UAAU,EAAE,IAAI,CAAC;AACjCnb,MAAAA,aAAa,CACXmb,UAAU,EACVv3B,OAAO,CAACyC,QAAQ,CAAC3J,KAAK,CAAC,GACnBkH,OAAO,CAACuT,MAAM,CAACwX,eAAK,CAACjyB,KAAK,CAAC,CAAC,GAAA,EAAA,CAAA6N,MAAA,CAAA0J,kBAAA,CACxBrQ,OAAO,CAAA,EAAA,CAAElH,KAAK,CAAA,CACxB,CAAC;IACH,CAAC;AAED,IAAA,oBACEuc,eAAA,CAAA,KAAA,EAAA;AAAKpU,MAAAA,SAAS,EAAC,4BAA4B;AAAAR,MAAAA,QAAA,GACxCoqB,QAAQ,CAAC7lB,GAAG,CAAC,UAAA1B,MAAM,EAAA;QAAA,oBAClB9B,cAAA,CAACwpB,mBAAQ,EAAA;UACP7T,OAAO,EAAEnX,OAAO,CAACyC,QAAQ,CAACa,MAAM,CAACxK,KAAK,CAAE;UAExCD,KAAK,EAAEyK,MAAM,CAACzK,KAAM;UACpBoyB,eAAe,EAAE,SAAjBA,eAAeA,GAAA;AAAA,YAAA,OAAQH,MAAM,CAACxnB,MAAM,CAACxK,KAAK,CAAC;AAAA,UAAA;SAAC,EAFvCwK,MAAM,CAACxK,KAGb,CAAC;MAAA,CACH,CAAC,EACDqwB,UAAU,CAACoO,UAAU,CAAC,iBACrB/1B,cAAA,CAACkoB,qBAAU,EAAA;AAACC,QAAAA,KAAK,EAAC,aAAa;AAACjU,QAAAA,OAAO,EAAC,OAAO;QAAAjV,QAAA,EAC5C0oB,UAAU,CAACoO,UAAU;AAAC,OACb,CACb;AAAA,KACE,CAAC;AAEV,EAAA;AAEA,EAAA,IAAIjnB,IAAI,KAAKiY,qBAAqB,CAACT,WAAW,EAAE;IAC9C,oBACEtmB,cAAA,CAACkoB,qBAAU,EAAA;AAACC,MAAAA,KAAK,EAAC,OAAO;AAACjU,MAAAA,OAAO,EAAC,OAAO;AAAAjV,MAAAA,QAAA,EACtCgE,KAAK,KAAA,IAAA,IAALA,KAAK,KAAA,MAAA,IAALA,KAAK,CAAE5L,KAAK,GACT0N,CAAC,CAAC,wCAAwC,EAAE;QAAE9B,KAAK,EAAEA,KAAK,CAAC5L;AAAM,OAAC,CAAC,GACnE0N,CAAC,CAAC,qCAAqC;AAAC,KAClC,CAAC;AAEjB,EAAA;AAEA,EAAA,IAAI+J,IAAI,KAAKiY,qBAAqB,CAACC,iBAAiB,EAAE;IACpD,IAAMxoB,QAAO,GAAGopB,YAAK,CAACxjB,MAAM,EAAE2xB,UAAU,CAAC,IAAI,EAAE;IAE/C,oBACE/1B,cAAA,CAAC6oB,iBAAM,EAAA;MACLiJ,SAAS,EAAA,IAAA;MACTmE,WAAW,EAAA,IAAA;MACXC,OAAO,EAAA,IAAA;MACPpsB,QAAQ,EAAA,IAAA;AACRgf,MAAAA,KAAK,EAAEnB,UAAU,CAACoO,UAAU,CAAE;AAC9B1+B,MAAAA,KAAK,EAAE0N,CAAC,CAAC,oCAAoC,CAAE;AAC/CoR,MAAAA,WAAW,EAAEpR,CAAC,CAAC,+CAA+C,CAAE;AAChEkP,MAAAA,IAAI,EAAC,OAAO;AACZ3c,MAAAA,KAAK,EAAEkH,QAAQ;MACfuqB,MAAM,EAAE,SAARA,MAAMA,GAAA;AAAA,QAAA,OAAQvB,eAAe,CAACuO,UAAU,EAAE,IAAI,CAAC;MAAA,CAAC;AAChDlgB,MAAAA,QAAQ,EAAE,SAAVA,QAAQA,CAAE0L,QAAQ,EAAA;AAAA,QAAA,OAAI3G,aAAa,CAACmb,UAAU,EAAExU,QAAQ,IAAI,EAAE,CAAC;AAAA,MAAA;AAAC,KACjE,CAAC;AAEN,EAAA;AAEA,EAAA,IAAI9c,oBAAU,CAACuxB,WAAW,CAAC,EAAE;AAC3B,IAAA,IAAMx3B,SAAO,GAAGopB,YAAK,CAACxjB,MAAM,EAAEsjB,SAAS,CAAC;AACxC,IAAA,IAAM2B,SAAQ,GAAGvB,aAAa,CAACkO,WAAW,CAAC;IAC3C,IAAInO,IAAI,IAAIvjB,aAAO,CAAC+kB,SAAQ,CAAC,EAAE,OAAOhB,SAAS;IAE/C,oBACEroB,cAAA,CAAC0pB,qBAAU,EAAA;AACTZ,MAAAA,KAAK,EAAEnB,UAAU,CAACD,SAAS,CAAE;AAC7BiC,MAAAA,WAAW,EAAC,UAAU;MACtBryB,KAAK,EAAEsJ,MAAM,CAACpC,SAAO,KAAA,IAAA,IAAPA,SAAO,KAAA,MAAA,GAAPA,SAAO,GAAI,EAAE,CAAE;AAC7BorB,MAAAA,aAAa,EAAE,SAAfA,aAAaA,CAAEtyB,KAAK,EAAA;AAAA,QAAA,OAAIsjB,aAAa,CAAC8M,SAAS,EAAEpwB,KAAK,CAAC;MAAA,CAAC;AAAA2H,MAAAA,QAAA,EAEvDoqB,SAAQ,CAAC7lB,GAAG,CAAC,UAAA1B,MAAM,EAAA;AAAA,QAAA,oBAClB9B,cAAA,CAAC0pB,qBAAU,CAACI,IAAI,EAAA;UAEdzyB,KAAK,EAAEuJ,MAAM,CAACkB,MAAM,CAACzK,KAAK,CAAC,CAACmK,WAAW,EAAG;AAC1ClK,UAAAA,KAAK,EAAEsJ,MAAM,CAACkB,MAAM,CAACxK,KAAK;SAAE,EAFvBwK,MAAM,CAACxK,KAGb,CAAC;MAAA,CACH;AAAC,KACQ,CAAC;AAEjB,EAAA;AAEA,EAAA,IAAIw+B,SAAS,KAAK/O,qBAAqB,CAACL,MAAM,EAAE;AAAA,IAAA,IAAA8B,MAAA;IAC9C,oBACExoB,cAAA,CAACipB,gBAAK,EAAA;MACJ6I,SAAS,EAAA,IAAA;MACThoB,QAAQ,EAAA,IAAA;AACRgf,MAAAA,KAAK,EAAEnB,UAAU,CAACD,SAAS,CAAE;AAC7BrwB,MAAAA,KAAK,EAAE0N,CAAC,CAAC,yBAAyB,CAAE;AACpCkP,MAAAA,IAAI,EAAC,OAAO;AACZnF,MAAAA,IAAI,EAAC,QAAQ;AACbxX,MAAAA,KAAK,EAAA,CAAAkxB,MAAA,GAAEZ,YAAK,CAACxjB,MAAM,EAAEsjB,SAAS,CAAC,MAAA,IAAA,IAAAc,MAAA,KAAA,MAAA,GAAAA,MAAA,GAAI,EAAG;MACtCO,MAAM,EAAE,SAARA,MAAMA,GAAA;AAAA,QAAA,OAAQvB,eAAe,CAACE,SAAS,EAAE,IAAI,CAAC;MAAA,CAAC;AAC/C7R,MAAAA,QAAQ,EAAE,SAAVA,QAAQA,CAAErV,KAAK,EAAA;QAAA,OACboa,aAAa,CACX8M,SAAS,EACTlnB,KAAK,CAAC0lB,MAAM,CAAC5uB,KAAK,KAAK,EAAE,GAAG,EAAE,GAAG6U,MAAM,CAAC3L,KAAK,CAAC0lB,MAAM,CAAC5uB,KAAK,CAC5D,CAAC;AAAA,MAAA;AACF,KACF,CAAC;AAEN,EAAA;EAEA,oBACE0I,cAAA,CAACm2B,cAAW,EAAA;IACVrE,SAAS,EAAA,IAAA;IACThoB,QAAQ,EAAA,IAAA;AACRzS,IAAAA,KAAK,EAAE0N,CAAC,CAAC,yBAAyB,CAAE;AACpClD,IAAAA,IAAI,EAAE6lB,SAAU;AAChBzT,IAAAA,IAAI,EAAC,OAAO;IACZnF,IAAI,EAAEgnB,SAAS,KAAK/O,qBAAqB,CAACE,KAAK,GAAG,OAAO,GAAG,MAAO;IACnE9Q,WAAW,EACT,CAAAlT,KAAK,KAAA,IAAA,IAALA,KAAK,KAAA,MAAA,GAAA,MAAA,GAALA,KAAK,CAAEkT,WAAW,MACjB2f,SAAS,KAAK/O,qBAAqB,CAACE,KAAK,GACtCliB,CAAC,CAAC,wCAAwC,CAAC,GAC3C5E,SAAS;AACd,GACF,CAAC;AAEN,CAAC;;ACxJD,IAAMi2B,SAAS,GAAG,SAAZA,SAASA,CAAAp3B,IAAA,EAA0B;AAAA,EAAA,IAAAgE,kBAAA;AAAA,EAAA,IAApBb,MAAM,GAAAnD,IAAA,CAANmD,MAAM;IAAEqJ,OAAK,GAAAxM,IAAA,CAALwM,KAAK;AAChC,EAAA,IAAA4H,eAAA,GAAcC,2BAAc,EAAE;IAAtBtO,CAAC,GAAAqO,eAAA,CAADrO,CAAC;AACT,EAAA,IAAA2V,iBAAA,GAA0BC,uBAAgB,EAAE;IAApCC,aAAa,GAAAF,iBAAA,CAAbE,aAAa;AACrB,EAAA,IAAAsI,aAAA,GAA4BzI,YAAY,CAACtY,MAAM,CAAC;IAAxC4G,IAAI,GAAAma,aAAA,CAAJna,IAAI;IAAEkS,SAAS,GAAAiI,aAAA,CAATjI,SAAS;AAEvB,EAAA,IAAAhe,SAAA,GAAoCC,cAAQ,CAAC,EAAE,CAAC;IAAAC,UAAA,GAAAC,cAAA,CAAAH,SAAA,EAAA,CAAA,CAAA;AAAzCoqB,IAAAA,UAAU,GAAAlqB,UAAA,CAAA,CAAA,CAAA;AAAEixB,IAAAA,aAAa,GAAAjxB,UAAA,CAAA,CAAA,CAAA;AAChC,EAAA,IAAM41B,SAAS,GAAG30B,YAAM,CAAC,IAAI,CAAC;;AAE9B;EACA,IAAMgF,SAAS,GAAG2F,IAAI,CAAC9P,UAAU,CAACuS,OAAK,CAAC,IAAI,EAAE;EAC9C,IAAMvI,KAAK,GAAG,CAAC,CAAA,CAAAD,kBAAA,GAAAb,MAAM,CAAClJ,UAAU,MAAA,IAAA,IAAA+J,kBAAA,KAAA,MAAA,GAAA,MAAA,GAAjBA,kBAAA,CAAmB9J,MAAM,KAAI,EAAE,EAAEkJ,IAAI,CAClD,UAAAS,SAAS,EAAA;AAAA,IAAA,OAAIkZ,WAAW,CAAClZ,SAAS,CAAC,KAAKO,SAAS,CAACH,KAAK;AAAA,EAAA,CACzD,CAAC;EACD,IAAMorB,IAAI,GAAA,EAAA,CAAAlpB,MAAA,CAAM8V,SAAS,CAAChiB,UAAU,EAAA,SAAA,CAAA,CAAAkM,MAAA,CAAUqG,OAAK,CAAE;AAErD2hB,EAAAA,iBAAiB,CAAA,EAAA,CAAAhoB,MAAA,CAAIkpB,IAAI,cAAW,CAAC;AAErC,EAAA,IAAM2H,WAAW,GAAGha,gBAAgB,CAClC,CAAA/Y,KAAK,KAAA,IAAA,IAALA,KAAK,KAAA,MAAA,GAAA,MAAA,GAALA,KAAK,CAAEmB,MAAM,MAAInB,KAAK,KAAA,IAAA,IAALA,KAAK,KAAA,MAAA,GAAA,MAAA,GAALA,KAAK,CAAEsB,eAAe,CAAA,KAAItB,KAAK,KAAA,IAAA,IAALA,KAAK,KAAA,MAAA,GAAA,MAAA,GAALA,KAAK,CAAEnK,OAAO,CAC3D,CAAC;AAED,EAAA,IAAM01B,UAAU,GAAGwH,WAAW,CAAC/qB,MAAM,IAAI1O,qBAAqB;AAE9D,EAAA,IAAM+3B,UAAU,GAAG,SAAbA,UAAUA,GAAS;AAAA,IAAA,IAAA/wB,mBAAA;IACvB,IAAA,CAAAA,mBAAA,GAAIpB,MAAM,CAAClJ,UAAU,MAAA,IAAA,IAAAsK,mBAAA,KAAA,MAAA,IAAjBA,mBAAA,CAAmB8yB,WAAW,EAAE;AAClC,MAAA,OAAOl0B,MAAM,CAAClJ,UAAU,CAACo9B,WAAW,CAAC;AACnCx0B,QAAAA,IAAI,EAAEwsB,IAAI;AACVjrB,QAAAA,SAAS,EAATA,SAAS;AACTH,QAAAA,KAAK,EAALA,KAAK;AACL2X,QAAAA,aAAa,EAAbA,aAAa;AACbyM,QAAAA,UAAU,EAAVA;AACF,OAAC,CAAC;AACJ,IAAA;IAEA,oBAAOrnB,cAAA,CAAC61B,oBAAoB,EAAA;AAAO5yB,MAAAA,KAAK,EAALA,KAAK;AAAEokB,MAAAA,UAAU,EAAVA,UAAU;AAAIxlB,MAAAA,IAAI,EAAEwsB;AAAK,KAAE,CAAC;EACxE,CAAC;EAED,oBACExa,eAAA,CAAAC,mBAAA,EAAA;AAAA7U,IAAAA,QAAA,EAAA,cACEe,cAAA,CAAC0vB,WAAK,CAACC,MAAM,EAAA;AAAA1wB,MAAAA,QAAA,eACX4U,eAAA,CAAA,KAAA,EAAA;AAAKpU,QAAAA,SAAS,EAAC,8BAA8B;QAAAR,QAAA,EAAA,cAC3Ce,cAAA,CAACkoB,qBAAU,EAAA;AAAC,UAAA,aAAA,EAAY,YAAY;AAAChU,UAAAA,OAAO,EAAC,IAAI;AAAAjV,UAAAA,QAAA,EAC9C8F,CAAC,CAAC,8BAA8B,EAAE;AACjC9B,YAAAA,KAAK,EAAE,CAAAA,KAAK,KAAA,IAAA,IAALA,KAAK,KAAA,MAAA,GAAA,MAAA,GAALA,KAAK,CAAE5L,KAAK,KAAI0N,CAAC,CAAC,8BAA8B;WACxD;AAAC,SACQ,CAAC,eACb/E,cAAA,CAACkoB,qBAAU,EAAA;AAACC,UAAAA,KAAK,EAAC,OAAO;AAACjU,UAAAA,OAAO,EAAC,OAAO;UAAAjV,QAAA,EACtC,CAAAgE,KAAK,KAAA,IAAA,IAALA,KAAK,uBAALA,KAAK,CAAEqzB,aAAa,MAClBl1B,gBAAgB,CAACgC,SAAS,KAAA,IAAA,IAATA,SAAS,KAAA,MAAA,GAAA,MAAA,GAATA,SAAS,CAAEpC,IAAI,CAAC,GAC9B+D,CAAC,CAAC,mCAAmC,EAAE;AACrC9B,YAAAA,KAAK,EAAE,CAAAA,KAAK,KAAA,IAAA,IAALA,KAAK,KAAA,MAAA,GAAA,MAAA,GAALA,KAAK,CAAE5L,KAAK,KAAI0N,CAAC,CAAC,8BAA8B;AACzD,WAAC,CAAC,GACFA,CAAC,CAAC,kCAAkC,CAAC;AAAC,SAClC,CAAC,EACZypB,UAAU,iBACTxuB,cAAA,CAAA,KAAA,EAAA;AAAKP,UAAAA,SAAS,EAAC,gBAAgB;AAACtB,UAAAA,GAAG,EAAE40B,SAAU;UAAA9zB,QAAA,eAC7Ce,cAAA,CAACipB,gBAAK,EAAA;AACJvpB,YAAAA,UAAU,EAAC,aAAa;AACxByW,YAAAA,WAAW,EAAEpR,CAAC,CAAC,sCAAsC,CAAE;AACvDif,YAAAA,MAAM,eAAEhkB,cAAA,CAAC4vB,MAAM,IAAE,CAAE;AACnB3b,YAAAA,IAAI,EAAC,OAAO;AACZ3c,YAAAA,KAAK,EAAE+vB,UAAW;AAClBxR,YAAAA,QAAQ,EAAE,SAAVA,QAAQA,CAAErV,KAAK,EAAA;AAAA,cAAA,OAAI4tB,aAAa,CAAC5tB,KAAK,CAAC0lB,MAAM,CAAC5uB,KAAK,CAAC;AAAA,YAAA;WACrD;AAAC,SACC,CACN;OACE;AAAC,KACM,CAAC,eACf0I,cAAA,CAAC0vB,WAAK,CAACG,IAAI,EAAA;MAAA5wB,QAAA,EAAEq1B,UAAU;AAAE,KAAa,CAAC;AAAA,GACvC,CAAC;AAEP,CAAC;;;AC7EM,IAAMiC,6BAA6B,IAAAC,qBAAA,GAAA,EAAA,EAAAr6B,eAAA,CAAAA,eAAA,CAAAA,eAAA,CAAAA,eAAA,CAAAA,eAAA,CAAAA,eAAA,CAAAA,eAAA,CAAAA,eAAA,CAAAA,eAAA,CAAAA,eAAA,CAAAq6B,qBAAA,EACvCp8B,mBAAmB,CAACC,OAAO,EAAG;AAAEgjB,EAAAA,SAAS,EAAEqV;AAAY,CAAC,CAAA,EACxDt4B,mBAAmB,CAACE,KAAK,EAAG;AAAE+iB,EAAAA,SAAS,EAAEqV;AAAY,CAAC,CAAA,EACtDt4B,mBAAmB,CAACG,eAAe,EAAG;AAAE8iB,EAAAA,SAAS,EAAEqV;AAAY,CAAC,CAAA,EAChEt4B,mBAAmB,CAACI,QAAQ,EAAG;AAAE6iB,EAAAA,SAAS,EAAEqV;AAAY,CAAC,CAAA,EACzDt4B,mBAAmB,CAACK,SAAS,EAAG;AAAE4iB,EAAAA,SAAS,EAAEqV;AAAY,CAAC,CAAA,EAC1Dt4B,mBAAmB,CAACO,cAAc,EAAG;AAAE0iB,EAAAA,SAAS,EAAEqV;AAAY,CAAC,CAAA,EAC/Dt4B,mBAAmB,CAACU,SAAS,EAAG;AAAEuiB,EAAAA,SAAS,EAAEwX;AAAc,CAAC,CAAA,EAC5Dz6B,mBAAmB,CAACM,eAAe,EAAG;AAAE2iB,EAAAA,SAAS,EAAE+Y;AAAU,CAAC,CAAA,EAC9Dh8B,mBAAmB,CAACQ,aAAa,EAAG;AAAEyiB,EAAAA,SAAS,EAAEwQ;AAAW,CAAC,CAAA,EAC7DzzB,mBAAmB,CAACS,WAAW,EAAG;AAAEwiB,EAAAA,SAAS,EAAEqV;AAAY,CAAC,GAAAv2B,eAAA,CAAAA,eAAA,CAAAA,eAAA,CAAAA,eAAA,CAAAA,eAAA,CAAAq6B,qBAAA,EAC5Dp8B,mBAAmB,CAACW,KAAK,EAAG;AAAEsiB,EAAAA,SAAS,EAAE+S;AAAU,CAAC,CAAA,EACpDh2B,mBAAmB,CAACY,SAAS,EAAG;AAAEqiB,EAAAA,SAAS,EAAE+U;AAAa,CAAC,CAAA,EAC3Dh4B,mBAAmB,CAACa,IAAI,EAAG;AAAEoiB,EAAAA,SAAS,EAAEoV;AAAS,CAAC,CAAA,EAClDr4B,mBAAmB,CAACc,KAAK,EAAG;AAAEmiB,EAAAA,SAAS,EAAEqV;AAAY,CAAC,CAAA,EACtDt4B,mBAAmB,CAACe,iBAAiB,EAAG;AAAEkiB,EAAAA,SAAS,EAAEqV;AAAY,CAAC,CAAA,CACpE;;;;ACOD,IAAM+D,IAAI,GAAG,SAAPA,IAAIA,CAAAz3B,IAAA,EAYJ;EAAA,IAAA6jB,qBAAA,EAAAC,YAAA;AAAA,EAAA,IAAA1I,SAAA,GAAApb,IAAA,CAXJqb,IAAI;AAAJA,IAAAA,IAAI,GAAAD,SAAA,KAAA,MAAA,GAAG,EAAE,GAAAA,SAAA;IAAAsc,WAAA,GAAA13B,IAAA,CACTmD,MAAM;AAAEmL,IAAAA,SAAS,GAAAopB,WAAA,KAAA,MAAA,GAAG,EAAE,GAAAA,WAAA;IACGC,GAAG,GAAA33B,IAAA,CAA5B43B,uBAAuB;IACvB1d,KAAK,GAAAla,IAAA,CAALka,KAAK;IAAA2d,gBAAA,GAAA73B,IAAA,CACL83B,WAAW;AAAXA,IAAAA,WAAW,GAAAD,gBAAA,KAAA,MAAA,GAAG,EAAE,GAAAA,gBAAA;IAAAE,cAAA,GAAA/3B,IAAA,CAChBg4B,SAAS;AAATA,IAAAA,SAAS,GAAAD,cAAA,KAAA,MAAA,GAAG,KAAK,GAAAA,cAAA;IACjBt3B,SAAS,GAAAT,IAAA,CAATS,SAAS;IAAAw3B,iBAAA,GAAAj4B,IAAA,CACTk4B,YAAY;AAAZA,IAAAA,YAAY,GAAAD,iBAAA,KAAA,MAAA,GAAGE,cAAI,GAAAF,iBAAA;IAAAG,iBAAA,GAAAp4B,IAAA,CACnBq4B,YAAY;AAAZA,IAAAA,YAAY,GAAAD,iBAAA,KAAA,MAAA,GAAGD,cAAI,GAAAC,iBAAA;IAAAE,eAAA,GAAAt4B,IAAA,CACnBu4B,UAAU;AAAVA,IAAAA,UAAU,GAAAD,eAAA,KAAA,MAAA,GAAG,MAAM,GAAAA,eAAA;IAAAE,qBAAA,GAAAx4B,IAAA,CACnBy4B,wBAAwB;AAAxBA,IAAAA,wBAAwB,GAAAD,qBAAA,KAAA,MAAA,GAAG,KAAK,GAAAA,qBAAA;AAEhC,EAAA,IAAApkB,eAAA,GAAcC,2BAAc,EAAE;IAAtBtO,CAAC,GAAAqO,eAAA,CAADrO,CAAC;AAET,EAAA,IAAM2yB,SAAS,GAAGt5B,YAAM,CAAC,IAAI,CAAC;AAC9B,EAAA,IAAMu5B,OAAO,GAAGv5B,YAAM,CAAC,IAAI,CAAC;AAE5B,EAAA,IAAAw5B,mBAAA,GAAAC,qCAAA,CAAA/d,kBAAA,WAAAC,KAAA,EAAA;AAAA,MAAA,OAAA;AAAQ+d,QAAAA,UAAU,EAAA/d,KAAA,CAAA,YAAA;AAAA,OAAA;AAAA,IAAA,CAAA,CAAA,CAAA;IAAV+d,UAAU,GAAAF,mBAAA,CAAVE,UAAU;AAClB,EAAA,IAAAle,gBAAA,GAAAC,+BAAA,CAAAC,kBAAA,WAAAC,KAAA,EAAA;AAAA,MAAA,OAAA;AAAQE,QAAAA,eAAe,EAAAF,KAAA,CAAA,iBAAA,CAAA;AAAEge,QAAAA,WAAW,EAAAhe,KAAA,CAAA,aAAA;AAAA,OAAA;AAAA,IAAA,CAAA,CAAA,CAAA;IAA5BE,eAAe,GAAAL,gBAAA,CAAfK,eAAe;IAAE8d,WAAW,GAAAne,gBAAA,CAAXme,WAAW;EAEpC,IAAMC,aAAa,GAAGhd,aAAO,CAAC,YAAA;IAAA,OAAMid,gBAAU,CAAC5d,IAAI,CAAC;EAAA,CAAA,EAAE,CAACA,IAAI,CAAC,CAAC;EAC7D,IAAMlY,MAAM,GAAG6Y,aAAO,CAAC,YAAA;IAAA,OAAM3N,eAAe,CAACC,SAAS,CAAC;EAAA,CAAA,EAAE,CAACA,SAAS,CAAC,CAAC;EAErE,IAAM4qB,cAAc,GAClBT,wBAAwB,KAAA,CAAA5U,qBAAA,GAAA,CAAAC,YAAA,GAAK3gB,MAAM,CAAC8B,IAAI,cAAA6e,YAAA,KAAA,MAAA,GAAA,MAAA,GAAXA,YAAA,CAAazN,QAAQ,MAAA,IAAA,IAAAwN,qBAAA,KAAA,MAAA,GAAAA,qBAAA,GAAI,IAAI,CAAC;EAE7D,IAAAsV,gBAAA,GACEC,qBAAe,CAAC;AAAEzB,MAAAA,GAAG,EAAHA,GAAG;AAAEe,MAAAA,SAAS,EAATA,SAAS;AAAEH,MAAAA,UAAU,EAAVA,UAAU;AAAEE,MAAAA,wBAAwB,EAAxBA;AAAyB,KAAC,CAAC;IADnEY,wBAAwB,GAAAF,gBAAA,CAAxBE,wBAAwB;IAAEC,YAAY,GAAAH,gBAAA,CAAZG,YAAY;IAAEC,yBAAyB,GAAAJ,gBAAA,CAAzBI,yBAAyB;;AAGzE;AACAl6B,EAAAA,eAAS,CAAC,YAAA;IAAA,OAAM,YAAA;MAAA,OAAM4b,eAAe,EAAE;AAAA,IAAA,CAAA;AAAA,EAAA,CAAA,EAAE,EAAE,CAAC;EAE5C,IAAMue,UAAU,GAAG,SAAbA,UAAUA,CAAIp0B,MAAM,EAAEq0B,SAAS,EAAK;AACxC,IAAA,IAAIh0B,oBAAU,CAACszB,WAAW,CAAC,EAAE;AAC3BU,MAAAA,SAAS,CAACC,aAAa,CAAC,KAAK,CAAC;AAE9B,MAAA;AACF,IAAA;IAEA,IAAM3vB,IAAI,GAAGgH,iBAAiB,CAAC;AAAE3L,MAAAA,MAAM,EAANA,MAAM;AAAEjC,MAAAA,MAAM,EAANA;AAAO,KAAC,CAAC;IAClD,IACE,CAAC4H,cAAc,CAAC;AAAEhB,MAAAA,IAAI,EAAJA,IAAI;AAAE5G,MAAAA,MAAM,EAANA;KAAQ,CAAC,IACjC+I,mBAAmB,CAAC;AAAEnC,MAAAA,IAAI,EAAJA,IAAI;AAAE5G,MAAAA,MAAM,EAANA;AAAO,KAAC,CAAC,CAAC8I,MAAM,IAC5CY,6BAA6B,CAAC;AAAE9C,MAAAA,IAAI,EAAJA,IAAI;AAAE5G,MAAAA,MAAM,EAANA;KAAQ,CAAC,CAAC8I,MAAM,EACtD;AACAwtB,MAAAA,SAAS,CAACC,aAAa,CAAC,KAAK,CAAC;AAE9B,MAAA;AACF,IAAA;AAEA,IAAA,IAAIH,yBAAyB,EAAE;MAC7BD,YAAY,CAACl0B,MAAM,CAAC;AAEpB,MAAA;AACF,IAAA;AAEA,IAAA,IAAMu0B,OAAO,GAAGC,kBAAY,CAACve,IAAI,EAAEjW,MAAM,CAAC;AAE1C6V,IAAAA,eAAe,EAAE;AACjBid,IAAAA,YAAY,CAACyB,OAAO,EAAEF,SAAS,EAAEJ,wBAAwB,CAAC;EAC5D,CAAC;EAED,oBACEr4B,cAAA,CAAC64B,aAAM,EAAA;IACLC,kBAAkB,EAAA,IAAA;IAClBd,aAAa,EAAA/3B,eAAA,CAAAA,eAAA,KAAO84B,2BAAqB,CAAA,EAAKf,aAAa,CAAG;AAC9DgB,IAAAA,QAAQ,EAAEtB,SAAU;IACpBuB,gBAAgB,EAAEC,yBAAmB,CAAC;AACpC7e,MAAAA,IAAI,EAAJA,IAAI;AACJyd,MAAAA,UAAU,EAAVA,UAAU;AACVL,MAAAA,wBAAwB,EAAES;KAC3B,CAAC,CAAC/yB,MAAM,CAACqH,wBAAwB,CAACrK,MAAM,CAAC,CAAE;AAC5Cg3B,IAAAA,QAAQ,EAAEX,UAAW;IAAAv5B,QAAA,EAEpB,SAAAA,QAAAA,GAAA;AAAA,MAAA,oBACC4U,eAAA,CAAA,KAAA,EAAA;AAAKpU,QAAAA,SAAS,EAAC,6CAA6C;QAAAR,QAAA,EAAA,cAC1De,cAAA,CAACo5B,iBAAW,IAAE,CAAC,eACfvlB,eAAA,CAACwlB,SAAS,EAAA;AAAC55B,UAAAA,SAAS,EAAC,gDAAgD;UAAAR,QAAA,EAAA,cACnEe,cAAA,CAAC2vB,MAAM,EAAA;AACCmH,YAAAA,WAAW,EAAXA,WAAW;AACjB5d,YAAAA,KAAK,EAAEA,KAAK,IAAInU,CAAC,CAAC,yBAAyB;AAAE,WAC9C,CAAC,EACDiyB,SAAS,gBACRh3B,cAAA,CAAA,KAAA,EAAA;AAAKP,YAAAA,SAAS,EAAC,gDAAgD;AAAAR,YAAAA,QAAA,eAC7De,cAAA,CAACs5B,kBAAO,EAAA,EAAE;AAAC,WACR,CAAC,gBAENzlB,eAAA,CAAC0lB,WAAU,EAAA;AACTp7B,YAAAA,GAAG,EAAEw5B,OAAQ;YACbl4B,SAAS,EAAEY,UAAU,CAAC,CACpB,iDAAiD,EACjDZ,SAAS,CACV,CAAE;YAAAR,QAAA,EAAA,cAEHe,cAAA,CAAC2iB,MAAM,EAAA;AAAOxgB,cAAAA,MAAM,EAANA;AAAM,aAAK,CAAC,eAC1BnC,cAAA,CAACw5B,wBAAkB,EAAA;AAAO7B,cAAAA,OAAO,EAAPA;aAAY,CAAC,eACvC33B,cAAA,CAAA,KAAA,EAAA;AAAKP,cAAAA,SAAS,EAAC,oCAAoC;cAAAR,QAAA,eACjDe,cAAA,CAACy5B,oBAAW,EAAA;AACVC,gBAAAA,iBAAiB,EAAE;AAAEl6B,kBAAAA,OAAO,EAAE63B;iBAAe;AAC7CsC,gBAAAA,iBAAiB,EAAE;AAAE,kBAAA,aAAa,EAAE;AAAqB;eAC1D;AAAC,aACC,CAAC;AAAA,WACI,CACb;AAAA,SACQ,CAAC,eACZ35B,cAAA,CAAC0vB,WAAK,EAAA;AAACkK,UAAAA,SAAS,EAAErD;AAA8B,SAAE,CAAC;AAAA,OAChD,CAAC;AAAA,IAAA;AACP,GACK,CAAC;AAEb,CAAC;;;;AC3ID,IAAMsD,iBAAiB,GAAG,SAApBA,iBAAiBA,CAAA76B,IAAA,EAAA;EAAA,IAASW,IAAI,GAAAwkB,MAAA,CAAA2V,MAAA,MAAAC,yBAAA,CAAA/6B,IAAA,CAAA,EAAAA,IAAA,EAAA;EAAA,oBAAOgB,cAAA,CAACy2B,IAAI,EAAAx2B,aAAA,CAAA,EAAA,EAAKN,IAAI,CAAG,CAAC;AAAA;;;;"}
|