@react-typed-forms/schemas 9.1.0 → 9.1.1

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
package/lib/index.js CHANGED
@@ -857,7 +857,7 @@ function trackedStructure(c, tracker) {
857
857
  if (nc == null) return null;
858
858
  return trackedStructure(nc, tracker);
859
859
  }
860
- if (p in cv) return trackedStructure(cc.fields[p], tracker);
860
+ if (p in cc.fields || p in cv) return trackedStructure(cc.fields[p], tracker);
861
861
  return undefined;
862
862
  }
863
863
  });
package/lib/index.js.map CHANGED
@@ -1 +1 @@
1
- {"version":3,"file":"index.js","sources":["../src/types.ts","../src/util.ts","../src/schemaBuilder.ts","../src/controlBuilder.ts","../src/internal.ts","../src/hooks.tsx","../src/validators.ts","../src/schemaInterface.ts","../src/controlRender.tsx","../src/renderers.tsx","../src/tailwind.tsx"],"sourcesContent":["export interface SchemaField {\n type: string;\n field: string;\n displayName?: string | null;\n tags?: string[] | null;\n system?: boolean | null;\n collection?: boolean | null;\n onlyForTypes?: string[] | null;\n required?: boolean | null;\n notNullable?: boolean | null;\n defaultValue?: any;\n isTypeField?: boolean | null;\n searchable?: boolean | null;\n options?: FieldOption[] | null;\n validators?: SchemaValidator[] | null;\n}\n\nexport type SchemaMap = Record<string, SchemaField[]>;\n\nexport enum FieldType {\n String = \"String\",\n Bool = \"Bool\",\n Int = \"Int\",\n Date = \"Date\",\n DateTime = \"DateTime\",\n Double = \"Double\",\n EntityRef = \"EntityRef\",\n Compound = \"Compound\",\n AutoId = \"AutoId\",\n Image = \"Image\",\n Any = \"Any\",\n}\n\nexport interface EntityRefField extends SchemaField {\n type: FieldType.EntityRef;\n entityRefType: string;\n parentField: string;\n}\n\nexport interface FieldOption {\n name: string;\n value: any;\n}\n\nexport interface CompoundField extends SchemaField {\n type: FieldType.Compound;\n children: SchemaField[];\n treeChildren?: boolean;\n schemaRef?: string;\n}\n\nexport type AnyControlDefinition =\n | DataControlDefinition\n | GroupedControlsDefinition\n | ActionControlDefinition\n | DisplayControlDefinition;\n\nexport interface SchemaInterface {\n isEmptyValue(field: SchemaField, value: any): boolean;\n textValue(\n field: SchemaField,\n value: any,\n element?: boolean,\n ): string | undefined;\n}\nexport interface ControlDefinition {\n type: string;\n title?: string | null;\n styleClass?: string | null;\n layoutClass?: string | null;\n labelClass?: string | null;\n dynamic?: DynamicProperty[] | null;\n adornments?: ControlAdornment[] | null;\n children?: ControlDefinition[] | null;\n}\n\nexport enum ControlDefinitionType {\n Data = \"Data\",\n Group = \"Group\",\n Display = \"Display\",\n Action = \"Action\",\n}\n\nexport interface DynamicProperty {\n type: string;\n expr: EntityExpression;\n}\n\nexport enum DynamicPropertyType {\n Visible = \"Visible\",\n DefaultValue = \"DefaultValue\",\n Readonly = \"Readonly\",\n Disabled = \"Disabled\",\n Display = \"Display\",\n Style = \"Style\",\n LayoutStyle = \"LayoutStyle\",\n AllowedOptions = \"AllowedOptions\",\n Label = \"Label\",\n}\n\nexport interface EntityExpression {\n type: string;\n}\n\nexport enum ExpressionType {\n Jsonata = \"Jsonata\",\n Data = \"Data\",\n DataMatch = \"FieldValue\",\n UserMatch = \"UserMatch\",\n}\n\nexport interface JsonataExpression extends EntityExpression {\n type: ExpressionType.Jsonata;\n expression: string;\n}\n\nexport interface DataExpression extends EntityExpression {\n type: ExpressionType.Data;\n field: string;\n}\n\nexport interface DataMatchExpression extends EntityExpression {\n type: ExpressionType.DataMatch;\n field: string;\n value: any;\n}\n\nexport interface UserMatchExpression extends EntityExpression {\n type: ExpressionType.UserMatch;\n userMatch: string;\n}\n\nexport interface ControlAdornment {\n type: string;\n}\n\nexport enum AdornmentPlacement {\n ControlStart = \"ControlStart\",\n ControlEnd = \"ControlEnd\",\n LabelStart = \"LabelStart\",\n LabelEnd = \"LabelEnd\",\n}\n\nexport enum ControlAdornmentType {\n Tooltip = \"Tooltip\",\n Accordion = \"Accordion\",\n HelpText = \"HelpText\",\n Icon = \"Icon\",\n}\n\nexport interface IconAdornment extends ControlAdornment {\n type: ControlAdornmentType.Icon;\n iconClass: string;\n placement?: AdornmentPlacement | null;\n}\n\nexport interface TooltipAdornment extends ControlAdornment {\n type: ControlAdornmentType.Tooltip;\n tooltip: string;\n}\n\nexport interface AccordionAdornment extends ControlAdornment {\n type: ControlAdornmentType.Accordion;\n title: string;\n defaultExpanded: boolean;\n}\n\nexport interface HelpTextAdornment extends ControlAdornment {\n type: ControlAdornmentType.HelpText;\n helpText: string;\n placement?: AdornmentPlacement | null;\n}\n\nexport interface DataControlDefinition extends ControlDefinition {\n type: ControlDefinitionType.Data;\n field: string;\n required?: boolean | null;\n renderOptions?: RenderOptions | null;\n defaultValue?: any;\n readonly?: boolean | null;\n validators?: SchemaValidator[] | null;\n hideTitle?: boolean | null;\n dontClearHidden?: boolean | null;\n}\n\nexport interface RenderOptions {\n type: string;\n}\n\nexport enum DataRenderType {\n Standard = \"Standard\",\n Radio = \"Radio\",\n HtmlEditor = \"HtmlEditor\",\n IconList = \"IconList\",\n CheckList = \"CheckList\",\n UserSelection = \"UserSelection\",\n Synchronised = \"Synchronised\",\n IconSelector = \"IconSelector\",\n DateTime = \"DateTime\",\n Checkbox = \"Checkbox\",\n Dropdown = \"Dropdown\",\n DisplayOnly = \"DisplayOnly\",\n Group = \"Group\",\n}\n\nexport interface RadioButtonRenderOptions extends RenderOptions {\n type: DataRenderType.Radio;\n}\n\nexport interface StandardRenderer extends RenderOptions {\n type: DataRenderType.Standard;\n}\n\nexport interface DataGroupRenderOptions extends RenderOptions {\n type: DataRenderType.Group;\n groupOptions?: GroupRenderOptions;\n}\n\nexport interface HtmlEditorRenderOptions extends RenderOptions {\n type: DataRenderType.HtmlEditor;\n allowImages: boolean;\n}\n\nexport interface DateTimeRenderOptions extends RenderOptions {\n type: DataRenderType.DateTime;\n format?: string | null;\n}\n\nexport interface IconListRenderOptions extends RenderOptions {\n type: DataRenderType.IconList;\n iconMappings: IconMapping[];\n}\n\nexport interface DisplayOnlyRenderOptions extends RenderOptions {\n type: DataRenderType.DisplayOnly;\n emptyText?: string | null;\n sampleText?: string | null;\n}\nexport interface IconMapping {\n value: string;\n materialIcon?: string | null;\n}\n\nexport interface CheckListRenderOptions extends RenderOptions {\n type: DataRenderType.CheckList;\n}\n\nexport interface SynchronisedRenderOptions extends RenderOptions {\n type: DataRenderType.Synchronised;\n fieldToSync: string;\n syncType: SyncTextType;\n}\n\nexport enum SyncTextType {\n Camel = \"Camel\",\n Snake = \"Snake\",\n Pascal = \"Pascal\",\n}\n\nexport interface UserSelectionRenderOptions extends RenderOptions {\n type: DataRenderType.UserSelection;\n noGroups: boolean;\n noUsers: boolean;\n}\n\nexport interface IconSelectionRenderOptions extends RenderOptions {\n type: DataRenderType.IconSelector;\n}\n\nexport interface GroupedControlsDefinition extends ControlDefinition {\n type: ControlDefinitionType.Group;\n compoundField?: string | null;\n groupOptions?: GroupRenderOptions;\n}\n\nexport interface GroupRenderOptions {\n type: string;\n hideTitle?: boolean | null;\n}\n\nexport enum GroupRenderType {\n Standard = \"Standard\",\n Grid = \"Grid\",\n Flex = \"Flex\",\n GroupElement = \"GroupElement\",\n}\n\nexport interface StandardGroupRenderer extends GroupRenderOptions {\n type: GroupRenderType.Standard;\n}\n\nexport interface FlexRenderer extends GroupRenderOptions {\n type: GroupRenderType.Flex;\n direction?: string | null;\n gap?: string | null;\n}\n\nexport interface GroupElementRenderer extends GroupRenderOptions {\n type: GroupRenderType.GroupElement;\n value: any;\n}\n\nexport interface GridRenderer extends GroupRenderOptions {\n type: GroupRenderType.Grid;\n columns?: number | null;\n}\n\nexport interface DisplayControlDefinition extends ControlDefinition {\n type: ControlDefinitionType.Display;\n displayData: DisplayData;\n}\n\nexport interface DisplayData {\n type: string;\n}\n\nexport enum DisplayDataType {\n Text = \"Text\",\n Html = \"Html\",\n Icon = \"Icon\",\n}\nexport interface TextDisplay extends DisplayData {\n type: DisplayDataType.Text;\n text: string;\n}\n\nexport interface IconDisplay extends DisplayData {\n type: DisplayDataType.Icon;\n iconClass: string;\n}\n\nexport interface HtmlDisplay extends DisplayData {\n type: DisplayDataType.Html;\n html: string;\n}\n\nexport interface ActionControlDefinition extends ControlDefinition {\n type: ControlDefinitionType.Action;\n actionId: string;\n}\n\nexport enum ValidatorType {\n Jsonata = \"Jsonata\",\n Date = \"Date\",\n}\nexport interface SchemaValidator {\n type: string;\n}\n\nexport interface JsonataValidator extends SchemaValidator {\n type: ValidatorType.Jsonata;\n expression: string;\n}\n\nexport enum DateComparison {\n NotBefore = \"NotBefore\",\n NotAfter = \"NotAfter\",\n}\n\nexport interface DateValidator extends SchemaValidator {\n type: ValidatorType.Date;\n comparison: DateComparison;\n fixedDate?: string | null;\n daysFromCurrent?: number | null;\n}\n\nexport function isDataControlDefinition(\n x: ControlDefinition,\n): x is DataControlDefinition {\n return x.type === ControlDefinitionType.Data;\n}\n\nexport function isGroupControlsDefinition(\n x: ControlDefinition,\n): x is GroupedControlsDefinition {\n return x.type === ControlDefinitionType.Group;\n}\n\nexport function isDisplayControlsDefinition(\n x: ControlDefinition,\n): x is DisplayControlDefinition {\n return x.type === ControlDefinitionType.Display;\n}\n\nexport function isActionControlsDefinition(\n x: ControlDefinition,\n): x is ActionControlDefinition {\n return x.type === ControlDefinitionType.Action;\n}\n\nexport interface ControlVisitor<A> {\n data(d: DataControlDefinition): A;\n group(d: GroupedControlsDefinition): A;\n display(d: DisplayControlDefinition): A;\n action(d: ActionControlDefinition): A;\n}\n\nexport function visitControlDefinition<A>(\n x: ControlDefinition,\n visitor: ControlVisitor<A>,\n defaultValue: (c: ControlDefinition) => A,\n): A {\n switch (x.type) {\n case ControlDefinitionType.Action:\n return visitor.action(x as ActionControlDefinition);\n case ControlDefinitionType.Data:\n return visitor.data(x as DataControlDefinition);\n case ControlDefinitionType.Display:\n return visitor.display(x as DisplayControlDefinition);\n case ControlDefinitionType.Group:\n return visitor.group(x as GroupedControlsDefinition);\n default:\n return defaultValue(x);\n }\n}\nexport function isGridRenderer(\n options: GroupRenderOptions,\n): options is GridRenderer {\n return options.type === GroupRenderType.Grid;\n}\n\nexport function isFlexRenderer(\n options: GroupRenderOptions,\n): options is FlexRenderer {\n return options.type === GroupRenderType.Flex;\n}\n\nexport function isDisplayOnlyRenderer(\n options: RenderOptions,\n): options is DisplayOnlyRenderOptions {\n return options.type === DataRenderType.DisplayOnly;\n}\n\nexport function isDataGroupRenderer(\n options: RenderOptions,\n): options is DataGroupRenderOptions {\n return options.type === DataRenderType.Group;\n}\n","import {\n CompoundField,\n ControlDefinition,\n ControlDefinitionType,\n DataControlDefinition,\n DataRenderType,\n DisplayOnlyRenderOptions,\n FieldOption,\n FieldType,\n GroupedControlsDefinition,\n isDataControlDefinition,\n isDisplayOnlyRenderer,\n SchemaField,\n SchemaInterface,\n visitControlDefinition,\n} from \"./types\";\nimport { MutableRefObject, useCallback, useRef } from \"react\";\nimport {\n Control,\n ControlChange,\n trackControlChange,\n} from \"@react-typed-forms/core\";\nimport clsx from \"clsx\";\nimport { DataContext, JsonPath } from \"./controlRender\";\n\nexport interface ControlDataContext extends DataContext {\n fields: SchemaField[];\n schemaInterface: SchemaInterface;\n}\nexport function applyDefaultValues(\n v: { [k: string]: any } | undefined,\n fields: SchemaField[],\n): any {\n if (!v) return defaultValueForFields(fields);\n const applyValue = fields.filter(\n (x) => isCompoundField(x) || !(x.field in v),\n );\n if (!applyValue.length) return v;\n const out = { ...v };\n applyValue.forEach((x) => {\n out[x.field] =\n x.field in v\n ? applyDefaultForField(v[x.field], x, fields)\n : defaultValueForField(x);\n });\n return out;\n}\n\nexport function applyDefaultForField(\n v: any,\n field: SchemaField,\n parent: SchemaField[],\n notElement?: boolean,\n): any {\n if (field.collection && !notElement) {\n return ((v as any[]) ?? []).map((x) =>\n applyDefaultForField(x, field, parent, true),\n );\n }\n if (isCompoundField(field)) {\n if (!v && !field.required) return v;\n return applyDefaultValues(v, field.treeChildren ? parent : field.children);\n }\n return defaultValueForField(field);\n}\n\nexport function defaultValueForFields(fields: SchemaField[]): any {\n return Object.fromEntries(\n fields.map((x) => [x.field, defaultValueForField(x)]),\n );\n}\n\nexport function defaultValueForField(\n sf: SchemaField,\n required?: boolean | null,\n): any {\n if (sf.defaultValue !== undefined) return sf.defaultValue;\n const isRequired = !!(required || sf.required);\n if (isCompoundField(sf)) {\n if (isRequired) {\n const childValue = defaultValueForFields(sf.children);\n return sf.collection ? [childValue] : childValue;\n }\n return sf.notNullable ? (sf.collection ? [] : {}) : undefined;\n }\n if (sf.collection) {\n return [];\n }\n return undefined;\n}\n\nexport function elementValueForField(sf: SchemaField): any {\n if (isCompoundField(sf)) {\n return defaultValueForFields(sf.children);\n }\n return sf.defaultValue;\n}\n\nexport function findScalarField(\n fields: SchemaField[],\n field: string,\n): SchemaField | undefined {\n return findField(fields, field);\n}\n\nexport function findCompoundField(\n fields: SchemaField[],\n field: string,\n): CompoundField | undefined {\n return findField(fields, field) as CompoundField | undefined;\n}\n\nexport function findField(\n fields: SchemaField[],\n field: string,\n): SchemaField | undefined {\n return fields.find((x) => x.field === field);\n}\n\nexport function isScalarField(sf: SchemaField): sf is SchemaField {\n return !isCompoundField(sf);\n}\n\nexport function isCompoundField(sf: SchemaField): sf is CompoundField {\n return sf.type === FieldType.Compound;\n}\n\nexport function isDataControl(\n c: ControlDefinition,\n): c is DataControlDefinition {\n return c.type === ControlDefinitionType.Data;\n}\n\nexport function isGroupControl(\n c: ControlDefinition,\n): c is GroupedControlsDefinition {\n return c.type === ControlDefinitionType.Group;\n}\n\nexport function fieldHasTag(field: SchemaField, tag: string) {\n return Boolean(field.tags?.includes(tag));\n}\n\nexport function fieldDisplayName(field: SchemaField) {\n return field.displayName ?? field.field;\n}\n\nexport function hasOptions(o: { options: FieldOption[] | undefined | null }) {\n return (o.options?.length ?? 0) > 0;\n}\n\nexport function defaultControlForField(sf: SchemaField): DataControlDefinition {\n if (isCompoundField(sf)) {\n return {\n type: ControlDefinitionType.Data,\n title: sf.displayName,\n field: sf.field,\n required: sf.required,\n children: sf.children.map(defaultControlForField),\n };\n } else if (isScalarField(sf)) {\n const htmlEditor = sf.tags?.includes(\"_HtmlEditor\");\n return {\n type: ControlDefinitionType.Data,\n title: sf.displayName,\n field: sf.field,\n required: sf.required,\n renderOptions: {\n type: htmlEditor ? DataRenderType.HtmlEditor : DataRenderType.Standard,\n },\n };\n }\n throw \"Unknown schema field\";\n}\nfunction findReferencedControl(\n field: string,\n control: ControlDefinition,\n): ControlDefinition | undefined {\n if (isDataControl(control) && field === control.field) return control;\n if (isGroupControl(control)) {\n if (control.compoundField)\n return field === control.compoundField ? control : undefined;\n return findReferencedControlInArray(field, control.children ?? []);\n }\n return undefined;\n}\n\nfunction findReferencedControlInArray(\n field: string,\n controls: ControlDefinition[],\n): ControlDefinition | undefined {\n for (const c of controls) {\n const ref = findReferencedControl(field, c);\n if (ref) return ref;\n }\n return undefined;\n}\n\nexport function addMissingControls(\n fields: SchemaField[],\n controls: ControlDefinition[],\n): ControlDefinition[] {\n const changes: {\n field: SchemaField;\n existing: ControlDefinition | undefined;\n }[] = fields.flatMap((x) => {\n if (fieldHasTag(x, \"_NoControl\")) return [];\n const existing = findReferencedControlInArray(x.field, controls);\n if (!existing || isCompoundField(x)) return { field: x, existing };\n return [];\n });\n const changedCompounds = controls.map((x) => {\n const ex = changes.find((c) => c.existing === x);\n if (!ex) return x;\n const cf = x as GroupedControlsDefinition;\n return {\n ...cf,\n children: addMissingControls(\n (ex.field as CompoundField).children,\n cf.children ?? [],\n ),\n };\n });\n return changedCompounds.concat(\n changes\n .filter((x) => !x.existing)\n .map((x) => defaultControlForField(x.field)),\n );\n}\n\nexport function useUpdatedRef<A>(a: A): MutableRefObject<A> {\n const r = useRef(a);\n r.current = a;\n return r;\n}\n\nexport function isControlReadonly(c: ControlDefinition): boolean {\n return isDataControl(c) && !!c.readonly;\n}\n\nexport function getDisplayOnlyOptions(\n d: ControlDefinition,\n): DisplayOnlyRenderOptions | undefined {\n return isDataControlDefinition(d) &&\n d.renderOptions &&\n isDisplayOnlyRenderer(d.renderOptions)\n ? d.renderOptions\n : undefined;\n}\n\nexport function getTypeField(\n context: ControlDataContext,\n): Control<string> | undefined {\n const typeSchemaField = context.fields.find((x) => x.isTypeField);\n return typeSchemaField\n ? lookupChildControl(context, typeSchemaField.field)\n : undefined;\n}\n\nexport function visitControlDataArray<A>(\n controls: ControlDefinition[] | undefined | null,\n context: ControlDataContext,\n cb: (\n definition: DataControlDefinition,\n field: SchemaField,\n control: Control<any>,\n element: boolean,\n ) => A | undefined,\n): A | undefined {\n if (!controls) return undefined;\n for (const c of controls) {\n const r = visitControlData(c, context, cb);\n if (r !== undefined) return r;\n }\n return undefined;\n}\n\nexport function visitControlData<A>(\n definition: ControlDefinition,\n ctx: ControlDataContext,\n cb: (\n definition: DataControlDefinition,\n field: SchemaField,\n control: Control<any>,\n element: boolean,\n ) => A | undefined,\n): A | undefined {\n return visitControlDefinition<A | undefined>(\n definition,\n {\n data(def: DataControlDefinition) {\n return processData(def, def.field, def.children);\n },\n group(d: GroupedControlsDefinition) {\n return processData(undefined, d.compoundField, d.children);\n },\n action: () => undefined,\n display: () => undefined,\n },\n () => undefined,\n );\n\n function processData(\n def: DataControlDefinition | undefined,\n fieldName: string | undefined | null,\n children: ControlDefinition[] | null | undefined,\n ) {\n const fieldData = fieldName ? findField(ctx.fields, fieldName) : undefined;\n if (!fieldData)\n return !fieldName ? visitControlDataArray(children, ctx, cb) : undefined;\n\n const thisPath = [...ctx.path, fieldData.field];\n const control = ctx.data.lookupControl(thisPath);\n if (!control) throw \"No control for field\";\n const result = def ? cb(def, fieldData, control, false) : undefined;\n if (result !== undefined) return result;\n if (fieldData.collection) {\n let cIndex = 0;\n for (const c of control!.elements ?? []) {\n const elemResult = def ? cb(def, fieldData, c, true) : undefined;\n if (elemResult !== undefined) return elemResult;\n if (isCompoundField(fieldData)) {\n const cfResult = visitControlDataArray(\n children,\n {\n ...ctx,\n fields: fieldData.children,\n path: [...thisPath, cIndex],\n },\n cb,\n );\n if (cfResult !== undefined) return cfResult;\n }\n cIndex++;\n }\n }\n }\n}\n\nexport function lookupChildControl(\n data: DataContext,\n child: JsonPath,\n): Control<any> | undefined {\n const childPath = [...data.path, child];\n return watchControlLookup(data.data, childPath);\n}\n\nexport function cleanDataForSchema(\n v: { [k: string]: any } | undefined,\n fields: SchemaField[],\n): any {\n if (!v) return v;\n const typeField = fields.find((x) => x.isTypeField);\n if (!typeField) return v;\n const typeValue = v[typeField.field];\n const cleanableFields = fields.filter(\n (x) => isCompoundField(x) || (x.onlyForTypes?.length ?? 0) > 0,\n );\n if (!cleanableFields.length) return v;\n const out = { ...v };\n cleanableFields.forEach((x) => {\n const childValue = v[x.field];\n if (\n x.onlyForTypes?.includes(typeValue) === false ||\n (!x.notNullable && canBeNull())\n ) {\n delete out[x.field];\n return;\n }\n if (isCompoundField(x)) {\n const childFields = x.treeChildren ? fields : x.children;\n if (x.collection) {\n if (Array.isArray(childValue)) {\n out[x.field] = childValue.map((cv) =>\n cleanDataForSchema(cv, childFields),\n );\n }\n } else {\n out[x.field] = cleanDataForSchema(childValue, childFields);\n }\n }\n function canBeNull() {\n return (\n x.collection && Array.isArray(childValue) && !childValue.length\n //|| (x.type === FieldType.Bool && childValue === false)\n );\n }\n });\n return out;\n}\n\nexport function getAllReferencedClasses(\n c: ControlDefinition,\n collectExtra?: (c: ControlDefinition) => (string | undefined | null)[],\n): string[] {\n const childClasses = c.children?.flatMap((x) =>\n getAllReferencedClasses(x, collectExtra),\n );\n const tc = clsx(\n [\n c.styleClass,\n c.layoutClass,\n c.labelClass,\n ...(collectExtra?.(c) ?? []),\n ].map(getOverrideClass),\n );\n if (childClasses && !tc) return childClasses;\n if (!tc) return [];\n if (childClasses) return [tc, ...childClasses];\n return [tc];\n}\n\nexport function jsonPathString(\n jsonPath: JsonPath[],\n customIndex?: (n: number) => string,\n) {\n let out = \"\";\n jsonPath.forEach((v, i) => {\n if (typeof v === \"number\") {\n out += customIndex?.(v) ?? \"[\" + v + \"]\";\n } else {\n if (i > 0) out += \".\";\n out += v;\n }\n });\n return out;\n}\n\nexport function findChildDefinition(\n parent: ControlDefinition,\n childPath: number | number[],\n): ControlDefinition {\n if (Array.isArray(childPath)) {\n let base = parent;\n childPath.forEach((x) => (base = base.children![x]));\n return base;\n }\n return parent.children![childPath];\n}\n\nexport function getOverrideClass(className?: string | null) {\n if (className && className.startsWith(\"@ \")) {\n return className.substring(2);\n }\n return className;\n}\n\nexport function rendererClass(\n controlClass?: string | null,\n globalClass?: string | null,\n) {\n const oc = getOverrideClass(controlClass);\n if (oc === controlClass) return clsx(controlClass, globalClass);\n return oc ? oc : undefined;\n}\n\nfunction watchControlLookup(\n base: Control<any> | undefined,\n path: (string | number)[],\n): Control<any> | undefined {\n let index = 0;\n while (index < path.length && base) {\n const childId = path[index];\n const c = base.current;\n if (typeof childId === \"string\") {\n const next = c.fields?.[childId];\n if (!next) trackControlChange(base, ControlChange.Structure);\n base = next;\n } else {\n base = c.elements?.[childId];\n }\n index++;\n }\n return base;\n}\n\nexport type HookDep = string | number | undefined | null;\n\nexport interface DynamicHookGenerator<A, P> {\n deps: HookDep;\n state: any;\n runHook(ctx: P, state: any): A;\n}\n\nexport function makeHook<A, P, S = undefined>(\n runHook: (ctx: P, state: S) => A,\n state: S,\n deps?: HookDep,\n): DynamicHookGenerator<A, P> {\n return { deps, state, runHook };\n}\n\nexport type DynamicHookValue<A> =\n A extends DynamicHookGenerator<infer V, any> ? V : never;\n\nexport function useDynamicHooks<\n P,\n Hooks extends Record<string, DynamicHookGenerator<any, P>>,\n>(\n hooks: Hooks,\n): (p: P) => {\n [K in keyof Hooks]: DynamicHookValue<Hooks[K]>;\n} {\n const hookEntries = Object.entries(hooks);\n const deps = hookEntries.map(([, x]) => toDepString(x.deps)).join(\",\");\n const ref = useRef<Record<string, any>>({});\n const s = ref.current;\n hookEntries.forEach((x) => (s[x[0]] = x[1].state));\n return useCallback(\n (p: P) => {\n return Object.fromEntries(\n hookEntries.map(([f, hg]) => [f, hg.runHook(p, ref.current[f])]),\n ) as any;\n },\n [deps],\n );\n}\n\nexport function toDepString(x: any): string {\n if (x === undefined) return \"_\";\n if (x === null) return \"~\";\n return x.toString();\n}\n","import {\n CompoundField,\n FieldOption,\n FieldType,\n SchemaField,\n SchemaMap,\n} from \"./types\";\nimport { isCompoundField } from \"./util\";\n\ntype AllowedSchema<T> = T extends string\n ? SchemaField & {\n type: FieldType.String | FieldType.Date | FieldType.DateTime;\n }\n : T extends number\n ? SchemaField & {\n type: FieldType.Int | FieldType.Double;\n }\n : T extends boolean\n ? SchemaField & {\n type: FieldType.Bool;\n }\n : T extends Array<infer E>\n ? AllowedSchema<E> & {\n collection: true;\n }\n : T extends { [key: string]: any }\n ? CompoundField & {\n type: FieldType.Compound;\n }\n : SchemaField & { type: FieldType.Any };\n\ntype AllowedField<T, K> = (\n name: string,\n) => (SchemaField & { type: K }) | AllowedSchema<T>;\n\nexport function buildSchema<T, Custom = \"\">(def: {\n [K in keyof T]-?: AllowedField<T[K], Custom>;\n}): SchemaField[] {\n return Object.entries(def).map((x) =>\n (x[1] as (n: string) => SchemaField)(x[0]),\n );\n}\n\nexport function stringField(\n displayName: string,\n options?: Partial<Omit<SchemaField, \"type\">>,\n) {\n return makeScalarField({\n type: FieldType.String as const,\n displayName,\n ...options,\n });\n}\n\nexport function stringOptionsField(\n displayName: string,\n ...options: FieldOption[]\n) {\n return makeScalarField({\n type: FieldType.String as const,\n displayName,\n options,\n });\n}\n\nexport function withScalarOptions<\n S extends SchemaField,\n S2 extends Partial<SchemaField>,\n>(options: S2, v: (name: string) => S): (name: string) => S & S2 {\n return (n) => ({ ...v(n), ...options });\n}\n\nexport function makeScalarField<S extends Partial<SchemaField>>(\n options: S,\n): (name: string) => SchemaField & S {\n return (n) => ({ ...defaultScalarField(n, n), ...options });\n}\n\nexport function makeCompoundField<S extends Partial<CompoundField>>(\n options: S,\n): (name: string) => CompoundField & {\n type: FieldType.Compound;\n} & S {\n return (n) => ({ ...defaultCompoundField(n, n, false), ...options });\n}\n\nexport function intField(\n displayName: string,\n options?: Partial<Omit<SchemaField, \"type\">>,\n) {\n return makeScalarField({\n type: FieldType.Int as const,\n displayName,\n ...options,\n });\n}\n\nexport function boolField(\n displayName: string,\n options?: Partial<Omit<SchemaField, \"type\">>,\n) {\n return makeScalarField({\n type: FieldType.Bool as const,\n displayName,\n ...options,\n });\n}\n\nexport function compoundField<\n Other extends Partial<Omit<CompoundField, \"type\" | \"schemaType\">>,\n>(\n displayName: string,\n fields: SchemaField[],\n other?: Other,\n): (name: string) => CompoundField & {\n collection: Other[\"collection\"];\n} {\n return (field) =>\n ({\n ...defaultCompoundField(field, displayName, false),\n ...other,\n children: fields,\n }) as any;\n}\n\nexport function defaultScalarField(\n field: string,\n displayName: string,\n): Omit<SchemaField, \"type\"> & {\n type: FieldType.String;\n} {\n return {\n field,\n displayName,\n type: FieldType.String,\n };\n}\n\nexport function defaultCompoundField(\n field: string,\n displayName: string,\n collection: boolean,\n): CompoundField & {\n type: FieldType.Compound;\n} {\n return {\n field,\n displayName,\n type: FieldType.Compound,\n collection,\n children: [],\n };\n}\n\nexport function mergeField(\n field: SchemaField,\n mergeInto: SchemaField[],\n): SchemaField[] {\n const existing = mergeInto.find((x) => x.field === field.field);\n if (existing) {\n return mergeInto.map((x) =>\n x !== existing\n ? x\n : {\n ...x,\n onlyForTypes: mergeTypes(x.onlyForTypes, field.onlyForTypes),\n },\n );\n }\n return [...mergeInto, field];\n\n function mergeTypes(f?: string[] | null, s?: string[] | null) {\n if (!f) return s;\n if (!s) return f;\n const extras = s.filter((x) => !f.includes(x));\n return extras.length ? [...f, ...extras] : f;\n }\n}\n\nexport function mergeFields(\n fields: SchemaField[],\n name: string,\n value: any,\n newFields: SchemaField[],\n): SchemaField[] {\n const withType = fields.map((x) =>\n x.isTypeField ? addFieldOption(x, name, value) : x,\n );\n return newFields\n .map((x) => ({ ...x, onlyForTypes: [value] }))\n .reduce((af, x) => mergeField(x, af), withType);\n}\n\nexport function addFieldOption(\n typeField: SchemaField,\n name: string,\n value: any,\n): SchemaField {\n const options = typeField.options ?? [];\n return {\n ...typeField,\n options: [...options, { name, value }],\n };\n}\n\nexport function resolveSchemas<A extends SchemaMap>(schemaMap: A): A {\n const out: SchemaMap = {};\n function resolveSchemaType(type: string) {\n if (type in out) {\n return out[type];\n }\n const resolvedFields: SchemaField[] = [];\n out[type] = resolvedFields;\n schemaMap[type].forEach((x) => {\n if (isCompoundField(x) && x.schemaRef) {\n resolvedFields.push({\n ...x,\n children: resolveSchemaType(x.schemaRef),\n } as CompoundField);\n } else {\n resolvedFields.push(x);\n }\n });\n return resolvedFields;\n }\n Object.keys(schemaMap).forEach(resolveSchemaType);\n return out as A;\n}\n","import {\n ControlDefinition,\n ControlDefinitionType,\n DataControlDefinition,\n DataMatchExpression,\n DisplayControlDefinition,\n DisplayDataType,\n DynamicProperty,\n DynamicPropertyType,\n EntityExpression,\n ExpressionType,\n GroupedControlsDefinition,\n GroupRenderType,\n HtmlDisplay,\n JsonataExpression,\n SchemaField,\n SchemaMap,\n TextDisplay,\n} from \"./types\";\nimport { ActionRendererProps } from \"./controlRender\";\nimport { useMemo } from \"react\";\nimport { addMissingControls, isCompoundField } from \"./util\";\nimport { mergeFields, resolveSchemas } from \"./schemaBuilder\";\n\nexport function dataControl(\n field: string,\n title?: string | null,\n options?: Partial<DataControlDefinition>,\n): DataControlDefinition {\n return { type: ControlDefinitionType.Data, field, title, ...options };\n}\n\nexport function textDisplayControl(\n text: string,\n options?: Partial<DisplayControlDefinition>,\n): DisplayControlDefinition {\n return {\n type: ControlDefinitionType.Display,\n displayData: { type: DisplayDataType.Text, text } as TextDisplay,\n ...options,\n };\n}\n\nexport function htmlDisplayControl(\n html: string,\n options?: Partial<DisplayControlDefinition>,\n): DisplayControlDefinition {\n return {\n type: ControlDefinitionType.Display,\n displayData: { type: DisplayDataType.Html, html } as HtmlDisplay,\n ...options,\n };\n}\n\nexport function dynamicDefaultValue(expr: EntityExpression): DynamicProperty {\n return { type: DynamicPropertyType.DefaultValue, expr };\n}\n\nexport function dynamicReadonly(expr: EntityExpression): DynamicProperty {\n return { type: DynamicPropertyType.Readonly, expr };\n}\n\nexport function dynamicVisibility(expr: EntityExpression): DynamicProperty {\n return { type: DynamicPropertyType.Visible, expr };\n}\n\nexport function dynamicDisabled(expr: EntityExpression): DynamicProperty {\n return { type: DynamicPropertyType.Disabled, expr };\n}\n\nexport function fieldEqExpr(field: string, value: any): DataMatchExpression {\n return { type: ExpressionType.DataMatch, field, value };\n}\nexport function jsonataExpr(expression: string): JsonataExpression {\n return { type: ExpressionType.Jsonata, expression };\n}\n\nexport function groupedControl(\n children: ControlDefinition[],\n title?: string,\n options?: Partial<GroupedControlsDefinition>,\n): GroupedControlsDefinition {\n return {\n type: ControlDefinitionType.Group,\n children,\n title,\n groupOptions: { type: \"Standard\", hideTitle: !title },\n ...options,\n };\n}\nexport function compoundControl(\n field: string,\n title: string | undefined,\n children: ControlDefinition[],\n options?: Partial<DataControlDefinition>,\n): DataControlDefinition {\n return {\n type: ControlDefinitionType.Data,\n field,\n children,\n title,\n renderOptions: { type: \"Standard\" },\n ...options,\n };\n}\n\nexport function createAction(\n actionId: string,\n onClick: () => void,\n actionText?: string,\n): ActionRendererProps {\n return { actionId, onClick, actionText: actionText ?? actionId };\n}\n\nexport const emptyGroupDefinition: GroupedControlsDefinition = {\n type: ControlDefinitionType.Group,\n children: [],\n groupOptions: { type: GroupRenderType.Standard, hideTitle: true },\n};\n\nexport function useControlDefinitionForSchema(\n sf: SchemaField[],\n definition: GroupedControlsDefinition = emptyGroupDefinition,\n): GroupedControlsDefinition {\n return useMemo<GroupedControlsDefinition>(\n () => ({\n ...definition,\n children: addMissingControls(sf, definition.children ?? []),\n }),\n [sf, definition],\n );\n}\n\nexport interface CustomRenderOptions {\n value: string;\n name: string;\n fields: SchemaField[];\n}\n\nexport type ControlDefinitionExtension = {\n RenderOptions?: CustomRenderOptions | CustomRenderOptions[];\n GroupRenderOptions?: CustomRenderOptions | CustomRenderOptions[];\n ControlAdornment?: CustomRenderOptions | CustomRenderOptions[];\n SchemaValidator?: CustomRenderOptions | CustomRenderOptions[];\n DisplayData?: CustomRenderOptions | CustomRenderOptions[];\n};\n\nexport function applyExtensionToSchema<A extends SchemaMap>(\n schemaMap: A,\n extension: ControlDefinitionExtension,\n): A {\n const outMap = { ...schemaMap };\n Object.entries(extension).forEach(([field, cro]) => {\n outMap[field as keyof A] = (Array.isArray(cro) ? cro : [cro]).reduce(\n (a, cr) => mergeFields(a, cr.name, cr.value, cr.fields),\n outMap[field],\n ) as A[string];\n });\n return outMap;\n}\n\nexport function applyExtensionsToSchema<A extends SchemaMap>(\n schemaMap: A,\n extensions: ControlDefinitionExtension[],\n) {\n return resolveSchemas(extensions.reduce(applyExtensionToSchema, schemaMap));\n}\n","import {\n ChangeListenerFunc,\n Control,\n ControlChange,\n useControl,\n useControlEffect,\n} from \"@react-typed-forms/core\";\n\nexport function useCalculatedControl<V>(calculate: () => V): Control<V> {\n const c = useControl(calculate);\n useControlEffect(calculate, (v) => (c.value = v));\n return c;\n}\n\nexport function cc(n: string | null | undefined): string | undefined {\n return n ? n : undefined;\n}\n\nexport function trackedStructure<A>(\n c: Control<A>,\n tracker: ChangeListenerFunc<any>,\n): A {\n const cc = c.current;\n const cv = cc.value;\n if (cv == null) {\n tracker(c, ControlChange.Structure);\n return cv;\n }\n if (typeof cv !== \"object\") {\n tracker(c, ControlChange.Value);\n return cv;\n }\n return new Proxy(cv, {\n get(target: object, p: string | symbol, receiver: any): any {\n if (Array.isArray(cv)) {\n tracker(c, ControlChange.Structure);\n if (typeof p === \"symbol\" || p[0] >= \"9\" || p[0] < \"0\")\n return Reflect.get(cv, p);\n const nc = (cc.elements as any)[p];\n if (typeof nc === \"function\") return nc;\n if (nc == null) return null;\n return trackedStructure(nc, tracker);\n }\n if (p in cv) return trackedStructure((cc.fields as any)[p], tracker);\n return undefined;\n },\n }) as A;\n}\n","import {\n ControlDefinition,\n DataExpression,\n DataMatchExpression,\n DynamicPropertyType,\n EntityExpression,\n ExpressionType,\n isDataControlDefinition,\n JsonataExpression,\n SchemaField,\n SchemaInterface,\n} from \"./types\";\nimport React, {\n MutableRefObject,\n useCallback,\n useEffect,\n useMemo,\n useRef,\n} from \"react\";\nimport {\n addAfterChangesCallback,\n collectChanges,\n Control,\n makeChangeTracker,\n useComputed,\n useControl,\n useRefState,\n} from \"@react-typed-forms/core\";\n\nimport {\n ControlDataContext,\n defaultValueForField,\n DynamicHookGenerator,\n findField,\n getDisplayOnlyOptions,\n getTypeField,\n HookDep,\n isControlReadonly,\n jsonPathString,\n lookupChildControl,\n makeHook,\n toDepString,\n useUpdatedRef,\n} from \"./util\";\nimport jsonata from \"jsonata\";\nimport { trackedStructure, useCalculatedControl } from \"./internal\";\nimport { DataContext } from \"./controlRender\";\n\nexport type EvalExpressionHook<A = any> = DynamicHookGenerator<\n Control<A | undefined>,\n ControlDataContext\n>;\n\nexport type UseEvalExpressionHook = (\n expr: EntityExpression | undefined,\n) => DynamicHookGenerator<Control<any> | undefined, ControlDataContext>;\n\nexport function useEvalVisibilityHook(\n useEvalExpressionHook: UseEvalExpressionHook,\n definition: ControlDefinition,\n schemaField?: SchemaField,\n): EvalExpressionHook<boolean> {\n const dynamicVisibility = useEvalDynamicHook(\n definition,\n DynamicPropertyType.Visible,\n useEvalExpressionHook,\n );\n return makeDynamicPropertyHook(\n dynamicVisibility,\n (ctx, { schemaField, definition }) =>\n useComputed(() => {\n return (\n matchesType(ctx, schemaField?.onlyForTypes) &&\n (!schemaField ||\n !hideDisplayOnly(ctx, schemaField, definition, ctx.schemaInterface))\n );\n }),\n { schemaField, definition },\n );\n}\n\nexport function useEvalReadonlyHook(\n useEvalExpressionHook: UseEvalExpressionHook,\n definition: ControlDefinition,\n): EvalExpressionHook<boolean> {\n const dynamicReadonly = useEvalDynamicHook(\n definition,\n DynamicPropertyType.Readonly,\n useEvalExpressionHook,\n );\n return makeDynamicPropertyHook(\n dynamicReadonly,\n (ctx, { definition }) =>\n useCalculatedControl(() => isControlReadonly(definition)),\n { definition },\n );\n}\n\nexport function useEvalStyleHook(\n useEvalExpressionHook: UseEvalExpressionHook,\n property: DynamicPropertyType,\n definition: ControlDefinition,\n): EvalExpressionHook<React.CSSProperties> {\n const dynamicStyle = useEvalDynamicHook(\n definition,\n property,\n useEvalExpressionHook,\n );\n return makeDynamicPropertyHook(\n dynamicStyle,\n () => useControl(undefined),\n undefined,\n );\n}\n\nexport function useEvalAllowedOptionsHook(\n useEvalExpressionHook: UseEvalExpressionHook,\n definition: ControlDefinition,\n): EvalExpressionHook<any[]> {\n const dynamicAllowed = useEvalDynamicHook(\n definition,\n DynamicPropertyType.AllowedOptions,\n useEvalExpressionHook,\n );\n return makeDynamicPropertyHook(\n dynamicAllowed,\n () => useControl([]),\n undefined,\n );\n}\n\nexport function useEvalDisabledHook(\n useEvalExpressionHook: UseEvalExpressionHook,\n definition: ControlDefinition,\n): EvalExpressionHook<boolean> {\n const dynamicDisabled = useEvalDynamicHook(\n definition,\n DynamicPropertyType.Disabled,\n useEvalExpressionHook,\n );\n return makeDynamicPropertyHook(\n dynamicDisabled,\n () => useControl(false),\n undefined,\n );\n}\n\nexport function useEvalDisplayHook(\n useEvalExpressionHook: UseEvalExpressionHook,\n definition: ControlDefinition,\n): DynamicHookGenerator<\n Control<string | undefined> | undefined,\n ControlDataContext\n> {\n return useEvalDynamicHook(\n definition,\n DynamicPropertyType.Display,\n useEvalExpressionHook,\n );\n}\nexport function useEvalDefaultValueHook(\n useEvalExpressionHook: UseEvalExpressionHook,\n definition: ControlDefinition,\n schemaField?: SchemaField,\n): EvalExpressionHook {\n const dynamicValue = useEvalDynamicHook(\n definition,\n DynamicPropertyType.DefaultValue,\n useEvalExpressionHook,\n );\n return makeDynamicPropertyHook(\n dynamicValue,\n (ctx, { definition, schemaField }) => {\n return useComputed(calcDefault);\n function calcDefault() {\n const [required, dcv] = isDataControlDefinition(definition)\n ? [definition.required, definition.defaultValue]\n : [false, undefined];\n return (\n dcv ??\n (schemaField\n ? defaultValueForField(schemaField, required)\n : undefined)\n );\n }\n },\n { definition, schemaField },\n );\n}\n\nfunction useDataExpression(\n fvExpr: DataExpression,\n fields: SchemaField[],\n data: DataContext,\n) {\n const refField = findField(fields, fvExpr.field);\n const otherField = refField\n ? lookupChildControl(data, refField.field)\n : undefined;\n return useCalculatedControl(() => otherField?.value);\n}\n\nfunction useDataMatchExpression(\n fvExpr: DataMatchExpression,\n fields: SchemaField[],\n data: DataContext,\n) {\n const refField = findField(fields, fvExpr.field);\n const otherField = refField\n ? lookupChildControl(data, refField.field)\n : undefined;\n return useComputed(() => {\n const fv = otherField?.value;\n return Array.isArray(fv) ? fv.includes(fvExpr.value) : fv === fvExpr.value;\n });\n}\n\nexport function defaultEvalHooks(\n expr: EntityExpression,\n context: ControlDataContext,\n) {\n switch (expr.type) {\n case ExpressionType.Jsonata:\n return useJsonataExpression(\n (expr as JsonataExpression).expression,\n context,\n );\n case ExpressionType.Data:\n return useDataExpression(expr as DataExpression, context.fields, context);\n case ExpressionType.DataMatch:\n return useDataMatchExpression(\n expr as DataMatchExpression,\n context.fields,\n context,\n );\n default:\n return useControl(undefined);\n }\n}\n\nexport const defaultUseEvalExpressionHook =\n makeEvalExpressionHook(defaultEvalHooks);\n\nexport function makeEvalExpressionHook(\n f: (expr: EntityExpression, context: ControlDataContext) => Control<any>,\n): UseEvalExpressionHook {\n return (expr) => ({\n deps: expr?.type,\n state: expr,\n runHook: (ctx: ControlDataContext, state: EntityExpression | undefined) => {\n return state ? f(state, ctx) : undefined;\n },\n });\n}\n\nexport function useEvalDynamicHook(\n definition: ControlDefinition,\n type: DynamicPropertyType,\n useEvalExpressionHook: UseEvalExpressionHook,\n): DynamicHookGenerator<Control<any> | undefined, ControlDataContext> {\n const expression = definition.dynamic?.find((x) => x.type === type);\n return useEvalExpressionHook(expression?.expr);\n}\n\nexport function matchesType(\n context: ControlDataContext,\n types?: string[] | null,\n) {\n if (types == null || types.length === 0) return true;\n const typeField = getTypeField(context);\n return typeField && types.includes(typeField.value);\n}\n\nexport function hideDisplayOnly(\n context: ControlDataContext,\n field: SchemaField,\n definition: ControlDefinition,\n schemaInterface: SchemaInterface,\n) {\n const displayOptions = getDisplayOnlyOptions(definition);\n return (\n displayOptions &&\n !displayOptions.emptyText &&\n schemaInterface.isEmptyValue(\n field,\n lookupChildControl(context, field.field)?.value,\n )\n );\n}\n\nexport function useJsonataExpression(\n jExpr: string,\n dataContext: DataContext,\n bindings?: () => Record<string, any>,\n): Control<any> {\n const pathString = jsonPathString(dataContext.path, (x) => `#$i[${x}]`);\n const fullExpr = pathString ? pathString + \".(\" + jExpr + \")\" : jExpr;\n const compiledExpr = useMemo(() => {\n try {\n return jsonata(fullExpr);\n } catch (e) {\n console.error(e);\n return jsonata(\"null\");\n }\n }, [fullExpr]);\n const control = useControl();\n const listenerRef = useRef<() => void>();\n const [ref] = useRefState(() =>\n makeChangeTracker(() => {\n const l = listenerRef.current;\n if (l) {\n listenerRef.current = undefined;\n addAfterChangesCallback(() => {\n l();\n listenerRef.current = l;\n });\n }\n }),\n );\n useEffect(() => {\n listenerRef.current = apply;\n apply();\n async function apply() {\n const [collect, updateSubscriptions] = ref.current;\n try {\n const bindingData = bindings\n ? collectChanges(collect, bindings)\n : undefined;\n control.value = await compiledExpr.evaluate(\n trackedStructure(dataContext.data, collect),\n bindingData,\n );\n } finally {\n updateSubscriptions();\n }\n }\n return () => ref.current[1](true);\n }, [compiledExpr]);\n return control;\n}\n\nexport function useEvalLabelText(\n useExpr: UseEvalExpressionHook,\n definition: ControlDefinition,\n): EvalExpressionHook<string | null> {\n const dynamicValue = useEvalDynamicHook(\n definition,\n DynamicPropertyType.Label,\n useExpr,\n );\n return makeDynamicPropertyHook(\n dynamicValue,\n () => useControl(null),\n undefined,\n );\n}\n\nfunction makeDynamicPropertyHook<A, S = undefined>(\n dynamicValue: DynamicHookGenerator<\n Control<any> | undefined,\n ControlDataContext\n >,\n makeDefault: (ctx: ControlDataContext, s: S) => Control<A | undefined>,\n state: S,\n deps?: HookDep,\n): EvalExpressionHook<A> {\n return {\n deps:\n deps !== undefined\n ? dynamicValue.deps\n : [deps, dynamicValue.deps].map(toDepString).join(),\n runHook: (ctx, s) => {\n return dynamicValue.runHook(ctx, s[0]) ?? makeDefault(ctx, s[1]);\n },\n state: [dynamicValue.state, state],\n };\n}\n","import {\n ControlDefinition,\n DataControlDefinition,\n DateComparison,\n DateValidator,\n isDataControlDefinition,\n JsonataValidator,\n ValidatorType,\n} from \"./types\";\nimport {\n Control,\n useControlEffect,\n useValidator,\n useValueChangeEffect,\n} from \"@react-typed-forms/core\";\nimport { useCallback } from \"react\";\nimport { ControlDataContext, useUpdatedRef } from \"./util\";\nimport { useJsonataExpression } from \"./hooks\";\n\nexport function useValidationHook(\n definition: ControlDefinition,\n): (\n control: Control<any>,\n hidden: boolean,\n groupContext: ControlDataContext,\n) => void {\n const validatorTypes = isDataControlDefinition(definition)\n ? definition.validators?.map((x) => x.type) ?? []\n : null;\n const r = useUpdatedRef(definition as DataControlDefinition);\n return useCallback(\n (control, hidden, groupContext) => {\n if (!validatorTypes) return;\n const dd = r.current;\n\n useValueChangeEffect(control, () => control.setError(\"default\", \"\"));\n useValidator(\n control,\n (v) =>\n !hidden &&\n dd.required &&\n (v == null || v === \"\" || (Array.isArray(v) && v.length === 0))\n ? \"Please enter a value\"\n : null,\n \"required\",\n );\n (dd.validators ?? []).forEach((x, i) => {\n switch (x.type) {\n case ValidatorType.Jsonata:\n return useJsonataValidator(\n control,\n groupContext,\n x as JsonataValidator,\n hidden,\n i,\n );\n case ValidatorType.Date:\n return useDateValidator(control, x as DateValidator, i);\n }\n });\n },\n validatorTypes ? validatorTypes : [null],\n );\n}\n\nfunction useJsonataValidator(\n control: Control<any>,\n context: ControlDataContext,\n expr: JsonataValidator,\n hidden: boolean,\n i: number,\n) {\n const errorMsg = useJsonataExpression(expr.expression, context);\n useControlEffect(\n () => [hidden, errorMsg.value],\n ([hidden, msg]) => control.setError(\"jsonata\" + i, !hidden ? msg : null),\n true,\n );\n}\n\nfunction useDateValidator(\n control: Control<string | null | undefined>,\n dv: DateValidator,\n i: number,\n) {\n let comparisonDate: number;\n if (dv.fixedDate) {\n comparisonDate = Date.parse(dv.fixedDate);\n } else {\n const nowDate = new Date();\n comparisonDate = Date.UTC(\n nowDate.getFullYear(),\n nowDate.getMonth(),\n nowDate.getDate(),\n );\n if (dv.daysFromCurrent) {\n comparisonDate += dv.daysFromCurrent * 86400000;\n }\n }\n useValidator(\n control,\n (v) => {\n if (v) {\n const selDate = Date.parse(v);\n const notAfter = dv.comparison === DateComparison.NotAfter;\n if (notAfter ? selDate > comparisonDate : selDate < comparisonDate) {\n return `Date must not be ${notAfter ? \"after\" : \"before\"} ${new Date(\n comparisonDate,\n ).toDateString()}`;\n }\n }\n return null;\n },\n \"date\" + i,\n );\n}\n","import { FieldType, SchemaField, SchemaInterface } from \"./types\";\n\nexport const defaultSchemaInterface: SchemaInterface = {\n isEmptyValue: defaultIsEmpty,\n textValue: defaultTextValue,\n};\n\nexport function defaultIsEmpty(f: SchemaField, value: any): boolean {\n if (f.collection)\n return Array.isArray(value) ? value.length === 0 : value == null;\n switch (f.type) {\n case FieldType.String:\n return !value;\n default:\n return value == null;\n }\n}\n\nexport function defaultTextValue(\n f: SchemaField,\n value: any,\n): string | undefined {\n switch (f.type) {\n case FieldType.DateTime:\n return new Date(value).toLocaleDateString();\n case FieldType.Date:\n return new Date(value).toLocaleDateString();\n default:\n return value != null ? value.toString() : undefined;\n }\n}\n","import React, {\n CSSProperties,\n FC,\n Fragment,\n Key,\n ReactNode,\n useCallback,\n useEffect,\n} from \"react\";\nimport {\n addElement,\n Control,\n newControl,\n removeElement,\n useComponentTracking,\n useControl,\n useControlEffect,\n} from \"@react-typed-forms/core\";\nimport {\n AdornmentPlacement,\n ControlAdornment,\n ControlDefinition,\n DataControlDefinition,\n DisplayData,\n DynamicPropertyType,\n FieldOption,\n GroupedControlsDefinition,\n GroupRenderOptions,\n isActionControlsDefinition,\n isDataControlDefinition,\n isDisplayControlsDefinition,\n isGroupControlsDefinition,\n RenderOptions,\n SchemaField,\n SchemaInterface,\n} from \"./types\";\nimport {\n ControlDataContext,\n elementValueForField,\n fieldDisplayName,\n findChildDefinition,\n findField,\n isCompoundField,\n useDynamicHooks,\n useUpdatedRef,\n} from \"./util\";\nimport { dataControl } from \"./controlBuilder\";\nimport {\n EvalExpressionHook,\n defaultUseEvalExpressionHook,\n useEvalAllowedOptionsHook,\n useEvalDefaultValueHook,\n useEvalDisabledHook,\n useEvalDisplayHook,\n UseEvalExpressionHook,\n useEvalLabelText,\n useEvalReadonlyHook,\n useEvalStyleHook,\n useEvalVisibilityHook,\n} from \"./hooks\";\nimport { useValidationHook } from \"./validators\";\nimport { cc, useCalculatedControl } from \"./internal\";\nimport { defaultSchemaInterface } from \"./schemaInterface\";\n\nexport interface FormRenderer {\n renderData: (\n props: DataRendererProps,\n ) => (layout: ControlLayoutProps) => ControlLayoutProps;\n renderGroup: (\n props: GroupRendererProps,\n ) => (layout: ControlLayoutProps) => ControlLayoutProps;\n renderDisplay: (props: DisplayRendererProps) => ReactNode;\n renderAction: (props: ActionRendererProps) => ReactNode;\n renderArray: (props: ArrayRendererProps) => ReactNode;\n renderAdornment: (props: AdornmentProps) => AdornmentRenderer;\n renderLabel: (\n props: LabelRendererProps,\n labelStart: ReactNode,\n labelEnd: ReactNode,\n ) => ReactNode;\n renderLayout: (props: ControlLayoutProps) => RenderedControl;\n renderVisibility: (props: VisibilityRendererProps) => ReactNode;\n}\n\nexport interface AdornmentProps {\n adornment: ControlAdornment;\n}\n\nexport const AppendAdornmentPriority = 0;\nexport const WrapAdornmentPriority = 1000;\n\nexport interface AdornmentRenderer {\n apply(children: RenderedLayout): void;\n adornment?: ControlAdornment;\n priority: number;\n}\n\nexport interface ArrayRendererProps {\n addAction?: ActionRendererProps;\n required: boolean;\n removeAction?: (elemIndex: number) => ActionRendererProps;\n elementCount: number;\n renderElement: (elemIndex: number) => ReactNode;\n elementKey: (elemIndex: number) => Key;\n arrayControl: Control<any[] | undefined | null>;\n className?: string;\n style?: React.CSSProperties;\n}\nexport interface Visibility {\n visible: boolean;\n showing: boolean;\n}\n\nexport interface RenderedLayout {\n labelStart?: ReactNode;\n labelEnd?: ReactNode;\n controlStart?: ReactNode;\n controlEnd?: ReactNode;\n label?: ReactNode;\n children?: ReactNode;\n errorControl?: Control<any>;\n className?: string;\n style?: React.CSSProperties;\n}\n\nexport interface RenderedControl {\n children: ReactNode;\n className?: string;\n style?: React.CSSProperties;\n divRef?: (cb: HTMLElement | null) => void;\n}\n\nexport interface VisibilityRendererProps extends RenderedControl {\n visibility: Control<Visibility | undefined>;\n}\n\nexport interface ControlLayoutProps {\n label?: LabelRendererProps;\n errorControl?: Control<any>;\n adornments?: AdornmentRenderer[];\n children?: ReactNode;\n processLayout?: (props: ControlLayoutProps) => ControlLayoutProps;\n className?: string | null;\n style?: React.CSSProperties;\n}\n\nexport enum LabelType {\n Control,\n Group,\n}\nexport interface LabelRendererProps {\n type: LabelType;\n hide?: boolean | null;\n label: ReactNode;\n required?: boolean | null;\n forId?: string;\n className?: string;\n}\nexport interface DisplayRendererProps {\n data: DisplayData;\n display?: Control<string | undefined>;\n dataContext: ControlDataContext;\n className?: string;\n style?: React.CSSProperties;\n}\n\nexport interface ParentRendererProps {\n childDefinitions: ControlDefinition[];\n renderChild: ChildRenderer;\n className?: string;\n style?: React.CSSProperties;\n dataContext: ControlDataContext;\n useChildVisibility: (child: number | number[]) => EvalExpressionHook<boolean>;\n}\n\nexport interface GroupRendererProps extends ParentRendererProps {\n renderOptions: GroupRenderOptions;\n}\n\nexport interface DataRendererProps extends ParentRendererProps {\n renderOptions: RenderOptions;\n field: SchemaField;\n id: string;\n control: Control<any>;\n readonly: boolean;\n required: boolean;\n options: FieldOption[] | undefined | null;\n hidden: boolean;\n toArrayProps?: () => ArrayRendererProps;\n}\n\nexport interface ActionRendererProps {\n actionId: string;\n actionText: string;\n onClick: () => void;\n className?: string;\n style?: React.CSSProperties;\n}\n\nexport interface ControlRenderProps {\n control: Control<any>;\n parentPath?: JsonPath[];\n}\n\nexport interface FormContextOptions {\n readonly?: boolean | null;\n hidden?: boolean | null;\n disabled?: boolean | null;\n}\n\nexport interface DataControlProps {\n definition: DataControlDefinition;\n field: SchemaField;\n dataContext: ControlDataContext;\n control: Control<any>;\n options: FormContextOptions;\n style: React.CSSProperties | undefined;\n renderChild: ChildRenderer;\n allowedOptions?: Control<any[] | undefined>;\n elementRenderer?: (elemIndex: number) => ReactNode;\n useChildVisibility: (child: number | number[]) => EvalExpressionHook<boolean>;\n}\n\nexport type CreateDataProps = (\n controlProps: DataControlProps,\n) => DataRendererProps;\n\nexport type JsonPath = string | number;\n\nexport interface DataContext {\n data: Control<any>;\n path: JsonPath[];\n}\nexport interface ControlRenderOptions extends FormContextOptions {\n useDataHook?: (c: ControlDefinition) => CreateDataProps;\n useEvalExpressionHook?: UseEvalExpressionHook;\n clearHidden?: boolean;\n schemaInterface?: SchemaInterface;\n}\nexport function useControlRenderer(\n definition: ControlDefinition,\n fields: SchemaField[],\n renderer: FormRenderer,\n options: ControlRenderOptions = {},\n): FC<ControlRenderProps> {\n const dataProps = options.useDataHook?.(definition) ?? defaultDataProps;\n const schemaInterface = options.schemaInterface ?? defaultSchemaInterface;\n const useExpr = options.useEvalExpressionHook ?? defaultUseEvalExpressionHook;\n\n const schemaField = lookupSchemaField(definition, fields);\n\n const dynamicHooks = useDynamicHooks({\n defaultValueControl: useEvalDefaultValueHook(\n useExpr,\n definition,\n schemaField,\n ),\n visibleControl: useEvalVisibilityHook(useExpr, definition, schemaField),\n readonlyControl: useEvalReadonlyHook(useExpr, definition),\n disabledControl: useEvalDisabledHook(useExpr, definition),\n allowedOptions: useEvalAllowedOptionsHook(useExpr, definition),\n labelText: useEvalLabelText(useExpr, definition),\n customStyle: useEvalStyleHook(\n useExpr,\n DynamicPropertyType.Style,\n definition,\n ),\n layoutStyle: useEvalStyleHook(\n useExpr,\n DynamicPropertyType.LayoutStyle,\n definition,\n ),\n displayControl: useEvalDisplayHook(useExpr, definition),\n });\n\n const useValidation = useValidationHook(definition);\n const r = useUpdatedRef({ options, definition, fields, schemaField });\n\n const Component = useCallback(\n ({ control: rootControl, parentPath = [] }: ControlRenderProps) => {\n const stopTracking = useComponentTracking();\n try {\n const { definition: c, options, fields, schemaField } = r.current;\n const parentDataContext: ControlDataContext = {\n fields,\n schemaInterface,\n data: rootControl,\n path: parentPath,\n };\n const {\n readonlyControl,\n disabledControl,\n visibleControl,\n displayControl,\n layoutStyle,\n labelText,\n customStyle,\n allowedOptions,\n defaultValueControl,\n } = dynamicHooks(parentDataContext);\n\n const visible = visibleControl.current.value;\n const visibility = useControl<Visibility | undefined>(() =>\n visible != null\n ? {\n visible,\n showing: visible,\n }\n : undefined,\n );\n useControlEffect(\n () => visibleControl.value,\n (visible) => {\n if (visible != null)\n visibility.setValue((ex) => ({\n visible,\n showing: ex ? ex.showing : visible,\n }));\n },\n );\n\n const [parentControl, control, controlDataContext] = getControlData(\n schemaField,\n parentDataContext,\n );\n useControlEffect(\n () => [\n visibility.value,\n defaultValueControl.value,\n control,\n isDataControlDefinition(definition) && definition.dontClearHidden,\n parentControl?.isNull,\n options.hidden,\n ],\n ([vc, dv, cd, dontClear, parentNull, hidden]) => {\n if (vc && cd && vc.visible === vc.showing) {\n if (hidden || !vc.visible) {\n if (options.clearHidden && !dontClear) {\n cd.value = undefined;\n }\n } else if (cd.value == null) {\n cd.value = dv;\n }\n }\n if (parentNull && parentControl?.isNull) {\n parentControl.value = {};\n }\n },\n true,\n );\n const myOptions = useCalculatedControl<FormContextOptions>(() => ({\n hidden: options.hidden || !visibility.fields?.showing.value,\n readonly: options.readonly || readonlyControl.value,\n disabled: options.disabled || disabledControl.value,\n })).value;\n useValidation(\n control ?? newControl(null),\n !!myOptions.hidden,\n parentDataContext,\n );\n const childOptions: ControlRenderOptions = { ...options, ...myOptions };\n\n useEffect(() => {\n if (control && typeof myOptions.disabled === \"boolean\")\n control.disabled = myOptions.disabled;\n }, [control, myOptions.disabled]);\n if (parentControl?.isNull) return <></>;\n\n const adornments =\n definition.adornments?.map((x) =>\n renderer.renderAdornment({ adornment: x }),\n ) ?? [];\n const labelAndChildren = renderControlLayout({\n definition: c,\n renderer,\n renderChild: (k, child, path) => (\n <ControlRenderer\n key={k}\n control={controlDataContext.data}\n fields={controlDataContext.fields}\n definition={findChildDefinition(c, child)}\n parentPath={\n path\n ? [...controlDataContext.path, ...path]\n : controlDataContext.path\n }\n renderer={renderer}\n options={childOptions}\n />\n ),\n createDataProps: dataProps,\n formOptions: myOptions,\n dataContext: controlDataContext,\n control: displayControl ?? control,\n labelText,\n schemaField,\n displayControl,\n style: customStyle.value,\n allowedOptions,\n useChildVisibility: (child) => {\n const childDef = findChildDefinition(c, child);\n const schemaField = lookupSchemaField(\n childDef,\n controlDataContext.fields,\n );\n return useEvalVisibilityHook(useExpr, childDef, schemaField);\n },\n });\n const renderedControl = renderer.renderLayout({\n ...labelAndChildren,\n adornments,\n className: c.layoutClass,\n style: layoutStyle.value,\n });\n return renderer.renderVisibility({ visibility, ...renderedControl });\n } finally {\n stopTracking();\n }\n },\n [r, dataProps, useValidation, renderer, schemaInterface, dynamicHooks],\n );\n (Component as any).displayName = \"RenderControl\";\n return Component;\n}\nexport function lookupSchemaField(\n c: ControlDefinition,\n fields: SchemaField[],\n): SchemaField | undefined {\n const fieldName = isGroupControlsDefinition(c)\n ? c.compoundField\n : isDataControlDefinition(c)\n ? c.field\n : undefined;\n return fieldName ? findField(fields, fieldName) : undefined;\n}\nexport function getControlData(\n schemaField: SchemaField | undefined,\n parentContext: ControlDataContext,\n): [Control<any> | undefined, Control<any> | undefined, ControlDataContext] {\n const { data, path } = parentContext;\n const parentControl = data.lookupControl(path);\n const childPath = schemaField ? [...path, schemaField.field] : path;\n const childControl =\n schemaField && parentControl\n ? parentControl.fields?.[schemaField.field]\n : undefined;\n return [\n parentControl,\n childControl,\n schemaField\n ? {\n ...parentContext,\n path: childPath,\n fields: isCompoundField(schemaField)\n ? schemaField.children\n : parentContext.fields,\n }\n : parentContext,\n ];\n}\n\nexport function ControlRenderer({\n definition,\n fields,\n renderer,\n options,\n control,\n parentPath,\n}: {\n definition: ControlDefinition;\n fields: SchemaField[];\n renderer: FormRenderer;\n options?: ControlRenderOptions;\n control: Control<any>;\n parentPath?: JsonPath[];\n}) {\n const Render = useControlRenderer(definition, fields, renderer, options);\n return <Render control={control} parentPath={parentPath} />;\n}\n\nfunction groupProps(\n definition: GroupedControlsDefinition,\n renderChild: ChildRenderer,\n dataContext: ControlDataContext,\n className: string | null | undefined,\n style: React.CSSProperties | undefined,\n useChildVisibility: (child: number | number[]) => EvalExpressionHook<boolean>,\n): GroupRendererProps {\n return {\n childDefinitions: definition.children ?? [],\n renderChild,\n dataContext,\n renderOptions: definition.groupOptions ?? { type: \"Standard\" },\n className: cc(className),\n useChildVisibility,\n style,\n };\n}\n\nexport function defaultDataProps({\n definition,\n field,\n control,\n options,\n elementRenderer,\n style,\n allowedOptions,\n ...props\n}: DataControlProps): DataRendererProps {\n const className = cc(definition.styleClass);\n const required = !!definition.required;\n const fieldOptions =\n (field.options?.length ?? 0) === 0 ? null : field.options;\n const allowed = allowedOptions?.value ?? [];\n return {\n childDefinitions: definition.children ?? [],\n control,\n field,\n id: \"c\" + control.uniqueId,\n options:\n fieldOptions && allowed.length > 0\n ? fieldOptions.filter((x) => allowed.includes(x.value))\n : fieldOptions,\n readonly: !!options.readonly,\n renderOptions: definition.renderOptions ?? { type: \"Standard\" },\n required,\n hidden: !!options.hidden,\n className,\n style,\n ...props,\n toArrayProps: elementRenderer\n ? () =>\n defaultArrayProps(\n control,\n field,\n required,\n style,\n className,\n elementRenderer,\n )\n : undefined,\n };\n}\n\nexport function defaultArrayProps(\n arrayControl: Control<any[] | undefined | null>,\n field: SchemaField,\n required: boolean,\n style: CSSProperties | undefined,\n className: string | undefined,\n renderElement: (elemIndex: number) => ReactNode,\n): ArrayRendererProps {\n const noun = field.displayName ?? field.field;\n const elems = arrayControl.elements ?? [];\n return {\n arrayControl,\n elementCount: elems.length,\n required,\n addAction: {\n actionId: \"add\",\n actionText: \"Add \" + noun,\n onClick: () => addElement(arrayControl, elementValueForField(field)),\n },\n elementKey: (i) => elems[i].uniqueId,\n removeAction: (i: number) => ({\n actionId: \"\",\n actionText: \"Remove\",\n onClick: () => removeElement(arrayControl, i),\n }),\n renderElement: (i) => renderElement(i),\n className: cc(className),\n style,\n };\n}\n\nexport type ChildRenderer = (\n k: Key,\n child: number | number[],\n parentPath?: JsonPath[],\n) => ReactNode;\n\nexport interface RenderControlProps {\n definition: ControlDefinition;\n renderer: FormRenderer;\n renderChild: ChildRenderer;\n createDataProps: CreateDataProps;\n formOptions: FormContextOptions;\n dataContext: ControlDataContext;\n control?: Control<any>;\n labelText?: Control<string | null | undefined>;\n schemaField?: SchemaField;\n displayControl?: Control<string | undefined>;\n style?: React.CSSProperties;\n allowedOptions?: Control<any[] | undefined>;\n useChildVisibility: (child: number | number[]) => EvalExpressionHook<boolean>;\n}\nexport function renderControlLayout({\n definition: c,\n renderer,\n renderChild: childRenderer,\n control: childControl,\n schemaField,\n dataContext,\n formOptions: dataOptions,\n createDataProps: dataProps,\n displayControl,\n style,\n labelText,\n allowedOptions,\n useChildVisibility,\n}: RenderControlProps): ControlLayoutProps {\n if (isDataControlDefinition(c)) {\n return renderData(c);\n }\n if (isGroupControlsDefinition(c)) {\n if (c.compoundField) {\n return renderData(\n dataControl(c.compoundField, c.title, {\n children: c.children,\n hideTitle: c.groupOptions?.hideTitle,\n }),\n );\n }\n return {\n processLayout: renderer.renderGroup(\n groupProps(\n c,\n childRenderer,\n dataContext,\n c.styleClass,\n style,\n useChildVisibility,\n ),\n ),\n label: {\n label: labelText?.value ?? c.title,\n className: cc(c.labelClass),\n type: LabelType.Group,\n hide: c.groupOptions?.hideTitle,\n },\n };\n }\n if (isActionControlsDefinition(c)) {\n return {\n children: renderer.renderAction({\n actionText: labelText?.value ?? c.title ?? c.actionId,\n actionId: c.actionId,\n onClick: () => {},\n className: cc(c.styleClass),\n style,\n }),\n };\n }\n if (isDisplayControlsDefinition(c)) {\n return {\n children: renderer.renderDisplay({\n data: c.displayData ?? {},\n className: cc(c.styleClass),\n style,\n display: displayControl,\n dataContext,\n }),\n };\n }\n return {};\n\n function renderData(c: DataControlDefinition, elemIndex?: number) {\n if (!schemaField) return { children: \"No schema field for: \" + c.field };\n if (!childControl) return { children: \"No control for: \" + c.field };\n const props = dataProps({\n definition: c,\n field: schemaField,\n dataContext:\n elemIndex != null\n ? { ...dataContext, path: [...dataContext.path, elemIndex] }\n : dataContext,\n control:\n elemIndex != null ? childControl!.elements[elemIndex] : childControl,\n options: dataOptions,\n style,\n allowedOptions,\n renderChild:\n elemIndex != null\n ? (k, d, p) =>\n childRenderer(k, d, p ? [elemIndex, ...p] : [elemIndex])\n : childRenderer,\n useChildVisibility,\n elementRenderer:\n elemIndex == null && schemaField.collection\n ? (ei) => renderLayoutParts(renderData(c, ei), renderer).children\n : undefined,\n });\n\n const label = !c.hideTitle\n ? controlTitle(labelText?.value ?? c.title, schemaField)\n : undefined;\n return {\n processLayout: renderer.renderData(props),\n label: {\n type: LabelType.Control,\n label,\n forId: props.id,\n required: c.required,\n hide: c.hideTitle,\n className: cc(c.labelClass),\n },\n errorControl: childControl,\n };\n }\n}\n\nexport function appendMarkup(\n k: keyof Omit<RenderedLayout, \"errorControl\" | \"style\" | \"className\">,\n markup: ReactNode,\n): (layout: RenderedLayout) => void {\n return (layout) =>\n (layout[k] = (\n <>\n {layout[k]}\n {markup}\n </>\n ));\n}\n\nexport function wrapMarkup(\n k: keyof Omit<RenderedLayout, \"errorControl\" | \"style\" | \"className\">,\n wrap: (ex: ReactNode) => ReactNode,\n): (layout: RenderedLayout) => void {\n return (layout) => (layout[k] = wrap(layout[k]));\n}\n\nexport function layoutKeyForPlacement(\n pos: AdornmentPlacement,\n): keyof Omit<RenderedLayout, \"errorControl\" | \"style\" | \"className\"> {\n switch (pos) {\n case AdornmentPlacement.ControlEnd:\n return \"controlEnd\";\n case AdornmentPlacement.ControlStart:\n return \"controlStart\";\n case AdornmentPlacement.LabelStart:\n return \"labelStart\";\n case AdornmentPlacement.LabelEnd:\n return \"labelEnd\";\n }\n}\n\nexport function appendMarkupAt(\n pos: AdornmentPlacement,\n markup: ReactNode,\n): (layout: RenderedLayout) => void {\n return appendMarkup(layoutKeyForPlacement(pos), markup);\n}\n\nexport function wrapMarkupAt(\n pos: AdornmentPlacement,\n wrap: (ex: ReactNode) => ReactNode,\n): (layout: RenderedLayout) => void {\n return wrapMarkup(layoutKeyForPlacement(pos), wrap);\n}\n\nexport function renderLayoutParts(\n props: ControlLayoutProps,\n renderer: FormRenderer,\n): RenderedLayout {\n const { className, children, style, errorControl, label, adornments } =\n props.processLayout?.(props) ?? props;\n const layout: RenderedLayout = {\n children,\n errorControl,\n style,\n className: cc(className),\n };\n (adornments ?? [])\n .sort((a, b) => a.priority - b.priority)\n .forEach((x) => x.apply(layout));\n layout.label =\n label && !label.hide\n ? renderer.renderLabel(label, layout.labelStart, layout.labelEnd)\n : undefined;\n return layout;\n}\n\nexport function controlTitle(\n title: string | undefined | null,\n field: SchemaField,\n) {\n return title ? title : fieldDisplayName(field);\n}\n","import React, {\n CSSProperties,\n Fragment,\n ReactElement,\n ReactNode,\n useEffect,\n useMemo,\n useState,\n} from \"react\";\nimport clsx from \"clsx\";\nimport { Control, Fcheckbox, formControlProps } from \"@react-typed-forms/core\";\nimport {\n ActionRendererProps,\n AdornmentProps,\n AdornmentRenderer,\n appendMarkupAt,\n ArrayRendererProps,\n ControlLayoutProps,\n DataRendererProps,\n DisplayRendererProps,\n FormRenderer,\n GroupRendererProps,\n LabelRendererProps,\n LabelType,\n RenderedControl,\n RenderedLayout,\n renderLayoutParts,\n VisibilityRendererProps,\n} from \"./controlRender\";\nimport {\n AdornmentPlacement,\n ControlAdornment,\n ControlAdornmentType,\n ControlDefinitionType,\n DataRenderType,\n DisplayDataType,\n FieldOption,\n FieldType,\n FlexRenderer,\n GridRenderer,\n HtmlDisplay,\n IconAdornment,\n IconDisplay,\n isDataGroupRenderer,\n isDisplayOnlyRenderer,\n isFlexRenderer,\n isGridRenderer,\n SchemaField,\n SchemaInterface,\n TextDisplay,\n} from \"./types\";\nimport { getOverrideClass, hasOptions, rendererClass } from \"./util\";\n\nexport interface DefaultRenderers {\n data: DataRendererRegistration;\n label: LabelRendererRegistration;\n action: ActionRendererRegistration;\n array: ArrayRendererRegistration;\n group: GroupRendererRegistration;\n display: DisplayRendererRegistration;\n adornment: AdornmentRendererRegistration;\n renderLayout: LayoutRendererRegistration;\n visibility: VisibilityRendererRegistration;\n}\n\nexport interface LayoutRendererRegistration {\n type: \"layout\";\n match?: (props: ControlLayoutProps) => boolean;\n render: (\n props: ControlLayoutProps,\n renderers: FormRenderer,\n ) => RenderedControl;\n}\nexport interface DataRendererRegistration {\n type: \"data\";\n schemaType?: string | string[];\n renderType?: string | string[];\n options?: boolean;\n collection?: boolean;\n match?: (props: DataRendererProps) => boolean;\n render: (\n props: DataRendererProps,\n renderers: FormRenderer,\n ) => ReactNode | ((layout: ControlLayoutProps) => ControlLayoutProps);\n}\n\nexport interface LabelRendererRegistration {\n type: \"label\";\n labelType?: LabelType | LabelType[];\n render: (\n labelProps: LabelRendererProps,\n labelStart: ReactNode,\n labelEnd: ReactNode,\n renderers: FormRenderer,\n ) => ReactElement;\n}\n\nexport interface ActionRendererRegistration {\n type: \"action\";\n actionType?: string | string[];\n render: (props: ActionRendererProps, renderers: FormRenderer) => ReactElement;\n}\n\nexport interface ArrayRendererRegistration {\n type: \"array\";\n render: (props: ArrayRendererProps, renderers: FormRenderer) => ReactElement;\n}\n\nexport interface GroupRendererRegistration {\n type: \"group\";\n renderType?: string | string[];\n render: (\n props: GroupRendererProps,\n renderers: FormRenderer,\n ) => ReactElement | ((layout: ControlLayoutProps) => ControlLayoutProps);\n}\n\nexport interface DisplayRendererRegistration {\n type: \"display\";\n renderType?: string | string[];\n render: (\n props: DisplayRendererProps,\n renderers: FormRenderer,\n ) => ReactElement;\n}\n\nexport interface AdornmentRendererRegistration {\n type: \"adornment\";\n adornmentType?: string | string[];\n render: (props: AdornmentProps) => AdornmentRenderer;\n}\n\nexport interface VisibilityRendererRegistration {\n type: \"visibility\";\n render: (props: VisibilityRendererProps) => ReactNode;\n}\n\nexport type RendererRegistration =\n | DataRendererRegistration\n | GroupRendererRegistration\n | DisplayRendererRegistration\n | ActionRendererRegistration\n | LabelRendererRegistration\n | ArrayRendererRegistration\n | AdornmentRendererRegistration\n | LayoutRendererRegistration\n | VisibilityRendererRegistration;\n\nexport function createFormRenderer(\n customRenderers: RendererRegistration[] = [],\n defaultRenderers: DefaultRenderers = createClassStyledRenderers(),\n): FormRenderer {\n const dataRegistrations = customRenderers.filter(isDataRegistration);\n const groupRegistrations = customRenderers.filter(isGroupRegistration);\n const adornmentRegistrations = customRenderers.filter(\n isAdornmentRegistration,\n );\n const displayRegistrations = customRenderers.filter(isDisplayRegistration);\n const labelRenderers = customRenderers.filter(isLabelRegistration);\n const arrayRenderers = customRenderers.filter(isArrayRegistration);\n const actionRenderers = customRenderers.filter(isActionRegistration);\n const layoutRenderers = customRenderers.filter(isLayoutRegistration);\n const visibilityRenderer =\n customRenderers.find(isVisibilityRegistration) ??\n defaultRenderers.visibility;\n\n const formRenderers: FormRenderer = {\n renderAction,\n renderData,\n renderGroup,\n renderDisplay,\n renderLabel,\n renderArray,\n renderAdornment,\n renderLayout,\n renderVisibility: visibilityRenderer.render,\n };\n\n function renderLayout(props: ControlLayoutProps) {\n const renderer =\n layoutRenderers.find((x) => !x.match || x.match(props)) ??\n defaultRenderers.renderLayout;\n return renderer.render(props, formRenderers);\n }\n\n function renderAdornment(props: AdornmentProps): AdornmentRenderer {\n const renderer =\n adornmentRegistrations.find((x) =>\n isOneOf(x.adornmentType, props.adornment.type),\n ) ?? defaultRenderers.adornment;\n return renderer.render(props);\n }\n\n function renderArray(props: ArrayRendererProps) {\n return (arrayRenderers[0] ?? defaultRenderers.array).render(\n props,\n formRenderers,\n );\n }\n\n function renderLabel(\n props: LabelRendererProps,\n labelStart: ReactNode,\n labelEnd: ReactNode,\n ) {\n const renderer =\n labelRenderers.find((x) => isOneOf(x.labelType, props.type)) ??\n defaultRenderers.label;\n return renderer.render(props, labelStart, labelEnd, formRenderers);\n }\n\n function renderData(\n props: DataRendererProps,\n ): (layout: ControlLayoutProps) => ControlLayoutProps {\n const {\n renderOptions: { type: renderType },\n field,\n } = props;\n\n const options = hasOptions(props);\n const renderer =\n dataRegistrations.find(\n (x) =>\n (x.collection ?? false) === (field.collection ?? false) &&\n (x.options ?? false) === options &&\n isOneOf(x.schemaType, field.type) &&\n isOneOf(x.renderType, renderType) &&\n (!x.match || x.match(props)),\n ) ?? defaultRenderers.data;\n\n const result = renderer.render(props, formRenderers);\n if (typeof result === \"function\") return result;\n return (l) => ({ ...l, children: result });\n }\n\n function renderGroup(\n props: GroupRendererProps,\n ): (layout: ControlLayoutProps) => ControlLayoutProps {\n const renderType = props.renderOptions.type;\n const renderer =\n groupRegistrations.find((x) => isOneOf(x.renderType, renderType)) ??\n defaultRenderers.group;\n const result = renderer.render(props, formRenderers);\n if (typeof result === \"function\") return result;\n return (l) => ({ ...l, children: result });\n }\n\n function renderAction(props: ActionRendererProps) {\n const renderer =\n actionRenderers.find((x) => isOneOf(x.actionType, props.actionId)) ??\n defaultRenderers.action;\n return renderer.render(props, formRenderers);\n }\n\n function renderDisplay(props: DisplayRendererProps) {\n const renderType = props.data.type;\n const renderer =\n displayRegistrations.find((x) => isOneOf(x.renderType, renderType)) ??\n defaultRenderers.display;\n return renderer.render(props, formRenderers);\n }\n\n return formRenderers;\n}\n\ninterface DefaultLabelRendererOptions {\n className?: string;\n groupLabelClass?: string;\n controlLabelClass?: string;\n requiredElement?: ReactNode;\n}\n\ninterface DefaultActionRendererOptions {\n className?: string;\n}\n\nexport function createDefaultActionRenderer(\n options: DefaultActionRendererOptions = {},\n): ActionRendererRegistration {\n function render({ onClick, actionText }: ActionRendererProps) {\n return (\n <button className={options.className} onClick={onClick}>\n {actionText}\n </button>\n );\n }\n return { render, type: \"action\" };\n}\nexport function createDefaultLabelRenderer(\n options: DefaultLabelRendererOptions = { requiredElement: <span> *</span> },\n): LabelRendererRegistration {\n const { className, groupLabelClass, controlLabelClass, requiredElement } =\n options;\n return {\n render: (props, labelStart, labelEnd) => (\n <>\n {labelStart}\n <label\n htmlFor={props.forId}\n className={rendererClass(\n props.className,\n clsx(\n className,\n props.type === LabelType.Group && groupLabelClass,\n props.type === LabelType.Control && controlLabelClass,\n ),\n )}\n >\n {props.label}\n {props.required && requiredElement}\n </label>\n {labelEnd}\n </>\n ),\n type: \"label\",\n };\n}\n\ninterface DefaultArrayRendererOptions {\n className?: string;\n removableClass?: string;\n childClass?: string;\n removableChildClass?: string;\n removeActionClass?: string;\n addActionClass?: string;\n}\n\nexport function createDefaultArrayRenderer(\n options?: DefaultArrayRendererOptions,\n): ArrayRendererRegistration {\n const {\n className,\n removableClass,\n childClass,\n removableChildClass,\n removeActionClass,\n addActionClass,\n } = options ?? {};\n function render(\n {\n elementCount,\n renderElement,\n addAction,\n removeAction,\n elementKey,\n required,\n }: ArrayRendererProps,\n { renderAction }: FormRenderer,\n ) {\n const showRemove = !required || elementCount > 1;\n return (\n <div>\n <div className={clsx(className, removeAction && removableClass)}>\n {Array.from({ length: elementCount }, (_, x) =>\n removeAction ? (\n <Fragment key={elementKey(x)}>\n <div className={clsx(childClass, removableChildClass)}>\n {renderElement(x)}\n </div>\n <div className={removeActionClass}>\n {showRemove && renderAction(removeAction(x))}\n </div>\n </Fragment>\n ) : (\n <div key={elementKey(x)} className={childClass}>\n {renderElement(x)}\n </div>\n ),\n )}\n </div>\n {addAction && (\n <div className={addActionClass}>{renderAction(addAction)}</div>\n )}\n </div>\n );\n }\n return { render, type: \"array\" };\n}\n\ninterface StyleProps {\n className?: string;\n style?: CSSProperties;\n}\n\ninterface DefaultGroupRendererOptions {\n className?: string;\n standardClassName?: string;\n gridStyles?: (columns: GridRenderer) => StyleProps;\n gridClassName?: string;\n defaultGridColumns?: number;\n flexClassName?: string;\n defaultFlexGap?: string;\n}\n\nexport function createDefaultGroupRenderer(\n options?: DefaultGroupRendererOptions,\n): GroupRendererRegistration {\n const {\n className,\n gridStyles = defaultGridStyles,\n defaultGridColumns = 2,\n gridClassName,\n standardClassName,\n flexClassName,\n defaultFlexGap,\n } = options ?? {};\n\n function defaultGridStyles({\n columns = defaultGridColumns,\n }: GridRenderer): StyleProps {\n return {\n className: gridClassName,\n style: {\n display: \"grid\",\n gridTemplateColumns: `repeat(${columns}, 1fr)`,\n },\n };\n }\n\n function flexStyles(options: FlexRenderer): StyleProps {\n return {\n className: flexClassName,\n style: {\n display: \"flex\",\n gap: options.gap ? options.gap : defaultFlexGap,\n flexDirection: options.direction\n ? (options.direction as any)\n : undefined,\n },\n };\n }\n\n function render(props: GroupRendererProps) {\n const { renderChild, renderOptions, childDefinitions } = props;\n\n const { style, className: gcn } = isGridRenderer(renderOptions)\n ? gridStyles(renderOptions)\n : isFlexRenderer(renderOptions)\n ? flexStyles(renderOptions)\n : ({ className: standardClassName } as StyleProps);\n\n return (cp: ControlLayoutProps) => {\n return {\n ...cp,\n children: (\n <div\n className={rendererClass(props.className, clsx(className, gcn))}\n style={style}\n >\n {childDefinitions?.map((c, i) => renderChild(i, i))}\n </div>\n ),\n };\n };\n }\n return { type: \"group\", render };\n}\n\nexport interface DefaultDisplayRendererOptions {\n textClassName?: string;\n htmlClassName?: string;\n}\nexport function createDefaultDisplayRenderer(\n options: DefaultDisplayRendererOptions = {},\n): DisplayRendererRegistration {\n return {\n render: (props) => <DefaultDisplay {...options} {...props} />,\n type: \"display\",\n };\n}\n\nexport function DefaultDisplay({\n data,\n display,\n className,\n style,\n ...options\n}: DefaultDisplayRendererOptions & DisplayRendererProps) {\n switch (data.type) {\n case DisplayDataType.Icon:\n return (\n <i\n style={style}\n className={clsx(\n getOverrideClass(className),\n display ? display.value : (data as IconDisplay).iconClass,\n )}\n />\n );\n case DisplayDataType.Text:\n return (\n <div\n style={style}\n className={rendererClass(className, options.textClassName)}\n >\n {display ? display.value : (data as TextDisplay).text}\n </div>\n );\n case DisplayDataType.Html:\n return (\n <div\n style={style}\n className={rendererClass(className, options.htmlClassName)}\n dangerouslySetInnerHTML={{\n __html: display ? display.value ?? \"\" : (data as HtmlDisplay).html,\n }}\n />\n );\n default:\n return <h1>Unknown display type: {data.type}</h1>;\n }\n}\n\nexport const DefaultBoolOptions: FieldOption[] = [\n { name: \"Yes\", value: true },\n { name: \"No\", value: false },\n];\ninterface DefaultDataRendererOptions {\n inputClass?: string;\n displayOnlyClass?: string;\n selectOptions?: SelectRendererOptions;\n booleanOptions?: FieldOption[];\n optionRenderer?: DataRendererRegistration;\n}\n\nexport function createDefaultDataRenderer(\n options: DefaultDataRendererOptions = {},\n): DataRendererRegistration {\n const selectRenderer = createSelectRenderer(options.selectOptions ?? {});\n const { inputClass, booleanOptions, optionRenderer, displayOnlyClass } = {\n optionRenderer: selectRenderer,\n booleanOptions: DefaultBoolOptions,\n ...options,\n };\n return createDataRenderer((props, renderers) => {\n const fieldType = props.field.type;\n if (props.toArrayProps) {\n return (p) => ({\n ...p,\n children: renderers.renderArray(props.toArrayProps!()),\n });\n }\n const renderOptions = props.renderOptions;\n if (fieldType === FieldType.Compound) {\n const groupOptions = isDataGroupRenderer(renderOptions)\n ? renderOptions.groupOptions\n : undefined;\n const {\n style,\n className,\n childDefinitions,\n renderChild,\n dataContext,\n useChildVisibility,\n } = props;\n return renderers.renderGroup({\n style,\n className,\n childDefinitions,\n renderOptions: groupOptions ?? { type: \"Standard\", hideTitle: true },\n renderChild,\n dataContext,\n useChildVisibility,\n });\n }\n let renderType = renderOptions.type;\n if (fieldType == FieldType.Any) return <>No control for Any</>;\n if (isDisplayOnlyRenderer(renderOptions))\n return (p) => ({\n ...p,\n className: displayOnlyClass,\n children: (\n <DefaultDisplayOnly\n field={props.field}\n schemaInterface={props.dataContext.schemaInterface}\n control={props.control}\n className={props.className}\n style={props.style}\n emptyText={renderOptions.emptyText}\n />\n ),\n });\n const isBool = fieldType === FieldType.Bool;\n if (booleanOptions != null && isBool && props.options == null) {\n return renderers.renderData({ ...props, options: booleanOptions });\n }\n if (renderType === DataRenderType.Standard && hasOptions(props)) {\n return optionRenderer.render(props, renderers);\n }\n switch (renderType) {\n case DataRenderType.Dropdown:\n return selectRenderer.render(props, renderers);\n }\n return renderType === DataRenderType.Checkbox ? (\n <Fcheckbox\n style={props.style}\n className={props.className}\n control={props.control}\n />\n ) : (\n <ControlInput\n className={rendererClass(props.className, inputClass)}\n style={props.style}\n id={props.id}\n readOnly={props.readonly}\n control={props.control}\n convert={createInputConversion(props.field.type)}\n />\n );\n });\n}\n\nexport function DefaultDisplayOnly({\n control,\n className,\n emptyText,\n schemaInterface,\n field,\n style,\n}: {\n control: Control<any>;\n field: SchemaField;\n schemaInterface: SchemaInterface;\n className?: string;\n style?: React.CSSProperties;\n emptyText?: string | null;\n}) {\n const v = control.value;\n const text =\n (schemaInterface.isEmptyValue(field, v)\n ? emptyText\n : schemaInterface.textValue(field, v)) ?? \"\";\n return (\n <div style={style} className={rendererClass(className)}>\n {text}\n </div>\n );\n}\n\nexport function ControlInput({\n control,\n convert,\n ...props\n}: React.InputHTMLAttributes<HTMLInputElement> & {\n control: Control<any>;\n convert: InputConversion;\n}) {\n const { errorText, value, onChange, ...inputProps } =\n formControlProps(control);\n return (\n <input\n {...inputProps}\n type={convert[0]}\n value={value == null ? \"\" : convert[2](value)}\n onChange={(e) => {\n control.value = convert[1](e.target.value);\n }}\n {...props}\n />\n );\n}\n\nexport interface DefaultAdornmentRendererOptions {}\n\nexport function createDefaultAdornmentRenderer(\n options: DefaultAdornmentRendererOptions = {},\n): AdornmentRendererRegistration {\n return {\n type: \"adornment\",\n render: ({ adornment }) => ({\n apply: (rl) => {\n if (isIconAdornment(adornment)) {\n return appendMarkupAt(\n adornment.placement ?? AdornmentPlacement.ControlStart,\n <i className={adornment.iconClass} />,\n )(rl);\n }\n },\n priority: 0,\n adornment,\n }),\n };\n}\n\nexport interface DefaultLayoutRendererOptions {\n className?: string;\n errorClass?: string;\n}\n\nexport interface DefaultRendererOptions {\n data?: DefaultDataRendererOptions;\n display?: DefaultDisplayRendererOptions;\n action?: DefaultActionRendererOptions;\n array?: DefaultArrayRendererOptions;\n group?: DefaultGroupRendererOptions;\n label?: DefaultLabelRendererOptions;\n adornment?: DefaultAdornmentRendererOptions;\n layout?: DefaultLayoutRendererOptions;\n}\n\nexport function createDefaultRenderers(\n options: DefaultRendererOptions = {},\n): DefaultRenderers {\n return {\n data: createDefaultDataRenderer(options.data),\n display: createDefaultDisplayRenderer(options.display),\n action: createDefaultActionRenderer(options.action),\n array: createDefaultArrayRenderer(options.array),\n group: createDefaultGroupRenderer(options.group),\n label: createDefaultLabelRenderer(options.label),\n adornment: createDefaultAdornmentRenderer(options.adornment),\n renderLayout: createDefaultLayoutRenderer(options.layout),\n visibility: createDefaultVisibilityRenderer(),\n };\n}\n\nfunction createDefaultLayoutRenderer(\n options: DefaultLayoutRendererOptions = {},\n) {\n return createLayoutRenderer((props, renderers) => {\n const layout = renderLayoutParts(\n {\n ...props,\n className: rendererClass(props.className, options.className),\n },\n renderers,\n );\n return {\n children: <DefaultLayout layout={layout} {...options} />,\n className: layout.className,\n style: layout.style,\n divRef: (e) =>\n e && props.errorControl\n ? (props.errorControl.meta.scrollElement = e)\n : undefined,\n };\n });\n}\n\nfunction createClassStyledRenderers() {\n return createDefaultRenderers({\n layout: { className: \"control\" },\n group: { className: \"group\" },\n array: { className: \"control-array\" },\n action: { className: \"action\" },\n data: { inputClass: \"data\" },\n display: { htmlClassName: \"html\", textClassName: \"text\" },\n });\n}\n\nfunction isAdornmentRegistration(\n x: RendererRegistration,\n): x is AdornmentRendererRegistration {\n return x.type === \"adornment\";\n}\n\nfunction isDataRegistration(\n x: RendererRegistration,\n): x is DataRendererRegistration {\n return x.type === \"data\";\n}\n\nfunction isGroupRegistration(\n x: RendererRegistration,\n): x is GroupRendererRegistration {\n return x.type === \"group\";\n}\n\nfunction isLabelRegistration(\n x: RendererRegistration,\n): x is LabelRendererRegistration {\n return x.type === \"label\";\n}\n\nfunction isLayoutRegistration(\n x: RendererRegistration,\n): x is LayoutRendererRegistration {\n return x.type === \"layout\";\n}\n\nfunction isVisibilityRegistration(\n x: RendererRegistration,\n): x is VisibilityRendererRegistration {\n return x.type === \"visibility\";\n}\n\nfunction isActionRegistration(\n x: RendererRegistration,\n): x is ActionRendererRegistration {\n return x.type === \"action\";\n}\n\nfunction isDisplayRegistration(\n x: RendererRegistration,\n): x is DisplayRendererRegistration {\n return x.type === \"display\";\n}\n\nfunction isArrayRegistration(\n x: RendererRegistration,\n): x is ArrayRendererRegistration {\n return x.type === \"array\";\n}\nfunction isOneOf<A>(x: A | A[] | undefined, v: A) {\n return x == null ? true : Array.isArray(x) ? x.includes(v) : v === x;\n}\n\nexport function isIconAdornment(a: ControlAdornment): a is IconAdornment {\n return a.type === ControlAdornmentType.Icon;\n}\n\nexport function createLayoutRenderer(\n render: LayoutRendererRegistration[\"render\"],\n options?: Partial<LayoutRendererRegistration>,\n): LayoutRendererRegistration {\n return { type: \"layout\", render, ...options };\n}\n\nexport function createArrayRenderer(\n render: ArrayRendererRegistration[\"render\"],\n options?: Partial<ArrayRendererRegistration>,\n): ArrayRendererRegistration {\n return { type: \"array\", render, ...options };\n}\n\nexport function createDataRenderer(\n render: DataRendererRegistration[\"render\"],\n options?: Partial<DataRendererRegistration>,\n): DataRendererRegistration {\n return { type: \"data\", render, ...options };\n}\n\nexport function createGroupRenderer(\n render: GroupRendererRegistration[\"render\"],\n options?: Partial<GroupRendererRegistration>,\n): GroupRendererRegistration {\n return { type: \"group\", render, ...options };\n}\n\nexport function createDisplayRenderer(\n render: DisplayRendererRegistration[\"render\"],\n options?: Partial<DisplayRendererRegistration>,\n): DisplayRendererRegistration {\n return { type: \"display\", render, ...options };\n}\n\nexport function createLabelRenderer(\n render: LabelRendererRegistration[\"render\"],\n options?: Omit<LabelRendererRegistration, \"type\">,\n): LabelRendererRegistration {\n return { type: \"label\", render, ...options };\n}\n\nexport function createVisibilityRenderer(\n render: VisibilityRendererRegistration[\"render\"],\n options?: Partial<VisibilityRendererRegistration>,\n): VisibilityRendererRegistration {\n return { type: \"visibility\", render, ...options };\n}\n\nexport function createAdornmentRenderer(\n render: (props: AdornmentProps) => AdornmentRenderer,\n options?: Partial<AdornmentRendererRegistration>,\n): AdornmentRendererRegistration {\n return { type: \"adornment\", ...options, render };\n}\n\nexport interface SelectRendererOptions {\n className?: string;\n emptyText?: string;\n requiredText?: string;\n}\n\nexport function createSelectRenderer(options: SelectRendererOptions = {}) {\n return createDataRenderer(\n (props, asArray) => (\n <SelectDataRenderer\n className={rendererClass(props.className, options.className)}\n state={props.control}\n id={props.id}\n options={props.options!}\n required={props.required}\n emptyText={options.emptyText}\n requiredText={options.requiredText}\n convert={createSelectConversion(props.field.type)}\n />\n ),\n {\n options: true,\n },\n );\n}\n\ntype SelectConversion = (a: any) => string | number;\n\ninterface SelectDataRendererProps {\n id?: string;\n className?: string;\n options: {\n name: string;\n value: any;\n disabled?: boolean;\n }[];\n emptyText?: string;\n requiredText?: string;\n required: boolean;\n state: Control<any>;\n convert: SelectConversion;\n}\n\nexport function SelectDataRenderer({\n state,\n options,\n className,\n convert,\n required,\n emptyText = \"N/A\",\n requiredText = \"<please select>\",\n ...props\n}: SelectDataRendererProps) {\n const { value, disabled } = state;\n const [showEmpty] = useState(!required || value == null);\n const optionStringMap = useMemo(\n () => Object.fromEntries(options.map((x) => [convert(x.value), x.value])),\n [options],\n );\n return (\n <select\n {...props}\n className={className}\n onChange={(v) => (state.value = optionStringMap[v.target.value])}\n value={convert(value)}\n disabled={disabled}\n >\n {showEmpty && (\n <option value=\"\">{required ? requiredText : emptyText}</option>\n )}\n {options.map((x, i) => (\n <option key={i} value={convert(x.value)} disabled={x.disabled}>\n {x.name}\n </option>\n ))}\n </select>\n );\n}\n\nexport function createSelectConversion(ft: string): SelectConversion {\n switch (ft) {\n case FieldType.String:\n case FieldType.Int:\n case FieldType.Double:\n return (a) => a;\n default:\n return (a) => a?.toString() ?? \"\";\n }\n}\n\ntype InputConversion = [string, (s: any) => any, (a: any) => string | number];\n\nexport function createInputConversion(ft: string): InputConversion {\n switch (ft) {\n case FieldType.String:\n return [\"text\", (a) => a, (a) => a];\n case FieldType.Bool:\n return [\"text\", (a) => a === \"true\", (a) => a?.toString() ?? \"\"];\n case FieldType.Int:\n return [\n \"number\",\n (a) => (a !== \"\" ? parseInt(a) : null),\n (a) => (a == null ? \"\" : a),\n ];\n case FieldType.Date:\n return [\"date\", (a) => a, (a) => a];\n case FieldType.Double:\n return [\"number\", (a) => parseFloat(a), (a) => a];\n default:\n return [\"text\", (a) => a, (a) => a];\n }\n}\n\nexport function createDefaultVisibilityRenderer() {\n return createVisibilityRenderer((props) => <DefaultVisibility {...props} />);\n}\n\nexport function DefaultVisibility({\n visibility,\n children,\n className,\n style,\n divRef,\n}: VisibilityRendererProps) {\n const v = visibility.value;\n useEffect(() => {\n if (v) {\n visibility.setValue((ex) => ({ visible: v.visible, showing: v.visible }));\n }\n }, [v?.visible]);\n return v?.visible ? (\n <div className={clsx(className)} style={style} ref={divRef}>\n {children}\n </div>\n ) : (\n <></>\n );\n}\n\nexport function DefaultLayout({\n errorClass,\n layout: { controlEnd, controlStart, label, children, errorControl },\n}: DefaultLayoutRendererOptions & {\n layout: RenderedLayout;\n}) {\n const ec = errorControl;\n const errorText = ec && ec.touched ? ec.error : undefined;\n return (\n <>\n {label}\n {controlStart}\n {children}\n {errorText && <div className={errorClass}>{errorText}</div>}\n {controlEnd}\n </>\n );\n}\n","import React from \"react\";\nimport { DefaultRendererOptions } from \"./renderers\";\n\nexport const defaultTailwindTheme = {\n label: {\n groupLabelClass: \"font-bold\",\n requiredElement: <span className=\"text-red-500\"> *</span>,\n },\n array: {\n removableClass: \"grid grid-cols-[1fr_auto] items-center gap-x-2\",\n childClass: \"grow my-2\",\n addActionClass: \"my-2\",\n },\n group: {\n standardClassName: \"flex flex-col gap-4\",\n gridClassName: \"gap-x-2 gap-y-4\",\n flexClassName: \"gap-2\",\n },\n action: {\n className: \"bg-primary rounded-lg p-3 text-white\",\n },\n layout: {\n className: \"flex flex-col\",\n errorClass: \"text-sm text-danger-500\",\n },\n data: {\n displayOnlyClass: \"flex flex-row items-center gap-2\",\n },\n} satisfies DefaultRendererOptions;\n"],"names":["FieldType","ControlDefinitionType","DynamicPropertyType","ExpressionType","AdornmentPlacement","ControlAdornmentType","DataRenderType","SyncTextType","GroupRenderType","DisplayDataType","ValidatorType","DateComparison","isDataControlDefinition","x","type","Data","isGroupControlsDefinition","Group","isDisplayControlsDefinition","Display","isActionControlsDefinition","Action","visitControlDefinition","visitor","defaultValue","action","data","display","group","isGridRenderer","options","Grid","isFlexRenderer","Flex","isDisplayOnlyRenderer","DisplayOnly","isDataGroupRenderer","applyDefaultValues","v","fields","defaultValueForFields","applyValue","filter","isCompoundField","field","length","out","_extends","forEach","applyDefaultForField","defaultValueForField","parent","notElement","collection","map","required","treeChildren","children","Object","fromEntries","sf","undefined","isRequired","childValue","notNullable","elementValueForField","findScalarField","findField","findCompoundField","find","isScalarField","Compound","isDataControl","c","isGroupControl","fieldHasTag","tag","_field$tags","Boolean","tags","includes","fieldDisplayName","_field$displayName","displayName","hasOptions","o","_o$options$length","_o$options","defaultControlForField","title","_sf$tags","htmlEditor","renderOptions","HtmlEditor","Standard","findReferencedControl","control","_control$children","compoundField","findReferencedControlInArray","controls","_iterator","_createForOfIteratorHelperLoose","_step","done","value","ref","addMissingControls","changes","flatMap","existing","changedCompounds","_cf$children","ex","cf","concat","useUpdatedRef","a","r","useRef","current","isControlReadonly","readonly","getDisplayOnlyOptions","d","getTypeField","context","typeSchemaField","isTypeField","lookupChildControl","visitControlDataArray","cb","_iterator2","_step2","visitControlData","definition","ctx","def","processData","fieldName","fieldData","thisPath","path","lookupControl","result","cIndex","_iterator3","_control$elements","elements","_step3","elemResult","cfResult","child","childPath","watchControlLookup","cleanDataForSchema","typeField","typeValue","cleanableFields","_x$onlyForTypes$lengt","_x$onlyForTypes","onlyForTypes","_x$onlyForTypes2","canBeNull","childFields","Array","isArray","cv","getAllReferencedClasses","collectExtra","_c$children","_collectExtra","childClasses","tc","clsx","styleClass","layoutClass","labelClass","getOverrideClass","jsonPathString","jsonPath","customIndex","i","_customIndex","findChildDefinition","base","className","startsWith","substring","rendererClass","controlClass","globalClass","oc","index","childId","_c$fields","next","trackControlChange","ControlChange","Structure","_c$elements","makeHook","runHook","state","deps","useDynamicHooks","hooks","hookEntries","entries","_ref","toDepString","join","s","useCallback","p","_ref2","f","hg","toString","buildSchema","stringField","makeScalarField","String","stringOptionsField","slice","call","arguments","withScalarOptions","n","defaultScalarField","makeCompoundField","defaultCompoundField","intField","Int","boolField","Bool","other","mergeField","mergeInto","mergeTypes","extras","mergeFields","name","newFields","withType","addFieldOption","reduce","af","_typeField$options","resolveSchemas","schemaMap","resolveSchemaType","resolvedFields","schemaRef","push","keys","dataControl","textDisplayControl","text","displayData","Text","htmlDisplayControl","html","Html","dynamicDefaultValue","expr","DefaultValue","dynamicReadonly","Readonly","dynamicVisibility","Visible","dynamicDisabled","Disabled","fieldEqExpr","DataMatch","jsonataExpr","expression","Jsonata","groupedControl","groupOptions","hideTitle","compoundControl","createAction","actionId","onClick","actionText","emptyGroupDefinition","useControlDefinitionForSchema","useMemo","_definition$children","applyExtensionToSchema","extension","outMap","cro","cr","applyExtensionsToSchema","extensions","useCalculatedControl","calculate","useControl","useControlEffect","cc","trackedStructure","tracker","Value","Proxy","get","target","receiver","Reflect","nc","useEvalVisibilityHook","useEvalExpressionHook","schemaField","useEvalDynamicHook","makeDynamicPropertyHook","useComputed","matchesType","hideDisplayOnly","schemaInterface","useEvalReadonlyHook","useEvalStyleHook","property","dynamicStyle","useEvalAllowedOptionsHook","dynamicAllowed","AllowedOptions","useEvalDisabledHook","useEvalDisplayHook","useEvalDefaultValueHook","dynamicValue","_ref3","calcDefault","_ref4","dcv","useDataExpression","fvExpr","refField","otherField","useDataMatchExpression","fv","defaultEvalHooks","useJsonataExpression","defaultUseEvalExpressionHook","makeEvalExpressionHook","_definition$dynamic","dynamic","types","_lookupChildControl","displayOptions","emptyText","isEmptyValue","jExpr","dataContext","bindings","pathString","fullExpr","compiledExpr","jsonata","e","console","error","listenerRef","_useRefState","useRefState","makeChangeTracker","l","addAfterChangesCallback","useEffect","apply","_ref$current","collect","updateSubscriptions","_temp","_finallyRethrows","bindingData","collectChanges","Promise","resolve","evaluate","then","_compiledExpr$evaluat","_wasThrown","_result","reject","useEvalLabelText","useExpr","Label","makeDefault","_dynamicValue$runHook","useValidationHook","_definition$validator","_definition$validator2","validatorTypes","validators","hidden","groupContext","_dd$validators","dd","useValueChangeEffect","setError","useValidator","useJsonataValidator","Date","useDateValidator","errorMsg","msg","dv","comparisonDate","fixedDate","parse","nowDate","UTC","getFullYear","getMonth","getDate","daysFromCurrent","selDate","notAfter","comparison","NotAfter","toDateString","defaultSchemaInterface","defaultIsEmpty","textValue","defaultTextValue","DateTime","toLocaleDateString","AppendAdornmentPriority","WrapAdornmentPriority","LabelType","useControlRenderer","renderer","_options$useDataHook","_options$schemaInterf","_options$useEvalExpre","dataProps","useDataHook","defaultDataProps","lookupSchemaField","dynamicHooks","defaultValueControl","visibleControl","readonlyControl","disabledControl","allowedOptions","labelText","customStyle","Style","layoutStyle","LayoutStyle","displayControl","useValidation","Component","rootControl","_ref$parentPath","parentPath","stopTracking","useComponentTracking","_definition$adornment","_definition$adornment2","_r$current","parentDataContext","_dynamicHooks","visible","visibility","showing","setValue","_getControlData","getControlData","parentControl","controlDataContext","dontClearHidden","isNull","vc","cd","dontClear","parentNull","clearHidden","myOptions","_visibility$fields","disabled","newControl","childOptions","React","createElement","Fragment","adornments","renderAdornment","adornment","labelAndChildren","renderControlLayout","renderChild","k","ControlRenderer","key","createDataProps","formOptions","style","useChildVisibility","childDef","renderedControl","renderLayout","renderVisibility","parentContext","_parentControl$fields","childControl","_effect","_useComponentTracking","Render","groupProps","_definition$groupOpti","childDefinitions","_field$options$length","_field$options","_allowedOptions$value","_definition$children2","_definition$renderOpt","elementRenderer","props","_objectWithoutPropertiesLoose","_excluded","fieldOptions","allowed","id","uniqueId","toArrayProps","defaultArrayProps","arrayControl","renderElement","_arrayControl$element","noun","elems","elementCount","addAction","addElement","elementKey","removeAction","removeElement","_ref5","childRenderer","dataOptions","renderData","_labelText$value","_c$groupOptions2","_c$groupOptions","processLayout","renderGroup","label","hide","_ref6","_labelText$value2","renderAction","_c$displayData","renderDisplay","elemIndex","_labelText$value3","ei","renderLayoutParts","controlTitle","Control","forId","errorControl","appendMarkup","markup","layout","wrapMarkup","wrap","layoutKeyForPlacement","pos","ControlEnd","ControlStart","LabelStart","LabelEnd","appendMarkupAt","wrapMarkupAt","_props$processLayout","_ref7","sort","b","priority","renderLabel","labelStart","labelEnd","createFormRenderer","customRenderers","defaultRenderers","_customRenderers$find","createClassStyledRenderers","dataRegistrations","isDataRegistration","groupRegistrations","isGroupRegistration","adornmentRegistrations","isAdornmentRegistration","displayRegistrations","isDisplayRegistration","labelRenderers","isLabelRegistration","arrayRenderers","isArrayRegistration","actionRenderers","isActionRegistration","layoutRenderers","isLayoutRegistration","visibilityRenderer","isVisibilityRegistration","formRenderers","renderArray","render","_layoutRenderers$find","match","_adornmentRegistratio","isOneOf","adornmentType","_arrayRenderers$","array","_labelRenderers$find","labelType","_dataRegistrations$fi","renderType","_x$collection","_field$collection","_x$options","schemaType","_groupRegistrations$f","_actionRenderers$find","actionType","_displayRegistrations","createDefaultActionRenderer","createDefaultLabelRenderer","requiredElement","_options","groupLabelClass","controlLabelClass","htmlFor","createDefaultArrayRenderer","removableClass","childClass","removableChildClass","removeActionClass","addActionClass","showRemove","from","_","createDefaultGroupRenderer","_ref5$gridStyles","gridStyles","defaultGridStyles","_ref5$defaultGridColu","defaultGridColumns","gridClassName","standardClassName","flexClassName","defaultFlexGap","_ref6$columns","columns","gridTemplateColumns","flexStyles","gap","flexDirection","direction","gcn","cp","createDefaultDisplayRenderer","DefaultDisplay","_ref8","_display$value","Icon","iconClass","textClassName","htmlClassName","dangerouslySetInnerHTML","__html","DefaultBoolOptions","createDefaultDataRenderer","_options$selectOption","selectRenderer","createSelectRenderer","selectOptions","_optionRenderer$boole","optionRenderer","booleanOptions","inputClass","displayOnlyClass","createDataRenderer","renderers","fieldType","Any","DefaultDisplayOnly","isBool","Dropdown","Checkbox","Fcheckbox","ControlInput","readOnly","convert","createInputConversion","_ref9","_effect2","_ref10","_ref11","_effect3","_excluded2","_formControlProps","formControlProps","errorText","onChange","inputProps","_excluded3","createDefaultAdornmentRenderer","_ref12","rl","isIconAdornment","_adornment$placement","placement","createDefaultRenderers","createDefaultLayoutRenderer","createDefaultVisibilityRenderer","createLayoutRenderer","DefaultLayout","divRef","meta","scrollElement","createArrayRenderer","createGroupRenderer","createDisplayRenderer","createLabelRenderer","createVisibilityRenderer","createAdornmentRenderer","asArray","SelectDataRenderer","requiredText","createSelectConversion","_ref13","_effect4","_ref13$emptyText","_ref13$requiredText","_excluded4","_useState","useState","showEmpty","optionStringMap","ft","Double","_a$toString","_a$toString2","parseInt","parseFloat","DefaultVisibility","_ref14","_effect5","_ref15","_effect6","errorClass","_ref15$layout","controlEnd","controlStart","ec","touched","defaultTailwindTheme"],"mappings":";;;;;;;;;;;AAmBYA,2BAYX;AAZD,CAAA,UAAYA,SAAS,EAAA;AACnBA,EAAAA,SAAA,CAAA,QAAA,CAAA,GAAA,QAAiB,CAAA;AACjBA,EAAAA,SAAA,CAAA,MAAA,CAAA,GAAA,MAAa,CAAA;AACbA,EAAAA,SAAA,CAAA,KAAA,CAAA,GAAA,KAAW,CAAA;AACXA,EAAAA,SAAA,CAAA,MAAA,CAAA,GAAA,MAAa,CAAA;AACbA,EAAAA,SAAA,CAAA,UAAA,CAAA,GAAA,UAAqB,CAAA;AACrBA,EAAAA,SAAA,CAAA,QAAA,CAAA,GAAA,QAAiB,CAAA;AACjBA,EAAAA,SAAA,CAAA,WAAA,CAAA,GAAA,WAAuB,CAAA;AACvBA,EAAAA,SAAA,CAAA,UAAA,CAAA,GAAA,UAAqB,CAAA;AACrBA,EAAAA,SAAA,CAAA,QAAA,CAAA,GAAA,QAAiB,CAAA;AACjBA,EAAAA,SAAA,CAAA,OAAA,CAAA,GAAA,OAAe,CAAA;AACfA,EAAAA,SAAA,CAAA,KAAA,CAAA,GAAA,KAAW,CAAA;AACb,CAAC,EAZWA,iBAAS,KAATA,iBAAS,GAYpB,EAAA,CAAA,CAAA,CAAA;AA6CWC,uCAKX;AALD,CAAA,UAAYA,qBAAqB,EAAA;AAC/BA,EAAAA,qBAAA,CAAA,MAAA,CAAA,GAAA,MAAa,CAAA;AACbA,EAAAA,qBAAA,CAAA,OAAA,CAAA,GAAA,OAAe,CAAA;AACfA,EAAAA,qBAAA,CAAA,SAAA,CAAA,GAAA,SAAmB,CAAA;AACnBA,EAAAA,qBAAA,CAAA,QAAA,CAAA,GAAA,QAAiB,CAAA;AACnB,CAAC,EALWA,6BAAqB,KAArBA,6BAAqB,GAKhC,EAAA,CAAA,CAAA,CAAA;AAOWC,qCAUX;AAVD,CAAA,UAAYA,mBAAmB,EAAA;AAC7BA,EAAAA,mBAAA,CAAA,SAAA,CAAA,GAAA,SAAmB,CAAA;AACnBA,EAAAA,mBAAA,CAAA,cAAA,CAAA,GAAA,cAA6B,CAAA;AAC7BA,EAAAA,mBAAA,CAAA,UAAA,CAAA,GAAA,UAAqB,CAAA;AACrBA,EAAAA,mBAAA,CAAA,UAAA,CAAA,GAAA,UAAqB,CAAA;AACrBA,EAAAA,mBAAA,CAAA,SAAA,CAAA,GAAA,SAAmB,CAAA;AACnBA,EAAAA,mBAAA,CAAA,OAAA,CAAA,GAAA,OAAe,CAAA;AACfA,EAAAA,mBAAA,CAAA,aAAA,CAAA,GAAA,aAA2B,CAAA;AAC3BA,EAAAA,mBAAA,CAAA,gBAAA,CAAA,GAAA,gBAAiC,CAAA;AACjCA,EAAAA,mBAAA,CAAA,OAAA,CAAA,GAAA,OAAe,CAAA;AACjB,CAAC,EAVWA,2BAAmB,KAAnBA,2BAAmB,GAU9B,EAAA,CAAA,CAAA,CAAA;AAMWC,gCAKX;AALD,CAAA,UAAYA,cAAc,EAAA;AACxBA,EAAAA,cAAA,CAAA,SAAA,CAAA,GAAA,SAAmB,CAAA;AACnBA,EAAAA,cAAA,CAAA,MAAA,CAAA,GAAA,MAAa,CAAA;AACbA,EAAAA,cAAA,CAAA,WAAA,CAAA,GAAA,YAAwB,CAAA;AACxBA,EAAAA,cAAA,CAAA,WAAA,CAAA,GAAA,WAAuB,CAAA;AACzB,CAAC,EALWA,sBAAc,KAAdA,sBAAc,GAKzB,EAAA,CAAA,CAAA,CAAA;AA2BWC,oCAKX;AALD,CAAA,UAAYA,kBAAkB,EAAA;AAC5BA,EAAAA,kBAAA,CAAA,cAAA,CAAA,GAAA,cAA6B,CAAA;AAC7BA,EAAAA,kBAAA,CAAA,YAAA,CAAA,GAAA,YAAyB,CAAA;AACzBA,EAAAA,kBAAA,CAAA,YAAA,CAAA,GAAA,YAAyB,CAAA;AACzBA,EAAAA,kBAAA,CAAA,UAAA,CAAA,GAAA,UAAqB,CAAA;AACvB,CAAC,EALWA,0BAAkB,KAAlBA,0BAAkB,GAK7B,EAAA,CAAA,CAAA,CAAA;AAEWC,sCAKX;AALD,CAAA,UAAYA,oBAAoB,EAAA;AAC9BA,EAAAA,oBAAA,CAAA,SAAA,CAAA,GAAA,SAAmB,CAAA;AACnBA,EAAAA,oBAAA,CAAA,WAAA,CAAA,GAAA,WAAuB,CAAA;AACvBA,EAAAA,oBAAA,CAAA,UAAA,CAAA,GAAA,UAAqB,CAAA;AACrBA,EAAAA,oBAAA,CAAA,MAAA,CAAA,GAAA,MAAa,CAAA;AACf,CAAC,EALWA,4BAAoB,KAApBA,4BAAoB,GAK/B,EAAA,CAAA,CAAA,CAAA;AAyCWC,gCAcX;AAdD,CAAA,UAAYA,cAAc,EAAA;AACxBA,EAAAA,cAAA,CAAA,UAAA,CAAA,GAAA,UAAqB,CAAA;AACrBA,EAAAA,cAAA,CAAA,OAAA,CAAA,GAAA,OAAe,CAAA;AACfA,EAAAA,cAAA,CAAA,YAAA,CAAA,GAAA,YAAyB,CAAA;AACzBA,EAAAA,cAAA,CAAA,UAAA,CAAA,GAAA,UAAqB,CAAA;AACrBA,EAAAA,cAAA,CAAA,WAAA,CAAA,GAAA,WAAuB,CAAA;AACvBA,EAAAA,cAAA,CAAA,eAAA,CAAA,GAAA,eAA+B,CAAA;AAC/BA,EAAAA,cAAA,CAAA,cAAA,CAAA,GAAA,cAA6B,CAAA;AAC7BA,EAAAA,cAAA,CAAA,cAAA,CAAA,GAAA,cAA6B,CAAA;AAC7BA,EAAAA,cAAA,CAAA,UAAA,CAAA,GAAA,UAAqB,CAAA;AACrBA,EAAAA,cAAA,CAAA,UAAA,CAAA,GAAA,UAAqB,CAAA;AACrBA,EAAAA,cAAA,CAAA,UAAA,CAAA,GAAA,UAAqB,CAAA;AACrBA,EAAAA,cAAA,CAAA,aAAA,CAAA,GAAA,aAA2B,CAAA;AAC3BA,EAAAA,cAAA,CAAA,OAAA,CAAA,GAAA,OAAe,CAAA;AACjB,CAAC,EAdWA,sBAAc,KAAdA,sBAAc,GAczB,EAAA,CAAA,CAAA,CAAA;AAkDWC,8BAIX;AAJD,CAAA,UAAYA,YAAY,EAAA;AACtBA,EAAAA,YAAA,CAAA,OAAA,CAAA,GAAA,OAAe,CAAA;AACfA,EAAAA,YAAA,CAAA,OAAA,CAAA,GAAA,OAAe,CAAA;AACfA,EAAAA,YAAA,CAAA,QAAA,CAAA,GAAA,QAAiB,CAAA;AACnB,CAAC,EAJWA,oBAAY,KAAZA,oBAAY,GAIvB,EAAA,CAAA,CAAA,CAAA;AAuBWC,iCAKX;AALD,CAAA,UAAYA,eAAe,EAAA;AACzBA,EAAAA,eAAA,CAAA,UAAA,CAAA,GAAA,UAAqB,CAAA;AACrBA,EAAAA,eAAA,CAAA,MAAA,CAAA,GAAA,MAAa,CAAA;AACbA,EAAAA,eAAA,CAAA,MAAA,CAAA,GAAA,MAAa,CAAA;AACbA,EAAAA,eAAA,CAAA,cAAA,CAAA,GAAA,cAA6B,CAAA;AAC/B,CAAC,EALWA,uBAAe,KAAfA,uBAAe,GAK1B,EAAA,CAAA,CAAA,CAAA;AA+BWC,iCAIX;AAJD,CAAA,UAAYA,eAAe,EAAA;AACzBA,EAAAA,eAAA,CAAA,MAAA,CAAA,GAAA,MAAa,CAAA;AACbA,EAAAA,eAAA,CAAA,MAAA,CAAA,GAAA,MAAa,CAAA;AACbA,EAAAA,eAAA,CAAA,MAAA,CAAA,GAAA,MAAa,CAAA;AACf,CAAC,EAJWA,uBAAe,KAAfA,uBAAe,GAI1B,EAAA,CAAA,CAAA,CAAA;AAqBWC,+BAGX;AAHD,CAAA,UAAYA,aAAa,EAAA;AACvBA,EAAAA,aAAA,CAAA,SAAA,CAAA,GAAA,SAAmB,CAAA;AACnBA,EAAAA,aAAA,CAAA,MAAA,CAAA,GAAA,MAAa,CAAA;AACf,CAAC,EAHWA,qBAAa,KAAbA,qBAAa,GAGxB,EAAA,CAAA,CAAA,CAAA;AAUWC,gCAGX;AAHD,CAAA,UAAYA,cAAc,EAAA;AACxBA,EAAAA,cAAA,CAAA,WAAA,CAAA,GAAA,WAAuB,CAAA;AACvBA,EAAAA,cAAA,CAAA,UAAA,CAAA,GAAA,UAAqB,CAAA;AACvB,CAAC,EAHWA,sBAAc,KAAdA,sBAAc,GAGzB,EAAA,CAAA,CAAA,CAAA;AASK,SAAUC,uBAAuBA,CACrCC,CAAoB,EAAA;AAEpB,EAAA,OAAOA,CAAC,CAACC,IAAI,KAAKb,6BAAqB,CAACc,IAAI,CAAA;AAC9C,CAAA;AAEM,SAAUC,yBAAyBA,CACvCH,CAAoB,EAAA;AAEpB,EAAA,OAAOA,CAAC,CAACC,IAAI,KAAKb,6BAAqB,CAACgB,KAAK,CAAA;AAC/C,CAAA;AAEM,SAAUC,2BAA2BA,CACzCL,CAAoB,EAAA;AAEpB,EAAA,OAAOA,CAAC,CAACC,IAAI,KAAKb,6BAAqB,CAACkB,OAAO,CAAA;AACjD,CAAA;AAEM,SAAUC,0BAA0BA,CACxCP,CAAoB,EAAA;AAEpB,EAAA,OAAOA,CAAC,CAACC,IAAI,KAAKb,6BAAqB,CAACoB,MAAM,CAAA;AAChD,CAAA;SASgBC,sBAAsBA,CACpCT,CAAoB,EACpBU,OAA0B,EAC1BC,YAAyC,EAAA;EAEzC,QAAQX,CAAC,CAACC,IAAI;IACZ,KAAKb,6BAAqB,CAACoB,MAAM;AAC/B,MAAA,OAAOE,OAAO,CAACE,MAAM,CAACZ,CAA4B,CAAC,CAAA;IACrD,KAAKZ,6BAAqB,CAACc,IAAI;AAC7B,MAAA,OAAOQ,OAAO,CAACG,IAAI,CAACb,CAA0B,CAAC,CAAA;IACjD,KAAKZ,6BAAqB,CAACkB,OAAO;AAChC,MAAA,OAAOI,OAAO,CAACI,OAAO,CAACd,CAA6B,CAAC,CAAA;IACvD,KAAKZ,6BAAqB,CAACgB,KAAK;AAC9B,MAAA,OAAOM,OAAO,CAACK,KAAK,CAACf,CAA8B,CAAC,CAAA;AACtD,IAAA;MACE,OAAOW,YAAY,CAACX,CAAC,CAAC,CAAA;AACzB,GAAA;AACH,CAAA;AACM,SAAUgB,cAAcA,CAC5BC,OAA2B,EAAA;AAE3B,EAAA,OAAOA,OAAO,CAAChB,IAAI,KAAKN,uBAAe,CAACuB,IAAI,CAAA;AAC9C,CAAA;AAEM,SAAUC,cAAcA,CAC5BF,OAA2B,EAAA;AAE3B,EAAA,OAAOA,OAAO,CAAChB,IAAI,KAAKN,uBAAe,CAACyB,IAAI,CAAA;AAC9C,CAAA;AAEM,SAAUC,qBAAqBA,CACnCJ,OAAsB,EAAA;AAEtB,EAAA,OAAOA,OAAO,CAAChB,IAAI,KAAKR,sBAAc,CAAC6B,WAAW,CAAA;AACpD,CAAA;AAEM,SAAUC,mBAAmBA,CACjCN,OAAsB,EAAA;AAEtB,EAAA,OAAOA,OAAO,CAAChB,IAAI,KAAKR,sBAAc,CAACW,KAAK,CAAA;AAC9C;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;ACxZgB,SAAAoB,kBAAkBA,CAChCC,CAAmC,EACnCC,MAAqB,EAAA;AAErB,EAAA,IAAI,CAACD,CAAC,EAAE,OAAOE,qBAAqB,CAACD,MAAM,CAAC,CAAA;AAC5C,EAAA,IAAME,UAAU,GAAGF,MAAM,CAACG,MAAM,CAC9B,UAAC7B,CAAC,EAAA;IAAA,OAAK8B,eAAe,CAAC9B,CAAC,CAAC,IAAI,EAAEA,CAAC,CAAC+B,KAAK,IAAIN,CAAC,CAAC,CAAA;GAC7C,CAAA,CAAA;AACD,EAAA,IAAI,CAACG,UAAU,CAACI,MAAM,EAAE,OAAOP,CAAC,CAAA;AAChC,EAAA,IAAMQ,GAAG,GAAAC,QAAA,CAAA,EAAA,EAAQT,CAAC,CAAE,CAAA;AACpBG,EAAAA,UAAU,CAACO,OAAO,CAAC,UAACnC,CAAC,EAAI;AACvBiC,IAAAA,GAAG,CAACjC,CAAC,CAAC+B,KAAK,CAAC,GACV/B,CAAC,CAAC+B,KAAK,IAAIN,CAAC,GACRW,oBAAoB,CAACX,CAAC,CAACzB,CAAC,CAAC+B,KAAK,CAAC,EAAE/B,CAAC,EAAE0B,MAAM,CAAC,GAC3CW,oBAAoB,CAACrC,CAAC,CAAC,CAAA;AAC/B,GAAC,CAAC,CAAA;AACF,EAAA,OAAOiC,GAAG,CAAA;AACZ,CAAA;AAEM,SAAUG,oBAAoBA,CAClCX,CAAM,EACNM,KAAkB,EAClBO,MAAqB,EACrBC,UAAoB,EAAA;AAEpB,EAAA,IAAIR,KAAK,CAACS,UAAU,IAAI,CAACD,UAAU,EAAE;IACnC,OAAO,CAAEd,CAAW,IAAA,IAAA,GAAXA,CAAW,GAAI,EAAE,EAAEgB,GAAG,CAAC,UAACzC,CAAC,EAAA;MAAA,OAChCoC,oBAAoB,CAACpC,CAAC,EAAE+B,KAAK,EAAEO,MAAM,EAAE,IAAI,CAAC,CAAA;KAC7C,CAAA,CAAA;AACF,GAAA;AACD,EAAA,IAAIR,eAAe,CAACC,KAAK,CAAC,EAAE;IAC1B,IAAI,CAACN,CAAC,IAAI,CAACM,KAAK,CAACW,QAAQ,EAAE,OAAOjB,CAAC,CAAA;AACnC,IAAA,OAAOD,kBAAkB,CAACC,CAAC,EAAEM,KAAK,CAACY,YAAY,GAAGL,MAAM,GAAGP,KAAK,CAACa,QAAQ,CAAC,CAAA;AAC3E,GAAA;EACD,OAAOP,oBAAoB,CAACN,KAAK,CAAC,CAAA;AACpC,CAAA;AAEM,SAAUJ,qBAAqBA,CAACD,MAAqB,EAAA;EACzD,OAAOmB,MAAM,CAACC,WAAW,CACvBpB,MAAM,CAACe,GAAG,CAAC,UAACzC,CAAC,EAAA;IAAA,OAAK,CAACA,CAAC,CAAC+B,KAAK,EAAEM,oBAAoB,CAACrC,CAAC,CAAC,CAAC,CAAA;AAAA,GAAA,CAAC,CACtD,CAAA;AACH,CAAA;AAEgB,SAAAqC,oBAAoBA,CAClCU,EAAe,EACfL,QAAyB,EAAA;EAEzB,IAAIK,EAAE,CAACpC,YAAY,KAAKqC,SAAS,EAAE,OAAOD,EAAE,CAACpC,YAAY,CAAA;EACzD,IAAMsC,UAAU,GAAG,CAAC,EAAEP,QAAQ,IAAIK,EAAE,CAACL,QAAQ,CAAC,CAAA;AAC9C,EAAA,IAAIZ,eAAe,CAACiB,EAAE,CAAC,EAAE;AACvB,IAAA,IAAIE,UAAU,EAAE;AACd,MAAA,IAAMC,UAAU,GAAGvB,qBAAqB,CAACoB,EAAE,CAACH,QAAQ,CAAC,CAAA;MACrD,OAAOG,EAAE,CAACP,UAAU,GAAG,CAACU,UAAU,CAAC,GAAGA,UAAU,CAAA;AACjD,KAAA;AACD,IAAA,OAAOH,EAAE,CAACI,WAAW,GAAIJ,EAAE,CAACP,UAAU,GAAG,EAAE,GAAG,EAAE,GAAIQ,SAAS,CAAA;AAC9D,GAAA;EACD,IAAID,EAAE,CAACP,UAAU,EAAE;AACjB,IAAA,OAAO,EAAE,CAAA;AACV,GAAA;AACD,EAAA,OAAOQ,SAAS,CAAA;AAClB,CAAA;AAEM,SAAUI,oBAAoBA,CAACL,EAAe,EAAA;AAClD,EAAA,IAAIjB,eAAe,CAACiB,EAAE,CAAC,EAAE;AACvB,IAAA,OAAOpB,qBAAqB,CAACoB,EAAE,CAACH,QAAQ,CAAC,CAAA;AAC1C,GAAA;EACD,OAAOG,EAAE,CAACpC,YAAY,CAAA;AACxB,CAAA;AAEgB,SAAA0C,eAAeA,CAC7B3B,MAAqB,EACrBK,KAAa,EAAA;AAEb,EAAA,OAAOuB,SAAS,CAAC5B,MAAM,EAAEK,KAAK,CAAC,CAAA;AACjC,CAAA;AAEgB,SAAAwB,iBAAiBA,CAC/B7B,MAAqB,EACrBK,KAAa,EAAA;AAEb,EAAA,OAAOuB,SAAS,CAAC5B,MAAM,EAAEK,KAAK,CAA8B,CAAA;AAC9D,CAAA;AAEgB,SAAAuB,SAASA,CACvB5B,MAAqB,EACrBK,KAAa,EAAA;AAEb,EAAA,OAAOL,MAAM,CAAC8B,IAAI,CAAC,UAACxD,CAAC,EAAA;AAAA,IAAA,OAAKA,CAAC,CAAC+B,KAAK,KAAKA,KAAK,CAAA;GAAC,CAAA,CAAA;AAC9C,CAAA;AAEM,SAAU0B,aAAaA,CAACV,EAAe,EAAA;AAC3C,EAAA,OAAO,CAACjB,eAAe,CAACiB,EAAE,CAAC,CAAA;AAC7B,CAAA;AAEM,SAAUjB,eAAeA,CAACiB,EAAe,EAAA;AAC7C,EAAA,OAAOA,EAAE,CAAC9C,IAAI,KAAKd,iBAAS,CAACuE,QAAQ,CAAA;AACvC,CAAA;AAEM,SAAUC,aAAaA,CAC3BC,CAAoB,EAAA;AAEpB,EAAA,OAAOA,CAAC,CAAC3D,IAAI,KAAKb,6BAAqB,CAACc,IAAI,CAAA;AAC9C,CAAA;AAEM,SAAU2D,cAAcA,CAC5BD,CAAoB,EAAA;AAEpB,EAAA,OAAOA,CAAC,CAAC3D,IAAI,KAAKb,6BAAqB,CAACgB,KAAK,CAAA;AAC/C,CAAA;AAEgB,SAAA0D,WAAWA,CAAC/B,KAAkB,EAAEgC,GAAW,EAAA;AAAA,EAAA,IAAAC,WAAA,CAAA;AACzD,EAAA,OAAOC,OAAO,CAAA,CAAAD,WAAA,GAACjC,KAAK,CAACmC,IAAI,KAAVF,IAAAA,GAAAA,KAAAA,CAAAA,GAAAA,WAAA,CAAYG,QAAQ,CAACJ,GAAG,CAAC,CAAC,CAAA;AAC3C,CAAA;AAEM,SAAUK,gBAAgBA,CAACrC,KAAkB,EAAA;AAAA,EAAA,IAAAsC,kBAAA,CAAA;EACjD,OAAAA,CAAAA,kBAAA,GAAOtC,KAAK,CAACuC,WAAW,YAAAD,kBAAA,GAAItC,KAAK,CAACA,KAAK,CAAA;AACzC,CAAA;AAEM,SAAUwC,UAAUA,CAACC,CAAgD,EAAA;EAAA,IAAAC,iBAAA,EAAAC,UAAA,CAAA;AACzE,EAAA,OAAO,EAAAD,iBAAA,GAAA,CAAAC,UAAA,GAACF,CAAC,CAACvD,OAAO,KAATyD,IAAAA,GAAAA,KAAAA,CAAAA,GAAAA,UAAA,CAAW1C,MAAM,KAAA,IAAA,GAAAyC,iBAAA,GAAI,CAAC,IAAI,CAAC,CAAA;AACrC,CAAA;AAEM,SAAUE,sBAAsBA,CAAC5B,EAAe,EAAA;AACpD,EAAA,IAAIjB,eAAe,CAACiB,EAAE,CAAC,EAAE;IACvB,OAAO;MACL9C,IAAI,EAAEb,6BAAqB,CAACc,IAAI;MAChC0E,KAAK,EAAE7B,EAAE,CAACuB,WAAW;MACrBvC,KAAK,EAAEgB,EAAE,CAAChB,KAAK;MACfW,QAAQ,EAAEK,EAAE,CAACL,QAAQ;AACrBE,MAAAA,QAAQ,EAAEG,EAAE,CAACH,QAAQ,CAACH,GAAG,CAACkC,sBAAsB,CAAA;KACjD,CAAA;AACF,GAAA,MAAM,IAAIlB,aAAa,CAACV,EAAE,CAAC,EAAE;AAAA,IAAA,IAAA8B,QAAA,CAAA;AAC5B,IAAA,IAAMC,UAAU,GAAA,CAAAD,QAAA,GAAG9B,EAAE,CAACmB,IAAI,KAAA,IAAA,GAAA,KAAA,CAAA,GAAPW,QAAA,CAASV,QAAQ,CAAC,aAAa,CAAC,CAAA;IACnD,OAAO;MACLlE,IAAI,EAAEb,6BAAqB,CAACc,IAAI;MAChC0E,KAAK,EAAE7B,EAAE,CAACuB,WAAW;MACrBvC,KAAK,EAAEgB,EAAE,CAAChB,KAAK;MACfW,QAAQ,EAAEK,EAAE,CAACL,QAAQ;AACrBqC,MAAAA,aAAa,EAAE;QACb9E,IAAI,EAAE6E,UAAU,GAAGrF,sBAAc,CAACuF,UAAU,GAAGvF,sBAAc,CAACwF,QAAAA;AAC/D,OAAA;KACF,CAAA;AACF,GAAA;AACD,EAAA,MAAM,sBAAsB,CAAA;AAC9B,CAAA;AACA,SAASC,qBAAqBA,CAC5BnD,KAAa,EACboD,OAA0B,EAAA;AAE1B,EAAA,IAAIxB,aAAa,CAACwB,OAAO,CAAC,IAAIpD,KAAK,KAAKoD,OAAO,CAACpD,KAAK,EAAE,OAAOoD,OAAO,CAAA;AACrE,EAAA,IAAItB,cAAc,CAACsB,OAAO,CAAC,EAAE;AAAA,IAAA,IAAAC,iBAAA,CAAA;AAC3B,IAAA,IAAID,OAAO,CAACE,aAAa,EACvB,OAAOtD,KAAK,KAAKoD,OAAO,CAACE,aAAa,GAAGF,OAAO,GAAGnC,SAAS,CAAA;AAC9D,IAAA,OAAOsC,4BAA4B,CAACvD,KAAK,EAAA,CAAAqD,iBAAA,GAAED,OAAO,CAACvC,QAAQ,KAAA,IAAA,GAAAwC,iBAAA,GAAI,EAAE,CAAC,CAAA;AACnE,GAAA;AACD,EAAA,OAAOpC,SAAS,CAAA;AAClB,CAAA;AAEA,SAASsC,4BAA4BA,CACnCvD,KAAa,EACbwD,QAA6B,EAAA;AAE7B,EAAA,KAAA,IAAAC,SAAA,GAAAC,+BAAA,CAAgBF,QAAQ,CAAA,EAAAG,KAAA,EAAA,CAAA,CAAAA,KAAA,GAAAF,SAAA,EAAA,EAAAG,IAAA,GAAE;AAAA,IAAA,IAAf/B,CAAC,GAAA8B,KAAA,CAAAE,KAAA,CAAA;AACV,IAAA,IAAMC,GAAG,GAAGX,qBAAqB,CAACnD,KAAK,EAAE6B,CAAC,CAAC,CAAA;IAC3C,IAAIiC,GAAG,EAAE,OAAOA,GAAG,CAAA;AACpB,GAAA;AACD,EAAA,OAAO7C,SAAS,CAAA;AAClB,CAAA;AAEgB,SAAA8C,kBAAkBA,CAChCpE,MAAqB,EACrB6D,QAA6B,EAAA;EAE7B,IAAMQ,OAAO,GAGPrE,MAAM,CAACsE,OAAO,CAAC,UAAChG,CAAC,EAAI;IACzB,IAAI8D,WAAW,CAAC9D,CAAC,EAAE,YAAY,CAAC,EAAE,OAAO,EAAE,CAAA;IAC3C,IAAMiG,QAAQ,GAAGX,4BAA4B,CAACtF,CAAC,CAAC+B,KAAK,EAAEwD,QAAQ,CAAC,CAAA;IAChE,IAAI,CAACU,QAAQ,IAAInE,eAAe,CAAC9B,CAAC,CAAC,EAAE,OAAO;AAAE+B,MAAAA,KAAK,EAAE/B,CAAC;AAAEiG,MAAAA,QAAQ,EAARA,QAAAA;KAAU,CAAA;AAClE,IAAA,OAAO,EAAE,CAAA;AACX,GAAC,CAAC,CAAA;EACF,IAAMC,gBAAgB,GAAGX,QAAQ,CAAC9C,GAAG,CAAC,UAACzC,CAAC,EAAI;AAAA,IAAA,IAAAmG,YAAA,CAAA;AAC1C,IAAA,IAAMC,EAAE,GAAGL,OAAO,CAACvC,IAAI,CAAC,UAACI,CAAC,EAAA;AAAA,MAAA,OAAKA,CAAC,CAACqC,QAAQ,KAAKjG,CAAC,CAAA;KAAC,CAAA,CAAA;AAChD,IAAA,IAAI,CAACoG,EAAE,EAAE,OAAOpG,CAAC,CAAA;IACjB,IAAMqG,EAAE,GAAGrG,CAA8B,CAAA;IACzC,OAAAkC,QAAA,KACKmE,EAAE,EAAA;AACLzD,MAAAA,QAAQ,EAAEkD,kBAAkB,CACzBM,EAAE,CAACrE,KAAuB,CAACa,QAAQ,EAAAuD,CAAAA,YAAA,GACpCE,EAAE,CAACzD,QAAQ,KAAAuD,IAAAA,GAAAA,YAAA,GAAI,EAAE,CAAA;AAClB,KAAA,CAAA,CAAA;AAEL,GAAC,CAAC,CAAA;EACF,OAAOD,gBAAgB,CAACI,MAAM,CAC5BP,OAAO,CACJlE,MAAM,CAAC,UAAC7B,CAAC,EAAA;IAAA,OAAK,CAACA,CAAC,CAACiG,QAAQ,CAAA;AAAA,GAAA,CAAC,CAC1BxD,GAAG,CAAC,UAACzC,CAAC,EAAA;AAAA,IAAA,OAAK2E,sBAAsB,CAAC3E,CAAC,CAAC+B,KAAK,CAAC,CAAA;AAAA,GAAA,CAAC,CAC/C,CAAA;AACH,CAAA;AAEM,SAAUwE,aAAaA,CAAIC,CAAI,EAAA;AACnC,EAAA,IAAMC,CAAC,GAAGC,YAAM,CAACF,CAAC,CAAC,CAAA;EACnBC,CAAC,CAACE,OAAO,GAAGH,CAAC,CAAA;AACb,EAAA,OAAOC,CAAC,CAAA;AACV,CAAA;AAEM,SAAUG,iBAAiBA,CAAChD,CAAoB,EAAA;EACpD,OAAOD,aAAa,CAACC,CAAC,CAAC,IAAI,CAAC,CAACA,CAAC,CAACiD,QAAQ,CAAA;AACzC,CAAA;AAEM,SAAUC,qBAAqBA,CACnCC,CAAoB,EAAA;EAEpB,OAAOhH,uBAAuB,CAACgH,CAAC,CAAC,IAC/BA,CAAC,CAAChC,aAAa,IACf1D,qBAAqB,CAAC0F,CAAC,CAAChC,aAAa,CAAC,GACpCgC,CAAC,CAAChC,aAAa,GACf/B,SAAS,CAAA;AACf,CAAA;AAEM,SAAUgE,YAAYA,CAC1BC,OAA2B,EAAA;EAE3B,IAAMC,eAAe,GAAGD,OAAO,CAACvF,MAAM,CAAC8B,IAAI,CAAC,UAACxD,CAAC,EAAA;IAAA,OAAKA,CAAC,CAACmH,WAAW,CAAA;GAAC,CAAA,CAAA;EACjE,OAAOD,eAAe,GAClBE,kBAAkB,CAACH,OAAO,EAAEC,eAAe,CAACnF,KAAK,CAAC,GAClDiB,SAAS,CAAA;AACf,CAAA;SAEgBqE,qBAAqBA,CACnC9B,QAAgD,EAChD0B,OAA2B,EAC3BK,EAKkB,EAAA;AAElB,EAAA,IAAI,CAAC/B,QAAQ,EAAE,OAAOvC,SAAS,CAAA;AAC/B,EAAA,KAAA,IAAAuE,UAAA,GAAA9B,+BAAA,CAAgBF,QAAQ,CAAA,EAAAiC,MAAA,EAAA,CAAA,CAAAA,MAAA,GAAAD,UAAA,EAAA,EAAA5B,IAAA,GAAE;AAAA,IAAA,IAAf/B,CAAC,GAAA4D,MAAA,CAAA5B,KAAA,CAAA;IACV,IAAMa,CAAC,GAAGgB,gBAAgB,CAAC7D,CAAC,EAAEqD,OAAO,EAAEK,EAAE,CAAC,CAAA;AAC1C,IAAA,IAAIb,CAAC,KAAKzD,SAAS,EAAE,OAAOyD,CAAC,CAAA;AAC9B,GAAA;AACD,EAAA,OAAOzD,SAAS,CAAA;AAClB,CAAA;SAEgByE,gBAAgBA,CAC9BC,UAA6B,EAC7BC,GAAuB,EACvBL,EAKkB,EAAA;EAElB,OAAO7G,sBAAsB,CAC3BiH,UAAU,EACV;IACE7G,IAAI,EAAA,SAAAA,IAAC+G,CAAAA,GAA0B,EAAA;MAC7B,OAAOC,WAAW,CAACD,GAAG,EAAEA,GAAG,CAAC7F,KAAK,EAAE6F,GAAG,CAAChF,QAAQ,CAAC,CAAA;KACjD;IACD7B,KAAK,EAAA,SAAAA,KAACgG,CAAAA,CAA4B,EAAA;MAChC,OAAOc,WAAW,CAAC7E,SAAS,EAAE+D,CAAC,CAAC1B,aAAa,EAAE0B,CAAC,CAACnE,QAAQ,CAAC,CAAA;KAC3D;IACDhC,MAAM,EAAE,SAAAA,MAAA,GAAA;AAAA,MAAA,OAAMoC,SAAS,CAAA;AAAA,KAAA;IACvBlC,OAAO,EAAE,SAAAA,OAAA,GAAA;AAAA,MAAA,OAAMkC,SAAS,CAAA;AAAA,KAAA;AACzB,GAAA,EACD,YAAA;AAAA,IAAA,OAAMA,SAAS,CAAA;GAChB,CAAA,CAAA;AAED,EAAA,SAAS6E,WAAWA,CAClBD,GAAsC,EACtCE,SAAoC,EACpClF,QAAgD,EAAA;AAEhD,IAAA,IAAMmF,SAAS,GAAGD,SAAS,GAAGxE,SAAS,CAACqE,GAAG,CAACjG,MAAM,EAAEoG,SAAS,CAAC,GAAG9E,SAAS,CAAA;AAC1E,IAAA,IAAI,CAAC+E,SAAS,EACZ,OAAO,CAACD,SAAS,GAAGT,qBAAqB,CAACzE,QAAQ,EAAE+E,GAAG,EAAEL,EAAE,CAAC,GAAGtE,SAAS,CAAA;IAE1E,IAAMgF,QAAQ,GAAA1B,EAAAA,CAAAA,MAAA,CAAOqB,GAAG,CAACM,IAAI,EAAEF,CAAAA,SAAS,CAAChG,KAAK,CAAC,CAAA,CAAA;IAC/C,IAAMoD,OAAO,GAAGwC,GAAG,CAAC9G,IAAI,CAACqH,aAAa,CAACF,QAAQ,CAAC,CAAA;AAChD,IAAA,IAAI,CAAC7C,OAAO,EAAE,MAAM,sBAAsB,CAAA;AAC1C,IAAA,IAAMgD,MAAM,GAAGP,GAAG,GAAGN,EAAE,CAACM,GAAG,EAAEG,SAAS,EAAE5C,OAAO,EAAE,KAAK,CAAC,GAAGnC,SAAS,CAAA;AACnE,IAAA,IAAImF,MAAM,KAAKnF,SAAS,EAAE,OAAOmF,MAAM,CAAA;IACvC,IAAIJ,SAAS,CAACvF,UAAU,EAAE;MACxB,IAAI4F,MAAM,GAAG,CAAC,CAAA;MACd,KAAAC,IAAAA,UAAA,GAAA5C,+BAAA,CAAA,CAAA6C,iBAAA,GAAgBnD,OAAQ,CAACoD,QAAQ,KAAA,IAAA,GAAAD,iBAAA,GAAI,EAAE,GAAAE,MAAA,EAAA,CAAA,CAAAA,MAAA,GAAAH,UAAA,EAAA1C,EAAAA,IAAA,GAAE;AAAA,QAAA,IAAA2C,iBAAA,CAAA;AAAA,QAAA,IAA9B1E,CAAC,GAAA4E,MAAA,CAAA5C,KAAA,CAAA;AACV,QAAA,IAAM6C,UAAU,GAAGb,GAAG,GAAGN,EAAE,CAACM,GAAG,EAAEG,SAAS,EAAEnE,CAAC,EAAE,IAAI,CAAC,GAAGZ,SAAS,CAAA;AAChE,QAAA,IAAIyF,UAAU,KAAKzF,SAAS,EAAE,OAAOyF,UAAU,CAAA;AAC/C,QAAA,IAAI3G,eAAe,CAACiG,SAAS,CAAC,EAAE;UAC9B,IAAMW,QAAQ,GAAGrB,qBAAqB,CACpCzE,QAAQ,EAAAV,QAAA,KAEHyF,GAAG,EAAA;YACNjG,MAAM,EAAEqG,SAAS,CAACnF,QAAQ;AAC1BqF,YAAAA,IAAI,EAAA3B,EAAAA,CAAAA,MAAA,CAAM0B,QAAQ,GAAEI,MAAM,CAAA,CAAA;AAAC,WAAA,CAAA,EAE7Bd,EAAE,CACH,CAAA;AACD,UAAA,IAAIoB,QAAQ,KAAK1F,SAAS,EAAE,OAAO0F,QAAQ,CAAA;AAC5C,SAAA;AACDN,QAAAA,MAAM,EAAE,CAAA;AACT,OAAA;AACF,KAAA;AACH,GAAA;AACF,CAAA;AAEgB,SAAAhB,kBAAkBA,CAChCvG,IAAiB,EACjB8H,KAAe,EAAA;EAEf,IAAMC,SAAS,MAAAtC,MAAA,CAAOzF,IAAI,CAACoH,IAAI,EAAEU,CAAAA,KAAK,CAAC,CAAA,CAAA;AACvC,EAAA,OAAOE,kBAAkB,CAAChI,IAAI,CAACA,IAAI,EAAE+H,SAAS,CAAC,CAAA;AACjD,CAAA;AAEgB,SAAAE,kBAAkBA,CAChCrH,CAAmC,EACnCC,MAAqB,EAAA;AAErB,EAAA,IAAI,CAACD,CAAC,EAAE,OAAOA,CAAC,CAAA;AAChB,EAAA,IAAMsH,SAAS,GAAGrH,MAAM,CAAC8B,IAAI,CAAC,UAACxD,CAAC,EAAA;IAAA,OAAKA,CAAC,CAACmH,WAAW,CAAA;GAAC,CAAA,CAAA;AACnD,EAAA,IAAI,CAAC4B,SAAS,EAAE,OAAOtH,CAAC,CAAA;AACxB,EAAA,IAAMuH,SAAS,GAAGvH,CAAC,CAACsH,SAAS,CAAChH,KAAK,CAAC,CAAA;AACpC,EAAA,IAAMkH,eAAe,GAAGvH,MAAM,CAACG,MAAM,CACnC,UAAC7B,CAAC,EAAA;IAAA,IAAAkJ,qBAAA,EAAAC,eAAA,CAAA;IAAA,OAAKrH,eAAe,CAAC9B,CAAC,CAAC,IAAI,CAAAkJ,CAAAA,qBAAA,GAAAC,CAAAA,eAAA,GAACnJ,CAAC,CAACoJ,YAAY,KAAA,IAAA,GAAA,KAAA,CAAA,GAAdD,eAAA,CAAgBnH,MAAM,YAAAkH,qBAAA,GAAI,CAAC,IAAI,CAAC,CAAA;GAC/D,CAAA,CAAA;AACD,EAAA,IAAI,CAACD,eAAe,CAACjH,MAAM,EAAE,OAAOP,CAAC,CAAA;AACrC,EAAA,IAAMQ,GAAG,GAAAC,QAAA,CAAA,EAAA,EAAQT,CAAC,CAAE,CAAA;AACpBwH,EAAAA,eAAe,CAAC9G,OAAO,CAAC,UAACnC,CAAC,EAAI;AAAA,IAAA,IAAAqJ,gBAAA,CAAA;AAC5B,IAAA,IAAMnG,UAAU,GAAGzB,CAAC,CAACzB,CAAC,CAAC+B,KAAK,CAAC,CAAA;IAC7B,IACE,CAAA,CAAAsH,gBAAA,GAAArJ,CAAC,CAACoJ,YAAY,KAAdC,IAAAA,GAAAA,KAAAA,CAAAA,GAAAA,gBAAA,CAAgBlF,QAAQ,CAAC6E,SAAS,CAAC,MAAK,KAAK,IAC5C,CAAChJ,CAAC,CAACmD,WAAW,IAAImG,SAAS,EAAG,EAC/B;AACA,MAAA,OAAOrH,GAAG,CAACjC,CAAC,CAAC+B,KAAK,CAAC,CAAA;AACnB,MAAA,OAAA;AACD,KAAA;AACD,IAAA,IAAID,eAAe,CAAC9B,CAAC,CAAC,EAAE;MACtB,IAAMuJ,WAAW,GAAGvJ,CAAC,CAAC2C,YAAY,GAAGjB,MAAM,GAAG1B,CAAC,CAAC4C,QAAQ,CAAA;MACxD,IAAI5C,CAAC,CAACwC,UAAU,EAAE;AAChB,QAAA,IAAIgH,KAAK,CAACC,OAAO,CAACvG,UAAU,CAAC,EAAE;UAC7BjB,GAAG,CAACjC,CAAC,CAAC+B,KAAK,CAAC,GAAGmB,UAAU,CAACT,GAAG,CAAC,UAACiH,EAAE,EAAA;AAAA,YAAA,OAC/BZ,kBAAkB,CAACY,EAAE,EAAEH,WAAW,CAAC,CAAA;WACpC,CAAA,CAAA;AACF,SAAA;AACF,OAAA,MAAM;QACLtH,GAAG,CAACjC,CAAC,CAAC+B,KAAK,CAAC,GAAG+G,kBAAkB,CAAC5F,UAAU,EAAEqG,WAAW,CAAC,CAAA;AAC3D,OAAA;AACF,KAAA;IACD,SAASD,SAASA,GAAA;AAChB,MAAA,OACEtJ,CAAC,CAACwC,UAAU,IAAIgH,KAAK,CAACC,OAAO,CAACvG,UAAU,CAAC,IAAI,CAACA,UAAU,CAAClB,MAAAA;AACzD;AAAA,OAAA;AAEJ,KAAA;AACF,GAAC,CAAC,CAAA;AACF,EAAA,OAAOC,GAAG,CAAA;AACZ,CAAA;AAEgB,SAAA0H,uBAAuBA,CACrC/F,CAAoB,EACpBgG,YAAsE,EAAA;EAAA,IAAAC,WAAA,EAAAC,aAAA,CAAA;AAEtE,EAAA,IAAMC,YAAY,GAAA,CAAAF,WAAA,GAAGjG,CAAC,CAAChB,QAAQ,KAAA,IAAA,GAAA,KAAA,CAAA,GAAViH,WAAA,CAAY7D,OAAO,CAAC,UAAChG,CAAC,EAAA;AAAA,IAAA,OACzC2J,uBAAuB,CAAC3J,CAAC,EAAE4J,YAAY,CAAC,CAAA;GACzC,CAAA,CAAA;AACD,EAAA,IAAMI,EAAE,GAAGC,wBAAI,CACb,CACErG,CAAC,CAACsG,UAAU,EACZtG,CAAC,CAACuG,WAAW,EACbvG,CAAC,CAACwG,UAAU,CAAA9D,CAAAA,MAAA,CAAAwD,CAAAA,aAAA,GACRF,YAAY,IAAA,IAAA,GAAA,KAAA,CAAA,GAAZA,YAAY,CAAGhG,CAAC,CAAC,KAAA,IAAA,GAAAkG,aAAA,GAAI,EAAE,CAC3BrH,CAAAA,GAAG,CAAC4H,gBAAgB,CAAC,CACxB,CAAA;AACD,EAAA,IAAIN,YAAY,IAAI,CAACC,EAAE,EAAE,OAAOD,YAAY,CAAA;AAC5C,EAAA,IAAI,CAACC,EAAE,EAAE,OAAO,EAAE,CAAA;AAClB,EAAA,IAAID,YAAY,EAAE,OAAA,CAAQC,EAAE,CAAA1D,CAAAA,MAAA,CAAKyD,YAAY,CAAA,CAAA;EAC7C,OAAO,CAACC,EAAE,CAAC,CAAA;AACb,CAAA;AAEgB,SAAAM,cAAcA,CAC5BC,QAAoB,EACpBC,WAAmC,EAAA;EAEnC,IAAIvI,GAAG,GAAG,EAAE,CAAA;AACZsI,EAAAA,QAAQ,CAACpI,OAAO,CAAC,UAACV,CAAC,EAAEgJ,CAAC,EAAI;AACxB,IAAA,IAAI,OAAOhJ,CAAC,KAAK,QAAQ,EAAE;AAAA,MAAA,IAAAiJ,YAAA,CAAA;AACzBzI,MAAAA,GAAG,KAAAyI,YAAA,GAAIF,WAAW,IAAA,IAAA,GAAA,KAAA,CAAA,GAAXA,WAAW,CAAG/I,CAAC,CAAC,KAAA,IAAA,GAAAiJ,YAAA,GAAI,GAAG,GAAGjJ,CAAC,GAAG,GAAG,CAAA;AACzC,KAAA,MAAM;AACL,MAAA,IAAIgJ,CAAC,GAAG,CAAC,EAAExI,GAAG,IAAI,GAAG,CAAA;AACrBA,MAAAA,GAAG,IAAIR,CAAC,CAAA;AACT,KAAA;AACH,GAAC,CAAC,CAAA;AACF,EAAA,OAAOQ,GAAG,CAAA;AACZ,CAAA;AAEgB,SAAA0I,mBAAmBA,CACjCrI,MAAyB,EACzBsG,SAA4B,EAAA;AAE5B,EAAA,IAAIY,KAAK,CAACC,OAAO,CAACb,SAAS,CAAC,EAAE;IAC5B,IAAIgC,IAAI,GAAGtI,MAAM,CAAA;AACjBsG,IAAAA,SAAS,CAACzG,OAAO,CAAC,UAACnC,CAAC,EAAA;AAAA,MAAA,OAAM4K,IAAI,GAAGA,IAAI,CAAChI,QAAS,CAAC5C,CAAC,CAAC,CAAA;AAAA,KAAC,CAAC,CAAA;AACpD,IAAA,OAAO4K,IAAI,CAAA;AACZ,GAAA;AACD,EAAA,OAAOtI,MAAM,CAACM,QAAS,CAACgG,SAAS,CAAC,CAAA;AACpC,CAAA;AAEM,SAAUyB,gBAAgBA,CAACQ,SAAyB,EAAA;EACxD,IAAIA,SAAS,IAAIA,SAAS,CAACC,UAAU,CAAC,IAAI,CAAC,EAAE;AAC3C,IAAA,OAAOD,SAAS,CAACE,SAAS,CAAC,CAAC,CAAC,CAAA;AAC9B,GAAA;AACD,EAAA,OAAOF,SAAS,CAAA;AAClB,CAAA;AAEgB,SAAAG,aAAaA,CAC3BC,YAA4B,EAC5BC,WAA2B,EAAA;AAE3B,EAAA,IAAMC,EAAE,GAAGd,gBAAgB,CAACY,YAAY,CAAC,CAAA;EACzC,IAAIE,EAAE,KAAKF,YAAY,EAAE,OAAOhB,wBAAI,CAACgB,YAAY,EAAEC,WAAW,CAAC,CAAA;AAC/D,EAAA,OAAOC,EAAE,GAAGA,EAAE,GAAGnI,SAAS,CAAA;AAC5B,CAAA;AAEA,SAAS6F,kBAAkBA,CACzB+B,IAA8B,EAC9B3C,IAAyB,EAAA;EAEzB,IAAImD,KAAK,GAAG,CAAC,CAAA;AACb,EAAA,OAAOA,KAAK,GAAGnD,IAAI,CAACjG,MAAM,IAAI4I,IAAI,EAAE;AAClC,IAAA,IAAMS,OAAO,GAAGpD,IAAI,CAACmD,KAAK,CAAC,CAAA;AAC3B,IAAA,IAAMxH,CAAC,GAAGgH,IAAI,CAACjE,OAAO,CAAA;AACtB,IAAA,IAAI,OAAO0E,OAAO,KAAK,QAAQ,EAAE;AAAA,MAAA,IAAAC,SAAA,CAAA;MAC/B,IAAMC,IAAI,GAAAD,CAAAA,SAAA,GAAG1H,CAAC,CAAClC,MAAM,KAAR4J,IAAAA,GAAAA,KAAAA,CAAAA,GAAAA,SAAA,CAAWD,OAAO,CAAC,CAAA;MAChC,IAAI,CAACE,IAAI,EAAEC,uBAAkB,CAACZ,IAAI,EAAEa,kBAAa,CAACC,SAAS,CAAC,CAAA;AAC5Dd,MAAAA,IAAI,GAAGW,IAAI,CAAA;AACZ,KAAA,MAAM;AAAA,MAAA,IAAAI,WAAA,CAAA;MACLf,IAAI,GAAA,CAAAe,WAAA,GAAG/H,CAAC,CAAC2E,QAAQ,KAAVoD,IAAAA,GAAAA,KAAAA,CAAAA,GAAAA,WAAA,CAAaN,OAAO,CAAC,CAAA;AAC7B,KAAA;AACDD,IAAAA,KAAK,EAAE,CAAA;AACR,GAAA;AACD,EAAA,OAAOR,IAAI,CAAA;AACb,CAAA;SAUgBgB,QAAQA,CACtBC,OAAgC,EAChCC,KAAQ,EACRC,IAAc,EAAA;EAEd,OAAO;AAAEA,IAAAA,IAAI,EAAJA,IAAI;AAAED,IAAAA,KAAK,EAALA,KAAK;AAAED,IAAAA,OAAO,EAAPA,OAAAA;GAAS,CAAA;AACjC,CAAA;AAKM,SAAUG,eAAeA,CAI7BC,KAAY,EAAA;AAIZ,EAAA,IAAMC,WAAW,GAAGrJ,MAAM,CAACsJ,OAAO,CAACF,KAAK,CAAC,CAAA;AACzC,EAAA,IAAMF,IAAI,GAAGG,WAAW,CAACzJ,GAAG,CAAC,UAAA2J,IAAA,EAAA;IAAA,IAAIpM,CAAC,GAAAoM,IAAA,CAAA,CAAA,CAAA,CAAA;AAAA,IAAA,OAAMC,WAAW,CAACrM,CAAC,CAAC+L,IAAI,CAAC,CAAA;AAAA,GAAA,CAAC,CAACO,IAAI,CAAC,GAAG,CAAC,CAAA;AACtE,EAAA,IAAMzG,GAAG,GAAGa,YAAM,CAAsB,EAAE,CAAC,CAAA;AAC3C,EAAA,IAAM6F,CAAC,GAAG1G,GAAG,CAACc,OAAO,CAAA;AACrBuF,EAAAA,WAAW,CAAC/J,OAAO,CAAC,UAACnC,CAAC,EAAA;AAAA,IAAA,OAAMuM,CAAC,CAACvM,CAAC,CAAC,CAAC,CAAC,CAAC,GAAGA,CAAC,CAAC,CAAC,CAAC,CAAC8L,KAAK,CAAA;AAAA,GAAC,CAAC,CAAA;AAClD,EAAA,OAAOU,iBAAW,CAChB,UAACC,CAAI,EAAI;IACP,OAAO5J,MAAM,CAACC,WAAW,CACvBoJ,WAAW,CAACzJ,GAAG,CAAC,UAAAiK,KAAA,EAAA;MAAA,IAAEC,CAAC,GAAAD,KAAA,CAAA,CAAA,CAAA;AAAEE,QAAAA,EAAE,GAAAF,KAAA,CAAA,CAAA,CAAA,CAAA;AAAA,MAAA,OAAM,CAACC,CAAC,EAAEC,EAAE,CAACf,OAAO,CAACY,CAAC,EAAE5G,GAAG,CAACc,OAAO,CAACgG,CAAC,CAAC,CAAC,CAAC,CAAA;AAAA,KAAA,CAAC,CAC1D,CAAA;AACV,GAAC,EACD,CAACZ,IAAI,CAAC,CACP,CAAA;AACH,CAAA;AAEM,SAAUM,WAAWA,CAACrM,CAAM,EAAA;AAChC,EAAA,IAAIA,CAAC,KAAKgD,SAAS,EAAE,OAAO,GAAG,CAAA;AAC/B,EAAA,IAAIhD,CAAC,KAAK,IAAI,EAAE,OAAO,GAAG,CAAA;AAC1B,EAAA,OAAOA,CAAC,CAAC6M,QAAQ,EAAE,CAAA;AACrB;;ACveM,SAAUC,WAAWA,CAAiBlF,GAE3C,EAAA;EACC,OAAO/E,MAAM,CAACsJ,OAAO,CAACvE,GAAG,CAAC,CAACnF,GAAG,CAAC,UAACzC,CAAC,EAAA;IAAA,OAC9BA,CAAC,CAAC,CAAC,CAAgC,CAACA,CAAC,CAAC,CAAC,CAAC,CAAC,CAAA;GAC3C,CAAA,CAAA;AACH,CAAA;AAEgB,SAAA+M,WAAWA,CACzBzI,WAAmB,EACnBrD,OAA4C,EAAA;EAE5C,OAAO+L,eAAe,CAAA9K,QAAA,CAAA;IACpBjC,IAAI,EAAEd,iBAAS,CAAC8N,MAAe;AAC/B3I,IAAAA,WAAW,EAAXA,WAAAA;GACGrD,EAAAA,OAAO,CACX,CAAC,CAAA;AACJ,CAAA;SAEgBiM,kBAAkBA,CAChC5I,WAAmB,EACM;AAEzB,EAAA,OAAO0I,eAAe,CAAC;IACrB/M,IAAI,EAAEd,iBAAS,CAAC8N,MAAe;AAC/B3I,IAAAA,WAAW,EAAXA,WAAW;AACXrD,IAAAA,OAAO,EAAAkM,EAAAA,CAAAA,KAAA,CAAAC,IAAA,CAAAC,SAAA,EAAA,CAAA,CAAA;AACR,GAAA,CAAC,CAAA;AACJ,CAAA;AAEgB,SAAAC,iBAAiBA,CAG/BrM,OAAW,EAAEQ,CAAsB,EAAA;AACnC,EAAA,OAAO,UAAC8L,CAAC,EAAA;AAAA,IAAA,OAAArL,QAAA,CAAWT,EAAAA,EAAAA,CAAC,CAAC8L,CAAC,CAAC,EAAKtM,OAAO,CAAA,CAAA;GAAG,CAAA;AACzC,CAAA;AAEM,SAAU+L,eAAeA,CAC7B/L,OAAU,EAAA;AAEV,EAAA,OAAO,UAACsM,CAAC,EAAA;IAAA,OAAArL,QAAA,KAAWsL,kBAAkB,CAACD,CAAC,EAAEA,CAAC,CAAC,EAAKtM,OAAO,CAAA,CAAA;GAAG,CAAA;AAC7D,CAAA;AAEM,SAAUwM,iBAAiBA,CAC/BxM,OAAU,EAAA;AAIV,EAAA,OAAO,UAACsM,CAAC,EAAA;IAAA,OAAArL,QAAA,CAAWwL,EAAAA,EAAAA,oBAAoB,CAACH,CAAC,EAAEA,CAAC,EAAE,KAAK,CAAC,EAAKtM,OAAO,CAAA,CAAA;GAAG,CAAA;AACtE,CAAA;AAEgB,SAAA0M,QAAQA,CACtBrJ,WAAmB,EACnBrD,OAA4C,EAAA;EAE5C,OAAO+L,eAAe,CAAA9K,QAAA,CAAA;IACpBjC,IAAI,EAAEd,iBAAS,CAACyO,GAAY;AAC5BtJ,IAAAA,WAAW,EAAXA,WAAAA;GACGrD,EAAAA,OAAO,CACX,CAAC,CAAA;AACJ,CAAA;AAEgB,SAAA4M,SAASA,CACvBvJ,WAAmB,EACnBrD,OAA4C,EAAA;EAE5C,OAAO+L,eAAe,CAAA9K,QAAA,CAAA;IACpBjC,IAAI,EAAEd,iBAAS,CAAC2O,IAAa;AAC7BxJ,IAAAA,WAAW,EAAXA,WAAAA;GACGrD,EAAAA,OAAO,CACX,CAAC,CAAA;AACJ,CAAA;SAEgBoE,aAAaA,CAG3Bf,WAAmB,EACnB5C,MAAqB,EACrBqM,KAAa,EAAA;AAIb,EAAA,OAAO,UAAChM,KAAK,EAAA;IAAA,OAAAG,QAAA,CAENwL,EAAAA,EAAAA,oBAAoB,CAAC3L,KAAK,EAAEuC,WAAW,EAAE,KAAK,CAAC,EAC/CyJ,KAAK,EAAA;AACRnL,MAAAA,QAAQ,EAAElB,MAAAA;AAAM,KAAA,CAAA,CAAA;GACT,CAAA;AACb,CAAA;AAEgB,SAAA8L,kBAAkBA,CAChCzL,KAAa,EACbuC,WAAmB,EAAA;EAInB,OAAO;AACLvC,IAAAA,KAAK,EAALA,KAAK;AACLuC,IAAAA,WAAW,EAAXA,WAAW;IACXrE,IAAI,EAAEd,iBAAS,CAAC8N,MAAAA;GACjB,CAAA;AACH,CAAA;SAEgBS,oBAAoBA,CAClC3L,KAAa,EACbuC,WAAmB,EACnB9B,UAAmB,EAAA;EAInB,OAAO;AACLT,IAAAA,KAAK,EAALA,KAAK;AACLuC,IAAAA,WAAW,EAAXA,WAAW;IACXrE,IAAI,EAAEd,iBAAS,CAACuE,QAAQ;AACxBlB,IAAAA,UAAU,EAAVA,UAAU;AACVI,IAAAA,QAAQ,EAAE,EAAA;GACX,CAAA;AACH,CAAA;AAEgB,SAAAoL,UAAUA,CACxBjM,KAAkB,EAClBkM,SAAwB,EAAA;AAExB,EAAA,IAAMhI,QAAQ,GAAGgI,SAAS,CAACzK,IAAI,CAAC,UAACxD,CAAC,EAAA;AAAA,IAAA,OAAKA,CAAC,CAAC+B,KAAK,KAAKA,KAAK,CAACA,KAAK,CAAA;GAAC,CAAA,CAAA;AAC/D,EAAA,IAAIkE,QAAQ,EAAE;AACZ,IAAA,OAAOgI,SAAS,CAACxL,GAAG,CAAC,UAACzC,CAAC,EAAA;MAAA,OACrBA,CAAC,KAAKiG,QAAQ,GACVjG,CAAC,GAAAkC,QAAA,KAEIlC,CAAC,EAAA;QACJoJ,YAAY,EAAE8E,UAAU,CAAClO,CAAC,CAACoJ,YAAY,EAAErH,KAAK,CAACqH,YAAY,CAAA;OAC5D,CAAA,CAAA;KACN,CAAA,CAAA;AACF,GAAA;AACD,EAAA,OAAA,EAAA,CAAA9C,MAAA,CAAW2H,SAAS,EAAA,CAAElM,KAAK,CAAA,CAAA,CAAA;AAE3B,EAAA,SAASmM,UAAUA,CAACvB,CAAmB,EAAEJ,CAAmB,EAAA;AAC1D,IAAA,IAAI,CAACI,CAAC,EAAE,OAAOJ,CAAC,CAAA;AAChB,IAAA,IAAI,CAACA,CAAC,EAAE,OAAOI,CAAC,CAAA;AAChB,IAAA,IAAMwB,MAAM,GAAG5B,CAAC,CAAC1K,MAAM,CAAC,UAAC7B,CAAC,EAAA;AAAA,MAAA,OAAK,CAAC2M,CAAC,CAACxI,QAAQ,CAACnE,CAAC,CAAC,CAAA;KAAC,CAAA,CAAA;IAC9C,OAAOmO,MAAM,CAACnM,MAAM,GAAAsE,EAAAA,CAAAA,MAAA,CAAOqG,CAAC,EAAKwB,MAAM,CAAA,GAAIxB,CAAC,CAAA;AAC9C,GAAA;AACF,CAAA;AAEM,SAAUyB,WAAWA,CACzB1M,MAAqB,EACrB2M,IAAY,EACZzI,KAAU,EACV0I,SAAwB,EAAA;AAExB,EAAA,IAAMC,QAAQ,GAAG7M,MAAM,CAACe,GAAG,CAAC,UAACzC,CAAC,EAAA;AAAA,IAAA,OAC5BA,CAAC,CAACmH,WAAW,GAAGqH,cAAc,CAACxO,CAAC,EAAEqO,IAAI,EAAEzI,KAAK,CAAC,GAAG5F,CAAC,CAAA;GACnD,CAAA,CAAA;AACD,EAAA,OAAOsO,SAAS,CACb7L,GAAG,CAAC,UAACzC,CAAC,EAAA;IAAA,OAAAkC,QAAA,KAAWlC,CAAC,EAAA;MAAEoJ,YAAY,EAAE,CAACxD,KAAK,CAAA;AAAC,KAAA,CAAA,CAAA;AAAA,GAAG,CAAC,CAC7C6I,MAAM,CAAC,UAACC,EAAE,EAAE1O,CAAC,EAAA;AAAA,IAAA,OAAKgO,UAAU,CAAChO,CAAC,EAAE0O,EAAE,CAAC,CAAA;AAAA,GAAA,EAAEH,QAAQ,CAAC,CAAA;AACnD,CAAA;SAEgBC,cAAcA,CAC5BzF,SAAsB,EACtBsF,IAAY,EACZzI,KAAU,EAAA;AAAA,EAAA,IAAA+I,kBAAA,CAAA;EAEV,IAAM1N,OAAO,GAAA0N,CAAAA,kBAAA,GAAG5F,SAAS,CAAC9H,OAAO,KAAA,IAAA,GAAA0N,kBAAA,GAAI,EAAE,CAAA;EACvC,OAAAzM,QAAA,KACK6G,SAAS,EAAA;AACZ9H,IAAAA,OAAO,EAAAqF,EAAAA,CAAAA,MAAA,CAAMrF,OAAO,EAAE,CAAA;AAAEoN,MAAAA,IAAI,EAAJA,IAAI;AAAEzI,MAAAA,KAAK,EAALA,KAAAA;KAAO,CAAA,CAAA;AAAC,GAAA,CAAA,CAAA;AAE1C,CAAA;AAEM,SAAUgJ,cAAcA,CAAsBC,SAAY,EAAA;EAC9D,IAAM5M,GAAG,GAAc,EAAE,CAAA;EACzB,SAAS6M,iBAAiBA,CAAC7O,IAAY,EAAA;IACrC,IAAIA,IAAI,IAAIgC,GAAG,EAAE;MACf,OAAOA,GAAG,CAAChC,IAAI,CAAC,CAAA;AACjB,KAAA;IACD,IAAM8O,cAAc,GAAkB,EAAE,CAAA;AACxC9M,IAAAA,GAAG,CAAChC,IAAI,CAAC,GAAG8O,cAAc,CAAA;IAC1BF,SAAS,CAAC5O,IAAI,CAAC,CAACkC,OAAO,CAAC,UAACnC,CAAC,EAAI;MAC5B,IAAI8B,eAAe,CAAC9B,CAAC,CAAC,IAAIA,CAAC,CAACgP,SAAS,EAAE;AACrCD,QAAAA,cAAc,CAACE,IAAI,CAAA/M,QAAA,KACdlC,CAAC,EAAA;AACJ4C,UAAAA,QAAQ,EAAEkM,iBAAiB,CAAC9O,CAAC,CAACgP,SAAS,CAAA;AAAC,SAAA,CACxB,CAAC,CAAA;AACpB,OAAA,MAAM;AACLD,QAAAA,cAAc,CAACE,IAAI,CAACjP,CAAC,CAAC,CAAA;AACvB,OAAA;AACH,KAAC,CAAC,CAAA;AACF,IAAA,OAAO+O,cAAc,CAAA;AACvB,GAAA;EACAlM,MAAM,CAACqM,IAAI,CAACL,SAAS,CAAC,CAAC1M,OAAO,CAAC2M,iBAAiB,CAAC,CAAA;AACjD,EAAA,OAAO7M,GAAQ,CAAA;AACjB;;SC3MgBkN,WAAWA,CACzBpN,KAAa,EACb6C,KAAqB,EACrB3D,OAAwC,EAAA;AAExC,EAAA,OAAAiB,QAAA,CAAA;IAASjC,IAAI,EAAEb,6BAAqB,CAACc,IAAI;AAAE6B,IAAAA,KAAK,EAALA,KAAK;AAAE6C,IAAAA,KAAK,EAALA,KAAAA;AAAK,GAAA,EAAK3D,OAAO,CAAA,CAAA;AACrE,CAAA;AAEgB,SAAAmO,kBAAkBA,CAChCC,IAAY,EACZpO,OAA2C,EAAA;AAE3C,EAAA,OAAAiB,QAAA,CAAA;IACEjC,IAAI,EAAEb,6BAAqB,CAACkB,OAAO;AACnCgP,IAAAA,WAAW,EAAE;MAAErP,IAAI,EAAEL,uBAAe,CAAC2P,IAAI;AAAEF,MAAAA,IAAI,EAAJA,IAAAA;AAAqB,KAAA;AAAA,GAAA,EAC7DpO,OAAO,CAAA,CAAA;AAEd,CAAA;AAEgB,SAAAuO,kBAAkBA,CAChCC,IAAY,EACZxO,OAA2C,EAAA;AAE3C,EAAA,OAAAiB,QAAA,CAAA;IACEjC,IAAI,EAAEb,6BAAqB,CAACkB,OAAO;AACnCgP,IAAAA,WAAW,EAAE;MAAErP,IAAI,EAAEL,uBAAe,CAAC8P,IAAI;AAAED,MAAAA,IAAI,EAAJA,IAAAA;AAAqB,KAAA;AAAA,GAAA,EAC7DxO,OAAO,CAAA,CAAA;AAEd,CAAA;AAEM,SAAU0O,mBAAmBA,CAACC,IAAsB,EAAA;EACxD,OAAO;IAAE3P,IAAI,EAAEZ,2BAAmB,CAACwQ,YAAY;AAAED,IAAAA,IAAI,EAAJA,IAAAA;GAAM,CAAA;AACzD,CAAA;AAEM,SAAUE,eAAeA,CAACF,IAAsB,EAAA;EACpD,OAAO;IAAE3P,IAAI,EAAEZ,2BAAmB,CAAC0Q,QAAQ;AAAEH,IAAAA,IAAI,EAAJA,IAAAA;GAAM,CAAA;AACrD,CAAA;AAEM,SAAUI,iBAAiBA,CAACJ,IAAsB,EAAA;EACtD,OAAO;IAAE3P,IAAI,EAAEZ,2BAAmB,CAAC4Q,OAAO;AAAEL,IAAAA,IAAI,EAAJA,IAAAA;GAAM,CAAA;AACpD,CAAA;AAEM,SAAUM,eAAeA,CAACN,IAAsB,EAAA;EACpD,OAAO;IAAE3P,IAAI,EAAEZ,2BAAmB,CAAC8Q,QAAQ;AAAEP,IAAAA,IAAI,EAAJA,IAAAA;GAAM,CAAA;AACrD,CAAA;AAEgB,SAAAQ,WAAWA,CAACrO,KAAa,EAAE6D,KAAU,EAAA;EACnD,OAAO;IAAE3F,IAAI,EAAEX,sBAAc,CAAC+Q,SAAS;AAAEtO,IAAAA,KAAK,EAALA,KAAK;AAAE6D,IAAAA,KAAK,EAALA,KAAAA;GAAO,CAAA;AACzD,CAAA;AACM,SAAU0K,WAAWA,CAACC,UAAkB,EAAA;EAC5C,OAAO;IAAEtQ,IAAI,EAAEX,sBAAc,CAACkR,OAAO;AAAED,IAAAA,UAAU,EAAVA,UAAAA;GAAY,CAAA;AACrD,CAAA;SAEgBE,cAAcA,CAC5B7N,QAA6B,EAC7BgC,KAAc,EACd3D,OAA4C,EAAA;AAE5C,EAAA,OAAAiB,QAAA,CAAA;IACEjC,IAAI,EAAEb,6BAAqB,CAACgB,KAAK;AACjCwC,IAAAA,QAAQ,EAARA,QAAQ;AACRgC,IAAAA,KAAK,EAALA,KAAK;AACL8L,IAAAA,YAAY,EAAE;AAAEzQ,MAAAA,IAAI,EAAE,UAAU;AAAE0Q,MAAAA,SAAS,EAAE,CAAC/L,KAAAA;AAAO,KAAA;AAAA,GAAA,EAClD3D,OAAO,CAAA,CAAA;AAEd,CAAA;AACM,SAAU2P,eAAeA,CAC7B7O,KAAa,EACb6C,KAAyB,EACzBhC,QAA6B,EAC7B3B,OAAwC,EAAA;AAExC,EAAA,OAAAiB,QAAA,CAAA;IACEjC,IAAI,EAAEb,6BAAqB,CAACc,IAAI;AAChC6B,IAAAA,KAAK,EAALA,KAAK;AACLa,IAAAA,QAAQ,EAARA,QAAQ;AACRgC,IAAAA,KAAK,EAALA,KAAK;AACLG,IAAAA,aAAa,EAAE;AAAE9E,MAAAA,IAAI,EAAE,UAAA;AAAY,KAAA;AAAA,GAAA,EAChCgB,OAAO,CAAA,CAAA;AAEd,CAAA;SAEgB4P,YAAYA,CAC1BC,QAAgB,EAChBC,OAAmB,EACnBC,UAAmB,EAAA;EAEnB,OAAO;AAAEF,IAAAA,QAAQ,EAARA,QAAQ;AAAEC,IAAAA,OAAO,EAAPA,OAAO;AAAEC,IAAAA,UAAU,EAAEA,UAAU,IAAVA,IAAAA,GAAAA,UAAU,GAAIF,QAAAA;GAAU,CAAA;AAClE,CAAA;AAEO,IAAMG,oBAAoB,GAA8B;EAC7DhR,IAAI,EAAEb,6BAAqB,CAACgB,KAAK;AACjCwC,EAAAA,QAAQ,EAAE,EAAE;AACZ8N,EAAAA,YAAY,EAAE;IAAEzQ,IAAI,EAAEN,uBAAe,CAACsF,QAAQ;AAAE0L,IAAAA,SAAS,EAAE,IAAA;AAAM,GAAA;EAClE;SAEeO,6BAA6BA,CAC3CnO,EAAiB,EACjB2E,YAA4D;AAAA,EAAA,IAA5DA;AAAAA,IAAAA,aAAwCuJ,oBAAoB,CAAA;AAAA,GAAA;AAE5D,EAAA,OAAOE,aAAO,CACZ,YAAA;AAAA,IAAA,IAAAC,oBAAA,CAAA;IAAA,OAAAlP,QAAA,KACKwF,UAAU,EAAA;AACb9E,MAAAA,QAAQ,EAAEkD,kBAAkB,CAAC/C,EAAE,EAAAqO,CAAAA,oBAAA,GAAE1J,UAAU,CAAC9E,QAAQ,KAAAwO,IAAAA,GAAAA,oBAAA,GAAI,EAAE,CAAA;AAAC,KAAA,CAAA,CAAA;AAAA,GAC3D,EACF,CAACrO,EAAE,EAAE2E,UAAU,CAAC,CACjB,CAAA;AACH,CAAA;AAgBgB,SAAA2J,sBAAsBA,CACpCxC,SAAY,EACZyC,SAAqC,EAAA;AAErC,EAAA,IAAMC,MAAM,GAAArP,QAAA,CAAA,EAAA,EAAQ2M,SAAS,CAAE,CAAA;EAC/BhM,MAAM,CAACsJ,OAAO,CAACmF,SAAS,CAAC,CAACnP,OAAO,CAAC,UAAAiK,IAAA,EAAiB;IAAA,IAAfrK,KAAK,GAAAqK,IAAA,CAAA,CAAA,CAAA;AAAEoF,MAAAA,GAAG,GAAApF,IAAA,CAAA,CAAA,CAAA,CAAA;IAC5CmF,MAAM,CAACxP,KAAgB,CAAC,GAAG,CAACyH,KAAK,CAACC,OAAO,CAAC+H,GAAG,CAAC,GAAGA,GAAG,GAAG,CAACA,GAAG,CAAC,EAAE/C,MAAM,CAClE,UAACjI,CAAC,EAAEiL,EAAE,EAAA;AAAA,MAAA,OAAKrD,WAAW,CAAC5H,CAAC,EAAEiL,EAAE,CAACpD,IAAI,EAAEoD,EAAE,CAAC7L,KAAK,EAAE6L,EAAE,CAAC/P,MAAM,CAAC,CAAA;AAAA,KAAA,EACvD6P,MAAM,CAACxP,KAAK,CAAC,CACD,CAAA;AAChB,GAAC,CAAC,CAAA;AACF,EAAA,OAAOwP,MAAM,CAAA;AACf,CAAA;AAEgB,SAAAG,uBAAuBA,CACrC7C,SAAY,EACZ8C,UAAwC,EAAA;EAExC,OAAO/C,cAAc,CAAC+C,UAAU,CAAClD,MAAM,CAAC4C,sBAAsB,EAAExC,SAAS,CAAC,CAAC,CAAA;AAC7E;;AC9JM,SAAU+C,oBAAoBA,CAAIC,SAAkB,EAAA;AACxD,EAAA,IAAMjO,CAAC,GAAGkO,eAAU,CAACD,SAAS,CAAC,CAAA;AAC/BE,EAAAA,qBAAgB,CAACF,SAAS,EAAE,UAACpQ,CAAC,EAAA;AAAA,IAAA,OAAMmC,CAAC,CAACgC,KAAK,GAAGnE,CAAC,CAAA;AAAA,GAAC,CAAC,CAAA;AACjD,EAAA,OAAOmC,CAAC,CAAA;AACV,CAAA;AAEM,SAAUoO,EAAEA,CAACzE,CAA4B,EAAA;AAC7C,EAAA,OAAOA,CAAC,GAAGA,CAAC,GAAGvK,SAAS,CAAA;AAC1B,CAAA;AAEgB,SAAAiP,gBAAgBA,CAC9BrO,CAAa,EACbsO,OAAgC,EAAA;AAEhC,EAAA,IAAMF,EAAE,GAAGpO,CAAC,CAAC+C,OAAO,CAAA;AACpB,EAAA,IAAM+C,EAAE,GAAGsI,EAAE,CAACpM,KAAK,CAAA;EACnB,IAAI8D,EAAE,IAAI,IAAI,EAAE;AACdwI,IAAAA,OAAO,CAACtO,CAAC,EAAE6H,kBAAa,CAACC,SAAS,CAAC,CAAA;AACnC,IAAA,OAAOhC,EAAE,CAAA;AACV,GAAA;AACD,EAAA,IAAI,OAAOA,EAAE,KAAK,QAAQ,EAAE;AAC1BwI,IAAAA,OAAO,CAACtO,CAAC,EAAE6H,kBAAa,CAAC0G,KAAK,CAAC,CAAA;AAC/B,IAAA,OAAOzI,EAAE,CAAA;AACV,GAAA;AACD,EAAA,OAAO,IAAI0I,KAAK,CAAC1I,EAAE,EAAE;AACnB2I,IAAAA,GAAG,WAAAA,GAACC,CAAAA,MAAc,EAAE7F,CAAkB,EAAE8F,QAAa,EAAA;AACnD,MAAA,IAAI/I,KAAK,CAACC,OAAO,CAACC,EAAE,CAAC,EAAE;AACrBwI,QAAAA,OAAO,CAACtO,CAAC,EAAE6H,kBAAa,CAACC,SAAS,CAAC,CAAA;QACnC,IAAI,OAAOe,CAAC,KAAK,QAAQ,IAAIA,CAAC,CAAC,CAAC,CAAC,IAAI,GAAG,IAAIA,CAAC,CAAC,CAAC,CAAC,GAAG,GAAG,EACpD,OAAO+F,OAAO,CAACH,GAAG,CAAC3I,EAAE,EAAE+C,CAAC,CAAC,CAAA;AAC3B,QAAA,IAAMgG,EAAE,GAAIT,EAAE,CAACzJ,QAAgB,CAACkE,CAAC,CAAC,CAAA;AAClC,QAAA,IAAI,OAAOgG,EAAE,KAAK,UAAU,EAAE,OAAOA,EAAE,CAAA;AACvC,QAAA,IAAIA,EAAE,IAAI,IAAI,EAAE,OAAO,IAAI,CAAA;AAC3B,QAAA,OAAOR,gBAAgB,CAACQ,EAAE,EAAEP,OAAO,CAAC,CAAA;AACrC,OAAA;AACD,MAAA,IAAIzF,CAAC,IAAI/C,EAAE,EAAE,OAAOuI,gBAAgB,CAAED,EAAE,CAACtQ,MAAc,CAAC+K,CAAC,CAAC,EAAEyF,OAAO,CAAC,CAAA;AACpE,MAAA,OAAOlP,SAAS,CAAA;AAClB,KAAA;AACD,GAAA,CAAM,CAAA;AACT;;;;;;;;;;;;;SCUgB0P,qBAAqBA,CACnCC,qBAA4C,EAC5CjL,UAA6B,EAC7BkL,WAAyB,EAAA;EAEzB,IAAM5C,iBAAiB,GAAG6C,kBAAkB,CAC1CnL,UAAU,EACVrI,2BAAmB,CAAC4Q,OAAO,EAC3B0C,qBAAqB,CACtB,CAAA;AACD,EAAA,OAAOG,uBAAuB,CAC5B9C,iBAAiB,EACjB,UAACrI,GAAG,EAAAyE,IAAA,EAAA;AAAA,IAAA,IAAIwG,WAAW,GAAAxG,IAAA,CAAXwG,WAAW;MAAElL,UAAU,GAAA0E,IAAA,CAAV1E,UAAU,CAAA;IAAA,OAC7BqL,gBAAW,CAAC,YAAK;MACf,OACEC,WAAW,CAACrL,GAAG,EAAEiL,WAAW,IAAXA,IAAAA,GAAAA,KAAAA,CAAAA,GAAAA,WAAW,CAAExJ,YAAY,CAAC,KAC1C,CAACwJ,WAAW,IACX,CAACK,eAAe,CAACtL,GAAG,EAAEiL,WAAW,EAAElL,UAAU,EAAEC,GAAG,CAACuL,eAAe,CAAC,CAAC,CAAA;AAE1E,KAAC,CAAC,CAAA;GACJ,EAAA;AAAEN,IAAAA,WAAW,EAAXA,WAAW;AAAElL,IAAAA,UAAU,EAAVA,UAAAA;AAAU,GAAE,CAC5B,CAAA;AACH,CAAA;AAEgB,SAAAyL,mBAAmBA,CACjCR,qBAA4C,EAC5CjL,UAA6B,EAAA;EAE7B,IAAMoI,eAAe,GAAG+C,kBAAkB,CACxCnL,UAAU,EACVrI,2BAAmB,CAAC0Q,QAAQ,EAC5B4C,qBAAqB,CACtB,CAAA;AACD,EAAA,OAAOG,uBAAuB,CAC5BhD,eAAe,EACf,UAACnI,GAAG,EAAA+E,KAAA,EAAA;AAAA,IAAA,IAAIhF,UAAU,GAAAgF,KAAA,CAAVhF,UAAU,CAAA;AAAA,IAAA,OAChBkK,oBAAoB,CAAC,YAAA;MAAA,OAAMhL,iBAAiB,CAACc,UAAU,CAAC,CAAA;KAAC,CAAA,CAAA;GAC3D,EAAA;AAAEA,IAAAA,UAAU,EAAVA,UAAAA;AAAY,GAAA,CACf,CAAA;AACH,CAAA;SAEgB0L,gBAAgBA,CAC9BT,qBAA4C,EAC5CU,QAA6B,EAC7B3L,UAA6B,EAAA;EAE7B,IAAM4L,YAAY,GAAGT,kBAAkB,CACrCnL,UAAU,EACV2L,QAAQ,EACRV,qBAAqB,CACtB,CAAA;EACD,OAAOG,uBAAuB,CAC5BQ,YAAY,EACZ,YAAA;IAAA,OAAMxB,eAAU,CAAC9O,SAAS,CAAC,CAAA;AAAA,GAAA,EAC3BA,SAAS,CACV,CAAA;AACH,CAAA;AAEgB,SAAAuQ,yBAAyBA,CACvCZ,qBAA4C,EAC5CjL,UAA6B,EAAA;EAE7B,IAAM8L,cAAc,GAAGX,kBAAkB,CACvCnL,UAAU,EACVrI,2BAAmB,CAACoU,cAAc,EAClCd,qBAAqB,CACtB,CAAA;EACD,OAAOG,uBAAuB,CAC5BU,cAAc,EACd,YAAA;IAAA,OAAM1B,eAAU,CAAC,EAAE,CAAC,CAAA;AAAA,GAAA,EACpB9O,SAAS,CACV,CAAA;AACH,CAAA;AAEgB,SAAA0Q,mBAAmBA,CACjCf,qBAA4C,EAC5CjL,UAA6B,EAAA;EAE7B,IAAMwI,eAAe,GAAG2C,kBAAkB,CACxCnL,UAAU,EACVrI,2BAAmB,CAAC8Q,QAAQ,EAC5BwC,qBAAqB,CACtB,CAAA;EACD,OAAOG,uBAAuB,CAC5B5C,eAAe,EACf,YAAA;IAAA,OAAM4B,eAAU,CAAC,KAAK,CAAC,CAAA;AAAA,GAAA,EACvB9O,SAAS,CACV,CAAA;AACH,CAAA;AAEgB,SAAA2Q,kBAAkBA,CAChChB,qBAA4C,EAC5CjL,UAA6B,EAAA;EAK7B,OAAOmL,kBAAkB,CACvBnL,UAAU,EACVrI,2BAAmB,CAACiB,OAAO,EAC3BqS,qBAAqB,CACtB,CAAA;AACH,CAAA;SACgBiB,uBAAuBA,CACrCjB,qBAA4C,EAC5CjL,UAA6B,EAC7BkL,WAAyB,EAAA;EAEzB,IAAMiB,YAAY,GAAGhB,kBAAkB,CACrCnL,UAAU,EACVrI,2BAAmB,CAACwQ,YAAY,EAChC8C,qBAAqB,CACtB,CAAA;EACD,OAAOG,uBAAuB,CAC5Be,YAAY,EACZ,UAAClM,GAAG,EAAAmM,KAAA,EAAiC;AAAA,IAAA,IAA7BpM,UAAU,GAAAoM,KAAA,CAAVpM,UAAU;MAAEkL,WAAW,GAAAkB,KAAA,CAAXlB,WAAW,CAAA;IAC7B,OAAOG,gBAAW,CAACgB,WAAW,CAAC,CAAA;IAC/B,SAASA,WAAWA,GAAA;MAClB,IAAAC,KAAA,GAAwBjU,uBAAuB,CAAC2H,UAAU,CAAC,GACvD,CAACA,UAAU,CAAChF,QAAQ,EAAEgF,UAAU,CAAC/G,YAAY,CAAC,GAC9C,CAAC,KAAK,EAAEqC,SAAS,CAAC;AAFfN,QAAAA,QAAQ,GAAAsR,KAAA,CAAA,CAAA,CAAA;AAAEC,QAAAA,GAAG,GAAAD,KAAA,CAAA,CAAA,CAAA,CAAA;AAGpB,MAAA,OACEC,GAAG,IAAA,IAAA,GAAHA,GAAG,GACFrB,WAAW,GACRvQ,oBAAoB,CAACuQ,WAAW,EAAElQ,QAAQ,CAAC,GAC3CM,SAAS,CAAA;AAEjB,KAAA;AACF,GAAC,EACD;AAAE0E,IAAAA,UAAU,EAAVA,UAAU;AAAEkL,IAAAA,WAAW,EAAXA,WAAAA;AAAW,GAAE,CAC5B,CAAA;AACH,CAAA;AAEA,SAASsB,iBAAiBA,CACxBC,MAAsB,EACtBzS,MAAqB,EACrBb,IAAiB,EAAA;EAEjB,IAAMuT,QAAQ,GAAG9Q,SAAS,CAAC5B,MAAM,EAAEyS,MAAM,CAACpS,KAAK,CAAC,CAAA;AAChD,EAAA,IAAMsS,UAAU,GAAGD,QAAQ,GACvBhN,kBAAkB,CAACvG,IAAI,EAAEuT,QAAQ,CAACrS,KAAK,CAAC,GACxCiB,SAAS,CAAA;AACb,EAAA,OAAO4O,oBAAoB,CAAC,YAAA;AAAA,IAAA,OAAMyC,UAAU,IAAA,IAAA,GAAA,KAAA,CAAA,GAAVA,UAAU,CAAEzO,KAAK,CAAA;GAAC,CAAA,CAAA;AACtD,CAAA;AAEA,SAAS0O,sBAAsBA,CAC7BH,MAA2B,EAC3BzS,MAAqB,EACrBb,IAAiB,EAAA;EAEjB,IAAMuT,QAAQ,GAAG9Q,SAAS,CAAC5B,MAAM,EAAEyS,MAAM,CAACpS,KAAK,CAAC,CAAA;AAChD,EAAA,IAAMsS,UAAU,GAAGD,QAAQ,GACvBhN,kBAAkB,CAACvG,IAAI,EAAEuT,QAAQ,CAACrS,KAAK,CAAC,GACxCiB,SAAS,CAAA;EACb,OAAO+P,gBAAW,CAAC,YAAK;AACtB,IAAA,IAAMwB,EAAE,GAAGF,UAAU,IAAVA,IAAAA,GAAAA,KAAAA,CAAAA,GAAAA,UAAU,CAAEzO,KAAK,CAAA;IAC5B,OAAO4D,KAAK,CAACC,OAAO,CAAC8K,EAAE,CAAC,GAAGA,EAAE,CAACpQ,QAAQ,CAACgQ,MAAM,CAACvO,KAAK,CAAC,GAAG2O,EAAE,KAAKJ,MAAM,CAACvO,KAAK,CAAA;AAC5E,GAAC,CAAC,CAAA;AACJ,CAAA;AAEgB,SAAA4O,gBAAgBA,CAC9B5E,IAAsB,EACtB3I,OAA2B,EAAA;EAE3B,QAAQ2I,IAAI,CAAC3P,IAAI;IACf,KAAKX,sBAAc,CAACkR,OAAO;AACzB,MAAA,OAAOiE,oBAAoB,CACxB7E,IAA0B,CAACW,UAAU,EACtCtJ,OAAO,CACR,CAAA;IACH,KAAK3H,sBAAc,CAACY,IAAI;MACtB,OAAOgU,iBAAiB,CAACtE,IAAsB,EAAE3I,OAAO,CAACvF,MAAM,EAAEuF,OAAO,CAAC,CAAA;IAC3E,KAAK3H,sBAAc,CAAC+Q,SAAS;MAC3B,OAAOiE,sBAAsB,CAC3B1E,IAA2B,EAC3B3I,OAAO,CAACvF,MAAM,EACduF,OAAO,CACR,CAAA;AACH,IAAA;MACE,OAAO6K,eAAU,CAAC9O,SAAS,CAAC,CAAA;AAC/B,GAAA;AACH,CAAA;IAEa0R,4BAA4B,GACvCC,sBAAsB,CAACH,gBAAgB,EAAC;AAEpC,SAAUG,sBAAsBA,CACpChI,CAAwE,EAAA;AAExE,EAAA,OAAO,UAACiD,IAAI,EAAA;IAAA,OAAM;AAChB7D,MAAAA,IAAI,EAAE6D,IAAI,IAAJA,IAAAA,GAAAA,KAAAA,CAAAA,GAAAA,IAAI,CAAE3P,IAAI;AAChB6L,MAAAA,KAAK,EAAE8D,IAAI;AACX/D,MAAAA,OAAO,EAAE,SAAAA,OAAAA,CAAClE,GAAuB,EAAEmE,KAAmC,EAAI;QACxE,OAAOA,KAAK,GAAGa,CAAC,CAACb,KAAK,EAAEnE,GAAG,CAAC,GAAG3E,SAAS,CAAA;AAC1C,OAAA;KACD,CAAA;GAAC,CAAA;AACJ,CAAA;SAEgB6P,kBAAkBA,CAChCnL,UAA6B,EAC7BzH,IAAyB,EACzB0S,qBAA4C,EAAA;AAAA,EAAA,IAAAiC,mBAAA,CAAA;AAE5C,EAAA,IAAMrE,UAAU,GAAA,CAAAqE,mBAAA,GAAGlN,UAAU,CAACmN,OAAO,KAAA,IAAA,GAAA,KAAA,CAAA,GAAlBD,mBAAA,CAAoBpR,IAAI,CAAC,UAACxD,CAAC,EAAA;AAAA,IAAA,OAAKA,CAAC,CAACC,IAAI,KAAKA,IAAI,CAAA;GAAC,CAAA,CAAA;AACnE,EAAA,OAAO0S,qBAAqB,CAACpC,UAAU,oBAAVA,UAAU,CAAEX,IAAI,CAAC,CAAA;AAChD,CAAA;AAEgB,SAAAoD,WAAWA,CACzB/L,OAA2B,EAC3B6N,KAAuB,EAAA;EAEvB,IAAIA,KAAK,IAAI,IAAI,IAAIA,KAAK,CAAC9S,MAAM,KAAK,CAAC,EAAE,OAAO,IAAI,CAAA;AACpD,EAAA,IAAM+G,SAAS,GAAG/B,YAAY,CAACC,OAAO,CAAC,CAAA;EACvC,OAAO8B,SAAS,IAAI+L,KAAK,CAAC3Q,QAAQ,CAAC4E,SAAS,CAACnD,KAAK,CAAC,CAAA;AACrD,CAAA;AAEM,SAAUqN,eAAeA,CAC7BhM,OAA2B,EAC3BlF,KAAkB,EAClB2F,UAA6B,EAC7BwL,eAAgC,EAAA;AAAA,EAAA,IAAA6B,mBAAA,CAAA;AAEhC,EAAA,IAAMC,cAAc,GAAGlO,qBAAqB,CAACY,UAAU,CAAC,CAAA;EACxD,OACEsN,cAAc,IACd,CAACA,cAAc,CAACC,SAAS,IACzB/B,eAAe,CAACgC,YAAY,CAC1BnT,KAAK,EAAA,CAAAgT,mBAAA,GACL3N,kBAAkB,CAACH,OAAO,EAAElF,KAAK,CAACA,KAAK,CAAC,KAAxCgT,IAAAA,GAAAA,KAAAA,CAAAA,GAAAA,mBAAA,CAA0CnP,KAAK,CAChD,CAAA;AAEL,CAAA;SAEgB6O,oBAAoBA,CAClCU,KAAa,EACbC,WAAwB,EACxBC,QAAoC,EAAA;EAEpC,IAAMC,UAAU,GAAGhL,cAAc,CAAC8K,WAAW,CAACnN,IAAI,EAAE,UAACjI,CAAC,EAAA;AAAA,IAAA,OAAA,MAAA,GAAYA,CAAC,GAAA,GAAA,CAAA;AAAA,GAAG,CAAC,CAAA;AACvE,EAAA,IAAMuV,QAAQ,GAAGD,UAAU,GAAGA,UAAU,GAAG,IAAI,GAAGH,KAAK,GAAG,GAAG,GAAGA,KAAK,CAAA;AACrE,EAAA,IAAMK,YAAY,GAAGrE,aAAO,CAAC,YAAK;IAChC,IAAI;MACF,OAAOsE,2BAAO,CAACF,QAAQ,CAAC,CAAA;KACzB,CAAC,OAAOG,CAAC,EAAE;AACVC,MAAAA,OAAO,CAACC,KAAK,CAACF,CAAC,CAAC,CAAA;MAChB,OAAOD,2BAAO,CAAC,MAAM,CAAC,CAAA;AACvB,KAAA;AACH,GAAC,EAAE,CAACF,QAAQ,CAAC,CAAC,CAAA;AACd,EAAA,IAAMpQ,OAAO,GAAG2M,eAAU,EAAE,CAAA;AAC5B,EAAA,IAAM+D,WAAW,GAAGnP,YAAM,EAAc,CAAA;EACxC,IAAAoP,YAAA,GAAcC,gBAAW,CAAC,YAAA;MAAA,OACxBC,sBAAiB,CAAC,YAAK;AACrB,QAAA,IAAMC,CAAC,GAAGJ,WAAW,CAAClP,OAAO,CAAA;AAC7B,QAAA,IAAIsP,CAAC,EAAE;UACLJ,WAAW,CAAClP,OAAO,GAAG3D,SAAS,CAAA;AAC/BkT,UAAAA,4BAAuB,CAAC,YAAK;AAC3BD,YAAAA,CAAC,EAAE,CAAA;YACHJ,WAAW,CAAClP,OAAO,GAAGsP,CAAC,CAAA;AACzB,WAAC,CAAC,CAAA;AACH,SAAA;AACH,OAAC,CAAC,CAAA;KACH,CAAA;AAXMpQ,IAAAA,GAAG,GAAAiQ,YAAA,CAAA,CAAA,CAAA,CAAA;AAYVK,EAAAA,eAAS,CAAC,YAAK;IAAA,IAGEC,KAAK,GAALA,SAAAA,KAAKA,GAAA;MAAA,IAAA;AAClB,QAAA,IAAAC,YAAA,GAAuCxQ,GAAG,CAACc,OAAO;AAA3C2P,UAAAA,OAAO,GAAAD,YAAA,CAAA,CAAA,CAAA;AAAEE,UAAAA,mBAAmB,GAAAF,YAAA,CAAA,CAAA,CAAA,CAAA;QAAgB,IAAAG,KAAA,GAAAC,gBAAA,CAC/C,YAAA;UACF,IAAMC,WAAW,GAAGrB,QAAQ,GACxBsB,mBAAc,CAACL,OAAO,EAAEjB,QAAQ,CAAC,GACjCrS,SAAS,CAAA;UAAC,OAAA4T,OAAA,CAAAC,OAAA,CACQrB,YAAY,CAACsB,QAAQ,CACzC7E,gBAAgB,CAACmD,WAAW,CAACvU,IAAI,EAAEyV,OAAO,CAAC,EAC3CI,WAAW,CACZ,CAAA,CAAAK,IAAA,CAAA,UAAAC,qBAAA,EAAA;YAHD7R,OAAO,CAACS,KAAK,GAAAoR,qBAGZ,CAAA;AAAC,WAAA,CAAA,CAAA;SACH,EAAA,UAAAC,UAAA,EAAAC,OAAA,EAAA;AACCX,UAAAA,mBAAmB,EAAE,CAAA;UAAC,IAAAU,UAAA,QAAAC,OAAA,CAAA;AAAA,UAAA,OAAAA,OAAA,CAAA;AAAA,SAAA,CAAA,CAAA;AAAA,QAAA,OAAAN,OAAA,CAAAC,OAAA,CAAAL,KAAA,IAAAA,KAAA,CAAAO,IAAA,GAAAP,KAAA,CAAAO,IAAA,CAAA,YAAA,EAAA,CAAA,GAAA,KAAA,CAAA,CAAA,CAAA;AAE1B,OAAC,QAAArB,CAAA,EAAA;AAAA,QAAA,OAAAkB,OAAA,CAAAO,MAAA,CAAAzB,CAAA,CAAA,CAAA;AAAA,OAAA;AAAA,KAAA,CAAA;IAfDG,WAAW,CAAClP,OAAO,GAAGyP,KAAK,CAAA;AAC3BA,IAAAA,KAAK,EAAE,CAAA;IAeP,OAAO,YAAA;MAAA,OAAMvQ,GAAG,CAACc,OAAO,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,CAAA;AAAA,KAAA,CAAA;AACnC,GAAC,EAAE,CAAC6O,YAAY,CAAC,CAAC,CAAA;AAClB,EAAA,OAAOrQ,OAAO,CAAA;AAChB,CAAA;AAEgB,SAAAiS,gBAAgBA,CAC9BC,OAA8B,EAC9B3P,UAA6B,EAAA;EAE7B,IAAMmM,YAAY,GAAGhB,kBAAkB,CACrCnL,UAAU,EACVrI,2BAAmB,CAACiY,KAAK,EACzBD,OAAO,CACR,CAAA;EACD,OAAOvE,uBAAuB,CAC5Be,YAAY,EACZ,YAAA;IAAA,OAAM/B,eAAU,CAAC,IAAI,CAAC,CAAA;AAAA,GAAA,EACtB9O,SAAS,CACV,CAAA;AACH,CAAA;AAEA,SAAS8P,uBAAuBA,CAC9Be,YAGC,EACD0D,WAAsE,EACtEzL,KAAQ,EACRC,IAAc,EAAA;EAEd,OAAO;IACLA,IAAI,EACFA,IAAI,KAAK/I,SAAS,GACd6Q,YAAY,CAAC9H,IAAI,GACjB,CAACA,IAAI,EAAE8H,YAAY,CAAC9H,IAAI,CAAC,CAACtJ,GAAG,CAAC4J,WAAW,CAAC,CAACC,IAAI,EAAE;AACvDT,IAAAA,OAAO,EAAE,SAAAA,OAAAA,CAAClE,GAAG,EAAE4E,CAAC,EAAI;AAAA,MAAA,IAAAiL,qBAAA,CAAA;MAClB,OAAAA,CAAAA,qBAAA,GAAO3D,YAAY,CAAChI,OAAO,CAAClE,GAAG,EAAE4E,CAAC,CAAC,CAAC,CAAC,CAAC,KAAAiL,IAAAA,GAAAA,qBAAA,GAAID,WAAW,CAAC5P,GAAG,EAAE4E,CAAC,CAAC,CAAC,CAAC,CAAC,CAAA;KACjE;AACDT,IAAAA,KAAK,EAAE,CAAC+H,YAAY,CAAC/H,KAAK,EAAEA,KAAK,CAAA;GAClC,CAAA;AACH;;ACrWM,SAAU2L,iBAAiBA,CAC/B/P,UAA6B,EAAA;EAAA,IAAAgQ,qBAAA,EAAAC,sBAAA,CAAA;EAM7B,IAAMC,cAAc,GAAG7X,uBAAuB,CAAC2H,UAAU,CAAC,GAAA,CAAAgQ,qBAAA,GAAAC,CAAAA,sBAAA,GACtDjQ,UAAU,CAACmQ,UAAU,KAArBF,IAAAA,GAAAA,KAAAA,CAAAA,GAAAA,sBAAA,CAAuBlV,GAAG,CAAC,UAACzC,CAAC,EAAA;IAAA,OAAKA,CAAC,CAACC,IAAI,CAAA;AAAA,GAAA,CAAC,KAAAyX,IAAAA,GAAAA,qBAAA,GAAI,EAAE,GAC/C,IAAI,CAAA;AACR,EAAA,IAAMjR,CAAC,GAAGF,aAAa,CAACmB,UAAmC,CAAC,CAAA;EAC5D,OAAO8E,iBAAW,CAChB,UAACrH,OAAO,EAAE2S,MAAM,EAAEC,YAAY,EAAI;AAAA,IAAA,IAAAC,cAAA,CAAA;IAChC,IAAI,CAACJ,cAAc,EAAE,OAAA;AACrB,IAAA,IAAMK,EAAE,GAAGxR,CAAC,CAACE,OAAO,CAAA;IAEpBuR,yBAAoB,CAAC/S,OAAO,EAAE,YAAA;AAAA,MAAA,OAAMA,OAAO,CAACgT,QAAQ,CAAC,SAAS,EAAE,EAAE,CAAC,CAAA;KAAC,CAAA,CAAA;AACpEC,IAAAA,iBAAY,CACVjT,OAAO,EACP,UAAC1D,CAAC,EAAA;AAAA,MAAA,OACA,CAACqW,MAAM,IACPG,EAAE,CAACvV,QAAQ,KACVjB,CAAC,IAAI,IAAI,IAAIA,CAAC,KAAK,EAAE,IAAK+H,KAAK,CAACC,OAAO,CAAChI,CAAC,CAAC,IAAIA,CAAC,CAACO,MAAM,KAAK,CAAE,CAAC,GAC3D,sBAAsB,GACtB,IAAI,CAAA;AAAA,KAAA,EACV,UAAU,CACX,CAAA;AACD,IAAA,CAAA,CAAAgW,cAAA,GAACC,EAAE,CAACJ,UAAU,YAAAG,cAAA,GAAI,EAAE,EAAE7V,OAAO,CAAC,UAACnC,CAAC,EAAEyK,CAAC,EAAI;MACrC,QAAQzK,CAAC,CAACC,IAAI;QACZ,KAAKJ,qBAAa,CAAC2Q,OAAO;UACxB,OAAO6H,mBAAmB,CACxBlT,OAAO,EACP4S,YAAY,EACZ/X,CAAqB,EACrB8X,MAAM,EACNrN,CAAC,CACF,CAAA;QACH,KAAK5K,qBAAa,CAACyY,IAAI;AACrB,UAAA,OAAOC,gBAAgB,CAACpT,OAAO,EAAEnF,CAAkB,EAAEyK,CAAC,CAAC,CAAA;AAC1D,OAAA;AACH,KAAC,CAAC,CAAA;GACH,EACDmN,cAAc,GAAGA,cAAc,GAAG,CAAC,IAAI,CAAC,CACzC,CAAA;AACH,CAAA;AAEA,SAASS,mBAAmBA,CAC1BlT,OAAqB,EACrB8B,OAA2B,EAC3B2I,IAAsB,EACtBkI,MAAe,EACfrN,CAAS,EAAA;EAET,IAAM+N,QAAQ,GAAG/D,oBAAoB,CAAC7E,IAAI,CAACW,UAAU,EAAEtJ,OAAO,CAAC,CAAA;AAC/D8K,EAAAA,qBAAgB,CACd,YAAA;AAAA,IAAA,OAAM,CAAC+F,MAAM,EAAEU,QAAQ,CAAC5S,KAAK,CAAC,CAAA;AAAA,GAAA,EAC9B,UAAAwG,IAAA,EAAA;IAAA,IAAE0L,MAAM,GAAA1L,IAAA,CAAA,CAAA,CAAA;AAAEqM,MAAAA,GAAG,GAAArM,IAAA,CAAA,CAAA,CAAA,CAAA;AAAA,IAAA,OAAMjH,OAAO,CAACgT,QAAQ,CAAC,SAAS,GAAG1N,CAAC,EAAE,CAACqN,MAAM,GAAGW,GAAG,GAAG,IAAI,CAAC,CAAA;AAAA,GAAA,EACxE,IAAI,CACL,CAAA;AACH,CAAA;AAEA,SAASF,gBAAgBA,CACvBpT,OAA2C,EAC3CuT,EAAiB,EACjBjO,CAAS,EAAA;AAET,EAAA,IAAIkO,cAAsB,CAAA;EAC1B,IAAID,EAAE,CAACE,SAAS,EAAE;IAChBD,cAAc,GAAGL,IAAI,CAACO,KAAK,CAACH,EAAE,CAACE,SAAS,CAAC,CAAA;AAC1C,GAAA,MAAM;AACL,IAAA,IAAME,OAAO,GAAG,IAAIR,IAAI,EAAE,CAAA;IAC1BK,cAAc,GAAGL,IAAI,CAACS,GAAG,CACvBD,OAAO,CAACE,WAAW,EAAE,EACrBF,OAAO,CAACG,QAAQ,EAAE,EAClBH,OAAO,CAACI,OAAO,EAAE,CAClB,CAAA;IACD,IAAIR,EAAE,CAACS,eAAe,EAAE;AACtBR,MAAAA,cAAc,IAAID,EAAE,CAACS,eAAe,GAAG,QAAQ,CAAA;AAChD,KAAA;AACF,GAAA;AACDf,EAAAA,iBAAY,CACVjT,OAAO,EACP,UAAC1D,CAAC,EAAI;AACJ,IAAA,IAAIA,CAAC,EAAE;AACL,MAAA,IAAM2X,OAAO,GAAGd,IAAI,CAACO,KAAK,CAACpX,CAAC,CAAC,CAAA;MAC7B,IAAM4X,QAAQ,GAAGX,EAAE,CAACY,UAAU,KAAKxZ,sBAAc,CAACyZ,QAAQ,CAAA;MAC1D,IAAIF,QAAQ,GAAGD,OAAO,GAAGT,cAAc,GAAGS,OAAO,GAAGT,cAAc,EAAE;AAClE,QAAA,OAAA,mBAAA,IAA2BU,QAAQ,GAAG,OAAO,GAAG,QAAQ,CAAI,GAAA,GAAA,GAAA,IAAIf,IAAI,CAClEK,cAAc,CACf,CAACa,YAAY,EAAE,CAAA;AACjB,OAAA;AACF,KAAA;AACD,IAAA,OAAO,IAAI,CAAA;AACb,GAAC,EACD,MAAM,GAAG/O,CAAC,CACX,CAAA;AACH;;ACjHO,IAAMgP,sBAAsB,GAAoB;AACrDvE,EAAAA,YAAY,EAAEwE,cAAc;AAC5BC,EAAAA,SAAS,EAAEC,gBAAAA;EACZ;AAEe,SAAAF,cAAcA,CAAC/M,CAAc,EAAE/G,KAAU,EAAA;EACvD,IAAI+G,CAAC,CAACnK,UAAU,EACd,OAAOgH,KAAK,CAACC,OAAO,CAAC7D,KAAK,CAAC,GAAGA,KAAK,CAAC5D,MAAM,KAAK,CAAC,GAAG4D,KAAK,IAAI,IAAI,CAAA;EAClE,QAAQ+G,CAAC,CAAC1M,IAAI;IACZ,KAAKd,iBAAS,CAAC8N,MAAM;AACnB,MAAA,OAAO,CAACrH,KAAK,CAAA;AACf,IAAA;MACE,OAAOA,KAAK,IAAI,IAAI,CAAA;AACvB,GAAA;AACH,CAAA;AAEgB,SAAAgU,gBAAgBA,CAC9BjN,CAAc,EACd/G,KAAU,EAAA;EAEV,QAAQ+G,CAAC,CAAC1M,IAAI;IACZ,KAAKd,iBAAS,CAAC0a,QAAQ;MACrB,OAAO,IAAIvB,IAAI,CAAC1S,KAAK,CAAC,CAACkU,kBAAkB,EAAE,CAAA;IAC7C,KAAK3a,iBAAS,CAACmZ,IAAI;MACjB,OAAO,IAAIA,IAAI,CAAC1S,KAAK,CAAC,CAACkU,kBAAkB,EAAE,CAAA;AAC7C,IAAA;MACE,OAAOlU,KAAK,IAAI,IAAI,GAAGA,KAAK,CAACiH,QAAQ,EAAE,GAAG7J,SAAS,CAAA;AACtD,GAAA;AACH;;;AC0DO,IAAM+W,uBAAuB,GAAG,EAAC;AACjC,IAAMC,qBAAqB,GAAG,KAAI;AAyD7BC,2BAGX;AAHD,CAAA,UAAYA,SAAS,EAAA;EACnBA,SAAA,CAAAA,SAAA,CAAA,SAAA,CAAA,GAAA,CAAA,CAAA,GAAA,SAAO,CAAA;EACPA,SAAA,CAAAA,SAAA,CAAA,OAAA,CAAA,GAAA,CAAA,CAAA,GAAA,OAAK,CAAA;AACP,CAAC,EAHWA,iBAAS,KAATA,iBAAS,GAGpB,EAAA,CAAA,CAAA,CAAA;AA0FK,SAAUC,kBAAkBA,CAChCxS,UAA6B,EAC7BhG,MAAqB,EACrByY,QAAsB,EACtBlZ,OAAA,EAAkC;AAAA,EAAA,IAAAmZ,oBAAA,EAAAC,qBAAA,EAAAC,qBAAA,CAAA;AAAA,EAAA,IAAlCrZ,OAAA,KAAA,KAAA,CAAA,EAAA;IAAAA,OAAA,GAAgC,EAAE,CAAA;AAAA,GAAA;AAElC,EAAA,IAAMsZ,SAAS,GAAAH,CAAAA,oBAAA,GAAGnZ,OAAO,CAACuZ,WAAW,IAAA,IAAA,GAAA,KAAA,CAAA,GAAnBvZ,OAAO,CAACuZ,WAAW,CAAG9S,UAAU,CAAC,KAAA0S,IAAAA,GAAAA,oBAAA,GAAIK,gBAAgB,CAAA;EACvE,IAAMvH,eAAe,GAAAmH,CAAAA,qBAAA,GAAGpZ,OAAO,CAACiS,eAAe,KAAA,IAAA,GAAAmH,qBAAA,GAAIZ,sBAAsB,CAAA;EACzE,IAAMpC,OAAO,GAAAiD,CAAAA,qBAAA,GAAGrZ,OAAO,CAAC0R,qBAAqB,KAAA,IAAA,GAAA2H,qBAAA,GAAI5F,4BAA4B,CAAA;AAE7E,EAAA,IAAM9B,WAAW,GAAG8H,iBAAiB,CAAChT,UAAU,EAAEhG,MAAM,CAAC,CAAA;EAEzD,IAAMiZ,YAAY,GAAG3O,eAAe,CAAC;IACnC4O,mBAAmB,EAAEhH,uBAAuB,CAC1CyD,OAAO,EACP3P,UAAU,EACVkL,WAAW,CACZ;IACDiI,cAAc,EAAEnI,qBAAqB,CAAC2E,OAAO,EAAE3P,UAAU,EAAEkL,WAAW,CAAC;AACvEkI,IAAAA,eAAe,EAAE3H,mBAAmB,CAACkE,OAAO,EAAE3P,UAAU,CAAC;AACzDqT,IAAAA,eAAe,EAAErH,mBAAmB,CAAC2D,OAAO,EAAE3P,UAAU,CAAC;AACzDsT,IAAAA,cAAc,EAAEzH,yBAAyB,CAAC8D,OAAO,EAAE3P,UAAU,CAAC;AAC9DuT,IAAAA,SAAS,EAAE7D,gBAAgB,CAACC,OAAO,EAAE3P,UAAU,CAAC;IAChDwT,WAAW,EAAE9H,gBAAgB,CAC3BiE,OAAO,EACPhY,2BAAmB,CAAC8b,KAAK,EACzBzT,UAAU,CACX;IACD0T,WAAW,EAAEhI,gBAAgB,CAC3BiE,OAAO,EACPhY,2BAAmB,CAACgc,WAAW,EAC/B3T,UAAU,CACX;AACD4T,IAAAA,cAAc,EAAE3H,kBAAkB,CAAC0D,OAAO,EAAE3P,UAAU,CAAA;AACvD,GAAA,CAAC,CAAA;AAEF,EAAA,IAAM6T,aAAa,GAAG9D,iBAAiB,CAAC/P,UAAU,CAAC,CAAA;EACnD,IAAMjB,CAAC,GAAGF,aAAa,CAAC;AAAEtF,IAAAA,OAAO,EAAPA,OAAO;AAAEyG,IAAAA,UAAU,EAAVA,UAAU;AAAEhG,IAAAA,MAAM,EAANA,MAAM;AAAEkR,IAAAA,WAAW,EAAXA,WAAAA;AAAW,GAAE,CAAC,CAAA;AAErE,EAAA,IAAM4I,SAAS,GAAGhP,iBAAW,CAC3B,UAAAJ,IAAA,EAAkE;AAAA,IAAA,IAAtDqP,WAAW,GAAArP,IAAA,CAApBjH,OAAO;MAAAuW,eAAA,GAAAtP,IAAA,CAAeuP,UAAU;AAAVA,MAAAA,UAAU,GAAAD,eAAA,KAAG,KAAA,CAAA,GAAA,EAAE,GAAAA,eAAA,CAAA;AACtC,IAAA,IAAME,YAAY,GAAGC,yBAAoB,EAAE,CAAA;IAC3C,IAAI;MAAA,IAAAC,qBAAA,EAAAC,sBAAA,CAAA;AACF,MAAA,IAAAC,UAAA,GAAwDvV,CAAC,CAACE,OAAO;QAA7C/C,CAAC,GAAAoY,UAAA,CAAbtU,UAAU;QAAKzG,QAAO,GAAA+a,UAAA,CAAP/a,OAAO;QAAES,OAAM,GAAAsa,UAAA,CAANta,MAAM;QAAEkR,YAAW,GAAAoJ,UAAA,CAAXpJ,WAAW,CAAA;AACnD,MAAA,IAAMqJ,iBAAiB,GAAuB;AAC5Cva,QAAAA,MAAM,EAANA,OAAM;AACNwR,QAAAA,eAAe,EAAfA,eAAe;AACfrS,QAAAA,IAAI,EAAE4a,WAAW;AACjBxT,QAAAA,IAAI,EAAE0T,UAAAA;OACP,CAAA;AACD,MAAA,IAAAO,aAAA,GAUIvB,YAAY,CAACsB,iBAAiB,CAAC;QATjCnB,eAAe,GAAAoB,aAAA,CAAfpB,eAAe;QACfC,eAAe,GAAAmB,aAAA,CAAfnB,eAAe;QACfF,cAAc,GAAAqB,aAAA,CAAdrB,cAAc;QACdS,cAAc,GAAAY,aAAA,CAAdZ,cAAc;QACdF,WAAW,GAAAc,aAAA,CAAXd,WAAW;QACXH,SAAS,GAAAiB,aAAA,CAATjB,SAAS;QACTC,WAAW,GAAAgB,aAAA,CAAXhB,WAAW;QACXF,cAAc,GAAAkB,aAAA,CAAdlB,cAAc;QACdJ,mBAAmB,GAAAsB,aAAA,CAAnBtB,mBAAmB,CAAA;AAGrB,MAAA,IAAMuB,OAAO,GAAGtB,cAAc,CAAClU,OAAO,CAACf,KAAK,CAAA;MAC5C,IAAMwW,UAAU,GAAGtK,eAAU,CAAyB,YAAA;QAAA,OACpDqK,OAAO,IAAI,IAAI,GACX;AACEA,UAAAA,OAAO,EAAPA,OAAO;AACPE,UAAAA,OAAO,EAAEF,OAAAA;AACV,SAAA,GACDnZ,SAAS,CAAA;OACd,CAAA,CAAA;AACD+O,MAAAA,qBAAgB,CACd,YAAA;QAAA,OAAM8I,cAAc,CAACjV,KAAK,CAAA;OAC1B,EAAA,UAACuW,OAAO,EAAI;QACV,IAAIA,OAAO,IAAI,IAAI,EACjBC,UAAU,CAACE,QAAQ,CAAC,UAAClW,EAAE,EAAA;UAAA,OAAM;AAC3B+V,YAAAA,OAAO,EAAPA,OAAO;AACPE,YAAAA,OAAO,EAAEjW,EAAE,GAAGA,EAAE,CAACiW,OAAO,GAAGF,OAAAA;WAC5B,CAAA;AAAA,SAAC,CAAC,CAAA;AACP,OAAC,CACF,CAAA;AAED,MAAA,IAAAI,eAAA,GAAqDC,cAAc,CACjE5J,YAAW,EACXqJ,iBAAiB,CAClB;AAHMQ,QAAAA,aAAa,GAAAF,eAAA,CAAA,CAAA,CAAA;AAAEpX,QAAAA,OAAO,GAAAoX,eAAA,CAAA,CAAA,CAAA;AAAEG,QAAAA,kBAAkB,GAAAH,eAAA,CAAA,CAAA,CAAA,CAAA;AAIjDxK,MAAAA,qBAAgB,CACd,YAAA;AAAA,QAAA,OAAM,CACJqK,UAAU,CAACxW,KAAK,EAChBgV,mBAAmB,CAAChV,KAAK,EACzBT,OAAO,EACPpF,uBAAuB,CAAC2H,UAAU,CAAC,IAAIA,UAAU,CAACiV,eAAe,EACjEF,aAAa,IAAA,IAAA,GAAA,KAAA,CAAA,GAAbA,aAAa,CAAEG,MAAM,EACrB3b,QAAO,CAAC6W,MAAM,CACf,CAAA;OACD,EAAA,UAAApL,KAAA,EAAgD;QAAA,IAA9CmQ,EAAE,GAAAnQ,KAAA,CAAA,CAAA,CAAA;AAAEgM,UAAAA,EAAE,GAAAhM,KAAA,CAAA,CAAA,CAAA;AAAEoQ,UAAAA,EAAE,GAAApQ,KAAA,CAAA,CAAA,CAAA;AAAEqQ,UAAAA,SAAS,GAAArQ,KAAA,CAAA,CAAA,CAAA;AAAEsQ,UAAAA,UAAU,GAAAtQ,KAAA,CAAA,CAAA,CAAA;AAAEoL,UAAAA,MAAM,GAAApL,KAAA,CAAA,CAAA,CAAA,CAAA;QACzC,IAAImQ,EAAE,IAAIC,EAAE,IAAID,EAAE,CAACV,OAAO,KAAKU,EAAE,CAACR,OAAO,EAAE;AACzC,UAAA,IAAIvE,MAAM,IAAI,CAAC+E,EAAE,CAACV,OAAO,EAAE;AACzB,YAAA,IAAIlb,QAAO,CAACgc,WAAW,IAAI,CAACF,SAAS,EAAE;cACrCD,EAAE,CAAClX,KAAK,GAAG5C,SAAS,CAAA;AACrB,aAAA;AACF,WAAA,MAAM,IAAI8Z,EAAE,CAAClX,KAAK,IAAI,IAAI,EAAE;YAC3BkX,EAAE,CAAClX,KAAK,GAAG8S,EAAE,CAAA;AACd,WAAA;AACF,SAAA;AACD,QAAA,IAAIsE,UAAU,IAAIP,aAAa,YAAbA,aAAa,CAAEG,MAAM,EAAE;AACvCH,UAAAA,aAAa,CAAC7W,KAAK,GAAG,EAAE,CAAA;AACzB,SAAA;OACF,EACD,IAAI,CACL,CAAA;MACD,IAAMsX,SAAS,GAAGtL,oBAAoB,CAAqB,YAAA;AAAA,QAAA,IAAAuL,kBAAA,CAAA;QAAA,OAAO;AAChErF,UAAAA,MAAM,EAAE7W,QAAO,CAAC6W,MAAM,IAAI,GAAAqF,kBAAA,GAACf,UAAU,CAAC1a,MAAM,KAAjByb,IAAAA,IAAAA,kBAAA,CAAmBd,OAAO,CAACzW,KAAK,CAAA;AAC3DiB,UAAAA,QAAQ,EAAE5F,QAAO,CAAC4F,QAAQ,IAAIiU,eAAe,CAAClV,KAAK;AACnDwX,UAAAA,QAAQ,EAAEnc,QAAO,CAACmc,QAAQ,IAAIrC,eAAe,CAACnV,KAAAA;SAC/C,CAAA;OAAC,CAAC,CAACA,KAAK,CAAA;AACT2V,MAAAA,aAAa,CACXpW,OAAO,IAAA,IAAA,GAAPA,OAAO,GAAIkY,eAAU,CAAC,IAAI,CAAC,EAC3B,CAAC,CAACH,SAAS,CAACpF,MAAM,EAClBmE,iBAAiB,CAClB,CAAA;AACD,MAAA,IAAMqB,YAAY,GAAApb,QAAA,KAA8BjB,QAAO,EAAKic,SAAS,CAAE,CAAA;AAEvE/G,MAAAA,eAAS,CAAC,YAAK;AACb,QAAA,IAAIhR,OAAO,IAAI,OAAO+X,SAAS,CAACE,QAAQ,KAAK,SAAS,EACpDjY,OAAO,CAACiY,QAAQ,GAAGF,SAAS,CAACE,QAAQ,CAAA;OACxC,EAAE,CAACjY,OAAO,EAAE+X,SAAS,CAACE,QAAQ,CAAC,CAAC,CAAA;AACjC,MAAA,IAAIX,aAAa,IAAA,IAAA,IAAbA,aAAa,CAAEG,MAAM,EAAE,oBAAOW,yBAAA,CAAAC,aAAA,CAAAD,yBAAA,CAAAE,QAAA,OAAK,CAAA;AAEvC,MAAA,IAAMC,UAAU,GAAA,CAAA5B,qBAAA,GAAA,CAAAC,sBAAA,GACdrU,UAAU,CAACgW,UAAU,qBAArB3B,sBAAA,CAAuBtZ,GAAG,CAAC,UAACzC,CAAC,EAAA;QAAA,OAC3Bma,QAAQ,CAACwD,eAAe,CAAC;AAAEC,UAAAA,SAAS,EAAE5d,CAAAA;AAAC,SAAE,CAAC,CAAA;OAC3C,CAAA,KAAA,IAAA,GAAA8b,qBAAA,GAAI,EAAE,CAAA;MACT,IAAM+B,gBAAgB,GAAGC,mBAAmB,CAAC;AAC3CpW,QAAAA,UAAU,EAAE9D,CAAC;AACbuW,QAAAA,QAAQ,EAARA,QAAQ;AACR4D,QAAAA,WAAW,EAAE,SAAAA,WAAAA,CAACC,CAAC,EAAErV,KAAK,EAAEV,IAAI,EAAA;AAAA,UAAA,oBAC1BsV,yBAAA,CAAAC,aAAA,CAACS,eAAe,EAAA;AACdC,YAAAA,GAAG,EAAEF,CAAE;YACP7Y,OAAO,EAAEuX,kBAAkB,CAAC7b,IAAK;YACjCa,MAAM,EAAEgb,kBAAkB,CAAChb,MAAO;AAClCgG,YAAAA,UAAU,EAAEiD,mBAAmB,CAAC/G,CAAC,EAAE+E,KAAK,CAAE;AAC1CgT,YAAAA,UAAU,EACR1T,IAAI,GAAA3B,EAAAA,CAAAA,MAAA,CACIoW,kBAAkB,CAACzU,IAAI,EAAKA,IAAI,CACpCyU,GAAAA,kBAAkB,CAACzU,IACxB;AACDkS,YAAAA,QAAQ,EAAEA,QAAS;AACnBlZ,YAAAA,OAAO,EAAEqc,YAAAA;AAAa,YACtB,CAAA;SACH;AACDa,QAAAA,eAAe,EAAE5D,SAAS;AAC1B6D,QAAAA,WAAW,EAAElB,SAAS;AACtB9H,QAAAA,WAAW,EAAEsH,kBAAkB;AAC/BvX,QAAAA,OAAO,EAAEmW,cAAc,IAAdA,IAAAA,GAAAA,cAAc,GAAInW,OAAO;AAClC8V,QAAAA,SAAS,EAATA,SAAS;AACTrI,QAAAA,WAAW,EAAXA,YAAW;AACX0I,QAAAA,cAAc,EAAdA,cAAc;QACd+C,KAAK,EAAEnD,WAAW,CAACtV,KAAK;AACxBoV,QAAAA,cAAc,EAAdA,cAAc;AACdsD,QAAAA,kBAAkB,EAAE,SAAAA,kBAAC3V,CAAAA,KAAK,EAAI;AAC5B,UAAA,IAAM4V,QAAQ,GAAG5T,mBAAmB,CAAC/G,CAAC,EAAE+E,KAAK,CAAC,CAAA;UAC9C,IAAMiK,WAAW,GAAG8H,iBAAiB,CACnC6D,QAAQ,EACR7B,kBAAkB,CAAChb,MAAM,CAC1B,CAAA;AACD,UAAA,OAAOgR,qBAAqB,CAAC2E,OAAO,EAAEkH,QAAQ,EAAE3L,WAAW,CAAC,CAAA;AAC9D,SAAA;AACD,OAAA,CAAC,CAAA;MACF,IAAM4L,eAAe,GAAGrE,QAAQ,CAACsE,YAAY,CAAAvc,QAAA,KACxC2b,gBAAgB,EAAA;AACnBH,QAAAA,UAAU,EAAVA,UAAU;QACV7S,SAAS,EAAEjH,CAAC,CAACuG,WAAW;QACxBkU,KAAK,EAAEjD,WAAW,CAACxV,KAAAA;AAAK,OAAA,CACzB,CAAC,CAAA;AACF,MAAA,OAAOuU,QAAQ,CAACuE,gBAAgB,CAAAxc,QAAA,CAAA;AAAGka,QAAAA,UAAU,EAAVA,UAAAA;OAAeoC,EAAAA,eAAe,CAAE,CAAC,CAAA;AACrE,KAAA,SAAS;AACR5C,MAAAA,YAAY,EAAE,CAAA;AACf,KAAA;AACH,GAAC,EACD,CAACnV,CAAC,EAAE8T,SAAS,EAAEgB,aAAa,EAAEpB,QAAQ,EAAEjH,eAAe,EAAEyH,YAAY,CAAC,CACvE,CAAA;EACAa,SAAiB,CAAClX,WAAW,GAAG,eAAe,CAAA;AAChD,EAAA,OAAOkX,SAAS,CAAA;AAClB,CAAA;AACgB,SAAAd,iBAAiBA,CAC/B9W,CAAoB,EACpBlC,MAAqB,EAAA;EAErB,IAAMoG,SAAS,GAAG3H,yBAAyB,CAACyD,CAAC,CAAC,GAC1CA,CAAC,CAACyB,aAAa,GACftF,uBAAuB,CAAC6D,CAAC,CAAC,GACxBA,CAAC,CAAC7B,KAAK,GACPiB,SAAS,CAAA;EACf,OAAO8E,SAAS,GAAGxE,SAAS,CAAC5B,MAAM,EAAEoG,SAAS,CAAC,GAAG9E,SAAS,CAAA;AAC7D,CAAA;AACgB,SAAAwZ,cAAcA,CAC5B5J,WAAoC,EACpC+L,aAAiC,EAAA;AAAA,EAAA,IAAAC,qBAAA,CAAA;AAEjC,EAAA,IAAQ/d,IAAI,GAAW8d,aAAa,CAA5B9d,IAAI;IAAEoH,IAAI,GAAK0W,aAAa,CAAtB1W,IAAI,CAAA;AAClB,EAAA,IAAMwU,aAAa,GAAG5b,IAAI,CAACqH,aAAa,CAACD,IAAI,CAAC,CAAA;AAC9C,EAAA,IAAMW,SAAS,GAAGgK,WAAW,GAAA,EAAA,CAAAtM,MAAA,CAAO2B,IAAI,EAAA,CAAE2K,WAAW,CAAC7Q,KAAK,CAAA,CAAA,GAAIkG,IAAI,CAAA;AACnE,EAAA,IAAM4W,YAAY,GAChBjM,WAAW,IAAI6J,aAAa,GAAA,CAAAmC,qBAAA,GACxBnC,aAAa,CAAC/a,MAAM,KAAA,IAAA,GAAA,KAAA,CAAA,GAApBkd,qBAAA,CAAuBhM,WAAW,CAAC7Q,KAAK,CAAC,GACzCiB,SAAS,CAAA;EACf,OAAO,CACLyZ,aAAa,EACboC,YAAY,EACZjM,WAAW,GAAA1Q,QAAA,CAAA,EAAA,EAEFyc,aAAa,EAAA;AAChB1W,IAAAA,IAAI,EAAEW,SAAS;IACflH,MAAM,EAAEI,eAAe,CAAC8Q,WAAW,CAAC,GAChCA,WAAW,CAAChQ,QAAQ,GACpB+b,aAAa,CAACjd,MAAAA;AAAM,GAAA,CAAA,GAE1Bid,aAAa,CAClB,CAAA;AACH,CAAA;AAEgB,SAAAV,eAAeA,CAAAnK,KAAA,EAAA;EAAA,IAAAgL,OAAA,GAAAC,yBAAA,EAAA,CAAA;AAAA,EAAA,IAAA;AAAA,IAAA,IAC7BrX,UAAU,GAAAoM,KAAA,CAAVpM,UAAU;MACVhG,MAAM,GAAAoS,KAAA,CAANpS,MAAM;MACNyY,QAAQ,GAAArG,KAAA,CAARqG,QAAQ;MACRlZ,OAAO,GAAA6S,KAAA,CAAP7S,OAAO;MACPkE,OAAO,GAAA2O,KAAA,CAAP3O,OAAO;MACPwW,UAAU,GAAA7H,KAAA,CAAV6H,UAAU,CAAA;IASV,IAAMqD,MAAM,GAAG9E,kBAAkB,CAACxS,UAAU,EAAEhG,MAAM,EAAEyY,QAAQ,EAAElZ,OAAO,CAAC,CAAA;AACxE,IAAA,oBAAOsc,yBAAA,CAAAC,aAAA,CAACwB,MAAM,EAAA;AAAC7Z,MAAAA,OAAO,EAAEA,OAAQ;AAACwW,MAAAA,UAAU,EAAEA,UAAAA;AAAW,MAAG,CAAA;AAAC,GAAA,SAAA;IAAAmD,OAAA,EAAA,CAAA;AAAA,GAAA;AAAA,CAAA;AAG9D,SAASG,UAAUA,CACjBvX,UAAqC,EACrCqW,WAA0B,EAC1B3I,WAA+B,EAC/BvK,SAAoC,EACpCwT,KAAsC,EACtCC,kBAA6E,EAAA;EAAA,IAAAlN,oBAAA,EAAA8N,qBAAA,CAAA;EAE7E,OAAO;IACLC,gBAAgB,EAAA,CAAA/N,oBAAA,GAAE1J,UAAU,CAAC9E,QAAQ,KAAA,IAAA,GAAAwO,oBAAA,GAAI,EAAE;AAC3C2M,IAAAA,WAAW,EAAXA,WAAW;AACX3I,IAAAA,WAAW,EAAXA,WAAW;IACXrQ,aAAa,EAAA,CAAAma,qBAAA,GAAExX,UAAU,CAACgJ,YAAY,KAAA,IAAA,GAAAwO,qBAAA,GAAI;AAAEjf,MAAAA,IAAI,EAAE,UAAA;KAAY;AAC9D4K,IAAAA,SAAS,EAAEmH,EAAE,CAACnH,SAAS,CAAC;AACxByT,IAAAA,kBAAkB,EAAlBA,kBAAkB;AAClBD,IAAAA,KAAK,EAALA,KAAAA;GACD,CAAA;AACH,CAAA;AAEM,SAAU5D,gBAAgBA,CAAAzG,KAAA,EASb;EAAA,IAAAoL,qBAAA,EAAAC,cAAA,EAAAC,qBAAA,EAAAC,qBAAA,EAAAC,qBAAA,CAAA;AAAA,EAAA,IARjB9X,UAAU,GAAAsM,KAAA,CAAVtM,UAAU;IACV3F,KAAK,GAAAiS,KAAA,CAALjS,KAAK;IACLoD,OAAO,GAAA6O,KAAA,CAAP7O,OAAO;IACPlE,OAAO,GAAA+S,KAAA,CAAP/S,OAAO;IACPwe,eAAe,GAAAzL,KAAA,CAAfyL,eAAe;IACfpB,KAAK,GAAArK,KAAA,CAALqK,KAAK;IACLrD,cAAc,GAAAhH,KAAA,CAAdgH,cAAc;AACX0E,IAAAA,KAAK,GAAAC,6BAAA,CAAA3L,KAAA,EAAA4L,WAAA,CAAA,CAAA;AAER,EAAA,IAAM/U,SAAS,GAAGmH,EAAE,CAACtK,UAAU,CAACwC,UAAU,CAAC,CAAA;AAC3C,EAAA,IAAMxH,QAAQ,GAAG,CAAC,CAACgF,UAAU,CAAChF,QAAQ,CAAA;EACtC,IAAMmd,YAAY,GAChB,CAAA,CAAAT,qBAAA,GAAA,CAAAC,cAAA,GAACtd,KAAK,CAACd,OAAO,KAAboe,IAAAA,GAAAA,KAAAA,CAAAA,GAAAA,cAAA,CAAerd,MAAM,KAAA,IAAA,GAAAod,qBAAA,GAAI,CAAC,MAAM,CAAC,GAAG,IAAI,GAAGrd,KAAK,CAACd,OAAO,CAAA;AAC3D,EAAA,IAAM6e,OAAO,GAAA,CAAAR,qBAAA,GAAGtE,cAAc,IAAA,IAAA,GAAA,KAAA,CAAA,GAAdA,cAAc,CAAEpV,KAAK,KAAA,IAAA,GAAA0Z,qBAAA,GAAI,EAAE,CAAA;AAC3C,EAAA,OAAApd,QAAA,CAAA;IACEid,gBAAgB,EAAA,CAAAI,qBAAA,GAAE7X,UAAU,CAAC9E,QAAQ,KAAA,IAAA,GAAA2c,qBAAA,GAAI,EAAE;AAC3Cpa,IAAAA,OAAO,EAAPA,OAAO;AACPpD,IAAAA,KAAK,EAALA,KAAK;AACLge,IAAAA,EAAE,EAAE,GAAG,GAAG5a,OAAO,CAAC6a,QAAQ;AAC1B/e,IAAAA,OAAO,EACL4e,YAAY,IAAIC,OAAO,CAAC9d,MAAM,GAAG,CAAC,GAC9B6d,YAAY,CAAChe,MAAM,CAAC,UAAC7B,CAAC,EAAA;AAAA,MAAA,OAAK8f,OAAO,CAAC3b,QAAQ,CAACnE,CAAC,CAAC4F,KAAK,CAAC,CAAA;AAAA,KAAA,CAAC,GACrDia,YAAY;AAClBhZ,IAAAA,QAAQ,EAAE,CAAC,CAAC5F,OAAO,CAAC4F,QAAQ;IAC5B9B,aAAa,EAAA,CAAAya,qBAAA,GAAE9X,UAAU,CAAC3C,aAAa,KAAA,IAAA,GAAAya,qBAAA,GAAI;AAAEvf,MAAAA,IAAI,EAAE,UAAA;KAAY;AAC/DyC,IAAAA,QAAQ,EAARA,QAAQ;AACRoV,IAAAA,MAAM,EAAE,CAAC,CAAC7W,OAAO,CAAC6W,MAAM;AACxBjN,IAAAA,SAAS,EAATA,SAAS;AACTwT,IAAAA,KAAK,EAALA,KAAAA;AAAK,GAAA,EACFqB,KAAK,EAAA;IACRO,YAAY,EAAER,eAAe,GACzB,YAAA;AAAA,MAAA,OACES,iBAAiB,CACf/a,OAAO,EACPpD,KAAK,EACLW,QAAQ,EACR2b,KAAK,EACLxT,SAAS,EACT4U,eAAe,CAChB,CAAA;KACHzc,GAAAA,SAAAA;AAAS,GAAA,CAAA,CAAA;AAEjB,CAAA;AAEgB,SAAAkd,iBAAiBA,CAC/BC,YAA+C,EAC/Cpe,KAAkB,EAClBW,QAAiB,EACjB2b,KAAgC,EAChCxT,SAA6B,EAC7BuV,cAA+C,EAAA;EAAA,IAAA/b,kBAAA,EAAAgc,qBAAA,CAAA;AAE/C,EAAA,IAAMC,IAAI,GAAA,CAAAjc,kBAAA,GAAGtC,KAAK,CAACuC,WAAW,KAAA,IAAA,GAAAD,kBAAA,GAAItC,KAAK,CAACA,KAAK,CAAA;EAC7C,IAAMwe,KAAK,GAAAF,CAAAA,qBAAA,GAAGF,YAAY,CAAC5X,QAAQ,KAAA,IAAA,GAAA8X,qBAAA,GAAI,EAAE,CAAA;EACzC,OAAO;AACLF,IAAAA,YAAY,EAAZA,YAAY;IACZK,YAAY,EAAED,KAAK,CAACve,MAAM;AAC1BU,IAAAA,QAAQ,EAARA,QAAQ;AACR+d,IAAAA,SAAS,EAAE;AACT3P,MAAAA,QAAQ,EAAE,KAAK;MACfE,UAAU,EAAE,MAAM,GAAGsP,IAAI;MACzBvP,OAAO,EAAE,SAAAA,OAAA,GAAA;QAAA,OAAM2P,eAAU,CAACP,YAAY,EAAE/c,oBAAoB,CAACrB,KAAK,CAAC,CAAC,CAAA;AAAA,OAAA;KACrE;IACD4e,UAAU,EAAE,SAAAA,UAAAA,CAAClW,CAAC,EAAA;AAAA,MAAA,OAAK8V,KAAK,CAAC9V,CAAC,CAAC,CAACuV,QAAQ,CAAA;AAAA,KAAA;IACpCY,YAAY,EAAE,SAAAA,YAAAA,CAACnW,CAAS,EAAA;MAAA,OAAM;AAC5BqG,QAAAA,QAAQ,EAAE,EAAE;AACZE,QAAAA,UAAU,EAAE,QAAQ;QACpBD,OAAO,EAAE,SAAAA,OAAA,GAAA;AAAA,UAAA,OAAM8P,kBAAa,CAACV,YAAY,EAAE1V,CAAC,CAAC,CAAA;AAAA,SAAA;OAC9C,CAAA;KAAC;IACF2V,aAAa,EAAE,SAAAA,aAAAA,CAAC3V,CAAC,EAAA;MAAA,OAAK2V,cAAa,CAAC3V,CAAC,CAAC,CAAA;AAAA,KAAA;AACtCI,IAAAA,SAAS,EAAEmH,EAAE,CAACnH,SAAS,CAAC;AACxBwT,IAAAA,KAAK,EAALA,KAAAA;GACD,CAAA;AACH,CAAA;SAuBgBP,mBAAmBA,CAAAgD,KAAA,EAcd;AAAA,EAAA,IAbPld,CAAC,GAAAkd,KAAA,CAAbpZ,UAAU;IACVyS,QAAQ,GAAA2G,KAAA,CAAR3G,QAAQ;IACK4G,aAAa,GAAAD,KAAA,CAA1B/C,WAAW;IACFc,YAAY,GAAAiC,KAAA,CAArB3b,OAAO;IACPyN,WAAW,GAAAkO,KAAA,CAAXlO,WAAW;IACXwC,WAAW,GAAA0L,KAAA,CAAX1L,WAAW;IACE4L,WAAW,GAAAF,KAAA,CAAxB1C,WAAW;IACM7D,SAAS,GAAAuG,KAAA,CAA1B3C,eAAe;IACf7C,cAAc,GAAAwF,KAAA,CAAdxF,cAAc;IACd+C,KAAK,GAAAyC,KAAA,CAALzC,KAAK;IACLpD,SAAS,GAAA6F,KAAA,CAAT7F,SAAS;IACTD,cAAc,GAAA8F,KAAA,CAAd9F,cAAc;IACdsD,kBAAkB,GAAAwC,KAAA,CAAlBxC,kBAAkB,CAAA;AAElB,EAAA,IAAIve,uBAAuB,CAAC6D,CAAC,CAAC,EAAE;IAC9B,OAAOqd,UAAU,CAACrd,CAAC,CAAC,CAAA;AACrB,GAAA;AACD,EAAA,IAAIzD,yBAAyB,CAACyD,CAAC,CAAC,EAAE;IAAA,IAAAsd,gBAAA,EAAAC,gBAAA,CAAA;IAChC,IAAIvd,CAAC,CAACyB,aAAa,EAAE;AAAA,MAAA,IAAA+b,eAAA,CAAA;MACnB,OAAOH,UAAU,CACf9R,WAAW,CAACvL,CAAC,CAACyB,aAAa,EAAEzB,CAAC,CAACgB,KAAK,EAAE;QACpChC,QAAQ,EAAEgB,CAAC,CAAChB,QAAQ;QACpB+N,SAAS,EAAA,CAAAyQ,eAAA,GAAExd,CAAC,CAAC8M,YAAY,KAAA,IAAA,GAAA,KAAA,CAAA,GAAd0Q,eAAA,CAAgBzQ,SAAAA;AAC5B,OAAA,CAAC,CACH,CAAA;AACF,KAAA;IACD,OAAO;MACL0Q,aAAa,EAAElH,QAAQ,CAACmH,WAAW,CACjCrC,UAAU,CACRrb,CAAC,EACDmd,aAAa,EACb3L,WAAW,EACXxR,CAAC,CAACsG,UAAU,EACZmU,KAAK,EACLC,kBAAkB,CACnB,CACF;AACDiD,MAAAA,KAAK,EAAE;AACLA,QAAAA,KAAK,EAAAL,CAAAA,gBAAA,GAAEjG,SAAS,IAATA,IAAAA,GAAAA,KAAAA,CAAAA,GAAAA,SAAS,CAAErV,KAAK,KAAAsb,IAAAA,GAAAA,gBAAA,GAAItd,CAAC,CAACgB,KAAK;AAClCiG,QAAAA,SAAS,EAAEmH,EAAE,CAACpO,CAAC,CAACwG,UAAU,CAAC;QAC3BnK,IAAI,EAAEga,iBAAS,CAAC7Z,KAAK;QACrBohB,IAAI,EAAA,CAAAL,gBAAA,GAAEvd,CAAC,CAAC8M,YAAY,KAAA,IAAA,GAAA,KAAA,CAAA,GAAdyQ,gBAAA,CAAgBxQ,SAAAA;AACvB,OAAA;KACF,CAAA;AACF,GAAA;AACD,EAAA,IAAIpQ,0BAA0B,CAACqD,CAAC,CAAC,EAAE;IAAA,IAAA6d,KAAA,EAAAC,iBAAA,CAAA;IACjC,OAAO;AACL9e,MAAAA,QAAQ,EAAEuX,QAAQ,CAACwH,YAAY,CAAC;QAC9B3Q,UAAU,EAAA,CAAAyQ,KAAA,GAAAC,CAAAA,iBAAA,GAAEzG,SAAS,IAAA,IAAA,GAAA,KAAA,CAAA,GAATA,SAAS,CAAErV,KAAK,YAAA8b,iBAAA,GAAI9d,CAAC,CAACgB,KAAK,YAAA6c,KAAA,GAAI7d,CAAC,CAACkN,QAAQ;QACrDA,QAAQ,EAAElN,CAAC,CAACkN,QAAQ;AACpBC,QAAAA,OAAO,EAAE,SAAAA,OAAA,GAAK,EAAG;AACjBlG,QAAAA,SAAS,EAAEmH,EAAE,CAACpO,CAAC,CAACsG,UAAU,CAAC;AAC3BmU,QAAAA,KAAK,EAALA,KAAAA;OACD,CAAA;KACF,CAAA;AACF,GAAA;AACD,EAAA,IAAIhe,2BAA2B,CAACuD,CAAC,CAAC,EAAE;AAAA,IAAA,IAAAge,cAAA,CAAA;IAClC,OAAO;AACLhf,MAAAA,QAAQ,EAAEuX,QAAQ,CAAC0H,aAAa,CAAC;QAC/BhhB,IAAI,EAAA,CAAA+gB,cAAA,GAAEhe,CAAC,CAAC0L,WAAW,KAAAsS,IAAAA,GAAAA,cAAA,GAAI,EAAE;AACzB/W,QAAAA,SAAS,EAAEmH,EAAE,CAACpO,CAAC,CAACsG,UAAU,CAAC;AAC3BmU,QAAAA,KAAK,EAALA,KAAK;AACLvd,QAAAA,OAAO,EAAEwa,cAAc;AACvBlG,QAAAA,WAAW,EAAXA,WAAAA;OACD,CAAA;KACF,CAAA;AACF,GAAA;AACD,EAAA,OAAO,EAAE,CAAA;AAET,EAAA,SAAS6L,UAAUA,CAACrd,CAAwB,EAAEke,SAAkB,EAAA;AAAA,IAAA,IAAAC,iBAAA,CAAA;IAC9D,IAAI,CAACnP,WAAW,EAAE,OAAO;AAAEhQ,MAAAA,QAAQ,EAAE,uBAAuB,GAAGgB,CAAC,CAAC7B,KAAAA;KAAO,CAAA;IACxE,IAAI,CAAC8c,YAAY,EAAE,OAAO;AAAEjc,MAAAA,QAAQ,EAAE,kBAAkB,GAAGgB,CAAC,CAAC7B,KAAAA;KAAO,CAAA;IACpE,IAAM2d,KAAK,GAAGnF,SAAS,CAAC;AACtB7S,MAAAA,UAAU,EAAE9D,CAAC;AACb7B,MAAAA,KAAK,EAAE6Q,WAAW;AAClBwC,MAAAA,WAAW,EACT0M,SAAS,IAAI,IAAI,GAAA5f,QAAA,KACRkT,WAAW,EAAA;AAAEnN,QAAAA,IAAI,KAAA3B,MAAA,CAAM8O,WAAW,CAACnN,IAAI,GAAE6Z,SAAS,CAAA,CAAA;AAAC,OAAA,CAAA,GACxD1M,WAAW;AACjBjQ,MAAAA,OAAO,EACL2c,SAAS,IAAI,IAAI,GAAGjD,YAAa,CAACtW,QAAQ,CAACuZ,SAAS,CAAC,GAAGjD,YAAY;AACtE5d,MAAAA,OAAO,EAAE+f,WAAW;AACpB3C,MAAAA,KAAK,EAALA,KAAK;AACLrD,MAAAA,cAAc,EAAdA,cAAc;MACd+C,WAAW,EACT+D,SAAS,IAAI,IAAI,GACb,UAAC9D,CAAC,EAAEjX,CAAC,EAAE0F,CAAC,EAAA;AAAA,QAAA,OACNsU,aAAa,CAAC/C,CAAC,EAAEjX,CAAC,EAAE0F,CAAC,GAAA,CAAIqV,SAAS,CAAA,CAAAxb,MAAA,CAAKmG,CAAC,IAAI,CAACqV,SAAS,CAAC,CAAC,CAAA;AAAA,OAAA,GAC1Df,aAAa;AACnBzC,MAAAA,kBAAkB,EAAlBA,kBAAkB;MAClBmB,eAAe,EACbqC,SAAS,IAAI,IAAI,IAAIlP,WAAW,CAACpQ,UAAU,GACvC,UAACwf,EAAE,EAAA;AAAA,QAAA,OAAKC,iBAAiB,CAAChB,UAAU,CAACrd,CAAC,EAAEoe,EAAE,CAAC,EAAE7H,QAAQ,CAAC,CAACvX,QAAQ,CAAA;OAC/DI,GAAAA,SAAAA;AACP,KAAA,CAAC,CAAA;IAEF,IAAMue,KAAK,GAAG,CAAC3d,CAAC,CAAC+M,SAAS,GACtBuR,YAAY,CAAA,CAAAH,iBAAA,GAAC9G,SAAS,IAAA,IAAA,GAAA,KAAA,CAAA,GAATA,SAAS,CAAErV,KAAK,KAAAmc,IAAAA,GAAAA,iBAAA,GAAIne,CAAC,CAACgB,KAAK,EAAEgO,WAAW,CAAC,GACtD5P,SAAS,CAAA;IACb,OAAO;AACLqe,MAAAA,aAAa,EAAElH,QAAQ,CAAC8G,UAAU,CAACvB,KAAK,CAAC;AACzC6B,MAAAA,KAAK,EAAE;QACLthB,IAAI,EAAEga,iBAAS,CAACkI,OAAO;AACvBZ,QAAAA,KAAK,EAALA,KAAK;QACLa,KAAK,EAAE1C,KAAK,CAACK,EAAE;QACfrd,QAAQ,EAAEkB,CAAC,CAAClB,QAAQ;QACpB8e,IAAI,EAAE5d,CAAC,CAAC+M,SAAS;AACjB9F,QAAAA,SAAS,EAAEmH,EAAE,CAACpO,CAAC,CAACwG,UAAU,CAAA;OAC3B;AACDiY,MAAAA,YAAY,EAAExD,YAAAA;KACf,CAAA;AACH,GAAA;AACF,CAAA;AAEgB,SAAAyD,YAAYA,CAC1BtE,CAAqE,EACrEuE,MAAiB,EAAA;AAEjB,EAAA,OAAO,UAACC,MAAM,EAAA;AAAA,IAAA,OACXA,MAAM,CAACxE,CAAC,CAAC,gBACRT,yBAAA,CAAAC,aAAA,CAAAD,yBAAA,CAAAE,QAAA,QACG+E,MAAM,CAACxE,CAAC,CAAC,EACTuE,MACA,CACJ,CAAA;GAAC,CAAA;AACN,CAAA;AAEgB,SAAAE,UAAUA,CACxBzE,CAAqE,EACrE0E,IAAkC,EAAA;AAElC,EAAA,OAAO,UAACF,MAAM,EAAA;IAAA,OAAMA,MAAM,CAACxE,CAAC,CAAC,GAAG0E,IAAI,CAACF,MAAM,CAACxE,CAAC,CAAC,CAAC,CAAA;GAAC,CAAA;AAClD,CAAA;AAEM,SAAU2E,qBAAqBA,CACnCC,GAAuB,EAAA;AAEvB,EAAA,QAAQA,GAAG;IACT,KAAKrjB,0BAAkB,CAACsjB,UAAU;AAChC,MAAA,OAAO,YAAY,CAAA;IACrB,KAAKtjB,0BAAkB,CAACujB,YAAY;AAClC,MAAA,OAAO,cAAc,CAAA;IACvB,KAAKvjB,0BAAkB,CAACwjB,UAAU;AAChC,MAAA,OAAO,YAAY,CAAA;IACrB,KAAKxjB,0BAAkB,CAACyjB,QAAQ;AAC9B,MAAA,OAAO,UAAU,CAAA;AACpB,GAAA;AACH,CAAA;AAEgB,SAAAC,cAAcA,CAC5BL,GAAuB,EACvBL,MAAiB,EAAA;EAEjB,OAAOD,YAAY,CAACK,qBAAqB,CAACC,GAAG,CAAC,EAAEL,MAAM,CAAC,CAAA;AACzD,CAAA;AAEgB,SAAAW,YAAYA,CAC1BN,GAAuB,EACvBF,IAAkC,EAAA;EAElC,OAAOD,UAAU,CAACE,qBAAqB,CAACC,GAAG,CAAC,EAAEF,IAAI,CAAC,CAAA;AACrD,CAAA;AAEgB,SAAAT,iBAAiBA,CAC/BvC,KAAyB,EACzBvF,QAAsB,EAAA;AAAA,EAAA,IAAAgJ,oBAAA,CAAA;AAEtB,EAAA,IAAAC,KAAA,GAAAD,CAAAA,oBAAA,GACEzD,KAAK,CAAC2B,aAAa,IAAA,IAAA,GAAA,KAAA,CAAA,GAAnB3B,KAAK,CAAC2B,aAAa,CAAG3B,KAAK,CAAC,KAAAyD,IAAAA,GAAAA,oBAAA,GAAIzD,KAAK;IAD/B7U,SAAS,GAAAuY,KAAA,CAATvY,SAAS;IAAEjI,QAAQ,GAAAwgB,KAAA,CAARxgB,QAAQ;IAAEyb,KAAK,GAAA+E,KAAA,CAAL/E,KAAK;IAAEgE,YAAY,GAAAe,KAAA,CAAZf,YAAY;IAAEd,KAAK,GAAA6B,KAAA,CAAL7B,KAAK;IAAE7D,UAAU,GAAA0F,KAAA,CAAV1F,UAAU,CAAA;AAEnE,EAAA,IAAM8E,MAAM,GAAmB;AAC7B5f,IAAAA,QAAQ,EAARA,QAAQ;AACRyf,IAAAA,YAAY,EAAZA,YAAY;AACZhE,IAAAA,KAAK,EAALA,KAAK;IACLxT,SAAS,EAAEmH,EAAE,CAACnH,SAAS,CAAA;GACxB,CAAA;EACD,CAAC6S,UAAU,IAAVA,IAAAA,GAAAA,UAAU,GAAI,EAAE,EACd2F,IAAI,CAAC,UAAC7c,CAAC,EAAE8c,CAAC,EAAA;AAAA,IAAA,OAAK9c,CAAC,CAAC+c,QAAQ,GAAGD,CAAC,CAACC,QAAQ,CAAA;AAAA,GAAA,CAAC,CACvCphB,OAAO,CAAC,UAACnC,CAAC,EAAA;AAAA,IAAA,OAAKA,CAAC,CAACoW,KAAK,CAACoM,MAAM,CAAC,CAAA;GAAC,CAAA,CAAA;EAClCA,MAAM,CAACjB,KAAK,GACVA,KAAK,IAAI,CAACA,KAAK,CAACC,IAAI,GAChBrH,QAAQ,CAACqJ,WAAW,CAACjC,KAAK,EAAEiB,MAAM,CAACiB,UAAU,EAAEjB,MAAM,CAACkB,QAAQ,CAAC,GAC/D1gB,SAAS,CAAA;AACf,EAAA,OAAOwf,MAAM,CAAA;AACf,CAAA;AAEgB,SAAAN,YAAYA,CAC1Btd,KAAgC,EAChC7C,KAAkB,EAAA;AAElB,EAAA,OAAO6C,KAAK,GAAGA,KAAK,GAAGR,gBAAgB,CAACrC,KAAK,CAAC,CAAA;AAChD;;;;;;AC/nBM,SAAU4hB,kBAAkBA,CAChCC,eAAA,EACAC,gBAAA,EAAiE;AAAA,EAAA,IAAAC,qBAAA,CAAA;AAAA,EAAA,IADjEF,eAAA,KAAA,KAAA,CAAA,EAAA;AAAAA,IAAAA,eAAA,GAA0C,EAAE,CAAA;AAAA,GAAA;AAAA,EAAA,IAC5CC,gBAAA,KAAA,KAAA,CAAA,EAAA;IAAAA,gBAAA,GAAqCE,0BAA0B,EAAE,CAAA;AAAA,GAAA;AAEjE,EAAA,IAAMC,iBAAiB,GAAGJ,eAAe,CAAC/hB,MAAM,CAACoiB,kBAAkB,CAAC,CAAA;AACpE,EAAA,IAAMC,kBAAkB,GAAGN,eAAe,CAAC/hB,MAAM,CAACsiB,mBAAmB,CAAC,CAAA;AACtE,EAAA,IAAMC,sBAAsB,GAAGR,eAAe,CAAC/hB,MAAM,CACnDwiB,uBAAuB,CACxB,CAAA;AACD,EAAA,IAAMC,oBAAoB,GAAGV,eAAe,CAAC/hB,MAAM,CAAC0iB,qBAAqB,CAAC,CAAA;AAC1E,EAAA,IAAMC,cAAc,GAAGZ,eAAe,CAAC/hB,MAAM,CAAC4iB,mBAAmB,CAAC,CAAA;AAClE,EAAA,IAAMC,cAAc,GAAGd,eAAe,CAAC/hB,MAAM,CAAC8iB,mBAAmB,CAAC,CAAA;AAClE,EAAA,IAAMC,eAAe,GAAGhB,eAAe,CAAC/hB,MAAM,CAACgjB,oBAAoB,CAAC,CAAA;AACpE,EAAA,IAAMC,eAAe,GAAGlB,eAAe,CAAC/hB,MAAM,CAACkjB,oBAAoB,CAAC,CAAA;AACpE,EAAA,IAAMC,kBAAkB,GAAA,CAAAlB,qBAAA,GACtBF,eAAe,CAACpgB,IAAI,CAACyhB,wBAAwB,CAAC,KAAAnB,IAAAA,GAAAA,qBAAA,GAC9CD,gBAAgB,CAACzH,UAAU,CAAA;AAE7B,EAAA,IAAM8I,aAAa,GAAiB;AAClCvD,IAAAA,YAAY,EAAZA,YAAY;AACZV,IAAAA,UAAU,EAAVA,UAAU;AACVK,IAAAA,WAAW,EAAXA,WAAW;AACXO,IAAAA,aAAa,EAAbA,aAAa;AACb2B,IAAAA,WAAW,EAAXA,WAAW;AACX2B,IAAAA,WAAW,EAAXA,WAAW;AACXxH,IAAAA,eAAe,EAAfA,eAAe;AACfc,IAAAA,YAAY,EAAZA,YAAY;IACZC,gBAAgB,EAAEsG,kBAAkB,CAACI,MAAAA;GACtC,CAAA;EAED,SAAS3G,YAAYA,CAACiB,KAAyB,EAAA;AAAA,IAAA,IAAA2F,qBAAA,CAAA;IAC7C,IAAMlL,QAAQ,IAAAkL,qBAAA,GACZP,eAAe,CAACthB,IAAI,CAAC,UAACxD,CAAC,EAAA;MAAA,OAAK,CAACA,CAAC,CAACslB,KAAK,IAAItlB,CAAC,CAACslB,KAAK,CAAC5F,KAAK,CAAC,CAAA;AAAA,KAAA,CAAC,KAAA2F,IAAAA,GAAAA,qBAAA,GACvDxB,gBAAgB,CAACpF,YAAY,CAAA;AAC/B,IAAA,OAAOtE,QAAQ,CAACiL,MAAM,CAAC1F,KAAK,EAAEwF,aAAa,CAAC,CAAA;AAC9C,GAAA;EAEA,SAASvH,eAAeA,CAAC+B,KAAqB,EAAA;AAAA,IAAA,IAAA6F,qBAAA,CAAA;IAC5C,IAAMpL,QAAQ,IAAAoL,qBAAA,GACZnB,sBAAsB,CAAC5gB,IAAI,CAAC,UAACxD,CAAC,EAAA;MAAA,OAC5BwlB,OAAO,CAACxlB,CAAC,CAACylB,aAAa,EAAE/F,KAAK,CAAC9B,SAAS,CAAC3d,IAAI,CAAC,CAAA;AAAA,KAAA,CAC/C,KAAAslB,IAAAA,GAAAA,qBAAA,GAAI1B,gBAAgB,CAACjG,SAAS,CAAA;AACjC,IAAA,OAAOzD,QAAQ,CAACiL,MAAM,CAAC1F,KAAK,CAAC,CAAA;AAC/B,GAAA;EAEA,SAASyF,WAAWA,CAACzF,KAAyB,EAAA;AAAA,IAAA,IAAAgG,gBAAA,CAAA;AAC5C,IAAA,OAAO,EAAAA,gBAAA,GAAChB,cAAc,CAAC,CAAC,CAAC,KAAAgB,IAAAA,GAAAA,gBAAA,GAAI7B,gBAAgB,CAAC8B,KAAK,EAAEP,MAAM,CACzD1F,KAAK,EACLwF,aAAa,CACd,CAAA;AACH,GAAA;AAEA,EAAA,SAAS1B,WAAWA,CAClB9D,KAAyB,EACzB+D,UAAqB,EACrBC,QAAmB,EAAA;AAAA,IAAA,IAAAkC,oBAAA,CAAA;IAEnB,IAAMzL,QAAQ,IAAAyL,oBAAA,GACZpB,cAAc,CAAChhB,IAAI,CAAC,UAACxD,CAAC,EAAA;MAAA,OAAKwlB,OAAO,CAACxlB,CAAC,CAAC6lB,SAAS,EAAEnG,KAAK,CAACzf,IAAI,CAAC,CAAA;AAAA,KAAA,CAAC,KAAA2lB,IAAAA,GAAAA,oBAAA,GAC5D/B,gBAAgB,CAACtC,KAAK,CAAA;IACxB,OAAOpH,QAAQ,CAACiL,MAAM,CAAC1F,KAAK,EAAE+D,UAAU,EAAEC,QAAQ,EAAEwB,aAAa,CAAC,CAAA;AACpE,GAAA;EAEA,SAASjE,UAAUA,CACjBvB,KAAwB,EAAA;AAAA,IAAA,IAAAoG,qBAAA,CAAA;AAExB,IAAA,IACyBC,UAAU,GAE/BrG,KAAK,CAFP3a,aAAa,CAAI9E,IAAI;MACrB8B,KAAK,GACH2d,KAAK,CADP3d,KAAK,CAAA;AAGP,IAAA,IAAMd,OAAO,GAAGsD,UAAU,CAACmb,KAAK,CAAC,CAAA;IACjC,IAAMvF,QAAQ,IAAA2L,qBAAA,GACZ9B,iBAAiB,CAACxgB,IAAI,CACpB,UAACxD,CAAC,EAAA;AAAA,MAAA,IAAAgmB,aAAA,EAAAC,iBAAA,EAAAC,UAAA,CAAA;AAAA,MAAA,OACA,CAAAF,CAAAA,aAAA,GAAChmB,CAAC,CAACwC,UAAU,KAAAwjB,IAAAA,GAAAA,aAAA,GAAI,KAAK,OAAAC,CAAAA,iBAAA,GAAOlkB,KAAK,CAACS,UAAU,KAAA,IAAA,GAAAyjB,iBAAA,GAAI,KAAK,CAAC,IACvD,CAAAC,CAAAA,UAAA,GAAClmB,CAAC,CAACiB,OAAO,KAAAilB,IAAAA,GAAAA,UAAA,GAAI,KAAK,MAAMjlB,OAAO,IAChCukB,OAAO,CAACxlB,CAAC,CAACmmB,UAAU,EAAEpkB,KAAK,CAAC9B,IAAI,CAAC,IACjCulB,OAAO,CAACxlB,CAAC,CAAC+lB,UAAU,EAAEA,UAAU,CAAC,KAChC,CAAC/lB,CAAC,CAACslB,KAAK,IAAItlB,CAAC,CAACslB,KAAK,CAAC5F,KAAK,CAAC,CAAC,CAAA;AAAA,KAAA,CAC/B,KAAAoG,IAAAA,GAAAA,qBAAA,GAAIjC,gBAAgB,CAAChjB,IAAI,CAAA;IAE5B,IAAMsH,MAAM,GAAGgS,QAAQ,CAACiL,MAAM,CAAC1F,KAAK,EAAEwF,aAAa,CAAC,CAAA;AACpD,IAAA,IAAI,OAAO/c,MAAM,KAAK,UAAU,EAAE,OAAOA,MAAM,CAAA;AAC/C,IAAA,OAAO,UAAC8N,CAAC,EAAA;MAAA,OAAA/T,QAAA,KAAW+T,CAAC,EAAA;AAAErT,QAAAA,QAAQ,EAAEuF,MAAAA;AAAM,OAAA,CAAA,CAAA;KAAG,CAAA;AAC5C,GAAA;EAEA,SAASmZ,WAAWA,CAClB5B,KAAyB,EAAA;AAAA,IAAA,IAAA0G,qBAAA,CAAA;AAEzB,IAAA,IAAML,UAAU,GAAGrG,KAAK,CAAC3a,aAAa,CAAC9E,IAAI,CAAA;IAC3C,IAAMka,QAAQ,IAAAiM,qBAAA,GACZlC,kBAAkB,CAAC1gB,IAAI,CAAC,UAACxD,CAAC,EAAA;AAAA,MAAA,OAAKwlB,OAAO,CAACxlB,CAAC,CAAC+lB,UAAU,EAAEA,UAAU,CAAC,CAAA;AAAA,KAAA,CAAC,KAAAK,IAAAA,GAAAA,qBAAA,GACjEvC,gBAAgB,CAAC9iB,KAAK,CAAA;IACxB,IAAMoH,MAAM,GAAGgS,QAAQ,CAACiL,MAAM,CAAC1F,KAAK,EAAEwF,aAAa,CAAC,CAAA;AACpD,IAAA,IAAI,OAAO/c,MAAM,KAAK,UAAU,EAAE,OAAOA,MAAM,CAAA;AAC/C,IAAA,OAAO,UAAC8N,CAAC,EAAA;MAAA,OAAA/T,QAAA,KAAW+T,CAAC,EAAA;AAAErT,QAAAA,QAAQ,EAAEuF,MAAAA;AAAM,OAAA,CAAA,CAAA;KAAG,CAAA;AAC5C,GAAA;EAEA,SAASwZ,YAAYA,CAACjC,KAA0B,EAAA;AAAA,IAAA,IAAA2G,qBAAA,CAAA;IAC9C,IAAMlM,QAAQ,IAAAkM,qBAAA,GACZzB,eAAe,CAACphB,IAAI,CAAC,UAACxD,CAAC,EAAA;MAAA,OAAKwlB,OAAO,CAACxlB,CAAC,CAACsmB,UAAU,EAAE5G,KAAK,CAAC5O,QAAQ,CAAC,CAAA;AAAA,KAAA,CAAC,KAAAuV,IAAAA,GAAAA,qBAAA,GAClExC,gBAAgB,CAACjjB,MAAM,CAAA;AACzB,IAAA,OAAOuZ,QAAQ,CAACiL,MAAM,CAAC1F,KAAK,EAAEwF,aAAa,CAAC,CAAA;AAC9C,GAAA;EAEA,SAASrD,aAAaA,CAACnC,KAA2B,EAAA;AAAA,IAAA,IAAA6G,qBAAA,CAAA;AAChD,IAAA,IAAMR,UAAU,GAAGrG,KAAK,CAAC7e,IAAI,CAACZ,IAAI,CAAA;IAClC,IAAMka,QAAQ,IAAAoM,qBAAA,GACZjC,oBAAoB,CAAC9gB,IAAI,CAAC,UAACxD,CAAC,EAAA;AAAA,MAAA,OAAKwlB,OAAO,CAACxlB,CAAC,CAAC+lB,UAAU,EAAEA,UAAU,CAAC,CAAA;AAAA,KAAA,CAAC,KAAAQ,IAAAA,GAAAA,qBAAA,GACnE1C,gBAAgB,CAAC/iB,OAAO,CAAA;AAC1B,IAAA,OAAOqZ,QAAQ,CAACiL,MAAM,CAAC1F,KAAK,EAAEwF,aAAa,CAAC,CAAA;AAC9C,GAAA;AAEA,EAAA,OAAOA,aAAa,CAAA;AACtB,CAAA;AAagB,SAAAsB,2BAA2BA,CACzCvlB,OAAA,EAA0C;AAAA,EAAA,IAA1CA,OAAA,KAAA,KAAA,CAAA,EAAA;IAAAA,OAAA,GAAwC,EAAE,CAAA;AAAA,GAAA;EAE1C,SAASmkB,MAAMA,CAAAhZ,IAAA,EAA6C;AAAA,IAAA,IAA1C2E,OAAO,GAAA3E,IAAA,CAAP2E,OAAO;MAAEC,UAAU,GAAA5E,IAAA,CAAV4E,UAAU,CAAA;IACnC,oBACEuM,yBAAA,CAAAC,aAAA,CAAA,QAAA,EAAA;MAAQ3S,SAAS,EAAE5J,OAAO,CAAC4J,SAAU;AAACkG,MAAAA,OAAO,EAAEA,OAAAA;AAAQ,KAAA,EACpDC,UACK,CAAC,CAAA;AAEb,GAAA;EACA,OAAO;AAAEoU,IAAAA,MAAM,EAANA,MAAM;AAAEnlB,IAAAA,IAAI,EAAE,QAAA;GAAU,CAAA;AACnC,CAAA;AACgB,SAAAwmB,0BAA0BA,CACxCxlB,OAAA,EAA2E;AAAA,EAAA,IAA3EA,OAAA,KAAA,KAAA,CAAA,EAAA;AAAAA,IAAAA,OAAA,GAAuC;AAAEylB,MAAAA,eAAe,eAAEnJ,yBAAA,CAAAC,aAAA,eAAO,IAAO,CAAA;KAAG,CAAA;AAAA,GAAA;EAE3E,IAAAmJ,QAAA,GACE1lB,OAAO;IADD4J,SAAS,GAAA8b,QAAA,CAAT9b,SAAS;IAAE+b,eAAe,GAAAD,QAAA,CAAfC,eAAe;IAAEC,iBAAiB,GAAAF,QAAA,CAAjBE,iBAAiB;IAAEH,eAAe,GAAAC,QAAA,CAAfD,eAAe,CAAA;EAEtE,OAAO;AACLtB,IAAAA,MAAM,EAAE,SAAAA,MAAAA,CAAC1F,KAAK,EAAE+D,UAAU,EAAEC,QAAQ,EAAA;AAAA,MAAA,oBAClCnG,yBAAA,CAAAC,aAAA,CAAAD,yBAAA,CAAAE,QAAA,EAAA,IAAA,EACGgG,UAAU,eACXlG,yBAAA,CAAAC,aAAA,CAAA,OAAA,EAAA;QACEsJ,OAAO,EAAEpH,KAAK,CAAC0C,KAAM;AACrBvX,QAAAA,SAAS,EAAEG,aAAa,CACtB0U,KAAK,CAAC7U,SAAS,EACfZ,wBAAI,CACFY,SAAS,EACT6U,KAAK,CAACzf,IAAI,KAAKga,iBAAS,CAAC7Z,KAAK,IAAIwmB,eAAe,EACjDlH,KAAK,CAACzf,IAAI,KAAKga,iBAAS,CAACkI,OAAO,IAAI0E,iBAAiB,CACtD,CAAA;AACD,OAAA,EAEDnH,KAAK,CAAC6B,KAAK,EACX7B,KAAK,CAAChd,QAAQ,IAAIgkB,eACd,CACP,EAAChD,QACH,CAAG,CAAA;KACJ;AACDzjB,IAAAA,IAAI,EAAE,OAAA;GACP,CAAA;AACH,CAAA;AAWM,SAAU8mB,0BAA0BA,CACxC9lB,OAAqC,EAAA;AAErC,EAAA,IAAAyL,KAAA,GAOIzL,OAAO,WAAPA,OAAO,GAAI,EAAE;IANf4J,SAAS,GAAA6B,KAAA,CAAT7B,SAAS;IACTmc,cAAc,GAAAta,KAAA,CAAdsa,cAAc;IACdC,UAAU,GAAAva,KAAA,CAAVua,UAAU;IACVC,mBAAmB,GAAAxa,KAAA,CAAnBwa,mBAAmB;IACnBC,iBAAiB,GAAAza,KAAA,CAAjBya,iBAAiB;IACjBC,cAAc,GAAA1a,KAAA,CAAd0a,cAAc,CAAA;AAEhB,EAAA,SAAShC,MAAMA,CAAAtR,KAAA,EAAAE,KAAA,EASiB;AAAA,IAAA,IAP5BwM,YAAY,GAAA1M,KAAA,CAAZ0M,YAAY;MACZJ,aAAa,GAAAtM,KAAA,CAAbsM,aAAa;MACbK,SAAS,GAAA3M,KAAA,CAAT2M,SAAS;MACTG,YAAY,GAAA9M,KAAA,CAAZ8M,YAAY;MACZD,UAAU,GAAA7M,KAAA,CAAV6M,UAAU;MACVje,QAAQ,GAAAoR,KAAA,CAARpR,QAAQ,CAAA;AAAA,IAAA,IAERif,YAAY,GAAA3N,KAAA,CAAZ2N,YAAY,CAAA;AAEd,IAAA,IAAM0F,UAAU,GAAG,CAAC3kB,QAAQ,IAAI8d,YAAY,GAAG,CAAC,CAAA;AAChD,IAAA,oBACEjD,yBAAA,CAAAC,aAAA,CACED,KAAAA,EAAAA,IAAAA,eAAAA,yBAAA,CAAAC,aAAA,CAAA,KAAA,EAAA;AAAK3S,MAAAA,SAAS,EAAEZ,wBAAI,CAACY,SAAS,EAAE+V,YAAY,IAAIoG,cAAc,CAAA;KAC3Dxd,EAAAA,KAAK,CAAC8d,IAAI,CAAC;AAAEtlB,MAAAA,MAAM,EAAEwe,YAAAA;AAAY,KAAE,EAAE,UAAC+G,CAAC,EAAEvnB,CAAC,EAAA;AAAA,MAAA,OACzC4gB,YAAY,gBACVrD,yBAAA,CAAAC,aAAA,CAACC,cAAQ,EAAA;QAACS,GAAG,EAAEyC,UAAU,CAAC3gB,CAAC,CAAA;OACzBud,eAAAA,yBAAA,CAAAC,aAAA,CAAA,KAAA,EAAA;AAAK3S,QAAAA,SAAS,EAAEZ,wBAAI,CAACgd,UAAU,EAAEC,mBAAmB,CAAA;OACjD9G,EAAAA,aAAa,CAACpgB,CAAC,CACb,CACL,eAAAud,yBAAA,CAAAC,aAAA,CAAA,KAAA,EAAA;AAAK3S,QAAAA,SAAS,EAAEsc,iBAAAA;AAAkB,OAAA,EAC/BE,UAAU,IAAI1F,YAAY,CAACf,YAAY,CAAC5gB,CAAC,CAAC,CACxC,CACG,CAAC,gBAEXud,yBAAA,CAAAC,aAAA,CAAA,KAAA,EAAA;AAAKU,QAAAA,GAAG,EAAEyC,UAAU,CAAC3gB,CAAC,CAAE;AAAC6K,QAAAA,SAAS,EAAEoc,UAAAA;AAAW,OAAA,EAC5C7G,aAAa,CAACpgB,CAAC,CACb,CACN,CAAA;AAAA,KAAA,CAEA,CACL,EAACygB,SAAS,iBACRlD,yBAAA,CAAAC,aAAA,CAAA,KAAA,EAAA;AAAK3S,MAAAA,SAAS,EAAEuc,cAAAA;AAAe,KAAA,EAAEzF,YAAY,CAAClB,SAAS,CAAO,CAE7D,CAAC,CAAA;AAEV,GAAA;EACA,OAAO;AAAE2E,IAAAA,MAAM,EAANA,MAAM;AAAEnlB,IAAAA,IAAI,EAAE,OAAA;GAAS,CAAA;AAClC,CAAA;AAiBM,SAAUunB,0BAA0BA,CACxCvmB,OAAqC,EAAA;AAErC,EAAA,IAAA6f,KAAA,GAQI7f,OAAO,WAAPA,OAAO,GAAI,EAAE;IAPf4J,SAAS,GAAAiW,KAAA,CAATjW,SAAS;IAAA4c,gBAAA,GAAA3G,KAAA,CACT4G,UAAU;AAAVA,IAAAA,UAAU,GAAAD,gBAAA,KAAGE,KAAAA,CAAAA,GAAAA,iBAAiB,GAAAF,gBAAA;IAAAG,qBAAA,GAAA9G,KAAA,CAC9B+G,kBAAkB;AAAlBA,IAAAA,kBAAkB,GAAAD,qBAAA,KAAG,KAAA,CAAA,GAAA,CAAC,GAAAA,qBAAA;IACtBE,aAAa,GAAAhH,KAAA,CAAbgH,aAAa;IACbC,iBAAiB,GAAAjH,KAAA,CAAjBiH,iBAAiB;IACjBC,aAAa,GAAAlH,KAAA,CAAbkH,aAAa;IACbC,cAAc,GAAAnH,KAAA,CAAdmH,cAAc,CAAA;EAGhB,SAASN,iBAAiBA,CAAAlG,KAAA,EAEX;AAAA,IAAA,IAAAyG,aAAA,GAAAzG,KAAA,CADb0G,OAAO;AAAPA,MAAAA,OAAO,GAAAD,aAAA,KAAGL,KAAAA,CAAAA,GAAAA,kBAAkB,GAAAK,aAAA,CAAA;IAE5B,OAAO;AACLrd,MAAAA,SAAS,EAAEid,aAAa;AACxBzJ,MAAAA,KAAK,EAAE;AACLvd,QAAAA,OAAO,EAAE,MAAM;AACfsnB,QAAAA,mBAAmB,cAAYD,OAAO,GAAA,QAAA;AACvC,OAAA;KACF,CAAA;AACH,GAAA;EAEA,SAASE,UAAUA,CAACpnB,OAAqB,EAAA;IACvC,OAAO;AACL4J,MAAAA,SAAS,EAAEmd,aAAa;AACxB3J,MAAAA,KAAK,EAAE;AACLvd,QAAAA,OAAO,EAAE,MAAM;QACfwnB,GAAG,EAAErnB,OAAO,CAACqnB,GAAG,GAAGrnB,OAAO,CAACqnB,GAAG,GAAGL,cAAc;QAC/CM,aAAa,EAAEtnB,OAAO,CAACunB,SAAS,GAC3BvnB,OAAO,CAACunB,SAAiB,GAC1BxlB,SAAAA;AACL,OAAA;KACF,CAAA;AACH,GAAA;EAEA,SAASoiB,MAAMA,CAAC1F,KAAyB,EAAA;AACvC,IAAA,IAAQ3B,WAAW,GAAsC2B,KAAK,CAAtD3B,WAAW;MAAEhZ,aAAa,GAAuB2a,KAAK,CAAzC3a,aAAa;MAAEoa,gBAAgB,GAAKO,KAAK,CAA1BP,gBAAgB,CAAA;IAEpD,IAAAiE,KAAA,GAAkCpiB,cAAc,CAAC+D,aAAa,CAAC,GAC3D2iB,UAAU,CAAC3iB,aAAa,CAAC,GACzB5D,cAAc,CAAC4D,aAAa,CAAC,GAC3BsjB,UAAU,CAACtjB,aAAa,CAAC,GACxB;AAAE8F,QAAAA,SAAS,EAAEkd,iBAAAA;OAAkC;MAJ9C1J,KAAK,GAAA+E,KAAA,CAAL/E,KAAK;MAAaoK,GAAG,GAAArF,KAAA,CAAdvY,SAAS,CAAA;IAMxB,OAAO,UAAC6d,EAAsB,EAAI;MAChC,OAAAxmB,QAAA,KACKwmB,EAAE,EAAA;QACL9lB,QAAQ,eACN2a,yBAAA,CAAAC,aAAA,CAAA,KAAA,EAAA;AACE3S,UAAAA,SAAS,EAAEG,aAAa,CAAC0U,KAAK,CAAC7U,SAAS,EAAEZ,wBAAI,CAACY,SAAS,EAAE4d,GAAG,CAAC,CAAE;AAChEpK,UAAAA,KAAK,EAAEA,KAAAA;SAENc,EAAAA,gBAAgB,oBAAhBA,gBAAgB,CAAE1c,GAAG,CAAC,UAACmB,CAAC,EAAE6G,CAAC,EAAA;AAAA,UAAA,OAAKsT,WAAW,CAACtT,CAAC,EAAEA,CAAC,CAAC,CAAA;SAC/C,CAAA,CAAA;AACN,OAAA,CAAA,CAAA;KAEJ,CAAA;AACH,GAAA;EACA,OAAO;AAAExK,IAAAA,IAAI,EAAE,OAAO;AAAEmlB,IAAAA,MAAM,EAANA,MAAAA;GAAQ,CAAA;AAClC,CAAA;AAMgB,SAAAuD,4BAA4BA,CAC1C1nB,OAAA,EAA2C;AAAA,EAAA,IAA3CA,OAAA,KAAA,KAAA,CAAA,EAAA;IAAAA,OAAA,GAAyC,EAAE,CAAA;AAAA,GAAA;EAE3C,OAAO;IACLmkB,MAAM,EAAE,SAAAA,MAAAA,CAAC1F,KAAK,EAAA;AAAA,MAAA,oBAAKnC,yBAAA,CAAAC,aAAA,CAACoL,cAAc,EAAA1mB,QAAA,CAAA,EAAA,EAAKjB,OAAO,EAAMye,KAAK,CAAI,CAAA,CAAA;AAAA,KAAA;AAC7Dzf,IAAAA,IAAI,EAAE,SAAA;GACP,CAAA;AACH,CAAA;AAEgB,SAAA2oB,cAAcA,CAAAC,KAAA,EAAA;EAAA,IAAA/J,OAAA,GAAAC,yBAAA,EAAA,CAAA;AAAA,EAAA,IAAA;AAAA,IAAA,IAAA+J,cAAA,CAAA;AAAA,IAAA,IAC5BjoB,IAAI,GAAAgoB,KAAA,CAAJhoB,IAAI;MACJC,OAAO,GAAA+nB,KAAA,CAAP/nB,OAAO;MACP+J,SAAS,GAAAge,KAAA,CAAThe,SAAS;MACTwT,KAAK,GAAAwK,KAAA,CAALxK,KAAK;AACFpd,MAAAA,OAAO,GAAA0e,6BAAA,CAAAkJ,KAAA,EAAAjJ,SAAA,CAAA,CAAA;IAEV,QAAQ/e,IAAI,CAACZ,IAAI;MACf,KAAKL,uBAAe,CAACmpB,IAAI;QACvB,oBACExL,yBAAA,CAAAC,aAAA,CAAA,GAAA,EAAA;AACEa,UAAAA,KAAK,EAAEA,KAAM;AACbxT,UAAAA,SAAS,EAAEZ,wBAAI,CACbI,gBAAgB,CAACQ,SAAS,CAAC,EAC3B/J,OAAO,GAAGA,OAAO,CAAC8E,KAAK,GAAI/E,IAAoB,CAACmoB,SAAS,CAAA;AACzD,SAAA,CACF,CAAA;MAEN,KAAKppB,uBAAe,CAAC2P,IAAI;QACvB,oBACEgO,yBAAA,CAAAC,aAAA,CAAA,KAAA,EAAA;AACEa,UAAAA,KAAK,EAAEA,KAAM;AACbxT,UAAAA,SAAS,EAAEG,aAAa,CAACH,SAAS,EAAE5J,OAAO,CAACgoB,aAAa,CAAA;SAExDnoB,EAAAA,OAAO,GAAGA,OAAO,CAAC8E,KAAK,GAAI/E,IAAoB,CAACwO,IAC9C,CAAC,CAAA;MAEV,KAAKzP,uBAAe,CAAC8P,IAAI;QACvB,oBACE6N,yBAAA,CAAAC,aAAA,CAAA,KAAA,EAAA;AACEa,UAAAA,KAAK,EAAEA,KAAM;UACbxT,SAAS,EAAEG,aAAa,CAACH,SAAS,EAAE5J,OAAO,CAACioB,aAAa,CAAE;AAC3DC,UAAAA,uBAAuB,EAAE;AACvBC,YAAAA,MAAM,EAAEtoB,OAAO,GAAAgoB,CAAAA,cAAA,GAAGhoB,OAAO,CAAC8E,KAAK,KAAA,IAAA,GAAAkjB,cAAA,GAAI,EAAE,GAAIjoB,IAAoB,CAAC4O,IAAAA;;AAC9D,SAAA,CACF,CAAA;AAEN,MAAA;QACE,oBAAO8N,yBAAA,CAAAC,aAAA,CAAA,IAAA,EAAA,IAAA,EAAI,wBAAsB,EAAC3c,IAAI,CAACZ,IAAS,CAAC,CAAA;AACpD,KAAA;AAAA,GAAA,SAAA;IAAA6e,OAAA,EAAA,CAAA;AAAA,GAAA;AAAA,CAAA;AAGI,IAAMuK,kBAAkB,GAAkB,CAC/C;AAAEhb,EAAAA,IAAI,EAAE,KAAK;AAAEzI,EAAAA,KAAK,EAAE,IAAA;AAAM,CAAA,EAC5B;AAAEyI,EAAAA,IAAI,EAAE,IAAI;AAAEzI,EAAAA,KAAK,EAAE,KAAA;AAAO,CAAA,EAC7B;AASe,SAAA0jB,yBAAyBA,CACvCroB,OAAA,EAAwC;AAAA,EAAA,IAAAsoB,qBAAA,CAAA;AAAA,EAAA,IAAxCtoB,OAAA,KAAA,KAAA,CAAA,EAAA;IAAAA,OAAA,GAAsC,EAAE,CAAA;AAAA,GAAA;AAExC,EAAA,IAAMuoB,cAAc,GAAGC,oBAAoB,CAAA,CAAAF,qBAAA,GAACtoB,OAAO,CAACyoB,aAAa,KAAAH,IAAAA,GAAAA,qBAAA,GAAI,EAAE,CAAC,CAAA;EACxE,IAAAI,qBAAA,GAAAznB,QAAA,CAAA;AACE0nB,MAAAA,cAAc,EAAEJ,cAAc;AAC9BK,MAAAA,cAAc,EAAER,kBAAAA;AAAkB,KAAA,EAC/BpoB,OAAO,CAAA;IAHJ6oB,UAAU,GAAAH,qBAAA,CAAVG,UAAU;IAAED,cAAc,GAAAF,qBAAA,CAAdE,cAAc;IAAED,cAAc,GAAAD,qBAAA,CAAdC,cAAc;IAAEG,gBAAgB,GAAAJ,qBAAA,CAAhBI,gBAAgB,CAAA;AAKpE,EAAA,OAAOC,kBAAkB,CAAC,UAACtK,KAAK,EAAEuK,SAAS,EAAI;AAC7C,IAAA,IAAMC,SAAS,GAAGxK,KAAK,CAAC3d,KAAK,CAAC9B,IAAI,CAAA;IAClC,IAAIyf,KAAK,CAACO,YAAY,EAAE;AACtB,MAAA,OAAO,UAACxT,CAAC,EAAA;QAAA,OAAAvK,QAAA,KACJuK,CAAC,EAAA;UACJ7J,QAAQ,EAAEqnB,SAAS,CAAC9E,WAAW,CAACzF,KAAK,CAACO,YAAa,EAAE,CAAA;AAAC,SAAA,CAAA,CAAA;OACtD,CAAA;AACH,KAAA;AACD,IAAA,IAAMlb,aAAa,GAAG2a,KAAK,CAAC3a,aAAa,CAAA;AACzC,IAAA,IAAImlB,SAAS,KAAK/qB,iBAAS,CAACuE,QAAQ,EAAE;MACpC,IAAMgN,YAAY,GAAGnP,mBAAmB,CAACwD,aAAa,CAAC,GACnDA,aAAa,CAAC2L,YAAY,GAC1B1N,SAAS,CAAA;AACb,MAAA,IACEqb,KAAK,GAMHqB,KAAK,CANPrB,KAAK;QACLxT,SAAS,GAKP6U,KAAK,CALP7U,SAAS;QACTsU,gBAAgB,GAIdO,KAAK,CAJPP,gBAAgB;QAChBpB,WAAW,GAGT2B,KAAK,CAHP3B,WAAW;QACX3I,WAAW,GAETsK,KAAK,CAFPtK,WAAW;QACXkJ,kBAAkB,GAChBoB,KAAK,CADPpB,kBAAkB,CAAA;MAEpB,OAAO2L,SAAS,CAAC3I,WAAW,CAAC;AAC3BjD,QAAAA,KAAK,EAALA,KAAK;AACLxT,QAAAA,SAAS,EAATA,SAAS;AACTsU,QAAAA,gBAAgB,EAAhBA,gBAAgB;AAChBpa,QAAAA,aAAa,EAAE2L,YAAY,IAAZA,IAAAA,GAAAA,YAAY,GAAI;AAAEzQ,UAAAA,IAAI,EAAE,UAAU;AAAE0Q,UAAAA,SAAS,EAAE,IAAA;SAAM;AACpEoN,QAAAA,WAAW,EAAXA,WAAW;AACX3I,QAAAA,WAAW,EAAXA,WAAW;AACXkJ,QAAAA,kBAAkB,EAAlBA,kBAAAA;AACD,OAAA,CAAC,CAAA;AACH,KAAA;AACD,IAAA,IAAIyH,UAAU,GAAGhhB,aAAa,CAAC9E,IAAI,CAAA;AACnC,IAAA,IAAIiqB,SAAS,IAAI/qB,iBAAS,CAACgrB,GAAG,EAAE,oBAAO5M,yBAAA,CAAAC,aAAA,CAAAD,yBAAA,CAAAE,QAAA,EAAA,IAAA,EAAE,oBAAkB,CAAG,CAAA;AAC9D,IAAA,IAAIpc,qBAAqB,CAAC0D,aAAa,CAAC,EACtC,OAAO,UAAC0H,CAAC,EAAA;MAAA,OAAAvK,QAAA,KACJuK,CAAC,EAAA;AACJ5B,QAAAA,SAAS,EAAEkf,gBAAgB;AAC3BnnB,QAAAA,QAAQ,eACN2a,yBAAA,CAAAC,aAAA,CAAC4M,kBAAkB,EAAA;UACjBroB,KAAK,EAAE2d,KAAK,CAAC3d,KAAM;AACnBmR,UAAAA,eAAe,EAAEwM,KAAK,CAACtK,WAAW,CAAClC,eAAgB;UACnD/N,OAAO,EAAEua,KAAK,CAACva,OAAQ;UACvB0F,SAAS,EAAE6U,KAAK,CAAC7U,SAAU;UAC3BwT,KAAK,EAAEqB,KAAK,CAACrB,KAAM;UACnBpJ,SAAS,EAAElQ,aAAa,CAACkQ,SAAAA;SAAU,CAAA;AAEtC,OAAA,CAAA,CAAA;KACD,CAAA;AACJ,IAAA,IAAMoV,MAAM,GAAGH,SAAS,KAAK/qB,iBAAS,CAAC2O,IAAI,CAAA;IAC3C,IAAI+b,cAAc,IAAI,IAAI,IAAIQ,MAAM,IAAI3K,KAAK,CAACze,OAAO,IAAI,IAAI,EAAE;AAC7D,MAAA,OAAOgpB,SAAS,CAAChJ,UAAU,CAAA/e,QAAA,KAAMwd,KAAK,EAAA;AAAEze,QAAAA,OAAO,EAAE4oB,cAAAA;AAAc,OAAA,CAAE,CAAC,CAAA;AACnE,KAAA;IACD,IAAI9D,UAAU,KAAKtmB,sBAAc,CAACwF,QAAQ,IAAIV,UAAU,CAACmb,KAAK,CAAC,EAAE;AAC/D,MAAA,OAAOkK,cAAc,CAACxE,MAAM,CAAC1F,KAAK,EAAEuK,SAAS,CAAC,CAAA;AAC/C,KAAA;AACD,IAAA,QAAQlE,UAAU;MAChB,KAAKtmB,sBAAc,CAAC6qB,QAAQ;AAC1B,QAAA,OAAOd,cAAc,CAACpE,MAAM,CAAC1F,KAAK,EAAEuK,SAAS,CAAC,CAAA;AACjD,KAAA;IACD,OAAOlE,UAAU,KAAKtmB,sBAAc,CAAC8qB,QAAQ,gBAC3ChN,yBAAA,CAAAC,aAAA,CAACgN,cAAS,EAAA;MACRnM,KAAK,EAAEqB,KAAK,CAACrB,KAAM;MACnBxT,SAAS,EAAE6U,KAAK,CAAC7U,SAAU;MAC3B1F,OAAO,EAAEua,KAAK,CAACva,OAAAA;AAAQ,KACvB,CAAA,gBAEFoY,yBAAA,CAAAC,aAAA,CAACiN,YAAY,EAAA;MACX5f,SAAS,EAAEG,aAAa,CAAC0U,KAAK,CAAC7U,SAAS,EAAEif,UAAU,CAAE;MACtDzL,KAAK,EAAEqB,KAAK,CAACrB,KAAM;MACnB0B,EAAE,EAAEL,KAAK,CAACK,EAAG;MACb2K,QAAQ,EAAEhL,KAAK,CAAC7Y,QAAS;MACzB1B,OAAO,EAAEua,KAAK,CAACva,OAAQ;AACvBwlB,MAAAA,OAAO,EAAEC,qBAAqB,CAAClL,KAAK,CAAC3d,KAAK,CAAC9B,IAAI,CAAA;AAAE,KACjD,CACH,CAAA;AACH,GAAC,CAAC,CAAA;AACJ,CAAA;AAEgB,SAAAmqB,kBAAkBA,CAAAS,KAAA,EAAA;EAAA,IAAAC,QAAA,GAAA/L,yBAAA,EAAA,CAAA;AAAA,EAAA,IAAA;AAAA,IAAA,IAAAgM,MAAA,CAAA;AAAA,IAAA,IAChC5lB,OAAO,GAAA0lB,KAAA,CAAP1lB,OAAO;MACP0F,SAAS,GAAAggB,KAAA,CAAThgB,SAAS;MACToK,SAAS,GAAA4V,KAAA,CAAT5V,SAAS;MACT/B,eAAe,GAAA2X,KAAA,CAAf3X,eAAe;MACfnR,KAAK,GAAA8oB,KAAA,CAAL9oB,KAAK;MACLsc,KAAK,GAAAwM,KAAA,CAALxM,KAAK,CAAA;AASL,IAAA,IAAM5c,CAAC,GAAG0D,OAAO,CAACS,KAAK,CAAA;IACvB,IAAMyJ,IAAI,GAAA0b,CAAAA,MAAA,GACP7X,eAAe,CAACgC,YAAY,CAACnT,KAAK,EAAEN,CAAC,CAAC,GACnCwT,SAAS,GACT/B,eAAe,CAACyG,SAAS,CAAC5X,KAAK,EAAEN,CAAC,CAAC,KAAA,IAAA,GAAAspB,MAAA,GAAK,EAAE,CAAA;IAChD,oBACExN,yBAAA,CAAAC,aAAA,CAAA,KAAA,EAAA;AAAKa,MAAAA,KAAK,EAAEA,KAAM;MAACxT,SAAS,EAAEG,aAAa,CAACH,SAAS,CAAA;AAAE,KAAA,EACpDwE,IACE,CAAC,CAAA;AACN,GAAA,SAAA;IAAAyb,QAAA,EAAA,CAAA;AAAA,GAAA;AAAA,CAAA;AAGE,SAAUL,YAAYA,CAAAO,MAAA,EAAA;EAAA,IAAAC,QAAA,GAAAlM,yBAAA,EAAA,CAAA;AAAA,EAAA,IAAA;AAAA,IAAA,IAC1B5Z,OAAO,GAAA6lB,MAAA,CAAP7lB,OAAO;MACPwlB,OAAO,GAAAK,MAAA,CAAPL,OAAO;AACJjL,MAAAA,KAAK,GAAAC,6BAAA,CAAAqL,MAAA,EAAAE,UAAA,CAAA,CAAA;AAKR,IAAA,IAAAC,iBAAA,GACEC,qBAAgB,CAACjmB,OAAO,CAAC;MADnBkmB,SAAS,GAAAF,iBAAA,CAATE,SAAS;MAAEzlB,KAAK,GAAAulB,iBAAA,CAALvlB,KAAK;MAAE0lB,QAAQ,GAAAH,iBAAA,CAARG,QAAQ;AAAKC,MAAAA,UAAU,GAAA5L,6BAAA,CAAAwL,iBAAA,EAAAK,UAAA,CAAA,CAAA;AAEjD,IAAA,oBACEjO,yBAAA,CAAAC,aAAA,CAAAtb,OAAAA,EAAAA,QAAA,KACMqpB,UAAU,EAAA;AACdtrB,MAAAA,IAAI,EAAE0qB,OAAO,CAAC,CAAC,CAAE;AACjB/kB,MAAAA,KAAK,EAAEA,KAAK,IAAI,IAAI,GAAG,EAAE,GAAG+kB,OAAO,CAAC,CAAC,CAAC,CAAC/kB,KAAK,CAAE;AAC9C0lB,MAAAA,QAAQ,EAAE,SAAAA,QAAC5V,CAAAA,CAAC,EAAI;AACdvQ,QAAAA,OAAO,CAACS,KAAK,GAAG+kB,OAAO,CAAC,CAAC,CAAC,CAACjV,CAAC,CAACpD,MAAM,CAAC1M,KAAK,CAAC,CAAA;AAC5C,OAAA;KACI8Z,EAAAA,KAAK,CAAC,CACV,CAAA;AACF,GAAA,SAAA;IAAAuL,QAAA,EAAA,CAAA;AAAA,GAAA;AAAA,CAAA;AAKY,SAAAQ,8BAA8BA,CAC5CxqB,OAAA,EAA6C;EAE7C,OAAO;AACLhB,IAAAA,IAAI,EAAE,WAAW;IACjBmlB,MAAM,EAAE,SAAAA,MAAAA,CAAAsG,MAAA,EAAA;AAAA,MAAA,IAAG9N,SAAS,GAAA8N,MAAA,CAAT9N,SAAS,CAAA;MAAA,OAAQ;AAC1BxH,QAAAA,KAAK,EAAE,SAAAA,KAACuV,CAAAA,EAAE,EAAI;AACZ,UAAA,IAAIC,eAAe,CAAChO,SAAS,CAAC,EAAE;AAAA,YAAA,IAAAiO,oBAAA,CAAA;AAC9B,YAAA,OAAO5I,cAAc,CAAA4I,CAAAA,oBAAA,GACnBjO,SAAS,CAACkO,SAAS,KAAA,IAAA,GAAAD,oBAAA,GAAItsB,0BAAkB,CAACujB,YAAY,eACtDvF,yBAAA,CAAAC,aAAA,CAAA,GAAA,EAAA;cAAG3S,SAAS,EAAE+S,SAAS,CAACoL,SAAAA;AAAU,aAAA,CAAG,CACtC,CAAC2C,EAAE,CAAC,CAAA;AACN,WAAA;SACF;AACDpI,QAAAA,QAAQ,EAAE,CAAC;AACX3F,QAAAA,SAAS,EAATA,SAAAA;OACD,CAAA;AAAA,KAAA;GACF,CAAA;AACH,CAAA;AAkBgB,SAAAmO,sBAAsBA,CACpC9qB,OAAA,EAAoC;AAAA,EAAA,IAApCA,OAAA,KAAA,KAAA,CAAA,EAAA;IAAAA,OAAA,GAAkC,EAAE,CAAA;AAAA,GAAA;EAEpC,OAAO;AACLJ,IAAAA,IAAI,EAAEyoB,yBAAyB,CAACroB,OAAO,CAACJ,IAAI,CAAC;AAC7CC,IAAAA,OAAO,EAAE6nB,4BAA4B,CAAC1nB,OAAO,CAACH,OAAO,CAAC;AACtDF,IAAAA,MAAM,EAAE4lB,2BAA2B,CAACvlB,OAAO,CAACL,MAAM,CAAC;AACnD+kB,IAAAA,KAAK,EAAEoB,0BAA0B,CAAC9lB,OAAO,CAAC0kB,KAAK,CAAC;AAChD5kB,IAAAA,KAAK,EAAEymB,0BAA0B,CAACvmB,OAAO,CAACF,KAAK,CAAC;AAChDwgB,IAAAA,KAAK,EAAEkF,0BAA0B,CAACxlB,OAAO,CAACsgB,KAAK,CAAC;AAChD3D,IAAAA,SAAS,EAAE6N,8BAA8B,CAAkB,CAAC;AAC5DhN,IAAAA,YAAY,EAAEuN,2BAA2B,CAAC/qB,OAAO,CAACuhB,MAAM,CAAC;IACzDpG,UAAU,EAAE6P,+BAA+B,EAAE;GAC9C,CAAA;AACH,CAAA;AAEA,SAASD,2BAA2BA,CAClC/qB,OAAA,EAA0C;AAAA,EAAA,IAA1CA,OAAA,KAAA,KAAA,CAAA,EAAA;IAAAA,OAAA,GAAwC,EAAE,CAAA;AAAA,GAAA;AAE1C,EAAA,OAAOirB,oBAAoB,CAAC,UAACxM,KAAK,EAAEuK,SAAS,EAAI;AAC/C,IAAA,IAAMzH,MAAM,GAAGP,iBAAiB,CAAA/f,QAAA,KAEzBwd,KAAK,EAAA;MACR7U,SAAS,EAAEG,aAAa,CAAC0U,KAAK,CAAC7U,SAAS,EAAE5J,OAAO,CAAC4J,SAAS,CAAA;AAAC,KAAA,CAAA,EAE9Dof,SAAS,CACV,CAAA;IACD,OAAO;AACLrnB,MAAAA,QAAQ,eAAE2a,yBAAA,CAAAC,aAAA,CAAC2O,aAAa,EAAAjqB,QAAA,CAAA;AAACsgB,QAAAA,MAAM,EAAEA,MAAAA;OAAYvhB,EAAAA,OAAO,CAAI,CAAA;MACxD4J,SAAS,EAAE2X,MAAM,CAAC3X,SAAS;MAC3BwT,KAAK,EAAEmE,MAAM,CAACnE,KAAK;MACnB+N,MAAM,EAAE,SAAAA,MAAAA,CAAC1W,CAAC,EAAA;AAAA,QAAA,OACRA,CAAC,IAAIgK,KAAK,CAAC2C,YAAY,GAClB3C,KAAK,CAAC2C,YAAY,CAACgK,IAAI,CAACC,aAAa,GAAG5W,CAAC,GAC1C1S,SAAS,CAAA;AAAA,OAAA;KAChB,CAAA;AACH,GAAC,CAAC,CAAA;AACJ,CAAA;AAEA,SAAS+gB,0BAA0BA,GAAA;AACjC,EAAA,OAAOgI,sBAAsB,CAAC;AAC5BvJ,IAAAA,MAAM,EAAE;AAAE3X,MAAAA,SAAS,EAAE,SAAA;KAAW;AAChC9J,IAAAA,KAAK,EAAE;AAAE8J,MAAAA,SAAS,EAAE,OAAA;KAAS;AAC7B8a,IAAAA,KAAK,EAAE;AAAE9a,MAAAA,SAAS,EAAE,eAAA;KAAiB;AACrCjK,IAAAA,MAAM,EAAE;AAAEiK,MAAAA,SAAS,EAAE,QAAA;KAAU;AAC/BhK,IAAAA,IAAI,EAAE;AAAEipB,MAAAA,UAAU,EAAE,MAAA;KAAQ;AAC5BhpB,IAAAA,OAAO,EAAE;AAAEooB,MAAAA,aAAa,EAAE,MAAM;AAAED,MAAAA,aAAa,EAAE,MAAA;AAAQ,KAAA;AAC1D,GAAA,CAAC,CAAA;AACJ,CAAA;AAEA,SAAS5E,uBAAuBA,CAC9BrkB,CAAuB,EAAA;AAEvB,EAAA,OAAOA,CAAC,CAACC,IAAI,KAAK,WAAW,CAAA;AAC/B,CAAA;AAEA,SAASgkB,kBAAkBA,CACzBjkB,CAAuB,EAAA;AAEvB,EAAA,OAAOA,CAAC,CAACC,IAAI,KAAK,MAAM,CAAA;AAC1B,CAAA;AAEA,SAASkkB,mBAAmBA,CAC1BnkB,CAAuB,EAAA;AAEvB,EAAA,OAAOA,CAAC,CAACC,IAAI,KAAK,OAAO,CAAA;AAC3B,CAAA;AAEA,SAASwkB,mBAAmBA,CAC1BzkB,CAAuB,EAAA;AAEvB,EAAA,OAAOA,CAAC,CAACC,IAAI,KAAK,OAAO,CAAA;AAC3B,CAAA;AAEA,SAAS8kB,oBAAoBA,CAC3B/kB,CAAuB,EAAA;AAEvB,EAAA,OAAOA,CAAC,CAACC,IAAI,KAAK,QAAQ,CAAA;AAC5B,CAAA;AAEA,SAASglB,wBAAwBA,CAC/BjlB,CAAuB,EAAA;AAEvB,EAAA,OAAOA,CAAC,CAACC,IAAI,KAAK,YAAY,CAAA;AAChC,CAAA;AAEA,SAAS4kB,oBAAoBA,CAC3B7kB,CAAuB,EAAA;AAEvB,EAAA,OAAOA,CAAC,CAACC,IAAI,KAAK,QAAQ,CAAA;AAC5B,CAAA;AAEA,SAASskB,qBAAqBA,CAC5BvkB,CAAuB,EAAA;AAEvB,EAAA,OAAOA,CAAC,CAACC,IAAI,KAAK,SAAS,CAAA;AAC7B,CAAA;AAEA,SAAS0kB,mBAAmBA,CAC1B3kB,CAAuB,EAAA;AAEvB,EAAA,OAAOA,CAAC,CAACC,IAAI,KAAK,OAAO,CAAA;AAC3B,CAAA;AACA,SAASulB,OAAOA,CAAIxlB,CAAsB,EAAEyB,CAAI,EAAA;EAC9C,OAAOzB,CAAC,IAAI,IAAI,GAAG,IAAI,GAAGwJ,KAAK,CAACC,OAAO,CAACzJ,CAAC,CAAC,GAAGA,CAAC,CAACmE,QAAQ,CAAC1C,CAAC,CAAC,GAAGA,CAAC,KAAKzB,CAAC,CAAA;AACtE,CAAA;AAEM,SAAU4rB,eAAeA,CAACplB,CAAmB,EAAA;AACjD,EAAA,OAAOA,CAAC,CAACvG,IAAI,KAAKT,4BAAoB,CAACupB,IAAI,CAAA;AAC7C,CAAA;AAEgB,SAAAmD,oBAAoBA,CAClC9G,MAA4C,EAC5CnkB,OAA6C,EAAA;AAE7C,EAAA,OAAAiB,QAAA,CAAA;AAASjC,IAAAA,IAAI,EAAE,QAAQ;AAAEmlB,IAAAA,MAAM,EAANA,MAAAA;AAAM,GAAA,EAAKnkB,OAAO,CAAA,CAAA;AAC7C,CAAA;AAEgB,SAAAsrB,mBAAmBA,CACjCnH,MAA2C,EAC3CnkB,OAA4C,EAAA;AAE5C,EAAA,OAAAiB,QAAA,CAAA;AAASjC,IAAAA,IAAI,EAAE,OAAO;AAAEmlB,IAAAA,MAAM,EAANA,MAAAA;AAAM,GAAA,EAAKnkB,OAAO,CAAA,CAAA;AAC5C,CAAA;AAEgB,SAAA+oB,kBAAkBA,CAChC5E,MAA0C,EAC1CnkB,OAA2C,EAAA;AAE3C,EAAA,OAAAiB,QAAA,CAAA;AAASjC,IAAAA,IAAI,EAAE,MAAM;AAAEmlB,IAAAA,MAAM,EAANA,MAAAA;AAAM,GAAA,EAAKnkB,OAAO,CAAA,CAAA;AAC3C,CAAA;AAEgB,SAAAurB,mBAAmBA,CACjCpH,MAA2C,EAC3CnkB,OAA4C,EAAA;AAE5C,EAAA,OAAAiB,QAAA,CAAA;AAASjC,IAAAA,IAAI,EAAE,OAAO;AAAEmlB,IAAAA,MAAM,EAANA,MAAAA;AAAM,GAAA,EAAKnkB,OAAO,CAAA,CAAA;AAC5C,CAAA;AAEgB,SAAAwrB,qBAAqBA,CACnCrH,MAA6C,EAC7CnkB,OAA8C,EAAA;AAE9C,EAAA,OAAAiB,QAAA,CAAA;AAASjC,IAAAA,IAAI,EAAE,SAAS;AAAEmlB,IAAAA,MAAM,EAANA,MAAAA;AAAM,GAAA,EAAKnkB,OAAO,CAAA,CAAA;AAC9C,CAAA;AAEgB,SAAAyrB,mBAAmBA,CACjCtH,MAA2C,EAC3CnkB,OAAiD,EAAA;AAEjD,EAAA,OAAAiB,QAAA,CAAA;AAASjC,IAAAA,IAAI,EAAE,OAAO;AAAEmlB,IAAAA,MAAM,EAANA,MAAAA;AAAM,GAAA,EAAKnkB,OAAO,CAAA,CAAA;AAC5C,CAAA;AAEgB,SAAA0rB,wBAAwBA,CACtCvH,MAAgD,EAChDnkB,OAAiD,EAAA;AAEjD,EAAA,OAAAiB,QAAA,CAAA;AAASjC,IAAAA,IAAI,EAAE,YAAY;AAAEmlB,IAAAA,MAAM,EAANA,MAAAA;AAAM,GAAA,EAAKnkB,OAAO,CAAA,CAAA;AACjD,CAAA;AAEgB,SAAA2rB,uBAAuBA,CACrCxH,MAAoD,EACpDnkB,OAAgD,EAAA;AAEhD,EAAA,OAAAiB,QAAA,CAAA;AAASjC,IAAAA,IAAI,EAAE,WAAA;AAAW,GAAA,EAAKgB,OAAO,EAAA;AAAEmkB,IAAAA,MAAM,EAANA,MAAAA;AAAM,GAAA,CAAA,CAAA;AAChD,CAAA;AAQgB,SAAAqE,oBAAoBA,CAACxoB,OAAA,EAAmC;AAAA,EAAA,IAAnCA,OAAA,KAAA,KAAA,CAAA,EAAA;IAAAA,OAAA,GAAiC,EAAE,CAAA;AAAA,GAAA;AACtE,EAAA,OAAO+oB,kBAAkB,CACvB,UAACtK,KAAK,EAAEmN,OAAO,EAAA;AAAA,IAAA,oBACbtP,yBAAA,CAAAC,aAAA,CAACsP,kBAAkB,EAAA;MACjBjiB,SAAS,EAAEG,aAAa,CAAC0U,KAAK,CAAC7U,SAAS,EAAE5J,OAAO,CAAC4J,SAAS,CAAE;MAC7DiB,KAAK,EAAE4T,KAAK,CAACva,OAAQ;MACrB4a,EAAE,EAAEL,KAAK,CAACK,EAAG;MACb9e,OAAO,EAAEye,KAAK,CAACze,OAAS;MACxByB,QAAQ,EAAEgd,KAAK,CAAChd,QAAS;MACzBuS,SAAS,EAAEhU,OAAO,CAACgU,SAAU;MAC7B8X,YAAY,EAAE9rB,OAAO,CAAC8rB,YAAa;AACnCpC,MAAAA,OAAO,EAAEqC,sBAAsB,CAACtN,KAAK,CAAC3d,KAAK,CAAC9B,IAAI,CAAA;AAAE,KAAA,CAClD,CAAA;AAAA,GACH,EACD;AACEgB,IAAAA,OAAO,EAAE,IAAA;AACV,GAAA,CACF,CAAA;AACH,CAAA;AAmBM,SAAU6rB,kBAAkBA,CAAAG,MAAA,EAAA;EAAA,IAAAC,QAAA,GAAAnO,yBAAA,EAAA,CAAA;AAAA,EAAA,IAAA;AAAA,IAAA,IAChCjT,KAAK,GAAAmhB,MAAA,CAALnhB,KAAK;MACL7K,OAAO,GAAAgsB,MAAA,CAAPhsB,OAAO;MACP4J,SAAS,GAAAoiB,MAAA,CAATpiB,SAAS;MACT8f,OAAO,GAAAsC,MAAA,CAAPtC,OAAO;MACPjoB,QAAQ,GAAAuqB,MAAA,CAARvqB,QAAQ;MAAAyqB,gBAAA,GAAAF,MAAA,CACRhY,SAAS;AAATA,MAAAA,SAAS,GAAAkY,gBAAA,KAAG,KAAA,CAAA,GAAA,KAAK,GAAAA,gBAAA;MAAAC,mBAAA,GAAAH,MAAA,CACjBF,YAAY;AAAZA,MAAAA,YAAY,GAAAK,mBAAA,KAAG,KAAA,CAAA,GAAA,iBAAiB,GAAAA,mBAAA;AAC7B1N,MAAAA,KAAK,GAAAC,6BAAA,CAAAsN,MAAA,EAAAI,UAAA,CAAA,CAAA;AAER,IAAA,IAAQznB,KAAK,GAAekG,KAAK,CAAzBlG,KAAK;MAAEwX,QAAQ,GAAKtR,KAAK,CAAlBsR,QAAQ,CAAA;IACvB,IAAAkQ,SAAA,GAAoBC,cAAQ,CAAC,CAAC7qB,QAAQ,IAAIkD,KAAK,IAAI,IAAI,CAAC;AAAjD4nB,MAAAA,SAAS,GAAAF,SAAA,CAAA,CAAA,CAAA,CAAA;IAChB,IAAMG,eAAe,GAAGtc,aAAO,CAC7B,YAAA;MAAA,OAAMtO,MAAM,CAACC,WAAW,CAAC7B,OAAO,CAACwB,GAAG,CAAC,UAACzC,CAAC,EAAA;QAAA,OAAK,CAAC2qB,OAAO,CAAC3qB,CAAC,CAAC4F,KAAK,CAAC,EAAE5F,CAAC,CAAC4F,KAAK,CAAC,CAAA;AAAA,OAAA,CAAC,CAAC,CAAA;KACzE,EAAA,CAAC3E,OAAO,CAAC,CACV,CAAA;AACD,IAAA,oBACEsc,yBAAA,CAAAC,aAAA,CAAAtb,QAAAA,EAAAA,QAAA,KACMwd,KAAK,EAAA;AACT7U,MAAAA,SAAS,EAAEA,SAAU;MACrBygB,QAAQ,EAAE,SAAAA,QAAAA,CAAC7pB,CAAC,EAAA;QAAA,OAAMqK,KAAK,CAAClG,KAAK,GAAG6nB,eAAe,CAAChsB,CAAC,CAAC6Q,MAAM,CAAC1M,KAAK,CAAC,CAAA;OAAE;AACjEA,MAAAA,KAAK,EAAE+kB,OAAO,CAAC/kB,KAAK,CAAE;AACtBwX,MAAAA,QAAQ,EAAEA,QAAAA;AAAS,KAAA,CAAA,EAElBoQ,SAAS,iBACRjQ,yBAAA,CAAAC,aAAA,CAAA,QAAA,EAAA;AAAQ5X,MAAAA,KAAK,EAAC,EAAA;AAAE,KAAA,EAAElD,QAAQ,GAAGqqB,YAAY,GAAG9X,SAAkB,CAC/D,EACAhU,OAAO,CAACwB,GAAG,CAAC,UAACzC,CAAC,EAAEyK,CAAC,EAAA;MAAA,oBAChB8S,yBAAA,CAAAC,aAAA,CAAA,QAAA,EAAA;AAAQU,QAAAA,GAAG,EAAEzT,CAAE;AAAC7E,QAAAA,KAAK,EAAE+kB,OAAO,CAAC3qB,CAAC,CAAC4F,KAAK,CAAE;QAACwX,QAAQ,EAAEpd,CAAC,CAACod,QAAAA;OAClDpd,EAAAA,CAAC,CAACqO,IACG,CAAC,CAAA;AAAA,KACV,CACK,CAAC,CAAA;AACT,GAAA,SAAA;IAAA6e,QAAA,EAAA,CAAA;AAAA,GAAA;AAAA,CAAA;AAGE,SAAUF,sBAAsBA,CAACU,EAAU,EAAA;AAC/C,EAAA,QAAQA,EAAE;IACR,KAAKvuB,iBAAS,CAAC8N,MAAM,CAAA;IACrB,KAAK9N,iBAAS,CAACyO,GAAG,CAAA;IAClB,KAAKzO,iBAAS,CAACwuB,MAAM;AACnB,MAAA,OAAO,UAACnnB,CAAC,EAAA;AAAA,QAAA,OAAKA,CAAC,CAAA;AAAA,OAAA,CAAA;AACjB,IAAA;AACE,MAAA,OAAO,UAACA,CAAC,EAAA;AAAA,QAAA,IAAAonB,WAAA,CAAA;AAAA,QAAA,OAAA,CAAAA,WAAA,GAAKpnB,CAAC,IAAA,IAAA,GAAA,KAAA,CAAA,GAADA,CAAC,CAAEqG,QAAQ,EAAE,KAAA,IAAA,GAAA+gB,WAAA,GAAI,EAAE,CAAA;AAAA,OAAA,CAAA;AACpC,GAAA;AACH,CAAA;AAIM,SAAUhD,qBAAqBA,CAAC8C,EAAU,EAAA;AAC9C,EAAA,QAAQA,EAAE;IACR,KAAKvuB,iBAAS,CAAC8N,MAAM;AACnB,MAAA,OAAO,CAAC,MAAM,EAAE,UAACzG,CAAC,EAAA;AAAA,QAAA,OAAKA,CAAC,CAAA;AAAA,OAAA,EAAE,UAACA,CAAC,EAAA;AAAA,QAAA,OAAKA,CAAC,CAAA;OAAC,CAAA,CAAA;IACrC,KAAKrH,iBAAS,CAAC2O,IAAI;AACjB,MAAA,OAAO,CAAC,MAAM,EAAE,UAACtH,CAAC,EAAA;QAAA,OAAKA,CAAC,KAAK,MAAM,CAAA;AAAA,OAAA,EAAE,UAACA,CAAC,EAAA;AAAA,QAAA,IAAAqnB,YAAA,CAAA;AAAA,QAAA,OAAA,CAAAA,YAAA,GAAKrnB,CAAC,IAAA,IAAA,GAAA,KAAA,CAAA,GAADA,CAAC,CAAEqG,QAAQ,EAAE,KAAA,IAAA,GAAAghB,YAAA,GAAI,EAAE,CAAA;OAAC,CAAA,CAAA;IAClE,KAAK1uB,iBAAS,CAACyO,GAAG;AAChB,MAAA,OAAO,CACL,QAAQ,EACR,UAACpH,CAAC,EAAA;QAAA,OAAMA,CAAC,KAAK,EAAE,GAAGsnB,QAAQ,CAACtnB,CAAC,CAAC,GAAG,IAAI,CAAA;OAAC,EACtC,UAACA,CAAC,EAAA;AAAA,QAAA,OAAMA,CAAC,IAAI,IAAI,GAAG,EAAE,GAAGA,CAAC,CAAA;AAAA,OAAC,CAC5B,CAAA;IACH,KAAKrH,iBAAS,CAACmZ,IAAI;AACjB,MAAA,OAAO,CAAC,MAAM,EAAE,UAAC9R,CAAC,EAAA;AAAA,QAAA,OAAKA,CAAC,CAAA;AAAA,OAAA,EAAE,UAACA,CAAC,EAAA;AAAA,QAAA,OAAKA,CAAC,CAAA;OAAC,CAAA,CAAA;IACrC,KAAKrH,iBAAS,CAACwuB,MAAM;AACnB,MAAA,OAAO,CAAC,QAAQ,EAAE,UAACnnB,CAAC,EAAA;QAAA,OAAKunB,UAAU,CAACvnB,CAAC,CAAC,CAAA;AAAA,OAAA,EAAE,UAACA,CAAC,EAAA;AAAA,QAAA,OAAKA,CAAC,CAAA;OAAC,CAAA,CAAA;AACnD,IAAA;AACE,MAAA,OAAO,CAAC,MAAM,EAAE,UAACA,CAAC,EAAA;AAAA,QAAA,OAAKA,CAAC,CAAA;AAAA,OAAA,EAAE,UAACA,CAAC,EAAA;AAAA,QAAA,OAAKA,CAAC,CAAA;OAAC,CAAA,CAAA;AACtC,GAAA;AACH,CAAA;SAEgBylB,+BAA+BA,GAAA;EAC7C,OAAOU,wBAAwB,CAAC,UAACjN,KAAK,EAAA;AAAA,IAAA,oBAAKnC,yBAAA,CAAAC,aAAA,CAACwQ,iBAAiB,EAAKtO,KAAM,CAAG,CAAA;GAAC,CAAA,CAAA;AAC9E,CAAA;AAEgB,SAAAsO,iBAAiBA,CAAAC,MAAA,EAAA;EAAA,IAAAC,QAAA,GAAAnP,yBAAA,EAAA,CAAA;AAAA,EAAA,IAAA;AAAA,IAAA,IAC/B3C,UAAU,GAAA6R,MAAA,CAAV7R,UAAU;MACVxZ,QAAQ,GAAAqrB,MAAA,CAARrrB,QAAQ;MACRiI,SAAS,GAAAojB,MAAA,CAATpjB,SAAS;MACTwT,KAAK,GAAA4P,MAAA,CAAL5P,KAAK;MACL+N,MAAM,GAAA6B,MAAA,CAAN7B,MAAM,CAAA;AAEN,IAAA,IAAM3qB,CAAC,GAAG2a,UAAU,CAACxW,KAAK,CAAA;AAC1BuQ,IAAAA,eAAS,CAAC,YAAK;AACb,MAAA,IAAI1U,CAAC,EAAE;AACL2a,QAAAA,UAAU,CAACE,QAAQ,CAAC,UAAClW,EAAE,EAAA;UAAA,OAAM;YAAE+V,OAAO,EAAE1a,CAAC,CAAC0a,OAAO;YAAEE,OAAO,EAAE5a,CAAC,CAAC0a,OAAAA;WAAS,CAAA;AAAA,SAAC,CAAC,CAAA;AAC1E,OAAA;KACF,EAAE,CAAC1a,CAAC,IAAA,IAAA,GAAA,KAAA,CAAA,GAADA,CAAC,CAAE0a,OAAO,CAAC,CAAC,CAAA;IAChB,OAAO1a,CAAC,YAADA,CAAC,CAAE0a,OAAO,gBACfoB,yBAAA,CAAAC,aAAA,CAAA,KAAA,EAAA;AAAK3S,MAAAA,SAAS,EAAEZ,wBAAI,CAACY,SAAS,CAAE;AAACwT,MAAAA,KAAK,EAAEA,KAAM;AAACxY,MAAAA,GAAG,EAAEumB,MAAAA;KACjDxpB,EAAAA,QACE,CAAC,gBAEN2a,yBAAA,CAAAC,aAAA,CAAAD,yBAAA,CAAAE,QAAA,EAAA,IAAK,CACN,CAAA;AAAC,GAAA,SAAA;IAAAyQ,QAAA,EAAA,CAAA;AAAA,GAAA;AAAA,CAAA;SAGY/B,aAAaA,CAAAgC,MAAA,EAAA;EAAA,IAAAC,QAAA,GAAArP,yBAAA,EAAA,CAAA;AAAA,EAAA,IAAA;AAAA,IAAA,IAC3BsP,UAAU,GAAAF,MAAA,CAAVE,UAAU;MAAAC,aAAA,GAAAH,MAAA,CACV3L,MAAM;MAAI+L,UAAU,GAAAD,aAAA,CAAVC,UAAU;MAAEC,YAAY,GAAAF,aAAA,CAAZE,YAAY;MAAEjN,KAAK,GAAA+M,aAAA,CAAL/M,KAAK;MAAE3e,QAAQ,GAAA0rB,aAAA,CAAR1rB,QAAQ;MAAEyf,YAAY,GAAAiM,aAAA,CAAZjM,YAAY,CAAA;IAIjE,IAAMoM,EAAE,GAAGpM,YAAY,CAAA;AACvB,IAAA,IAAMgJ,SAAS,GAAGoD,EAAE,IAAIA,EAAE,CAACC,OAAO,GAAGD,EAAE,CAAC7Y,KAAK,GAAG5S,SAAS,CAAA;AACzD,IAAA,oBACEua,yBAAA,CAAAC,aAAA,CAAAD,yBAAA,CAAAE,QAAA,EACG8D,IAAAA,EAAAA,KAAK,EACLiN,YAAY,EACZ5rB,QAAQ,EACRyoB,SAAS,iBAAI9N,yBAAA,CAAAC,aAAA,CAAA,KAAA,EAAA;AAAK3S,MAAAA,SAAS,EAAEwjB,UAAAA;AAAW,KAAA,EAAEhD,SAAe,CAAC,EAC1DkD,UACH,CAAG,CAAA;AACH,GAAA,SAAA;IAAAH,QAAA,EAAA,CAAA;AAAA,GAAA;AAAA;;AC3/BG,IAAMO,oBAAoB,GAAG;AAClCpN,EAAAA,KAAK,EAAE;AACLqF,IAAAA,eAAe,EAAE,WAAW;IAC5BF,eAAe,eAAEnJ,yBAAA,CAAAC,aAAA,CAAA,MAAA,EAAA;AAAM3S,MAAAA,SAAS,EAAC,cAAA;AAAc,KAAA,EAAE,IAAO,CAAA;GACzD;AACD8a,EAAAA,KAAK,EAAE;AACLqB,IAAAA,cAAc,EAAE,gDAAgD;AAChEC,IAAAA,UAAU,EAAE,WAAW;AACvBG,IAAAA,cAAc,EAAE,MAAA;GACjB;AACDrmB,EAAAA,KAAK,EAAE;AACLgnB,IAAAA,iBAAiB,EAAE,qBAAqB;AACxCD,IAAAA,aAAa,EAAE,iBAAiB;AAChCE,IAAAA,aAAa,EAAE,OAAA;GAChB;AACDpnB,EAAAA,MAAM,EAAE;AACNiK,IAAAA,SAAS,EAAE,sCAAA;GACZ;AACD2X,EAAAA,MAAM,EAAE;AACN3X,IAAAA,SAAS,EAAE,eAAe;AAC1BwjB,IAAAA,UAAU,EAAE,yBAAA;GACb;AACDxtB,EAAAA,IAAI,EAAE;AACJkpB,IAAAA,gBAAgB,EAAE,kCAAA;AACnB,GAAA;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;"}
1
+ {"version":3,"file":"index.js","sources":["../src/types.ts","../src/util.ts","../src/schemaBuilder.ts","../src/controlBuilder.ts","../src/internal.ts","../src/hooks.tsx","../src/validators.ts","../src/schemaInterface.ts","../src/controlRender.tsx","../src/renderers.tsx","../src/tailwind.tsx"],"sourcesContent":["export interface SchemaField {\n type: string;\n field: string;\n displayName?: string | null;\n tags?: string[] | null;\n system?: boolean | null;\n collection?: boolean | null;\n onlyForTypes?: string[] | null;\n required?: boolean | null;\n notNullable?: boolean | null;\n defaultValue?: any;\n isTypeField?: boolean | null;\n searchable?: boolean | null;\n options?: FieldOption[] | null;\n validators?: SchemaValidator[] | null;\n}\n\nexport type SchemaMap = Record<string, SchemaField[]>;\n\nexport enum FieldType {\n String = \"String\",\n Bool = \"Bool\",\n Int = \"Int\",\n Date = \"Date\",\n DateTime = \"DateTime\",\n Double = \"Double\",\n EntityRef = \"EntityRef\",\n Compound = \"Compound\",\n AutoId = \"AutoId\",\n Image = \"Image\",\n Any = \"Any\",\n}\n\nexport interface EntityRefField extends SchemaField {\n type: FieldType.EntityRef;\n entityRefType: string;\n parentField: string;\n}\n\nexport interface FieldOption {\n name: string;\n value: any;\n}\n\nexport interface CompoundField extends SchemaField {\n type: FieldType.Compound;\n children: SchemaField[];\n treeChildren?: boolean;\n schemaRef?: string;\n}\n\nexport type AnyControlDefinition =\n | DataControlDefinition\n | GroupedControlsDefinition\n | ActionControlDefinition\n | DisplayControlDefinition;\n\nexport interface SchemaInterface {\n isEmptyValue(field: SchemaField, value: any): boolean;\n textValue(\n field: SchemaField,\n value: any,\n element?: boolean,\n ): string | undefined;\n}\nexport interface ControlDefinition {\n type: string;\n title?: string | null;\n styleClass?: string | null;\n layoutClass?: string | null;\n labelClass?: string | null;\n dynamic?: DynamicProperty[] | null;\n adornments?: ControlAdornment[] | null;\n children?: ControlDefinition[] | null;\n}\n\nexport enum ControlDefinitionType {\n Data = \"Data\",\n Group = \"Group\",\n Display = \"Display\",\n Action = \"Action\",\n}\n\nexport interface DynamicProperty {\n type: string;\n expr: EntityExpression;\n}\n\nexport enum DynamicPropertyType {\n Visible = \"Visible\",\n DefaultValue = \"DefaultValue\",\n Readonly = \"Readonly\",\n Disabled = \"Disabled\",\n Display = \"Display\",\n Style = \"Style\",\n LayoutStyle = \"LayoutStyle\",\n AllowedOptions = \"AllowedOptions\",\n Label = \"Label\",\n}\n\nexport interface EntityExpression {\n type: string;\n}\n\nexport enum ExpressionType {\n Jsonata = \"Jsonata\",\n Data = \"Data\",\n DataMatch = \"FieldValue\",\n UserMatch = \"UserMatch\",\n}\n\nexport interface JsonataExpression extends EntityExpression {\n type: ExpressionType.Jsonata;\n expression: string;\n}\n\nexport interface DataExpression extends EntityExpression {\n type: ExpressionType.Data;\n field: string;\n}\n\nexport interface DataMatchExpression extends EntityExpression {\n type: ExpressionType.DataMatch;\n field: string;\n value: any;\n}\n\nexport interface UserMatchExpression extends EntityExpression {\n type: ExpressionType.UserMatch;\n userMatch: string;\n}\n\nexport interface ControlAdornment {\n type: string;\n}\n\nexport enum AdornmentPlacement {\n ControlStart = \"ControlStart\",\n ControlEnd = \"ControlEnd\",\n LabelStart = \"LabelStart\",\n LabelEnd = \"LabelEnd\",\n}\n\nexport enum ControlAdornmentType {\n Tooltip = \"Tooltip\",\n Accordion = \"Accordion\",\n HelpText = \"HelpText\",\n Icon = \"Icon\",\n}\n\nexport interface IconAdornment extends ControlAdornment {\n type: ControlAdornmentType.Icon;\n iconClass: string;\n placement?: AdornmentPlacement | null;\n}\n\nexport interface TooltipAdornment extends ControlAdornment {\n type: ControlAdornmentType.Tooltip;\n tooltip: string;\n}\n\nexport interface AccordionAdornment extends ControlAdornment {\n type: ControlAdornmentType.Accordion;\n title: string;\n defaultExpanded: boolean;\n}\n\nexport interface HelpTextAdornment extends ControlAdornment {\n type: ControlAdornmentType.HelpText;\n helpText: string;\n placement?: AdornmentPlacement | null;\n}\n\nexport interface DataControlDefinition extends ControlDefinition {\n type: ControlDefinitionType.Data;\n field: string;\n required?: boolean | null;\n renderOptions?: RenderOptions | null;\n defaultValue?: any;\n readonly?: boolean | null;\n validators?: SchemaValidator[] | null;\n hideTitle?: boolean | null;\n dontClearHidden?: boolean | null;\n}\n\nexport interface RenderOptions {\n type: string;\n}\n\nexport enum DataRenderType {\n Standard = \"Standard\",\n Radio = \"Radio\",\n HtmlEditor = \"HtmlEditor\",\n IconList = \"IconList\",\n CheckList = \"CheckList\",\n UserSelection = \"UserSelection\",\n Synchronised = \"Synchronised\",\n IconSelector = \"IconSelector\",\n DateTime = \"DateTime\",\n Checkbox = \"Checkbox\",\n Dropdown = \"Dropdown\",\n DisplayOnly = \"DisplayOnly\",\n Group = \"Group\",\n}\n\nexport interface RadioButtonRenderOptions extends RenderOptions {\n type: DataRenderType.Radio;\n}\n\nexport interface StandardRenderer extends RenderOptions {\n type: DataRenderType.Standard;\n}\n\nexport interface DataGroupRenderOptions extends RenderOptions {\n type: DataRenderType.Group;\n groupOptions?: GroupRenderOptions;\n}\n\nexport interface HtmlEditorRenderOptions extends RenderOptions {\n type: DataRenderType.HtmlEditor;\n allowImages: boolean;\n}\n\nexport interface DateTimeRenderOptions extends RenderOptions {\n type: DataRenderType.DateTime;\n format?: string | null;\n}\n\nexport interface IconListRenderOptions extends RenderOptions {\n type: DataRenderType.IconList;\n iconMappings: IconMapping[];\n}\n\nexport interface DisplayOnlyRenderOptions extends RenderOptions {\n type: DataRenderType.DisplayOnly;\n emptyText?: string | null;\n sampleText?: string | null;\n}\nexport interface IconMapping {\n value: string;\n materialIcon?: string | null;\n}\n\nexport interface CheckListRenderOptions extends RenderOptions {\n type: DataRenderType.CheckList;\n}\n\nexport interface SynchronisedRenderOptions extends RenderOptions {\n type: DataRenderType.Synchronised;\n fieldToSync: string;\n syncType: SyncTextType;\n}\n\nexport enum SyncTextType {\n Camel = \"Camel\",\n Snake = \"Snake\",\n Pascal = \"Pascal\",\n}\n\nexport interface UserSelectionRenderOptions extends RenderOptions {\n type: DataRenderType.UserSelection;\n noGroups: boolean;\n noUsers: boolean;\n}\n\nexport interface IconSelectionRenderOptions extends RenderOptions {\n type: DataRenderType.IconSelector;\n}\n\nexport interface GroupedControlsDefinition extends ControlDefinition {\n type: ControlDefinitionType.Group;\n compoundField?: string | null;\n groupOptions?: GroupRenderOptions;\n}\n\nexport interface GroupRenderOptions {\n type: string;\n hideTitle?: boolean | null;\n}\n\nexport enum GroupRenderType {\n Standard = \"Standard\",\n Grid = \"Grid\",\n Flex = \"Flex\",\n GroupElement = \"GroupElement\",\n}\n\nexport interface StandardGroupRenderer extends GroupRenderOptions {\n type: GroupRenderType.Standard;\n}\n\nexport interface FlexRenderer extends GroupRenderOptions {\n type: GroupRenderType.Flex;\n direction?: string | null;\n gap?: string | null;\n}\n\nexport interface GroupElementRenderer extends GroupRenderOptions {\n type: GroupRenderType.GroupElement;\n value: any;\n}\n\nexport interface GridRenderer extends GroupRenderOptions {\n type: GroupRenderType.Grid;\n columns?: number | null;\n}\n\nexport interface DisplayControlDefinition extends ControlDefinition {\n type: ControlDefinitionType.Display;\n displayData: DisplayData;\n}\n\nexport interface DisplayData {\n type: string;\n}\n\nexport enum DisplayDataType {\n Text = \"Text\",\n Html = \"Html\",\n Icon = \"Icon\",\n}\nexport interface TextDisplay extends DisplayData {\n type: DisplayDataType.Text;\n text: string;\n}\n\nexport interface IconDisplay extends DisplayData {\n type: DisplayDataType.Icon;\n iconClass: string;\n}\n\nexport interface HtmlDisplay extends DisplayData {\n type: DisplayDataType.Html;\n html: string;\n}\n\nexport interface ActionControlDefinition extends ControlDefinition {\n type: ControlDefinitionType.Action;\n actionId: string;\n}\n\nexport enum ValidatorType {\n Jsonata = \"Jsonata\",\n Date = \"Date\",\n}\nexport interface SchemaValidator {\n type: string;\n}\n\nexport interface JsonataValidator extends SchemaValidator {\n type: ValidatorType.Jsonata;\n expression: string;\n}\n\nexport enum DateComparison {\n NotBefore = \"NotBefore\",\n NotAfter = \"NotAfter\",\n}\n\nexport interface DateValidator extends SchemaValidator {\n type: ValidatorType.Date;\n comparison: DateComparison;\n fixedDate?: string | null;\n daysFromCurrent?: number | null;\n}\n\nexport function isDataControlDefinition(\n x: ControlDefinition,\n): x is DataControlDefinition {\n return x.type === ControlDefinitionType.Data;\n}\n\nexport function isGroupControlsDefinition(\n x: ControlDefinition,\n): x is GroupedControlsDefinition {\n return x.type === ControlDefinitionType.Group;\n}\n\nexport function isDisplayControlsDefinition(\n x: ControlDefinition,\n): x is DisplayControlDefinition {\n return x.type === ControlDefinitionType.Display;\n}\n\nexport function isActionControlsDefinition(\n x: ControlDefinition,\n): x is ActionControlDefinition {\n return x.type === ControlDefinitionType.Action;\n}\n\nexport interface ControlVisitor<A> {\n data(d: DataControlDefinition): A;\n group(d: GroupedControlsDefinition): A;\n display(d: DisplayControlDefinition): A;\n action(d: ActionControlDefinition): A;\n}\n\nexport function visitControlDefinition<A>(\n x: ControlDefinition,\n visitor: ControlVisitor<A>,\n defaultValue: (c: ControlDefinition) => A,\n): A {\n switch (x.type) {\n case ControlDefinitionType.Action:\n return visitor.action(x as ActionControlDefinition);\n case ControlDefinitionType.Data:\n return visitor.data(x as DataControlDefinition);\n case ControlDefinitionType.Display:\n return visitor.display(x as DisplayControlDefinition);\n case ControlDefinitionType.Group:\n return visitor.group(x as GroupedControlsDefinition);\n default:\n return defaultValue(x);\n }\n}\nexport function isGridRenderer(\n options: GroupRenderOptions,\n): options is GridRenderer {\n return options.type === GroupRenderType.Grid;\n}\n\nexport function isFlexRenderer(\n options: GroupRenderOptions,\n): options is FlexRenderer {\n return options.type === GroupRenderType.Flex;\n}\n\nexport function isDisplayOnlyRenderer(\n options: RenderOptions,\n): options is DisplayOnlyRenderOptions {\n return options.type === DataRenderType.DisplayOnly;\n}\n\nexport function isDataGroupRenderer(\n options: RenderOptions,\n): options is DataGroupRenderOptions {\n return options.type === DataRenderType.Group;\n}\n","import {\n CompoundField,\n ControlDefinition,\n ControlDefinitionType,\n DataControlDefinition,\n DataRenderType,\n DisplayOnlyRenderOptions,\n FieldOption,\n FieldType,\n GroupedControlsDefinition,\n isDataControlDefinition,\n isDisplayOnlyRenderer,\n SchemaField,\n SchemaInterface,\n visitControlDefinition,\n} from \"./types\";\nimport { MutableRefObject, useCallback, useRef } from \"react\";\nimport {\n Control,\n ControlChange,\n trackControlChange,\n} from \"@react-typed-forms/core\";\nimport clsx from \"clsx\";\nimport { DataContext, JsonPath } from \"./controlRender\";\n\nexport interface ControlDataContext extends DataContext {\n fields: SchemaField[];\n schemaInterface: SchemaInterface;\n}\nexport function applyDefaultValues(\n v: { [k: string]: any } | undefined,\n fields: SchemaField[],\n): any {\n if (!v) return defaultValueForFields(fields);\n const applyValue = fields.filter(\n (x) => isCompoundField(x) || !(x.field in v),\n );\n if (!applyValue.length) return v;\n const out = { ...v };\n applyValue.forEach((x) => {\n out[x.field] =\n x.field in v\n ? applyDefaultForField(v[x.field], x, fields)\n : defaultValueForField(x);\n });\n return out;\n}\n\nexport function applyDefaultForField(\n v: any,\n field: SchemaField,\n parent: SchemaField[],\n notElement?: boolean,\n): any {\n if (field.collection && !notElement) {\n return ((v as any[]) ?? []).map((x) =>\n applyDefaultForField(x, field, parent, true),\n );\n }\n if (isCompoundField(field)) {\n if (!v && !field.required) return v;\n return applyDefaultValues(v, field.treeChildren ? parent : field.children);\n }\n return defaultValueForField(field);\n}\n\nexport function defaultValueForFields(fields: SchemaField[]): any {\n return Object.fromEntries(\n fields.map((x) => [x.field, defaultValueForField(x)]),\n );\n}\n\nexport function defaultValueForField(\n sf: SchemaField,\n required?: boolean | null,\n): any {\n if (sf.defaultValue !== undefined) return sf.defaultValue;\n const isRequired = !!(required || sf.required);\n if (isCompoundField(sf)) {\n if (isRequired) {\n const childValue = defaultValueForFields(sf.children);\n return sf.collection ? [childValue] : childValue;\n }\n return sf.notNullable ? (sf.collection ? [] : {}) : undefined;\n }\n if (sf.collection) {\n return [];\n }\n return undefined;\n}\n\nexport function elementValueForField(sf: SchemaField): any {\n if (isCompoundField(sf)) {\n return defaultValueForFields(sf.children);\n }\n return sf.defaultValue;\n}\n\nexport function findScalarField(\n fields: SchemaField[],\n field: string,\n): SchemaField | undefined {\n return findField(fields, field);\n}\n\nexport function findCompoundField(\n fields: SchemaField[],\n field: string,\n): CompoundField | undefined {\n return findField(fields, field) as CompoundField | undefined;\n}\n\nexport function findField(\n fields: SchemaField[],\n field: string,\n): SchemaField | undefined {\n return fields.find((x) => x.field === field);\n}\n\nexport function isScalarField(sf: SchemaField): sf is SchemaField {\n return !isCompoundField(sf);\n}\n\nexport function isCompoundField(sf: SchemaField): sf is CompoundField {\n return sf.type === FieldType.Compound;\n}\n\nexport function isDataControl(\n c: ControlDefinition,\n): c is DataControlDefinition {\n return c.type === ControlDefinitionType.Data;\n}\n\nexport function isGroupControl(\n c: ControlDefinition,\n): c is GroupedControlsDefinition {\n return c.type === ControlDefinitionType.Group;\n}\n\nexport function fieldHasTag(field: SchemaField, tag: string) {\n return Boolean(field.tags?.includes(tag));\n}\n\nexport function fieldDisplayName(field: SchemaField) {\n return field.displayName ?? field.field;\n}\n\nexport function hasOptions(o: { options: FieldOption[] | undefined | null }) {\n return (o.options?.length ?? 0) > 0;\n}\n\nexport function defaultControlForField(sf: SchemaField): DataControlDefinition {\n if (isCompoundField(sf)) {\n return {\n type: ControlDefinitionType.Data,\n title: sf.displayName,\n field: sf.field,\n required: sf.required,\n children: sf.children.map(defaultControlForField),\n };\n } else if (isScalarField(sf)) {\n const htmlEditor = sf.tags?.includes(\"_HtmlEditor\");\n return {\n type: ControlDefinitionType.Data,\n title: sf.displayName,\n field: sf.field,\n required: sf.required,\n renderOptions: {\n type: htmlEditor ? DataRenderType.HtmlEditor : DataRenderType.Standard,\n },\n };\n }\n throw \"Unknown schema field\";\n}\nfunction findReferencedControl(\n field: string,\n control: ControlDefinition,\n): ControlDefinition | undefined {\n if (isDataControl(control) && field === control.field) return control;\n if (isGroupControl(control)) {\n if (control.compoundField)\n return field === control.compoundField ? control : undefined;\n return findReferencedControlInArray(field, control.children ?? []);\n }\n return undefined;\n}\n\nfunction findReferencedControlInArray(\n field: string,\n controls: ControlDefinition[],\n): ControlDefinition | undefined {\n for (const c of controls) {\n const ref = findReferencedControl(field, c);\n if (ref) return ref;\n }\n return undefined;\n}\n\nexport function addMissingControls(\n fields: SchemaField[],\n controls: ControlDefinition[],\n): ControlDefinition[] {\n const changes: {\n field: SchemaField;\n existing: ControlDefinition | undefined;\n }[] = fields.flatMap((x) => {\n if (fieldHasTag(x, \"_NoControl\")) return [];\n const existing = findReferencedControlInArray(x.field, controls);\n if (!existing || isCompoundField(x)) return { field: x, existing };\n return [];\n });\n const changedCompounds = controls.map((x) => {\n const ex = changes.find((c) => c.existing === x);\n if (!ex) return x;\n const cf = x as GroupedControlsDefinition;\n return {\n ...cf,\n children: addMissingControls(\n (ex.field as CompoundField).children,\n cf.children ?? [],\n ),\n };\n });\n return changedCompounds.concat(\n changes\n .filter((x) => !x.existing)\n .map((x) => defaultControlForField(x.field)),\n );\n}\n\nexport function useUpdatedRef<A>(a: A): MutableRefObject<A> {\n const r = useRef(a);\n r.current = a;\n return r;\n}\n\nexport function isControlReadonly(c: ControlDefinition): boolean {\n return isDataControl(c) && !!c.readonly;\n}\n\nexport function getDisplayOnlyOptions(\n d: ControlDefinition,\n): DisplayOnlyRenderOptions | undefined {\n return isDataControlDefinition(d) &&\n d.renderOptions &&\n isDisplayOnlyRenderer(d.renderOptions)\n ? d.renderOptions\n : undefined;\n}\n\nexport function getTypeField(\n context: ControlDataContext,\n): Control<string> | undefined {\n const typeSchemaField = context.fields.find((x) => x.isTypeField);\n return typeSchemaField\n ? lookupChildControl(context, typeSchemaField.field)\n : undefined;\n}\n\nexport function visitControlDataArray<A>(\n controls: ControlDefinition[] | undefined | null,\n context: ControlDataContext,\n cb: (\n definition: DataControlDefinition,\n field: SchemaField,\n control: Control<any>,\n element: boolean,\n ) => A | undefined,\n): A | undefined {\n if (!controls) return undefined;\n for (const c of controls) {\n const r = visitControlData(c, context, cb);\n if (r !== undefined) return r;\n }\n return undefined;\n}\n\nexport function visitControlData<A>(\n definition: ControlDefinition,\n ctx: ControlDataContext,\n cb: (\n definition: DataControlDefinition,\n field: SchemaField,\n control: Control<any>,\n element: boolean,\n ) => A | undefined,\n): A | undefined {\n return visitControlDefinition<A | undefined>(\n definition,\n {\n data(def: DataControlDefinition) {\n return processData(def, def.field, def.children);\n },\n group(d: GroupedControlsDefinition) {\n return processData(undefined, d.compoundField, d.children);\n },\n action: () => undefined,\n display: () => undefined,\n },\n () => undefined,\n );\n\n function processData(\n def: DataControlDefinition | undefined,\n fieldName: string | undefined | null,\n children: ControlDefinition[] | null | undefined,\n ) {\n const fieldData = fieldName ? findField(ctx.fields, fieldName) : undefined;\n if (!fieldData)\n return !fieldName ? visitControlDataArray(children, ctx, cb) : undefined;\n\n const thisPath = [...ctx.path, fieldData.field];\n const control = ctx.data.lookupControl(thisPath);\n if (!control) throw \"No control for field\";\n const result = def ? cb(def, fieldData, control, false) : undefined;\n if (result !== undefined) return result;\n if (fieldData.collection) {\n let cIndex = 0;\n for (const c of control!.elements ?? []) {\n const elemResult = def ? cb(def, fieldData, c, true) : undefined;\n if (elemResult !== undefined) return elemResult;\n if (isCompoundField(fieldData)) {\n const cfResult = visitControlDataArray(\n children,\n {\n ...ctx,\n fields: fieldData.children,\n path: [...thisPath, cIndex],\n },\n cb,\n );\n if (cfResult !== undefined) return cfResult;\n }\n cIndex++;\n }\n }\n }\n}\n\nexport function lookupChildControl(\n data: DataContext,\n child: JsonPath,\n): Control<any> | undefined {\n const childPath = [...data.path, child];\n return watchControlLookup(data.data, childPath);\n}\n\nexport function cleanDataForSchema(\n v: { [k: string]: any } | undefined,\n fields: SchemaField[],\n): any {\n if (!v) return v;\n const typeField = fields.find((x) => x.isTypeField);\n if (!typeField) return v;\n const typeValue = v[typeField.field];\n const cleanableFields = fields.filter(\n (x) => isCompoundField(x) || (x.onlyForTypes?.length ?? 0) > 0,\n );\n if (!cleanableFields.length) return v;\n const out = { ...v };\n cleanableFields.forEach((x) => {\n const childValue = v[x.field];\n if (\n x.onlyForTypes?.includes(typeValue) === false ||\n (!x.notNullable && canBeNull())\n ) {\n delete out[x.field];\n return;\n }\n if (isCompoundField(x)) {\n const childFields = x.treeChildren ? fields : x.children;\n if (x.collection) {\n if (Array.isArray(childValue)) {\n out[x.field] = childValue.map((cv) =>\n cleanDataForSchema(cv, childFields),\n );\n }\n } else {\n out[x.field] = cleanDataForSchema(childValue, childFields);\n }\n }\n function canBeNull() {\n return (\n x.collection && Array.isArray(childValue) && !childValue.length\n //|| (x.type === FieldType.Bool && childValue === false)\n );\n }\n });\n return out;\n}\n\nexport function getAllReferencedClasses(\n c: ControlDefinition,\n collectExtra?: (c: ControlDefinition) => (string | undefined | null)[],\n): string[] {\n const childClasses = c.children?.flatMap((x) =>\n getAllReferencedClasses(x, collectExtra),\n );\n const tc = clsx(\n [\n c.styleClass,\n c.layoutClass,\n c.labelClass,\n ...(collectExtra?.(c) ?? []),\n ].map(getOverrideClass),\n );\n if (childClasses && !tc) return childClasses;\n if (!tc) return [];\n if (childClasses) return [tc, ...childClasses];\n return [tc];\n}\n\nexport function jsonPathString(\n jsonPath: JsonPath[],\n customIndex?: (n: number) => string,\n) {\n let out = \"\";\n jsonPath.forEach((v, i) => {\n if (typeof v === \"number\") {\n out += customIndex?.(v) ?? \"[\" + v + \"]\";\n } else {\n if (i > 0) out += \".\";\n out += v;\n }\n });\n return out;\n}\n\nexport function findChildDefinition(\n parent: ControlDefinition,\n childPath: number | number[],\n): ControlDefinition {\n if (Array.isArray(childPath)) {\n let base = parent;\n childPath.forEach((x) => (base = base.children![x]));\n return base;\n }\n return parent.children![childPath];\n}\n\nexport function getOverrideClass(className?: string | null) {\n if (className && className.startsWith(\"@ \")) {\n return className.substring(2);\n }\n return className;\n}\n\nexport function rendererClass(\n controlClass?: string | null,\n globalClass?: string | null,\n) {\n const oc = getOverrideClass(controlClass);\n if (oc === controlClass) return clsx(controlClass, globalClass);\n return oc ? oc : undefined;\n}\n\nfunction watchControlLookup(\n base: Control<any> | undefined,\n path: (string | number)[],\n): Control<any> | undefined {\n let index = 0;\n while (index < path.length && base) {\n const childId = path[index];\n const c = base.current;\n if (typeof childId === \"string\") {\n const next = c.fields?.[childId];\n if (!next) trackControlChange(base, ControlChange.Structure);\n base = next;\n } else {\n base = c.elements?.[childId];\n }\n index++;\n }\n return base;\n}\n\nexport type HookDep = string | number | undefined | null;\n\nexport interface DynamicHookGenerator<A, P> {\n deps: HookDep;\n state: any;\n runHook(ctx: P, state: any): A;\n}\n\nexport function makeHook<A, P, S = undefined>(\n runHook: (ctx: P, state: S) => A,\n state: S,\n deps?: HookDep,\n): DynamicHookGenerator<A, P> {\n return { deps, state, runHook };\n}\n\nexport type DynamicHookValue<A> =\n A extends DynamicHookGenerator<infer V, any> ? V : never;\n\nexport function useDynamicHooks<\n P,\n Hooks extends Record<string, DynamicHookGenerator<any, P>>,\n>(\n hooks: Hooks,\n): (p: P) => {\n [K in keyof Hooks]: DynamicHookValue<Hooks[K]>;\n} {\n const hookEntries = Object.entries(hooks);\n const deps = hookEntries.map(([, x]) => toDepString(x.deps)).join(\",\");\n const ref = useRef<Record<string, any>>({});\n const s = ref.current;\n hookEntries.forEach((x) => (s[x[0]] = x[1].state));\n return useCallback(\n (p: P) => {\n return Object.fromEntries(\n hookEntries.map(([f, hg]) => [f, hg.runHook(p, ref.current[f])]),\n ) as any;\n },\n [deps],\n );\n}\n\nexport function toDepString(x: any): string {\n if (x === undefined) return \"_\";\n if (x === null) return \"~\";\n return x.toString();\n}\n","import {\n CompoundField,\n FieldOption,\n FieldType,\n SchemaField,\n SchemaMap,\n} from \"./types\";\nimport { isCompoundField } from \"./util\";\n\ntype AllowedSchema<T> = T extends string\n ? SchemaField & {\n type: FieldType.String | FieldType.Date | FieldType.DateTime;\n }\n : T extends number\n ? SchemaField & {\n type: FieldType.Int | FieldType.Double;\n }\n : T extends boolean\n ? SchemaField & {\n type: FieldType.Bool;\n }\n : T extends Array<infer E>\n ? AllowedSchema<E> & {\n collection: true;\n }\n : T extends { [key: string]: any }\n ? CompoundField & {\n type: FieldType.Compound;\n }\n : SchemaField & { type: FieldType.Any };\n\ntype AllowedField<T, K> = (\n name: string,\n) => (SchemaField & { type: K }) | AllowedSchema<T>;\n\nexport function buildSchema<T, Custom = \"\">(def: {\n [K in keyof T]-?: AllowedField<T[K], Custom>;\n}): SchemaField[] {\n return Object.entries(def).map((x) =>\n (x[1] as (n: string) => SchemaField)(x[0]),\n );\n}\n\nexport function stringField(\n displayName: string,\n options?: Partial<Omit<SchemaField, \"type\">>,\n) {\n return makeScalarField({\n type: FieldType.String as const,\n displayName,\n ...options,\n });\n}\n\nexport function stringOptionsField(\n displayName: string,\n ...options: FieldOption[]\n) {\n return makeScalarField({\n type: FieldType.String as const,\n displayName,\n options,\n });\n}\n\nexport function withScalarOptions<\n S extends SchemaField,\n S2 extends Partial<SchemaField>,\n>(options: S2, v: (name: string) => S): (name: string) => S & S2 {\n return (n) => ({ ...v(n), ...options });\n}\n\nexport function makeScalarField<S extends Partial<SchemaField>>(\n options: S,\n): (name: string) => SchemaField & S {\n return (n) => ({ ...defaultScalarField(n, n), ...options });\n}\n\nexport function makeCompoundField<S extends Partial<CompoundField>>(\n options: S,\n): (name: string) => CompoundField & {\n type: FieldType.Compound;\n} & S {\n return (n) => ({ ...defaultCompoundField(n, n, false), ...options });\n}\n\nexport function intField(\n displayName: string,\n options?: Partial<Omit<SchemaField, \"type\">>,\n) {\n return makeScalarField({\n type: FieldType.Int as const,\n displayName,\n ...options,\n });\n}\n\nexport function boolField(\n displayName: string,\n options?: Partial<Omit<SchemaField, \"type\">>,\n) {\n return makeScalarField({\n type: FieldType.Bool as const,\n displayName,\n ...options,\n });\n}\n\nexport function compoundField<\n Other extends Partial<Omit<CompoundField, \"type\" | \"schemaType\">>,\n>(\n displayName: string,\n fields: SchemaField[],\n other?: Other,\n): (name: string) => CompoundField & {\n collection: Other[\"collection\"];\n} {\n return (field) =>\n ({\n ...defaultCompoundField(field, displayName, false),\n ...other,\n children: fields,\n }) as any;\n}\n\nexport function defaultScalarField(\n field: string,\n displayName: string,\n): Omit<SchemaField, \"type\"> & {\n type: FieldType.String;\n} {\n return {\n field,\n displayName,\n type: FieldType.String,\n };\n}\n\nexport function defaultCompoundField(\n field: string,\n displayName: string,\n collection: boolean,\n): CompoundField & {\n type: FieldType.Compound;\n} {\n return {\n field,\n displayName,\n type: FieldType.Compound,\n collection,\n children: [],\n };\n}\n\nexport function mergeField(\n field: SchemaField,\n mergeInto: SchemaField[],\n): SchemaField[] {\n const existing = mergeInto.find((x) => x.field === field.field);\n if (existing) {\n return mergeInto.map((x) =>\n x !== existing\n ? x\n : {\n ...x,\n onlyForTypes: mergeTypes(x.onlyForTypes, field.onlyForTypes),\n },\n );\n }\n return [...mergeInto, field];\n\n function mergeTypes(f?: string[] | null, s?: string[] | null) {\n if (!f) return s;\n if (!s) return f;\n const extras = s.filter((x) => !f.includes(x));\n return extras.length ? [...f, ...extras] : f;\n }\n}\n\nexport function mergeFields(\n fields: SchemaField[],\n name: string,\n value: any,\n newFields: SchemaField[],\n): SchemaField[] {\n const withType = fields.map((x) =>\n x.isTypeField ? addFieldOption(x, name, value) : x,\n );\n return newFields\n .map((x) => ({ ...x, onlyForTypes: [value] }))\n .reduce((af, x) => mergeField(x, af), withType);\n}\n\nexport function addFieldOption(\n typeField: SchemaField,\n name: string,\n value: any,\n): SchemaField {\n const options = typeField.options ?? [];\n return {\n ...typeField,\n options: [...options, { name, value }],\n };\n}\n\nexport function resolveSchemas<A extends SchemaMap>(schemaMap: A): A {\n const out: SchemaMap = {};\n function resolveSchemaType(type: string) {\n if (type in out) {\n return out[type];\n }\n const resolvedFields: SchemaField[] = [];\n out[type] = resolvedFields;\n schemaMap[type].forEach((x) => {\n if (isCompoundField(x) && x.schemaRef) {\n resolvedFields.push({\n ...x,\n children: resolveSchemaType(x.schemaRef),\n } as CompoundField);\n } else {\n resolvedFields.push(x);\n }\n });\n return resolvedFields;\n }\n Object.keys(schemaMap).forEach(resolveSchemaType);\n return out as A;\n}\n","import {\n ControlDefinition,\n ControlDefinitionType,\n DataControlDefinition,\n DataMatchExpression,\n DisplayControlDefinition,\n DisplayDataType,\n DynamicProperty,\n DynamicPropertyType,\n EntityExpression,\n ExpressionType,\n GroupedControlsDefinition,\n GroupRenderType,\n HtmlDisplay,\n JsonataExpression,\n SchemaField,\n SchemaMap,\n TextDisplay,\n} from \"./types\";\nimport { ActionRendererProps } from \"./controlRender\";\nimport { useMemo } from \"react\";\nimport { addMissingControls, isCompoundField } from \"./util\";\nimport { mergeFields, resolveSchemas } from \"./schemaBuilder\";\n\nexport function dataControl(\n field: string,\n title?: string | null,\n options?: Partial<DataControlDefinition>,\n): DataControlDefinition {\n return { type: ControlDefinitionType.Data, field, title, ...options };\n}\n\nexport function textDisplayControl(\n text: string,\n options?: Partial<DisplayControlDefinition>,\n): DisplayControlDefinition {\n return {\n type: ControlDefinitionType.Display,\n displayData: { type: DisplayDataType.Text, text } as TextDisplay,\n ...options,\n };\n}\n\nexport function htmlDisplayControl(\n html: string,\n options?: Partial<DisplayControlDefinition>,\n): DisplayControlDefinition {\n return {\n type: ControlDefinitionType.Display,\n displayData: { type: DisplayDataType.Html, html } as HtmlDisplay,\n ...options,\n };\n}\n\nexport function dynamicDefaultValue(expr: EntityExpression): DynamicProperty {\n return { type: DynamicPropertyType.DefaultValue, expr };\n}\n\nexport function dynamicReadonly(expr: EntityExpression): DynamicProperty {\n return { type: DynamicPropertyType.Readonly, expr };\n}\n\nexport function dynamicVisibility(expr: EntityExpression): DynamicProperty {\n return { type: DynamicPropertyType.Visible, expr };\n}\n\nexport function dynamicDisabled(expr: EntityExpression): DynamicProperty {\n return { type: DynamicPropertyType.Disabled, expr };\n}\n\nexport function fieldEqExpr(field: string, value: any): DataMatchExpression {\n return { type: ExpressionType.DataMatch, field, value };\n}\nexport function jsonataExpr(expression: string): JsonataExpression {\n return { type: ExpressionType.Jsonata, expression };\n}\n\nexport function groupedControl(\n children: ControlDefinition[],\n title?: string,\n options?: Partial<GroupedControlsDefinition>,\n): GroupedControlsDefinition {\n return {\n type: ControlDefinitionType.Group,\n children,\n title,\n groupOptions: { type: \"Standard\", hideTitle: !title },\n ...options,\n };\n}\nexport function compoundControl(\n field: string,\n title: string | undefined,\n children: ControlDefinition[],\n options?: Partial<DataControlDefinition>,\n): DataControlDefinition {\n return {\n type: ControlDefinitionType.Data,\n field,\n children,\n title,\n renderOptions: { type: \"Standard\" },\n ...options,\n };\n}\n\nexport function createAction(\n actionId: string,\n onClick: () => void,\n actionText?: string,\n): ActionRendererProps {\n return { actionId, onClick, actionText: actionText ?? actionId };\n}\n\nexport const emptyGroupDefinition: GroupedControlsDefinition = {\n type: ControlDefinitionType.Group,\n children: [],\n groupOptions: { type: GroupRenderType.Standard, hideTitle: true },\n};\n\nexport function useControlDefinitionForSchema(\n sf: SchemaField[],\n definition: GroupedControlsDefinition = emptyGroupDefinition,\n): GroupedControlsDefinition {\n return useMemo<GroupedControlsDefinition>(\n () => ({\n ...definition,\n children: addMissingControls(sf, definition.children ?? []),\n }),\n [sf, definition],\n );\n}\n\nexport interface CustomRenderOptions {\n value: string;\n name: string;\n fields: SchemaField[];\n}\n\nexport type ControlDefinitionExtension = {\n RenderOptions?: CustomRenderOptions | CustomRenderOptions[];\n GroupRenderOptions?: CustomRenderOptions | CustomRenderOptions[];\n ControlAdornment?: CustomRenderOptions | CustomRenderOptions[];\n SchemaValidator?: CustomRenderOptions | CustomRenderOptions[];\n DisplayData?: CustomRenderOptions | CustomRenderOptions[];\n};\n\nexport function applyExtensionToSchema<A extends SchemaMap>(\n schemaMap: A,\n extension: ControlDefinitionExtension,\n): A {\n const outMap = { ...schemaMap };\n Object.entries(extension).forEach(([field, cro]) => {\n outMap[field as keyof A] = (Array.isArray(cro) ? cro : [cro]).reduce(\n (a, cr) => mergeFields(a, cr.name, cr.value, cr.fields),\n outMap[field],\n ) as A[string];\n });\n return outMap;\n}\n\nexport function applyExtensionsToSchema<A extends SchemaMap>(\n schemaMap: A,\n extensions: ControlDefinitionExtension[],\n) {\n return resolveSchemas(extensions.reduce(applyExtensionToSchema, schemaMap));\n}\n","import {\n ChangeListenerFunc,\n Control,\n ControlChange,\n useControl,\n useControlEffect,\n} from \"@react-typed-forms/core\";\n\nexport function useCalculatedControl<V>(calculate: () => V): Control<V> {\n const c = useControl(calculate);\n useControlEffect(calculate, (v) => (c.value = v));\n return c;\n}\n\nexport function cc(n: string | null | undefined): string | undefined {\n return n ? n : undefined;\n}\n\nexport function trackedStructure<A>(\n c: Control<A>,\n tracker: ChangeListenerFunc<any>,\n): A {\n const cc = c.current;\n const cv = cc.value;\n if (cv == null) {\n tracker(c, ControlChange.Structure);\n return cv;\n }\n if (typeof cv !== \"object\") {\n tracker(c, ControlChange.Value);\n return cv;\n }\n return new Proxy(cv, {\n get(target: object, p: string | symbol, receiver: any): any {\n if (Array.isArray(cv)) {\n tracker(c, ControlChange.Structure);\n if (typeof p === \"symbol\" || p[0] >= \"9\" || p[0] < \"0\")\n return Reflect.get(cv, p);\n const nc = (cc.elements as any)[p];\n if (typeof nc === \"function\") return nc;\n if (nc == null) return null;\n return trackedStructure(nc, tracker);\n }\n if (p in (cc.fields as any) || p in cv)\n return trackedStructure((cc.fields as any)[p], tracker);\n return undefined;\n },\n }) as A;\n}\n","import {\n ControlDefinition,\n DataExpression,\n DataMatchExpression,\n DynamicPropertyType,\n EntityExpression,\n ExpressionType,\n isDataControlDefinition,\n JsonataExpression,\n SchemaField,\n SchemaInterface,\n} from \"./types\";\nimport React, {\n MutableRefObject,\n useCallback,\n useEffect,\n useMemo,\n useRef,\n} from \"react\";\nimport {\n addAfterChangesCallback,\n collectChanges,\n Control,\n makeChangeTracker,\n useComputed,\n useControl,\n useRefState,\n} from \"@react-typed-forms/core\";\n\nimport {\n ControlDataContext,\n defaultValueForField,\n DynamicHookGenerator,\n findField,\n getDisplayOnlyOptions,\n getTypeField,\n HookDep,\n isControlReadonly,\n jsonPathString,\n lookupChildControl,\n makeHook,\n toDepString,\n useUpdatedRef,\n} from \"./util\";\nimport jsonata from \"jsonata\";\nimport { trackedStructure, useCalculatedControl } from \"./internal\";\nimport { DataContext } from \"./controlRender\";\n\nexport type EvalExpressionHook<A = any> = DynamicHookGenerator<\n Control<A | undefined>,\n ControlDataContext\n>;\n\nexport type UseEvalExpressionHook = (\n expr: EntityExpression | undefined,\n) => DynamicHookGenerator<Control<any> | undefined, ControlDataContext>;\n\nexport function useEvalVisibilityHook(\n useEvalExpressionHook: UseEvalExpressionHook,\n definition: ControlDefinition,\n schemaField?: SchemaField,\n): EvalExpressionHook<boolean> {\n const dynamicVisibility = useEvalDynamicHook(\n definition,\n DynamicPropertyType.Visible,\n useEvalExpressionHook,\n );\n return makeDynamicPropertyHook(\n dynamicVisibility,\n (ctx, { schemaField, definition }) =>\n useComputed(() => {\n return (\n matchesType(ctx, schemaField?.onlyForTypes) &&\n (!schemaField ||\n !hideDisplayOnly(ctx, schemaField, definition, ctx.schemaInterface))\n );\n }),\n { schemaField, definition },\n );\n}\n\nexport function useEvalReadonlyHook(\n useEvalExpressionHook: UseEvalExpressionHook,\n definition: ControlDefinition,\n): EvalExpressionHook<boolean> {\n const dynamicReadonly = useEvalDynamicHook(\n definition,\n DynamicPropertyType.Readonly,\n useEvalExpressionHook,\n );\n return makeDynamicPropertyHook(\n dynamicReadonly,\n (ctx, { definition }) =>\n useCalculatedControl(() => isControlReadonly(definition)),\n { definition },\n );\n}\n\nexport function useEvalStyleHook(\n useEvalExpressionHook: UseEvalExpressionHook,\n property: DynamicPropertyType,\n definition: ControlDefinition,\n): EvalExpressionHook<React.CSSProperties> {\n const dynamicStyle = useEvalDynamicHook(\n definition,\n property,\n useEvalExpressionHook,\n );\n return makeDynamicPropertyHook(\n dynamicStyle,\n () => useControl(undefined),\n undefined,\n );\n}\n\nexport function useEvalAllowedOptionsHook(\n useEvalExpressionHook: UseEvalExpressionHook,\n definition: ControlDefinition,\n): EvalExpressionHook<any[]> {\n const dynamicAllowed = useEvalDynamicHook(\n definition,\n DynamicPropertyType.AllowedOptions,\n useEvalExpressionHook,\n );\n return makeDynamicPropertyHook(\n dynamicAllowed,\n () => useControl([]),\n undefined,\n );\n}\n\nexport function useEvalDisabledHook(\n useEvalExpressionHook: UseEvalExpressionHook,\n definition: ControlDefinition,\n): EvalExpressionHook<boolean> {\n const dynamicDisabled = useEvalDynamicHook(\n definition,\n DynamicPropertyType.Disabled,\n useEvalExpressionHook,\n );\n return makeDynamicPropertyHook(\n dynamicDisabled,\n () => useControl(false),\n undefined,\n );\n}\n\nexport function useEvalDisplayHook(\n useEvalExpressionHook: UseEvalExpressionHook,\n definition: ControlDefinition,\n): DynamicHookGenerator<\n Control<string | undefined> | undefined,\n ControlDataContext\n> {\n return useEvalDynamicHook(\n definition,\n DynamicPropertyType.Display,\n useEvalExpressionHook,\n );\n}\nexport function useEvalDefaultValueHook(\n useEvalExpressionHook: UseEvalExpressionHook,\n definition: ControlDefinition,\n schemaField?: SchemaField,\n): EvalExpressionHook {\n const dynamicValue = useEvalDynamicHook(\n definition,\n DynamicPropertyType.DefaultValue,\n useEvalExpressionHook,\n );\n return makeDynamicPropertyHook(\n dynamicValue,\n (ctx, { definition, schemaField }) => {\n return useComputed(calcDefault);\n function calcDefault() {\n const [required, dcv] = isDataControlDefinition(definition)\n ? [definition.required, definition.defaultValue]\n : [false, undefined];\n return (\n dcv ??\n (schemaField\n ? defaultValueForField(schemaField, required)\n : undefined)\n );\n }\n },\n { definition, schemaField },\n );\n}\n\nfunction useDataExpression(\n fvExpr: DataExpression,\n fields: SchemaField[],\n data: DataContext,\n) {\n const refField = findField(fields, fvExpr.field);\n const otherField = refField\n ? lookupChildControl(data, refField.field)\n : undefined;\n return useCalculatedControl(() => otherField?.value);\n}\n\nfunction useDataMatchExpression(\n fvExpr: DataMatchExpression,\n fields: SchemaField[],\n data: DataContext,\n) {\n const refField = findField(fields, fvExpr.field);\n const otherField = refField\n ? lookupChildControl(data, refField.field)\n : undefined;\n return useComputed(() => {\n const fv = otherField?.value;\n return Array.isArray(fv) ? fv.includes(fvExpr.value) : fv === fvExpr.value;\n });\n}\n\nexport function defaultEvalHooks(\n expr: EntityExpression,\n context: ControlDataContext,\n) {\n switch (expr.type) {\n case ExpressionType.Jsonata:\n return useJsonataExpression(\n (expr as JsonataExpression).expression,\n context,\n );\n case ExpressionType.Data:\n return useDataExpression(expr as DataExpression, context.fields, context);\n case ExpressionType.DataMatch:\n return useDataMatchExpression(\n expr as DataMatchExpression,\n context.fields,\n context,\n );\n default:\n return useControl(undefined);\n }\n}\n\nexport const defaultUseEvalExpressionHook =\n makeEvalExpressionHook(defaultEvalHooks);\n\nexport function makeEvalExpressionHook(\n f: (expr: EntityExpression, context: ControlDataContext) => Control<any>,\n): UseEvalExpressionHook {\n return (expr) => ({\n deps: expr?.type,\n state: expr,\n runHook: (ctx: ControlDataContext, state: EntityExpression | undefined) => {\n return state ? f(state, ctx) : undefined;\n },\n });\n}\n\nexport function useEvalDynamicHook(\n definition: ControlDefinition,\n type: DynamicPropertyType,\n useEvalExpressionHook: UseEvalExpressionHook,\n): DynamicHookGenerator<Control<any> | undefined, ControlDataContext> {\n const expression = definition.dynamic?.find((x) => x.type === type);\n return useEvalExpressionHook(expression?.expr);\n}\n\nexport function matchesType(\n context: ControlDataContext,\n types?: string[] | null,\n) {\n if (types == null || types.length === 0) return true;\n const typeField = getTypeField(context);\n return typeField && types.includes(typeField.value);\n}\n\nexport function hideDisplayOnly(\n context: ControlDataContext,\n field: SchemaField,\n definition: ControlDefinition,\n schemaInterface: SchemaInterface,\n) {\n const displayOptions = getDisplayOnlyOptions(definition);\n return (\n displayOptions &&\n !displayOptions.emptyText &&\n schemaInterface.isEmptyValue(\n field,\n lookupChildControl(context, field.field)?.value,\n )\n );\n}\n\nexport function useJsonataExpression(\n jExpr: string,\n dataContext: DataContext,\n bindings?: () => Record<string, any>,\n): Control<any> {\n const pathString = jsonPathString(dataContext.path, (x) => `#$i[${x}]`);\n const fullExpr = pathString ? pathString + \".(\" + jExpr + \")\" : jExpr;\n const compiledExpr = useMemo(() => {\n try {\n return jsonata(fullExpr);\n } catch (e) {\n console.error(e);\n return jsonata(\"null\");\n }\n }, [fullExpr]);\n const control = useControl();\n const listenerRef = useRef<() => void>();\n const [ref] = useRefState(() =>\n makeChangeTracker(() => {\n const l = listenerRef.current;\n if (l) {\n listenerRef.current = undefined;\n addAfterChangesCallback(() => {\n l();\n listenerRef.current = l;\n });\n }\n }),\n );\n useEffect(() => {\n listenerRef.current = apply;\n apply();\n async function apply() {\n const [collect, updateSubscriptions] = ref.current;\n try {\n const bindingData = bindings\n ? collectChanges(collect, bindings)\n : undefined;\n control.value = await compiledExpr.evaluate(\n trackedStructure(dataContext.data, collect),\n bindingData,\n );\n } finally {\n updateSubscriptions();\n }\n }\n return () => ref.current[1](true);\n }, [compiledExpr]);\n return control;\n}\n\nexport function useEvalLabelText(\n useExpr: UseEvalExpressionHook,\n definition: ControlDefinition,\n): EvalExpressionHook<string | null> {\n const dynamicValue = useEvalDynamicHook(\n definition,\n DynamicPropertyType.Label,\n useExpr,\n );\n return makeDynamicPropertyHook(\n dynamicValue,\n () => useControl(null),\n undefined,\n );\n}\n\nfunction makeDynamicPropertyHook<A, S = undefined>(\n dynamicValue: DynamicHookGenerator<\n Control<any> | undefined,\n ControlDataContext\n >,\n makeDefault: (ctx: ControlDataContext, s: S) => Control<A | undefined>,\n state: S,\n deps?: HookDep,\n): EvalExpressionHook<A> {\n return {\n deps:\n deps !== undefined\n ? dynamicValue.deps\n : [deps, dynamicValue.deps].map(toDepString).join(),\n runHook: (ctx, s) => {\n return dynamicValue.runHook(ctx, s[0]) ?? makeDefault(ctx, s[1]);\n },\n state: [dynamicValue.state, state],\n };\n}\n","import {\n ControlDefinition,\n DataControlDefinition,\n DateComparison,\n DateValidator,\n isDataControlDefinition,\n JsonataValidator,\n ValidatorType,\n} from \"./types\";\nimport {\n Control,\n useControlEffect,\n useValidator,\n useValueChangeEffect,\n} from \"@react-typed-forms/core\";\nimport { useCallback } from \"react\";\nimport { ControlDataContext, useUpdatedRef } from \"./util\";\nimport { useJsonataExpression } from \"./hooks\";\n\nexport function useValidationHook(\n definition: ControlDefinition,\n): (\n control: Control<any>,\n hidden: boolean,\n groupContext: ControlDataContext,\n) => void {\n const validatorTypes = isDataControlDefinition(definition)\n ? definition.validators?.map((x) => x.type) ?? []\n : null;\n const r = useUpdatedRef(definition as DataControlDefinition);\n return useCallback(\n (control, hidden, groupContext) => {\n if (!validatorTypes) return;\n const dd = r.current;\n\n useValueChangeEffect(control, () => control.setError(\"default\", \"\"));\n useValidator(\n control,\n (v) =>\n !hidden &&\n dd.required &&\n (v == null || v === \"\" || (Array.isArray(v) && v.length === 0))\n ? \"Please enter a value\"\n : null,\n \"required\",\n );\n (dd.validators ?? []).forEach((x, i) => {\n switch (x.type) {\n case ValidatorType.Jsonata:\n return useJsonataValidator(\n control,\n groupContext,\n x as JsonataValidator,\n hidden,\n i,\n );\n case ValidatorType.Date:\n return useDateValidator(control, x as DateValidator, i);\n }\n });\n },\n validatorTypes ? validatorTypes : [null],\n );\n}\n\nfunction useJsonataValidator(\n control: Control<any>,\n context: ControlDataContext,\n expr: JsonataValidator,\n hidden: boolean,\n i: number,\n) {\n const errorMsg = useJsonataExpression(expr.expression, context);\n useControlEffect(\n () => [hidden, errorMsg.value],\n ([hidden, msg]) => control.setError(\"jsonata\" + i, !hidden ? msg : null),\n true,\n );\n}\n\nfunction useDateValidator(\n control: Control<string | null | undefined>,\n dv: DateValidator,\n i: number,\n) {\n let comparisonDate: number;\n if (dv.fixedDate) {\n comparisonDate = Date.parse(dv.fixedDate);\n } else {\n const nowDate = new Date();\n comparisonDate = Date.UTC(\n nowDate.getFullYear(),\n nowDate.getMonth(),\n nowDate.getDate(),\n );\n if (dv.daysFromCurrent) {\n comparisonDate += dv.daysFromCurrent * 86400000;\n }\n }\n useValidator(\n control,\n (v) => {\n if (v) {\n const selDate = Date.parse(v);\n const notAfter = dv.comparison === DateComparison.NotAfter;\n if (notAfter ? selDate > comparisonDate : selDate < comparisonDate) {\n return `Date must not be ${notAfter ? \"after\" : \"before\"} ${new Date(\n comparisonDate,\n ).toDateString()}`;\n }\n }\n return null;\n },\n \"date\" + i,\n );\n}\n","import { FieldType, SchemaField, SchemaInterface } from \"./types\";\n\nexport const defaultSchemaInterface: SchemaInterface = {\n isEmptyValue: defaultIsEmpty,\n textValue: defaultTextValue,\n};\n\nexport function defaultIsEmpty(f: SchemaField, value: any): boolean {\n if (f.collection)\n return Array.isArray(value) ? value.length === 0 : value == null;\n switch (f.type) {\n case FieldType.String:\n return !value;\n default:\n return value == null;\n }\n}\n\nexport function defaultTextValue(\n f: SchemaField,\n value: any,\n): string | undefined {\n switch (f.type) {\n case FieldType.DateTime:\n return new Date(value).toLocaleDateString();\n case FieldType.Date:\n return new Date(value).toLocaleDateString();\n default:\n return value != null ? value.toString() : undefined;\n }\n}\n","import React, {\n CSSProperties,\n FC,\n Fragment,\n Key,\n ReactNode,\n useCallback,\n useEffect,\n} from \"react\";\nimport {\n addElement,\n Control,\n newControl,\n removeElement,\n useComponentTracking,\n useControl,\n useControlEffect,\n} from \"@react-typed-forms/core\";\nimport {\n AdornmentPlacement,\n ControlAdornment,\n ControlDefinition,\n DataControlDefinition,\n DisplayData,\n DynamicPropertyType,\n FieldOption,\n GroupedControlsDefinition,\n GroupRenderOptions,\n isActionControlsDefinition,\n isDataControlDefinition,\n isDisplayControlsDefinition,\n isGroupControlsDefinition,\n RenderOptions,\n SchemaField,\n SchemaInterface,\n} from \"./types\";\nimport {\n ControlDataContext,\n elementValueForField,\n fieldDisplayName,\n findChildDefinition,\n findField,\n isCompoundField,\n useDynamicHooks,\n useUpdatedRef,\n} from \"./util\";\nimport { dataControl } from \"./controlBuilder\";\nimport {\n EvalExpressionHook,\n defaultUseEvalExpressionHook,\n useEvalAllowedOptionsHook,\n useEvalDefaultValueHook,\n useEvalDisabledHook,\n useEvalDisplayHook,\n UseEvalExpressionHook,\n useEvalLabelText,\n useEvalReadonlyHook,\n useEvalStyleHook,\n useEvalVisibilityHook,\n} from \"./hooks\";\nimport { useValidationHook } from \"./validators\";\nimport { cc, useCalculatedControl } from \"./internal\";\nimport { defaultSchemaInterface } from \"./schemaInterface\";\n\nexport interface FormRenderer {\n renderData: (\n props: DataRendererProps,\n ) => (layout: ControlLayoutProps) => ControlLayoutProps;\n renderGroup: (\n props: GroupRendererProps,\n ) => (layout: ControlLayoutProps) => ControlLayoutProps;\n renderDisplay: (props: DisplayRendererProps) => ReactNode;\n renderAction: (props: ActionRendererProps) => ReactNode;\n renderArray: (props: ArrayRendererProps) => ReactNode;\n renderAdornment: (props: AdornmentProps) => AdornmentRenderer;\n renderLabel: (\n props: LabelRendererProps,\n labelStart: ReactNode,\n labelEnd: ReactNode,\n ) => ReactNode;\n renderLayout: (props: ControlLayoutProps) => RenderedControl;\n renderVisibility: (props: VisibilityRendererProps) => ReactNode;\n}\n\nexport interface AdornmentProps {\n adornment: ControlAdornment;\n}\n\nexport const AppendAdornmentPriority = 0;\nexport const WrapAdornmentPriority = 1000;\n\nexport interface AdornmentRenderer {\n apply(children: RenderedLayout): void;\n adornment?: ControlAdornment;\n priority: number;\n}\n\nexport interface ArrayRendererProps {\n addAction?: ActionRendererProps;\n required: boolean;\n removeAction?: (elemIndex: number) => ActionRendererProps;\n elementCount: number;\n renderElement: (elemIndex: number) => ReactNode;\n elementKey: (elemIndex: number) => Key;\n arrayControl: Control<any[] | undefined | null>;\n className?: string;\n style?: React.CSSProperties;\n}\nexport interface Visibility {\n visible: boolean;\n showing: boolean;\n}\n\nexport interface RenderedLayout {\n labelStart?: ReactNode;\n labelEnd?: ReactNode;\n controlStart?: ReactNode;\n controlEnd?: ReactNode;\n label?: ReactNode;\n children?: ReactNode;\n errorControl?: Control<any>;\n className?: string;\n style?: React.CSSProperties;\n}\n\nexport interface RenderedControl {\n children: ReactNode;\n className?: string;\n style?: React.CSSProperties;\n divRef?: (cb: HTMLElement | null) => void;\n}\n\nexport interface VisibilityRendererProps extends RenderedControl {\n visibility: Control<Visibility | undefined>;\n}\n\nexport interface ControlLayoutProps {\n label?: LabelRendererProps;\n errorControl?: Control<any>;\n adornments?: AdornmentRenderer[];\n children?: ReactNode;\n processLayout?: (props: ControlLayoutProps) => ControlLayoutProps;\n className?: string | null;\n style?: React.CSSProperties;\n}\n\nexport enum LabelType {\n Control,\n Group,\n}\nexport interface LabelRendererProps {\n type: LabelType;\n hide?: boolean | null;\n label: ReactNode;\n required?: boolean | null;\n forId?: string;\n className?: string;\n}\nexport interface DisplayRendererProps {\n data: DisplayData;\n display?: Control<string | undefined>;\n dataContext: ControlDataContext;\n className?: string;\n style?: React.CSSProperties;\n}\n\nexport interface ParentRendererProps {\n childDefinitions: ControlDefinition[];\n renderChild: ChildRenderer;\n className?: string;\n style?: React.CSSProperties;\n dataContext: ControlDataContext;\n useChildVisibility: (child: number | number[]) => EvalExpressionHook<boolean>;\n}\n\nexport interface GroupRendererProps extends ParentRendererProps {\n renderOptions: GroupRenderOptions;\n}\n\nexport interface DataRendererProps extends ParentRendererProps {\n renderOptions: RenderOptions;\n field: SchemaField;\n id: string;\n control: Control<any>;\n readonly: boolean;\n required: boolean;\n options: FieldOption[] | undefined | null;\n hidden: boolean;\n toArrayProps?: () => ArrayRendererProps;\n}\n\nexport interface ActionRendererProps {\n actionId: string;\n actionText: string;\n onClick: () => void;\n className?: string;\n style?: React.CSSProperties;\n}\n\nexport interface ControlRenderProps {\n control: Control<any>;\n parentPath?: JsonPath[];\n}\n\nexport interface FormContextOptions {\n readonly?: boolean | null;\n hidden?: boolean | null;\n disabled?: boolean | null;\n}\n\nexport interface DataControlProps {\n definition: DataControlDefinition;\n field: SchemaField;\n dataContext: ControlDataContext;\n control: Control<any>;\n options: FormContextOptions;\n style: React.CSSProperties | undefined;\n renderChild: ChildRenderer;\n allowedOptions?: Control<any[] | undefined>;\n elementRenderer?: (elemIndex: number) => ReactNode;\n useChildVisibility: (child: number | number[]) => EvalExpressionHook<boolean>;\n}\n\nexport type CreateDataProps = (\n controlProps: DataControlProps,\n) => DataRendererProps;\n\nexport type JsonPath = string | number;\n\nexport interface DataContext {\n data: Control<any>;\n path: JsonPath[];\n}\nexport interface ControlRenderOptions extends FormContextOptions {\n useDataHook?: (c: ControlDefinition) => CreateDataProps;\n useEvalExpressionHook?: UseEvalExpressionHook;\n clearHidden?: boolean;\n schemaInterface?: SchemaInterface;\n}\nexport function useControlRenderer(\n definition: ControlDefinition,\n fields: SchemaField[],\n renderer: FormRenderer,\n options: ControlRenderOptions = {},\n): FC<ControlRenderProps> {\n const dataProps = options.useDataHook?.(definition) ?? defaultDataProps;\n const schemaInterface = options.schemaInterface ?? defaultSchemaInterface;\n const useExpr = options.useEvalExpressionHook ?? defaultUseEvalExpressionHook;\n\n const schemaField = lookupSchemaField(definition, fields);\n\n const dynamicHooks = useDynamicHooks({\n defaultValueControl: useEvalDefaultValueHook(\n useExpr,\n definition,\n schemaField,\n ),\n visibleControl: useEvalVisibilityHook(useExpr, definition, schemaField),\n readonlyControl: useEvalReadonlyHook(useExpr, definition),\n disabledControl: useEvalDisabledHook(useExpr, definition),\n allowedOptions: useEvalAllowedOptionsHook(useExpr, definition),\n labelText: useEvalLabelText(useExpr, definition),\n customStyle: useEvalStyleHook(\n useExpr,\n DynamicPropertyType.Style,\n definition,\n ),\n layoutStyle: useEvalStyleHook(\n useExpr,\n DynamicPropertyType.LayoutStyle,\n definition,\n ),\n displayControl: useEvalDisplayHook(useExpr, definition),\n });\n\n const useValidation = useValidationHook(definition);\n const r = useUpdatedRef({ options, definition, fields, schemaField });\n\n const Component = useCallback(\n ({ control: rootControl, parentPath = [] }: ControlRenderProps) => {\n const stopTracking = useComponentTracking();\n try {\n const { definition: c, options, fields, schemaField } = r.current;\n const parentDataContext: ControlDataContext = {\n fields,\n schemaInterface,\n data: rootControl,\n path: parentPath,\n };\n const {\n readonlyControl,\n disabledControl,\n visibleControl,\n displayControl,\n layoutStyle,\n labelText,\n customStyle,\n allowedOptions,\n defaultValueControl,\n } = dynamicHooks(parentDataContext);\n\n const visible = visibleControl.current.value;\n const visibility = useControl<Visibility | undefined>(() =>\n visible != null\n ? {\n visible,\n showing: visible,\n }\n : undefined,\n );\n useControlEffect(\n () => visibleControl.value,\n (visible) => {\n if (visible != null)\n visibility.setValue((ex) => ({\n visible,\n showing: ex ? ex.showing : visible,\n }));\n },\n );\n\n const [parentControl, control, controlDataContext] = getControlData(\n schemaField,\n parentDataContext,\n );\n useControlEffect(\n () => [\n visibility.value,\n defaultValueControl.value,\n control,\n isDataControlDefinition(definition) && definition.dontClearHidden,\n parentControl?.isNull,\n options.hidden,\n ],\n ([vc, dv, cd, dontClear, parentNull, hidden]) => {\n if (vc && cd && vc.visible === vc.showing) {\n if (hidden || !vc.visible) {\n if (options.clearHidden && !dontClear) {\n cd.value = undefined;\n }\n } else if (cd.value == null) {\n cd.value = dv;\n }\n }\n if (parentNull && parentControl?.isNull) {\n parentControl.value = {};\n }\n },\n true,\n );\n const myOptions = useCalculatedControl<FormContextOptions>(() => ({\n hidden: options.hidden || !visibility.fields?.showing.value,\n readonly: options.readonly || readonlyControl.value,\n disabled: options.disabled || disabledControl.value,\n })).value;\n useValidation(\n control ?? newControl(null),\n !!myOptions.hidden,\n parentDataContext,\n );\n const childOptions: ControlRenderOptions = { ...options, ...myOptions };\n\n useEffect(() => {\n if (control && typeof myOptions.disabled === \"boolean\")\n control.disabled = myOptions.disabled;\n }, [control, myOptions.disabled]);\n if (parentControl?.isNull) return <></>;\n\n const adornments =\n definition.adornments?.map((x) =>\n renderer.renderAdornment({ adornment: x }),\n ) ?? [];\n const labelAndChildren = renderControlLayout({\n definition: c,\n renderer,\n renderChild: (k, child, path) => (\n <ControlRenderer\n key={k}\n control={controlDataContext.data}\n fields={controlDataContext.fields}\n definition={findChildDefinition(c, child)}\n parentPath={\n path\n ? [...controlDataContext.path, ...path]\n : controlDataContext.path\n }\n renderer={renderer}\n options={childOptions}\n />\n ),\n createDataProps: dataProps,\n formOptions: myOptions,\n dataContext: controlDataContext,\n control: displayControl ?? control,\n labelText,\n schemaField,\n displayControl,\n style: customStyle.value,\n allowedOptions,\n useChildVisibility: (child) => {\n const childDef = findChildDefinition(c, child);\n const schemaField = lookupSchemaField(\n childDef,\n controlDataContext.fields,\n );\n return useEvalVisibilityHook(useExpr, childDef, schemaField);\n },\n });\n const renderedControl = renderer.renderLayout({\n ...labelAndChildren,\n adornments,\n className: c.layoutClass,\n style: layoutStyle.value,\n });\n return renderer.renderVisibility({ visibility, ...renderedControl });\n } finally {\n stopTracking();\n }\n },\n [r, dataProps, useValidation, renderer, schemaInterface, dynamicHooks],\n );\n (Component as any).displayName = \"RenderControl\";\n return Component;\n}\nexport function lookupSchemaField(\n c: ControlDefinition,\n fields: SchemaField[],\n): SchemaField | undefined {\n const fieldName = isGroupControlsDefinition(c)\n ? c.compoundField\n : isDataControlDefinition(c)\n ? c.field\n : undefined;\n return fieldName ? findField(fields, fieldName) : undefined;\n}\nexport function getControlData(\n schemaField: SchemaField | undefined,\n parentContext: ControlDataContext,\n): [Control<any> | undefined, Control<any> | undefined, ControlDataContext] {\n const { data, path } = parentContext;\n const parentControl = data.lookupControl(path);\n const childPath = schemaField ? [...path, schemaField.field] : path;\n const childControl =\n schemaField && parentControl\n ? parentControl.fields?.[schemaField.field]\n : undefined;\n return [\n parentControl,\n childControl,\n schemaField\n ? {\n ...parentContext,\n path: childPath,\n fields: isCompoundField(schemaField)\n ? schemaField.children\n : parentContext.fields,\n }\n : parentContext,\n ];\n}\n\nexport function ControlRenderer({\n definition,\n fields,\n renderer,\n options,\n control,\n parentPath,\n}: {\n definition: ControlDefinition;\n fields: SchemaField[];\n renderer: FormRenderer;\n options?: ControlRenderOptions;\n control: Control<any>;\n parentPath?: JsonPath[];\n}) {\n const Render = useControlRenderer(definition, fields, renderer, options);\n return <Render control={control} parentPath={parentPath} />;\n}\n\nfunction groupProps(\n definition: GroupedControlsDefinition,\n renderChild: ChildRenderer,\n dataContext: ControlDataContext,\n className: string | null | undefined,\n style: React.CSSProperties | undefined,\n useChildVisibility: (child: number | number[]) => EvalExpressionHook<boolean>,\n): GroupRendererProps {\n return {\n childDefinitions: definition.children ?? [],\n renderChild,\n dataContext,\n renderOptions: definition.groupOptions ?? { type: \"Standard\" },\n className: cc(className),\n useChildVisibility,\n style,\n };\n}\n\nexport function defaultDataProps({\n definition,\n field,\n control,\n options,\n elementRenderer,\n style,\n allowedOptions,\n ...props\n}: DataControlProps): DataRendererProps {\n const className = cc(definition.styleClass);\n const required = !!definition.required;\n const fieldOptions =\n (field.options?.length ?? 0) === 0 ? null : field.options;\n const allowed = allowedOptions?.value ?? [];\n return {\n childDefinitions: definition.children ?? [],\n control,\n field,\n id: \"c\" + control.uniqueId,\n options:\n fieldOptions && allowed.length > 0\n ? fieldOptions.filter((x) => allowed.includes(x.value))\n : fieldOptions,\n readonly: !!options.readonly,\n renderOptions: definition.renderOptions ?? { type: \"Standard\" },\n required,\n hidden: !!options.hidden,\n className,\n style,\n ...props,\n toArrayProps: elementRenderer\n ? () =>\n defaultArrayProps(\n control,\n field,\n required,\n style,\n className,\n elementRenderer,\n )\n : undefined,\n };\n}\n\nexport function defaultArrayProps(\n arrayControl: Control<any[] | undefined | null>,\n field: SchemaField,\n required: boolean,\n style: CSSProperties | undefined,\n className: string | undefined,\n renderElement: (elemIndex: number) => ReactNode,\n): ArrayRendererProps {\n const noun = field.displayName ?? field.field;\n const elems = arrayControl.elements ?? [];\n return {\n arrayControl,\n elementCount: elems.length,\n required,\n addAction: {\n actionId: \"add\",\n actionText: \"Add \" + noun,\n onClick: () => addElement(arrayControl, elementValueForField(field)),\n },\n elementKey: (i) => elems[i].uniqueId,\n removeAction: (i: number) => ({\n actionId: \"\",\n actionText: \"Remove\",\n onClick: () => removeElement(arrayControl, i),\n }),\n renderElement: (i) => renderElement(i),\n className: cc(className),\n style,\n };\n}\n\nexport type ChildRenderer = (\n k: Key,\n child: number | number[],\n parentPath?: JsonPath[],\n) => ReactNode;\n\nexport interface RenderControlProps {\n definition: ControlDefinition;\n renderer: FormRenderer;\n renderChild: ChildRenderer;\n createDataProps: CreateDataProps;\n formOptions: FormContextOptions;\n dataContext: ControlDataContext;\n control?: Control<any>;\n labelText?: Control<string | null | undefined>;\n schemaField?: SchemaField;\n displayControl?: Control<string | undefined>;\n style?: React.CSSProperties;\n allowedOptions?: Control<any[] | undefined>;\n useChildVisibility: (child: number | number[]) => EvalExpressionHook<boolean>;\n}\nexport function renderControlLayout({\n definition: c,\n renderer,\n renderChild: childRenderer,\n control: childControl,\n schemaField,\n dataContext,\n formOptions: dataOptions,\n createDataProps: dataProps,\n displayControl,\n style,\n labelText,\n allowedOptions,\n useChildVisibility,\n}: RenderControlProps): ControlLayoutProps {\n if (isDataControlDefinition(c)) {\n return renderData(c);\n }\n if (isGroupControlsDefinition(c)) {\n if (c.compoundField) {\n return renderData(\n dataControl(c.compoundField, c.title, {\n children: c.children,\n hideTitle: c.groupOptions?.hideTitle,\n }),\n );\n }\n return {\n processLayout: renderer.renderGroup(\n groupProps(\n c,\n childRenderer,\n dataContext,\n c.styleClass,\n style,\n useChildVisibility,\n ),\n ),\n label: {\n label: labelText?.value ?? c.title,\n className: cc(c.labelClass),\n type: LabelType.Group,\n hide: c.groupOptions?.hideTitle,\n },\n };\n }\n if (isActionControlsDefinition(c)) {\n return {\n children: renderer.renderAction({\n actionText: labelText?.value ?? c.title ?? c.actionId,\n actionId: c.actionId,\n onClick: () => {},\n className: cc(c.styleClass),\n style,\n }),\n };\n }\n if (isDisplayControlsDefinition(c)) {\n return {\n children: renderer.renderDisplay({\n data: c.displayData ?? {},\n className: cc(c.styleClass),\n style,\n display: displayControl,\n dataContext,\n }),\n };\n }\n return {};\n\n function renderData(c: DataControlDefinition, elemIndex?: number) {\n if (!schemaField) return { children: \"No schema field for: \" + c.field };\n if (!childControl) return { children: \"No control for: \" + c.field };\n const props = dataProps({\n definition: c,\n field: schemaField,\n dataContext:\n elemIndex != null\n ? { ...dataContext, path: [...dataContext.path, elemIndex] }\n : dataContext,\n control:\n elemIndex != null ? childControl!.elements[elemIndex] : childControl,\n options: dataOptions,\n style,\n allowedOptions,\n renderChild:\n elemIndex != null\n ? (k, d, p) =>\n childRenderer(k, d, p ? [elemIndex, ...p] : [elemIndex])\n : childRenderer,\n useChildVisibility,\n elementRenderer:\n elemIndex == null && schemaField.collection\n ? (ei) => renderLayoutParts(renderData(c, ei), renderer).children\n : undefined,\n });\n\n const label = !c.hideTitle\n ? controlTitle(labelText?.value ?? c.title, schemaField)\n : undefined;\n return {\n processLayout: renderer.renderData(props),\n label: {\n type: LabelType.Control,\n label,\n forId: props.id,\n required: c.required,\n hide: c.hideTitle,\n className: cc(c.labelClass),\n },\n errorControl: childControl,\n };\n }\n}\n\nexport function appendMarkup(\n k: keyof Omit<RenderedLayout, \"errorControl\" | \"style\" | \"className\">,\n markup: ReactNode,\n): (layout: RenderedLayout) => void {\n return (layout) =>\n (layout[k] = (\n <>\n {layout[k]}\n {markup}\n </>\n ));\n}\n\nexport function wrapMarkup(\n k: keyof Omit<RenderedLayout, \"errorControl\" | \"style\" | \"className\">,\n wrap: (ex: ReactNode) => ReactNode,\n): (layout: RenderedLayout) => void {\n return (layout) => (layout[k] = wrap(layout[k]));\n}\n\nexport function layoutKeyForPlacement(\n pos: AdornmentPlacement,\n): keyof Omit<RenderedLayout, \"errorControl\" | \"style\" | \"className\"> {\n switch (pos) {\n case AdornmentPlacement.ControlEnd:\n return \"controlEnd\";\n case AdornmentPlacement.ControlStart:\n return \"controlStart\";\n case AdornmentPlacement.LabelStart:\n return \"labelStart\";\n case AdornmentPlacement.LabelEnd:\n return \"labelEnd\";\n }\n}\n\nexport function appendMarkupAt(\n pos: AdornmentPlacement,\n markup: ReactNode,\n): (layout: RenderedLayout) => void {\n return appendMarkup(layoutKeyForPlacement(pos), markup);\n}\n\nexport function wrapMarkupAt(\n pos: AdornmentPlacement,\n wrap: (ex: ReactNode) => ReactNode,\n): (layout: RenderedLayout) => void {\n return wrapMarkup(layoutKeyForPlacement(pos), wrap);\n}\n\nexport function renderLayoutParts(\n props: ControlLayoutProps,\n renderer: FormRenderer,\n): RenderedLayout {\n const { className, children, style, errorControl, label, adornments } =\n props.processLayout?.(props) ?? props;\n const layout: RenderedLayout = {\n children,\n errorControl,\n style,\n className: cc(className),\n };\n (adornments ?? [])\n .sort((a, b) => a.priority - b.priority)\n .forEach((x) => x.apply(layout));\n layout.label =\n label && !label.hide\n ? renderer.renderLabel(label, layout.labelStart, layout.labelEnd)\n : undefined;\n return layout;\n}\n\nexport function controlTitle(\n title: string | undefined | null,\n field: SchemaField,\n) {\n return title ? title : fieldDisplayName(field);\n}\n","import React, {\n CSSProperties,\n Fragment,\n ReactElement,\n ReactNode,\n useEffect,\n useMemo,\n useState,\n} from \"react\";\nimport clsx from \"clsx\";\nimport { Control, Fcheckbox, formControlProps } from \"@react-typed-forms/core\";\nimport {\n ActionRendererProps,\n AdornmentProps,\n AdornmentRenderer,\n appendMarkupAt,\n ArrayRendererProps,\n ControlLayoutProps,\n DataRendererProps,\n DisplayRendererProps,\n FormRenderer,\n GroupRendererProps,\n LabelRendererProps,\n LabelType,\n RenderedControl,\n RenderedLayout,\n renderLayoutParts,\n VisibilityRendererProps,\n} from \"./controlRender\";\nimport {\n AdornmentPlacement,\n ControlAdornment,\n ControlAdornmentType,\n ControlDefinitionType,\n DataRenderType,\n DisplayDataType,\n FieldOption,\n FieldType,\n FlexRenderer,\n GridRenderer,\n HtmlDisplay,\n IconAdornment,\n IconDisplay,\n isDataGroupRenderer,\n isDisplayOnlyRenderer,\n isFlexRenderer,\n isGridRenderer,\n SchemaField,\n SchemaInterface,\n TextDisplay,\n} from \"./types\";\nimport { getOverrideClass, hasOptions, rendererClass } from \"./util\";\n\nexport interface DefaultRenderers {\n data: DataRendererRegistration;\n label: LabelRendererRegistration;\n action: ActionRendererRegistration;\n array: ArrayRendererRegistration;\n group: GroupRendererRegistration;\n display: DisplayRendererRegistration;\n adornment: AdornmentRendererRegistration;\n renderLayout: LayoutRendererRegistration;\n visibility: VisibilityRendererRegistration;\n}\n\nexport interface LayoutRendererRegistration {\n type: \"layout\";\n match?: (props: ControlLayoutProps) => boolean;\n render: (\n props: ControlLayoutProps,\n renderers: FormRenderer,\n ) => RenderedControl;\n}\nexport interface DataRendererRegistration {\n type: \"data\";\n schemaType?: string | string[];\n renderType?: string | string[];\n options?: boolean;\n collection?: boolean;\n match?: (props: DataRendererProps) => boolean;\n render: (\n props: DataRendererProps,\n renderers: FormRenderer,\n ) => ReactNode | ((layout: ControlLayoutProps) => ControlLayoutProps);\n}\n\nexport interface LabelRendererRegistration {\n type: \"label\";\n labelType?: LabelType | LabelType[];\n render: (\n labelProps: LabelRendererProps,\n labelStart: ReactNode,\n labelEnd: ReactNode,\n renderers: FormRenderer,\n ) => ReactElement;\n}\n\nexport interface ActionRendererRegistration {\n type: \"action\";\n actionType?: string | string[];\n render: (props: ActionRendererProps, renderers: FormRenderer) => ReactElement;\n}\n\nexport interface ArrayRendererRegistration {\n type: \"array\";\n render: (props: ArrayRendererProps, renderers: FormRenderer) => ReactElement;\n}\n\nexport interface GroupRendererRegistration {\n type: \"group\";\n renderType?: string | string[];\n render: (\n props: GroupRendererProps,\n renderers: FormRenderer,\n ) => ReactElement | ((layout: ControlLayoutProps) => ControlLayoutProps);\n}\n\nexport interface DisplayRendererRegistration {\n type: \"display\";\n renderType?: string | string[];\n render: (\n props: DisplayRendererProps,\n renderers: FormRenderer,\n ) => ReactElement;\n}\n\nexport interface AdornmentRendererRegistration {\n type: \"adornment\";\n adornmentType?: string | string[];\n render: (props: AdornmentProps) => AdornmentRenderer;\n}\n\nexport interface VisibilityRendererRegistration {\n type: \"visibility\";\n render: (props: VisibilityRendererProps) => ReactNode;\n}\n\nexport type RendererRegistration =\n | DataRendererRegistration\n | GroupRendererRegistration\n | DisplayRendererRegistration\n | ActionRendererRegistration\n | LabelRendererRegistration\n | ArrayRendererRegistration\n | AdornmentRendererRegistration\n | LayoutRendererRegistration\n | VisibilityRendererRegistration;\n\nexport function createFormRenderer(\n customRenderers: RendererRegistration[] = [],\n defaultRenderers: DefaultRenderers = createClassStyledRenderers(),\n): FormRenderer {\n const dataRegistrations = customRenderers.filter(isDataRegistration);\n const groupRegistrations = customRenderers.filter(isGroupRegistration);\n const adornmentRegistrations = customRenderers.filter(\n isAdornmentRegistration,\n );\n const displayRegistrations = customRenderers.filter(isDisplayRegistration);\n const labelRenderers = customRenderers.filter(isLabelRegistration);\n const arrayRenderers = customRenderers.filter(isArrayRegistration);\n const actionRenderers = customRenderers.filter(isActionRegistration);\n const layoutRenderers = customRenderers.filter(isLayoutRegistration);\n const visibilityRenderer =\n customRenderers.find(isVisibilityRegistration) ??\n defaultRenderers.visibility;\n\n const formRenderers: FormRenderer = {\n renderAction,\n renderData,\n renderGroup,\n renderDisplay,\n renderLabel,\n renderArray,\n renderAdornment,\n renderLayout,\n renderVisibility: visibilityRenderer.render,\n };\n\n function renderLayout(props: ControlLayoutProps) {\n const renderer =\n layoutRenderers.find((x) => !x.match || x.match(props)) ??\n defaultRenderers.renderLayout;\n return renderer.render(props, formRenderers);\n }\n\n function renderAdornment(props: AdornmentProps): AdornmentRenderer {\n const renderer =\n adornmentRegistrations.find((x) =>\n isOneOf(x.adornmentType, props.adornment.type),\n ) ?? defaultRenderers.adornment;\n return renderer.render(props);\n }\n\n function renderArray(props: ArrayRendererProps) {\n return (arrayRenderers[0] ?? defaultRenderers.array).render(\n props,\n formRenderers,\n );\n }\n\n function renderLabel(\n props: LabelRendererProps,\n labelStart: ReactNode,\n labelEnd: ReactNode,\n ) {\n const renderer =\n labelRenderers.find((x) => isOneOf(x.labelType, props.type)) ??\n defaultRenderers.label;\n return renderer.render(props, labelStart, labelEnd, formRenderers);\n }\n\n function renderData(\n props: DataRendererProps,\n ): (layout: ControlLayoutProps) => ControlLayoutProps {\n const {\n renderOptions: { type: renderType },\n field,\n } = props;\n\n const options = hasOptions(props);\n const renderer =\n dataRegistrations.find(\n (x) =>\n (x.collection ?? false) === (field.collection ?? false) &&\n (x.options ?? false) === options &&\n isOneOf(x.schemaType, field.type) &&\n isOneOf(x.renderType, renderType) &&\n (!x.match || x.match(props)),\n ) ?? defaultRenderers.data;\n\n const result = renderer.render(props, formRenderers);\n if (typeof result === \"function\") return result;\n return (l) => ({ ...l, children: result });\n }\n\n function renderGroup(\n props: GroupRendererProps,\n ): (layout: ControlLayoutProps) => ControlLayoutProps {\n const renderType = props.renderOptions.type;\n const renderer =\n groupRegistrations.find((x) => isOneOf(x.renderType, renderType)) ??\n defaultRenderers.group;\n const result = renderer.render(props, formRenderers);\n if (typeof result === \"function\") return result;\n return (l) => ({ ...l, children: result });\n }\n\n function renderAction(props: ActionRendererProps) {\n const renderer =\n actionRenderers.find((x) => isOneOf(x.actionType, props.actionId)) ??\n defaultRenderers.action;\n return renderer.render(props, formRenderers);\n }\n\n function renderDisplay(props: DisplayRendererProps) {\n const renderType = props.data.type;\n const renderer =\n displayRegistrations.find((x) => isOneOf(x.renderType, renderType)) ??\n defaultRenderers.display;\n return renderer.render(props, formRenderers);\n }\n\n return formRenderers;\n}\n\ninterface DefaultLabelRendererOptions {\n className?: string;\n groupLabelClass?: string;\n controlLabelClass?: string;\n requiredElement?: ReactNode;\n}\n\ninterface DefaultActionRendererOptions {\n className?: string;\n}\n\nexport function createDefaultActionRenderer(\n options: DefaultActionRendererOptions = {},\n): ActionRendererRegistration {\n function render({ onClick, actionText }: ActionRendererProps) {\n return (\n <button className={options.className} onClick={onClick}>\n {actionText}\n </button>\n );\n }\n return { render, type: \"action\" };\n}\nexport function createDefaultLabelRenderer(\n options: DefaultLabelRendererOptions = { requiredElement: <span> *</span> },\n): LabelRendererRegistration {\n const { className, groupLabelClass, controlLabelClass, requiredElement } =\n options;\n return {\n render: (props, labelStart, labelEnd) => (\n <>\n {labelStart}\n <label\n htmlFor={props.forId}\n className={rendererClass(\n props.className,\n clsx(\n className,\n props.type === LabelType.Group && groupLabelClass,\n props.type === LabelType.Control && controlLabelClass,\n ),\n )}\n >\n {props.label}\n {props.required && requiredElement}\n </label>\n {labelEnd}\n </>\n ),\n type: \"label\",\n };\n}\n\ninterface DefaultArrayRendererOptions {\n className?: string;\n removableClass?: string;\n childClass?: string;\n removableChildClass?: string;\n removeActionClass?: string;\n addActionClass?: string;\n}\n\nexport function createDefaultArrayRenderer(\n options?: DefaultArrayRendererOptions,\n): ArrayRendererRegistration {\n const {\n className,\n removableClass,\n childClass,\n removableChildClass,\n removeActionClass,\n addActionClass,\n } = options ?? {};\n function render(\n {\n elementCount,\n renderElement,\n addAction,\n removeAction,\n elementKey,\n required,\n }: ArrayRendererProps,\n { renderAction }: FormRenderer,\n ) {\n const showRemove = !required || elementCount > 1;\n return (\n <div>\n <div className={clsx(className, removeAction && removableClass)}>\n {Array.from({ length: elementCount }, (_, x) =>\n removeAction ? (\n <Fragment key={elementKey(x)}>\n <div className={clsx(childClass, removableChildClass)}>\n {renderElement(x)}\n </div>\n <div className={removeActionClass}>\n {showRemove && renderAction(removeAction(x))}\n </div>\n </Fragment>\n ) : (\n <div key={elementKey(x)} className={childClass}>\n {renderElement(x)}\n </div>\n ),\n )}\n </div>\n {addAction && (\n <div className={addActionClass}>{renderAction(addAction)}</div>\n )}\n </div>\n );\n }\n return { render, type: \"array\" };\n}\n\ninterface StyleProps {\n className?: string;\n style?: CSSProperties;\n}\n\ninterface DefaultGroupRendererOptions {\n className?: string;\n standardClassName?: string;\n gridStyles?: (columns: GridRenderer) => StyleProps;\n gridClassName?: string;\n defaultGridColumns?: number;\n flexClassName?: string;\n defaultFlexGap?: string;\n}\n\nexport function createDefaultGroupRenderer(\n options?: DefaultGroupRendererOptions,\n): GroupRendererRegistration {\n const {\n className,\n gridStyles = defaultGridStyles,\n defaultGridColumns = 2,\n gridClassName,\n standardClassName,\n flexClassName,\n defaultFlexGap,\n } = options ?? {};\n\n function defaultGridStyles({\n columns = defaultGridColumns,\n }: GridRenderer): StyleProps {\n return {\n className: gridClassName,\n style: {\n display: \"grid\",\n gridTemplateColumns: `repeat(${columns}, 1fr)`,\n },\n };\n }\n\n function flexStyles(options: FlexRenderer): StyleProps {\n return {\n className: flexClassName,\n style: {\n display: \"flex\",\n gap: options.gap ? options.gap : defaultFlexGap,\n flexDirection: options.direction\n ? (options.direction as any)\n : undefined,\n },\n };\n }\n\n function render(props: GroupRendererProps) {\n const { renderChild, renderOptions, childDefinitions } = props;\n\n const { style, className: gcn } = isGridRenderer(renderOptions)\n ? gridStyles(renderOptions)\n : isFlexRenderer(renderOptions)\n ? flexStyles(renderOptions)\n : ({ className: standardClassName } as StyleProps);\n\n return (cp: ControlLayoutProps) => {\n return {\n ...cp,\n children: (\n <div\n className={rendererClass(props.className, clsx(className, gcn))}\n style={style}\n >\n {childDefinitions?.map((c, i) => renderChild(i, i))}\n </div>\n ),\n };\n };\n }\n return { type: \"group\", render };\n}\n\nexport interface DefaultDisplayRendererOptions {\n textClassName?: string;\n htmlClassName?: string;\n}\nexport function createDefaultDisplayRenderer(\n options: DefaultDisplayRendererOptions = {},\n): DisplayRendererRegistration {\n return {\n render: (props) => <DefaultDisplay {...options} {...props} />,\n type: \"display\",\n };\n}\n\nexport function DefaultDisplay({\n data,\n display,\n className,\n style,\n ...options\n}: DefaultDisplayRendererOptions & DisplayRendererProps) {\n switch (data.type) {\n case DisplayDataType.Icon:\n return (\n <i\n style={style}\n className={clsx(\n getOverrideClass(className),\n display ? display.value : (data as IconDisplay).iconClass,\n )}\n />\n );\n case DisplayDataType.Text:\n return (\n <div\n style={style}\n className={rendererClass(className, options.textClassName)}\n >\n {display ? display.value : (data as TextDisplay).text}\n </div>\n );\n case DisplayDataType.Html:\n return (\n <div\n style={style}\n className={rendererClass(className, options.htmlClassName)}\n dangerouslySetInnerHTML={{\n __html: display ? display.value ?? \"\" : (data as HtmlDisplay).html,\n }}\n />\n );\n default:\n return <h1>Unknown display type: {data.type}</h1>;\n }\n}\n\nexport const DefaultBoolOptions: FieldOption[] = [\n { name: \"Yes\", value: true },\n { name: \"No\", value: false },\n];\ninterface DefaultDataRendererOptions {\n inputClass?: string;\n displayOnlyClass?: string;\n selectOptions?: SelectRendererOptions;\n booleanOptions?: FieldOption[];\n optionRenderer?: DataRendererRegistration;\n}\n\nexport function createDefaultDataRenderer(\n options: DefaultDataRendererOptions = {},\n): DataRendererRegistration {\n const selectRenderer = createSelectRenderer(options.selectOptions ?? {});\n const { inputClass, booleanOptions, optionRenderer, displayOnlyClass } = {\n optionRenderer: selectRenderer,\n booleanOptions: DefaultBoolOptions,\n ...options,\n };\n return createDataRenderer((props, renderers) => {\n const fieldType = props.field.type;\n if (props.toArrayProps) {\n return (p) => ({\n ...p,\n children: renderers.renderArray(props.toArrayProps!()),\n });\n }\n const renderOptions = props.renderOptions;\n if (fieldType === FieldType.Compound) {\n const groupOptions = isDataGroupRenderer(renderOptions)\n ? renderOptions.groupOptions\n : undefined;\n const {\n style,\n className,\n childDefinitions,\n renderChild,\n dataContext,\n useChildVisibility,\n } = props;\n return renderers.renderGroup({\n style,\n className,\n childDefinitions,\n renderOptions: groupOptions ?? { type: \"Standard\", hideTitle: true },\n renderChild,\n dataContext,\n useChildVisibility,\n });\n }\n let renderType = renderOptions.type;\n if (fieldType == FieldType.Any) return <>No control for Any</>;\n if (isDisplayOnlyRenderer(renderOptions))\n return (p) => ({\n ...p,\n className: displayOnlyClass,\n children: (\n <DefaultDisplayOnly\n field={props.field}\n schemaInterface={props.dataContext.schemaInterface}\n control={props.control}\n className={props.className}\n style={props.style}\n emptyText={renderOptions.emptyText}\n />\n ),\n });\n const isBool = fieldType === FieldType.Bool;\n if (booleanOptions != null && isBool && props.options == null) {\n return renderers.renderData({ ...props, options: booleanOptions });\n }\n if (renderType === DataRenderType.Standard && hasOptions(props)) {\n return optionRenderer.render(props, renderers);\n }\n switch (renderType) {\n case DataRenderType.Dropdown:\n return selectRenderer.render(props, renderers);\n }\n return renderType === DataRenderType.Checkbox ? (\n <Fcheckbox\n style={props.style}\n className={props.className}\n control={props.control}\n />\n ) : (\n <ControlInput\n className={rendererClass(props.className, inputClass)}\n style={props.style}\n id={props.id}\n readOnly={props.readonly}\n control={props.control}\n convert={createInputConversion(props.field.type)}\n />\n );\n });\n}\n\nexport function DefaultDisplayOnly({\n control,\n className,\n emptyText,\n schemaInterface,\n field,\n style,\n}: {\n control: Control<any>;\n field: SchemaField;\n schemaInterface: SchemaInterface;\n className?: string;\n style?: React.CSSProperties;\n emptyText?: string | null;\n}) {\n const v = control.value;\n const text =\n (schemaInterface.isEmptyValue(field, v)\n ? emptyText\n : schemaInterface.textValue(field, v)) ?? \"\";\n return (\n <div style={style} className={rendererClass(className)}>\n {text}\n </div>\n );\n}\n\nexport function ControlInput({\n control,\n convert,\n ...props\n}: React.InputHTMLAttributes<HTMLInputElement> & {\n control: Control<any>;\n convert: InputConversion;\n}) {\n const { errorText, value, onChange, ...inputProps } =\n formControlProps(control);\n return (\n <input\n {...inputProps}\n type={convert[0]}\n value={value == null ? \"\" : convert[2](value)}\n onChange={(e) => {\n control.value = convert[1](e.target.value);\n }}\n {...props}\n />\n );\n}\n\nexport interface DefaultAdornmentRendererOptions {}\n\nexport function createDefaultAdornmentRenderer(\n options: DefaultAdornmentRendererOptions = {},\n): AdornmentRendererRegistration {\n return {\n type: \"adornment\",\n render: ({ adornment }) => ({\n apply: (rl) => {\n if (isIconAdornment(adornment)) {\n return appendMarkupAt(\n adornment.placement ?? AdornmentPlacement.ControlStart,\n <i className={adornment.iconClass} />,\n )(rl);\n }\n },\n priority: 0,\n adornment,\n }),\n };\n}\n\nexport interface DefaultLayoutRendererOptions {\n className?: string;\n errorClass?: string;\n}\n\nexport interface DefaultRendererOptions {\n data?: DefaultDataRendererOptions;\n display?: DefaultDisplayRendererOptions;\n action?: DefaultActionRendererOptions;\n array?: DefaultArrayRendererOptions;\n group?: DefaultGroupRendererOptions;\n label?: DefaultLabelRendererOptions;\n adornment?: DefaultAdornmentRendererOptions;\n layout?: DefaultLayoutRendererOptions;\n}\n\nexport function createDefaultRenderers(\n options: DefaultRendererOptions = {},\n): DefaultRenderers {\n return {\n data: createDefaultDataRenderer(options.data),\n display: createDefaultDisplayRenderer(options.display),\n action: createDefaultActionRenderer(options.action),\n array: createDefaultArrayRenderer(options.array),\n group: createDefaultGroupRenderer(options.group),\n label: createDefaultLabelRenderer(options.label),\n adornment: createDefaultAdornmentRenderer(options.adornment),\n renderLayout: createDefaultLayoutRenderer(options.layout),\n visibility: createDefaultVisibilityRenderer(),\n };\n}\n\nfunction createDefaultLayoutRenderer(\n options: DefaultLayoutRendererOptions = {},\n) {\n return createLayoutRenderer((props, renderers) => {\n const layout = renderLayoutParts(\n {\n ...props,\n className: rendererClass(props.className, options.className),\n },\n renderers,\n );\n return {\n children: <DefaultLayout layout={layout} {...options} />,\n className: layout.className,\n style: layout.style,\n divRef: (e) =>\n e && props.errorControl\n ? (props.errorControl.meta.scrollElement = e)\n : undefined,\n };\n });\n}\n\nfunction createClassStyledRenderers() {\n return createDefaultRenderers({\n layout: { className: \"control\" },\n group: { className: \"group\" },\n array: { className: \"control-array\" },\n action: { className: \"action\" },\n data: { inputClass: \"data\" },\n display: { htmlClassName: \"html\", textClassName: \"text\" },\n });\n}\n\nfunction isAdornmentRegistration(\n x: RendererRegistration,\n): x is AdornmentRendererRegistration {\n return x.type === \"adornment\";\n}\n\nfunction isDataRegistration(\n x: RendererRegistration,\n): x is DataRendererRegistration {\n return x.type === \"data\";\n}\n\nfunction isGroupRegistration(\n x: RendererRegistration,\n): x is GroupRendererRegistration {\n return x.type === \"group\";\n}\n\nfunction isLabelRegistration(\n x: RendererRegistration,\n): x is LabelRendererRegistration {\n return x.type === \"label\";\n}\n\nfunction isLayoutRegistration(\n x: RendererRegistration,\n): x is LayoutRendererRegistration {\n return x.type === \"layout\";\n}\n\nfunction isVisibilityRegistration(\n x: RendererRegistration,\n): x is VisibilityRendererRegistration {\n return x.type === \"visibility\";\n}\n\nfunction isActionRegistration(\n x: RendererRegistration,\n): x is ActionRendererRegistration {\n return x.type === \"action\";\n}\n\nfunction isDisplayRegistration(\n x: RendererRegistration,\n): x is DisplayRendererRegistration {\n return x.type === \"display\";\n}\n\nfunction isArrayRegistration(\n x: RendererRegistration,\n): x is ArrayRendererRegistration {\n return x.type === \"array\";\n}\nfunction isOneOf<A>(x: A | A[] | undefined, v: A) {\n return x == null ? true : Array.isArray(x) ? x.includes(v) : v === x;\n}\n\nexport function isIconAdornment(a: ControlAdornment): a is IconAdornment {\n return a.type === ControlAdornmentType.Icon;\n}\n\nexport function createLayoutRenderer(\n render: LayoutRendererRegistration[\"render\"],\n options?: Partial<LayoutRendererRegistration>,\n): LayoutRendererRegistration {\n return { type: \"layout\", render, ...options };\n}\n\nexport function createArrayRenderer(\n render: ArrayRendererRegistration[\"render\"],\n options?: Partial<ArrayRendererRegistration>,\n): ArrayRendererRegistration {\n return { type: \"array\", render, ...options };\n}\n\nexport function createDataRenderer(\n render: DataRendererRegistration[\"render\"],\n options?: Partial<DataRendererRegistration>,\n): DataRendererRegistration {\n return { type: \"data\", render, ...options };\n}\n\nexport function createGroupRenderer(\n render: GroupRendererRegistration[\"render\"],\n options?: Partial<GroupRendererRegistration>,\n): GroupRendererRegistration {\n return { type: \"group\", render, ...options };\n}\n\nexport function createDisplayRenderer(\n render: DisplayRendererRegistration[\"render\"],\n options?: Partial<DisplayRendererRegistration>,\n): DisplayRendererRegistration {\n return { type: \"display\", render, ...options };\n}\n\nexport function createLabelRenderer(\n render: LabelRendererRegistration[\"render\"],\n options?: Omit<LabelRendererRegistration, \"type\">,\n): LabelRendererRegistration {\n return { type: \"label\", render, ...options };\n}\n\nexport function createVisibilityRenderer(\n render: VisibilityRendererRegistration[\"render\"],\n options?: Partial<VisibilityRendererRegistration>,\n): VisibilityRendererRegistration {\n return { type: \"visibility\", render, ...options };\n}\n\nexport function createAdornmentRenderer(\n render: (props: AdornmentProps) => AdornmentRenderer,\n options?: Partial<AdornmentRendererRegistration>,\n): AdornmentRendererRegistration {\n return { type: \"adornment\", ...options, render };\n}\n\nexport interface SelectRendererOptions {\n className?: string;\n emptyText?: string;\n requiredText?: string;\n}\n\nexport function createSelectRenderer(options: SelectRendererOptions = {}) {\n return createDataRenderer(\n (props, asArray) => (\n <SelectDataRenderer\n className={rendererClass(props.className, options.className)}\n state={props.control}\n id={props.id}\n options={props.options!}\n required={props.required}\n emptyText={options.emptyText}\n requiredText={options.requiredText}\n convert={createSelectConversion(props.field.type)}\n />\n ),\n {\n options: true,\n },\n );\n}\n\ntype SelectConversion = (a: any) => string | number;\n\ninterface SelectDataRendererProps {\n id?: string;\n className?: string;\n options: {\n name: string;\n value: any;\n disabled?: boolean;\n }[];\n emptyText?: string;\n requiredText?: string;\n required: boolean;\n state: Control<any>;\n convert: SelectConversion;\n}\n\nexport function SelectDataRenderer({\n state,\n options,\n className,\n convert,\n required,\n emptyText = \"N/A\",\n requiredText = \"<please select>\",\n ...props\n}: SelectDataRendererProps) {\n const { value, disabled } = state;\n const [showEmpty] = useState(!required || value == null);\n const optionStringMap = useMemo(\n () => Object.fromEntries(options.map((x) => [convert(x.value), x.value])),\n [options],\n );\n return (\n <select\n {...props}\n className={className}\n onChange={(v) => (state.value = optionStringMap[v.target.value])}\n value={convert(value)}\n disabled={disabled}\n >\n {showEmpty && (\n <option value=\"\">{required ? requiredText : emptyText}</option>\n )}\n {options.map((x, i) => (\n <option key={i} value={convert(x.value)} disabled={x.disabled}>\n {x.name}\n </option>\n ))}\n </select>\n );\n}\n\nexport function createSelectConversion(ft: string): SelectConversion {\n switch (ft) {\n case FieldType.String:\n case FieldType.Int:\n case FieldType.Double:\n return (a) => a;\n default:\n return (a) => a?.toString() ?? \"\";\n }\n}\n\ntype InputConversion = [string, (s: any) => any, (a: any) => string | number];\n\nexport function createInputConversion(ft: string): InputConversion {\n switch (ft) {\n case FieldType.String:\n return [\"text\", (a) => a, (a) => a];\n case FieldType.Bool:\n return [\"text\", (a) => a === \"true\", (a) => a?.toString() ?? \"\"];\n case FieldType.Int:\n return [\n \"number\",\n (a) => (a !== \"\" ? parseInt(a) : null),\n (a) => (a == null ? \"\" : a),\n ];\n case FieldType.Date:\n return [\"date\", (a) => a, (a) => a];\n case FieldType.Double:\n return [\"number\", (a) => parseFloat(a), (a) => a];\n default:\n return [\"text\", (a) => a, (a) => a];\n }\n}\n\nexport function createDefaultVisibilityRenderer() {\n return createVisibilityRenderer((props) => <DefaultVisibility {...props} />);\n}\n\nexport function DefaultVisibility({\n visibility,\n children,\n className,\n style,\n divRef,\n}: VisibilityRendererProps) {\n const v = visibility.value;\n useEffect(() => {\n if (v) {\n visibility.setValue((ex) => ({ visible: v.visible, showing: v.visible }));\n }\n }, [v?.visible]);\n return v?.visible ? (\n <div className={clsx(className)} style={style} ref={divRef}>\n {children}\n </div>\n ) : (\n <></>\n );\n}\n\nexport function DefaultLayout({\n errorClass,\n layout: { controlEnd, controlStart, label, children, errorControl },\n}: DefaultLayoutRendererOptions & {\n layout: RenderedLayout;\n}) {\n const ec = errorControl;\n const errorText = ec && ec.touched ? ec.error : undefined;\n return (\n <>\n {label}\n {controlStart}\n {children}\n {errorText && <div className={errorClass}>{errorText}</div>}\n {controlEnd}\n </>\n );\n}\n","import React from \"react\";\nimport { DefaultRendererOptions } from \"./renderers\";\n\nexport const defaultTailwindTheme = {\n label: {\n groupLabelClass: \"font-bold\",\n requiredElement: <span className=\"text-red-500\"> *</span>,\n },\n array: {\n removableClass: \"grid grid-cols-[1fr_auto] items-center gap-x-2\",\n childClass: \"grow my-2\",\n addActionClass: \"my-2\",\n },\n group: {\n standardClassName: \"flex flex-col gap-4\",\n gridClassName: \"gap-x-2 gap-y-4\",\n flexClassName: \"gap-2\",\n },\n action: {\n className: \"bg-primary rounded-lg p-3 text-white\",\n },\n layout: {\n className: \"flex flex-col\",\n errorClass: \"text-sm text-danger-500\",\n },\n data: {\n displayOnlyClass: \"flex flex-row items-center gap-2\",\n },\n} satisfies DefaultRendererOptions;\n"],"names":["FieldType","ControlDefinitionType","DynamicPropertyType","ExpressionType","AdornmentPlacement","ControlAdornmentType","DataRenderType","SyncTextType","GroupRenderType","DisplayDataType","ValidatorType","DateComparison","isDataControlDefinition","x","type","Data","isGroupControlsDefinition","Group","isDisplayControlsDefinition","Display","isActionControlsDefinition","Action","visitControlDefinition","visitor","defaultValue","action","data","display","group","isGridRenderer","options","Grid","isFlexRenderer","Flex","isDisplayOnlyRenderer","DisplayOnly","isDataGroupRenderer","applyDefaultValues","v","fields","defaultValueForFields","applyValue","filter","isCompoundField","field","length","out","_extends","forEach","applyDefaultForField","defaultValueForField","parent","notElement","collection","map","required","treeChildren","children","Object","fromEntries","sf","undefined","isRequired","childValue","notNullable","elementValueForField","findScalarField","findField","findCompoundField","find","isScalarField","Compound","isDataControl","c","isGroupControl","fieldHasTag","tag","_field$tags","Boolean","tags","includes","fieldDisplayName","_field$displayName","displayName","hasOptions","o","_o$options$length","_o$options","defaultControlForField","title","_sf$tags","htmlEditor","renderOptions","HtmlEditor","Standard","findReferencedControl","control","_control$children","compoundField","findReferencedControlInArray","controls","_iterator","_createForOfIteratorHelperLoose","_step","done","value","ref","addMissingControls","changes","flatMap","existing","changedCompounds","_cf$children","ex","cf","concat","useUpdatedRef","a","r","useRef","current","isControlReadonly","readonly","getDisplayOnlyOptions","d","getTypeField","context","typeSchemaField","isTypeField","lookupChildControl","visitControlDataArray","cb","_iterator2","_step2","visitControlData","definition","ctx","def","processData","fieldName","fieldData","thisPath","path","lookupControl","result","cIndex","_iterator3","_control$elements","elements","_step3","elemResult","cfResult","child","childPath","watchControlLookup","cleanDataForSchema","typeField","typeValue","cleanableFields","_x$onlyForTypes$lengt","_x$onlyForTypes","onlyForTypes","_x$onlyForTypes2","canBeNull","childFields","Array","isArray","cv","getAllReferencedClasses","collectExtra","_c$children","_collectExtra","childClasses","tc","clsx","styleClass","layoutClass","labelClass","getOverrideClass","jsonPathString","jsonPath","customIndex","i","_customIndex","findChildDefinition","base","className","startsWith","substring","rendererClass","controlClass","globalClass","oc","index","childId","_c$fields","next","trackControlChange","ControlChange","Structure","_c$elements","makeHook","runHook","state","deps","useDynamicHooks","hooks","hookEntries","entries","_ref","toDepString","join","s","useCallback","p","_ref2","f","hg","toString","buildSchema","stringField","makeScalarField","String","stringOptionsField","slice","call","arguments","withScalarOptions","n","defaultScalarField","makeCompoundField","defaultCompoundField","intField","Int","boolField","Bool","other","mergeField","mergeInto","mergeTypes","extras","mergeFields","name","newFields","withType","addFieldOption","reduce","af","_typeField$options","resolveSchemas","schemaMap","resolveSchemaType","resolvedFields","schemaRef","push","keys","dataControl","textDisplayControl","text","displayData","Text","htmlDisplayControl","html","Html","dynamicDefaultValue","expr","DefaultValue","dynamicReadonly","Readonly","dynamicVisibility","Visible","dynamicDisabled","Disabled","fieldEqExpr","DataMatch","jsonataExpr","expression","Jsonata","groupedControl","groupOptions","hideTitle","compoundControl","createAction","actionId","onClick","actionText","emptyGroupDefinition","useControlDefinitionForSchema","useMemo","_definition$children","applyExtensionToSchema","extension","outMap","cro","cr","applyExtensionsToSchema","extensions","useCalculatedControl","calculate","useControl","useControlEffect","cc","trackedStructure","tracker","Value","Proxy","get","target","receiver","Reflect","nc","useEvalVisibilityHook","useEvalExpressionHook","schemaField","useEvalDynamicHook","makeDynamicPropertyHook","useComputed","matchesType","hideDisplayOnly","schemaInterface","useEvalReadonlyHook","useEvalStyleHook","property","dynamicStyle","useEvalAllowedOptionsHook","dynamicAllowed","AllowedOptions","useEvalDisabledHook","useEvalDisplayHook","useEvalDefaultValueHook","dynamicValue","_ref3","calcDefault","_ref4","dcv","useDataExpression","fvExpr","refField","otherField","useDataMatchExpression","fv","defaultEvalHooks","useJsonataExpression","defaultUseEvalExpressionHook","makeEvalExpressionHook","_definition$dynamic","dynamic","types","_lookupChildControl","displayOptions","emptyText","isEmptyValue","jExpr","dataContext","bindings","pathString","fullExpr","compiledExpr","jsonata","e","console","error","listenerRef","_useRefState","useRefState","makeChangeTracker","l","addAfterChangesCallback","useEffect","apply","_ref$current","collect","updateSubscriptions","_temp","_finallyRethrows","bindingData","collectChanges","Promise","resolve","evaluate","then","_compiledExpr$evaluat","_wasThrown","_result","reject","useEvalLabelText","useExpr","Label","makeDefault","_dynamicValue$runHook","useValidationHook","_definition$validator","_definition$validator2","validatorTypes","validators","hidden","groupContext","_dd$validators","dd","useValueChangeEffect","setError","useValidator","useJsonataValidator","Date","useDateValidator","errorMsg","msg","dv","comparisonDate","fixedDate","parse","nowDate","UTC","getFullYear","getMonth","getDate","daysFromCurrent","selDate","notAfter","comparison","NotAfter","toDateString","defaultSchemaInterface","defaultIsEmpty","textValue","defaultTextValue","DateTime","toLocaleDateString","AppendAdornmentPriority","WrapAdornmentPriority","LabelType","useControlRenderer","renderer","_options$useDataHook","_options$schemaInterf","_options$useEvalExpre","dataProps","useDataHook","defaultDataProps","lookupSchemaField","dynamicHooks","defaultValueControl","visibleControl","readonlyControl","disabledControl","allowedOptions","labelText","customStyle","Style","layoutStyle","LayoutStyle","displayControl","useValidation","Component","rootControl","_ref$parentPath","parentPath","stopTracking","useComponentTracking","_definition$adornment","_definition$adornment2","_r$current","parentDataContext","_dynamicHooks","visible","visibility","showing","setValue","_getControlData","getControlData","parentControl","controlDataContext","dontClearHidden","isNull","vc","cd","dontClear","parentNull","clearHidden","myOptions","_visibility$fields","disabled","newControl","childOptions","React","createElement","Fragment","adornments","renderAdornment","adornment","labelAndChildren","renderControlLayout","renderChild","k","ControlRenderer","key","createDataProps","formOptions","style","useChildVisibility","childDef","renderedControl","renderLayout","renderVisibility","parentContext","_parentControl$fields","childControl","_effect","_useComponentTracking","Render","groupProps","_definition$groupOpti","childDefinitions","_field$options$length","_field$options","_allowedOptions$value","_definition$children2","_definition$renderOpt","elementRenderer","props","_objectWithoutPropertiesLoose","_excluded","fieldOptions","allowed","id","uniqueId","toArrayProps","defaultArrayProps","arrayControl","renderElement","_arrayControl$element","noun","elems","elementCount","addAction","addElement","elementKey","removeAction","removeElement","_ref5","childRenderer","dataOptions","renderData","_labelText$value","_c$groupOptions2","_c$groupOptions","processLayout","renderGroup","label","hide","_ref6","_labelText$value2","renderAction","_c$displayData","renderDisplay","elemIndex","_labelText$value3","ei","renderLayoutParts","controlTitle","Control","forId","errorControl","appendMarkup","markup","layout","wrapMarkup","wrap","layoutKeyForPlacement","pos","ControlEnd","ControlStart","LabelStart","LabelEnd","appendMarkupAt","wrapMarkupAt","_props$processLayout","_ref7","sort","b","priority","renderLabel","labelStart","labelEnd","createFormRenderer","customRenderers","defaultRenderers","_customRenderers$find","createClassStyledRenderers","dataRegistrations","isDataRegistration","groupRegistrations","isGroupRegistration","adornmentRegistrations","isAdornmentRegistration","displayRegistrations","isDisplayRegistration","labelRenderers","isLabelRegistration","arrayRenderers","isArrayRegistration","actionRenderers","isActionRegistration","layoutRenderers","isLayoutRegistration","visibilityRenderer","isVisibilityRegistration","formRenderers","renderArray","render","_layoutRenderers$find","match","_adornmentRegistratio","isOneOf","adornmentType","_arrayRenderers$","array","_labelRenderers$find","labelType","_dataRegistrations$fi","renderType","_x$collection","_field$collection","_x$options","schemaType","_groupRegistrations$f","_actionRenderers$find","actionType","_displayRegistrations","createDefaultActionRenderer","createDefaultLabelRenderer","requiredElement","_options","groupLabelClass","controlLabelClass","htmlFor","createDefaultArrayRenderer","removableClass","childClass","removableChildClass","removeActionClass","addActionClass","showRemove","from","_","createDefaultGroupRenderer","_ref5$gridStyles","gridStyles","defaultGridStyles","_ref5$defaultGridColu","defaultGridColumns","gridClassName","standardClassName","flexClassName","defaultFlexGap","_ref6$columns","columns","gridTemplateColumns","flexStyles","gap","flexDirection","direction","gcn","cp","createDefaultDisplayRenderer","DefaultDisplay","_ref8","_display$value","Icon","iconClass","textClassName","htmlClassName","dangerouslySetInnerHTML","__html","DefaultBoolOptions","createDefaultDataRenderer","_options$selectOption","selectRenderer","createSelectRenderer","selectOptions","_optionRenderer$boole","optionRenderer","booleanOptions","inputClass","displayOnlyClass","createDataRenderer","renderers","fieldType","Any","DefaultDisplayOnly","isBool","Dropdown","Checkbox","Fcheckbox","ControlInput","readOnly","convert","createInputConversion","_ref9","_effect2","_ref10","_ref11","_effect3","_excluded2","_formControlProps","formControlProps","errorText","onChange","inputProps","_excluded3","createDefaultAdornmentRenderer","_ref12","rl","isIconAdornment","_adornment$placement","placement","createDefaultRenderers","createDefaultLayoutRenderer","createDefaultVisibilityRenderer","createLayoutRenderer","DefaultLayout","divRef","meta","scrollElement","createArrayRenderer","createGroupRenderer","createDisplayRenderer","createLabelRenderer","createVisibilityRenderer","createAdornmentRenderer","asArray","SelectDataRenderer","requiredText","createSelectConversion","_ref13","_effect4","_ref13$emptyText","_ref13$requiredText","_excluded4","_useState","useState","showEmpty","optionStringMap","ft","Double","_a$toString","_a$toString2","parseInt","parseFloat","DefaultVisibility","_ref14","_effect5","_ref15","_effect6","errorClass","_ref15$layout","controlEnd","controlStart","ec","touched","defaultTailwindTheme"],"mappings":"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"}
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@react-typed-forms/schemas",
3
- "version": "9.1.0",
3
+ "version": "9.1.1",
4
4
  "description": "",
5
5
  "main": "lib/index.js",
6
6
  "types": "lib/index.d.ts",